@charset "UTF-8";
/**
 * Configs
 */
:root {
  /* Colors */
  --color-primary: #255964;
  --color-primary-dark: #1e323e;
  --color-primary-darkest: #111111;
  --color-primary-middle: #096069;
  --color-primary-light: #239395;
  --color-primary-lightest: #67a3a6;
  --color-secondary: #f8d749;
  --color-secondary-dark: #D1B63D;
  --color-accent: #b77b0b;
  --color-accent-dark: #946C34;
  --color-code: #dd1144;
  --color-highlight: #fbf9c9;
  --color-check: #57c913;
  --color-gray: #f4f3f0;
  --color-hr-line: #e6e6e4;
  --color-black: #272727;
  --color-white: #ffffff;
  --color-gray-dark: #808080;
  --color-gray-darker: #555555;
  --color-gray-medium: #d6d3c9;
  --color-gray-light: #e5e5e5;
  --color-gray-lighter: #f7f7f7;
  /* Fonts */
  --font-primary: "Poppins", sans-serif;
  --font-monospace: Menlo, Monaco, "Courier New", monospace;
  /* Form Colors */
  --color-form-bg: #f4f3ef;
  /* Sizes */

  --font-size: 100%;
  --spacing: 1.5625em;
  --container-width: 92%;
  --container-max-width: 62em;
  --container-medium-max-width: 70em;
  --container-wide-max-width: 77em;
  --container-xwide-max-width: 82em;
  --container-narrow-max-width: 44em;
  --container-narrow-plus-max-width: 56em;
  --container-tiny-max-width: 32em;
//  --body-max-width: 107em;


//   --spacing: 1.5625em;
//   --container-width: 88%;
//   --container-max-width: 60em;
//   --container-wide-max-width: 80em;

//  --font-size: 112.5%;
//  --spacing: 1.5625em;
//  --container-width: 92%;
//  --container-max-width: 62em;
//  --container-medium-max-width: 70em;
//  --container-wide-max-width: 80em;
//  --container-xwide-max-width: 82em;
//  --container-narrow-max-width: 44em;
//  --container-narrow-plus-max-width: 56em;
//  --container-tiny-max-width: 32em;
//  --body-max-width: 107em;
}
@media (max-width: 80em) {
  :root {
    --font-size: 106.25% ;
  }
}
@media (max-width: 38em) {
  :root {
    --font-size: 100%;
  }
}

/**
 * @section CSS Reset
 * Adapted from Andy Bell's modern CSS reset
 * @link https://hankchizljaw.com/wrote/a-modern-css-reset/
 */
/**
 * Remove the tap delay in webkit
 * @link https://medium.com/@adactio/delay-a9df9edceef3#.7dmbl3xow
 */
a,
button,
input,
select,
textarea,
label,
summary {
  touch-action: manipulation;
}

/**
 * Add box sizing to everything
 * @link http://www.paulirish.com/2012/box-sizing-border-box-ftw/
 */
*,
*:before,
*:after {
  box-sizing: border-box;
}

/**
 * 1. Force scrollbar display to prevent jumping on pages.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  overflow-y: scroll; /* 1 */
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%; /* 2 */
}

/**
 * 1. Remove the margin in all browsers (opinionated).
 * 2. For the body to fill the viewport
 */
body {
  margin: 0; /* 1 */
  min-height: 100vh; /* 2 */
}

/**
 * Prevent img and video elements from spilling outside of the page on smaller screens.
 */
img,
video {
  max-width: 100%;
  height: auto;
}

/**
 * Prevent iframe, object, and embed elements from spilling outside of the page on smaller screens.
 * height: auto causes iframes to smush, so it's omitted here.
 */
iframe,
object,
embed {
  max-width: 100%;
}

summary {
  cursor: pointer;
}

/**
 * @workaround Remove focus from tabindex="-1" elements which are only script focusable
 * @link https://code.google.com/p/chromium/issues/detail?id=37721
 */
[tabindex="-1"]:focus {
  outline: none;
}

/**
 * @section Grid
 * Structure and layout
 */
/**
 * Base wrapper class
 */
.container {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--container-max-width);
  width: var(--container-width);
}

.container-wide {
  max-width: var(--container-wide-max-width);
}

.container-xwide {
  max-width: var(--container-xwide-max-width);
}

.container-medium {
  max-width: var(--container-medium-max-width);
}

.container-narrow {
  max-width: var(--container-narrow-max-width);
}

.container-narrow-plus {
  max-width: var(--container-narrow-plus-max-width);
}

.container-tiny {
  max-width: var(--container-tiny-max-width);
}

@media (min-width: 80em) {
  .container-left {
    margin-left: 0;
  }
}
@media (max-width: 90em) {
  .container .container {
    width: 100%;
  }
}
/**
 * Grids
 */
@media (min-width: 80em) {
  .row {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr auto;
    -moz-column-gap: 0.75em;
         column-gap: 0.75em;
  }
  .row-center {
    align-items: center;
  }
  .row-gap-medium {
    -moz-column-gap: var(--spacing);
         column-gap: var(--spacing);
  }
  .row-gap-large {
    -moz-column-gap: 2.1875em;
         column-gap: 2.1875em;
  }

@media (min-width: 62em) {
        .row-large-viewports {
                display: grid;
                grid-template-columns: repeat(12, 1fr);
                grid-template-rows: 1fr auto;
        }
}

  .row-gap-xlarge {
    -moz-column-gap: 3em;
         column-gap: 3em;
  }
  .row-gap-xxlarge {
    -moz-column-gap: 4em;
         column-gap: 4em;
  }
  .row-no-gap {
    gap: 0;
  }
  .row-auto {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 15em), 1fr));
  }
  .grid-fourth {
    grid-column: auto/span 3;
  }
  .grid-third {
    grid-column: auto/span 4;
  }
  .grid-two-fifths {
    grid-column: auto/span 5;
  }
  .grid-two-thirds {
    grid-column: auto/span 8;
  }
  .grid-half {
    grid-column: auto/span 6;
  }
  .grid-three-fifths {
    grid-column: auto/span 7;
  }
  .grid-three-fourths {
    grid-column: auto/span 9;
  }
  .grid-full {
    grid-column: auto/span 12;
  }
  [class*=grid-start-] {
    grid-row-start: 1;
  }
  .grid-start-first {
    grid-column-start: 1;
  }
  .grid-start-fifth {
    grid-column-start: 2;
  }
  .grid-start-fourth-minus {
    grid-column-start: 3;
  }
  .grid-start-fourth {
    grid-column-start: 3;
  }
  .grid-start-third {
    grid-column-start: 4;
  }
  .grid-start-half-minus {
    grid-column-start: 5;
  }
  .grid-start-half {
    grid-column-start: 7;
  }
  .grid-start-two-fifths {
    grid-column-start: 8;
  }
  .grid-start-two-thirds {
    grid-column-start: 9;
  }
  .grid-start-three-fourths {
    grid-column-start: 10;
  }
}
/**
 * Grids
 */
@media (min-width: 38em) {
  .row-small {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr auto;
    -moz-column-gap: 0.75em;
         column-gap: 0.75em;
  }
  .row-small .grid-third {
    grid-column: auto/span 4;
  }
  .row-small .grid-half {
    grid-column: auto/span 6;
  }
}
/**
 * @section Custom Grid Layouts
 * Structure and layout
 */
.highlights {
  display: flex;
  align-items: center;
  justify-content: space-between;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
}
.highlights > :not(:first-child) {
  border-left: 1px solid var(--color-gray-dark);
  padding-left: 1em;
}

.row-testimonial {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.75em;
       column-gap: 0.75em;
  margin-bottom: 0.5em;
  padding-top: 0.5em;
}
.row-testimonial img {
  border-radius: 50%;
}
.row-testimonial svg {
  margin-right: 4px;
}

@media (min-width: 80em) {
  .section-block {
    display: grid;
    position: relative;
  }
  .section-block .block-element {
    background-color: var(--color-primary-light);
    height: 12em;
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    z-index: -1;
  }
  .section-block .block-element-large {
    background-color: var(--color-primary-light);
    height: 26em;
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    z-index: -1;
  }
  .section-block-alt {
    display: grid;
    position: relative;
  }
  .section-block-alt .block-element {
    background-color: var(--color-primary-light);
    height: 18em;
    position: absolute;
    top: 0;
    right: 0;
    width: 42%;
    z-index: -1;
    display: flex;
  }
  .logo-overlay-alt {
    position: relative;
    width: 100%;
    height: 18em;
  }
}
@media (min-width: 80em) and (min-width: 80em) {
  .logo-overlay-alt::before {
    content: "";
    position: absolute;
    top: 58px;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url("../img/alt-watermark.svg");
    background-size: 100%;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 10%;
    z-index: 0;
    pointer-events: none;
  }
}
@media (min-width: 80em) {
  .section-block-and-carousel {
    background: linear-gradient(90deg, #ffffff 0%, #ffffff 80%, #1e323e 80%, #1e323e 100%);
    margin-top: -3em;
    padding-top: 4em;
    position: relative;
  }
  .section-block-and-carousel .section-carousel {
    position: absolute;
    right: 0;
    width: 50%;
  }
  .section-no-block-carousel {
    margin-top: -3em;
    padding-top: 4em;
    position: relative;
  }
  .section-no-block-carousel .section-carousel {
    position: absolute;
    right: 0;
    width: 48%;
  }
  .section-no-block-carousel-alt {
    margin-top: -3em;
    padding-top: 4em;
    position: relative;
  }
  .section-no-block-carousel-alt .section-carousel {
    position: absolute;
    left: 0;
    width: 52%;
  }
  .row-opportunity {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr;
    -moz-column-gap: 7em;
         column-gap: 7em;
  }
  .row-opportunity .grid-img {
    grid-area: 1/1/3/6;
  }
  .row-opportunity .grid-heading {
    grid-area: 1/5/2/11;
    padding-left: 5.5em;
  }
  .row-opportunity .grid-text {
    grid-area: 2/6/2/10;
  }
  .row-why-in-business {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
  }
  .row-why-in-business .grid-img {
    grid-area: 1/1/3/6;
  }
  .row-why-in-business .grid-text {
    grid-area: 2/6/2/11;
    padding: 8em 6em 8em 5em;
  }
  .row-home-about-tony {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr;
    -moz-column-gap: 1em;
         column-gap: 1em;
  }
  .row-home-about-tony .grid-img {
    grid-area: 1/1/3/7;
    margin-right: 6em;
  }
  .row-home-about-tony .grid-heading {
    grid-area: 1/5/2/12;
    padding-left: 5.5em;
  }
  .row-home-about-tony .grid-text {
    grid-area: 2/6/2/10;
    padding-left: 3em;
  }
  .row-knowing {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr;
    -moz-column-gap: 6em;
         column-gap: 6em;
  }
  .row-knowing .grid-img {
    grid-area: 1/1/3/8;
  }
  .row-knowing .grid-heading {
    grid-area: 1/5/2/13;
    padding-left: 2em;
  }
  .row-knowing .grid-text {
    grid-area: 2/7/2/13;
  }
  .row-outcomes {
    max-width: 54em;
    margin: 0 auto;
  }
  .row-home-bonus {
    margin: 0 auto;
    width: 88%;
  }
  .row-fraction {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-column-gap: 1em;
    row-gap: 2em;
  }
  .row-fraction .grid-img {
    grid-area: 1/1/2/6;
  }
  .row-fraction .grid-text {
    grid-area: 1/6/2/11;
  }
  .row-fraction .grid-bonus {
    grid-area: 2/2/3/13;
  }
  .row-compress {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr;
  }
  .row-compress .grid-bg {
    grid-area: 1/1/2/9;
    background-color: var(--color-primary-dark);
    background-image: linear-gradient(225deg, var(--color-primary-light), var(--color-primary-dark));
    border-bottom-right-radius: 9em;
  }
  .row-compress .grid-content {
    grid-area: 1/1/2/13;
  }
  .row-blog-featured {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    gap: 1em;
  }
  .row-blog-featured .grid-featured-main {
    grid-area: 1/1/5/2;
  }
  .row-blog-featured .grid-featured-1 {
    grid-area: 1/2/2/3;
  }
  .row-blog-featured .grid-featured-2 {
    grid-area: 2/2/3/3;
  }
  .row-blog-featured .grid-featured-3 {
    grid-area: 3/2/4/3;
  }
  .row-blog-featured .grid-featured-4 {
    grid-area: 4/2/5/3;
  }
}
.row-about-tony-img {
  display: none;
  text-align: center;
}
.row-about-tony-img img.tony {
  border: 1px solid white;
  border-top-left-radius: 40%;
}
.row-about-tony-img .grid-accent {
  display: none;
}






@media (min-width: 38em) {
  .row-about-tony-img {
    display: inline-block;
    text-align: left;
    position: relative;
  }
  .row-about-tony-img .grid-accent {
    display: inline-block;
    position: absolute;
    top: -1.5em;
    right: -2.5em;
  }
}

@media (max-width: 80em) {
  .row-blog-featured .grid-featured-main,
  .row-blog-featured .grid-featured-1,
  .row-blog-featured .grid-featured-2,
  .row-blog-featured .grid-featured-3,
  .row-blog-featured .grid-featured-4 {
    margin-bottom: 1em;
  }
}
@media (min-width: 38em) {
  .row-featured-card {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr auto;
    -moz-column-gap: 1.5em;
         column-gap: 1.5em;
    height: 100%;
    min-height: 0;
  }
  .row-featured-card .grid-card-img {
    background-size: cover;
    grid-column: auto/span 5;
  }
  .row-featured-card .grid-card-text {
    grid-column: auto/span 7;
    padding: 1em 1em 1em 0;
  }
}
@media (max-width: 38em) {
  .row-featured-card .grid-card-img {
    background-size: cover;
    min-height: 16em;
  }
  .row-featured-card .grid-card-text {
    padding: 1em 1em 1em 1em;
  }
}
@media (max-width: 80em) {
  .grid-bg-small {
    background-color: var(--color-primary-dark);
    background-image: linear-gradient(225deg, var(--color-primary-light), var(--color-primary-dark));
    border-bottom-right-radius: 9em;
  }
  .row-opportunity,
  .row-home-about-tony {
    margin: 0 auto;
    width: 88%;
  }
  .row-opportunity .grid-heading,
  .row-home-about-tony .grid-heading {
    padding-top: 2em;
  }
  .row-opportunity .grid-text,
  .row-home-about-tony .grid-text {
    padding-bottom: 2em;
  }
  .row-opportunity .grid-text > .padding-bottom-xlarge,
  .row-home-about-tony .grid-text > .padding-bottom-xlarge {
    padding-bottom: 0;
  }
  .row-opportunity h2.padding-top-xlarge {
    padding-top: 0;
  }
  .row-opportunity .grid-text.padding-bottom-xlarge {
    padding-bottom: 2.75em;
  }
  .row-opportunity .grid-text .padding-bottom-xlarge {
    padding-bottom: 0;
  }
}
@media (max-width: 80em) {
  .grid-bg-small-alt {
    background-color: var(--color-primary-dark);
    background-image: linear-gradient(45deg, var(--color-primary-light), var(--color-primary-dark));
    border-bottom-left-radius: 9em;
  }
}
@media (min-width: 80em) {
  .row-tony-continues {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: 1fr;
    margin-top: -8em;
  }
  .row-tony-continues .grid-bg {
    grid-area: 1/5/2/13;
    background-color: var(--color-primary-dark);
    background-image: linear-gradient(45deg, var(--color-primary-light), var(--color-primary-dark));
    border-bottom-left-radius: 9em;
    margin-left: 4em;
  }
  .row-tony-continues .grid-content {
    grid-area: 1/1/2/13;
    padding-top: 10em;
  }
}
@media (max-width: 80em) {
  .row-tony-continues .grid-content.padding-top-xlarge {
    padding-top: 2em;
  }
}
@media (max-width: 80em) {
  .row-blockquote .grid-icon {
    display: none;
  }
}
@media (min-width: 80em) {
  .row-blockquote {
    display: grid;
    grid-template-columns: 1fr 4fr 1fr;
    grid-column-gap: 0.5em;
  }
  .row-blockquote .grid-icon {
    grid-area: 1/1/2/2;
  }
  .row-blockquote .grid-quote {
    font-size: 1.75em;
    grid-area: 1/2/2/3;
  }
}

@media (min-width: 80em) {
  .login-logo {
    display: flex;
    align-items: flex-start;
    min-height: 100vh;
  }
}

/* hero results - about Tony intro */
.results {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  align-items: start;
  margin-bottom: 25px;
}
.results h3 {
  /* reset for this element */
  margin: 0;
  padding: 0;
}
.results .item {
  padding: 0 1.25em;
}
.results .item span {
  font-size: 0.85em;
}
.results .middle {
  border-left: 1px solid rgba(255, 255, 255, 0.25);
  border-right: 1px solid rgba(255, 255, 255, 0.25);
}

/* My Results Section - About Tony */
.my-results {
  position: relative;
}
@media (min-width: 80em) {
  .my-results {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 20px;
  }
  .my-results > div:first-child {
    grid-column: 1/3;
    text-align: center;
  }
  .my-results > div:first-child h3 {
    margin: 0;
  }
  .my-results > div:first-child p {
    margin-top: 15px;
  }
}
.my-results .images {
  position: relative;
  display: none;
}
@media (min-width: 80em) {
  .my-results .images {
    display: inline-block;
    padding-left: 55px;
    padding-right: 35px;
    padding-top: 15px;
  }
  .my-results .images > img {
    position: relative;
    z-index: 10;
  }
}
.my-results .images::before {
  position: absolute;
  top: -55px;
  right: 0;
  display: block;
  content: "";
  width: 245px;
  height: 225px;
  background-color: #070707;
  border-top-left-radius: 40%;
  z-index: 0;
}

/* Hacks for this print design that's trying hard to be a website */
/* this is not pretty - but it works - but it's gross */
.feed-section {
  display: flex;
  flex-direction: column;
}
.feed-section .heading {
  width: 100%;
  text-align: center;
}
.feed-section .post {
  position: relative;
  border: 1px solid var(--color-primary-middle);
  padding: 44px;
  margin-bottom: 2em;
}
.feed-section .flex-box {
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.feed-section img {
  margin-top: 1em;
}
.feed-section .author {
  display: block;
  font-weight: bolder;
}
@media (min-width: 800px) {
  .feed-section .articles {
    width: 100%;
    display: flex;
    flex-direction: row;
    gap: 25px; /* Gap between child elements */
  }
  .feed-section .articles .post {
    flex: 1; /* This will make each post take up equal width */
    width: calc(50% - 2px); /* Subtract the 1px border from each side */
  }
}

a.read-more {
  position: relative;
  text-transform: uppercase;
  color: var(--color-accent);
  text-decoration: none;
  font-weight: bold;
}
a.read-more::after {
  content: "→";
  color: var(--color-accent);
  padding-left: 2px;
  font-size: 1.5em;
  position: relative;
  bottom: -3px;
}
a.read-more:hover::after {
  color: var(--color-primary-dark);
}


.fixedimg {
  display: none;
  position: absolute;
  top: 0;
  right: -80px;
  max-width: 569px;
  z-index: 0;
  pointer-events: none;
}
@media (min-width: 80em) {
  .fixedimg {
    display: block;
  }
}

.row-tony-continues {
  position: relative;
}

/**
 * @section Typography
 * Sets font styles for entire site
 */
html {
  scroll-behavior: smooth;
}

body {
  background: var(--color-white);
  color: var(--color-black);
  font-family: var(--font-primary);
  font-size: var(--font-size);
  line-height: 1.5;
  margin: 0 auto;
  max-width: var(--body-max-width);
  overflow-x: hidden;
}
@media (min-width: 38em) {
  body {
    line-height: 1.5625;
  }
}

p {
  margin: 0 0 var(--spacing);
}

/**
 * Hyperlink styling
 */
a {
  color: var(--color-primary);
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
  word-wrap: break-word;
}
a:active, a:focus, a:hover {
  color: var(--color-primary-dark);
}

.link-accent {
  color: var(--color-accent);
}
.link-accent:active, .link-accent:focus, .link-accent:hover {
  color: var(--color-accent-dark);
}

.link-no-underline {
  text-decoration: none;
}
.link-no-underline:active, .link-no-underline:focus, .link-no-underline:hover {
  text-decoration: underline;
}

/**
 * List styling
 */
ul,
ol {
  margin: 0 0 var(--spacing) 2em;
  padding: 0;
}

ul ul,
ul ol,
ol ol,
ol ul {
  margin-bottom: 0;
}

dl,
dd {
  margin: 0;
  padding: 0;
}

dd {
  margin-bottom: var(--spacing);
}

dt {
  font-weight: bold;
}

/**
 * @bugfix Prevent webkit from removing list semantics
 * 1. Add a non-breaking space
 * 2. Make sure it doesn't mess up the DOM flow
 */
.list-inline, .nav, .list-breadcrumbs, .list-split, .list-icons, .list-unstyled, .nav details ul {
  list-style: none;
  margin-left: 0;
}
.list-inline > li::before, .nav > li::before, .list-breadcrumbs > li::before, .list-split > li::before, .list-icons > li::before, .list-unstyled > li::before, .nav details ul > li::before {
  content: "​"; /* 1 */
  position: absolute; /* 2 */
}

/**
 * Removes list styling.
 * For semantic reasons, should only be used on unordered lists.
 */
.list-unstyled, .nav details ul {
  margin-left: 2em;
}

.list-icons {
  margin-left: 0;
}

.list-item-icon {
  display: flex;
  flex-grow: 0;
  flex-shrink: 0;
  -moz-column-gap: 1em;
       column-gap: 1em;
}
.list-item-icon span:first-child {
  padding-top: 0.25em;
}

/**
 * Display lists on a single line.
 */
.list-inline, .nav, .list-breadcrumbs, .list-split {
  display: flex;
  -moz-column-gap: 1em;
       column-gap: 1em;
}
@media (max-width: 38em) {
  .list-inline.list-inline-responsive, .list-inline-responsive.nav, .list-inline-responsive.list-breadcrumbs, .list-inline-responsive.list-split {
    display: block;
  }
}

.list-inline-wrap, .list-breadcrumbs {
  flex-wrap: wrap;
}

.list-inline-center {
  justify-content: center;
}

@media (min-width: 80em) {
  .list-inline-right-large {
    justify-content: end;
  }
}
.list-inline-spaced, .nav {
  -moz-column-gap: 2em;
       column-gap: 2em;
}

.list-inline-divided > li:not(:first-child) {
  border-left: 1px solid currentColor;
  padding-left: 1.25em;
}
@media (max-width: 38em) {
  .list-inline-divided.list-inline-responsive > li {
    border-left: none;
    padding-left: 0;
  }
}

.list-split {
  justify-content: space-between;
}

.list-breadcrumbs {
  -moz-column-gap: 0;
       column-gap: 0;
  margin-left: 2em;
  padding-top: 1em;
}
.list-breadcrumbs > li {
  font-size: 0.8125em;
}
.list-breadcrumbs > li > a {
  color: var(--color-black);
  font-weight: bold;
  text-decoration: none;
}
.list-breadcrumbs > li > a[aria-current=page] {
  font-weight: normal;
}
.list-breadcrumbs > li > a:active, .list-breadcrumbs > li > a:hover, .list-breadcrumbs > li > a:focus {
  color: var(--color-primary);
  text-decoration: underline;
}
.list-breadcrumbs > li:not(:last-child)::after {
  content: ">";
  margin-left: 0.25em;
  margin-right: 0.25em;
}
@media (max-width: 38em) {
  .list-breadcrumbs {
    margin-left: 0;
  }
}

.list-spaced li {
  margin-bottom: 1em;
}

.list-spaced-large li {
  margin-bottom: 1.2em;
}

/**
 * Heading styling for h1 through h6 elements.
 * Heading class lets you use one heading type for semantics, but style it as another heading type.
 */
h1, h2, h3, h4, h5, h6 {
  font-weight: 900;
  line-height: 1.2;
  margin: 0 0 1em;
  padding: 1em 0 0;
  word-wrap: break-word;
}

h1,
.h1 {
  font-size: 2em;
  padding-top: 0.5em;
}
@media (min-width: 90em) {
  h1,
  .h1 {
    font-size: 2.75em;
  }
}

.h1-hero {
  font-size: 2.5em;
}
@media (min-width: 90em) {
  .h1-hero {
    font-size: 3.5em;
  }
}

h2,
.h2 {
  font-size: 1.75em;
}
@media (min-width: 90em) {
  h2,
  .h2 {
    font-size: 2em;
  }
}

h3,
.h3 {
  font-size: 1.5em;
}
@media (min-width: 90em) {
  h3,
  .h3 {
    font-size: 1.7em;
  }
}

h4, h5, h6,
.h4, .h5, .h6 {
  font-size: 1em;
}

h4,
.h4 {
  font-size: 0.8125em;
  text-transform: uppercase;
}

/**
 * Lines, Quotes and Emphasis
 */
.small {
  font-size: 0.625em;
  text-transform: uppercase;
}

.custom-h2 {
  padding-top: 0;
}

/**
 * Lines
 */
hr {
  border: 0;
  border-top: 1px solid var(--color-hr-line);
  margin: 2em auto;
}

.line-accent-color {
  border-top-color: var(--color-accent);
}

.line-dark {
  border-top-color: var(--color-gray-dark);
}

.line-accent {
  border-top: 0.25em solid var(--color-accent);
  width: 4em;
  margin: 1.5em auto;
}

.line-accent-left {
  margin: 1.5em auto 1.5em 0;
}

.line-accent-full {
  width: 100%;
}

.line-accent-primary {
  border-top-color: var(--color-primary-light);
}

.line-accent-light {
  border-top-color: var(--color-primary-lightest);
}

.line-compact {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.line-overlay {
  margin-top: -2.8em;
}
.line-overlay > * {
  background-color: var(--color-white);
  display: inline-block;
  padding: 0 0.25em;
}

/**
 * Use a lighter yellow for better readability
 */
mark {
  background: transparent;
  color: var(--color-black);
  text-decoration: underline;
}

/**
 * Blockquotes
 */
blockquote {
  color: var(--color-primary-light);
  font-size: 1.35em;
  font-style: italic;
  font-weight: bold;
  line-height: 1.4;
  margin: 0 0 var(--spacing);
  padding-left: 0.8125em;
  padding-right: 0.8125em;
  text-align: center;
}

cite {
  color: var(--color-primary);
  display: block;
  font-size: 0.625em;
  font-style: normal;
  padding-top: 0.5em;
}

.color-accent {
  color: var(--color-accent);
}

.color-accent-dark {
  color: var(--color-accent-dark);
}

.color-primary {
  color: var(--color-primary);
}

.color-primary-dark {
  color: var(--color-primary-dark);
}

.color-primary-light {
  color: var(--color-primary-light);
}

.text-bg-dark {
  color: var(--color-white);
}
.text-bg-dark a {
  color: var(--color-white);
}

/**
 * @section Code
 * Styling for code and preformatted text.
 */
code,
kbd,
pre,
samp {
  font-family: var(--font-monospace);
  font-size: 0.875em;
}

code {
  color: var(--color-code);
  word-wrap: break-word;
}

pre {
  background-color: var(--color-gray-lighter);
  display: block;
  line-height: 1.5;
  margin-bottom: var(--spacing);
  overflow: auto;
  padding: 0.8125em;
  -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
  white-space: pre-wrap;
  word-break: break-all;
}
pre code {
  color: inherit;
  font-size: 1em;
}

/**
 * @section Buttons
 * Styling for CSS buttons.
 */
/**
 * Primary buttons
 */

.btn {
        background-color: var(--color-secondary);
        border: 1px solid var(--color-secondary);
        border-radius: 2em;
        box-shadow: 0.375em 0.375em 0.375em var(--color-gray-light), -0.375em -0.375em 0.375em var(--color-white);
        color: var(--color-black);
        display: inline-block;
        font-size: 0.9375em;
        font-weight: normal;
        line-height: 1.2;
        margin-right: 0.3125em;
        margin-bottom: 0.3125em;
        padding: 0.5em 0.6875em;
        text-decoration: none;
        white-space: normal;
}
.btn, .btn:focus, .btn:visited {
        color: var(--color-black);
}
.btn:hover, .btn:active {
        background-color: var(--color-secondary-dark);
        border-color: var(--color-secondary-dark);
        color: var(--color-white);
        text-decoration: none;
}

.btn-tn {
  background-color: var(--color-accent);
  border: 1px solid var(--color-accent);
  border-radius: 2em;
  display: inline-block;
  font-size: 0.9375em;
  font-weight: bold;
  line-height: 1.2;
  margin-right: 0.3125em;
  margin-bottom: 0.3125em;
  padding: 1.2125em 3.3em;
  text-decoration: none;
  white-space: normal;
}
.btn-tn, .btn-tn:active, .btn-tn:focus, .btn-tn:hover, .btn-tn:visited {
  color: var(--color-white);
}
.btn-tn:hover, .btn-tn:active {
  background-color: var(--color-accent-dark);
  border-color: var(--color-accent-dark);
  text-decoration: none;
}

/**
 * Secondary buttons
 */
.btn-secondary {
  background-color: var(--color-primary-light);
  border-color: var(--color-primary-light);
}
.btn-secondary:hover, .btn-secondary:active {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

/**
 * Accent buttons
 */
.btn-tertiary {
  background-color: var(--color-white);
  border-color: var(--color-primary-light);
}
.btn-tertiary, .btn-tertiary:active, .btn-tertiary:focus, .btn-tertiary:hover, .btn-tertiary:visited {
  color: var(--color-primary-light);
}
.btn-tertiary:hover, .btn-tertiary:active {
  background-color: var(--color-gray);
  border-color: var(--color-primary-light);
}

/**
 * Button styled like a link
 */
.btn-link {
  background: transparent;
  border: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
}
.btn-link, .btn-link:focus, .btn-link:visited {
  color: inherit;
}
.btn-link:hover, .btn-link:active {
  background-color: transparent;
  text-decoration: inherit;
}

/**
 * Active state
 */
.btn:active {
  box-shadow: inset 0 0.15625em 0.25em rgba(0, 0, 0, 0.15), 0 1px 0.15625em rgba(0, 0, 0, 0.05);
  outline: 0;
}

/**
 * Disabled state
 */
.btn[disabled] {
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}

/**
 * Button size
 */
.btn-large {
  font-size: 1.2em;
  line-height: normal;
}

.btn-small {
  padding: 0.5em 2em;
}

.btn-wide {
  padding-left: 7em;
  padding-right: 7em;
}

.btn-narrow {
  padding-left: 1em;
  padding-right: 1em;
}

.btn-circle {
  border-radius: 50%;
  padding: 0.45em;
  margin-bottom: 0;
  height: 2em;
  width: 2em;
}

/**
 * Block-level buttons
 */
.btn-block {
  display: block;
  margin-right: 0;
  padding-right: 0;
  padding-left: 0;
  width: 100%;
}

/**
 * General styles
 */
.btn,
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer;
  text-align: center;
  vertical-align: middle;
}

/**
 * Remove right margin on last element and inputs
 */
.btn:last-child,
input.btn {
  margin-right: 0;
}

/**
 * @section Forms
 * Styling for form elements.
 */
form,
fieldset {
  margin-bottom: var(--spacing);
}

fieldset {
  border: 0;
  padding: 0;
}

legend,
label {
  display: block;
  font-size: 0.9375em;
  margin: 0;
  padding: 0;
}

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: var(--color-gray-darker); /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
  padding: 0.3125em;
}

input,
textarea,
select {
  background-color: var(--color-gray-lighter);
  border: 1px solid var(--color-gray-light);
  color: var(--color-black);
  display: block;
  line-height: 1.5;
  margin-bottom: 0.5em;
  width: 100%;
  padding-left: 1em;
  padding-right: 1em;
}
@media (min-width: 38em) {
  input,
  textarea,
  select {
    line-height: 1.5625;
  }
}

input {
  border-radius: 2em;
}
input::-moz-placeholder {
  color: var(--color-primary-darkest);
}
input::placeholder {
  color: var(--color-primary-darkest);
}

form.no-radius input {
  border-radius: 0;
}

form button:not(.btn-search),
form .btn:not(.btn-search) {
  margin-bottom: 1.1875em;
}

textarea {
  height: 8em;
  overflow: auto;
  resize: vertical;
}
textarea::-moz-placeholder {
  color: var(--color-primary-darkest);
}
textarea::placeholder {
  color: var(--color-primary-darkest);
}

[type=image],
[type=checkbox],
[type=radio] {
  cursor: pointer;
  display: inline-block;
  height: auto;
  margin-bottom: 0.3125em;
  padding: 0;
  width: auto;
}

input:focus,
textarea:focus {
  border-color: rgba(82, 168, 236, 0.8);
}

/**
 * Inline inputs
 */
.input-inline {
  display: inline-block;
  vertical-align: middle;
  width: auto;
}

/**
 * Condensed inputs
 */
.input-condensed {
  padding: 1px 0.3125em;
  font-size: 0.9375em;
}

/**
 * Large inputs
 */
.input-large {
  padding: 1.5em 3em;
}

/**
 * Search
 */
/**
 * Create rounded search bar
 */
.input-search {
  width: 85%;
  padding-left: 2em;
  padding-right: 2em;
  border-radius: 3em;
}
@media (min-width: 38em) {
  .input-search {
    padding-right: 14em;
  }
}

/**
 * Special styling for search icon as button
 */
@media (min-width: 38em) {
  .btn-search {
    display: inline;
    margin-left: -12.35em;
    margin-bottom: 0.5em;
  }
}
/* Login */
.login-item {
  flex-direction: row;
  justify-content: flex-start;
  overflow: hidden;
  position: relative;
}
.login-item input {
  position: relative;
  background-color: var(--color-form-bg);
  border: 1px solid var(--color-form-bg);
  height: 4em;
  padding-left: 4em;
  border-radius: 5em;
}
.login-item input::-moz-placeholder {
  color: var(--color-primary-darkest);
  text-transform: uppercase;
}
.login-item input::placeholder {
  color: var(--color-primary-darkest);
  text-transform: uppercase;
}
.login-item i {
  speak: never;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 24px;
  height: 4em;
  position: absolute;
  left: 42px;
  top: 0;
  z-index: 10;
  pointer-events: none;
}
.login-item i.icon-password {
  background-image: url('data:image/svg+xml;utf8,<svg id="Capa_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 328.9 438.53"><defs><style>.cls-1{stroke-width:0px;}</style></defs><path class="cls-1" d="m320.9,227.26c-5.33-5.33-11.8-7.99-19.42-7.99H91.36v-91.36c0-20.18,7.14-37.4,21.42-51.68,14.28-14.27,31.5-21.41,51.68-21.41s37.4,7.14,51.67,21.41c14.28,14.28,21.42,31.5,21.42,51.68,0,4.95,1.81,9.23,5.42,12.85,3.62,3.62,7.9,5.43,12.85,5.43h18.28c4.95,0,9.23-1.81,12.85-5.43,3.61-3.62,5.42-7.9,5.42-12.85,0-35.22-12.52-65.33-37.54-90.36C229.78,12.51,199.66,0,164.45,0s-65.33,12.51-90.37,37.54c-25.03,25.03-37.54,55.15-37.54,90.36v91.36h-9.14c-7.61,0-14.08,2.67-19.41,7.99s-7.99,11.8-7.99,19.41v164.45c0,7.62,2.67,14.09,7.99,19.42,5.33,5.33,11.8,7.99,19.41,7.99h274.08c7.62,0,14.09-2.67,19.42-7.99,5.33-5.33,7.99-11.8,7.99-19.42v-164.45c0-7.61-2.66-14.08-7.99-19.41Z"/></svg>');
  background-size: 12px;
  background-repeat: no-repeat;
  background-position: center;
  fill: var(--color-primary-darkest);
}
.login-item i.icon-user {
  background-image: url('data:image/svg+xml;utf8,<svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 427.16 512"><defs><style>.cls-1{stroke-width:0px;}</style></defs><path class="cls-1" d="m210.35,246.63c33.88,0,63.22-12.15,87.2-36.13,23.97-23.97,36.12-53.3,36.12-87.19s-12.15-63.21-36.13-87.19C273.57,12.15,244.23,0,210.35,0s-63.22,12.15-87.19,36.12-36.13,53.31-36.13,87.19,12.16,63.22,36.13,87.2c23.98,23.97,53.31,36.12,87.19,36.12Z"/><path class="cls-1" d="m426.13,393.7c-.69-9.98-2.09-20.86-4.15-32.35-2.08-11.58-4.75-22.52-7.96-32.53-3.31-10.34-7.81-20.55-13.37-30.34-5.77-10.16-12.55-19-20.16-26.28-7.96-7.61-17.7-13.73-28.96-18.2-11.23-4.44-23.67-6.69-36.98-6.69-5.23,0-10.28,2.14-20.04,8.5-6.01,3.92-13.04,8.45-20.88,13.46-6.71,4.27-15.79,8.28-27.02,11.9-10.95,3.54-22.07,5.34-33.04,5.34s-22.09-1.8-33.05-5.34c-11.21-3.62-20.3-7.62-27-11.9-7.77-4.96-14.8-9.5-20.9-13.47-9.75-6.36-14.81-8.5-20.04-8.5-13.31,0-25.75,2.25-36.97,6.7-11.26,4.46-21,10.58-28.97,18.2-7.61,7.28-14.39,16.12-20.16,26.27-5.56,9.79-10.06,19.99-13.37,30.34-3.2,10-5.88,20.95-7.95,32.52-2.06,11.48-3.46,22.36-4.15,32.36-.68,9.8-1.02,19.96-1.02,30.23,0,26.73,8.5,48.36,25.25,64.32,16.55,15.75,38.44,23.73,65.07,23.73h246.53c26.62,0,48.51-7.98,65.06-23.73,16.76-15.95,25.25-37.59,25.25-64.32,0-10.32-.35-20.49-1.04-30.24Z"/></svg>');
  background-size: 12px;
  background-repeat: no-repeat;
  background-position: center;
  fill: var(--color-primary-darkest);
}

.remember {
  padding-left: 48px;
  color: var(--color-primary);
}
.remember [type=checkbox] {
  border-color: var(--color-primary);
}

/**
 * @section Tables
 * Styling for tables
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: var(--spacing);
  max-width: 100%;
  width: 100%;
}

th,
td {
  text-align: left;
  padding: 0.5em;
}

th {
  border-bottom: 0.125em solid var(--color-gray-light);
  font-weight: bold;
  vertical-align: bottom;
}

td {
  border-top: 1px solid var(--color-gray-light);
  vertical-align: top;
}

/**
 * Adds zebra striping
 */
.table-striped tbody tr:nth-child(odd) {
  background-color: var(--color-gray-lighter);
}

/**
 * Reduces padding on condensed tables
 */
.table-condensed th,
.table-condensed td {
  padding: 0.25em;
}

/**
 * @Section Images
 * Image styling
 */
/**
 * Adds a 50% border radius, turning square images into a circle.
 */
.img-circle {
  border-radius: 50%;
}

/**
 * Image alignment
 */
.img-left {
  display: block;
  float: left;
  margin-right: 1em;
}

/**
 * Have an inline image cover its container
 */
.img-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

/**
 * @section Cards
 * UI for card elements
 */
.card {
  background-color: var(--color-white);
  position: relative;
}

.card-muted {
  background-color: var(--color-gray);
}

.card-primary {
  background-color: var(--color-primary-light);
  color: var(--color-white);
}

.card-primary-dark {
  background-color: var(--color-primary-dark);
  color: var(--color-white);
}

.card-grid {
  display: grid;
  grid-row-gap: 1em;
}
.card-grid .card-text {
  grid-area: 1/1/2/2;
}
.card-grid .card-img {
  grid-area: 2/1/3/2;
}

.card-number {
  background-color: var(--color-primary-dark);
  border-radius: 50%;
  display: inline-block;
  font-weight: 900;
  position: absolute;
  height: 2.5em;
  width: 2.5em;
  padding: 0.5em;
  font-size: 2em;
  top: -0.75em;
  left: 0.75em;
}

/**
 * @section Accordion Elements
 */
/**
 * Style the headers to look differently
 */
[data-accordion] {
  font-size: 1.1875em;
  font-weight: normal;
  padding-top: 0;
  margin-bottom: 0.5em;
}

/**
 * Style the accordion buttons to look like headers
 */
[data-accordion] > button {
  background: transparent;
  border: none;
  display: flex;
  font: inherit;
  margin: 0;
  padding: 0;
  width: 100%;
  align-items: center;
  justify-content: space-between;
}

/**
 * Show expand/collapse icons
 */
[data-accordion] > button[aria-expanded]::after {
  color: var(--color-accent);
  font-size: 2em;
  font-weight: 400;
  float: right;
}

[data-accordion] > button[aria-expanded=true]::after {
  content: " –";
}

[data-accordion] > button[aria-expanded=false]::after {
  content: " +";
}

/**
 * @section Blog
 * Styling overrides for the blog page
 */
.page-blog-content > h2 {
  font-size: 1.35em;
  padding-top: 0;
}

/* blog shadow */
.blog-container {
  position: relative;
}

.blog-shadow {
  position: absolute;
  overflow: hidden;
  width: 100%;
  display: block;
  height: 350px;
  top: 8em;
  z-index: -1;
  background: linear-gradient(to bottom, #edf1f2, transparent);
  pointer-events: none;
}
.blog-shadow::before {
  content: "";
}

/* Social Media Share Buttons */
.social-sharer {
  position: fixed;
  display: flex;
  flex-direction: row;
  justify-content: center;
  bottom: 0;
  width: 100%;
}
@media (min-width: 80em) {
  .social-sharer {
    bottom: 0;
    top: 0;
    left: 0;
    width: auto;
    flex-direction: column;
    justify-content: center;
  }
}
.social-sharer a, .social-sharer button {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin: 0;
  background-color: #333;
  /* Hide the text. */
  text-indent: -999999px;
  white-space: nowrap;
  overflow: hidden;
  width: 48px;
  height: 48px;
  border: none;
  background-size: 28px;
  background-repeat: no-repeat;
  background-position: center center;
}
.social-sharer a:hover, .social-sharer button:hover {
  opacity: 0.9;
}
.social-sharer .facebook-btn {
  background-color: #3b5998;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgY2xhc3M9IiI+PGc+PHBhdGggZD0iTTUxMiAyNTZDNTEyIDExNC42IDM5Ny40IDAgMjU2IDBTMCAxMTQuNiAwIDI1NnMxMTQuNiAyNTYgMjU2IDI1NmMxLjUgMCAzIDAgNC41LS4xVjMxMi43aC01NXYtNjQuMWg1NXYtNDcuMmMwLTU0LjcgMzMuNC04NC41IDgyLjItODQuNSAyMy40IDAgNDMuNSAxLjcgNDkuMyAyLjV2NTcuMmgtMzMuNmMtMjYuNSAwLTMxLjcgMTIuNi0zMS43IDMxLjF2NDAuOGg2My41bC04LjMgNjQuMWgtNTUuMnYxODkuNUM0MzMuNyA0NzEuNCA1MTIgMzcyLjkgNTEyIDI1NnoiIGZpbGw9IiNmZmZmZmYiIG9wYWNpdHk9IjEiIGRhdGEtb3JpZ2luYWw9IiMwMDAwMDAiIGNsYXNzPSIiPjwvcGF0aD48L2c+PC9zdmc+);
}
.social-sharer .twitter-btn {
  background-color: #000;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgMTIyNi4zNyAxMjI2LjM3IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48Zz48cGF0aCBkPSJNNzI3LjM0OCA1MTkuMjg0IDExNzQuMDc1IDBoLTEwNS44Nkw2ODAuMzIyIDQ1MC44ODcgMzcwLjUxMyAwSDEzLjE4NWw0NjguNDkyIDY4MS44MjFMMTMuMTg1IDEyMjYuMzdoMTA1Ljg2Nmw0MDkuNjI1LTQ3Ni4xNTIgMzI3LjE4MSA0NzYuMTUyaDM1Ny4zMjhMNzI3LjMyMiA1MTkuMjg0ek01ODIuMzUgNjg3LjgyOGwtNDcuNDY4LTY3Ljg5NC0zNzcuNjg2LTU0MC4yNEgzMTkuOGwzMDQuNzk3IDQzNS45OTEgNDcuNDY4IDY3Ljg5NCAzOTYuMiA1NjYuNzIxSDkwNS42NjFMNTgyLjM1IDY4Ny44NTR6IiBmaWxsPSIjZmZmZmZmIiBvcGFjaXR5PSIxIiBkYXRhLW9yaWdpbmFsPSIjMDAwMDAwIj48L3BhdGg+PC9nPjwvc3ZnPg==);
}
.social-sharer .pinterest-btn {
  background-color: #BD081C;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgNTExLjk3NyA1MTEuOTc3IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIiBjbGFzcz0iIj48Zz48cGF0aCBkPSJNMjYyLjk0OCAwQzEyMi42MjggMCA0OC4wMDQgODkuOTIgNDguMDA0IDE4Ny45NjhjMCA0NS40NzIgMjUuNDA4IDEwMi4xNzYgNjYuMDggMTIwLjE2IDYuMTc2IDIuNzg0IDkuNTM2IDEuNiAxMC45MTItNC4xMjggMS4yMTYtNC4zNTIgNi41Ni0yNS4zMTIgOS4xNTItMzUuMi44LTMuMTY4LjM4NC01LjkyLTIuMTc2LTguODk2LTEzLjUwNC0xNS42MTYtMjQuMjI0LTQ0LjA2NC0yNC4yMjQtNzAuNzUyIDAtNjguMzg0IDU0LjM2OC0xMzQuNzg0IDE0Ni44OC0xMzQuNzg0IDgwIDAgMTM1Ljk2OCA1MS45NjggMTM1Ljk2OCAxMjYuMzA0IDAgODQtNDQuNDQ4IDE0Mi4xMTItMTAyLjIwOCAxNDIuMTEyLTMxLjk2OCAwLTU1Ljc3Ni0yNS4wODgtNDguMjI0LTU2LjEyOCA5LjEyLTM2Ljk2IDI3LjAwOC03Ni43MDQgMjcuMDA4LTEwMy4zNiAwLTIzLjkwNC0xMy41MDQtNDMuNjgtNDEuMDg4LTQzLjY4LTMyLjU0NCAwLTU4Ljk0NCAzMi4yMjQtNTguOTQ0IDc1LjQ4OCAwIDI3LjQ4OCA5LjcyOCA0Ni4wNDggOS43MjggNDYuMDQ4UzE0NC42NzYgMzcxLjIgMTM4LjY5MiAzOTUuNDg4Yy0xMC4xMTIgNDEuMTIgMS4zNzYgMTA3LjcxMiAyLjM2OCAxMTMuNDQuNjA4IDMuMTY4IDQuMTYgNC4xNiA2LjE0NCAxLjU2OCAzLjE2OC00LjE2IDQyLjA4LTU5LjY4IDUyLjk5Mi05OS44MDggMy45NjgtMTQuNjI0IDIwLjI1Ni03My45MiAyMC4yNTYtNzMuOTIgMTAuNzIgMTkuMzYgNDEuNjY0IDM1LjU4NCA3NC42MjQgMzUuNTg0IDk4LjA0OCAwIDE2OC44OTYtODYuMTc2IDE2OC44OTYtMTkzLjEyQzQ2My42MiA3Ni43MDQgMzc1Ljg3NiAwIDI2Mi45NDggMHoiIGZpbGw9IiNmZmZmZmYiIG9wYWNpdHk9IjEiIGRhdGEtb3JpZ2luYWw9IiMwMDAwMDAiIGNsYXNzPSIiPjwvcGF0aD48L2c+PC9zdmc+);
}
.social-sharer .print-btn {
  background-color: #ccc;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgY2xhc3M9IiI+PGc+PHBhdGggZD0iTTQ3Mi4xNzggMTMzLjkwN2gtNTQuMzAzVjM1LjEzMmMwLTkuNDI1LTcuNjQxLTE3LjA2Ny0xNy4wNjctMTcuMDY3SDExMS4xOTJjLTkuNDI1IDAtMTcuMDY3IDcuNjQxLTE3LjA2NyAxNy4wNjd2OTguNzc1SDM5LjgyMkMxNy44NjQgMTMzLjkwNyAwIDE1MS43NzIgMCAxNzMuNzN2MTcxLjcwMmMwIDIxLjk1OCAxNy44NjQgMzkuODIyIDM5LjgyMiAzOS44MjJoNTQuMzA2djkxLjYxNGMwIDkuNDI1IDcuNjQxIDE3LjA2NyAxNy4wNjcgMTcuMDY3aDI4OS42MWM5LjQyNSAwIDE3LjA2Ny03LjY0MSAxNy4wNjctMTcuMDY3di05MS42MTRoNTQuMzA2YzIxLjk1OCAwIDM5LjgyMi0xNy44NjQgMzkuODIyLTM5LjgyMlYxNzMuNzNjMC0yMS45NTctMTcuODY0LTM5LjgyMy0zOS44MjItMzkuODIzem0tMzQzLjkyLTgxLjcwOGgyNTUuNDgzdjgxLjcwOEgxMjguMjU4VjUyLjE5OXptMjU1LjQ4IDQwNy42MDJIMTI4LjI2MlYzMjAuMTczaDI1NS40NzdsLS4wMDEgMTM5LjYyOHptOTQuMTI5LTExNC4zNjhhNS42OTUgNS42OTUgMCAwIDEtNS42ODkgNS42ODloLTU0LjMwNnYtNDguMDE0YzAtOS40MjUtNy42NDEtMTcuMDY3LTE3LjA2Ny0xNy4wNjdoLTI4OS42MWMtOS40MjUgMC0xNy4wNjcgNy42NDEtMTcuMDY3IDE3LjA2N3Y0OC4wMTRIMzkuODIyYTUuNjk1IDUuNjk1IDAgMCAxLTUuNjg5LTUuNjg5VjE3My43MzFhNS42OTUgNS42OTUgMCAwIDEgNS42ODktNS42ODloNDMyLjM1NmE1LjY5NSA1LjY5NSAwIDAgMSA1LjY4OSA1LjY4OXYxNzEuNzAyeiIgZmlsbD0iI2ZmZmZmZiIgb3BhY2l0eT0iMSIgZGF0YS1vcmlnaW5hbD0iIzAwMDAwMCIgY2xhc3M9IiI+PC9wYXRoPjxwYXRoIGQ9Ik00MDAuODA4IDE5OS45ODhoLTQzLjQ0M2MtOS40MjUgMC0xNy4wNjcgNy42NDEtMTcuMDY3IDE3LjA2N3M3LjY0MSAxNy4wNjcgMTcuMDY3IDE3LjA2N2g0My40NDNjOS40MjUgMCAxNy4wNjctNy42NDEgMTcuMDY3LTE3LjA2N3MtNy42NDEtMTcuMDY3LTE3LjA2Ny0xNy4wNjd6TTMyOS45NTYgMzk5LjgzNEgxODIuMDQ0Yy05LjQyNSAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3czcuNjQxIDE3LjA2NyAxNy4wNjcgMTcuMDY3aDE0Ny45MTFjOS40MjUgMCAxNy4wNjctNy42NDEgMTcuMDY3LTE3LjA2N3MtNy42NDEtMTcuMDY3LTE3LjA2Ni0xNy4wNjd6TTMyOS45NTYgMzQ2LjAwNkgxODIuMDQ0Yy05LjQyNSAwLTE3LjA2NyA3LjY0MS0xNy4wNjcgMTcuMDY3czcuNjQxIDE3LjA2NyAxNy4wNjcgMTcuMDY3aDE0Ny45MTFjOS40MjUgMCAxNy4wNjctNy42NDEgMTcuMDY3LTE3LjA2N3MtNy42NDEtMTcuMDY3LTE3LjA2Ni0xNy4wNjd6IiBmaWxsPSIjZmZmZmZmIiBvcGFjaXR5PSIxIiBkYXRhLW9yaWdpbmFsPSIjMDAwMDAwIiBjbGFzcz0iIj48L3BhdGg+PC9nPjwvc3ZnPg==);
}
.social-sharer .email-btn {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiB4PSIwIiB5PSIwIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgY2xhc3M9IiI+PGc+PHBhdGggZD0iTTQ2NyA3Nkg0NUMyMC4yMzggNzYgMCA5Ni4xNDkgMCAxMjF2MjcwYzAgMjQuODYgMjAuMjUxIDQ1IDQ1IDQ1aDQyMmMyNC43NjIgMCA0NS0yMC4xNDkgNDUtNDVWMTIxYzAtMjQuODU3LTIwLjI0OC00NS00NS00NXptLTYuOTEgMzBMMjY3LjYyNCAyOTkuMDk0Yy01Ljg2NCA1Ljg4Mi0xNy4zODEgNS44ODYtMjMuMjQ4IDBMNTEuOTEgMTA2aDQwOC4xOHpNMzAgMzg1LjQ4NXYtMjU4Ljk3TDE1OS4wNjUgMjU2IDMwIDM4NS40ODV6TTUxLjkxIDQwNmwxMjguMzM0LTEyOC43NTIgNDIuODg1IDQzLjAyNWMxNy41NzQgMTcuNjMxIDQ4LjE3NSAxNy42MjQgNjUuNzQzIDBsNDIuODg1LTQzLjAyNEw0NjAuMDkgNDA2SDUxLjkxek00ODIgMzg1LjQ4NSAzNTIuOTM1IDI1NiA0ODIgMTI2LjUxNXYyNTguOTd6IiBmaWxsPSIjZmZmZmZmIiBvcGFjaXR5PSIxIiBkYXRhLW9yaWdpbmFsPSIjMDAwMDAwIiBjbGFzcz0iIj48L3BhdGg+PC9nPjwvc3ZnPg==);
}

/**
 * @section Callouts
 * UI for callout elements
 */
@media (min-width: 80em) {
  .callout-right-large {
    display: block;
    float: right;
    margin-left: 1em;
    margin-bottom: var(--spacing);
    width: 45%;
  }
}
/**
 * @section Overrides
 * Nudge and tweak alignment, spacing, and visibility.
 */
/**
 * Text sizes
 */
.text-small {
  font-size: 0.9375em;
}

.text-xsmall {
  font-size: 0.8125em;
}

@media (max-width: 38em) {
  .text-xsmall-mobile {
    font-size: 0.8125em;
  }
}
.text-regular {
  font-size: 1em;
}

.text-regular-plus {
  font-size: 1.1875em;
}

.text-size-plus {
  font-size: 1.0625em;
}

.text-medium {
        font-size: 1.0625em;
        line-height: 1.4;
}
@media (min-width: 38em) {
        .text-medium {
                font-size: 1.3125em;
        }
}


.text-large, .text-xlarge {
  font-size: 1.3125em;
  line-height: 1.4;
}
@media (min-width: 38em) {
  .text-large, .text-xlarge {
    font-size: 1.7em;
  }
}

.text-xlarge {
  font-size: 1.7em;
}
@media (min-width: 38em) {
  .text-xlarge {
    font-size: 2em;
  }
}

.text-compact {
  line-height: 1.4;
}

.text-more-compact {
  line-height: 1.2;
}

/**
 * Text colors
 */
.text-muted {
  color: var(--color-gray-dark);
}

.text-primary {
  color: var(--color-primary-light);
}

.text-primary-dark {
  color: var(--color-primary);
}

.text-secondary {
  color: var(--color-secondary);
}

.text-white {
  color: white;
}

/**
 * Text transforms
 */
.text-normal {
  font-weight: normal;
  font-style: normal;
}

.text-extra-bold {
  font-weight: 900;
}

.text-uppercase {
  text-transform: uppercase;
}

/**
 * Text alignment
 */
.text-center {
  text-align: center;
}

@media (max-width: 80em) {
  .text-center-small {
    text-align: center;
  }
}
.text-right {
  text-align: right;
}

@media (min-width: 80em) {
  .text-right-large {
    text-align: right;
  }
}
.text-left {
  text-align: left;
}

/**
 * Images
 */
.img-full-width {
  width: 100%;
}

.img-circle {
  border-radius: 50%;
}

.img-transparent {
  opacity: 0.5;
}

.full-bleed, .full-bleed-img {
  margin-left: calc(50% - 50vw);
  min-width: 100vw;
  width: 100vw;
}

.full-bleed-img img {
  display: block;
  margin: 0 auto;
  max-width: 47em;
}

.case-study-img {
  width: 100%;
  height: auto;
  max-width: 444px;
}

/**
 * Border & Shadow
 */
.border {
  border: 1px solid var(--color-primary-light);
}

.border-dark {
  border-color: var(--color-primary-dark);
}

.border-top-right {
  border-top-right-radius: 2.5em;
}

.border-top-right-large {
  border-top-right-radius: 6em;
}

.border-top-left {
  border-top-left-radius: 2.5em;
}

.border-top-left-large {
  border-top-left-radius: 12em;
}

.border-bottom-right {
  border-bottom-right-radius: 2.5em;
}

.border-bottom-right-large {
  border-bottom-right-radius: 6em;
}

@media (min-width: 80em) {
  .border-bottom-right-xlarge {
    border-bottom-right-radius: 12em;
  }
}
.border-bottom-left {
  border-bottom-left-radius: 2.5em;
}

.border-bottom-left-large {
  border-bottom-left-radius: 6em;
}

.shadow {
  box-shadow: 0.1875em 0.25em 0.5em 0 var(--color-gray-medium);
}

/**
 * Borders & Shadows
 */
.border-bottom-primary {
  border-bottom: 0.6875em var(--color-primary-light) solid;
}

.drop-shadow {
  box-shadow: 0.375em 0.375em 0.375em var(--color-gray-light), -0.375em -0.375em 0.375em var(--color-white);
}

/**
 * Floats
 */
.float-left {
  float: left;
}

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

@media (min-width: 80em) {
  .float-center-two-thirds {
    margin-left: auto;
    margin-right: auto;
    width: 67%;
  }
  .float-center-three-fourths {
    margin-left: auto;
    margin-right: auto;
    width: 75%;
  }
}
.float-right {
  float: right;
}

/**
 * Margins
 */
.no-margin-top {
  margin-top: 0;
}

.no-margin-bottom {
  margin-bottom: 0;
}

.margin-top {
  margin-top: var(--spacing);
}

.margin-bottom {
  margin-bottom: var(--spacing);
}

.margin-top-small {
  margin-top: 0.5em;
}

.margin-bottom-small {
  margin-bottom: 0.5em;
}

.margin-bottom-xsmall {
  margin-bottom: 0.25em;
}

.margin-bottom-medium {
  margin-bottom: 1em;
}

.margin-bottom-large {
  margin-bottom: 2em;
}

.margin-bottom-xlarge {
  margin-bottom: 4em;
}

/**
 * Padding
 */
.no-padding-top {
  padding-top: 0;
}

.no-padding-bottom {
  padding-bottom: 0;
}

.padding {
  padding: 1.3125em;
}

.padding-small {
  padding: 0.25em;
}

.padding-medium {
  padding: 1em;
}

.padding-large {
  padding: 2em;
}

.padding-xlarge {
  padding: 2.5em;
}
@media (min-width: 30em) {
  .padding-xlarge {
    padding: 4em;
  }
}

.padding-top {
  padding-top: var(--spacing);
}

.padding-top-small {
  padding-top: 0.5em;
}

.padding-top-xsmall {
  padding-top: 0.25em;
}

.padding-top-large {
  padding-top: 3em;
}

.padding-top-xlarge {
  padding-top: 4em;
}

.padding-top-gigantic {
  padding-top: 20em;
}

.footer-banner-padding {
  padding-bottom: 4em;
}

@media (min-width: 80em) {
  .padding-top-xlarge-desktop {
    padding-top: 4em;
  }
  .padding-bottom-xlarge-desktop {
    padding-bottom: 4em;
  }
  .footer-banner-padding {
    padding-top: 10em;
    padding-bottom: 8em;
  }
  .padding-top-xxlarge-desktop {
    padding-top: 10em;
  }
}
.padding-bottom {
  padding-bottom: var(--spacing);
}

.padding-bottom-small {
  padding-bottom: 0.5em;
}

.padding-bottom-large {
  padding-bottom: 3em;
}

.padding-bottom-xlarge {
  padding-bottom: 4em;
}

.padding-left {
  padding-left: 4em;
}

@media (min-width: 80em) {
  .padding-left-large {
    padding-left: 4em;
  }
}
.padding-left-medium {
  padding-left: 2em;
}

.padding-right {
  padding-right: 4em;
}

.padding-left-large {
  padding-left: 1em;
}

.padding-right-large {
  padding-right: 1em;
}

@media (min-width: 80em) {
  .padding-left-large {
    padding-left: 4em;
  }
  .padding-right-large {
    padding-right: 4em;
  }
}
@media (max-width: 80em) {
  .padding-left-small {
    padding-left: 2em;
  }
  .padding-right-small {
    padding-right: 2em;
  }
}
/**
 * Visibility
 */
@media (max-width: 80em) {
  .hide-small {
    display: none;
  }
}
@media (min-width: 80em) {
  .hide-large {
    display: none;
  }
}
/**
 * Accessibility
 */
/*
 * Hide only visually, but have it available for screen readers:
 * @link https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap; /* 1 */
  width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard
 * @link https://www.drupal.org/node/897638
 */
.visually-hidden.focusable:active,
.visually-hidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

/**
 * Remove all animations and transitions for people that prefer not to see them
 */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/**
 * Clear any floats
 */
.clearfix:before, .container:before, [data-accordion]:before,
.clearfix:after,
.container:after,
[data-accordion]:after {
  display: table;
  content: " ";
}

.clearfix:after, .container:after, [data-accordion]:after {
  clear: both;
}

/********
* Mike's changes to the code based on personal opinion
* Hyper targeted styles
*********/
.hero-footer .text-xsmall.text-center.text-muted,
.reg-footer .text-xsmall.text-center.text-muted {
  font-size: 12px;
}

.hero-footer .grid-half.text-right-large .list-inline, .hero-footer .grid-half.text-right-large .nav, .hero-footer .grid-half.text-right-large .list-split, .hero-footer .grid-half.text-right-large .list-breadcrumbs,
.reg-footer .grid-half.text-right-large .list-inline,
.reg-footer .grid-half.text-right-large .nav,
.reg-footer .grid-half.text-right-large .list-split,
.reg-footer .grid-half.text-right-large .list-breadcrumbs {
  justify-content: center;
}
@media (min-width: 80em) {
  .hero-footer .grid-half.text-right-large .list-inline, .hero-footer .grid-half.text-right-large .nav, .hero-footer .grid-half.text-right-large .list-split, .hero-footer .grid-half.text-right-large .list-breadcrumbs,
  .reg-footer .grid-half.text-right-large .list-inline,
  .reg-footer .grid-half.text-right-large .nav,
  .reg-footer .grid-half.text-right-large .list-split,
  .reg-footer .grid-half.text-right-large .list-breadcrumbs {
    justify-content: flex-end;
  }
}

.contain-hack {
  display: inline-block;
  text-align: center;
}
.contain-hack a {
  display: block;
}
.contain-hack span {
  display: block;
  clear: both;
}

.banner-max {
  max-width: 730px;
}

.login-socials .btn-circle {
  height: 48px;
  width: 48px;
  padding: 0;
  line-height: 51px;
  font-size: 18px;
}

@media (min-width: 56em) {
  .bg-hq {
    background-image: url("../img/bg-hq.png");
    background-position: right;
    background-size: 75%;
    background-repeat: no-repeat;
    color: var(--color-white);
  }
  .bg-hq a {
    color: var(--color-white);
  }
}
/**
 * @section Hero images
 */
.hero-home {
  background: var(--color-primary-darkest);
  background: linear-gradient(45deg, var(--color-primary-darkest) 0%, var(--color-primary) 85%, var(--color-primary) 100%);
  padding-bottom: 7.5em;
}
@media (min-width: 80em) {
  .hero-home {
    background-color: var(--color-white);
    background-image: url(../img/tony-podium.png);
    background-size: cover;
    background-position: bottom right;
  }
}

@media (max-width: 80em) {
  .hero-home-highlights {
    margin-top: -20em;
  }
}

.hero-home-video {
  margin-top: -6em;
}

@media (min-width: 80em) {
  .hero-home-opportunity {
    background-image: url(../img/stock-stairs.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom right;
  }
}

.hero-home-knowing {
  background-image: linear-gradient(10deg, rgba(17, 17, 17, 0.6) 0%, rgba(17, 17, 17, 0.6) 25%, rgba(73, 145, 149, 0.6) 60%, rgba(73, 145, 149, 0.6) 100%), url(../img/stock-woman-1.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top right;
}

@media (min-width: 80em) {
  .hero-home-win-win-win {
    background-image: url(../img/stock-cityscape.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom;
    padding-bottom: 22em;
  }
}

@media (min-width: 80em) {
  .hero-home-introducing-masterclass {
    padding-bottom: 24em;
  }
}

@media (min-width: 80em) {
  .hero-home-fraction {
    margin-top: -26em;
  }
}
@media (max-width: 80em) {
  .hero-home-fraction .container-xwide {
    padding-left: 2em;
    padding-right: 2em;
    max-width: 100%;
    width: 100%;
  }
}

@media (min-width: 80em) {
  .hero-home-bonus {
    background-image: url(../img/stock-man-1.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: right;
  }
}
@media (max-width: 80em) {
  .hero-home-bonus {
    padding-left: 0;
  }
  .hero-home-bonus > .padding-xlarge {
    padding: 2em;
  }
}

@media (min-width: 80em) {
  .hero-home-about-tony {
    background-image: url(../img/tony-chair.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom center;
  }
}

.hero-home-people-like-you {
  position: relative;
}
@media (min-width: 80em) {
  .hero-home-people-like-you {
    padding-bottom: 12em;
  }
}
@media (max-width: 80em) {
  .hero-home-people-like-you {
    padding-top: 0;
  }
}

.logo-overlay {
  position: relative;
}
@media (min-width: 80em) {
  .logo-overlay::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url("../img/ustla-watermark.svg");
    background-size: 80%;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 5%;
    z-index: 0;
    pointer-events: none;
  }
}

@media (min-width: 80em) {
  .hero-home-perks {
    margin-top: -10em;
  }
}

@media (min-width: 80em) {
  .hero-footer-guide {
    margin-bottom: -12em;
    position: relative;
    z-index: 999;
  }
}

@media (min-width: 80em) {
  .hero-footer-bg {
    padding-top: 16em;
  }
}

.hero-blog-index-header {
  padding-bottom: 10em;
}

.hero-blog-index-list {
  margin-top: -8em;
}

@media (min-width: 80em) {
  .hero-tony-chair {
    background-image: url(../img/tony-chair-alt.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom left;
  }
}

.hero-footer {
  background: var(--color-primary-darkest);
  background: linear-gradient(45deg, var(--color-primary-darkest) 0%, var(--color-primary) 85%, var(--color-primary) 100%);
  padding-bottom: 7.5em;
}
@media (min-width: 80em) {
  .hero-footer {
    background-color: var(--color-white);
    background-image: url(../img/tony-podium-footer.png);
    background-size: cover;
    background-position: bottom right;
  }
}
.hero-footer.with-banner {
  padding-bottom: 0;
}

.hero-why-choose-us-header {
  padding-bottom: 14em;
}

.hero-why-choose-us-video {
  margin-top: -12em;
}

.hero-404 {
  background: var(--color-primary-darkest);
  background: linear-gradient(45deg, var(--color-primary-darkest) 0%, var(--color-primary) 85%, var(--color-primary) 100%);
  background-color: var(--color-white);
  background-image: url(../img/404.png);
  background-size: cover;
  background-position: bottom center;
}

/**
 * @section Why Us
 */
.hero-why-choose-us-header {
  padding-bottom: 4em;
}

.message-from {
  position: relative;
  overflow: visible;
  min-height: 900px;
}

.bg-hack {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
@media (min-width: 80em) {
  .bg-hack {
    height: calc(100% - 175px);
  }
}

@media (min-width: 80em) {
  .watermark-custom {
    display: block;
    position: absolute;
    top: -42px;
    left: -290px;
    width: 945px;
    height: 250px;
    z-index: -1;
    pointer-events: none;
  }
  .watermark-custom::after {
    position: relative;
    display: block;
    content: "";
    background-image: url(../img/alt-watermark.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: bottom left;
    opacity: 0.1;
    pointer-events: none;
    width: 100%;
    height: 372px;
  }
  .bg-custom-grad {
    position: absolute;
    top: 0;
    right: -270px;
    background-image: url(../img/bg-grad.png);
    background-repeat: repeat-x;
    width: 785px;
    height: 1131px;
    pointer-events: none;
    z-index: -1;
  }
}
.team-members .intro {
  width: 100%;
  padding: 1em 0;
  text-align: center;
  background-color: var(--color-primary-light);
  color: var(--color-white);
  font-size: 1.35em;
}
@media (min-width: 80em) {
  .team-members .intro {
    font-size: 1.75em;
    padding-bottom: 2em;
  }
}
@media (min-width: 80em) {
  .team-members .container {
    position: relative;
    top: -75px;
  }
}
.team-members .the-team {
  text-align: center;
}
.team-members .the-team .member {
  width: 100%;
  text-align: center;
  margin: 0 auto;
}
@media (min-width: 80em) {
  .team-members .the-team {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px 77px;
    align-items: auto;
  }
  .team-members .the-team .member {
    width: 270px;
  }
}
.team-members .the-team img {
  position: relative;
  max-width: 270px;
  border-radius: 50%;
}
.team-members .the-team img::after {
  content: "";
  background-color: #fff;
  border-radius: 50%;
  height: 64px;
  width: 64px;
  position: absolute;
  bottom: 0;
  right: 0;
}
.team-members .the-team span {
  display: block;
  font-weight: bolder;
}
.team-members .the-team .btn {
  grid-column: 1/4;
  justify-self: center;
  align-self: center;
}

.event-content {
  position: relative;
  overflow: visible;
  padding: 55px 65px;
  margin-bottom: 55px;
}
.event-content .event-date {
  display: block;
  position: absolute;
  top: 0;
  color: var(--color-primary);
}
.event-content .event-date span {
  background: var(--color-white);
  border: 1px solid var(--color-primary);
  display: inline-block;
  font-weight: bolder;
  line-height: normal;
  padding: 9px 25px 3px;
  position: relative;
  top: -30px;
}
.event-content::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-primary);
  position: absolute;
  top: 0;
  left: 0;
}
.event-content.no-before::before {
  display: none;
}

.column.left .event-text,
.column.left .event-title {
  display: block;
  text-align: right;
}
.column.left .event-date {
  left: 0;
}
.column.right .event-date {
  right: 0;
}

.bg-black .column {
  border-left-color: var(--color-white);
}
.bg-black .column .event-content .event-date {
  color: var(--color-white);
}
.bg-black .column .event-content .event-date span {
  border-color: var(--color-white);
  background-color: var(--color-primary-darkest);
}
.bg-black .column .event-content::before {
  background-color: var(--color-white);
}

.end-event {
  position: relative;
  grid-column: 1/span 2;
  align-self: center;
  justify-self: center;
}
.end-event .event-date {
  display: block;
  position: absolute;
  top: 0;
  color: var(--color-primary);
}
.end-event .event-date span {
  background: var(--color-white);
  border: 1px solid var(--color-primary);
  display: inline-block;
  font-weight: bolder;
  line-height: normal;
  padding: 9px 25px 3px;
  position: relative;
  top: 0;
  left: -56px;
}
.end-event::before {
  content: "";
  display: block;
  width: 1px;
  height: 200px;
  background-color: var(--color-primary);
  position: absolute;
  top: -200px;
  left: -1px;
}

.tug {
  position: relative;
  top: -10px;
}

.end-quote cite {
  color: var(--color-black);
  margin-bottom: 1em;
}

.result {
  position: relative;
  padding: 1em;
  overflow: visible;
}
.result h4 {
  font-size: 1.25em;
  font-weight: 600;
  color: #17333f;
}
.result .user {
  display: flex;
  flex-direction: row;
  justify-items: center;
  align-items: center;
}
.result .user span {
  color: var(--color-black);
  font-weight: 600;
}
.result .user img {
  width: 100%;
  max-width: 63px;
  height: 100%;
  max-height: 63px;
  border-radius: 50%;
  margin-right: 1em;
}
.result .price {
  display: block;
  color: #249396;
  font-size: 1.5rem;
  font-weight: 600;
  text-align: center;
}

.bg-box {
  position: absolute;
  top: 0;
  left: -10px;
  width: calc(100% + 20px);
  height: 80%;
  background-color: #fafafa;
  border: 1px solid #249396;
  z-index: -1;
  pointer-events: none;
}

.hero-boxes {
  position: relative;
  padding-top: 0;
  margin-top: -65px;
  overflow: visible;
  margin-bottom: 6em;
}


.grid-item.last {
  border-top-right-radius: 50px;
}


.text-xxxlarge {
        font-size: 2em;
        line-height: 1;
}
@media (min-width: 56em) {
        .text-xxxlarge {
                font-size: 1.9em;
        }
}

.grid-two {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  max-width: 1200px;
  margin-bottom: 4em;
}
@media (min-width: 80em) {
  .grid-two {
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
  }
}
.grid-two .content {
  grid-area: 1;
}
.grid-two .images {
  grid-area: 1/2;
  text-align: right;
  display: none;
}
@media (min-width: 80em) {
  .grid-two .images {
    display: inline;
  }
}

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

/* Padding All Sides */
.p-0 {
  padding: 0;
}

.p-0_5 {
  padding: 0.125rem;
} /* 0.5 * 0.25rem */
.p-1 {
  padding: 0.25rem;
}

.p-1_5 {
  padding: 0.375rem;
} /* 1.5 * 0.25rem */
.p-2 {
  padding: 0.5rem;
}

.p-2_5 {
  padding: 0.625rem;
} /* 2.5 * 0.25rem */
.p-3 {
  padding: 0.75rem;
}

.p-3_5 {
  padding: 0.875rem;
} /* 3.5 * 0.25rem */
.p-4 {
  padding: 1rem;
}

.p-6 {
  padding: 1.5rem;
}

.p-7 {
  padding: 1.75rem;
}

.p-8 {
  padding: 2rem;
}

.p-9 {
  padding: 2.25rem;
}

.p-10 {
  padding: 2.5rem;
}

.p-11 {
  padding: 2.75rem;
}

.p-12 {
  padding: 3rem;
}

/* and so on... */
/* Padding Top */
.pt-0 {
  padding-top: 0;
}

.pt-0_5 {
  padding-top: 0.125rem;
}

.pt-1 {
  padding-top: 0.25rem;
}

.pt-1_5 {
  padding-top: 0.375rem;
}

.pt-2 {
  padding-top: 0.5rem;
}

.pt-2_5 {
  padding-top: 0.625rem;
}

.pt-3 {
  padding-top: 0.75rem;
}

.pt-3_5 {
  padding-top: 0.875rem;
}

.pt-4 {
  padding-top: 1rem;
}

.pt-5 {
  padding-top: 1.25rem;
}

.pt-6 {
  padding-top: 1.5rem;
}

.pt-7 {
  padding-top: 1.75rem;
}

.pt-8 {
  padding-top: 2rem;
}

.pt-9 {
  padding-top: 2.25rem;
}

.pt-10 {
  padding-top: 2.5rem;
}

.pt-11 {
  padding-top: 2.75rem;
}

.pt-12 {
  padding-top: 3rem;
}

/* Padding Right */
.pr-0 {
  padding-right: 0;
}

.pr-0_5 {
  padding-right: 0.125rem;
}

.pr-1 {
  padding-right: 0.25rem;
}

.pr-1_5 {
  padding-right: 0.375rem;
}

.pr-2 {
  padding-right: 0.5rem;
}

.pr-2_5 {
  padding-right: 0.625rem;
}

.pr-3 {
  padding-right: 0.75rem;
}

.pr-3_5 {
  padding-right: 0.875rem;
}

.pr-4 {
  padding-right: 1rem;
}

.pr-5 {
  padding-right: 1.25rem;
}

.pr-6 {
  padding-right: 1.5rem;
}

.pr-7 {
  padding-right: 1.75rem;
}

.pr-8 {
  padding-right: 2rem;
}

.pr-9 {
  padding-right: 2.25rem;
}

.pr-10 {
  padding-right: 2.5rem;
}

.pr-11 {
  padding-right: 2.75rem;
}

.pr-12 {
  padding-right: 3rem;
}

/* Padding Bottom */
.pb-0 {
  padding-bottom: 0;
}

.pb-0_5 {
  padding-bottom: 0.125rem;
}

.pb-1 {
  padding-bottom: 0.25rem;
}

.pb-1_5 {
  padding-bottom: 0.375rem;
}

.pb-2 {
  padding-bottom: 0.5rem;
}

.pb-2_5 {
  padding-bottom: 0.625rem;
}

.pb-3 {
  padding-bottom: 0.75rem;
}

.pb-3_5 {
  padding-bottom: 0.875rem;
}

.pb-4 {
  padding-bottom: 1rem;
}

.pb-5 {
  padding-bottom: 1.25rem;
}

.pb-6 {
  padding-bottom: 1.5rem;
}

.pb-7 {
  padding-bottom: 1.75rem;
}

.pb-8 {
  padding-bottom: 2rem;
}

.pb-9 {
  padding-bottom: 2.25rem;
}

.pb-10 {
  padding-bottom: 2.5rem;
}

.pb-11 {
  padding-bottom: 2.75rem;
}

.pb-12 {
  padding-bottom: 3rem;
}

/* Padding Left */
.pl-0 {
  padding-left: 0;
}

.pl-0_5 {
  padding-left: 0.125rem;
}

.pl-1 {
  padding-left: 0.25rem;
}

.pl-1_5 {
  padding-left: 0.375rem;
}

.pl-2 {
  padding-left: 0.5rem;
}

.pl-2_5 {
  padding-left: 0.625rem;
}

.pl-3 {
  padding-left: 0.75rem;
}

.pl-3_5 {
  padding-left: 0.875rem;
}

.pl-4 {
  padding-left: 1rem;
}

.pl-5 {
  padding-left: 1.25rem;
}

.pl-6 {
  padding-left: 1.5rem;
}

.pl-7 {
  padding-left: 1.75rem;
}

.pl-8 {
  padding-left: 2rem;
}

.pl-9 {
  padding-left: 2.25rem;
}

.pl-10 {
  padding-left: 2.5rem;
}

.pl-11 {
  padding-left: 2.75rem;
}

.pl-12 {
  padding-left: 3rem;
}

/* Grid Container Classes */
.grid {
  display: grid;
  gap: 1rem; /* Default gap between grid items */
}

.grid-cols-2 {
  grid-template-columns: repeat(2, 1fr);
}

.grid-cols-4 {
  grid-template-columns: repeat(4, 1fr);
}

/* Responsive Grid Classes */
@media (max-width: 768px) {
  .grid-cols-2 {
    grid-template-columns: 1fr;
  }
  .grid-cols-4 {
    grid-template-columns: 1fr;
  }
}
/* Column Span Utility Classes */
.col-span-1 {
  grid-column: span 1/span 1;
}

.col-span-2 {
  grid-column: span 2/span 2;
}

.col-span-3 {
  grid-column: span 3/span 3;
}

.col-span-4 {
  grid-column: span 4/span 4;
}

/* Grid Gap Utility Classes */
.grid-gap-0 {
  gap: 0;
}

.grid-gap-1 {
  gap: 1px;
}

.grid-gap-2 {
  gap: 2px;
}

.grid-gap-3 {
  gap: 3px;
}

.grid-gap-4 {
  gap: 4px;
}

.grid-gap-5 {
  gap: 5px;
}

.grid-gap-6 {
  gap: 6px;
}

.grid-gap-7 {
  gap: 7px;
}

.grid-gap-8 {
  gap: 8px;
}

.grid-gap-9 {
  gap: 9px;
}

.grid-gap-10 {
  gap: 10px;
}

.grid-gap-12 {
  gap: 12px;
}

.grid-gap-14 {
  gap: 14px;
}

.grid-gap-16 {
  gap: 16px;
}

.grid-gap-18 {
  gap: 18px;
}

.grid-gap-20 {
  gap: 20px;
}

.grid-gap-24 {
  gap: 24px;
}

.grid-gap-28 {
  gap: 28px;
}

.grid-gap-32 {
  gap: 32px;
}

.grid-gap-36 {
  gap: 36px;
}

.grid-gap-40 {
  gap: 40px;
}

.grid-gap-44 {
  gap: 44px;
}

.grid-gap-48 {
  gap: 48px;
}

.grid-gap-50 {
  gap: 50px;
}

.community-box {
  position: relative;
  width: 100%;
  text-align: center;
  padding-bottom: 30px;
  display: none;
}
@media (min-width: 80em) {
  .community-box {
    padding-top: 100px;
    padding-bottom: 150px;
    display: block;
  }
}

.community {
  grid-template-columns: repeat(7, 1fr);
  width: 100%;
}
.community .community-item {
  display: grid;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: var(--color-primary);
  font-weight: 600;
  font-size: 1em;
}
.community .community-item.extra > img {
  margin-bottom: 10px;
}
.community .end {
  align-self: end;
}
.community .center {
  justify-self: center;
  align-self: center;
}

.weTeach .grid-item {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 1rem;
}

@media (min-width: 80em) {
  #why-us .row-home-about-tony {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(2, auto);
  }
  #why-us .row-home-about-tony.custom .grid-img {
    height: 980px;
    grid-area: 1/1/3/6;
    margin-right: 0;
    align-self: end;
  }
  #why-us .row-home-about-tony .grid-text {
    grid-area: 2/6/3/12;
    padding-bottom: 7.5em;
  }
  #why-us .row-home-about-tony .grid-heading {
    grid-area: 1/6/2/12;
    padding-top: 4.5em;
    padding-left: 0;
  }
}
.custom-block-one {
  position: relative;
  background-image: url(../img/whyus/background.png);
  background-position: top center;
  background-repeat: none;
  padding-top: 5.5em;
  padding-bottom: 10em;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.custom-block-one h3 {
  color: var(--color-white);
}
.custom-block-one .ustla {
  position: absolute;
  bottom: -145px;
  left: 0;
  width: 100%;
  background-image: url(../img/whyus/ustla.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  height: 545px;
  z-index: 0;
  pointer-events: none;
}

#why-us h4 {
  font-weight: 600;
  font-size: 1.25em;
  margin: 0 0 2em 0;
}

.whyus-video {
  position: relative;
  top: -100px;
  padding-bottom: 0;
}
@media (min-width: 80em) {
  .whyus-video {
    top: -160px;
  }
}

#why-us .section-carousel {
  left: auto;
  right: 0;
}

#why-us .grid-start-half {
  grid-column-start: 1;
}

#why-us .list-inline, #why-us .nav, #why-us .list-split, #why-us .list-breadcrumbs {
  justify-content: end;
  max-height: 579px;
  overflow: hidden;
}

#why-us .custom-h2 {
  font-size: 50px;
  color: #249396;
}

.letter {
  position: relative;
  width: 100%;
  background-image: url(../img/whyus/letter-bottom.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-color: #f4f3f0;
  padding: 0 10px 100px;
  overflow: hidden;
}
@media (min-width: 80em) {
  .letter {
    padding: 0 10px 600px;
  }
}

.letter > .wrapper {
  position: relative;
  background-color: #fafafa;
  max-width: 1300px;
  padding: 0 10px;
}

.paper-shadow {
  position: relative;
  background: #fff;
  width: 100%;
  margin: 0 auto;
  box-shadow: 2px 2px 38px rgba(0, 0, 0, 0.2), -2px 2px 38px rgba(0, 0, 0, 0.2); /* Remove top shadow */
}

.paper-shadow:after, .paper-shadow:before {
  content: "";
  position: absolute;
  left: auto;
  background: none;
  z-index: -1;
}

.paper-shadow:after {
  width: 90%;
  height: 10px;
  top: 0; /* Remove top shadow */
  bottom: 0; /* Apply to bottom */
  right: 8px;
  transform: rotate(-3deg);
  box-shadow: 0px 25px 35px 0px rgba(0, 0, 0, 0.5); /* Only bottom shadow */
}

.paper-shadow:before {
  width: 10px;
  height: 95%;
  top: 5px;
  right: 18px;
  transform: rotate(3deg);
  box-shadow: 22px 0px 35px 0px rgba(0, 0, 0, 0.5); /* Only right shadow */
}

.constrict {
  width: 100%;
  max-width: 730px;
  margin: 0 auto;
  padding-top: 30px;
  padding-bottom: 50px;
}
@media (min-width: 80em) {
  .constrict {
    padding-top: 100px;
    padding-bottom: 50px;
  }
}

.touchpoint {
  font-weight: 500;
}

.careers-bg {
  background-image: url(../img/careers-banner.png);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

ul.icon-list {
  margin: 0;
}

ul.icon-list li {
  position: relative;
  list-style: none;
  text-align: left;
  padding-left: 40px;
  margin-bottom: 25px;
}

ul.icon-list li::before {
  position: absolute;
  top: 10px;
  left: 0;
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxZW0iIGhlaWdodD0iMWVtIiB2aWV3Qm94PSIwIDAgMTQuNDY5IDE0LjQ2OSIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGRhdGEtbmFtZT0iUGF0aCAyOTg5MiIgZD0iTTMuNjIxLjc1djEuNDU1aDcuNjE0TDEuMDYxIDEyLjM4bDEuMDI4IDEuMDI4TDEyLjI2MSAzLjIzNHY3LjkxNmgxLjQ1NFYuNzVaIiBmaWxsPSIjYWU3ZDJjIiBzdHJva2U9IiNhZTdkMmMiIHN0cm9rZS13aWR0aD0iMS41Ii8+PC9zdmc+");
  background-size: cover; /* Or set a specific size */
  background-repeat: no-repeat;
}

.subtitle,
.icon-list-title {
  font-size: 1em;
  color: var(--color-primary-light);
  font-weight: 700;
  text-transform: uppercase;
}

.icon-list-title {
  display: block;
  clear: both;
  text-transform: none;
}

/**
 *  * Flexbox
 *   */
@media (min-width: 56em) {
        .flex {
                display: flex;
                align-items: center;
                justify-content: space-between;
                margin-bottom: var(--spacing);
        }
        .flex p {
                margin-bottom: 0;
        }
}



.mask {
  opacity: 0.5;
}

.video-title {
  margin: 0;
  padding: 20px 0 30px;
}

@media (min-width: 80em) {
  .video-title {
    margin: 0;
    padding: 100px 0 50px;
  }
  .my-results.career > div:first-child {
    grid-column: 1/2;
    text-align: left;
  }
  .careers-video .block-element-custom {
    height: 445px;
    width: 35%;
  }
  .careers-video .watermark-custom {
    left: -190px;
  }
  .careers-video .watermark-custom::after {
    top: -50px;
  }
}
.careers-video video {
  border: 1px solid #000;
  box-shadow: rgba(0, 0, 0, 0.16) 0px 10px 36px 0px, rgba(0, 0, 0, 0.06) 0px 0px 0px 1px;
}

video[poster] {
  height: auto;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/**
 * @section Print
 * Styling for printed content. Adapted from HTML5BP.
 * @link http://html5boilerplate.com
 */
@media print {
  /**
   * Universal selector.
   * Reset all content to transparent background, black color, and remove box and text shadows.
   */
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  /**
   * Specifies page margin
   */
  @page {
    margin: 0.5cm;
  }
  /**
   * Underline all links
   */
  a,
  a:visited {
    text-decoration: underline;
  }
  /**
   * Show URL after links
   */
  a[href]:after {
    content: " (" attr(href) ")";
  }
  /**
   * Don't show URL for internal links
   */
  a[href^="#"]:after {
    content: "";
  }
  /**
   * Specifies the minimum number of lines to print at the top and bottom of a page.
   */
  p,
  h1, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  /**
   * Avoid inserting a page break after headers
   */
  h1, h2, h3 {
    page-break-after: avoid;
  }
  /**
   * Change border color on blockquotes and preformatted text.
   * Avoid page breaks inside the content
   */
  pre,
  blockquote {
    border-color: #999;
    page-break-inside: avoid;
  }
  /**
   * Displayed as a table header row group
   */
  thead {
    display: table-header-group;
  }
  /**
   * Avoid inserting a page break inside table rows and images
   */
  tr,
  img {
    page-break-inside: avoid;
  }
}
/*----------------*/
/*  Backgrounds   */
/*----------------*/
.bg-accent, .bg-primary, .bg-black {
  background: var(--color-primary);
  color: var(--color-white);
}
.bg-accent a, .bg-primary a, .bg-black a {
  color: var(--color-white);
}

.bg-gradient {
  background: var(--color-primary);
  background: linear-gradient(225deg, var(--color-primary-darkest) 0%, var(--color-primary) 85%, var(--color-primary) 100%);
}

.bg-gradient-reverse {
  background: var(--color-primary);
  background: linear-gradient(25deg, var(--color-primary-darkest) 30%, var(--color-primary) 65%, var(--color-primary-light) 100%);
}

.bg-gradient-alt {
  background: var(--color-primary);
  background: linear-gradient(45deg, var(--color-primary-darkest) 0%, var(--color-primary) 85%, var(--color-primary) 100%);
}

.bg-gradient-alt-light {
  background: var(--color-primary);
  background: linear-gradient(45deg, var(--color-primary-darkest) 25%, var(--color-primary) 55%, var(--color-primary-light) 100%);
}

.bg-gradient-alt-light-reverse {
  background: var(--color-primary);
  background: linear-gradient(225deg, var(--color-primary-darkest) 0%, var(--color-primary-light) 55%, var(--color-primary-lightest) 100%);
}

.bg-gradient-vertical {
  background: var(--color-primary);
  background: linear-gradient(10deg, var(--color-primary-darkest) 0%, var(--color-primary-darkest) 30%, var(--color-primary-middle) 60%, var(--color-primary-light) 100%);
}

.bg-gradient-vertical-alt {
  background: var(--color-primary);
  background: linear-gradient(10deg, var(--color-primary-darkest) 0%, var(--color-primary-light) 85%, var(--color-primary-light) 100%);
}

.bg-gradient-header {
  background: var(--color-primary-darkest);
  background: linear-gradient(7deg, var(--color-primary-darkest) 0%, var(--color-primary-darkest) 65%, var(--color-primary) 100%);
}

.bg-muted {
  background-color: var(--color-gray-lighter);
}

.bg-white {
  background-color: var(--color-white);
}

.bg-black {
  background-color: var(--color-primary-darkest);
}

.bg-primary {
  background-color: var(--color-primary-light);
}

.bg-accent {
  background-color: var(--color-accent);
}

.bg-semi-transparent {
  background-color: rgba(0, 0, 0, 0.2);
}

.bg-border {
        border: 1px solid var(--color-gray-medium);
}

.bg-shadow {
        box-shadow: 0.6875em 0.6875em 0.6875em 0 var(--color-gray-dark);
}

.bg-no-shadow {
        box-shadow: none;
}

.bg-semi-transparent-dark {
  -webkit-backdrop-filter: blur(2em);
          backdrop-filter: blur(2em);
  background-color: rgba(0, 0, 0, 0.4);
}

.bg-semi-transparent-light {
  -webkit-backdrop-filter: blur(2em);
          backdrop-filter: blur(2em);
  background-color: rgba(214, 211, 201, 0.2);
}

header {
  position: relative;
}

.nm-hack {
margin-left: 5.5em;
}

/**
 * @section Main Nav
 * Styling for the main navigation area
 */
.js-hamburger .nav-expanded {
  background-color: var(--color-primary);
}

/**
 * The navigation wrapper
 */
.nav-wrap {
  font-size: 0.9em;
  font-weight: bold;
  padding-top: 1.72em;
  padding-bottom: 0.5em;
  text-align: center;
}
.nav-wrap .hamburger {
  display: none;
}
@media (max-width: 80em) {
  .js-hamburger .nav-wrap {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr;
    -moz-column-gap: 1em;
         column-gap: 1em;
    padding: 1em 0.5em 0.5em;
  }
  .js-hamburger .nav-wrap .logo {
    grid-area: 1/1/2/2;
    text-align: left;
  }
  .js-hamburger .nav-wrap .nav-menu {
    grid-area: 2/1/3/3;
  }
  .js-hamburger .nav-wrap .hamburger {
    display: block;
    grid-area: 1/2/2/3;
  }
  .js-hamburger .nav-wrap .js-hidden {
    display: none;
  }
}
@media (min-width: 80em) {
  .nav-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}

/**
 * The logo
 */
.logo {
  display: inline-block;
  font-size: 1.2em;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 0.3125em;
  text-decoration: none;
}
@media (min-width: 80em) {
  .logo {
    margin-bottom: 0;
  }
}
.logo, .logo:focus {
  color: var(--color-white);
}
.logo:active, .logo:hover {
  color: var(--color-white);
}

/**
 * The navigation menu
 */
.nav {
  align-items: center;
  margin-bottom: 0;
  /**
   * Dropdown
   */
  /**
   * Position the dropdown content
   */
  /**
   * Style the dropdown list
   */
}
.nav a {
  color: var(--color-white);
  text-decoration: none;
}
.nav a:hover:not(.btn),
.nav a:active:not(.btn),
.nav a:focus:not(.btn),
.nav .active:not(.btn) {
  border-bottom: 0.125em solid var(--color-accent);
  color: var(--color-white);
}
.nav [aria-current=page]:not(.btn) {
  color: var(--color-primary-light);
}
@media (max-width: 80em) {
  .js-hamburger .nav {
    display: block;
  }
}
@media (max-width: 80em) {
  .js-hamburger .nav > li {
    display: block;
    margin: 0.5em 0;
    text-align: left;
  }
}
.nav details {
  display: inline-block;
  position: relative;
  list-style: none;
  /* styles the drop down arrow */
}
.nav details > summary:first-of-type {
  position: relative;
  list-style-type: none;
  padding-right: 10px;
}
.nav details > summary:first-of-type::after {
  content: "";
  width: 0;
  height: 0;
  transform: rotate(180deg);
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid var(--color-accent);
  display: inline-block;
  position: absolute;
  right: -5px;
  top: 10px;
}
.nav details ul {
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary-dark);
  border-radius: 0.25em;
  min-width: 19em;
  position: absolute;
  text-align: left;
  top: 2.5em;
  left: -2em;
  z-index: 999;
  list-style: none;
}
.nav details ul li {
  padding: 0.25em 0.5em;
}
@media (max-width: 80em) {
  .js-hamburger .nav details ul {
    background-color: transparent;
    border: none;
    min-width: auto;
    position: static;
    top: unset;
    left: unset;
  }
  .js-hamburger .nav details ul li {
    padding: 0;
  }
}
/* Hard Fixes */
@media (max-width: 720px) {
    main > .container {
        width: 100%;
    }

    .opener {
        padding: 25px 25px;
    }

    .row {
        padding: 25px;
    }

    .extra-mobile-side-padding {
        padding-left:  40px;
        padding-right: 40px;
    }

    .hide-mobile {
        display: none !important;
    }
}
/* Hard Fixes */
@media (min-width: 720px) {
    .hide-desktop {
        display: none !important;
    }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiX2NvbmZpZy5zY3NzIiwiY29tcG9uZW50cy9fcmVzZXQuc2NzcyIsImNvbXBvbmVudHMvX2dyaWQuc2NzcyIsImNvbXBvbmVudHMvX2dyaWQtY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL190eXBvZ3JhcGh5LnNjc3MiLCJjb21wb25lbnRzL19jb2RlLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCJjb21wb25lbnRzL19pbWFnZXMuc2NzcyIsImNvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCJjb21wb25lbnRzL19hY2NvcmRpb25zLnNjc3MiLCJjb21wb25lbnRzL19ibG9nLnNjc3MiLCJjb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCJjb21wb25lbnRzL19vdmVycmlkZXMuc2NzcyIsImNvbXBvbmVudHMvX2hlcm8uc2NzcyIsImNvbXBvbmVudHMvX3doeS11cy5zY3NzIiwiY29tcG9uZW50cy9fY2FyZWVycy5zY3NzIiwiY29tcG9uZW50cy9fcHJpbnQuc2NzcyIsImJhY2tncm91bmRzLnNjc3MiLCJoZWFkZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNnQmhCOztFQUFBO0FBR0E7RUFFSSxXQUFBO0VBQ0Esd0JBQUE7RUFDQSw2QkFBQTtFQUNBLGdDQUFBO0VBQ0EsK0JBQUE7RUFDQSw4QkFBQTtFQUNBLGlDQUFBO0VBQ0EsMEJBQUE7RUFDQSwrQkFBQTtFQUNBLHVCQUFBO0VBQ0EsNEJBQUE7RUFDQSxxQkFBQTtFQUNBLDBCQUFBO0VBRUEsc0JBQUE7RUFDQSxxQkFBQTtFQUVBLHdCQUFBO0VBRUEsc0JBQUE7RUFDQSxzQkFBQTtFQUNBLDBCQUFBO0VBQ0EsNEJBQUE7RUFDQSw0QkFBQTtFQUNBLDJCQUFBO0VBQ0EsNkJBQUE7RUFFQSxVQUFBO0VBQ0EscUNBQUE7RUFDQSx5REFBQTtFQUVB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QUNBLGdCQUFBO0VBQ0EsVUFBQTtFQUNBLFVBQUE7RUFDQSxZQUFBO0VBQ00sZ0JBQUE7QXJCNjZIUjtBcUI1NkhFO0VBQ0MscUJBQUE7QXJCODZISDtBcUJ6NkhHO0VBREQ7SUFFRSw2QkFBQTtJQUNBLFlBQUE7SUFDQSxlQUFBO0lBQ0EsZ0JBQUE7SUFDQSxVQUFBO0lBQ0EsV0FBQTtFckI0NkhGO0VxQjE2SEU7SUFDQyxVQUFBO0VyQjQ2SEg7QUFDRiIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogQ29uZmlnc1xuICovXG46cm9vdCB7XG4gIC8qIENvbG9ycyAqL1xuICAtLWNvbG9yLXByaW1hcnk6ICMyNTU5NjQ7XG4gIC0tY29sb3ItcHJpbWFyeS1kYXJrOiAjMWUzMjNlO1xuICAtLWNvbG9yLXByaW1hcnktZGFya2VzdDogIzExMTExMTtcbiAgLS1jb2xvci1wcmltYXJ5LW1pZGRsZTogIzA5NjA2OTtcbiAgLS1jb2xvci1wcmltYXJ5LWxpZ2h0OiAjMjM5Mzk1O1xuICAtLWNvbG9yLXByaW1hcnktbGlnaHRlc3Q6ICM2N2EzYTY7XG4gIC0tY29sb3Itc2Vjb25kYXJ5OiAjZjhkNzQ5O1xuICAtLWNvbG9yLXNlY29uZGFyeS1kYXJrOiAjRDFCNjNEO1xuICAtLWNvbG9yLWFjY2VudDogI2I3N2IwYjtcbiAgLS1jb2xvci1hY2NlbnQtZGFyazogIzk0NkMzNDtcbiAgLS1jb2xvci1jb2RlOiAjZGQxMTQ0O1xuICAtLWNvbG9yLWhpZ2hsaWdodDogI2ZiZjljOTtcbiAgLS1jb2xvci1jaGVjazogIzU3YzkxMztcbiAgLS1jb2xvci1ncmF5OiAjZjRmM2YwO1xuICAtLWNvbG9yLWhyLWxpbmU6ICNlNmU2ZTQ7XG4gIC0tY29sb3ItYmxhY2s6ICMyNzI3Mjc7XG4gIC0tY29sb3Itd2hpdGU6ICNmZmZmZmY7XG4gIC0tY29sb3ItZ3JheS1kYXJrOiAjODA4MDgwO1xuICAtLWNvbG9yLWdyYXktZGFya2VyOiAjNTU1NTU1O1xuICAtLWNvbG9yLWdyYXktbWVkaXVtOiAjZDZkM2M5O1xuICAtLWNvbG9yLWdyYXktbGlnaHQ6ICNlNWU1ZTU7XG4gIC0tY29sb3ItZ3JheS1saWdodGVyOiAjZjdmN2Y3O1xuICAvKiBGb250cyAqL1xuICAtLWZvbnQtcHJpbWFyeTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gIC0tZm9udC1tb25vc3BhY2U6IE1lbmxvLCBNb25hY28sIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAvKiBGb3JtIENvbG9ycyAqL1xuICAtLWNvbG9yLWZvcm0tYmc6ICNmNGYzZWY7XG4gIC8qIFNpemVzICovXG4gIC0tZm9udC1zaXplOiAxMTIuNSU7XG4gIC0tc3BhY2luZzogMS41NjI1ZW07XG4gIC0tY29udGFpbmVyLXdpZHRoOiA5MiU7XG4gIC0tY29udGFpbmVyLW1heC13aWR0aDogNjJlbTtcbiAgLS1jb250YWluZXItbWVkaXVtLW1heC13aWR0aDogNzBlbTtcbiAgLS1jb250YWluZXItd2lkZS1tYXgtd2lkdGg6IDc3ZW07XG4gIC0tY29udGFpbmVyLXh3aWRlLW1heC13aWR0aDogODJlbTtcbiAgLS1jb250YWluZXItbmFycm93LW1heC13aWR0aDogNDRlbTtcbiAgLS1jb250YWluZXItbmFycm93LXBsdXMtbWF4LXdpZHRoOiA1NmVtO1xuICAtLWNvbnRhaW5lci10aW55LW1heC13aWR0aDogMzJlbTtcbiAgLS1ib2R5LW1heC13aWR0aDogMTA3ZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogODBlbSkge1xuICA6cm9vdCB7XG4gICAgLS1mb250LXNpemU6IDEwNi4yNSUgO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMzhlbSkge1xuICA6cm9vdCB7XG4gICAgLS1mb250LXNpemU6IDEwMCU7XG4gIH1cbn1cblxuLyoqXG4gKiBAc2VjdGlvbiBDU1MgUmVzZXRcbiAqIEFkYXB0ZWQgZnJvbSBBbmR5IEJlbGwncyBtb2Rlcm4gQ1NTIHJlc2V0XG4gKiBAbGluayBodHRwczovL2hhbmtjaGl6bGphdy5jb20vd3JvdGUvYS1tb2Rlcm4tY3NzLXJlc2V0L1xuICovXG4vKipcbiAqIFJlbW92ZSB0aGUgdGFwIGRlbGF5IGluIHdlYmtpdFxuICogQGxpbmsgaHR0cHM6Ly9tZWRpdW0uY29tL0BhZGFjdGlvL2RlbGF5LWE5ZGY5ZWRjZWVmMyMuN2RtYmwzeG93XG4gKi9cbmEsXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhLFxubGFiZWwsXG5zdW1tYXJ5IHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbi8qKlxuICogQWRkIGJveCBzaXppbmcgdG8gZXZlcnl0aGluZ1xuICogQGxpbmsgaHR0cDovL3d3dy5wYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0dy9cbiAqL1xuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qKlxuICogMS4gRm9yY2Ugc2Nyb2xsYmFyIGRpc3BsYXkgdG8gcHJldmVudCBqdW1waW5nIG9uIHBhZ2VzLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cbmh0bWwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIDEgKi9cbiAgdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gRm9yIHRoZSBib2R5IHRvIGZpbGwgdGhlIHZpZXdwb3J0XG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IC8qIDEgKi9cbiAgbWluLWhlaWdodDogMTAwdmg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IGltZyBhbmQgdmlkZW8gZWxlbWVudHMgZnJvbSBzcGlsbGluZyBvdXRzaWRlIG9mIHRoZSBwYWdlIG9uIHNtYWxsZXIgc2NyZWVucy5cbiAqL1xuaW1nLFxudmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGlmcmFtZSwgb2JqZWN0LCBhbmQgZW1iZWQgZWxlbWVudHMgZnJvbSBzcGlsbGluZyBvdXRzaWRlIG9mIHRoZSBwYWdlIG9uIHNtYWxsZXIgc2NyZWVucy5cbiAqIGhlaWdodDogYXV0byBjYXVzZXMgaWZyYW1lcyB0byBzbXVzaCwgc28gaXQncyBvbWl0dGVkIGhlcmUuXG4gKi9cbmlmcmFtZSxcbm9iamVjdCxcbmVtYmVkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5zdW1tYXJ5IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKipcbiAqIEB3b3JrYXJvdW5kIFJlbW92ZSBmb2N1cyBmcm9tIHRhYmluZGV4PVwiLTFcIiBlbGVtZW50cyB3aGljaCBhcmUgb25seSBzY3JpcHQgZm9jdXNhYmxlXG4gKiBAbGluayBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9Mzc3MjFcbiAqL1xuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKipcbiAqIEBzZWN0aW9uIEdyaWRcbiAqIFN0cnVjdHVyZSBhbmQgbGF5b3V0XG4gKi9cbi8qKlxuICogQmFzZSB3cmFwcGVyIGNsYXNzXG4gKi9cbi5jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1tYXgtd2lkdGgpO1xuICB3aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoKTtcbn1cblxuLmNvbnRhaW5lci13aWRlIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItd2lkZS1tYXgtd2lkdGgpO1xufVxuXG4uY29udGFpbmVyLXh3aWRlIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXIteHdpZGUtbWF4LXdpZHRoKTtcbn1cblxuLmNvbnRhaW5lci1tZWRpdW0ge1xuICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1tZWRpdW0tbWF4LXdpZHRoKTtcbn1cblxuLmNvbnRhaW5lci1uYXJyb3cge1xuICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1uYXJyb3ctbWF4LXdpZHRoKTtcbn1cblxuLmNvbnRhaW5lci1uYXJyb3ctcGx1cyB7XG4gIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLW5hcnJvdy1wbHVzLW1heC13aWR0aCk7XG59XG5cbi5jb250YWluZXItdGlueSB7XG4gIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLXRpbnktbWF4LXdpZHRoKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmNvbnRhaW5lci1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDkwZW0pIHtcbiAgLmNvbnRhaW5lciAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLyoqXG4gKiBHcmlkc1xuICovXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAucm93IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIGF1dG87XG4gICAgY29sdW1uLWdhcDogMC43NWVtO1xuICB9XG4gIC5yb3ctY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5yb3ctZ2FwLW1lZGl1bSB7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tc3BhY2luZyk7XG4gIH1cbiAgLnJvdy1nYXAtbGFyZ2Uge1xuICAgIGNvbHVtbi1nYXA6IDIuMTg3NWVtO1xuICB9XG4gIC5yb3ctZ2FwLXhsYXJnZSB7XG4gICAgY29sdW1uLWdhcDogM2VtO1xuICB9XG4gIC5yb3ctZ2FwLXh4bGFyZ2Uge1xuICAgIGNvbHVtbi1nYXA6IDRlbTtcbiAgfVxuICAucm93LW5vLWdhcCB7XG4gICAgZ2FwOiAwO1xuICB9XG4gIC5yb3ctYXV0byB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgMTVlbSksIDFmcikpO1xuICB9XG4gIC5ncmlkLWZvdXJ0aCB7XG4gICAgZ3JpZC1jb2x1bW46IGF1dG8vc3BhbiAzO1xuICB9XG4gIC5ncmlkLXRoaXJkIHtcbiAgICBncmlkLWNvbHVtbjogYXV0by9zcGFuIDQ7XG4gIH1cbiAgLmdyaWQtdHdvLWZpZnRocyB7XG4gICAgZ3JpZC1jb2x1bW46IGF1dG8vc3BhbiA1O1xuICB9XG4gIC5ncmlkLXR3by10aGlyZHMge1xuICAgIGdyaWQtY29sdW1uOiBhdXRvL3NwYW4gODtcbiAgfVxuICAuZ3JpZC1oYWxmIHtcbiAgICBncmlkLWNvbHVtbjogYXV0by9zcGFuIDY7XG4gIH1cbiAgLmdyaWQtdGhyZWUtZmlmdGhzIHtcbiAgICBncmlkLWNvbHVtbjogYXV0by9zcGFuIDc7XG4gIH1cbiAgLmdyaWQtdGhyZWUtZm91cnRocyB7XG4gICAgZ3JpZC1jb2x1bW46IGF1dG8vc3BhbiA5O1xuICB9XG4gIC5ncmlkLWZ1bGwge1xuICAgIGdyaWQtY29sdW1uOiBhdXRvL3NwYW4gMTI7XG4gIH1cbiAgW2NsYXNzKj1ncmlkLXN0YXJ0LV0ge1xuICAgIGdyaWQtcm93LXN0YXJ0OiAxO1xuICB9XG4gIC5ncmlkLXN0YXJ0LWZpcnN0IHtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMTtcbiAgfVxuICAuZ3JpZC1zdGFydC1maWZ0aCB7XG4gICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDI7XG4gIH1cbiAgLmdyaWQtc3RhcnQtZm91cnRoLW1pbnVzIHtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMztcbiAgfVxuICAuZ3JpZC1zdGFydC1mb3VydGgge1xuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAzO1xuICB9XG4gIC5ncmlkLXN0YXJ0LXRoaXJkIHtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogNDtcbiAgfVxuICAuZ3JpZC1zdGFydC1oYWxmLW1pbnVzIHtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogNTtcbiAgfVxuICAuZ3JpZC1zdGFydC1oYWxmIHtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogNztcbiAgfVxuICAuZ3JpZC1zdGFydC10d28tZmlmdGhzIHtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogODtcbiAgfVxuICAuZ3JpZC1zdGFydC10d28tdGhpcmRzIHtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogOTtcbiAgfVxuICAuZ3JpZC1zdGFydC10aHJlZS1mb3VydGhzIHtcbiAgICBncmlkLWNvbHVtbi1zdGFydDogMTA7XG4gIH1cbn1cbi8qKlxuICogR3JpZHNcbiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDM4ZW0pIHtcbiAgLnJvdy1zbWFsbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBhdXRvO1xuICAgIGNvbHVtbi1nYXA6IDAuNzVlbTtcbiAgfVxuICAucm93LXNtYWxsIC5ncmlkLXRoaXJkIHtcbiAgICBncmlkLWNvbHVtbjogYXV0by9zcGFuIDQ7XG4gIH1cbiAgLnJvdy1zbWFsbCAuZ3JpZC1oYWxmIHtcbiAgICBncmlkLWNvbHVtbjogYXV0by9zcGFuIDY7XG4gIH1cbn1cbi8qKlxuICogQHNlY3Rpb24gQ3VzdG9tIEdyaWQgTGF5b3V0c1xuICogU3RydWN0dXJlIGFuZCBsYXlvdXRcbiAqL1xuLmhpZ2hsaWdodHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGNvbHVtbi1nYXA6IDAuNWVtO1xufVxuLmhpZ2hsaWdodHMgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXktZGFyayk7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xufVxuXG4ucm93LXRlc3RpbW9uaWFsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sdW1uLWdhcDogMC43NWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgcGFkZGluZy10b3A6IDAuNWVtO1xufVxuLnJvdy10ZXN0aW1vbmlhbCBpbWcge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4ucm93LXRlc3RpbW9uaWFsIHN2ZyB7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuc2VjdGlvbi1ibG9jayB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnNlY3Rpb24tYmxvY2sgLmJsb2NrLWVsZW1lbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuICAgIGhlaWdodDogMTJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuICAuc2VjdGlvbi1ibG9jayAuYmxvY2stZWxlbWVudC1sYXJnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG4gICAgaGVpZ2h0OiAyNmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gIC5zZWN0aW9uLWJsb2NrLWFsdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnNlY3Rpb24tYmxvY2stYWx0IC5ibG9jay1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbiAgICBoZWlnaHQ6IDE4ZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNDIlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmxvZ28tb3ZlcmxheS1hbHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE4ZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSBhbmQgKG1pbi13aWR0aDogODBlbSkge1xuICAubG9nby1vdmVybGF5LWFsdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDU4cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2FsdC13YXRlcm1hcmsuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAxMCU7XG4gICAgei1pbmRleDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnNlY3Rpb24tYmxvY2stYW5kLWNhcm91c2VsIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmZmZmZmYgMCUsICNmZmZmZmYgODAlLCAjMWUzMjNlIDgwJSwgIzFlMzIzZSAxMDAlKTtcbiAgICBtYXJnaW4tdG9wOiAtM2VtO1xuICAgIHBhZGRpbmctdG9wOiA0ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5zZWN0aW9uLWJsb2NrLWFuZC1jYXJvdXNlbCAuc2VjdGlvbi1jYXJvdXNlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnNlY3Rpb24tbm8tYmxvY2stY2Fyb3VzZWwge1xuICAgIG1hcmdpbi10b3A6IC0zZW07XG4gICAgcGFkZGluZy10b3A6IDRlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnNlY3Rpb24tbm8tYmxvY2stY2Fyb3VzZWwgLnNlY3Rpb24tY2Fyb3VzZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNDglO1xuICB9XG4gIC5zZWN0aW9uLW5vLWJsb2NrLWNhcm91c2VsLWFsdCB7XG4gICAgbWFyZ2luLXRvcDogLTNlbTtcbiAgICBwYWRkaW5nLXRvcDogNGVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuc2VjdGlvbi1uby1ibG9jay1jYXJvdXNlbC1hbHQgLnNlY3Rpb24tY2Fyb3VzZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiA1MiU7XG4gIH1cbiAgLnJvdy1vcHBvcnR1bml0eSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICBjb2x1bW4tZ2FwOiA3ZW07XG4gIH1cbiAgLnJvdy1vcHBvcnR1bml0eSAuZ3JpZC1pbWcge1xuICAgIGdyaWQtYXJlYTogMS8xLzMvNjtcbiAgfVxuICAucm93LW9wcG9ydHVuaXR5IC5ncmlkLWhlYWRpbmcge1xuICAgIGdyaWQtYXJlYTogMS81LzIvMTE7XG4gICAgcGFkZGluZy1sZWZ0OiA1LjVlbTtcbiAgfVxuICAucm93LW9wcG9ydHVuaXR5IC5ncmlkLXRleHQge1xuICAgIGdyaWQtYXJlYTogMi82LzIvMTA7XG4gIH1cbiAgLnJvdy13aHktaW4tYnVzaW5lc3Mge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgY29sdW1uLWdhcDogMDtcbiAgfVxuICAucm93LXdoeS1pbi1idXNpbmVzcyAuZ3JpZC1pbWcge1xuICAgIGdyaWQtYXJlYTogMS8xLzMvNjtcbiAgfVxuICAucm93LXdoeS1pbi1idXNpbmVzcyAuZ3JpZC10ZXh0IHtcbiAgICBncmlkLWFyZWE6IDIvNi8yLzExO1xuICAgIHBhZGRpbmc6IDhlbSA2ZW0gOGVtIDVlbTtcbiAgfVxuICAucm93LWhvbWUtYWJvdXQtdG9ueSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgICBjb2x1bW4tZ2FwOiAxZW07XG4gIH1cbiAgLnJvdy1ob21lLWFib3V0LXRvbnkgLmdyaWQtaW1nIHtcbiAgICBncmlkLWFyZWE6IDEvMS8zLzc7XG4gICAgbWFyZ2luLXJpZ2h0OiA2ZW07XG4gIH1cbiAgLnJvdy1ob21lLWFib3V0LXRvbnkgLmdyaWQtaGVhZGluZyB7XG4gICAgZ3JpZC1hcmVhOiAxLzUvMi8xMjtcbiAgICBwYWRkaW5nLWxlZnQ6IDUuNWVtO1xuICB9XG4gIC5yb3ctaG9tZS1hYm91dC10b255IC5ncmlkLXRleHQge1xuICAgIGdyaWQtYXJlYTogMi82LzIvMTA7XG4gICAgcGFkZGluZy1sZWZ0OiAzZW07XG4gIH1cbiAgLnJvdy1rbm93aW5nIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgIGNvbHVtbi1nYXA6IDZlbTtcbiAgfVxuICAucm93LWtub3dpbmcgLmdyaWQtaW1nIHtcbiAgICBncmlkLWFyZWE6IDEvMS8zLzg7XG4gIH1cbiAgLnJvdy1rbm93aW5nIC5ncmlkLWhlYWRpbmcge1xuICAgIGdyaWQtYXJlYTogMS81LzIvMTM7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIH1cbiAgLnJvdy1rbm93aW5nIC5ncmlkLXRleHQge1xuICAgIGdyaWQtYXJlYTogMi83LzIvMTM7XG4gIH1cbiAgLnJvdy1vdXRjb21lcyB7XG4gICAgbWF4LXdpZHRoOiA1NGVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5yb3ctaG9tZS1ib251cyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDg4JTtcbiAgfVxuICAucm93LWZyYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgIGdyaWQtY29sdW1uLWdhcDogMWVtO1xuICAgIHJvdy1nYXA6IDJlbTtcbiAgfVxuICAucm93LWZyYWN0aW9uIC5ncmlkLWltZyB7XG4gICAgZ3JpZC1hcmVhOiAxLzEvMi82O1xuICB9XG4gIC5yb3ctZnJhY3Rpb24gLmdyaWQtdGV4dCB7XG4gICAgZ3JpZC1hcmVhOiAxLzYvMi8xMTtcbiAgfVxuICAucm93LWZyYWN0aW9uIC5ncmlkLWJvbnVzIHtcbiAgICBncmlkLWFyZWE6IDIvMi8zLzEzO1xuICB9XG4gIC5yb3ctY29tcHJlc3Mge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gIH1cbiAgLnJvdy1jb21wcmVzcyAuZ3JpZC1iZyB7XG4gICAgZ3JpZC1hcmVhOiAxLzEvMi85O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDIyNWRlZywgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCksIHZhcigtLWNvbG9yLXByaW1hcnktZGFyaykpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA5ZW07XG4gIH1cbiAgLnJvdy1jb21wcmVzcyAuZ3JpZC1jb250ZW50IHtcbiAgICBncmlkLWFyZWE6IDEvMS8yLzEzO1xuICB9XG4gIC5yb3ctYmxvZy1mZWF0dXJlZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIDFmcik7XG4gICAgZ2FwOiAxZW07XG4gIH1cbiAgLnJvdy1ibG9nLWZlYXR1cmVkIC5ncmlkLWZlYXR1cmVkLW1haW4ge1xuICAgIGdyaWQtYXJlYTogMS8xLzUvMjtcbiAgfVxuICAucm93LWJsb2ctZmVhdHVyZWQgLmdyaWQtZmVhdHVyZWQtMSB7XG4gICAgZ3JpZC1hcmVhOiAxLzIvMi8zO1xuICB9XG4gIC5yb3ctYmxvZy1mZWF0dXJlZCAuZ3JpZC1mZWF0dXJlZC0yIHtcbiAgICBncmlkLWFyZWE6IDIvMi8zLzM7XG4gIH1cbiAgLnJvdy1ibG9nLWZlYXR1cmVkIC5ncmlkLWZlYXR1cmVkLTMge1xuICAgIGdyaWQtYXJlYTogMy8yLzQvMztcbiAgfVxuICAucm93LWJsb2ctZmVhdHVyZWQgLmdyaWQtZmVhdHVyZWQtNCB7XG4gICAgZ3JpZC1hcmVhOiA0LzIvNS8zO1xuICB9XG59XG4ucm93LWFib3V0LXRvbnktaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnJvdy1hYm91dC10b255LWltZyBpbWcudG9ueSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0MCU7XG59XG4ucm93LWFib3V0LXRvbnktaW1nIC5ncmlkLWFjY2VudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzhlbSkge1xuICAucm93LWFib3V0LXRvbnktaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLnJvdy1hYm91dC10b255LWltZyAuZ3JpZC1hY2NlbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMS41ZW07XG4gICAgcmlnaHQ6IC0yLjVlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODBlbSkge1xuICAucm93LWJsb2ctZmVhdHVyZWQgLmdyaWQtZmVhdHVyZWQtbWFpbixcbiAgLnJvdy1ibG9nLWZlYXR1cmVkIC5ncmlkLWZlYXR1cmVkLTEsXG4gIC5yb3ctYmxvZy1mZWF0dXJlZCAuZ3JpZC1mZWF0dXJlZC0yLFxuICAucm93LWJsb2ctZmVhdHVyZWQgLmdyaWQtZmVhdHVyZWQtMyxcbiAgLnJvdy1ibG9nLWZlYXR1cmVkIC5ncmlkLWZlYXR1cmVkLTQge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDM4ZW0pIHtcbiAgLnJvdy1mZWF0dXJlZC1jYXJkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIGF1dG87XG4gICAgY29sdW1uLWdhcDogMS41ZW07XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cbiAgLnJvdy1mZWF0dXJlZC1jYXJkIC5ncmlkLWNhcmQtaW1nIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGdyaWQtY29sdW1uOiBhdXRvL3NwYW4gNTtcbiAgfVxuICAucm93LWZlYXR1cmVkLWNhcmQgLmdyaWQtY2FyZC10ZXh0IHtcbiAgICBncmlkLWNvbHVtbjogYXV0by9zcGFuIDc7XG4gICAgcGFkZGluZzogMWVtIDFlbSAxZW0gMDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDM4ZW0pIHtcbiAgLnJvdy1mZWF0dXJlZC1jYXJkIC5ncmlkLWNhcmQtaW1nIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIG1pbi1oZWlnaHQ6IDE2ZW07XG4gIH1cbiAgLnJvdy1mZWF0dXJlZC1jYXJkIC5ncmlkLWNhcmQtdGV4dCB7XG4gICAgcGFkZGluZzogMWVtIDFlbSAxZW0gMWVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogODBlbSkge1xuICAuZ3JpZC1iZy1zbWFsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjI1ZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KSwgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKSk7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDllbTtcbiAgfVxuICAucm93LW9wcG9ydHVuaXR5LFxuICAucm93LWhvbWUtYWJvdXQtdG9ueSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDg4JTtcbiAgfVxuICAucm93LW9wcG9ydHVuaXR5IC5ncmlkLWhlYWRpbmcsXG4gIC5yb3ctaG9tZS1hYm91dC10b255IC5ncmlkLWhlYWRpbmcge1xuICAgIHBhZGRpbmctdG9wOiAyZW07XG4gIH1cbiAgLnJvdy1vcHBvcnR1bml0eSAuZ3JpZC10ZXh0LFxuICAucm93LWhvbWUtYWJvdXQtdG9ueSAuZ3JpZC10ZXh0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuICB9XG4gIC5yb3ctb3Bwb3J0dW5pdHkgLmdyaWQtdGV4dCA+IC5wYWRkaW5nLWJvdHRvbS14bGFyZ2UsXG4gIC5yb3ctaG9tZS1hYm91dC10b255IC5ncmlkLXRleHQgPiAucGFkZGluZy1ib3R0b20teGxhcmdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAucm93LW9wcG9ydHVuaXR5IGgyLnBhZGRpbmctdG9wLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbiAgLnJvdy1vcHBvcnR1bml0eSAuZ3JpZC10ZXh0LnBhZGRpbmctYm90dG9tLXhsYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuNzVlbTtcbiAgfVxuICAucm93LW9wcG9ydHVuaXR5IC5ncmlkLXRleHQgLnBhZGRpbmctYm90dG9tLXhsYXJnZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MGVtKSB7XG4gIC5ncmlkLWJnLXNtYWxsLWFsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspKTtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA5ZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5yb3ctdG9ueS1jb250aW51ZXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgbWFyZ2luLXRvcDogLThlbTtcbiAgfVxuICAucm93LXRvbnktY29udGludWVzIC5ncmlkLWJnIHtcbiAgICBncmlkLWFyZWE6IDEvNS8yLzEzO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KSwgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKSk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOWVtO1xuICAgIG1hcmdpbi1sZWZ0OiA0ZW07XG4gIH1cbiAgLnJvdy10b255LWNvbnRpbnVlcyAuZ3JpZC1jb250ZW50IHtcbiAgICBncmlkLWFyZWE6IDEvMS8yLzEzO1xuICAgIHBhZGRpbmctdG9wOiAxMGVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogODBlbSkge1xuICAucm93LXRvbnktY29udGludWVzIC5ncmlkLWNvbnRlbnQucGFkZGluZy10b3AteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMmVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogODBlbSkge1xuICAucm93LWJsb2NrcXVvdGUgLmdyaWQtaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnJvdy1ibG9ja3F1b3RlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDRmciAxZnI7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiAwLjVlbTtcbiAgfVxuICAucm93LWJsb2NrcXVvdGUgLmdyaWQtaWNvbiB7XG4gICAgZ3JpZC1hcmVhOiAxLzEvMi8yO1xuICB9XG4gIC5yb3ctYmxvY2txdW90ZSAuZ3JpZC1xdW90ZSB7XG4gICAgZm9udC1zaXplOiAxLjc1ZW07XG4gICAgZ3JpZC1hcmVhOiAxLzIvMi8zO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5sb2dpbi1sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB9XG59XG5cbi8qIGhlcm8gcmVzdWx0cyAtIGFib3V0IFRvbnkgaW50cm8gKi9cbi5yZXN1bHRzIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgZ2FwOiAwO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG4ucmVzdWx0cyBoMyB7XG4gIC8qIHJlc2V0IGZvciB0aGlzIGVsZW1lbnQgKi9cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuLnJlc3VsdHMgLml0ZW0ge1xuICBwYWRkaW5nOiAwIDEuMjVlbTtcbn1cbi5yZXN1bHRzIC5pdGVtIHNwYW4ge1xuICBmb250LXNpemU6IDAuODVlbTtcbn1cbi5yZXN1bHRzIC5taWRkbGUge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG5cbi8qIE15IFJlc3VsdHMgU2VjdGlvbiAtIEFib3V0IFRvbnkgKi9cbi5teS1yZXN1bHRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLm15LXJlc3VsdHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdyaWQtZ2FwOiAyMHB4O1xuICB9XG4gIC5teS1yZXN1bHRzID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAubXktcmVzdWx0cyA+IGRpdjpmaXJzdC1jaGlsZCBoMyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5teS1yZXN1bHRzID4gZGl2OmZpcnN0LWNoaWxkIHAge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cbn1cbi5teS1yZXN1bHRzIC5pbWFnZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAubXktcmVzdWx0cyAuaW1hZ2VzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gIH1cbiAgLm15LXJlc3VsdHMgLmltYWdlcyA+IGltZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG59XG4ubXktcmVzdWx0cyAuaW1hZ2VzOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTU1cHg7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDI0NXB4O1xuICBoZWlnaHQ6IDIyNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcwNzA3O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0MCU7XG4gIHotaW5kZXg6IDA7XG59XG5cbi8qIEhhY2tzIGZvciB0aGlzIHByaW50IGRlc2lnbiB0aGF0J3MgdHJ5aW5nIGhhcmQgdG8gYmUgYSB3ZWJzaXRlICovXG4vKiB0aGlzIGlzIG5vdCBwcmV0dHkgLSBidXQgaXQgd29ya3MgLSBidXQgaXQncyBncm9zcyAqL1xuLmZlZWQtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uZmVlZC1zZWN0aW9uIC5oZWFkaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mZWVkLXNlY3Rpb24gLnBvc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktbWlkZGxlKTtcbiAgcGFkZGluZzogNDRweDtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuLmZlZWQtc2VjdGlvbiAuZmxleC1ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5mZWVkLXNlY3Rpb24gaW1nIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuLmZlZWQtc2VjdGlvbiAuYXV0aG9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmZlZWQtc2VjdGlvbiAuYXJ0aWNsZXMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDI1cHg7IC8qIEdhcCBiZXR3ZWVuIGNoaWxkIGVsZW1lbnRzICovXG4gIH1cbiAgLmZlZWQtc2VjdGlvbiAuYXJ0aWNsZXMgLnBvc3Qge1xuICAgIGZsZXg6IDE7IC8qIFRoaXMgd2lsbCBtYWtlIGVhY2ggcG9zdCB0YWtlIHVwIGVxdWFsIHdpZHRoICovXG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMnB4KTsgLyogU3VidHJhY3QgdGhlIDFweCBib3JkZXIgZnJvbSBlYWNoIHNpZGUgKi9cbiAgfVxufVxuXG5hLnJlYWQtbW9yZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5hLnJlYWQtbW9yZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIuKGklwiO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgcGFkZGluZy1sZWZ0OiAycHg7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm90dG9tOiAtM3B4O1xufVxuYS5yZWFkLW1vcmU6aG92ZXI6OmFmdGVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7XG59XG5cbi5mbGV4LWhhY2stcHVycG9zZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuZmxleC1oYWNrLXB1cnBvc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLmZsZXgtaGFjay1wdXJwb3NlID4gZGl2IHtcbiAgICBmbGV4OiAxO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJweCk7XG4gIH1cbn1cbi5mbGV4LWhhY2stcHVycG9zZSAucmlnaHQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5mbGV4LWhhY2stcHVycG9zZSAuY29uc3RyYW50IHtcbiAgbWFyZ2luOiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzNjVweDtcbn1cbi5mbGV4LWhhY2stcHVycG9zZSAubGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mbGV4LWhhY2stcHVycG9zZSAubGVmdCBoMywgLmZsZXgtaGFjay1wdXJwb3NlIC5sZWZ0IHNwYW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xufVxuLmZsZXgtaGFjay1wdXJwb3NlIC5sZWZ0IGgzIHtcbiAgZm9udC1zaXplOiA0ZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbn1cbi5mbGV4LWhhY2stcHVycG9zZSAubGVmdCBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogNDQwcHg7XG59XG4uZmxleC1oYWNrLXB1cnBvc2UgLmxlZnQgLnRleHQtYWx0IHtcbiAgZm9udC1zaXplOiAxLjIxMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzOGVtKSB7XG4gIC5mbGV4LWhhY2stcHVycG9zZSAubGVmdCAudGV4dC1hbHQge1xuICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gIH1cbn1cblxuLmZpeGVkaW1nIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtODBweDtcbiAgbWF4LXdpZHRoOiA1NjlweDtcbiAgei1pbmRleDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuZml4ZWRpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5yb3ctdG9ueS1jb250aW51ZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qKlxuICogQHNlY3Rpb24gVHlwb2dyYXBoeVxuICogU2V0cyBmb250IHN0eWxlcyBmb3IgZW50aXJlIHNpdGVcbiAqL1xuaHRtbCB7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1wcmltYXJ5KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiB2YXIoLS1ib2R5LW1heC13aWR0aCk7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAzOGVtKSB7XG4gIGJvZHkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjU7XG4gIH1cbn1cblxucCB7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNpbmcpO1xufVxuXG4vKipcbiAqIEh5cGVybGluayBzdHlsaW5nXG4gKi9cbmEge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bztcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuYTphY3RpdmUsIGE6Zm9jdXMsIGE6aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTtcbn1cblxuLmxpbmstYWNjZW50IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG4ubGluay1hY2NlbnQ6YWN0aXZlLCAubGluay1hY2NlbnQ6Zm9jdXMsIC5saW5rLWFjY2VudDpob3ZlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtZGFyayk7XG59XG5cbi5saW5rLW5vLXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5saW5rLW5vLXVuZGVybGluZTphY3RpdmUsIC5saW5rLW5vLXVuZGVybGluZTpmb2N1cywgLmxpbmstbm8tdW5kZXJsaW5lOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qKlxuICogTGlzdCBzdHlsaW5nXG4gKi9cbnVsLFxub2wge1xuICBtYXJnaW46IDAgMCB2YXIoLS1zcGFjaW5nKSAyZW07XG4gIHBhZGRpbmc6IDA7XG59XG5cbnVsIHVsLFxudWwgb2wsXG5vbCBvbCxcbm9sIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZGwsXG5kZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nKTtcbn1cblxuZHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBAYnVnZml4IFByZXZlbnQgd2Via2l0IGZyb20gcmVtb3ZpbmcgbGlzdCBzZW1hbnRpY3NcbiAqIDEuIEFkZCBhIG5vbi1icmVha2luZyBzcGFjZVxuICogMi4gTWFrZSBzdXJlIGl0IGRvZXNuJ3QgbWVzcyB1cCB0aGUgRE9NIGZsb3dcbiAqL1xuLmxpc3QtaW5saW5lLCAubmF2LCAubGlzdC1icmVhZGNydW1icywgLmxpc3Qtc3BsaXQsIC5saXN0LWljb25zLCAubGlzdC11bnN0eWxlZCwgLm5hdiBkZXRhaWxzIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4ubGlzdC1pbmxpbmUgPiBsaTo6YmVmb3JlLCAubmF2ID4gbGk6OmJlZm9yZSwgLmxpc3QtYnJlYWRjcnVtYnMgPiBsaTo6YmVmb3JlLCAubGlzdC1zcGxpdCA+IGxpOjpiZWZvcmUsIC5saXN0LWljb25zID4gbGk6OmJlZm9yZSwgLmxpc3QtdW5zdHlsZWQgPiBsaTo6YmVmb3JlLCAubmF2IGRldGFpbHMgdWwgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLigItcIjsgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmVzIGxpc3Qgc3R5bGluZy5cbiAqIEZvciBzZW1hbnRpYyByZWFzb25zLCBzaG91bGQgb25seSBiZSB1c2VkIG9uIHVub3JkZXJlZCBsaXN0cy5cbiAqL1xuLmxpc3QtdW5zdHlsZWQsIC5uYXYgZGV0YWlscyB1bCB7XG4gIG1hcmdpbi1sZWZ0OiAyZW07XG59XG5cbi5saXN0LWljb25zIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5saXN0LWl0ZW0taWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGNvbHVtbi1nYXA6IDFlbTtcbn1cbi5saXN0LWl0ZW0taWNvbiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy10b3A6IDAuMjVlbTtcbn1cblxuLyoqXG4gKiBEaXNwbGF5IGxpc3RzIG9uIGEgc2luZ2xlIGxpbmUuXG4gKi9cbi5saXN0LWlubGluZSwgLm5hdiwgLmxpc3QtYnJlYWRjcnVtYnMsIC5saXN0LXNwbGl0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgY29sdW1uLWdhcDogMWVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDM4ZW0pIHtcbiAgLmxpc3QtaW5saW5lLmxpc3QtaW5saW5lLXJlc3BvbnNpdmUsIC5saXN0LWlubGluZS1yZXNwb25zaXZlLm5hdiwgLmxpc3QtaW5saW5lLXJlc3BvbnNpdmUubGlzdC1icmVhZGNydW1icywgLmxpc3QtaW5saW5lLXJlc3BvbnNpdmUubGlzdC1zcGxpdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmxpc3QtaW5saW5lLXdyYXAsIC5saXN0LWJyZWFkY3J1bWJzIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ubGlzdC1pbmxpbmUtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5saXN0LWlubGluZS1yaWdodC1sYXJnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gIH1cbn1cbi5saXN0LWlubGluZS1zcGFjZWQsIC5uYXYge1xuICBjb2x1bW4tZ2FwOiAyZW07XG59XG5cbi5saXN0LWlubGluZS1kaXZpZGVkID4gbGk6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1ZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogMzhlbSkge1xuICAubGlzdC1pbmxpbmUtZGl2aWRlZC5saXN0LWlubGluZS1yZXNwb25zaXZlID4gbGkge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4ubGlzdC1zcGxpdCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmxpc3QtYnJlYWRjcnVtYnMge1xuICBjb2x1bW4tZ2FwOiAwO1xuICBtYXJnaW4tbGVmdDogMmVtO1xuICBwYWRkaW5nLXRvcDogMWVtO1xufVxuLmxpc3QtYnJlYWRjcnVtYnMgPiBsaSB7XG4gIGZvbnQtc2l6ZTogMC44MTI1ZW07XG59XG4ubGlzdC1icmVhZGNydW1icyA+IGxpID4gYSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubGlzdC1icmVhZGNydW1icyA+IGxpID4gYVthcmlhLWN1cnJlbnQ9cGFnZV0ge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuLmxpc3QtYnJlYWRjcnVtYnMgPiBsaSA+IGE6YWN0aXZlLCAubGlzdC1icmVhZGNydW1icyA+IGxpID4gYTpob3ZlciwgLmxpc3QtYnJlYWRjcnVtYnMgPiBsaSA+IGE6Zm9jdXMge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuLmxpc3QtYnJlYWRjcnVtYnMgPiBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiPlwiO1xuICBtYXJnaW4tbGVmdDogMC4yNWVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiAzOGVtKSB7XG4gIC5saXN0LWJyZWFkY3J1bWJzIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4ubGlzdC1zcGFjZWQgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5saXN0LXNwYWNlZC1sYXJnZSBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEuMmVtO1xufVxuXG4vKipcbiAqIEhlYWRpbmcgc3R5bGluZyBmb3IgaDEgdGhyb3VnaCBoNiBlbGVtZW50cy5cbiAqIEhlYWRpbmcgY2xhc3MgbGV0cyB5b3UgdXNlIG9uZSBoZWFkaW5nIHR5cGUgZm9yIHNlbWFudGljcywgYnV0IHN0eWxlIGl0IGFzIGFub3RoZXIgaGVhZGluZyB0eXBlLlxuICovXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwIDAgMWVtO1xuICBwYWRkaW5nOiAxZW0gMCAwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbmgxLFxuLmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIHBhZGRpbmctdG9wOiAwLjVlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIGgxLFxuICAuaDEge1xuICAgIGZvbnQtc2l6ZTogMi43NWVtO1xuICB9XG59XG5cbi5oMS1oZXJvIHtcbiAgZm9udC1zaXplOiAyLjVlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5oMS1oZXJvIHtcbiAgICBmb250LXNpemU6IDMuNWVtO1xuICB9XG59XG5cbmgyLFxuLmgyIHtcbiAgZm9udC1zaXplOiAxLjc1ZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICBoMixcbiAgLmgyIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgfVxufVxuXG5oMyxcbi5oMyB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTBlbSkge1xuICBoMyxcbiAgLmgzIHtcbiAgICBmb250LXNpemU6IDEuN2VtO1xuICB9XG59XG5cbmg0LCBoNSwgaDYsXG4uaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbmg0LFxuLmg0IHtcbiAgZm9udC1zaXplOiAwLjgxMjVlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLyoqXG4gKiBMaW5lcywgUXVvdGVzIGFuZCBFbXBoYXNpc1xuICovXG4uc21hbGwge1xuICBmb250LXNpemU6IDAuNjI1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5jdXN0b20taDIge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLyoqXG4gKiBMaW5lc1xuICovXG5ociB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWhyLWxpbmUpO1xuICBtYXJnaW46IDJlbSBhdXRvO1xufVxuXG4ubGluZS1hY2NlbnQtY29sb3Ige1xuICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4ubGluZS1kYXJrIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS1kYXJrKTtcbn1cblxuLmxpbmUtYWNjZW50IHtcbiAgYm9yZGVyLXRvcDogMC4yNWVtIHNvbGlkIHZhcigtLWNvbG9yLWFjY2VudCk7XG4gIHdpZHRoOiA0ZW07XG4gIG1hcmdpbjogMS41ZW0gYXV0bztcbn1cblxuLmxpbmUtYWNjZW50LWxlZnQge1xuICBtYXJnaW46IDEuNWVtIGF1dG8gMS41ZW0gMDtcbn1cblxuLmxpbmUtYWNjZW50LWZ1bGwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmxpbmUtYWNjZW50LXByaW1hcnkge1xuICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbn1cblxuLmxpbmUtYWNjZW50LWxpZ2h0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodGVzdCk7XG59XG5cbi5saW5lLWNvbXBhY3Qge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5cbi5saW5lLW92ZXJsYXkge1xuICBtYXJnaW4tdG9wOiAtMi44ZW07XG59XG4ubGluZS1vdmVybGF5ID4gKiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDAuMjVlbTtcbn1cblxuLyoqXG4gKiBVc2UgYSBsaWdodGVyIHllbGxvdyBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5XG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qKlxuICogQmxvY2txdW90ZXNcbiAqL1xuYmxvY2txdW90ZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbiAgZm9udC1zaXplOiAxLjM1ZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbjogMCAwIHZhcigtLXNwYWNpbmcpO1xuICBwYWRkaW5nLWxlZnQ6IDAuODEyNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjgxMjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5jaXRlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjYyNWVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIHBhZGRpbmctdG9wOiAwLjVlbTtcbn1cblxuLmNvbG9yLWFjY2VudCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4uY29sb3ItYWNjZW50LWRhcmsge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50LWRhcmspO1xufVxuXG4uY29sb3ItcHJpbWFyeSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLmNvbG9yLXByaW1hcnktZGFyayB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspO1xufVxuXG4uY29sb3ItcHJpbWFyeS1saWdodCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbn1cblxuLnRleHQtYmctZGFyayB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4udGV4dC1iZy1kYXJrIGEge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4vKipcbiAqIEBzZWN0aW9uIENvZGVcbiAqIFN0eWxpbmcgZm9yIGNvZGUgYW5kIHByZWZvcm1hdHRlZCB0ZXh0LlxuICovXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm9zcGFjZSk7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbn1cblxuY29kZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1jb2RlKTtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG5wcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LWxpZ2h0ZXIpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZyk7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBwYWRkaW5nOiAwLjgxMjVlbTtcbiAgdGFiLXNpemU6IDQ7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xufVxucHJlIGNvZGUge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qKlxuICogQHNlY3Rpb24gQnV0dG9uc1xuICogU3R5bGluZyBmb3IgQ1NTIGJ1dHRvbnMuXG4gKi9cbi8qKlxuICogUHJpbWFyeSBidXR0b25zXG4gKi9cbi5idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICBib3JkZXItcmFkaXVzOiAyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1yaWdodDogMC4zMTI1ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNWVtO1xuICBwYWRkaW5nOiAxLjIxMjVlbSAzLjNlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuLmJ0biwgLmJ0bjphY3RpdmUsIC5idG46Zm9jdXMsIC5idG46aG92ZXIsIC5idG46dmlzaXRlZCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4uYnRuOmhvdmVyLCAuYnRuOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC1kYXJrKTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtZGFyayk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyoqXG4gKiBTZWNvbmRhcnkgYnV0dG9uc1xuICovXG4uYnRuLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xufVxuLmJ0bi1zZWNvbmRhcnk6aG92ZXIsIC5idG4tc2Vjb25kYXJ5OmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4vKipcbiAqIEFjY2VudCBidXR0b25zXG4gKi9cbi5idG4tdGVydGlhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG59XG4uYnRuLXRlcnRpYXJ5LCAuYnRuLXRlcnRpYXJ5OmFjdGl2ZSwgLmJ0bi10ZXJ0aWFyeTpmb2N1cywgLmJ0bi10ZXJ0aWFyeTpob3ZlciwgLmJ0bi10ZXJ0aWFyeTp2aXNpdGVkIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xufVxuLmJ0bi10ZXJ0aWFyeTpob3ZlciwgLmJ0bi10ZXJ0aWFyeTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbn1cblxuLyoqXG4gKiBCdXR0b24gc3R5bGVkIGxpa2UgYSBsaW5rXG4gKi9cbi5idG4tbGluayB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG4uYnRuLWxpbmssIC5idG4tbGluazpmb2N1cywgLmJ0bi1saW5rOnZpc2l0ZWQge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5idG4tbGluazpob3ZlciwgLmJ0bi1saW5rOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWN0aXZlIHN0YXRlXG4gKi9cbi5idG46YWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwLjE1NjI1ZW0gMC4yNWVtIHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMXB4IDAuMTU2MjVlbSByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKipcbiAqIERpc2FibGVkIHN0YXRlXG4gKi9cbi5idG5bZGlzYWJsZWRdIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC41O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyoqXG4gKiBCdXR0b24gc2l6ZVxuICovXG4uYnRuLWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmJ0bi1zbWFsbCB7XG4gIHBhZGRpbmc6IDAuNWVtIDJlbTtcbn1cblxuLmJ0bi13aWRlIHtcbiAgcGFkZGluZy1sZWZ0OiA3ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDdlbTtcbn1cblxuLmJ0bi1uYXJyb3cge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xufVxuXG4uYnRuLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcGFkZGluZzogMC40NWVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBoZWlnaHQ6IDJlbTtcbiAgd2lkdGg6IDJlbTtcbn1cblxuLyoqXG4gKiBCbG9jay1sZXZlbCBidXR0b25zXG4gKi9cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIEdlbmVyYWwgc3R5bGVzXG4gKi9cbi5idG4sXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9YnV0dG9uXSxcbmlucHV0W3R5cGU9cmVzZXRdLFxuaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHJpZ2h0IG1hcmdpbiBvbiBsYXN0IGVsZW1lbnQgYW5kIGlucHV0c1xuICovXG4uYnRuOmxhc3QtY2hpbGQsXG5pbnB1dC5idG4ge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi8qKlxuICogQHNlY3Rpb24gRm9ybXNcbiAqIFN0eWxpbmcgZm9yIGZvcm0gZWxlbWVudHMuXG4gKi9cbmZvcm0sXG5maWVsZHNldCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmcpO1xufVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxubGVnZW5kLFxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjkzNzVlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheS1kYXJrZXIpOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG4gIHBhZGRpbmc6IDAuMzEyNWVtO1xufVxuXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS1saWdodGVyKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzhlbSkge1xuICBpbnB1dCxcbiAgdGV4dGFyZWEsXG4gIHNlbGVjdCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTYyNTtcbiAgfVxufVxuXG5pbnB1dCB7XG4gIGJvcmRlci1yYWRpdXM6IDJlbTtcbn1cbmlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpO1xufVxuXG5mb3JtLm5vLXJhZGl1cyBpbnB1dCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbmZvcm0gYnV0dG9uOm5vdCguYnRuLXNlYXJjaCksXG5mb3JtIC5idG46bm90KC5idG4tc2VhcmNoKSB7XG4gIG1hcmdpbi1ib3R0b206IDEuMTg3NWVtO1xufVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogOGVtO1xuICBvdmVyZmxvdzogYXV0bztcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpO1xufVxuXG5bdHlwZT1pbWFnZV0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVlbTtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbmlucHV0OmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYmEoODIsIDE2OCwgMjM2LCAwLjgpO1xufVxuXG4vKipcbiAqIElubGluZSBpbnB1dHNcbiAqL1xuLmlucHV0LWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8qKlxuICogQ29uZGVuc2VkIGlucHV0c1xuICovXG4uaW5wdXQtY29uZGVuc2VkIHtcbiAgcGFkZGluZzogMXB4IDAuMzEyNWVtO1xuICBmb250LXNpemU6IDAuOTM3NWVtO1xufVxuXG4vKipcbiAqIExhcmdlIGlucHV0c1xuICovXG4uaW5wdXQtbGFyZ2Uge1xuICBwYWRkaW5nOiAxLjVlbSAzZW07XG59XG5cbi8qKlxuICogU2VhcmNoXG4gKi9cbi8qKlxuICogQ3JlYXRlIHJvdW5kZWQgc2VhcmNoIGJhclxuICovXG4uaW5wdXQtc2VhcmNoIHtcbiAgd2lkdGg6IDg1JTtcbiAgcGFkZGluZy1sZWZ0OiAyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDJlbTtcbiAgYm9yZGVyLXJhZGl1czogM2VtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM4ZW0pIHtcbiAgLmlucHV0LXNlYXJjaCB7XG4gICAgcGFkZGluZy1yaWdodDogMTRlbTtcbiAgfVxufVxuXG4vKipcbiAqIFNwZWNpYWwgc3R5bGluZyBmb3Igc2VhcmNoIGljb24gYXMgYnV0dG9uXG4gKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzOGVtKSB7XG4gIC5idG4tc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMi4zNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICB9XG59XG4vKiBMb2dpbiAqL1xuLmxvZ2luLWl0ZW0ge1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5sb2dpbi1pdGVtIGlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mb3JtLWJnKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZm9ybS1iZyk7XG4gIGhlaWdodDogNGVtO1xuICBwYWRkaW5nLWxlZnQ6IDRlbTtcbiAgYm9yZGVyLXJhZGl1czogNWVtO1xufVxuLmxvZ2luLWl0ZW0gaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ubG9naW4taXRlbSBpIHtcbiAgc3BlYWs6IG5ldmVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogNGVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDQycHg7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmxvZ2luLWl0ZW0gaS5pY29uLXBhc3N3b3JkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIGlkPVwiQ2FwYV8xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzI4LjkgNDM4LjUzXCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtzdHJva2Utd2lkdGg6MHB4O308L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz1cImNscy0xXCIgZD1cIm0zMjAuOSwyMjcuMjZjLTUuMzMtNS4zMy0xMS44LTcuOTktMTkuNDItNy45OUg5MS4zNnYtOTEuMzZjMC0yMC4xOCw3LjE0LTM3LjQsMjEuNDItNTEuNjgsMTQuMjgtMTQuMjcsMzEuNS0yMS40MSw1MS42OC0yMS40MXMzNy40LDcuMTQsNTEuNjcsMjEuNDFjMTQuMjgsMTQuMjgsMjEuNDIsMzEuNSwyMS40Miw1MS42OCwwLDQuOTUsMS44MSw5LjIzLDUuNDIsMTIuODUsMy42MiwzLjYyLDcuOSw1LjQzLDEyLjg1LDUuNDNoMTguMjhjNC45NSwwLDkuMjMtMS44MSwxMi44NS01LjQzLDMuNjEtMy42Miw1LjQyLTcuOSw1LjQyLTEyLjg1LDAtMzUuMjItMTIuNTItNjUuMzMtMzcuNTQtOTAuMzZDMjI5Ljc4LDEyLjUxLDE5OS42NiwwLDE2NC40NSwwcy02NS4zMywxMi41MS05MC4zNywzNy41NGMtMjUuMDMsMjUuMDMtMzcuNTQsNTUuMTUtMzcuNTQsOTAuMzZ2OTEuMzZoLTkuMTRjLTcuNjEsMC0xNC4wOCwyLjY3LTE5LjQxLDcuOTlzLTcuOTksMTEuOC03Ljk5LDE5LjQxdjE2NC40NWMwLDcuNjIsMi42NywxNC4wOSw3Ljk5LDE5LjQyLDUuMzMsNS4zMywxMS44LDcuOTksMTkuNDEsNy45OWgyNzQuMDhjNy42MiwwLDE0LjA5LTIuNjcsMTkuNDItNy45OSw1LjMzLTUuMzMsNy45OS0xMS44LDcuOTktMTkuNDJ2LTE2NC40NWMwLTcuNjEtMi42Ni0xNC4wOC03Ljk5LTE5LjQxWlwiLz48L3N2Zz4nKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMnB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGZpbGw6IHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCk7XG59XG4ubG9naW4taXRlbSBpLmljb24tdXNlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyBpZD1cIkxheWVyXzFcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA0MjcuMTYgNTEyXCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtzdHJva2Utd2lkdGg6MHB4O308L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz1cImNscy0xXCIgZD1cIm0yMTAuMzUsMjQ2LjYzYzMzLjg4LDAsNjMuMjItMTIuMTUsODcuMi0zNi4xMywyMy45Ny0yMy45NywzNi4xMi01My4zLDM2LjEyLTg3LjE5cy0xMi4xNS02My4yMS0zNi4xMy04Ny4xOUMyNzMuNTcsMTIuMTUsMjQ0LjIzLDAsMjEwLjM1LDBzLTYzLjIyLDEyLjE1LTg3LjE5LDM2LjEyLTM2LjEzLDUzLjMxLTM2LjEzLDg3LjE5LDEyLjE2LDYzLjIyLDM2LjEzLDg3LjJjMjMuOTgsMjMuOTcsNTMuMzEsMzYuMTIsODcuMTksMzYuMTJaXCIvPjxwYXRoIGNsYXNzPVwiY2xzLTFcIiBkPVwibTQyNi4xMywzOTMuN2MtLjY5LTkuOTgtMi4wOS0yMC44Ni00LjE1LTMyLjM1LTIuMDgtMTEuNTgtNC43NS0yMi41Mi03Ljk2LTMyLjUzLTMuMzEtMTAuMzQtNy44MS0yMC41NS0xMy4zNy0zMC4zNC01Ljc3LTEwLjE2LTEyLjU1LTE5LTIwLjE2LTI2LjI4LTcuOTYtNy42MS0xNy43LTEzLjczLTI4Ljk2LTE4LjItMTEuMjMtNC40NC0yMy42Ny02LjY5LTM2Ljk4LTYuNjktNS4yMywwLTEwLjI4LDIuMTQtMjAuMDQsOC41LTYuMDEsMy45Mi0xMy4wNCw4LjQ1LTIwLjg4LDEzLjQ2LTYuNzEsNC4yNy0xNS43OSw4LjI4LTI3LjAyLDExLjktMTAuOTUsMy41NC0yMi4wNyw1LjM0LTMzLjA0LDUuMzRzLTIyLjA5LTEuOC0zMy4wNS01LjM0Yy0xMS4yMS0zLjYyLTIwLjMtNy42Mi0yNy0xMS45LTcuNzctNC45Ni0xNC44LTkuNS0yMC45LTEzLjQ3LTkuNzUtNi4zNi0xNC44MS04LjUtMjAuMDQtOC41LTEzLjMxLDAtMjUuNzUsMi4yNS0zNi45Nyw2LjctMTEuMjYsNC40Ni0yMSwxMC41OC0yOC45NywxOC4yLTcuNjEsNy4yOC0xNC4zOSwxNi4xMi0yMC4xNiwyNi4yNy01LjU2LDkuNzktMTAuMDYsMTkuOTktMTMuMzcsMzAuMzQtMy4yLDEwLTUuODgsMjAuOTUtNy45NSwzMi41Mi0yLjA2LDExLjQ4LTMuNDYsMjIuMzYtNC4xNSwzMi4zNi0uNjgsOS44LTEuMDIsMTkuOTYtMS4wMiwzMC4yMywwLDI2LjczLDguNSw0OC4zNiwyNS4yNSw2NC4zMiwxNi41NSwxNS43NSwzOC40NCwyMy43Myw2NS4wNywyMy43M2gyNDYuNTNjMjYuNjIsMCw0OC41MS03Ljk4LDY1LjA2LTIzLjczLDE2Ljc2LTE1Ljk1LDI1LjI1LTM3LjU5LDI1LjI1LTY0LjMyLDAtMTAuMzItLjM1LTIwLjQ5LTEuMDQtMzAuMjRaXCIvPjwvc3ZnPicpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEycHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgZmlsbDogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0KTtcbn1cblxuLnJlbWVtYmVyIHtcbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4ucmVtZW1iZXIgW3R5cGU9Y2hlY2tib3hdIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLyoqXG4gKiBAc2VjdGlvbiBUYWJsZXNcbiAqIFN0eWxpbmcgZm9yIHRhYmxlc1xuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxudGgsXG50ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmc6IDAuNWVtO1xufVxuXG50aCB7XG4gIGJvcmRlci1ib3R0b206IDAuMTI1ZW0gc29saWQgdmFyKC0tY29sb3ItZ3JheS1saWdodCk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG50ZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5LWxpZ2h0KTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyoqXG4gKiBBZGRzIHplYnJhIHN0cmlwaW5nXG4gKi9cbi50YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS1saWdodGVyKTtcbn1cblxuLyoqXG4gKiBSZWR1Y2VzIHBhZGRpbmcgb24gY29uZGVuc2VkIHRhYmxlc1xuICovXG4udGFibGUtY29uZGVuc2VkIHRoLFxuLnRhYmxlLWNvbmRlbnNlZCB0ZCB7XG4gIHBhZGRpbmc6IDAuMjVlbTtcbn1cblxuLyoqXG4gKiBAU2VjdGlvbiBJbWFnZXNcbiAqIEltYWdlIHN0eWxpbmdcbiAqL1xuLyoqXG4gKiBBZGRzIGEgNTAlIGJvcmRlciByYWRpdXMsIHR1cm5pbmcgc3F1YXJlIGltYWdlcyBpbnRvIGEgY2lyY2xlLlxuICovXG4uaW1nLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLyoqXG4gKiBJbWFnZSBhbGlnbm1lbnRcbiAqL1xuLmltZy1sZWZ0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbn1cblxuLyoqXG4gKiBIYXZlIGFuIGlubGluZSBpbWFnZSBjb3ZlciBpdHMgY29udGFpbmVyXG4gKi9cbi5pbWctY292ZXIge1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLyoqXG4gKiBAc2VjdGlvbiBDYXJkc1xuICogVUkgZm9yIGNhcmQgZWxlbWVudHNcbiAqL1xuLmNhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcmQtbXV0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcbn1cblxuLmNhcmQtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uY2FyZC1wcmltYXJ5LWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uY2FyZC1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1yb3ctZ2FwOiAxZW07XG59XG4uY2FyZC1ncmlkIC5jYXJkLXRleHQge1xuICBncmlkLWFyZWE6IDEvMS8yLzI7XG59XG4uY2FyZC1ncmlkIC5jYXJkLWltZyB7XG4gIGdyaWQtYXJlYTogMi8xLzMvMjtcbn1cblxuLmNhcmQtbnVtYmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAyLjVlbTtcbiAgd2lkdGg6IDIuNWVtO1xuICBwYWRkaW5nOiAwLjVlbTtcbiAgZm9udC1zaXplOiAyZW07XG4gIHRvcDogLTAuNzVlbTtcbiAgbGVmdDogMC43NWVtO1xufVxuXG4vKipcbiAqIEBzZWN0aW9uIEFjY29yZGlvbiBFbGVtZW50c1xuICovXG4vKipcbiAqIFN0eWxlIHRoZSBoZWFkZXJzIHRvIGxvb2sgZGlmZmVyZW50bHlcbiAqL1xuW2RhdGEtYWNjb3JkaW9uXSB7XG4gIGZvbnQtc2l6ZTogMS4xODc1ZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuLyoqXG4gKiBTdHlsZSB0aGUgYWNjb3JkaW9uIGJ1dHRvbnMgdG8gbG9vayBsaWtlIGhlYWRlcnNcbiAqL1xuW2RhdGEtYWNjb3JkaW9uXSA+IGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLyoqXG4gKiBTaG93IGV4cGFuZC9jb2xsYXBzZSBpY29uc1xuICovXG5bZGF0YS1hY2NvcmRpb25dID4gYnV0dG9uW2FyaWEtZXhwYW5kZWRdOjphZnRlciB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICBmb250LXNpemU6IDJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG5bZGF0YS1hY2NvcmRpb25dID4gYnV0dG9uW2FyaWEtZXhwYW5kZWQ9dHJ1ZV06OmFmdGVyIHtcbiAgY29udGVudDogXCIg4oCTXCI7XG59XG5cbltkYXRhLWFjY29yZGlvbl0gPiBidXR0b25bYXJpYS1leHBhbmRlZD1mYWxzZV06OmFmdGVyIHtcbiAgY29udGVudDogXCIgK1wiO1xufVxuXG4vKipcbiAqIEBzZWN0aW9uIEJsb2dcbiAqIFN0eWxpbmcgb3ZlcnJpZGVzIGZvciB0aGUgYmxvZyBwYWdlXG4gKi9cbi5wYWdlLWJsb2ctY29udGVudCA+IGgyIHtcbiAgZm9udC1zaXplOiAxLjM1ZW07XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4vKiBibG9nIHNoYWRvdyAqL1xuLmJsb2ctY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYmxvZy1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAzNTBweDtcbiAgdG9wOiA4ZW07XG4gIHotaW5kZXg6IC0xO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWRmMWYyLCB0cmFuc3BhcmVudCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmJsb2ctc2hhZG93OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4vKiBTb2NpYWwgTWVkaWEgU2hhcmUgQnV0dG9ucyAqL1xuLnNvY2lhbC1zaGFyZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnNvY2lhbC1zaGFyZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG4uc29jaWFsLXNoYXJlciBhLCAuc29jaWFsLXNoYXJlciBidXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICAvKiBIaWRlIHRoZSB0ZXh0LiAqL1xuICB0ZXh0LWluZGVudDogLTk5OTk5OXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQtc2l6ZTogMjhweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbn1cbi5zb2NpYWwtc2hhcmVyIGE6aG92ZXIsIC5zb2NpYWwtc2hhcmVyIGJ1dHRvbjpob3ZlciB7XG4gIG9wYWNpdHk6IDAuOTtcbn1cbi5zb2NpYWwtc2hhcmVyIC5mYWNlYm9vay1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I1OTk4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZHBaSFJvUFNJMU1USWlJR2hsYVdkb2REMGlOVEV5SWlCNFBTSXdJaUI1UFNJd0lpQjJhV1YzUW05NFBTSXdJREFnTlRFeUlEVXhNaUlnYzNSNWJHVTlJbVZ1WVdKc1pTMWlZV05yWjNKdmRXNWtPbTVsZHlBd0lEQWdOVEV5SURVeE1pSWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0lnWTJ4aGMzTTlJaUkrUEdjK1BIQmhkR2dnWkQwaVRUVXhNaUF5TlRaRE5URXlJREV4TkM0MklETTVOeTQwSURBZ01qVTJJREJUTUNBeE1UUXVOaUF3SURJMU5uTXhNVFF1TmlBeU5UWWdNalUySURJMU5tTXhMalVnTUNBeklEQWdOQzQxTFM0eFZqTXhNaTQzYUMwMU5YWXROalF1TVdnMU5YWXRORGN1TW1Nd0xUVTBMamNnTXpNdU5DMDROQzQxSURneUxqSXRPRFF1TlNBeU15NDBJREFnTkRNdU5TQXhMamNnTkRrdU15QXlMalYyTlRjdU1tZ3RNek11Tm1NdE1qWXVOU0F3TFRNeExqY2dNVEl1Tmkwek1TNDNJRE14TGpGMk5EQXVPR2cyTXk0MWJDMDRMak1nTmpRdU1XZ3ROVFV1TW5ZeE9Ea3VOVU0wTXpNdU55QTBOekV1TkNBMU1USWdNemN5TGprZ05URXlJREkxTm5vaUlHWnBiR3c5SWlObVptWm1abVlpSUc5d1lXTnBkSGs5SWpFaUlHUmhkR0V0YjNKcFoybHVZV3c5SWlNd01EQXdNREFpSUdOc1lYTnpQU0lpUGp3dmNHRjBhRDQ4TDJjK1BDOXpkbWMrKTtcbn1cbi5zb2NpYWwtc2hhcmVyIC50d2l0dGVyLWJ0biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhkcFpIUm9QU0kxTVRJaUlHaGxhV2RvZEQwaU5URXlJaUI0UFNJd0lpQjVQU0l3SWlCMmFXVjNRbTk0UFNJd0lEQWdNVEl5Tmk0ek55QXhNakkyTGpNM0lpQnpkSGxzWlQwaVpXNWhZbXhsTFdKaFkydG5jbTkxYm1RNmJtVjNJREFnTUNBMU1USWdOVEV5SWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElqNDhaejQ4Y0dGMGFDQmtQU0pOTnpJM0xqTTBPQ0ExTVRrdU1qZzBJREV4TnpRdU1EYzFJREJvTFRFd05TNDROa3cyT0RBdU16SXlJRFExTUM0NE9EY2dNemN3TGpVeE15QXdTREV6TGpFNE5XdzBOamd1TkRreUlEWTRNUzQ0TWpGTU1UTXVNVGcxSURFeU1qWXVNemRvTVRBMUxqZzJObXcwTURrdU5qSTFMVFEzTmk0eE5USWdNekkzTGpFNE1TQTBOell1TVRVeWFETTFOeTR6TWpoTU56STNMak15TWlBMU1Ua3VNamcwZWswMU9ESXVNelVnTmpnM0xqZ3lPR3d0TkRjdU5EWTRMVFkzTGpnNU5DMHpOemN1TmpnMkxUVTBNQzR5TkVnek1Ua3VPR3d6TURRdU56azNJRFF6TlM0NU9URWdORGN1TkRZNElEWTNMamc1TkNBek9UWXVNaUExTmpZdU56SXhTRGt3TlM0Mk5qRk1OVGd5TGpNMUlEWTROeTQ0TlRSNklpQm1hV3hzUFNJalptWm1abVptSWlCdmNHRmphWFI1UFNJeElpQmtZWFJoTFc5eWFXZHBibUZzUFNJak1EQXdNREF3SWo0OEwzQmhkR2crUEM5blBqd3ZjM1puUGc9PSk7XG59XG4uc29jaWFsLXNoYXJlciAucGludGVyZXN0LWJ0biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNCRDA4MUM7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhkcFpIUm9QU0kxTVRJaUlHaGxhV2RvZEQwaU5URXlJaUI0UFNJd0lpQjVQU0l3SWlCMmFXVjNRbTk0UFNJd0lEQWdOVEV4TGprM055QTFNVEV1T1RjM0lpQnpkSGxzWlQwaVpXNWhZbXhsTFdKaFkydG5jbTkxYm1RNmJtVjNJREFnTUNBMU1USWdOVEV5SWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElpQmpiR0Z6Y3owaUlqNDhaejQ4Y0dGMGFDQmtQU0pOTWpZeUxqazBPQ0F3UXpFeU1pNDJNamdnTUNBME9DNHdNRFFnT0RrdU9USWdORGd1TURBMElERTROeTQ1Tmpoak1DQTBOUzQwTnpJZ01qVXVOREE0SURFd01pNHhOellnTmpZdU1EZ2dNVEl3TGpFMklEWXVNVGMySURJdU56ZzBJRGt1TlRNMklERXVOaUF4TUM0NU1USXROQzR4TWpnZ01TNHlNVFl0TkM0ek5USWdOaTQxTmkweU5TNHpNVElnT1M0eE5USXRNelV1TWk0NExUTXVNVFk0TGpNNE5DMDFMamt5TFRJdU1UYzJMVGd1T0RrMkxURXpMalV3TkMweE5TNDJNVFl0TWpRdU1qSTBMVFEwTGpBMk5DMHlOQzR5TWpRdE56QXVOelV5SURBdE5qZ3VNemcwSURVMExqTTJPQzB4TXpRdU56ZzBJREUwTmk0NE9DMHhNelF1TnpnMElEZ3dJREFnTVRNMUxqazJPQ0ExTVM0NU5qZ2dNVE0xTGprMk9DQXhNall1TXpBMElEQWdPRFF0TkRRdU5EUTRJREUwTWk0eE1USXRNVEF5TGpJd09DQXhOREl1TVRFeUxUTXhMamsyT0NBd0xUVTFMamMzTmkweU5TNHdPRGd0TkRndU1qSTBMVFUyTGpFeU9DQTVMakV5TFRNMkxqazJJREkzTGpBd09DMDNOaTQzTURRZ01qY3VNREE0TFRFd015NHpOaUF3TFRJekxqa3dOQzB4TXk0MU1EUXRORE11TmpndE5ERXVNRGc0TFRRekxqWTRMVE15TGpVME5DQXdMVFU0TGprME5DQXpNaTR5TWpRdE5UZ3VPVFEwSURjMUxqUTRPQ0F3SURJM0xqUTRPQ0E1TGpjeU9DQTBOaTR3TkRnZ09TNDNNamdnTkRZdU1EUTRVekUwTkM0Mk56WWdNemN4TGpJZ01UTTRMalk1TWlBek9UVXVORGc0WXkweE1DNHhNVElnTkRFdU1USWdNUzR6TnpZZ01UQTNMamN4TWlBeUxqTTJPQ0F4TVRNdU5EUXVOakE0SURNdU1UWTRJRFF1TVRZZ05DNHhOaUEyTGpFME5DQXhMalUyT0NBekxqRTJPQzAwTGpFMklEUXlMakE0TFRVNUxqWTRJRFV5TGprNU1pMDVPUzQ0TURnZ015NDVOamd0TVRRdU5qSTBJREl3TGpJMU5pMDNNeTQ1TWlBeU1DNHlOVFl0TnpNdU9USWdNVEF1TnpJZ01Ua3VNellnTkRFdU5qWTBJRE0xTGpVNE5DQTNOQzQyTWpRZ016VXVOVGcwSURrNExqQTBPQ0F3SURFMk9DNDRPVFl0T0RZdU1UYzJJREUyT0M0NE9UWXRNVGt6TGpFeVF6UTJNeTQyTWlBM05pNDNNRFFnTXpjMUxqZzNOaUF3SURJMk1pNDVORGdnTUhvaUlHWnBiR3c5SWlObVptWm1abVlpSUc5d1lXTnBkSGs5SWpFaUlHUmhkR0V0YjNKcFoybHVZV3c5SWlNd01EQXdNREFpSUdOc1lYTnpQU0lpUGp3dmNHRjBhRDQ4TDJjK1BDOXpkbWMrKTtcbn1cbi5zb2NpYWwtc2hhcmVyIC5wcmludC1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZHBaSFJvUFNJMU1USWlJR2hsYVdkb2REMGlOVEV5SWlCNFBTSXdJaUI1UFNJd0lpQjJhV1YzUW05NFBTSXdJREFnTlRFeUlEVXhNaUlnYzNSNWJHVTlJbVZ1WVdKc1pTMWlZV05yWjNKdmRXNWtPbTVsZHlBd0lEQWdOVEV5SURVeE1pSWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0lnWTJ4aGMzTTlJaUkrUEdjK1BIQmhkR2dnWkQwaVRUUTNNaTR4TnpnZ01UTXpMamt3TjJndE5UUXVNekF6VmpNMUxqRXpNbU13TFRrdU5ESTFMVGN1TmpReExURTNMakEyTnkweE55NHdOamN0TVRjdU1EWTNTREV4TVM0eE9USmpMVGt1TkRJMUlEQXRNVGN1TURZM0lEY3VOalF4TFRFM0xqQTJOeUF4Tnk0d05qZDJPVGd1TnpjMVNETTVMamd5TWtNeE55NDROalFnTVRNekxqa3dOeUF3SURFMU1TNDNOeklnTUNBeE56TXVOek4yTVRjeExqY3dNbU13SURJeExqazFPQ0F4Tnk0NE5qUWdNemt1T0RJeUlETTVMamd5TWlBek9TNDRNakpvTlRRdU16QTJkamt4TGpZeE5HTXdJRGt1TkRJMUlEY3VOalF4SURFM0xqQTJOeUF4Tnk0d05qY2dNVGN1TURZM2FESTRPUzQyTVdNNUxqUXlOU0F3SURFM0xqQTJOeTAzTGpZME1TQXhOeTR3TmpjdE1UY3VNRFkzZGkwNU1TNDJNVFJvTlRRdU16QTJZekl4TGprMU9DQXdJRE01TGpneU1pMHhOeTQ0TmpRZ016a3VPREl5TFRNNUxqZ3lNbFl4TnpNdU56TmpNQzB5TVM0NU5UY3RNVGN1T0RZMExUTTVMamd5TXkwek9TNDRNakl0TXprdU9ESXplbTB0TXpRekxqa3lMVGd4TGpjd09HZ3lOVFV1TkRnemRqZ3hMamN3T0VneE1qZ3VNalU0VmpVeUxqRTVPWHB0TWpVMUxqUTRJRFF3Tnk0Mk1ESklNVEk0TGpJMk1sWXpNakF1TVRjemFESTFOUzQwTnpkc0xTNHdNREVnTVRNNUxqWXlPSHB0T1RRdU1USTVMVEV4TkM0ek5qaGhOUzQyT1RVZ05TNDJPVFVnTUNBd0lERXROUzQyT0RrZ05TNDJPRGxvTFRVMExqTXdObll0TkRndU1ERTBZekF0T1M0ME1qVXROeTQyTkRFdE1UY3VNRFkzTFRFM0xqQTJOeTB4Tnk0d05qZG9MVEk0T1M0Mk1XTXRPUzQwTWpVZ01DMHhOeTR3TmpjZ055NDJOREV0TVRjdU1EWTNJREUzTGpBMk4zWTBPQzR3TVRSSU16a3VPREl5WVRVdU5qazFJRFV1TmprMUlEQWdNQ0F4TFRVdU5qZzVMVFV1TmpnNVZqRTNNeTQzTXpGaE5TNDJPVFVnTlM0Mk9UVWdNQ0F3SURFZ05TNDJPRGt0TlM0Mk9EbG9ORE15TGpNMU5tRTFMalk1TlNBMUxqWTVOU0F3SURBZ01TQTFMalk0T1NBMUxqWTRPWFl4TnpFdU56QXllaUlnWm1sc2JEMGlJMlptWm1abVppSWdiM0JoWTJsMGVUMGlNU0lnWkdGMFlTMXZjbWxuYVc1aGJEMGlJekF3TURBd01DSWdZMnhoYzNNOUlpSStQQzl3WVhSb1BqeHdZWFJvSUdROUlrMDBNREF1T0RBNElERTVPUzQ1T0Rob0xUUXpMalEwTTJNdE9TNDBNalVnTUMweE55NHdOamNnTnk0Mk5ERXRNVGN1TURZM0lERTNMakEyTjNNM0xqWTBNU0F4Tnk0d05qY2dNVGN1TURZM0lERTNMakEyTjJnME15NDBORE5qT1M0ME1qVWdNQ0F4Tnk0d05qY3ROeTQyTkRFZ01UY3VNRFkzTFRFM0xqQTJOM010Tnk0Mk5ERXRNVGN1TURZM0xURTNMakEyTnkweE55NHdOamQ2VFRNeU9TNDVOVFlnTXprNUxqZ3pORWd4T0RJdU1EUTBZeTA1TGpReU5TQXdMVEUzTGpBMk55QTNMalkwTVMweE55NHdOamNnTVRjdU1EWTNjemN1TmpReElERTNMakEyTnlBeE55NHdOamNnTVRjdU1EWTNhREUwTnk0NU1URmpPUzQwTWpVZ01DQXhOeTR3TmpjdE55NDJOREVnTVRjdU1EWTNMVEUzTGpBMk4zTXROeTQyTkRFdE1UY3VNRFkzTFRFM0xqQTJOaTB4Tnk0d05qZDZUVE15T1M0NU5UWWdNelEyTGpBd05rZ3hPREl1TURRMFl5MDVMalF5TlNBd0xURTNMakEyTnlBM0xqWTBNUzB4Tnk0d05qY2dNVGN1TURZM2N6Y3VOalF4SURFM0xqQTJOeUF4Tnk0d05qY2dNVGN1TURZM2FERTBOeTQ1TVRGak9TNDBNalVnTUNBeE55NHdOamN0Tnk0Mk5ERWdNVGN1TURZM0xURTNMakEyTjNNdE55NDJOREV0TVRjdU1EWTNMVEUzTGpBMk5pMHhOeTR3TmpkNklpQm1hV3hzUFNJalptWm1abVptSWlCdmNHRmphWFI1UFNJeElpQmtZWFJoTFc5eWFXZHBibUZzUFNJak1EQXdNREF3SWlCamJHRnpjejBpSWo0OEwzQmhkR2crUEM5blBqd3ZjM1puUGc9PSk7XG59XG4uc29jaWFsLXNoYXJlciAuZW1haWwtYnRuIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGRwWkhSb1BTSTFNVElpSUdobGFXZG9kRDBpTlRFeUlpQjRQU0l3SWlCNVBTSXdJaUIyYVdWM1FtOTRQU0l3SURBZ05URXlJRFV4TWlJZ2MzUjViR1U5SW1WdVlXSnNaUzFpWVdOclozSnZkVzVrT201bGR5QXdJREFnTlRFeUlEVXhNaUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJZ1kyeGhjM005SWlJK1BHYytQSEJoZEdnZ1pEMGlUVFEyTnlBM05rZzBOVU15TUM0eU16Z2dOellnTUNBNU5pNHhORGtnTUNBeE1qRjJNamN3WXpBZ01qUXVPRFlnTWpBdU1qVXhJRFExSURRMUlEUTFhRFF5TW1NeU5DNDNOaklnTUNBME5TMHlNQzR4TkRrZ05EVXRORFZXTVRJeFl6QXRNalF1T0RVM0xUSXdMakkwT0MwME5TMDBOUzAwTlhwdExUWXVPVEVnTXpCTU1qWTNMall5TkNBeU9Ua3VNRGswWXkwMUxqZzJOQ0ExTGpnNE1pMHhOeTR6T0RFZ05TNDRPRFl0TWpNdU1qUTRJREJNTlRFdU9URWdNVEEyYURRd09DNHhPSHBOTXpBZ016ZzFMalE0TlhZdE1qVTRMamszVERFMU9TNHdOalVnTWpVMklETXdJRE00TlM0ME9EVjZUVFV4TGpreElEUXdObXd4TWpndU16TTBMVEV5T0M0M05USWdOREl1T0RnMUlEUXpMakF5TldNeE55NDFOelFnTVRjdU5qTXhJRFE0TGpFM05TQXhOeTQyTWpRZ05qVXVOelF6SURCc05ESXVPRGcxTFRRekxqQXlORXcwTmpBdU1Ea2dOREEyU0RVeExqa3hlazAwT0RJZ016ZzFMalE0TlNBek5USXVPVE0xSURJMU5pQTBPRElnTVRJMkxqVXhOWFl5TlRndU9UZDZJaUJtYVd4c1BTSWpabVptWm1abUlpQnZjR0ZqYVhSNVBTSXhJaUJrWVhSaExXOXlhV2RwYm1Gc1BTSWpNREF3TURBd0lpQmpiR0Z6Y3owaUlqNDhMM0JoZEdnK1BDOW5Qand2YzNablBnPT0pO1xufVxuXG4vKipcbiAqIEBzZWN0aW9uIENhbGxvdXRzXG4gKiBVSSBmb3IgY2FsbG91dCBlbGVtZW50c1xuICovXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuY2FsbG91dC1yaWdodC1sYXJnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZyk7XG4gICAgd2lkdGg6IDQ1JTtcbiAgfVxufVxuLyoqXG4gKiBAc2VjdGlvbiBPdmVycmlkZXNcbiAqIE51ZGdlIGFuZCB0d2VhayBhbGlnbm1lbnQsIHNwYWNpbmcsIGFuZCB2aXNpYmlsaXR5LlxuICovXG4vKipcbiAqIFRleHQgc2l6ZXNcbiAqL1xuLnRleHQtc21hbGwge1xuICBmb250LXNpemU6IDAuOTM3NWVtO1xufVxuXG4udGV4dC14c21hbGwge1xuICBmb250LXNpemU6IDAuODEyNWVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzhlbSkge1xuICAudGV4dC14c21hbGwtbW9iaWxlIHtcbiAgICBmb250LXNpemU6IDAuODEyNWVtO1xuICB9XG59XG4udGV4dC1yZWd1bGFyIHtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi50ZXh0LXJlZ3VsYXItcGx1cyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1ZW07XG59XG5cbi50ZXh0LXNpemUtcGx1cyB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1ZW07XG59XG5cbi50ZXh0LW1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMS4zMTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzhlbSkge1xuICAudGV4dC1tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gIH1cbn1cblxuLnRleHQtbGFyZ2UsIC50ZXh0LXhsYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS4zMTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzhlbSkge1xuICAudGV4dC1sYXJnZSwgLnRleHQteGxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuN2VtO1xuICB9XG59XG5cbi50ZXh0LXhsYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS43ZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMzhlbSkge1xuICAudGV4dC14bGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICB9XG59XG5cbi50ZXh0LWNvbXBhY3Qge1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4udGV4dC1tb3JlLWNvbXBhY3Qge1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4vKipcbiAqIFRleHQgY29sb3JzXG4gKi9cbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktZGFyayk7XG59XG5cbi50ZXh0LXByaW1hcnkge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG59XG5cbi50ZXh0LXByaW1hcnktZGFyayB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnRleHQtc2Vjb25kYXJ5IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi50ZXh0LXdoaXRlIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4vKipcbiAqIFRleHQgdHJhbnNmb3Jtc1xuICovXG4udGV4dC1ub3JtYWwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi50ZXh0LWV4dHJhLWJvbGQge1xuICBmb250LXdlaWdodDogOTAwO1xufVxuXG4udGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vKipcbiAqIFRleHQgYWxpZ25tZW50XG4gKi9cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgwZW0pIHtcbiAgLnRleHQtY2VudGVyLXNtYWxsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC50ZXh0LXJpZ2h0LWxhcmdlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8qKlxuICogSW1hZ2VzXG4gKi9cbi5pbWctZnVsbC13aWR0aCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaW1nLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmltZy10cmFuc3BhcmVudCB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLmZ1bGwtYmxlZWQsIC5mdWxsLWJsZWVkLWltZyB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDUwdncpO1xuICBtaW4td2lkdGg6IDEwMHZ3O1xuICB3aWR0aDogMTAwdnc7XG59XG5cbi5mdWxsLWJsZWVkLWltZyBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNDdlbTtcbn1cblxuLmNhc2Utc3R1ZHktaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA0NDRweDtcbn1cblxuLyoqXG4gKiBCb3JkZXIgJiBTaGFkb3dcbiAqL1xuLmJvcmRlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xufVxuXG4uYm9yZGVyLWRhcmsge1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7XG59XG5cbi5ib3JkZXItdG9wLXJpZ2h0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDIuNWVtO1xufVxuXG4uYm9yZGVyLXRvcC1yaWdodC1sYXJnZSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2ZW07XG59XG5cbi5ib3JkZXItdG9wLWxlZnQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyLjVlbTtcbn1cblxuLmJvcmRlci10b3AtbGVmdC1sYXJnZSB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEyZW07XG59XG5cbi5ib3JkZXItYm90dG9tLXJpZ2h0IHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDIuNWVtO1xufVxuXG4uYm9yZGVyLWJvdHRvbS1yaWdodC1sYXJnZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2ZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ib3JkZXItYm90dG9tLXJpZ2h0LXhsYXJnZSB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEyZW07XG4gIH1cbn1cbi5ib3JkZXItYm90dG9tLWxlZnQge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyLjVlbTtcbn1cblxuLmJvcmRlci1ib3R0b20tbGVmdC1sYXJnZSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZlbTtcbn1cblxuLnNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IDAuMTg3NWVtIDAuMjVlbSAwLjVlbSAwIHZhcigtLWNvbG9yLWdyYXktbWVkaXVtKTtcbn1cblxuLyoqXG4gKiBCb3JkZXJzICYgU2hhZG93c1xuICovXG4uYm9yZGVyLWJvdHRvbS1wcmltYXJ5IHtcbiAgYm9yZGVyLWJvdHRvbTogMC42ODc1ZW0gdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCkgc29saWQ7XG59XG5cbi5kcm9wLXNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IDAuMzc1ZW0gMC4zNzVlbSAwLjM3NWVtIHZhcigtLWNvbG9yLWdyYXktbGlnaHQpLCAtMC4zNzVlbSAtMC4zNzVlbSAwLjM3NWVtIHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLyoqXG4gKiBGbG9hdHNcbiAqL1xuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuZmxvYXQtY2VudGVyLXR3by10aGlyZHMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogNjclO1xuICB9XG4gIC5mbG9hdC1jZW50ZXItdGhyZWUtZm91cnRocyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLyoqXG4gKiBNYXJnaW5zXG4gKi9cbi5uby1tYXJnaW4tdG9wIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLm5vLW1hcmdpbi1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ubWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXNwYWNpbmcpO1xufVxuXG4ubWFyZ2luLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmcpO1xufVxuXG4ubWFyZ2luLXRvcC1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xufVxuXG4ubWFyZ2luLWJvdHRvbS1zbWFsbCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG4ubWFyZ2luLWJvdHRvbS14c21hbGwge1xuICBtYXJnaW4tYm90dG9tOiAwLjI1ZW07XG59XG5cbi5tYXJnaW4tYm90dG9tLW1lZGl1bSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLm1hcmdpbi1ib3R0b20tbGFyZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbi5tYXJnaW4tYm90dG9tLXhsYXJnZSB7XG4gIG1hcmdpbi1ib3R0b206IDRlbTtcbn1cblxuLyoqXG4gKiBQYWRkaW5nXG4gKi9cbi5uby1wYWRkaW5nLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ubm8tcGFkZGluZy1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLnBhZGRpbmcge1xuICBwYWRkaW5nOiAxLjMxMjVlbTtcbn1cblxuLnBhZGRpbmctc21hbGwge1xuICBwYWRkaW5nOiAwLjI1ZW07XG59XG5cbi5wYWRkaW5nLW1lZGl1bSB7XG4gIHBhZGRpbmc6IDFlbTtcbn1cblxuLnBhZGRpbmctbGFyZ2Uge1xuICBwYWRkaW5nOiAyZW07XG59XG5cbi5wYWRkaW5nLXhsYXJnZSB7XG4gIHBhZGRpbmc6IDIuNWVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnBhZGRpbmcteGxhcmdlIHtcbiAgICBwYWRkaW5nOiA0ZW07XG4gIH1cbn1cblxuLnBhZGRpbmctdG9wIHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmcpO1xufVxuXG4ucGFkZGluZy10b3Atc21hbGwge1xuICBwYWRkaW5nLXRvcDogMC41ZW07XG59XG5cbi5wYWRkaW5nLXRvcC14c21hbGwge1xuICBwYWRkaW5nLXRvcDogMC4yNWVtO1xufVxuXG4ucGFkZGluZy10b3AtbGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogM2VtO1xufVxuXG4ucGFkZGluZy10b3AteGxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDRlbTtcbn1cblxuLnBhZGRpbmctdG9wLWdpZ2FudGljIHtcbiAgcGFkZGluZy10b3A6IDIwZW07XG59XG5cbi5mb290ZXItYmFubmVyLXBhZGRpbmcge1xuICBwYWRkaW5nLWJvdHRvbTogNGVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAucGFkZGluZy10b3AteGxhcmdlLWRlc2t0b3Age1xuICAgIHBhZGRpbmctdG9wOiA0ZW07XG4gIH1cbiAgLnBhZGRpbmctYm90dG9tLXhsYXJnZS1kZXNrdG9wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNGVtO1xuICB9XG4gIC5mb290ZXItYmFubmVyLXBhZGRpbmcge1xuICAgIHBhZGRpbmctdG9wOiAxMGVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA4ZW07XG4gIH1cbiAgLnBhZGRpbmctdG9wLXh4bGFyZ2UtZGVza3RvcCB7XG4gICAgcGFkZGluZy10b3A6IDEwZW07XG4gIH1cbn1cbi5wYWRkaW5nLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjaW5nKTtcbn1cblxuLnBhZGRpbmctYm90dG9tLXNtYWxsIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xufVxuXG4ucGFkZGluZy1ib3R0b20tbGFyZ2Uge1xuICBwYWRkaW5nLWJvdHRvbTogM2VtO1xufVxuXG4ucGFkZGluZy1ib3R0b20teGxhcmdlIHtcbiAgcGFkZGluZy1ib3R0b206IDRlbTtcbn1cblxuLnBhZGRpbmctbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogNGVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAucGFkZGluZy1sZWZ0LWxhcmdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDRlbTtcbiAgfVxufVxuLnBhZGRpbmctbGVmdC1tZWRpdW0ge1xuICBwYWRkaW5nLWxlZnQ6IDJlbTtcbn1cblxuLnBhZGRpbmctcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiA0ZW07XG59XG5cbi5wYWRkaW5nLWxlZnQtbGFyZ2Uge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuLnBhZGRpbmctcmlnaHQtbGFyZ2Uge1xuICBwYWRkaW5nLXJpZ2h0OiAxZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5wYWRkaW5nLWxlZnQtbGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogNGVtO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LWxhcmdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0ZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MGVtKSB7XG4gIC5wYWRkaW5nLWxlZnQtc21hbGwge1xuICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICB9XG4gIC5wYWRkaW5nLXJpZ2h0LXNtYWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gIH1cbn1cbi8qKlxuICogVmlzaWJpbGl0eVxuICovXG5AbWVkaWEgKG1heC13aWR0aDogODBlbSkge1xuICAuaGlkZS1zbWFsbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmhpZGUtbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi8qKlxuICogQWNjZXNzaWJpbGl0eVxuICovXG4vKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogQGxpbmsgaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKi9cbi52aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogMSAqL1xuICB3aWR0aDogMXB4O1xufVxuXG4vKlxuICogRXh0ZW5kcyB0aGUgLnZpc3VhbGx5aGlkZGVuIGNsYXNzIHRvIGFsbG93IHRoZSBlbGVtZW50IHRvIGJlIGZvY3VzYWJsZSB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkXG4gKiBAbGluayBodHRwczovL3d3dy5kcnVwYWwub3JnL25vZGUvODk3NjM4XG4gKi9cbi52aXN1YWxseS1oaWRkZW4uZm9jdXNhYmxlOmFjdGl2ZSxcbi52aXN1YWxseS1oaWRkZW4uZm9jdXNhYmxlOmZvY3VzIHtcbiAgY2xpcDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aGl0ZS1zcGFjZTogaW5oZXJpdDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8qKlxuICogUmVtb3ZlIGFsbCBhbmltYXRpb25zIGFuZCB0cmFuc2l0aW9ucyBmb3IgcGVvcGxlIHRoYXQgcHJlZmVyIG5vdCB0byBzZWUgdGhlbVxuICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAqIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuLyoqXG4gKiBDbGVhciBhbnkgZmxvYXRzXG4gKi9cbi5jbGVhcmZpeDpiZWZvcmUsIC5jb250YWluZXI6YmVmb3JlLCBbZGF0YS1hY2NvcmRpb25dOmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlcixcbi5jb250YWluZXI6YWZ0ZXIsXG5bZGF0YS1hY2NvcmRpb25dOmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uY2xlYXJmaXg6YWZ0ZXIsIC5jb250YWluZXI6YWZ0ZXIsIFtkYXRhLWFjY29yZGlvbl06YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLyoqKioqKioqXG4qIE1pa2UncyBjaGFuZ2VzIHRvIHRoZSBjb2RlIGJhc2VkIG9uIHBlcnNvbmFsIG9waW5pb25cbiogSHlwZXIgdGFyZ2V0ZWQgc3R5bGVzXG4qKioqKioqKiovXG4uaGVyby1mb290ZXIgLnRleHQteHNtYWxsLnRleHQtY2VudGVyLnRleHQtbXV0ZWQsXG4ucmVnLWZvb3RlciAudGV4dC14c21hbGwudGV4dC1jZW50ZXIudGV4dC1tdXRlZCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmhlcm8tZm9vdGVyIC5ncmlkLWhhbGYudGV4dC1yaWdodC1sYXJnZSAubGlzdC1pbmxpbmUsIC5oZXJvLWZvb3RlciAuZ3JpZC1oYWxmLnRleHQtcmlnaHQtbGFyZ2UgLm5hdiwgLmhlcm8tZm9vdGVyIC5ncmlkLWhhbGYudGV4dC1yaWdodC1sYXJnZSAubGlzdC1zcGxpdCwgLmhlcm8tZm9vdGVyIC5ncmlkLWhhbGYudGV4dC1yaWdodC1sYXJnZSAubGlzdC1icmVhZGNydW1icyxcbi5yZWctZm9vdGVyIC5ncmlkLWhhbGYudGV4dC1yaWdodC1sYXJnZSAubGlzdC1pbmxpbmUsXG4ucmVnLWZvb3RlciAuZ3JpZC1oYWxmLnRleHQtcmlnaHQtbGFyZ2UgLm5hdixcbi5yZWctZm9vdGVyIC5ncmlkLWhhbGYudGV4dC1yaWdodC1sYXJnZSAubGlzdC1zcGxpdCxcbi5yZWctZm9vdGVyIC5ncmlkLWhhbGYudGV4dC1yaWdodC1sYXJnZSAubGlzdC1icmVhZGNydW1icyB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmhlcm8tZm9vdGVyIC5ncmlkLWhhbGYudGV4dC1yaWdodC1sYXJnZSAubGlzdC1pbmxpbmUsIC5oZXJvLWZvb3RlciAuZ3JpZC1oYWxmLnRleHQtcmlnaHQtbGFyZ2UgLm5hdiwgLmhlcm8tZm9vdGVyIC5ncmlkLWhhbGYudGV4dC1yaWdodC1sYXJnZSAubGlzdC1zcGxpdCwgLmhlcm8tZm9vdGVyIC5ncmlkLWhhbGYudGV4dC1yaWdodC1sYXJnZSAubGlzdC1icmVhZGNydW1icyxcbiAgLnJlZy1mb290ZXIgLmdyaWQtaGFsZi50ZXh0LXJpZ2h0LWxhcmdlIC5saXN0LWlubGluZSxcbiAgLnJlZy1mb290ZXIgLmdyaWQtaGFsZi50ZXh0LXJpZ2h0LWxhcmdlIC5uYXYsXG4gIC5yZWctZm9vdGVyIC5ncmlkLWhhbGYudGV4dC1yaWdodC1sYXJnZSAubGlzdC1zcGxpdCxcbiAgLnJlZy1mb290ZXIgLmdyaWQtaGFsZi50ZXh0LXJpZ2h0LWxhcmdlIC5saXN0LWJyZWFkY3J1bWJzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG59XG5cbi5jb250YWluLWhhY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5jb250YWluLWhhY2sgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmNvbnRhaW4taGFjayBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYmFubmVyLW1heCB7XG4gIG1heC13aWR0aDogNzMwcHg7XG59XG5cbi5sb2dpbi1zb2NpYWxzIC5idG4tY2lyY2xlIHtcbiAgaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogNDhweDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDUxcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU2ZW0pIHtcbiAgLmJnLWhxIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvYmctaHEucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNzUlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxuICAuYmctaHEgYSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxufVxuLyoqXG4gKiBAc2VjdGlvbiBIZXJvIGltYWdlc1xuICovXG4uaGVyby1ob21lIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0KTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpIDAlLCB2YXIoLS1jb2xvci1wcmltYXJ5KSA4NSUsIHZhcigtLWNvbG9yLXByaW1hcnkpIDEwMCUpO1xuICBwYWRkaW5nLWJvdHRvbTogNy41ZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuaGVyby1ob21lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy90b255LXBvZGl1bS5wbmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4MGVtKSB7XG4gIC5oZXJvLWhvbWUtaGlnaGxpZ2h0cyB7XG4gICAgbWFyZ2luLXRvcDogLTIwZW07XG4gIH1cbn1cblxuLmhlcm8taG9tZS12aWRlbyB7XG4gIG1hcmdpbi10b3A6IC02ZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5oZXJvLWhvbWUtb3Bwb3J0dW5pdHkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc3RvY2stc3RhaXJzLnBuZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDtcbiAgfVxufVxuXG4uaGVyby1ob21lLWtub3dpbmcge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTBkZWcsIHJnYmEoMTcsIDE3LCAxNywgMC42KSAwJSwgcmdiYSgxNywgMTcsIDE3LCAwLjYpIDI1JSwgcmdiYSg3MywgMTQ1LCAxNDksIDAuNikgNjAlLCByZ2JhKDczLCAxNDUsIDE0OSwgMC42KSAxMDAlKSwgdXJsKC4uL2ltZy9zdG9jay13b21hbi0xLnBuZyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmhlcm8taG9tZS13aW4td2luLXdpbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9zdG9jay1jaXR5c2NhcGUucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b207XG4gICAgcGFkZGluZy1ib3R0b206IDIyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmhlcm8taG9tZS1pbnRyb2R1Y2luZy1tYXN0ZXJjbGFzcyB7XG4gICAgcGFkZGluZy1ib3R0b206IDI0ZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmhlcm8taG9tZS1mcmFjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogLTI2ZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MGVtKSB7XG4gIC5oZXJvLWhvbWUtZnJhY3Rpb24gLmNvbnRhaW5lci14d2lkZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgcGFkZGluZy1yaWdodDogMmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuaGVyby1ob21lLWJvbnVzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3N0b2NrLW1hbi0xLnBuZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogODBlbSkge1xuICAuaGVyby1ob21lLWJvbnVzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLmhlcm8taG9tZS1ib251cyA+IC5wYWRkaW5nLXhsYXJnZSB7XG4gICAgcGFkZGluZzogMmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5oZXJvLWhvbWUtYWJvdXQtdG9ueSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy90b255LWNoYWlyLnBuZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gIH1cbn1cblxuLmhlcm8taG9tZS1wZW9wbGUtbGlrZS15b3Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuaGVyby1ob21lLXBlb3BsZS1saWtlLXlvdSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEyZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MGVtKSB7XG4gIC5oZXJvLWhvbWUtcGVvcGxlLWxpa2UteW91IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4ubG9nby1vdmVybGF5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmxvZ28tb3ZlcmxheTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3VzdGxhLXdhdGVybWFyay5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogNSU7XG4gICAgei1pbmRleDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuaGVyby1ob21lLXBlcmtzIHtcbiAgICBtYXJnaW4tdG9wOiAtMTBlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuaGVyby1mb290ZXItZ3VpZGUge1xuICAgIG1hcmdpbi1ib3R0b206IC0xMmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA5OTk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmhlcm8tZm9vdGVyLWJnIHtcbiAgICBwYWRkaW5nLXRvcDogMTZlbTtcbiAgfVxufVxuXG4uaGVyby1ibG9nLWluZGV4LWhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAxMGVtO1xufVxuXG4uaGVyby1ibG9nLWluZGV4LWxpc3Qge1xuICBtYXJnaW4tdG9wOiAtOGVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuaGVyby10b255LWNoYWlyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3RvbnktY2hhaXItYWx0LnBuZyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGxlZnQ7XG4gIH1cbn1cblxuLmhlcm8tZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0KTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpIDAlLCB2YXIoLS1jb2xvci1wcmltYXJ5KSA4NSUsIHZhcigtLWNvbG9yLXByaW1hcnkpIDEwMCUpO1xuICBwYWRkaW5nLWJvdHRvbTogNy41ZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuaGVyby1mb290ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3RvbnktcG9kaXVtLWZvb3Rlci5wbmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0O1xuICB9XG59XG4uaGVyby1mb290ZXIud2l0aC1iYW5uZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmhlcm8td2h5LWNob29zZS11cy1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMTRlbTtcbn1cblxuLmhlcm8td2h5LWNob29zZS11cy12aWRlbyB7XG4gIG1hcmdpbi10b3A6IC0xMmVtO1xufVxuXG4uaGVyby00MDQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCkgMCUsIHZhcigtLWNvbG9yLXByaW1hcnkpIDg1JSwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTAwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy80MDQucG5nKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcbn1cblxuLyoqXG4gKiBAc2VjdGlvbiBXaHkgVXNcbiAqL1xuLmhlcm8td2h5LWNob29zZS11cy1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogNGVtO1xufVxuXG4ubWVzc2FnZS1mcm9tIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbWluLWhlaWdodDogOTAwcHg7XG59XG5cbi5iZy1oYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLmJnLWhhY2sge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTc1cHgpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC53YXRlcm1hcmstY3VzdG9tIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNDJweDtcbiAgICBsZWZ0OiAtMjkwcHg7XG4gICAgd2lkdGg6IDk0NXB4O1xuICAgIGhlaWdodDogMjUwcHg7XG4gICAgei1pbmRleDogLTE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLndhdGVybWFyay1jdXN0b206OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2FsdC13YXRlcm1hcmsuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gbGVmdDtcbiAgICBvcGFjaXR5OiAwLjE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzNzJweDtcbiAgfVxuICAuYmctY3VzdG9tLWdyYWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0yNzBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2JnLWdyYWQucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgd2lkdGg6IDc4NXB4O1xuICAgIGhlaWdodDogMTEzMXB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG59XG4udGVhbS1tZW1iZXJzIC5pbnRybyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgZm9udC1zaXplOiAxLjM1ZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAudGVhbS1tZW1iZXJzIC5pbnRybyB7XG4gICAgZm9udC1zaXplOiAxLjc1ZW07XG4gICAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnRlYW0tbWVtYmVycyAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtNzVweDtcbiAgfVxufVxuLnRlYW0tbWVtYmVycyAudGhlLXRlYW0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4udGVhbS1tZW1iZXJzIC50aGUtdGVhbSAubWVtYmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAudGVhbS1tZW1iZXJzIC50aGUtdGVhbSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdhcDogMjBweCA3N3B4O1xuICAgIGFsaWduLWl0ZW1zOiBhdXRvO1xuICB9XG4gIC50ZWFtLW1lbWJlcnMgLnRoZS10ZWFtIC5tZW1iZXIge1xuICAgIHdpZHRoOiAyNzBweDtcbiAgfVxufVxuLnRlYW0tbWVtYmVycyAudGhlLXRlYW0gaW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDI3MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4udGVhbS1tZW1iZXJzIC50aGUtdGVhbSBpbWc6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBoZWlnaHQ6IDY0cHg7XG4gIHdpZHRoOiA2NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG59XG4udGVhbS1tZW1iZXJzIC50aGUtdGVhbSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG4udGVhbS1tZW1iZXJzIC50aGUtdGVhbSAuYnRuIHtcbiAgZ3JpZC1jb2x1bW46IDEvNDtcbiAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbn1cblxuLmV2ZW50LWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiA1NXB4IDY1cHg7XG4gIG1hcmdpbi1ib3R0b206IDU1cHg7XG59XG4uZXZlbnQtY29udGVudCAuZXZlbnQtZGF0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmV2ZW50LWNvbnRlbnQgLmV2ZW50LWRhdGUgc3BhbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgcGFkZGluZzogOXB4IDI1cHggM3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTMwcHg7XG59XG4uZXZlbnQtY29udGVudDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuLmV2ZW50LWNvbnRlbnQubm8tYmVmb3JlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29sdW1uLmxlZnQgLmV2ZW50LXRleHQsXG4uY29sdW1uLmxlZnQgLmV2ZW50LXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLmNvbHVtbi5sZWZ0IC5ldmVudC1kYXRlIHtcbiAgbGVmdDogMDtcbn1cbi5jb2x1bW4ucmlnaHQgLmV2ZW50LWRhdGUge1xuICByaWdodDogMDtcbn1cblxuLmJnLWJsYWNrIC5jb2x1bW4ge1xuICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLmJnLWJsYWNrIC5jb2x1bW4gLmV2ZW50LWNvbnRlbnQgLmV2ZW50LWRhdGUge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuLmJnLWJsYWNrIC5jb2x1bW4gLmV2ZW50LWNvbnRlbnQgLmV2ZW50LWRhdGUgc3BhbiB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpO1xufVxuLmJnLWJsYWNrIC5jb2x1bW4gLmV2ZW50LWNvbnRlbnQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLmVuZC1ldmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGp1c3RpZnktc2VsZjogY2VudGVyO1xufVxuLmVuZC1ldmVudCAuZXZlbnQtZGF0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuLmVuZC1ldmVudCAuZXZlbnQtZGF0ZSBzcGFuIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogYm9sZGVyO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiA5cHggMjVweCAzcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtNTZweDtcbn1cbi5lbmQtZXZlbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDIwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yMDBweDtcbiAgbGVmdDogLTFweDtcbn1cblxuLnR1ZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMTBweDtcbn1cblxuLmVuZC1xdW90ZSBjaXRlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ucmVzdWx0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxZW07XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLnJlc3VsdCBoNCB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzE3MzMzZjtcbn1cbi5yZXN1bHQgLnVzZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ucmVzdWx0IC51c2VyIHNwYW4ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuLnJlc3VsdCAudXNlciBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA2M3B4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDYzcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG59XG4ucmVzdWx0IC5wcmljZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzI0OTM5NjtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmJnLWJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAtMTBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xuICBoZWlnaHQ6IDgwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzI0OTM5NjtcbiAgei1pbmRleDogLTE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaGVyby1ib3hlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIG1hcmdpbi10b3A6IC02NXB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbWFyZ2luLWJvdHRvbTogNmVtO1xufVxuXG4uZ3JpZC1mb3VydGgge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBnYXA6IDIwcHg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbn1cbi5ncmlkLWZvdXJ0aCAuZ3JpZC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuICBwYWRkaW5nOiAwIDJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEzNXB4O1xufVxuLmdyaWQtZm91cnRoIC5ncmlkLWl0ZW0gc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEuMWVtO1xufVxuLmdyaWQtZm91cnRoIC5ncmlkLWl0ZW0gc3Bhbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC1kYXJrKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xMHB4O1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjUlO1xufVxuXG4uZ3JpZC1pdGVtLmxhc3Qge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNTBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5ncmlkLWZvdXJ0aCB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cbi5ncmlkLXR3byB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW4tYm90dG9tOiA0ZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuZ3JpZC10d28ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiA2MHB4O1xuICB9XG59XG4uZ3JpZC10d28gLmNvbnRlbnQge1xuICBncmlkLWFyZWE6IDE7XG59XG4uZ3JpZC10d28gLmltYWdlcyB7XG4gIGdyaWQtYXJlYTogMS8yO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5ncmlkLXR3byAuaW1hZ2VzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbn1cblxuLnAtMSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLyogUGFkZGluZyBBbGwgU2lkZXMgKi9cbi5wLTAge1xuICBwYWRkaW5nOiAwO1xufVxuXG4ucC0wXzUge1xuICBwYWRkaW5nOiAwLjEyNXJlbTtcbn0gLyogMC41ICogMC4yNXJlbSAqL1xuLnAtMSB7XG4gIHBhZGRpbmc6IDAuMjVyZW07XG59XG5cbi5wLTFfNSB7XG4gIHBhZGRpbmc6IDAuMzc1cmVtO1xufSAvKiAxLjUgKiAwLjI1cmVtICovXG4ucC0yIHtcbiAgcGFkZGluZzogMC41cmVtO1xufVxuXG4ucC0yXzUge1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbn0gLyogMi41ICogMC4yNXJlbSAqL1xuLnAtMyB7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG59XG5cbi5wLTNfNSB7XG4gIHBhZGRpbmc6IDAuODc1cmVtO1xufSAvKiAzLjUgKiAwLjI1cmVtICovXG4ucC00IHtcbiAgcGFkZGluZzogMXJlbTtcbn1cblxuLnAtNiB7XG4gIHBhZGRpbmc6IDEuNXJlbTtcbn1cblxuLnAtNyB7XG4gIHBhZGRpbmc6IDEuNzVyZW07XG59XG5cbi5wLTgge1xuICBwYWRkaW5nOiAycmVtO1xufVxuXG4ucC05IHtcbiAgcGFkZGluZzogMi4yNXJlbTtcbn1cblxuLnAtMTAge1xuICBwYWRkaW5nOiAyLjVyZW07XG59XG5cbi5wLTExIHtcbiAgcGFkZGluZzogMi43NXJlbTtcbn1cblxuLnAtMTIge1xuICBwYWRkaW5nOiAzcmVtO1xufVxuXG4vKiBhbmQgc28gb24uLi4gKi9cbi8qIFBhZGRpbmcgVG9wICovXG4ucHQtMCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4ucHQtMF81IHtcbiAgcGFkZGluZy10b3A6IDAuMTI1cmVtO1xufVxuXG4ucHQtMSB7XG4gIHBhZGRpbmctdG9wOiAwLjI1cmVtO1xufVxuXG4ucHQtMV81IHtcbiAgcGFkZGluZy10b3A6IDAuMzc1cmVtO1xufVxuXG4ucHQtMiB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG59XG5cbi5wdC0yXzUge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG59XG5cbi5wdC0zIHtcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XG59XG5cbi5wdC0zXzUge1xuICBwYWRkaW5nLXRvcDogMC44NzVyZW07XG59XG5cbi5wdC00IHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG59XG5cbi5wdC01IHtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG59XG5cbi5wdC02IHtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbn1cblxuLnB0LTcge1xuICBwYWRkaW5nLXRvcDogMS43NXJlbTtcbn1cblxuLnB0LTgge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbn1cblxuLnB0LTkge1xuICBwYWRkaW5nLXRvcDogMi4yNXJlbTtcbn1cblxuLnB0LTEwIHtcbiAgcGFkZGluZy10b3A6IDIuNXJlbTtcbn1cblxuLnB0LTExIHtcbiAgcGFkZGluZy10b3A6IDIuNzVyZW07XG59XG5cbi5wdC0xMiB7XG4gIHBhZGRpbmctdG9wOiAzcmVtO1xufVxuXG4vKiBQYWRkaW5nIFJpZ2h0ICovXG4ucHItMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5wci0wXzUge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjEyNXJlbTtcbn1cblxuLnByLTEge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xufVxuXG4ucHItMV81IHtcbiAgcGFkZGluZy1yaWdodDogMC4zNzVyZW07XG59XG5cbi5wci0yIHtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xufVxuXG4ucHItMl81IHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG59XG5cbi5wci0zIHtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbn1cblxuLnByLTNfNSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuODc1cmVtO1xufVxuXG4ucHItNCB7XG4gIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG5cbi5wci01IHtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbn1cblxuLnByLTYge1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG5cbi5wci03IHtcbiAgcGFkZGluZy1yaWdodDogMS43NXJlbTtcbn1cblxuLnByLTgge1xuICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xufVxuXG4ucHItOSB7XG4gIHBhZGRpbmctcmlnaHQ6IDIuMjVyZW07XG59XG5cbi5wci0xMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbn1cblxuLnByLTExIHtcbiAgcGFkZGluZy1yaWdodDogMi43NXJlbTtcbn1cblxuLnByLTEyIHtcbiAgcGFkZGluZy1yaWdodDogM3JlbTtcbn1cblxuLyogUGFkZGluZyBCb3R0b20gKi9cbi5wYi0wIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi5wYi0wXzUge1xuICBwYWRkaW5nLWJvdHRvbTogMC4xMjVyZW07XG59XG5cbi5wYi0xIHtcbiAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG59XG5cbi5wYi0xXzUge1xuICBwYWRkaW5nLWJvdHRvbTogMC4zNzVyZW07XG59XG5cbi5wYi0yIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbn1cblxuLnBiLTJfNSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbn1cblxuLnBiLTMge1xuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLnBiLTNfNSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjg3NXJlbTtcbn1cblxuLnBiLTQge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbn1cblxuLnBiLTUge1xuICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLnBiLTYge1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xufVxuXG4ucGItNyB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjc1cmVtO1xufVxuXG4ucGItOCB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuXG4ucGItOSB7XG4gIHBhZGRpbmctYm90dG9tOiAyLjI1cmVtO1xufVxuXG4ucGItMTAge1xuICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xufVxuXG4ucGItMTEge1xuICBwYWRkaW5nLWJvdHRvbTogMi43NXJlbTtcbn1cblxuLnBiLTEyIHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG59XG5cbi8qIFBhZGRpbmcgTGVmdCAqL1xuLnBsLTAge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5wbC0wXzUge1xuICBwYWRkaW5nLWxlZnQ6IDAuMTI1cmVtO1xufVxuXG4ucGwtMSB7XG4gIHBhZGRpbmctbGVmdDogMC4yNXJlbTtcbn1cblxuLnBsLTFfNSB7XG4gIHBhZGRpbmctbGVmdDogMC4zNzVyZW07XG59XG5cbi5wbC0yIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XG59XG5cbi5wbC0yXzUge1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xufVxuXG4ucGwtMyB7XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbn1cblxuLnBsLTNfNSB7XG4gIHBhZGRpbmctbGVmdDogMC44NzVyZW07XG59XG5cbi5wbC00IHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtO1xufVxuXG4ucGwtNSB7XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbn1cblxuLnBsLTYge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbn1cblxuLnBsLTcge1xuICBwYWRkaW5nLWxlZnQ6IDEuNzVyZW07XG59XG5cbi5wbC04IHtcbiAgcGFkZGluZy1sZWZ0OiAycmVtO1xufVxuXG4ucGwtOSB7XG4gIHBhZGRpbmctbGVmdDogMi4yNXJlbTtcbn1cblxuLnBsLTEwIHtcbiAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG59XG5cbi5wbC0xMSB7XG4gIHBhZGRpbmctbGVmdDogMi43NXJlbTtcbn1cblxuLnBsLTEyIHtcbiAgcGFkZGluZy1sZWZ0OiAzcmVtO1xufVxuXG4vKiBHcmlkIENvbnRhaW5lciBDbGFzc2VzICovXG4uZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMXJlbTsgLyogRGVmYXVsdCBnYXAgYmV0d2VlbiBncmlkIGl0ZW1zICovXG59XG5cbi5ncmlkLWNvbHMtMiB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG59XG5cbi5ncmlkLWNvbHMtNCB7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG59XG5cbi8qIFJlc3BvbnNpdmUgR3JpZCBDbGFzc2VzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmdyaWQtY29scy0yIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuICAuZ3JpZC1jb2xzLTQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG59XG4vKiBDb2x1bW4gU3BhbiBVdGlsaXR5IENsYXNzZXMgKi9cbi5jb2wtc3Bhbi0xIHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMS9zcGFuIDE7XG59XG5cbi5jb2wtc3Bhbi0yIHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMi9zcGFuIDI7XG59XG5cbi5jb2wtc3Bhbi0zIHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMy9zcGFuIDM7XG59XG5cbi5jb2wtc3Bhbi00IHtcbiAgZ3JpZC1jb2x1bW46IHNwYW4gNC9zcGFuIDQ7XG59XG5cbi8qIEdyaWQgR2FwIFV0aWxpdHkgQ2xhc3NlcyAqL1xuLmdyaWQtZ2FwLTAge1xuICBnYXA6IDA7XG59XG5cbi5ncmlkLWdhcC0xIHtcbiAgZ2FwOiAxcHg7XG59XG5cbi5ncmlkLWdhcC0yIHtcbiAgZ2FwOiAycHg7XG59XG5cbi5ncmlkLWdhcC0zIHtcbiAgZ2FwOiAzcHg7XG59XG5cbi5ncmlkLWdhcC00IHtcbiAgZ2FwOiA0cHg7XG59XG5cbi5ncmlkLWdhcC01IHtcbiAgZ2FwOiA1cHg7XG59XG5cbi5ncmlkLWdhcC02IHtcbiAgZ2FwOiA2cHg7XG59XG5cbi5ncmlkLWdhcC03IHtcbiAgZ2FwOiA3cHg7XG59XG5cbi5ncmlkLWdhcC04IHtcbiAgZ2FwOiA4cHg7XG59XG5cbi5ncmlkLWdhcC05IHtcbiAgZ2FwOiA5cHg7XG59XG5cbi5ncmlkLWdhcC0xMCB7XG4gIGdhcDogMTBweDtcbn1cblxuLmdyaWQtZ2FwLTEyIHtcbiAgZ2FwOiAxMnB4O1xufVxuXG4uZ3JpZC1nYXAtMTQge1xuICBnYXA6IDE0cHg7XG59XG5cbi5ncmlkLWdhcC0xNiB7XG4gIGdhcDogMTZweDtcbn1cblxuLmdyaWQtZ2FwLTE4IHtcbiAgZ2FwOiAxOHB4O1xufVxuXG4uZ3JpZC1nYXAtMjAge1xuICBnYXA6IDIwcHg7XG59XG5cbi5ncmlkLWdhcC0yNCB7XG4gIGdhcDogMjRweDtcbn1cblxuLmdyaWQtZ2FwLTI4IHtcbiAgZ2FwOiAyOHB4O1xufVxuXG4uZ3JpZC1nYXAtMzIge1xuICBnYXA6IDMycHg7XG59XG5cbi5ncmlkLWdhcC0zNiB7XG4gIGdhcDogMzZweDtcbn1cblxuLmdyaWQtZ2FwLTQwIHtcbiAgZ2FwOiA0MHB4O1xufVxuXG4uZ3JpZC1nYXAtNDQge1xuICBnYXA6IDQ0cHg7XG59XG5cbi5ncmlkLWdhcC00OCB7XG4gIGdhcDogNDhweDtcbn1cblxuLmdyaWQtZ2FwLTUwIHtcbiAgZ2FwOiA1MHB4O1xufVxuXG4uY29tbXVuaXR5LWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAuY29tbXVuaXR5LWJveCB7XG4gICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNTBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uY29tbXVuaXR5IHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcbiAgd2lkdGg6IDEwMCU7XG59XG4uY29tbXVuaXR5IC5jb21tdW5pdHktaXRlbSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDFlbTtcbn1cbi5jb21tdW5pdHkgLmNvbW11bml0eS1pdGVtLmV4dHJhID4gaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5jb21tdW5pdHkgLmVuZCB7XG4gIGFsaWduLXNlbGY6IGVuZDtcbn1cbi5jb21tdW5pdHkgLmNlbnRlciB7XG4gIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbi53ZVRlYWNoIC5ncmlkLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgI3doeS11cyAucm93LWhvbWUtYWJvdXQtdG9ueSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCBhdXRvKTtcbiAgfVxuICAjd2h5LXVzIC5yb3ctaG9tZS1hYm91dC10b255LmN1c3RvbSAuZ3JpZC1pbWcge1xuICAgIGhlaWdodDogOTgwcHg7XG4gICAgZ3JpZC1hcmVhOiAxLzEvMy82O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gIH1cbiAgI3doeS11cyAucm93LWhvbWUtYWJvdXQtdG9ueSAuZ3JpZC10ZXh0IHtcbiAgICBncmlkLWFyZWE6IDIvNi8zLzEyO1xuICAgIHBhZGRpbmctYm90dG9tOiA3LjVlbTtcbiAgfVxuICAjd2h5LXVzIC5yb3ctaG9tZS1hYm91dC10b255IC5ncmlkLWhlYWRpbmcge1xuICAgIGdyaWQtYXJlYTogMS82LzIvMTI7XG4gICAgcGFkZGluZy10b3A6IDQuNWVtO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuLmN1c3RvbS1ibG9jay1vbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvd2h5dXMvYmFja2dyb3VuZC5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm9uZTtcbiAgcGFkZGluZy10b3A6IDUuNWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMTBlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uY3VzdG9tLWJsb2NrLW9uZSBoMyB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG4uY3VzdG9tLWJsb2NrLW9uZSAudXN0bGEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTE0NXB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy93aHl1cy91c3RsYS5wbmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgaGVpZ2h0OiA1NDVweDtcbiAgei1pbmRleDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbiN3aHktdXMgaDQge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbWFyZ2luOiAwIDAgMmVtIDA7XG59XG5cbi53aHl1cy12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMTAwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLndoeXVzLXZpZGVvIHtcbiAgICB0b3A6IC0xNjBweDtcbiAgfVxufVxuXG4jd2h5LXVzIC5zZWN0aW9uLWNhcm91c2VsIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG59XG5cbiN3aHktdXMgLmdyaWQtc3RhcnQtaGFsZiB7XG4gIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xufVxuXG4jd2h5LXVzIC5saXN0LWlubGluZSwgI3doeS11cyAubmF2LCAjd2h5LXVzIC5saXN0LXNwbGl0LCAjd2h5LXVzIC5saXN0LWJyZWFkY3J1bWJzIHtcbiAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gIG1heC1oZWlnaHQ6IDU3OXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4jd2h5LXVzIC5jdXN0b20taDIge1xuICBmb250LXNpemU6IDUwcHg7XG4gIGNvbG9yOiAjMjQ5Mzk2O1xufVxuXG4ubGV0dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy93aHl1cy9sZXR0ZXItYm90dG9tLnBuZyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNGYzZjA7XG4gIHBhZGRpbmc6IDAgMTBweCAxMDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5sZXR0ZXIge1xuICAgIHBhZGRpbmc6IDAgMTBweCA2MDBweDtcbiAgfVxufVxuXG4ubGV0dGVyID4gLndyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIG1heC13aWR0aDogMTMwMHB4O1xuICBwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi5wYXBlci1zaGFkb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm94LXNoYWRvdzogMnB4IDJweCAzOHB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgLTJweCAycHggMzhweCByZ2JhKDAsIDAsIDAsIDAuMik7IC8qIFJlbW92ZSB0b3Agc2hhZG93ICovXG59XG5cbi5wYXBlci1zaGFkb3c6YWZ0ZXIsIC5wYXBlci1zaGFkb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBhdXRvO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB6LWluZGV4OiAtMTtcbn1cblxuLnBhcGVyLXNoYWRvdzphZnRlciB7XG4gIHdpZHRoOiA5MCU7XG4gIGhlaWdodDogMTBweDtcbiAgdG9wOiAwOyAvKiBSZW1vdmUgdG9wIHNoYWRvdyAqL1xuICBib3R0b206IDA7IC8qIEFwcGx5IHRvIGJvdHRvbSAqL1xuICByaWdodDogOHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7XG4gIGJveC1zaGFkb3c6IDBweCAyNXB4IDM1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC41KTsgLyogT25seSBib3R0b20gc2hhZG93ICovXG59XG5cbi5wYXBlci1zaGFkb3c6YmVmb3JlIHtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogOTUlO1xuICB0b3A6IDVweDtcbiAgcmlnaHQ6IDE4cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICBib3gtc2hhZG93OiAyMnB4IDBweCAzNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNSk7IC8qIE9ubHkgcmlnaHQgc2hhZG93ICovXG59XG5cbi5jb25zdHJpY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA3MzBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5jb25zdHJpY3Qge1xuICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxufVxuXG4udG91Y2hwb2ludCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5jYXJlZXJzLWJnIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9jYXJlZXJzLWJhbm5lci5wbmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG51bC5pY29uLWxpc3Qge1xuICBtYXJnaW46IDA7XG59XG5cbnVsLmljb24tbGlzdCBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG51bC5pY29uLWxpc3QgbGk6OmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICBsZWZ0OiAwO1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeFpXMGlJR2hsYVdkb2REMGlNV1Z0SWlCMmFXVjNRbTk0UFNJd0lEQWdNVFF1TkRZNUlERTBMalEyT1NJZ1lYSnBZUzFvYVdSa1pXNDlJblJ5ZFdVaVBqeHdZWFJvSUdSaGRHRXRibUZ0WlQwaVVHRjBhQ0F5T1RnNU1pSWdaRDBpVFRNdU5qSXhMamMxZGpFdU5EVTFhRGN1TmpFMFRERXVNRFl4SURFeUxqTTRiREV1TURJNElERXVNREk0VERFeUxqSTJNU0F6TGpJek5IWTNMamt4Tm1neExqUTFORll1TnpWYUlpQm1hV3hzUFNJallXVTNaREpqSWlCemRISnZhMlU5SWlOaFpUZGtNbU1pSUhOMGNtOXJaUzEzYVdSMGFEMGlNUzQxSWk4K1BDOXpkbWMrXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyAvKiBPciBzZXQgYSBzcGVjaWZpYyBzaXplICovXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi5zdWJ0aXRsZSxcbi5pY29uLWxpc3QtdGl0bGUge1xuICBmb250LXNpemU6IDFlbTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uaWNvbi1saXN0LXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmZsZXgtaGFjay1wdXJwb3NlIC5zdWJ0aXRsZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubWFzayB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLnZpZGVvLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyMHB4IDAgMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgLnZpZGVvLXRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTAwcHggMCA1MHB4O1xuICB9XG4gIC5teS1yZXN1bHRzLmNhcmVlciA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDEvMjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5jYXJlZXJzLXZpZGVvIC5ibG9jay1lbGVtZW50LWN1c3RvbSB7XG4gICAgaGVpZ2h0OiA0NDVweDtcbiAgICB3aWR0aDogMzUlO1xuICB9XG4gIC5jYXJlZXJzLXZpZGVvIC53YXRlcm1hcmstY3VzdG9tIHtcbiAgICBsZWZ0OiAtMTkwcHg7XG4gIH1cbiAgLmNhcmVlcnMtdmlkZW8gLndhdGVybWFyay1jdXN0b206OmFmdGVyIHtcbiAgICB0b3A6IC01MHB4O1xuICB9XG59XG4uY2FyZWVycy12aWRlbyB2aWRlbyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4xNikgMHB4IDEwcHggMzZweCAwcHgsIHJnYmEoMCwgMCwgMCwgMC4wNikgMHB4IDBweCAwcHggMXB4O1xufVxuXG52aWRlb1twb3N0ZXJdIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8qKlxuICogQHNlY3Rpb24gUHJpbnRcbiAqIFN0eWxpbmcgZm9yIHByaW50ZWQgY29udGVudC4gQWRhcHRlZCBmcm9tIEhUTUw1QlAuXG4gKiBAbGluayBodHRwOi8vaHRtbDVib2lsZXJwbGF0ZS5jb21cbiAqL1xuQG1lZGlhIHByaW50IHtcbiAgLyoqXG4gICAqIFVuaXZlcnNhbCBzZWxlY3Rvci5cbiAgICogUmVzZXQgYWxsIGNvbnRlbnQgdG8gdHJhbnNwYXJlbnQgYmFja2dyb3VuZCwgYmxhY2sgY29sb3IsIGFuZCByZW1vdmUgYm94IGFuZCB0ZXh0IHNoYWRvd3MuXG4gICAqL1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBwYWdlIG1hcmdpblxuICAgKi9cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207XG4gIH1cbiAgLyoqXG4gICAqIFVuZGVybGluZSBhbGwgbGlua3NcbiAgICovXG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLyoqXG4gICAqIFNob3cgVVJMIGFmdGVyIGxpbmtzXG4gICAqL1xuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuICAvKipcbiAgICogRG9uJ3Qgc2hvdyBVUkwgZm9yIGludGVybmFsIGxpbmtzXG4gICAqL1xuICBhW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBtaW5pbXVtIG51bWJlciBvZiBsaW5lcyB0byBwcmludCBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgYSBwYWdlLlxuICAgKi9cbiAgcCxcbiAgaDEsIGgyLCBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cbiAgLyoqXG4gICAqIEF2b2lkIGluc2VydGluZyBhIHBhZ2UgYnJlYWsgYWZ0ZXIgaGVhZGVyc1xuICAgKi9cbiAgaDEsIGgyLCBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbiAgLyoqXG4gICAqIENoYW5nZSBib3JkZXIgY29sb3Igb24gYmxvY2txdW90ZXMgYW5kIHByZWZvcm1hdHRlZCB0ZXh0LlxuICAgKiBBdm9pZCBwYWdlIGJyZWFrcyBpbnNpZGUgdGhlIGNvbnRlbnRcbiAgICovXG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICAvKipcbiAgICogRGlzcGxheWVkIGFzIGEgdGFibGUgaGVhZGVyIHJvdyBncm91cFxuICAgKi9cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuICAvKipcbiAgICogQXZvaWQgaW5zZXJ0aW5nIGEgcGFnZSBicmVhayBpbnNpZGUgdGFibGUgcm93cyBhbmQgaW1hZ2VzXG4gICAqL1xuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbn1cbi8qLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAgQmFja2dyb3VuZHMgICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tKi9cbi5iZy1hY2NlbnQsIC5iZy1wcmltYXJ5LCAuYmctYmxhY2sge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5iZy1hY2NlbnQgYSwgLmJnLXByaW1hcnkgYSwgLmJnLWJsYWNrIGEge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uYmctZ3JhZGllbnQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDIyNWRlZywgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0KSAwJSwgdmFyKC0tY29sb3ItcHJpbWFyeSkgODUlLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAxMDAlKTtcbn1cblxuLmJnLWdyYWRpZW50LXJldmVyc2Uge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI1ZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpIDMwJSwgdmFyKC0tY29sb3ItcHJpbWFyeSkgNjUlLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KSAxMDAlKTtcbn1cblxuLmJnLWdyYWRpZW50LWFsdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCkgMCUsIHZhcigtLWNvbG9yLXByaW1hcnkpIDg1JSwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTAwJSk7XG59XG5cbi5iZy1ncmFkaWVudC1hbHQtbGlnaHQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpIDI1JSwgdmFyKC0tY29sb3ItcHJpbWFyeSkgNTUlLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KSAxMDAlKTtcbn1cblxuLmJnLWdyYWRpZW50LWFsdC1saWdodC1yZXZlcnNlIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMjVkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCkgMCUsIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpIDU1JSwgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodGVzdCkgMTAwJSk7XG59XG5cbi5iZy1ncmFkaWVudC12ZXJ0aWNhbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCkgMCUsIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCkgMzAlLCB2YXIoLS1jb2xvci1wcmltYXJ5LW1pZGRsZSkgNjAlLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KSAxMDAlKTtcbn1cblxuLmJnLWdyYWRpZW50LXZlcnRpY2FsLWFsdCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCkgMCUsIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpIDg1JSwgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCkgMTAwJSk7XG59XG5cbi5iZy1ncmFkaWVudC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoN2RlZywgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0KSAwJSwgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0KSA2NSUsIHZhcigtLWNvbG9yLXByaW1hcnkpIDEwMCUpO1xufVxuXG4uYmctbXV0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LWxpZ2h0ZXIpO1xufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5iZy1ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCk7XG59XG5cbi5iZy1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG59XG5cbi5iZy1hY2NlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4uYmctc2VtaS10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLmJnLXNlbWktdHJhbnNwYXJlbnQtZGFyayB7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyZW0pO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi5iZy1zZW1pLXRyYW5zcGFyZW50LWxpZ2h0IHtcbiAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDJlbSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE0LCAyMTEsIDIwMSwgMC4yKTtcbn1cblxuaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKipcbiAqIEBzZWN0aW9uIE1haW4gTmF2XG4gKiBTdHlsaW5nIGZvciB0aGUgbWFpbiBuYXZpZ2F0aW9uIGFyZWFcbiAqL1xuLmpzLWhhbWJ1cmdlciAubmF2LWV4cGFuZGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi8qKlxuICogVGhlIG5hdmlnYXRpb24gd3JhcHBlclxuICovXG4ubmF2LXdyYXAge1xuICBmb250LXNpemU6IDAuOWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZy10b3A6IDEuNzJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubmF2LXdyYXAgLmhhbWJ1cmdlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogODBlbSkge1xuICAuanMtaGFtYnVyZ2VyIC5uYXYtd3JhcCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICAgIGNvbHVtbi1nYXA6IDFlbTtcbiAgICBwYWRkaW5nOiAxZW0gMC41ZW0gMC41ZW07XG4gIH1cbiAgLmpzLWhhbWJ1cmdlciAubmF2LXdyYXAgLmxvZ28ge1xuICAgIGdyaWQtYXJlYTogMS8xLzIvMjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5qcy1oYW1idXJnZXIgLm5hdi13cmFwIC5uYXYtbWVudSB7XG4gICAgZ3JpZC1hcmVhOiAyLzEvMy8zO1xuICB9XG4gIC5qcy1oYW1idXJnZXIgLm5hdi13cmFwIC5oYW1idXJnZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGdyaWQtYXJlYTogMS8yLzIvMztcbiAgfVxuICAuanMtaGFtYnVyZ2VyIC5uYXYtd3JhcCAuanMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAubmF2LXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgbG9nb1xuICovXG4ubG9nbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAubG9nbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuLmxvZ28sIC5sb2dvOmZvY3VzIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5sb2dvOmFjdGl2ZSwgLmxvZ286aG92ZXIge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4vKipcbiAqIFRoZSBuYXZpZ2F0aW9uIG1lbnVcbiAqL1xuLm5hdiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIC8qKlxuICAgKiBEcm9wZG93blxuICAgKi9cbiAgLyoqXG4gICAqIFBvc2l0aW9uIHRoZSBkcm9wZG93biBjb250ZW50XG4gICAqL1xuICAvKipcbiAgICogU3R5bGUgdGhlIGRyb3Bkb3duIGxpc3RcbiAgICovXG59XG4ubmF2IGEge1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4ubmF2IGE6aG92ZXI6bm90KC5idG4pLFxuLm5hdiBhOmFjdGl2ZTpub3QoLmJ0biksXG4ubmF2IGE6Zm9jdXM6bm90KC5idG4pLFxuLm5hdiAuYWN0aXZlOm5vdCguYnRuKSB7XG4gIGJvcmRlci1ib3R0b206IDAuMTI1ZW0gc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cbi5uYXYgW2FyaWEtY3VycmVudD1wYWdlXTpub3QoLmJ0bikge1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG59XG5AbWVkaWEgKG1heC13aWR0aDogODBlbSkge1xuICAuanMtaGFtYnVyZ2VyIC5uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogODBlbSkge1xuICAuanMtaGFtYnVyZ2VyIC5uYXYgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwLjVlbSAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbi5uYXYgZGV0YWlscyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAvKiBzdHlsZXMgdGhlIGRyb3AgZG93biBhcnJvdyAqL1xufVxuLm5hdiBkZXRhaWxzID4gc3VtbWFyeTpmaXJzdC1vZi10eXBlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG59XG4ubmF2IGRldGFpbHMgPiBzdW1tYXJ5OmZpcnN0LW9mLXR5cGU6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC01cHg7XG4gIHRvcDogMTBweDtcbn1cbi5uYXYgZGV0YWlscyB1bCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspO1xuICBib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4gIG1pbi13aWR0aDogMTllbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0b3A6IDIuNWVtO1xuICBsZWZ0OiAtMmVtO1xuICB6LWluZGV4OiA5OTk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4ubmF2IGRldGFpbHMgdWwgbGkge1xuICBwYWRkaW5nOiAwLjI1ZW0gMC41ZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogODBlbSkge1xuICAuanMtaGFtYnVyZ2VyIC5uYXYgZGV0YWlscyB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRvcDogdW5zZXQ7XG4gICAgbGVmdDogdW5zZXQ7XG4gIH1cbiAgLmpzLWhhbWJ1cmdlciAubmF2IGRldGFpbHMgdWwgbGkge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn0iLCIvLyBAc2VjdGlvbiBDb25maWd1cmF0aW9uIFNldHRpbmdzXG4vLyBBZGp1c3QgY29sb3JzLCBmb250IHN0YWNrcywgYnJlYWtwb2ludHMgYW5kIHNpemluZy5cbi8vXG4vLyBUeXBvZ3JhcGhpYyBTY2FsZVxuLy8gKEZvciBtYXRoIHB1cnBvc2VzLiBBY3R1YWwgZm9udCBzaXplcyBpbiBlbXMuKVxuLy8gMXB4LCA0cHgsIDVweCwgOHB4LCA5cHgsIDExcHgsIDEycHgsIDEzcHgsIDE1cHgsIDE2cHgsIDE5cHgsIDIxcHgsIDI0cHgsIDI4cHgsIDMycHgsIDQ4cHgsIDY0cHgsIDgwcHgsIDk2cHhcbi8vIGxpbmUgaGVpZ2h0OiAxLjVlbSBvbiBzbWFsbCBzY3JlZW5zLCAxLjU2MjVlbSBvbiBiaWcgc2NyZWVuc1xuXG5cbi8vIEJyZWFrcG9pbnRzXG4kYnAteHNtYWxsOiAyMGVtO1xuJGJwLXNtYWxsOiAzMGVtO1xuJGJwLW1lZGl1bTogMzhlbTtcbiRicC1sYXJnZTogODBlbTtcbiRicC14bGFyZ2U6IDkwZW07XG5cbi8qKlxuICogQ29uZmlnc1xuICovXG46cm9vdCB7XG5cbiAgICAvKiBDb2xvcnMgKi9cbiAgICAtLWNvbG9yLXByaW1hcnk6ICMyNTU5NjQ7XG4gICAgLS1jb2xvci1wcmltYXJ5LWRhcms6ICMxZTMyM2U7XG4gICAgLS1jb2xvci1wcmltYXJ5LWRhcmtlc3Q6ICMxMTExMTE7XG4gICAgLS1jb2xvci1wcmltYXJ5LW1pZGRsZTogIzA5NjA2OTtcbiAgICAtLWNvbG9yLXByaW1hcnktbGlnaHQ6ICMyMzkzOTU7XG4gICAgLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXN0OiAjNjdhM2E2O1xuICAgIC0tY29sb3Itc2Vjb25kYXJ5OiAjZjhkNzQ5O1xuICAgIC0tY29sb3Itc2Vjb25kYXJ5LWRhcms6ICNEMUI2M0Q7XG4gICAgLS1jb2xvci1hY2NlbnQ6ICNiNzdiMGI7XG4gICAgLS1jb2xvci1hY2NlbnQtZGFyazogIzk0NkMzNDtcbiAgICAtLWNvbG9yLWNvZGU6ICNkZDExNDQ7XG4gICAgLS1jb2xvci1oaWdobGlnaHQ6ICNmYmY5Yzk7XG5cbiAgICAtLWNvbG9yLWNoZWNrOiAjNTdjOTEzO1xuICAgIC0tY29sb3ItZ3JheTogI2Y0ZjNmMDtcblxuICAgIC0tY29sb3ItaHItbGluZTogI2U2ZTZlNDtcblxuICAgIC0tY29sb3ItYmxhY2s6ICMyNzI3Mjc7XG4gICAgLS1jb2xvci13aGl0ZTogI2ZmZmZmZjtcbiAgICAtLWNvbG9yLWdyYXktZGFyazogIzgwODA4MDtcbiAgICAtLWNvbG9yLWdyYXktZGFya2VyOiAjNTU1NTU1O1xuICAgIC0tY29sb3ItZ3JheS1tZWRpdW06ICNkNmQzYzk7XG4gICAgLS1jb2xvci1ncmF5LWxpZ2h0OiAjZTVlNWU1O1xuICAgIC0tY29sb3ItZ3JheS1saWdodGVyOiAjZjdmN2Y3O1xuXG4gICAgLyogRm9udHMgKi9cbiAgICAtLWZvbnQtcHJpbWFyeTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgLS1mb250LW1vbm9zcGFjZTogTWVubG8sIE1vbmFjbywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG5cbiAgICAvKiBGb3JtIENvbG9ycyAqL1xuICAgIC0tY29sb3ItZm9ybS1iZzogI2Y0ZjNlZjtcblxuICAgIC8qIFNpemVzICovXG4gICAgLS1mb250LXNpemU6IDExMi41JTtcbiAgICAtLXNwYWNpbmc6IDEuNTYyNWVtO1xuICAgIC0tY29udGFpbmVyLXdpZHRoOiA5MiU7XG4gICAgLS1jb250YWluZXItbWF4LXdpZHRoOiA2MmVtO1xuICAgIC0tY29udGFpbmVyLW1lZGl1bS1tYXgtd2lkdGg6IDcwZW07XG4gICAgLS1jb250YWluZXItd2lkZS1tYXgtd2lkdGg6IDc3ZW07XG4gICAgLS1jb250YWluZXIteHdpZGUtbWF4LXdpZHRoOiA4MmVtO1xuICAgIC0tY29udGFpbmVyLW5hcnJvdy1tYXgtd2lkdGg6IDQ0ZW07XG4gICAgLS1jb250YWluZXItbmFycm93LXBsdXMtbWF4LXdpZHRoOiA1NmVtO1xuICAgIC0tY29udGFpbmVyLXRpbnktbWF4LXdpZHRoOiAzMmVtO1xuICAgIC0tYm9keS1tYXgtd2lkdGg6IDEwN2VtO1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRicC1sYXJnZSkge1xuICAgICAgICAtLWZvbnQtc2l6ZTogMTA2LjI1JVxuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtbWVkaXVtKSB7XG4gICAgICAgIC0tZm9udC1zaXplOiAxMDAlO1xuICAgIH1cblxufSIsIi8qKlxuICogQHNlY3Rpb24gQ1NTIFJlc2V0XG4gKiBBZGFwdGVkIGZyb20gQW5keSBCZWxsJ3MgbW9kZXJuIENTUyByZXNldFxuICogQGxpbmsgaHR0cHM6Ly9oYW5rY2hpemxqYXcuY29tL3dyb3RlL2EtbW9kZXJuLWNzcy1yZXNldC9cbiAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgdGFwIGRlbGF5IGluIHdlYmtpdFxuICogQGxpbmsgaHR0cHM6Ly9tZWRpdW0uY29tL0BhZGFjdGlvL2RlbGF5LWE5ZGY5ZWRjZWVmMyMuN2RtYmwzeG93XG4gKi9cbmEsXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhLFxubGFiZWwsXG5zdW1tYXJ5IHtcblx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbi8qKlxuICogQWRkIGJveCBzaXppbmcgdG8gZXZlcnl0aGluZ1xuICogQGxpbmsgaHR0cDovL3d3dy5wYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0dy9cbiAqL1xuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qKlxuICogMS4gRm9yY2Ugc2Nyb2xsYmFyIGRpc3BsYXkgdG8gcHJldmVudCBqdW1waW5nIG9uIHBhZ2VzLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cbmh0bWwge1xuXHRvdmVyZmxvdy15OiBzY3JvbGw7IC8qIDEgKi9cblx0dGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICogMi4gRm9yIHRoZSBib2R5IHRvIGZpbGwgdGhlIHZpZXdwb3J0XG4gKi9cbmJvZHkge1xuXHRtYXJnaW46IDA7IC8qIDEgKi9cblx0bWluLWhlaWdodDogMTAwdmg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IGltZyBhbmQgdmlkZW8gZWxlbWVudHMgZnJvbSBzcGlsbGluZyBvdXRzaWRlIG9mIHRoZSBwYWdlIG9uIHNtYWxsZXIgc2NyZWVucy5cbiAqL1xuaW1nLFxudmlkZW8ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGlmcmFtZSwgb2JqZWN0LCBhbmQgZW1iZWQgZWxlbWVudHMgZnJvbSBzcGlsbGluZyBvdXRzaWRlIG9mIHRoZSBwYWdlIG9uIHNtYWxsZXIgc2NyZWVucy5cbiAqIGhlaWdodDogYXV0byBjYXVzZXMgaWZyYW1lcyB0byBzbXVzaCwgc28gaXQncyBvbWl0dGVkIGhlcmUuXG4gKi9cbmlmcmFtZSxcbm9iamVjdCxcbmVtYmVkIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xufVxuXG5zdW1tYXJ5IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qKlxuICogQHdvcmthcm91bmQgUmVtb3ZlIGZvY3VzIGZyb20gdGFiaW5kZXg9XCItMVwiIGVsZW1lbnRzIHdoaWNoIGFyZSBvbmx5IHNjcmlwdCBmb2N1c2FibGVcbiAqIEBsaW5rIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0zNzcyMVxuICovXG5bdGFiaW5kZXg9XCItMVwiXTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbn0iLCIvKipcbiAqIEBzZWN0aW9uIEdyaWRcbiAqIFN0cnVjdHVyZSBhbmQgbGF5b3V0XG4gKi9cblxuLyoqXG4gKiBCYXNlIHdyYXBwZXIgY2xhc3NcbiAqL1xuLmNvbnRhaW5lciB7XG5cdEBleHRlbmQgLmNsZWFyZml4O1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1tYXgtd2lkdGgpO1xuXHR3aWR0aDogdmFyKC0tY29udGFpbmVyLXdpZHRoKTtcbn1cblxuLmNvbnRhaW5lci13aWRlIHtcblx0bWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItd2lkZS1tYXgtd2lkdGgpO1xufVxuXG4uY29udGFpbmVyLXh3aWRlIHtcblx0bWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXIteHdpZGUtbWF4LXdpZHRoKTtcbn1cblxuLmNvbnRhaW5lci1tZWRpdW0ge1xuXHRtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1tZWRpdW0tbWF4LXdpZHRoKTtcbn1cblxuLmNvbnRhaW5lci1uYXJyb3cge1xuXHRtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1uYXJyb3ctbWF4LXdpZHRoKTtcbn1cblxuLmNvbnRhaW5lci1uYXJyb3ctcGx1cyB7XG5cdG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLW5hcnJvdy1wbHVzLW1heC13aWR0aCk7XG59XG5cbi5jb250YWluZXItdGlueSB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItdGlueS1tYXgtd2lkdGgpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cdC5jb250YWluZXItbGVmdCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRicC14bGFyZ2UpIHtcblx0LmNvbnRhaW5lciAuY29udGFpbmVyIHtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG5cbi8qKlxuICogR3JpZHNcbiAqL1xuXG5AbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cblx0LnJvdyB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBhdXRvO1xuXHRcdGNvbHVtbi1nYXA6IDAuNzVlbTtcblx0fVxuXG5cdC5yb3ctY2VudGVyIHtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cblx0LnJvdy1nYXAtbWVkaXVtIHtcblx0XHRjb2x1bW4tZ2FwOiB2YXIoLS1zcGFjaW5nKTtcblx0fVxuXG5cdC5yb3ctZ2FwLWxhcmdlIHtcblx0XHRjb2x1bW4tZ2FwOiAyLjE4NzVlbTtcblx0fVxuXG5cdC5yb3ctZ2FwLXhsYXJnZSB7XG5cdFx0Y29sdW1uLWdhcDogM2VtO1xuXHR9XG5cblx0LnJvdy1nYXAteHhsYXJnZSB7XG5cdFx0Y29sdW1uLWdhcDogNGVtO1xuXHR9XG5cblx0LnJvdy1uby1nYXAge1xuXHRcdGdhcDogMDtcblx0fVxuXG5cdC5yb3ctYXV0byB7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4oMTAwJSwgMTVlbSksIDFmcikpO1xuXHR9XG5cblx0LmdyaWQtZm91cnRoIHtcblx0XHRncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gMztcblx0fVxuXG5cdC5ncmlkLXRoaXJkIHtcblx0XHRncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gNDtcblx0fVxuXG5cdC5ncmlkLXR3by1maWZ0aHMge1xuXHRcdGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiA1O1xuXHR9XG5cblx0LmdyaWQtdHdvLXRoaXJkcyB7XG5cdFx0Z3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDg7XG5cdH1cblxuXHQuZ3JpZC1oYWxmIHtcblx0XHRncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gNjtcblx0fVxuXG5cdC5ncmlkLXRocmVlLWZpZnRocyB7XG5cdFx0Z3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDc7XG5cdH1cblxuXHQuZ3JpZC10aHJlZS1mb3VydGhzIHtcblx0XHRncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gOTtcblx0fVxuXG5cdC5ncmlkLWZ1bGwge1xuXHRcdGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiAxMjtcblx0fVxuXG5cdFtjbGFzcyo9XCJncmlkLXN0YXJ0LVwiXSB7XG5cdFx0Z3JpZC1yb3ctc3RhcnQ6IDE7XG5cdH1cblxuXHQuZ3JpZC1zdGFydC1maXJzdCB7XG5cdFx0Z3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG5cdH1cblxuXHQuZ3JpZC1zdGFydC1maWZ0aCB7XG5cdFx0Z3JpZC1jb2x1bW4tc3RhcnQ6IDI7XG5cdH1cblxuXHQuZ3JpZC1zdGFydC1mb3VydGgtbWludXMge1xuXHRcdGdyaWQtY29sdW1uLXN0YXJ0OiAzO1xuXHR9XG5cblx0LmdyaWQtc3RhcnQtZm91cnRoIHtcblx0XHRncmlkLWNvbHVtbi1zdGFydDogMztcblx0fVxuXG5cdC5ncmlkLXN0YXJ0LXRoaXJkIHtcblx0XHRncmlkLWNvbHVtbi1zdGFydDogNDtcblx0fVxuXG5cdC5ncmlkLXN0YXJ0LWhhbGYtbWludXMge1xuXHRcdGdyaWQtY29sdW1uLXN0YXJ0OiA1O1xuXHR9XG5cblx0LmdyaWQtc3RhcnQtaGFsZiB7XG5cdFx0Z3JpZC1jb2x1bW4tc3RhcnQ6IDc7XG5cdH1cblxuXHQuZ3JpZC1zdGFydC10d28tZmlmdGhzIHtcblx0XHRncmlkLWNvbHVtbi1zdGFydDogODtcblx0fVxuXG5cdC5ncmlkLXN0YXJ0LXR3by10aGlyZHMge1xuXHRcdGdyaWQtY29sdW1uLXN0YXJ0OiA5O1xuXHR9XG5cblx0LmdyaWQtc3RhcnQtdGhyZWUtZm91cnRocyB7XG5cdFx0Z3JpZC1jb2x1bW4tc3RhcnQ6IDEwO1xuXHR9XG5cbn1cblxuLyoqXG4gKiBHcmlkc1xuICovXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkYnAtbWVkaXVtKSB7XG5cblx0LnJvdy1zbWFsbCB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcblx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBhdXRvO1xuXHRcdGNvbHVtbi1nYXA6IDAuNzVlbTtcblxuXHRcdC5ncmlkLXRoaXJkIHtcblx0XHRcdGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiA0O1xuXHRcdH1cblxuXHRcdC5ncmlkLWhhbGYge1xuXHRcdFx0Z3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuIDY7XG5cdFx0fVxuXHR9XG5cbn1cblxuLy8gQG1lZGlhIChtaW4td2lkdGg6ICRicC1sYXJnZS1taWQpIHtcbi8vIFx0LnJvdy1sYXJnZS12aWV3cG9ydHMge1xuLy8gXHRcdGRpc3BsYXk6IGdyaWQ7XG4vLyBcdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG4vLyBcdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgYXV0bztcbi8vIFx0fVxuLy8gfSIsIi8qKlxuICogQHNlY3Rpb24gQ3VzdG9tIEdyaWQgTGF5b3V0c1xuICogU3RydWN0dXJlIGFuZCBsYXlvdXRcbiAqL1xuXG4uaGlnaGxpZ2h0cyB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0Y29sdW1uLWdhcDogMC41ZW07XG5cblx0JiA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmF5LWRhcmspO1xuXHRcdHBhZGRpbmctbGVmdDogMWVtO1xuXHR9XG59XG5cbi5yb3ctdGVzdGltb25pYWwge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRjb2x1bW4tZ2FwOiAwLjc1ZW07XG5cdG1hcmdpbi1ib3R0b206IDAuNWVtO1xuXHRwYWRkaW5nLXRvcDogMC41ZW07XG5cbiAgICBpbWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgfVxufVxuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcblxuXHQuc2VjdGlvbi1ibG9jayB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQuYmxvY2stZWxlbWVudCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcblx0XHRcdGhlaWdodDogMTJlbTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdFx0ei1pbmRleDogLTE7XG5cdFx0fVxuXG5cdFx0LmJsb2NrLWVsZW1lbnQtbGFyZ2Uge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG5cdFx0XHRoZWlnaHQ6IDI2ZW07XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdHotaW5kZXg6IC0xO1xuXHRcdH1cblx0fVxuXG5cdC5zZWN0aW9uLWJsb2NrLWFsdCB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHQuYmxvY2stZWxlbWVudCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcblx0XHRcdGhlaWdodDogMThlbTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0d2lkdGg6IDQyJTtcblx0XHRcdHotaW5kZXg6IC0xO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXHRcdH1cblx0fVxuXG5cbi5sb2dvLW92ZXJsYXktYWx0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxOGVtO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDU4cHg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9hbHQtd2F0ZXJtYXJrLnN2ZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlOyAvLyBvciBhdXRvXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgb3BhY2l0eTogMTAlOyAgXG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblx0LnNlY3Rpb24tYmxvY2stYW5kLWNhcm91c2VsIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNmZmZmZmYgMCUsICNmZmZmZmYgODAlLCAjMWUzMjNlIDgwJSwgIzFlMzIzZSAxMDAlKTtcblx0XHRtYXJnaW4tdG9wOiAtM2VtO1xuXHRcdHBhZGRpbmctdG9wOiA0ZW07XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0LnNlY3Rpb24tY2Fyb3VzZWwge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdH1cblx0fVxuXG5cdC5zZWN0aW9uLW5vLWJsb2NrLWNhcm91c2VsIHtcblx0XHRtYXJnaW4tdG9wOiAtM2VtO1xuXHRcdHBhZGRpbmctdG9wOiA0ZW07XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0LnNlY3Rpb24tY2Fyb3VzZWwge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR3aWR0aDogNDglO1xuXHRcdH1cblx0fVxuXG5cdC5zZWN0aW9uLW5vLWJsb2NrLWNhcm91c2VsLWFsdCB7XG5cdFx0bWFyZ2luLXRvcDogLTNlbTtcblx0XHRwYWRkaW5nLXRvcDogNGVtO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdC5zZWN0aW9uLWNhcm91c2VsIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogNTIlO1xuXHRcdH1cblx0fVxuXG5cdC5yb3ctb3Bwb3J0dW5pdHkge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdFx0Y29sdW1uLWdhcDogN2VtO1xuXG5cdFx0LmdyaWQtaW1nIHsgZ3JpZC1hcmVhOiAxIC8gMSAvIDMgLyA2OyB9XG5cdFx0LmdyaWQtaGVhZGluZyB7XG5cdFx0XHRncmlkLWFyZWE6IDEgLyA1IC8gMiAvIDExO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiA1LjVlbTtcblx0XHR9XG5cdFx0LmdyaWQtdGV4dCB7IGdyaWQtYXJlYTogMiAvIDYgLyAyIC8gMTA7IH1cblx0fVxuXG5cdC5yb3ctd2h5LWluLWJ1c2luZXNzIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXHRcdGNvbHVtbi1nYXA6IDA7XG5cblx0XHQuZ3JpZC1pbWcgeyBncmlkLWFyZWE6IDEgLyAxIC8gMyAvIDY7IH1cblx0XHQuZ3JpZC10ZXh0IHtcblx0XHRcdGdyaWQtYXJlYTogMiAvIDYgLyAyIC8gMTE7XG5cdFx0XHRwYWRkaW5nOiA4ZW0gNmVtIDhlbSA1ZW07XG5cdFx0fVxuXHR9XG5cblx0LnJvdy1ob21lLWFib3V0LXRvbnkge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdFx0Y29sdW1uLWdhcDogMWVtO1xuXG5cdFx0LmdyaWQtaW1nIHtcblx0XHRcdGdyaWQtYXJlYTogMSAvIDEgLyAzIC8gNztcblx0XHRcdG1hcmdpbi1yaWdodDogNmVtO1xuXHRcdH1cblx0XHQuZ3JpZC1oZWFkaW5nIHtcblx0XHRcdGdyaWQtYXJlYTogMSAvIDUgLyAyIC8gMTI7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDUuNWVtO1xuXHRcdH1cblx0XHQuZ3JpZC10ZXh0IHtcblx0XHRcdGdyaWQtYXJlYTogMiAvIDYgLyAyIC8gMTA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDNlbTtcblx0XHR9XG5cdH1cblxuXHQucm93LWtub3dpbmcge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdFx0Y29sdW1uLWdhcDogNmVtO1xuXG5cdFx0LmdyaWQtaW1nIHsgZ3JpZC1hcmVhOiAxIC8gMSAvIDMgLyA4OyB9XG5cdFx0LmdyaWQtaGVhZGluZyB7XG5cdFx0XHRncmlkLWFyZWE6IDEgLyA1IC8gMiAvIDEzO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyZW07XG5cdFx0fVxuXHRcdC5ncmlkLXRleHQgeyBncmlkLWFyZWE6IDIgLyA3IC8gMiAvIDEzOyB9XG5cdH1cblxuXHQucm93LW91dGNvbWVzIHtcblx0XHRtYXgtd2lkdGg6IDU0ZW07XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdH1cblxuXHQucm93LWhvbWUtYm9udXMge1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdHdpZHRoOiA4OCU7XG5cdH1cblxuXHQucm93LWZyYWN0aW9uIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuXHRcdGdyaWQtY29sdW1uLWdhcDogMWVtO1xuXHRcdHJvdy1nYXA6IDJlbTtcblxuXHRcdC5ncmlkLWltZyB7IGdyaWQtYXJlYTogMSAvIDEgLyAyIC8gNjsgfVxuXHRcdC5ncmlkLXRleHQgeyBncmlkLWFyZWE6IDEgLyA2IC8gMiAvIDExOyB9XG5cdFx0LmdyaWQtYm9udXMgeyBncmlkLWFyZWE6IDIgLyAyIC8gMyAvIDEzOyB9XG5cdH1cblxuXHQucm93LWNvbXByZXNzIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEyLCAxZnIpO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXG5cdFx0LmdyaWQtYmcge1xuXHRcdFx0Z3JpZC1hcmVhOiAxIC8gMSAvIDIgLyA5O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTtcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgyMjVkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspKTtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA5ZW07XG5cdFx0fVxuXG5cdFx0LmdyaWQtY29udGVudCB7IGdyaWQtYXJlYTogMSAvIDEgLyAyIC8gMTM7IH1cblx0fVxuXG5cdC5yb3ctYmxvZy1mZWF0dXJlZCB7XG5cdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuXHRcdGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDQsIDFmcik7XG5cdFx0Z2FwOiAxZW07XG5cblx0XHQuZ3JpZC1mZWF0dXJlZC1tYWluIHsgZ3JpZC1hcmVhOiAxIC8gMSAvIDUgLyAyOyB9XG5cdFx0LmdyaWQtZmVhdHVyZWQtMSB7IGdyaWQtYXJlYTogMSAvIDIgLyAyIC8gMzsgfVxuXHRcdC5ncmlkLWZlYXR1cmVkLTIgeyBncmlkLWFyZWE6IDIgLyAyIC8gMyAvIDM7IH1cblx0XHQuZ3JpZC1mZWF0dXJlZC0zIHsgZ3JpZC1hcmVhOiAzIC8gMiAvIDQgLyAzOyB9XG5cdFx0LmdyaWQtZmVhdHVyZWQtNCB7IGdyaWQtYXJlYTogNCAvIDIgLyA1IC8gMzsgfVxuXHR9XG5cbn1cblxuLnJvdy1hYm91dC10b255LWltZyB7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBpbWcudG9ueSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0MCU7XG4gICAgfVxuXG5cdC5ncmlkLWFjY2VudCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdC5ncmlkLWFjY2VudCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IC0xLjVlbTtcblx0XHRcdHJpZ2h0OiAtMi41ZW07XG5cdFx0fVxuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnAtbGFyZ2UpIHtcblx0LnJvdy1ibG9nLWZlYXR1cmVkIHtcblx0XHQuZ3JpZC1mZWF0dXJlZC1tYWluLFxuXHRcdC5ncmlkLWZlYXR1cmVkLTEsXG5cdFx0LmdyaWQtZmVhdHVyZWQtMixcblx0XHQuZ3JpZC1mZWF0dXJlZC0zLFxuXHRcdC5ncmlkLWZlYXR1cmVkLTQsIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0XHR9XG5cdH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRicC1tZWRpdW0pIHtcblxuXHQucm93LWZlYXR1cmVkLWNhcmQge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgYXV0bztcblx0XHRjb2x1bW4tZ2FwOiAxLjVlbTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdCAgICBtaW4taGVpZ2h0OiAwO1xuXG5cdFx0LmdyaWQtY2FyZC1pbWcge1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRcdGdyaWQtY29sdW1uOiBhdXRvIC8gc3BhbiA1O1xuXHRcdH1cblxuXHRcdC5ncmlkLWNhcmQtdGV4dCB7XG5cdFx0XHRncmlkLWNvbHVtbjogYXV0byAvIHNwYW4gNztcblx0XHRcdHBhZGRpbmc6IDFlbSAxZW0gMWVtIDA7XG5cdFx0fVxuXHR9XG5cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRicC1tZWRpdW0pIHtcblx0LnJvdy1mZWF0dXJlZC1jYXJkIC5ncmlkLWNhcmQtaW1nIHtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdG1pbi1oZWlnaHQ6IDE2ZW07XG5cdH1cblxuXHQucm93LWZlYXR1cmVkLWNhcmQgLmdyaWQtY2FyZC10ZXh0IHtcblx0XHRwYWRkaW5nOiAxZW0gMWVtIDFlbSAxZW07XG5cdH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRicC1sYXJnZSkge1xuXHQuZ3JpZC1iZy1zbWFsbCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMjI1ZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KSwgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKSk7XG5cdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDllbTtcblx0fVxuXG5cdC5yb3ctb3Bwb3J0dW5pdHksXG5cdC5yb3ctaG9tZS1hYm91dC10b255IHtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR3aWR0aDogODglO1xuXG5cdFx0LmdyaWQtaGVhZGluZyB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMmVtO1xuXHRcdH1cblxuXHRcdC5ncmlkLXRleHQge1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDJlbTtcblxuXHRcdFx0JiA+IC5wYWRkaW5nLWJvdHRvbS14bGFyZ2Uge1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucm93LW9wcG9ydHVuaXR5IGgyLnBhZGRpbmctdG9wLXhsYXJnZSB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cblxuXHQucm93LW9wcG9ydHVuaXR5IC5ncmlkLXRleHQucGFkZGluZy1ib3R0b20teGxhcmdlIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMi43NWVtO1xuXHR9XG5cblx0LnJvdy1vcHBvcnR1bml0eSAuZ3JpZC10ZXh0IC5wYWRkaW5nLWJvdHRvbS14bGFyZ2Uge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHR9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnAtbGFyZ2UpIHtcblx0LmdyaWQtYmctc21hbGwtYWx0IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCksIHZhcigtLWNvbG9yLXByaW1hcnktZGFyaykpO1xuXHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDllbTtcblx0fVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cdC5yb3ctdG9ueS1jb250aW51ZXMge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMTIsIDFmcik7XG5cdFx0Z3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG5cdFx0bWFyZ2luLXRvcDogLThlbTtcblxuXHRcdC5ncmlkLWJnIHtcblx0XHRcdGdyaWQtYXJlYTogMSAvIDUgLyAyIC8gMTM7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspO1xuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KSwgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKSk7XG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA5ZW07XG5cdFx0XHRtYXJnaW4tbGVmdDogNGVtO1xuXHRcdH1cblxuXHRcdC5ncmlkLWNvbnRlbnQge1xuXHRcdFx0Z3JpZC1hcmVhOiAxIC8gMSAvIDIgLyAxMztcblx0XHRcdHBhZGRpbmctdG9wOiAxMGVtO1xuXHRcdH1cblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJGJwLWxhcmdlKSB7XG5cdC5yb3ctdG9ueS1jb250aW51ZXMgLmdyaWQtY29udGVudC5wYWRkaW5nLXRvcC14bGFyZ2Uge1xuXHRcdHBhZGRpbmctdG9wOiAyZW07XG5cdH1cbn1cblxuLnJvdy1ibG9ja3F1b3RlIHtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogJGJwLWxhcmdlKSB7XG5cdFx0LmdyaWQtaWNvbiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcblx0XHRkaXNwbGF5OiBncmlkO1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDRmciAxZnI7XG5cdFx0Z3JpZC1jb2x1bW4tZ2FwOiAwLjVlbTtcblxuXHRcdC5ncmlkLWljb24geyBncmlkLWFyZWE6IDEgLyAxIC8gMiAvIDI7IH1cblx0XHQuZ3JpZC1xdW90ZSB7XG5cdFx0XHRmb250LXNpemU6IDEuNzVlbTtcblx0XHRcdGdyaWQtYXJlYTogMSAvIDIgLyAyIC8gMztcblx0XHR9XG5cdH1cbn1cblxuLmxvZ2luLWxvZ28ge1xuXHRAbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0fVxufVxuXG4vKiBoZXJvIHJlc3VsdHMgLSBhYm91dCBUb255IGludHJvICovXG4ucmVzdWx0cyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyOyBcbiAgICBnYXA6IDA7IFxuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcblxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICBoMyB7XG4gICAgICAgIC8qIHJlc2V0IGZvciB0aGlzIGVsZW1lbnQgKi9cbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjI1ZW07XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAuODVlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taWRkbGUge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsIDAuMjUpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LCAwLjI1KTtcbiAgICB9XG59XG5cbi8qIE15IFJlc3VsdHMgU2VjdGlvbiAtIEFib3V0IFRvbnkgKi9cbi5teS1yZXN1bHRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicC1sYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7ICAvLyBUd28gZXF1YWwgY29sdW1uc1xuICAgICAgICBncmlkLWdhcDogMjBweDsgICAgICAgICAgICAgICAgICAvLyBHYXAgYmV0d2VlbiBncmlkIGl0ZW1zXG5cbiAgICAgICAgJiA+IGRpdjpmaXJzdC1jaGlsZCB7ICAgICAgICAgICAgLy8gVGFyZ2V0aW5nIHRoZSBmaXJzdCBkaXZcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMzsgICAgICAgICAgICAvLyBTcGFubmluZyB0aGUgaGVhZGVyIGFjcm9zcyBib3RoIGNvbHVtbnNcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgICAgICAgICAgICAvLyBDZW50ZXJpbmcgdGhlIHRleHQgaW4gdGhlIGhlYWRlclxuICAgICAgICAgICAgXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwOyAgICAgICAgICAgICAgICAgICAvLyBSZXNldHRpbmcgZGVmYXVsdCBtYXJnaW4gZm9yIGNsZWFuIGRlc2lnblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyAgICAgICAgICAgIC8vIFNwYWNlIGFmdGVyIHRoZSBoZWFkZXIgZm9yIHRoZSB0ZXh0XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1hZ2VzIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDU1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgICAmID4gaW1nIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtNTVweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAyNDVweDtcbiAgICAgICAgICAgIGhlaWdodDogMjI1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcwNzA3O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNDAlO1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4vKiBIYWNrcyBmb3IgdGhpcyBwcmludCBkZXNpZ24gdGhhdCdzIHRyeWluZyBoYXJkIHRvIGJlIGEgd2Vic2l0ZSAqL1xuLyogdGhpcyBpcyBub3QgcHJldHR5IC0gYnV0IGl0IHdvcmtzIC0gYnV0IGl0J3MgZ3Jvc3MgKi9cbi5mZWVkLXNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC5oZWFkaW5nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucG9zdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1taWRkbGUpO1xuICAgICAgICBwYWRkaW5nOiA0NHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gICAgfVxuXG4gICAgLmZsZXgtYm94IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMWVtO1xuICAgIH1cblxuICAgIC5hdXRob3Ige1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgICAgICAgLmFydGljbGVzIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBnYXA6IDI1cHg7IC8qIEdhcCBiZXR3ZWVuIGNoaWxkIGVsZW1lbnRzICovXG5cbiAgICAgICAgICAgIC5wb3N0IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxOyAvKiBUaGlzIHdpbGwgbWFrZSBlYWNoIHBvc3QgdGFrZSB1cCBlcXVhbCB3aWR0aCAqL1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDJweCk7IC8qIFN1YnRyYWN0IHRoZSAxcHggYm9yZGVyIGZyb20gZWFjaCBzaWRlICovXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmEucmVhZC1tb3JlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAn4oaSJztcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvdHRvbTogLTNweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspO1xuICAgIH1cbn1cblxuXG4uZmxleC1oYWNrLXB1cnBvc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICYgPiBkaXYge1xuICAgICAgICAgICAgZmxleDogMTsgXG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAycHgpOyBcbiAgICAgICAgfVxuICAgIH1cbiAgICAucmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY29uc3RyYW50IHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzNjVweDtcbiAgICB9XG5cbiAgICAubGVmdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBoMywgc3BhbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAuNWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQtYWx0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yMTI1ZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLW1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuXG4uZml4ZWRpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicC1sYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLTgwcHg7XG4gICAgbWF4LXdpZHRoOiA1NjlweDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4ucm93LXRvbnktY29udGludWVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIC53YXRlcm1hcmstY3VzdG9tIHtcbi8vICAgICBoZWlnaHQ6IDE4ZW07XG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgIGJvdHRvbTogMDtcbi8vICAgICBsZWZ0OiAwO1xuLy8gICAgIHdpZHRoOiAxMDAlO1xuLy8gfVxuXG4vLyAud2F0ZXJtYXJrLWN1c3RvbTphZnRlciB7XG4vLyAgICAgY29udGVudDogXCJcIjtcbi8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgICAgdG9wOiA1OHB4O1xuLy8gICAgIHJpZ2h0OiAwO1xuLy8gICAgIGJvdHRvbTogMDtcbi8vICAgICBsZWZ0OiAwO1xuLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYWx0LXdhdGVybWFyay5zdmcpO1xuLy8gICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbi8vICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuLy8gICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbi8vICAgICBvcGFjaXR5OiAxMCU7XG4vLyAgICAgei1pbmRleDogMTtcbi8vICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbi8vIH1cbiIsIi8qKlxuICogQHNlY3Rpb24gVHlwb2dyYXBoeVxuICogU2V0cyBmb250IHN0eWxlcyBmb3IgZW50aXJlIHNpdGVcbiAqL1xuXG5odG1sIHtcblx0c2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbmJvZHkge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXByaW1hcnkpO1xuXHRmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZSk7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRtYXgtd2lkdGg6IHZhcigtLWJvZHktbWF4LXdpZHRoKTtcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXG5cdEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbWVkaXVtKSB7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTYyNTtcblx0fVxufVxuXG5wIHtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc3BhY2luZyk7XG59XG5cblxuLyoqXG4gKiBIeXBlcmxpbmsgc3R5bGluZ1xuICovXG5cbmEge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bztcblx0d29yZC13cmFwOiBicmVhay13b3JkO1xuXG5cdCY6YWN0aXZlLFxuXHQmOmZvY3VzLFxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTtcblx0fVxufVxuXG4ubGluay1hY2NlbnQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcblxuXHQmOmFjdGl2ZSxcblx0Jjpmb2N1cyxcblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC1kYXJrKTtcblx0fVxufVxuXG4ubGluay1uby11bmRlcmxpbmUge1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0JjphY3RpdmUsXG5cdCY6Zm9jdXMsXG5cdCY6aG92ZXIge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG59XG5cblxuLyoqXG4gKiBMaXN0IHN0eWxpbmdcbiAqL1xuXG51bCxcbm9sIHtcblx0bWFyZ2luOiAwIDAgdmFyKC0tc3BhY2luZykgMmVtO1xuXHRwYWRkaW5nOiAwO1xufVxuXG51bCB1bCxcbnVsIG9sLFxub2wgb2wsXG5vbCB1bCB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmRsLFxuZGQge1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cbmRkIHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZyk7XG59XG5cbmR0IHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQGJ1Z2ZpeCBQcmV2ZW50IHdlYmtpdCBmcm9tIHJlbW92aW5nIGxpc3Qgc2VtYW50aWNzXG4gKiAxLiBBZGQgYSBub24tYnJlYWtpbmcgc3BhY2VcbiAqIDIuIE1ha2Ugc3VyZSBpdCBkb2Vzbid0IG1lc3MgdXAgdGhlIERPTSBmbG93XG4gKi9cbiVsaXN0LXN0eWxlLW5vbmUge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW4tbGVmdDogMDtcblxuXHQmID4gbGk6OmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCJcXDIwMEJcIjsgLyogMSAqL1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTsgLyogMiAqL1xuXHR9XG59XG5cbi8qKlxuICogUmVtb3ZlcyBsaXN0IHN0eWxpbmcuXG4gKiBGb3Igc2VtYW50aWMgcmVhc29ucywgc2hvdWxkIG9ubHkgYmUgdXNlZCBvbiB1bm9yZGVyZWQgbGlzdHMuXG4gKi9cbi5saXN0LXVuc3R5bGVkIHtcblx0QGV4dGVuZCAlbGlzdC1zdHlsZS1ub25lO1xuXHRtYXJnaW4tbGVmdDogMmVtO1xufVxuXG4ubGlzdC1pY29ucyB7XG5cdEBleHRlbmQgJWxpc3Qtc3R5bGUtbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5saXN0LWl0ZW0taWNvbiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtZ3JvdzogMDtcblx0ZmxleC1zaHJpbms6IDA7XG5cdGNvbHVtbi1nYXA6IDFlbTtcblxuXHRzcGFuOmZpcnN0LWNoaWxkIHtcblx0XHRwYWRkaW5nLXRvcDogMC4yNWVtO1xuXHR9XG59XG5cbi8qKlxuICogRGlzcGxheSBsaXN0cyBvbiBhIHNpbmdsZSBsaW5lLlxuICovXG5cbi5saXN0LWlubGluZSB7XG5cdEBleHRlbmQgJWxpc3Qtc3R5bGUtbm9uZTtcblx0ZGlzcGxheTogZmxleDtcblx0Y29sdW1uLWdhcDogMWVtO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtbWVkaXVtKSB7XG5cdFx0Ji5saXN0LWlubGluZS1yZXNwb25zaXZlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXG5cdC8vIEBleHRlbmQgJWxpc3Qtc3R5bGUtbm9uZTtcblx0Ly8gbWFyZ2luLWxlZnQ6IC0wLjVlbTtcblx0Ly8gbWFyZ2luLXJpZ2h0OiAtMC41ZW07XG5cdC8vIHBhZGRpbmc6IDA7XG5cblx0Ly8gJiA+IGxpIHtcblx0Ly8gXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdC8vIFx0bWFyZ2luLWxlZnQ6IDAuNWVtO1xuXHQvLyBcdG1hcmdpbi1yaWdodDogMC41ZW07XG5cdC8vIH1cblxuXHQvLyBAbWVkaWEgKG1heC13aWR0aDogJGJwLW1lZGl1bSkge1xuXHQvLyBcdCYubGlzdC1pbmxpbmUtcmVzcG9uc2l2ZSA+IGxpIHtcblx0Ly8gXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHQvLyBcdH1cblx0Ly8gfVxufVxuXG4ubGlzdC1pbmxpbmUtd3JhcCB7XG5cdGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmxpc3QtaW5saW5lLWNlbnRlciB7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cdC5saXN0LWlubGluZS1yaWdodC1sYXJnZSB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBlbmQ7XG5cdH1cbn1cblxuLmxpc3QtaW5saW5lLXNwYWNlZCB7XG5cdGNvbHVtbi1nYXA6IDJlbTtcblx0Ly8gbWFyZ2luLWxlZnQ6IC0xZW07XG5cdC8vIG1hcmdpbi1yaWdodDogLTFlbTtcblxuXHQvLyAmID4gbGkge1xuXHQvLyBcdG1hcmdpbi1sZWZ0OiAxZW07XG5cdC8vIFx0bWFyZ2luLXJpZ2h0OiAxZW07XG5cdC8vIH1cbn1cblxuLmxpc3QtaW5saW5lLWRpdmlkZWQge1xuXG5cdCYgPiBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG5cdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCBjdXJyZW50Q29sb3I7XG5cdFx0cGFkZGluZy1sZWZ0OiAxLjI1ZW07XG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogJGJwLW1lZGl1bSkge1xuXHRcdCYubGlzdC1pbmxpbmUtcmVzcG9uc2l2ZSA+IGxpIHtcblx0XHRcdGJvcmRlci1sZWZ0OiBub25lO1xuXHRcdFx0Ly8gZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5saXN0LXNwbGl0IHtcblx0QGV4dGVuZCAubGlzdC1pbmxpbmU7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmxpc3QtYnJlYWRjcnVtYnMge1xuXHRAZXh0ZW5kIC5saXN0LWlubGluZTtcblx0QGV4dGVuZCAubGlzdC1pbmxpbmUtd3JhcDtcblx0Y29sdW1uLWdhcDogMDtcblx0bWFyZ2luLWxlZnQ6IDJlbTtcblx0cGFkZGluZy10b3A6IDFlbTtcblxuXHQmID4gbGkge1xuXHRcdGZvbnQtc2l6ZTogMC44MTI1ZW07XG5cblx0XHQmID4gYSB7XG5cdFx0XHRjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cblx0XHRcdCZbYXJpYS1jdXJyZW50PVwicGFnZVwiXSB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWN0aXZlLFxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYgPiBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG5cdFx0Y29udGVudDogXCI+XCI7XG5cdFx0bWFyZ2luLWxlZnQ6IDAuMjVlbTtcblx0XHRtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcblx0fVxuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtbWVkaXVtKSB7XG5cdFx0bWFyZ2luLWxlZnQ6IDA7XG5cdH1cbn1cblxuLmxpc3Qtc3BhY2VkIGxpIHtcblx0bWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4ubGlzdC1zcGFjZWQtbGFyZ2UgbGkge1xuXHRtYXJnaW4tYm90dG9tOiAxLjJlbTtcbn1cblxuXG4vKipcbiAqIEhlYWRpbmcgc3R5bGluZyBmb3IgaDEgdGhyb3VnaCBoNiBlbGVtZW50cy5cbiAqIEhlYWRpbmcgY2xhc3MgbGV0cyB5b3UgdXNlIG9uZSBoZWFkaW5nIHR5cGUgZm9yIHNlbWFudGljcywgYnV0IHN0eWxlIGl0IGFzIGFub3RoZXIgaGVhZGluZyB0eXBlLlxuICovXG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuXHRmb250LXdlaWdodDogOTAwO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRtYXJnaW46IDAgMCAxZW07XG5cdHBhZGRpbmc6IDFlbSAwIDA7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuaDEsXG4uaDEge1xuXHRmb250LXNpemU6IDJlbTtcblx0cGFkZGluZy10b3A6IC41ZW07XG5cblx0QG1lZGlhIChtaW4td2lkdGg6ICRicC14bGFyZ2UpIHtcblx0XHRmb250LXNpemU6IDIuNzVlbTtcblx0fVxufVxuXG4uaDEtaGVybyB7XG5cdGZvbnQtc2l6ZTogMi41ZW07XG5cblx0QG1lZGlhIChtaW4td2lkdGg6ICRicC14bGFyZ2UpIHtcblx0XHRmb250LXNpemU6IDMuNWVtO1xuXHR9XG59XG5cbmgyLFxuLmgyIHtcblx0Zm9udC1zaXplOiAxLjc1ZW07XG5cblx0QG1lZGlhIChtaW4td2lkdGg6ICRicC14bGFyZ2UpIHtcblx0XHRmb250LXNpemU6IDJlbTtcblx0fVxufVxuXG5oMyxcbi5oMyB7XG5cdGZvbnQtc2l6ZTogMS41ZW07XG5cblx0QG1lZGlhIChtaW4td2lkdGg6ICRicC14bGFyZ2UpIHtcblx0XHRmb250LXNpemU6IDEuN2VtO1xuXHR9XG59XG5cbmg0LCBoNSwgaDYsXG4uaDQsIC5oNSwgLmg2IHtcblx0Zm9udC1zaXplOiAxZW07XG59XG5cbmg0LFxuLmg0IHtcblx0Zm9udC1zaXplOiAwLjgxMjVlbTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG4vKipcbiAqIExpbmVzLCBRdW90ZXMgYW5kIEVtcGhhc2lzXG4gKi9cblxuIC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjYyNWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gfVxuXG4gLmN1c3RvbS1oMiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gfVxuXG4vKipcbiAqIExpbmVzXG4gKi9cbmhyIHtcblx0Ym9yZGVyOiAwO1xuXHRib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItaHItbGluZSk7XG5cdG1hcmdpbjogMmVtIGF1dG87XG59XG5cbi5saW5lLWFjY2VudC1jb2xvciB7XG5cdGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG59XG5cbi5saW5lLWRhcmsge1xuXHRib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LWRhcmspO1xufVxuXG4ubGluZS1hY2NlbnQge1xuXHRib3JkZXItdG9wOiAwLjI1ZW0gc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0d2lkdGg6IDRlbTtcblx0bWFyZ2luOiAxLjVlbSBhdXRvO1xufVxuXG4ubGluZS1hY2NlbnQtbGVmdCB7XG5cdG1hcmdpbjogMS41ZW0gYXV0byAxLjVlbSAwO1xufVxuXG4ubGluZS1hY2NlbnQtZnVsbCB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4ubGluZS1hY2NlbnQtcHJpbWFyeSB7XG5cdGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xufVxuXG4ubGluZS1hY2NlbnQtbGlnaHQge1xuXHRib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0ZXN0KTtcbn1cblxuLmxpbmUtY29tcGFjdCB7XG5cdG1hcmdpbi10b3A6IDAuNWVtO1xuXHRtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuLmxpbmUtb3ZlcmxheSB7XG5cdG1hcmdpbi10b3A6IC0yLjhlbTtcblxuXHQmID4gKiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRwYWRkaW5nOiAwIDAuMjVlbTtcblxuXHRcdC8vIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbWVkaXVtKSB7XG5cdFx0Ly8gXHRwYWRkaW5nOiAwIDJlbTtcblx0XHQvLyB9XG5cdH1cbn1cblxuLyoqXG4gKiBVc2UgYSBsaWdodGVyIHllbGxvdyBmb3IgYmV0dGVyIHJlYWRhYmlsaXR5XG4gKi9cbm1hcmsge1xuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cblxuLyoqXG4gKiBCbG9ja3F1b3Rlc1xuICovXG5cbmJsb2NrcXVvdGUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG5cdGZvbnQtc2l6ZTogMS4zNWVtO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHRtYXJnaW46IDAgMCB2YXIoLS1zcGFjaW5nKTtcblx0cGFkZGluZy1sZWZ0OiAwLjgxMjVlbTtcblx0cGFkZGluZy1yaWdodDogMC44MTI1ZW07XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuY2l0ZSB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtc2l6ZTogMC42MjVlbTtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRwYWRkaW5nLXRvcDogMC41ZW07XG59XG5cbi5jb2xvci1hY2NlbnQge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbn1cblxuLmNvbG9yLWFjY2VudC1kYXJrIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC1kYXJrKTtcbn1cblxuLmNvbG9yLXByaW1hcnkge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XHRcblxuLmNvbG9yLXByaW1hcnktZGFyayB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspO1xufVxuXG4uY29sb3ItcHJpbWFyeS1saWdodCB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbn1cblxuXG4udGV4dC1iZy1kYXJrIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblxuXHRhIHtcblx0XHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHR9XG59IiwiLyoqXG4gKiBAc2VjdGlvbiBDb2RlXG4gKiBTdHlsaW5nIGZvciBjb2RlIGFuZCBwcmVmb3JtYXR0ZWQgdGV4dC5cbiAqL1xuXG4gY29kZSxcbiBrYmQsXG4gcHJlLFxuIHNhbXAge1xuXHRmb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vc3BhY2UpO1xuXHRmb250LXNpemU6IDAuODc1ZW07XG59XG5cbmNvZGUge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItY29kZSk7XG5cdHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxucHJlIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS1saWdodGVyKTtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmcpO1xuXHRvdmVyZmxvdzogYXV0bztcblx0cGFkZGluZzogMC44MTI1ZW07XG5cdHRhYi1zaXplOiA0O1xuXHR3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG5cdHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcblxuXHRjb2RlIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRmb250LXNpemU6IDFlbTtcblx0fVxufSIsIi8qKlxuICogQHNlY3Rpb24gQnV0dG9uc1xuICogU3R5bGluZyBmb3IgQ1NTIGJ1dHRvbnMuXG4gKi9cblxuXG4vKipcbiAqIFByaW1hcnkgYnV0dG9uc1xuICovXG4uYnRuIHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0Ym9yZGVyLXJhZGl1czogMmVtO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGZvbnQtc2l6ZTogMC45Mzc1ZW07XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRsaW5lLWhlaWdodDogMS4yO1xuXHRtYXJnaW4tcmlnaHQ6IDAuMzEyNWVtO1xuXHRtYXJnaW4tYm90dG9tOiAwLjMxMjVlbTtcblx0cGFkZGluZzogMS4yMTI1ZW0gMy4zZW07XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuXHQmLFxuXHQmOmFjdGl2ZSxcblx0Jjpmb2N1cyxcblx0Jjpob3Zlcixcblx0Jjp2aXNpdGVkIHtcblx0XHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHR9XG5cblx0Jjpob3Zlcixcblx0JjphY3RpdmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC1kYXJrKTtcblx0XHRib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC1kYXJrKTtcblx0XHQvLyBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxufVxuXG5cbi8qKlxuICogU2Vjb25kYXJ5IGJ1dHRvbnNcbiAqL1xuLmJ0bi1zZWNvbmRhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcblx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcblxuXHQvLyAmLFxuXHQvLyAmOmZvY3VzLFxuXHQvLyAmOnZpc2l0ZWQge1xuXHQvLyBcdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdC8vIH1cblxuXHQmOmhvdmVyLFxuXHQmOmFjdGl2ZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdFx0Ym9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblx0fVxufVxuXG4vKipcbiAqIEFjY2VudCBidXR0b25zXG4gKi9cbi5idG4tdGVydGlhcnkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG5cblx0Jixcblx0JjphY3RpdmUsXG5cdCY6Zm9jdXMsXG5cdCY6aG92ZXIsXG5cdCY6dmlzaXRlZCB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuXHR9XG5cblx0Jjpob3Zlcixcblx0JjphY3RpdmUge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXkpO1xuXHRcdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG5cdH1cbn1cblxuLyoqXG4gKiBCdXR0b24gc3R5bGVkIGxpa2UgYSBsaW5rXG4gKi9cbi5idG4tbGluayB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IDA7XG5cdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XG5cdGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cblx0Jixcblx0Jjpmb2N1cyxcblx0Jjp2aXNpdGVkIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6YWN0aXZlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG5cdH1cblxufVxuXG5cbi8qKlxuICogQWN0aXZlIHN0YXRlXG4gKi9cbi5idG46YWN0aXZlIHtcblx0Ym94LXNoYWRvdzogaW5zZXQgMCAwLjE1NjI1ZW0gMC4yNWVtIHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMXB4IDAuMTU2MjVlbSByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXHRvdXRsaW5lOiAwO1xufVxuXG5cbi8qKlxuICogRGlzYWJsZWQgc3RhdGVcbiAqL1xuLmJ0bltkaXNhYmxlZF0ge1xuXHRib3gtc2hhZG93OiBub25lO1xuXHRjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXHRvcGFjaXR5OiAwLjU7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi8qKlxuICogQnV0dG9uIHNpemVcbiAqL1xuXG4uYnRuLWxhcmdlIHtcblx0Zm9udC1zaXplOiAxLjJlbTtcblx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0Ly8gcGFkZGluZzogMC42ODc1ZW0gMC45Mzc1ZW07XG59XG5cbi5idG4tc21hbGwge1xuXHRwYWRkaW5nOiAwLjVlbSAyZW07XG59XG5cbi5idG4td2lkZSB7XG5cdHBhZGRpbmctbGVmdDogN2VtO1xuXHRwYWRkaW5nLXJpZ2h0OiA3ZW07XG59XG5cbi5idG4tbmFycm93IHtcblx0cGFkZGluZy1sZWZ0OiAxZW07XG5cdHBhZGRpbmctcmlnaHQ6IDFlbTtcbn1cblxuLmJ0bi1jaXJjbGUge1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdHBhZGRpbmc6IDAuNDVlbTtcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0aGVpZ2h0OiAyZW07XG5cdHdpZHRoOiAyZW07XG59XG5cblxuLyoqXG4gKiBCbG9jay1sZXZlbCBidXR0b25zXG4gKi9cbi5idG4tYmxvY2sge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG5cbi8qKlxuICogR2VuZXJhbCBzdHlsZXNcbiAqL1xuLmJ0bixcbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuXG4vKipcbiAqIFJlbW92ZSByaWdodCBtYXJnaW4gb24gbGFzdCBlbGVtZW50IGFuZCBpbnB1dHNcbiAqL1xuLmJ0bjpsYXN0LWNoaWxkLFxuaW5wdXQuYnRuIHtcblx0bWFyZ2luLXJpZ2h0OiAwO1xufSIsIi8qKlxuICogQHNlY3Rpb24gRm9ybXNcbiAqIFN0eWxpbmcgZm9yIGZvcm0gZWxlbWVudHMuXG4gKi9cblxuZm9ybSxcbmZpZWxkc2V0IHtcblx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZyk7XG59XG5cbmZpZWxkc2V0IHtcblx0Ym9yZGVyOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG5sZWdlbmQsXG5sYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmb250LXNpemU6IDAuOTM3NWVtO1xuXHQvLyBtYXJnaW46IDAgMCAwLjMxMjVlbTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JheS1kYXJrZXIpOyAvKiAxICovXG5cdGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cblx0bWFyZ2luOiAwOyAvKiAzICovXG5cdHBhZGRpbmc6IDAuMzEyNWVtO1xufVxuXG5pbnB1dCxcbnRleHRhcmVhLFxuc2VsZWN0IHtcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS1saWdodGVyKTtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheS1saWdodCk7XG5cdC8vIGJveC1zaGFkb3c6IGluc2V0IDAuMzc1ZW0gMC4zNzVlbSAwLjM3NWVtIHZhcigtLWNvbG9yLWdyYXktbWVkaXVtKSwgaW5zZXQgLTAuMzc1ZW0gLTAuMzc1ZW0gMC4zNzVlbSB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHQvLyBtYXJnaW4tYm90dG9tOiAxLjE4NzVlbTtcblx0bWFyZ2luLWJvdHRvbTogMC41ZW07XG5cdHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcblxuXHRAbWVkaWEgKG1pbi13aWR0aDogJGJwLW1lZGl1bSkge1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjU2MjU7XG5cdH1cbn1cblxuaW5wdXQge1xuXHRib3JkZXItcmFkaXVzOiAyZW07XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpO1xuICAgIH1cbn1cblxuZm9ybS5uby1yYWRpdXMge1xuICAgIGlucHV0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG59XG5cbmZvcm0gYnV0dG9uOm5vdCguYnRuLXNlYXJjaCksXG5mb3JtIC5idG46bm90KC5idG4tc2VhcmNoKSB7XG5cdG1hcmdpbi1ib3R0b206IDEuMTg3NWVtO1xufVxuXG50ZXh0YXJlYSB7XG5cdGhlaWdodDogOGVtO1xuXHRvdmVyZmxvdzogYXV0bztcblx0cmVzaXplOiB2ZXJ0aWNhbDtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpO1xuICAgIH1cbn1cblxuW3R5cGU9XCJpbWFnZVwiXSxcblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGhlaWdodDogYXV0bztcblx0bWFyZ2luLWJvdHRvbTogMC4zMTI1ZW07XG5cdHBhZGRpbmc6IDA7XG5cdHdpZHRoOiBhdXRvO1xufVxuXG5pbnB1dDpmb2N1cyxcbnRleHRhcmVhOmZvY3VzIHtcblx0Ym9yZGVyLWNvbG9yOiByZ2JhKDgyLCAxNjgsIDIzNiwgMC44KTtcbn1cblxuXG4vKipcbiAqIElubGluZSBpbnB1dHNcbiAqL1xuLmlucHV0LWlubGluZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0d2lkdGg6IGF1dG87XG59XG5cblxuLyoqXG4gKiBDb25kZW5zZWQgaW5wdXRzXG4gKi9cbi5pbnB1dC1jb25kZW5zZWQge1xuXHRwYWRkaW5nOiAxcHggMC4zMTI1ZW07XG5cdGZvbnQtc2l6ZTogMC45Mzc1ZW07XG59XG5cbi8qKlxuICogTGFyZ2UgaW5wdXRzXG4gKi9cbi5pbnB1dC1sYXJnZSB7XG5cdHBhZGRpbmc6IDEuNWVtIDNlbTtcbn1cblxuXG4vKipcbiAqIFNlYXJjaFxuICovXG5cblxuLyoqXG4gKiBDcmVhdGUgcm91bmRlZCBzZWFyY2ggYmFyXG4gKi9cbi5pbnB1dC1zZWFyY2gge1xuXHR3aWR0aDogODUlO1xuXHRwYWRkaW5nLWxlZnQ6IDJlbTtcblx0cGFkZGluZy1yaWdodDogMmVtO1xuXHRib3JkZXItcmFkaXVzOiAzZW07XG5cdC8vIHRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2UtaW47XG5cblx0QG1lZGlhIChtaW4td2lkdGg6ICRicC1tZWRpdW0pIHtcblx0XHRwYWRkaW5nLXJpZ2h0OiAxNGVtO1xuXHR9XG59XG5cblxuLyoqXG4gKiBTcGVjaWFsIHN0eWxpbmcgZm9yIHNlYXJjaCBpY29uIGFzIGJ1dHRvblxuICovXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkYnAtbWVkaXVtKSB7XG5cdC5idG4tc2VhcmNoIHtcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0Ly8gY29sb3I6IHZhcigtLWNvbG9yLWdyYXktZGFyayk7XG5cdFx0Ly8gYm9yZGVyOiBub25lO1xuXHRcdC8vIGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0bWFyZ2luLWxlZnQ6IC0xMi4zNWVtO1xuXHRcdG1hcmdpbi1ib3R0b206IDAuNWVtO1xuXG5cdFx0Ly8gJjpob3ZlciB7XG5cdFx0Ly8gXHRjb2xvcjogdmFyKC0tY29sb3ItZ3JheS1kYXJrZXIpO1xuXHRcdC8vIH1cblx0fVxufVxuXG4vKiBMb2dpbiAqL1xuLmxvZ2luLWl0ZW0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW5wdXQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZvcm0tYmcpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1mb3JtLWJnKTtcbiAgICAgICAgaGVpZ2h0OiA0ZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogNGVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1ZW07XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICAgIHNwZWFrOiBuZXZlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBoZWlnaHQ6IDRlbTtcblxuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNDJweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAmLmljb24tcGFzc3dvcmQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIGlkPVwiQ2FwYV8xXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzI4LjkgNDM4LjUzXCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtzdHJva2Utd2lkdGg6MHB4O308L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz1cImNscy0xXCIgZD1cIm0zMjAuOSwyMjcuMjZjLTUuMzMtNS4zMy0xMS44LTcuOTktMTkuNDItNy45OUg5MS4zNnYtOTEuMzZjMC0yMC4xOCw3LjE0LTM3LjQsMjEuNDItNTEuNjgsMTQuMjgtMTQuMjcsMzEuNS0yMS40MSw1MS42OC0yMS40MXMzNy40LDcuMTQsNTEuNjcsMjEuNDFjMTQuMjgsMTQuMjgsMjEuNDIsMzEuNSwyMS40Miw1MS42OCwwLDQuOTUsMS44MSw5LjIzLDUuNDIsMTIuODUsMy42MiwzLjYyLDcuOSw1LjQzLDEyLjg1LDUuNDNoMTguMjhjNC45NSwwLDkuMjMtMS44MSwxMi44NS01LjQzLDMuNjEtMy42Miw1LjQyLTcuOSw1LjQyLTEyLjg1LDAtMzUuMjItMTIuNTItNjUuMzMtMzcuNTQtOTAuMzZDMjI5Ljc4LDEyLjUxLDE5OS42NiwwLDE2NC40NSwwcy02NS4zMywxMi41MS05MC4zNywzNy41NGMtMjUuMDMsMjUuMDMtMzcuNTQsNTUuMTUtMzcuNTQsOTAuMzZ2OTEuMzZoLTkuMTRjLTcuNjEsMC0xNC4wOCwyLjY3LTE5LjQxLDcuOTlzLTcuOTksMTEuOC03Ljk5LDE5LjQxdjE2NC40NWMwLDcuNjIsMi42NywxNC4wOSw3Ljk5LDE5LjQyLDUuMzMsNS4zMywxMS44LDcuOTksMTkuNDEsNy45OWgyNzQuMDhjNy42MiwwLDE0LjA5LTIuNjcsMTkuNDItNy45OSw1LjMzLTUuMzMsNy45OS0xMS44LDcuOTktMTkuNDJ2LTE2NC40NWMwLTcuNjEtMi42Ni0xNC4wOC03Ljk5LTE5LjQxWlwiLz48L3N2Zz4nKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBmaWxsOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pY29uLXVzZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIGlkPVwiTGF5ZXJfMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDQyNy4xNiA1MTJcIj48ZGVmcz48c3R5bGU+LmNscy0xe3N0cm9rZS13aWR0aDowcHg7fTwvc3R5bGU+PC9kZWZzPjxwYXRoIGNsYXNzPVwiY2xzLTFcIiBkPVwibTIxMC4zNSwyNDYuNjNjMzMuODgsMCw2My4yMi0xMi4xNSw4Ny4yLTM2LjEzLDIzLjk3LTIzLjk3LDM2LjEyLTUzLjMsMzYuMTItODcuMTlzLTEyLjE1LTYzLjIxLTM2LjEzLTg3LjE5QzI3My41NywxMi4xNSwyNDQuMjMsMCwyMTAuMzUsMHMtNjMuMjIsMTIuMTUtODcuMTksMzYuMTItMzYuMTMsNTMuMzEtMzYuMTMsODcuMTksMTIuMTYsNjMuMjIsMzYuMTMsODcuMmMyMy45OCwyMy45Nyw1My4zMSwzNi4xMiw4Ny4xOSwzNi4xMlpcIi8+PHBhdGggY2xhc3M9XCJjbHMtMVwiIGQ9XCJtNDI2LjEzLDM5My43Yy0uNjktOS45OC0yLjA5LTIwLjg2LTQuMTUtMzIuMzUtMi4wOC0xMS41OC00Ljc1LTIyLjUyLTcuOTYtMzIuNTMtMy4zMS0xMC4zNC03LjgxLTIwLjU1LTEzLjM3LTMwLjM0LTUuNzctMTAuMTYtMTIuNTUtMTktMjAuMTYtMjYuMjgtNy45Ni03LjYxLTE3LjctMTMuNzMtMjguOTYtMTguMi0xMS4yMy00LjQ0LTIzLjY3LTYuNjktMzYuOTgtNi42OS01LjIzLDAtMTAuMjgsMi4xNC0yMC4wNCw4LjUtNi4wMSwzLjkyLTEzLjA0LDguNDUtMjAuODgsMTMuNDYtNi43MSw0LjI3LTE1Ljc5LDguMjgtMjcuMDIsMTEuOS0xMC45NSwzLjU0LTIyLjA3LDUuMzQtMzMuMDQsNS4zNHMtMjIuMDktMS44LTMzLjA1LTUuMzRjLTExLjIxLTMuNjItMjAuMy03LjYyLTI3LTExLjktNy43Ny00Ljk2LTE0LjgtOS41LTIwLjktMTMuNDctOS43NS02LjM2LTE0LjgxLTguNS0yMC4wNC04LjUtMTMuMzEsMC0yNS43NSwyLjI1LTM2Ljk3LDYuNy0xMS4yNiw0LjQ2LTIxLDEwLjU4LTI4Ljk3LDE4LjItNy42MSw3LjI4LTE0LjM5LDE2LjEyLTIwLjE2LDI2LjI3LTUuNTYsOS43OS0xMC4wNiwxOS45OS0xMy4zNywzMC4zNC0zLjIsMTAtNS44OCwyMC45NS03Ljk1LDMyLjUyLTIuMDYsMTEuNDgtMy40NiwyMi4zNi00LjE1LDMyLjM2LS42OCw5LjgtMS4wMiwxOS45Ni0xLjAyLDMwLjIzLDAsMjYuNzMsOC41LDQ4LjM2LDI1LjI1LDY0LjMyLDE2LjU1LDE1Ljc1LDM4LjQ0LDIzLjczLDY1LjA3LDIzLjczaDI0Ni41M2MyNi42MiwwLDQ4LjUxLTcuOTgsNjUuMDYtMjMuNzMsMTYuNzYtMTUuOTUsMjUuMjUtMzcuNTksMjUuMjUtNjQuMzIsMC0xMC4zMi0uMzUtMjAuNDktMS4wNC0zMC4yNFpcIi8+PC9zdmc+Jyk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgZmlsbDogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlbWVtYmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXG4gICAgW3R5cGU9Y2hlY2tib3hdIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICB9XG59IiwiLyoqXG4gKiBAc2VjdGlvbiBUYWJsZXNcbiAqIFN0eWxpbmcgZm9yIHRhYmxlc1xuICovXG5cbnRhYmxlIHtcblx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblx0Ym9yZGVyLXNwYWNpbmc6IDA7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNpbmcpO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG50aCxcbnRkIHtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0cGFkZGluZzogMC41ZW07XG59XG5cbnRoIHtcblx0Ym9yZGVyLWJvdHRvbTogMC4xMjVlbSBzb2xpZCB2YXIoLS1jb2xvci1ncmF5LWxpZ2h0KTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbnRkIHtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWdyYXktbGlnaHQpO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4vKipcbiAqIEFkZHMgemVicmEgc3RyaXBpbmdcbiAqL1xuLnRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LWxpZ2h0ZXIpO1xufVxuXG5cbi8qKlxuICogUmVkdWNlcyBwYWRkaW5nIG9uIGNvbmRlbnNlZCB0YWJsZXNcbiAqL1xuLnRhYmxlLWNvbmRlbnNlZCB0aCxcbi50YWJsZS1jb25kZW5zZWQgdGQsIHtcblx0cGFkZGluZzogMC4yNWVtO1xufSIsIi8qKlxuICogQFNlY3Rpb24gSW1hZ2VzXG4gKiBJbWFnZSBzdHlsaW5nXG4gKi9cblxuLyoqXG4gKiBBZGRzIGEgNTAlIGJvcmRlciByYWRpdXMsIHR1cm5pbmcgc3F1YXJlIGltYWdlcyBpbnRvIGEgY2lyY2xlLlxuICovXG4uaW1nLWNpcmNsZSB7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuXG4vKipcbiAqIEltYWdlIGFsaWdubWVudFxuICovXG5cbi5pbWctbGVmdCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRmbG9hdDogbGVmdDtcblx0bWFyZ2luLXJpZ2h0OiAxZW07XG59XG5cblxuLyoqXG4gKiBIYXZlIGFuIGlubGluZSBpbWFnZSBjb3ZlciBpdHMgY29udGFpbmVyXG4gKi9cblxuLmltZy1jb3ZlciB7XG5cdG9iamVjdC1maXQ6IGNvdmVyO1xufSIsIi8qKlxuICogQHNlY3Rpb24gQ2FyZHNcbiAqIFVJIGZvciBjYXJkIGVsZW1lbnRzXG4gKi9cblxuLmNhcmQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcmQtbXV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcbn1cblxuLmNhcmQtcHJpbWFyeSB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uY2FyZC1wcmltYXJ5LWRhcmsge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmspO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uY2FyZC1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Ly8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cdC8vIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIDFmcik7XG5cdGdyaWQtcm93LWdhcDogMWVtO1xuXG5cdC5jYXJkLXRleHQgeyBncmlkLWFyZWE6IDEgLyAxIC8gMiAvIDI7IH1cblx0LmNhcmQtaW1nIHsgZ3JpZC1hcmVhOiAyIC8gMSAvIDMgLyAyOyB9XG59XG5cbi5jYXJkLW51bWJlciB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFyayk7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXdlaWdodDogOTAwO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGhlaWdodDogMi41ZW07XG5cdHdpZHRoOiAyLjVlbTtcblx0cGFkZGluZzogMC41ZW07XG5cdGZvbnQtc2l6ZTogMmVtO1xuXHR0b3A6IC0wLjc1ZW07XG5cdGxlZnQ6IDAuNzVlbTtcbn1cbiIsIi8qKlxuICogQHNlY3Rpb24gQWNjb3JkaW9uIEVsZW1lbnRzXG4gKi9cblxuXG4vKipcbiAqIFN0eWxlIHRoZSBoZWFkZXJzIHRvIGxvb2sgZGlmZmVyZW50bHlcbiAqL1xuW2RhdGEtYWNjb3JkaW9uXSB7XG5cdEBleHRlbmQgLmNsZWFyZml4O1xuXHRmb250LXNpemU6IDEuMTg3NWVtO1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRwYWRkaW5nLXRvcDogMDtcblx0bWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5cblxuLyoqXG4gKiBTdHlsZSB0aGUgYWNjb3JkaW9uIGJ1dHRvbnMgdG8gbG9vayBsaWtlIGhlYWRlcnNcbiAqL1xuW2RhdGEtYWNjb3JkaW9uXSA+IGJ1dHRvbiB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRib3JkZXI6IG5vbmU7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZvbnQ6IGluaGVyaXQ7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLyoqXG4gKiBTaG93IGV4cGFuZC9jb2xsYXBzZSBpY29uc1xuICovXG5bZGF0YS1hY2NvcmRpb25dID4gYnV0dG9uW2FyaWEtZXhwYW5kZWRdOjphZnRlciB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuXHRmb250LXNpemU6IDJlbTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0ZmxvYXQ6IHJpZ2h0O1xufVxuXG5bZGF0YS1hY2NvcmRpb25dID4gYnV0dG9uW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOjphZnRlciB7XG5cdGNvbnRlbnQ6IFwiIOKAk1wiO1xufVxuXG5bZGF0YS1hY2NvcmRpb25dID4gYnV0dG9uW2FyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXTo6YWZ0ZXIge1xuXHRjb250ZW50OiBcIiArXCI7XG59IiwiLyoqXG4gKiBAc2VjdGlvbiBCbG9nXG4gKiBTdHlsaW5nIG92ZXJyaWRlcyBmb3IgdGhlIGJsb2cgcGFnZVxuICovXG5cbi5wYWdlLWJsb2ctY29udGVudCB7XG5cblx0JiA+IGgyIHtcblx0XHRmb250LXNpemU6IDEuMzVlbTtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxuXG59XG5cbi8qIGJsb2cgc2hhZG93ICovXG4uYmxvZy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJsb2ctc2hhZG93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDM1MHB4O1xuICAgIHRvcDogOGVtO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZGYxZjIsIHRyYW5zcGFyZW50KTs7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgfVxufVxuXG5cbi8qIFNvY2lhbCBNZWRpYSBTaGFyZSBCdXR0b25zICovXG4uc29jaWFsLXNoYXJlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIFxuXG5cbiAgICBhLCBidXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG5cbiAgICAgICAgLyogSGlkZSB0aGUgdGV4dC4gKi9cbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5OTlweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuZmFjZWJvb2stYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNiNTk5ODtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGRwWkhSb1BTSTFNVElpSUdobGFXZG9kRDBpTlRFeUlpQjRQU0l3SWlCNVBTSXdJaUIyYVdWM1FtOTRQU0l3SURBZ05URXlJRFV4TWlJZ2MzUjViR1U5SW1WdVlXSnNaUzFpWVdOclozSnZkVzVrT201bGR5QXdJREFnTlRFeUlEVXhNaUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJZ1kyeGhjM005SWlJK1BHYytQSEJoZEdnZ1pEMGlUVFV4TWlBeU5UWkROVEV5SURFeE5DNDJJRE01Tnk0MElEQWdNalUySURCVE1DQXhNVFF1TmlBd0lESTFObk14TVRRdU5pQXlOVFlnTWpVMklESTFObU14TGpVZ01DQXpJREFnTkM0MUxTNHhWak14TWk0M2FDMDFOWFl0TmpRdU1XZzFOWFl0TkRjdU1tTXdMVFUwTGpjZ016TXVOQzA0TkM0MUlEZ3lMakl0T0RRdU5TQXlNeTQwSURBZ05ETXVOU0F4TGpjZ05Ea3VNeUF5TGpWMk5UY3VNbWd0TXpNdU5tTXRNall1TlNBd0xUTXhMamNnTVRJdU5pMHpNUzQzSURNeExqRjJOREF1T0dnMk15NDFiQzA0TGpNZ05qUXVNV2d0TlRVdU1uWXhPRGt1TlVNME16TXVOeUEwTnpFdU5DQTFNVElnTXpjeUxqa2dOVEV5SURJMU5ub2lJR1pwYkd3OUlpTm1abVptWm1ZaUlHOXdZV05wZEhrOUlqRWlJR1JoZEdFdGIzSnBaMmx1WVd3OUlpTXdNREF3TURBaUlHTnNZWE56UFNJaVBqd3ZjR0YwYUQ0OEwyYytQQzl6ZG1jKyk7XG4gICAgfVxuICAgICBcbiAgICAudHdpdHRlci1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZHBaSFJvUFNJMU1USWlJR2hsYVdkb2REMGlOVEV5SWlCNFBTSXdJaUI1UFNJd0lpQjJhV1YzUW05NFBTSXdJREFnTVRJeU5pNHpOeUF4TWpJMkxqTTNJaUJ6ZEhsc1pUMGlaVzVoWW14bExXSmhZMnRuY205MWJtUTZibVYzSURBZ01DQTFNVElnTlRFeUlpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJajQ4Wno0OGNHRjBhQ0JrUFNKTk56STNMak0wT0NBMU1Ua3VNamcwSURFeE56UXVNRGMxSURCb0xURXdOUzQ0Tmt3Mk9EQXVNekl5SURRMU1DNDRPRGNnTXpjd0xqVXhNeUF3U0RFekxqRTROV3cwTmpndU5Ea3lJRFk0TVM0NE1qRk1NVE11TVRnMUlERXlNall1TXpkb01UQTFMamcyTm13ME1Ea3VOakkxTFRRM05pNHhOVElnTXpJM0xqRTRNU0EwTnpZdU1UVXlhRE0xTnk0ek1qaE1OekkzTGpNeU1pQTFNVGt1TWpnMGVrMDFPREl1TXpVZ05qZzNMamd5T0d3dE5EY3VORFk0TFRZM0xqZzVOQzB6TnpjdU5qZzJMVFUwTUM0eU5FZ3pNVGt1T0d3ek1EUXVOemszSURRek5TNDVPVEVnTkRjdU5EWTRJRFkzTGpnNU5DQXpPVFl1TWlBMU5qWXVOekl4U0Rrd05TNDJOakZNTlRneUxqTTFJRFk0Tnk0NE5UUjZJaUJtYVd4c1BTSWpabVptWm1abUlpQnZjR0ZqYVhSNVBTSXhJaUJrWVhSaExXOXlhV2RwYm1Gc1BTSWpNREF3TURBd0lqNDhMM0JoZEdnK1BDOW5Qand2YzNablBnPT0pO1xuICAgIH1cblxuICAgIC5waW50ZXJlc3QtYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0JEMDgxQztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lJSGRwWkhSb1BTSTFNVElpSUdobGFXZG9kRDBpTlRFeUlpQjRQU0l3SWlCNVBTSXdJaUIyYVdWM1FtOTRQU0l3SURBZ05URXhMamszTnlBMU1URXVPVGMzSWlCemRIbHNaVDBpWlc1aFlteGxMV0poWTJ0bmNtOTFibVE2Ym1WM0lEQWdNQ0ExTVRJZ05URXlJaUI0Yld3NmMzQmhZMlU5SW5CeVpYTmxjblpsSWlCamJHRnpjejBpSWo0OFp6NDhjR0YwYUNCa1BTSk5Nall5TGprME9DQXdRekV5TWk0Mk1qZ2dNQ0EwT0M0d01EUWdPRGt1T1RJZ05EZ3VNREEwSURFNE55NDVOamhqTUNBME5TNDBOeklnTWpVdU5EQTRJREV3TWk0eE56WWdOall1TURnZ01USXdMakUySURZdU1UYzJJREl1TnpnMElEa3VOVE0ySURFdU5pQXhNQzQ1TVRJdE5DNHhNamdnTVM0eU1UWXROQzR6TlRJZ05pNDFOaTB5TlM0ek1USWdPUzR4TlRJdE16VXVNaTQ0TFRNdU1UWTRMak00TkMwMUxqa3lMVEl1TVRjMkxUZ3VPRGsyTFRFekxqVXdOQzB4TlM0Mk1UWXRNalF1TWpJMExUUTBMakEyTkMweU5DNHlNalF0TnpBdU56VXlJREF0TmpndU16ZzBJRFUwTGpNMk9DMHhNelF1TnpnMElERTBOaTQ0T0MweE16UXVOemcwSURnd0lEQWdNVE0xTGprMk9DQTFNUzQ1TmpnZ01UTTFMamsyT0NBeE1qWXVNekEwSURBZ09EUXRORFF1TkRRNElERTBNaTR4TVRJdE1UQXlMakl3T0NBeE5ESXVNVEV5TFRNeExqazJPQ0F3TFRVMUxqYzNOaTB5TlM0d09EZ3RORGd1TWpJMExUVTJMakV5T0NBNUxqRXlMVE0yTGprMklESTNMakF3T0MwM05pNDNNRFFnTWpjdU1EQTRMVEV3TXk0ek5pQXdMVEl6TGprd05DMHhNeTQxTURRdE5ETXVOamd0TkRFdU1EZzRMVFF6TGpZNExUTXlMalUwTkNBd0xUVTRMamswTkNBek1pNHlNalF0TlRndU9UUTBJRGMxTGpRNE9DQXdJREkzTGpRNE9DQTVMamN5T0NBME5pNHdORGdnT1M0M01qZ2dORFl1TURRNFV6RTBOQzQyTnpZZ016Y3hMaklnTVRNNExqWTVNaUF6T1RVdU5EZzRZeTB4TUM0eE1USWdOREV1TVRJZ01TNHpOellnTVRBM0xqY3hNaUF5TGpNMk9DQXhNVE11TkRRdU5qQTRJRE11TVRZNElEUXVNVFlnTkM0eE5pQTJMakUwTkNBeExqVTJPQ0F6TGpFMk9DMDBMakUySURReUxqQTRMVFU1TGpZNElEVXlMams1TWkwNU9TNDRNRGdnTXk0NU5qZ3RNVFF1TmpJMElESXdMakkxTmkwM015NDVNaUF5TUM0eU5UWXROek11T1RJZ01UQXVOeklnTVRrdU16WWdOREV1TmpZMElETTFMalU0TkNBM05DNDJNalFnTXpVdU5UZzBJRGs0TGpBME9DQXdJREUyT0M0NE9UWXRPRFl1TVRjMklERTJPQzQ0T1RZdE1Ua3pMakV5UXpRMk15NDJNaUEzTmk0M01EUWdNemMxTGpnM05pQXdJREkyTWk0NU5EZ2dNSG9pSUdacGJHdzlJaU5tWm1abVptWWlJRzl3WVdOcGRIazlJakVpSUdSaGRHRXRiM0pwWjJsdVlXdzlJaU13TURBd01EQWlJR05zWVhOelBTSWlQand2Y0dGMGFENDhMMmMrUEM5emRtYyspO1xuICAgIH1cblxuICAgIC5wcmludC1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaUlIZHBaSFJvUFNJMU1USWlJR2hsYVdkb2REMGlOVEV5SWlCNFBTSXdJaUI1UFNJd0lpQjJhV1YzUW05NFBTSXdJREFnTlRFeUlEVXhNaUlnYzNSNWJHVTlJbVZ1WVdKc1pTMWlZV05yWjNKdmRXNWtPbTVsZHlBd0lEQWdOVEV5SURVeE1pSWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0lnWTJ4aGMzTTlJaUkrUEdjK1BIQmhkR2dnWkQwaVRUUTNNaTR4TnpnZ01UTXpMamt3TjJndE5UUXVNekF6VmpNMUxqRXpNbU13TFRrdU5ESTFMVGN1TmpReExURTNMakEyTnkweE55NHdOamN0TVRjdU1EWTNTREV4TVM0eE9USmpMVGt1TkRJMUlEQXRNVGN1TURZM0lEY3VOalF4TFRFM0xqQTJOeUF4Tnk0d05qZDJPVGd1TnpjMVNETTVMamd5TWtNeE55NDROalFnTVRNekxqa3dOeUF3SURFMU1TNDNOeklnTUNBeE56TXVOek4yTVRjeExqY3dNbU13SURJeExqazFPQ0F4Tnk0NE5qUWdNemt1T0RJeUlETTVMamd5TWlBek9TNDRNakpvTlRRdU16QTJkamt4TGpZeE5HTXdJRGt1TkRJMUlEY3VOalF4SURFM0xqQTJOeUF4Tnk0d05qY2dNVGN1TURZM2FESTRPUzQyTVdNNUxqUXlOU0F3SURFM0xqQTJOeTAzTGpZME1TQXhOeTR3TmpjdE1UY3VNRFkzZGkwNU1TNDJNVFJvTlRRdU16QTJZekl4TGprMU9DQXdJRE01TGpneU1pMHhOeTQ0TmpRZ016a3VPREl5TFRNNUxqZ3lNbFl4TnpNdU56TmpNQzB5TVM0NU5UY3RNVGN1T0RZMExUTTVMamd5TXkwek9TNDRNakl0TXprdU9ESXplbTB0TXpRekxqa3lMVGd4TGpjd09HZ3lOVFV1TkRnemRqZ3hMamN3T0VneE1qZ3VNalU0VmpVeUxqRTVPWHB0TWpVMUxqUTRJRFF3Tnk0Mk1ESklNVEk0TGpJMk1sWXpNakF1TVRjemFESTFOUzQwTnpkc0xTNHdNREVnTVRNNUxqWXlPSHB0T1RRdU1USTVMVEV4TkM0ek5qaGhOUzQyT1RVZ05TNDJPVFVnTUNBd0lERXROUzQyT0RrZ05TNDJPRGxvTFRVMExqTXdObll0TkRndU1ERTBZekF0T1M0ME1qVXROeTQyTkRFdE1UY3VNRFkzTFRFM0xqQTJOeTB4Tnk0d05qZG9MVEk0T1M0Mk1XTXRPUzQwTWpVZ01DMHhOeTR3TmpjZ055NDJOREV0TVRjdU1EWTNJREUzTGpBMk4zWTBPQzR3TVRSSU16a3VPREl5WVRVdU5qazFJRFV1TmprMUlEQWdNQ0F4TFRVdU5qZzVMVFV1TmpnNVZqRTNNeTQzTXpGaE5TNDJPVFVnTlM0Mk9UVWdNQ0F3SURFZ05TNDJPRGt0TlM0Mk9EbG9ORE15TGpNMU5tRTFMalk1TlNBMUxqWTVOU0F3SURBZ01TQTFMalk0T1NBMUxqWTRPWFl4TnpFdU56QXllaUlnWm1sc2JEMGlJMlptWm1abVppSWdiM0JoWTJsMGVUMGlNU0lnWkdGMFlTMXZjbWxuYVc1aGJEMGlJekF3TURBd01DSWdZMnhoYzNNOUlpSStQQzl3WVhSb1BqeHdZWFJvSUdROUlrMDBNREF1T0RBNElERTVPUzQ1T0Rob0xUUXpMalEwTTJNdE9TNDBNalVnTUMweE55NHdOamNnTnk0Mk5ERXRNVGN1TURZM0lERTNMakEyTjNNM0xqWTBNU0F4Tnk0d05qY2dNVGN1TURZM0lERTNMakEyTjJnME15NDBORE5qT1M0ME1qVWdNQ0F4Tnk0d05qY3ROeTQyTkRFZ01UY3VNRFkzTFRFM0xqQTJOM010Tnk0Mk5ERXRNVGN1TURZM0xURTNMakEyTnkweE55NHdOamQ2VFRNeU9TNDVOVFlnTXprNUxqZ3pORWd4T0RJdU1EUTBZeTA1TGpReU5TQXdMVEUzTGpBMk55QTNMalkwTVMweE55NHdOamNnTVRjdU1EWTNjemN1TmpReElERTNMakEyTnlBeE55NHdOamNnTVRjdU1EWTNhREUwTnk0NU1URmpPUzQwTWpVZ01DQXhOeTR3TmpjdE55NDJOREVnTVRjdU1EWTNMVEUzTGpBMk4zTXROeTQyTkRFdE1UY3VNRFkzTFRFM0xqQTJOaTB4Tnk0d05qZDZUVE15T1M0NU5UWWdNelEyTGpBd05rZ3hPREl1TURRMFl5MDVMalF5TlNBd0xURTNMakEyTnlBM0xqWTBNUzB4Tnk0d05qY2dNVGN1TURZM2N6Y3VOalF4SURFM0xqQTJOeUF4Tnk0d05qY2dNVGN1TURZM2FERTBOeTQ1TVRGak9TNDBNalVnTUNBeE55NHdOamN0Tnk0Mk5ERWdNVGN1TURZM0xURTNMakEyTjNNdE55NDJOREV0TVRjdU1EWTNMVEUzTGpBMk5pMHhOeTR3TmpkNklpQm1hV3hzUFNJalptWm1abVptSWlCdmNHRmphWFI1UFNJeElpQmtZWFJoTFc5eWFXZHBibUZzUFNJak1EQXdNREF3SWlCamJHRnpjejBpSWo0OEwzQmhkR2crUEM5blBqd3ZjM1puUGc9PSk7XG4gICAgfVxuXG4gICAgLmVtYWlsLWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpSUhkcFpIUm9QU0kxTVRJaUlHaGxhV2RvZEQwaU5URXlJaUI0UFNJd0lpQjVQU0l3SWlCMmFXVjNRbTk0UFNJd0lEQWdOVEV5SURVeE1pSWdjM1I1YkdVOUltVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a09tNWxkeUF3SURBZ05URXlJRFV4TWlJZ2VHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSWdZMnhoYzNNOUlpSStQR2MrUEhCaGRHZ2daRDBpVFRRMk55QTNOa2cwTlVNeU1DNHlNemdnTnpZZ01DQTVOaTR4TkRrZ01DQXhNakYyTWpjd1l6QWdNalF1T0RZZ01qQXVNalV4SURRMUlEUTFJRFExYURReU1tTXlOQzQzTmpJZ01DQTBOUzB5TUM0eE5Ea2dORFV0TkRWV01USXhZekF0TWpRdU9EVTNMVEl3TGpJME9DMDBOUzAwTlMwME5YcHRMVFl1T1RFZ016Qk1NalkzTGpZeU5DQXlPVGt1TURrMFl5MDFMamcyTkNBMUxqZzRNaTB4Tnk0ek9ERWdOUzQ0T0RZdE1qTXVNalE0SURCTU5URXVPVEVnTVRBMmFEUXdPQzR4T0hwTk16QWdNemcxTGpRNE5YWXRNalU0TGprM1RERTFPUzR3TmpVZ01qVTJJRE13SURNNE5TNDBPRFY2VFRVeExqa3hJRFF3Tm13eE1qZ3VNek0wTFRFeU9DNDNOVElnTkRJdU9EZzFJRFF6TGpBeU5XTXhOeTQxTnpRZ01UY3VOak14SURRNExqRTNOU0F4Tnk0Mk1qUWdOalV1TnpReklEQnNOREl1T0RnMUxUUXpMakF5TkV3ME5qQXVNRGtnTkRBMlNEVXhMamt4ZWswME9ESWdNemcxTGpRNE5TQXpOVEl1T1RNMUlESTFOaUEwT0RJZ01USTJMalV4TlhZeU5UZ3VPVGQ2SWlCbWFXeHNQU0lqWm1abVptWm1JaUJ2Y0dGamFYUjVQU0l4SWlCa1lYUmhMVzl5YVdkcGJtRnNQU0lqTURBd01EQXdJaUJqYkdGemN6MGlJajQ4TDNCaGRHZytQQzluUGp3dmMzWm5QZz09KTtcbiAgICB9XG59XG5cbiIsIi8qKlxuICogQHNlY3Rpb24gQ2FsbG91dHNcbiAqIFVJIGZvciBjYWxsb3V0IGVsZW1lbnRzXG4gKi9cblxuIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcbiBcdC5jYWxsb3V0LXJpZ2h0LWxhcmdlIHtcbiBcdFx0ZGlzcGxheTogYmxvY2s7XG4gXHRcdGZsb2F0OiByaWdodDtcbiBcdFx0bWFyZ2luLWxlZnQ6IDFlbTtcbiBcdFx0bWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2luZyk7XG4gXHRcdHdpZHRoOiA0NSU7XG4gXHR9XG4gfSIsIi8qKlxuICogQHNlY3Rpb24gT3ZlcnJpZGVzXG4gKiBOdWRnZSBhbmQgdHdlYWsgYWxpZ25tZW50LCBzcGFjaW5nLCBhbmQgdmlzaWJpbGl0eS5cbiAqL1xuXG5cbi8qKlxuICogVGV4dCBzaXplc1xuICovXG5cbi50ZXh0LXNtYWxsIHtcblx0Zm9udC1zaXplOiAwLjkzNzVlbTtcbn1cblxuLnRleHQteHNtYWxsIHtcblx0Zm9udC1zaXplOiAwLjgxMjVlbTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRicC1tZWRpdW0pIHtcblx0LnRleHQteHNtYWxsLW1vYmlsZSB7XG5cdFx0Zm9udC1zaXplOiAwLjgxMjVlbTtcblx0fVxufVxuXG4udGV4dC1yZWd1bGFyIHtcblx0Zm9udC1zaXplOiAxZW07XG59XG5cbi50ZXh0LXJlZ3VsYXItcGx1cyB7XG5cdGZvbnQtc2l6ZTogMS4xODc1ZW07XG59XG5cbi50ZXh0LXNpemUtcGx1cyB7XG5cdGZvbnQtc2l6ZTogMS4wNjI1ZW07XG59XG5cbi50ZXh0LW1lZGl1bSB7XG5cdGZvbnQtc2l6ZTogMS4zMTI1ZW07XG5cdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cblx0QG1lZGlhIChtaW4td2lkdGg6ICRicC1tZWRpdW0pIHtcblx0XHRmb250LXNpemU6IDEuNWVtO1xuXHR9XG59XG5cbi8vIC50ZXh0LW1lZGl1bS1wbHVzIHtcbi8vIFx0Zm9udC1zaXplOiAxLjE4NzVlbTtcbi8vIFx0bGluZS1oZWlnaHQ6IDEuNDtcblxuLy8gXHRAbWVkaWEgKG1pbi13aWR0aDogJGJwLW1lZGl1bSkge1xuLy8gXHRcdGZvbnQtc2l6ZTogMS41ZW07XG4vLyBcdH1cbi8vIH1cblxuLnRleHQtbGFyZ2Uge1xuXHRmb250LXNpemU6IDEuMzEyNWVtO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXG5cdEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbWVkaXVtKSB7XG5cdFx0Zm9udC1zaXplOiAxLjdlbTtcblx0fVxufVxuXG4udGV4dC14bGFyZ2Uge1xuXHRAZXh0ZW5kIC50ZXh0LWxhcmdlO1xuXHRmb250LXNpemU6IDEuN2VtO1xuXG5cdEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbWVkaXVtKSB7XG5cdFx0Zm9udC1zaXplOiAyZW07XG5cdH1cbn1cblxuLy8gLnRleHQteHhsYXJnZSB7XG4vLyBcdGZvbnQtc2l6ZTogMS43ZW07XG4vLyBcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cbi8vIFx0QG1lZGlhIChtaW4td2lkdGg6ICRicC1sYXJnZSkge1xuLy8gXHRcdGZvbnQtc2l6ZTogMmVtO1xuLy8gXHR9XG4vLyB9XG5cbi8vIC50ZXh0LXh4eGxhcmdlIHtcbi8vIFx0Zm9udC1zaXplOiAyZW07XG4vLyBcdGxpbmUtaGVpZ2h0OiAxO1xuXG4vLyBcdC8vIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbWVkaXVtKSB7XG4vLyBcdC8vIFx0Zm9udC1zaXplOiAyLjJlbTtcbi8vIFx0Ly8gfVxuXG4vLyBcdEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcbi8vIFx0XHRmb250LXNpemU6IDIuNWVtO1xuLy8gXHR9XG4vLyB9XG5cbi50ZXh0LWNvbXBhY3Qge1xuXHRsaW5lLWhlaWdodDogMS40O1xufVxuXG4udGV4dC1tb3JlLWNvbXBhY3Qge1xuXHRsaW5lLWhlaWdodDogMS4yO1xufVxuXG5cblxuLyoqXG4gKiBUZXh0IGNvbG9yc1xuICovXG5cbi50ZXh0LW11dGVkIHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLWdyYXktZGFyayk7XG59XG5cbi50ZXh0LXByaW1hcnkge1xuXHRjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG59XG5cbi50ZXh0LXByaW1hcnktZGFyayB7XG5cdGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLnRleHQtc2Vjb25kYXJ5IHtcblx0Y29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG59XG5cbi50ZXh0LXdoaXRlIHtcblx0Y29sb3I6IHdoaXRlO1xufVxuXG5cbi8qKlxuICogVGV4dCB0cmFuc2Zvcm1zXG4gKi9cblxuLnRleHQtbm9ybWFsIHtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4udGV4dC1leHRyYS1ib2xkIHtcblx0Zm9udC13ZWlnaHQ6IDkwMDtcbn1cblxuLnRleHQtdXBwZXJjYXNlIHtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuXG4vKipcbiAqIFRleHQgYWxpZ25tZW50XG4gKi9cblxuLnRleHQtY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJGJwLWxhcmdlKSB7XG5cdC50ZXh0LWNlbnRlci1zbWFsbCB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG59XG5cbi50ZXh0LXJpZ2h0IHtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcblx0LnRleHQtcmlnaHQtbGFyZ2Uge1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG59XG5cbi50ZXh0LWxlZnQge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKipcbiAqIEltYWdlc1xuICovXG5cbi5pbWctZnVsbC13aWR0aCB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG4uaW1nLWNpcmNsZSB7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLmltZy10cmFuc3BhcmVudCB7XG5cdG9wYWNpdHk6IDAuNTtcbn1cblxuLmZ1bGwtYmxlZWQge1xuXHRtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSA1MHZ3KTtcblx0bWluLXdpZHRoOiAxMDB2dztcblx0d2lkdGg6IDEwMHZ3O1xufVxuXG4uZnVsbC1ibGVlZC1pbWcge1xuXHRAZXh0ZW5kIC5mdWxsLWJsZWVkO1xuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdG1heC13aWR0aDogNDdlbTtcblx0fVxufVxuXG4vLyBIb21lcGFnZSBBZGRpdGlvbnNcbi5jYXNlLXN0dWR5LWltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogNDQ0cHg7XG59XG5cblxuXG5cblxuLyoqXG4gKiBCb3JkZXIgJiBTaGFkb3dcbiAqL1xuXG4uYm9yZGVyIHtcblx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG59XG5cbi5ib3JkZXItZGFyayB7XG5cdGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTtcbn1cblxuLmJvcmRlci10b3AtcmlnaHQge1xuXHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMi41ZW07XG59XG5cbi5ib3JkZXItdG9wLXJpZ2h0LWxhcmdlIHtcblx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZlbTtcbn1cblxuLmJvcmRlci10b3AtbGVmdCB7XG5cdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDIuNWVtO1xufVxuXG4uYm9yZGVyLXRvcC1sZWZ0LWxhcmdlIHtcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTJlbTtcbn1cblxuLmJvcmRlci1ib3R0b20tcmlnaHQge1xuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMi41ZW07XG59XG5cbi5ib3JkZXItYm90dG9tLXJpZ2h0LWxhcmdlIHtcblx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRicC1sYXJnZSkge1xuXHQuYm9yZGVyLWJvdHRvbS1yaWdodC14bGFyZ2Uge1xuXHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMmVtO1xuXHR9XG59XG5cbi5ib3JkZXItYm90dG9tLWxlZnQge1xuXHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyLjVlbTtcbn1cblxuLmJvcmRlci1ib3R0b20tbGVmdC1sYXJnZSB7XG5cdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZlbTtcbn1cblxuLnNoYWRvdyB7XG5cdGJveC1zaGFkb3c6IDAuMTg3NWVtIDAuMjVlbSAwLjVlbSAwIHZhcigtLWNvbG9yLWdyYXktbWVkaXVtKTtcbn1cblxuXG4vKipcbiAqIEJvcmRlcnMgJiBTaGFkb3dzXG4gKi9cblxuLmJvcmRlci1ib3R0b20tcHJpbWFyeSB7XG5cdGJvcmRlci1ib3R0b206IDAuNjg3NWVtIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpIHNvbGlkO1xufVxuXG4uZHJvcC1zaGFkb3cge1xuXHRib3gtc2hhZG93OiAwLjM3NWVtIDAuMzc1ZW0gMC4zNzVlbSB2YXIoLS1jb2xvci1ncmF5LWxpZ2h0KSwgLTAuMzc1ZW0gLTAuMzc1ZW0gMC4zNzVlbSB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi8qKlxuICogRmxvYXRzXG4gKi9cblxuLmZsb2F0LWxlZnQge1xuXHRmbG9hdDogbGVmdDtcbn1cblxuLmZsb2F0LWNlbnRlciB7XG5cdGZsb2F0OiBub25lO1xuXHRtYXJnaW4tbGVmdDogYXV0bztcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cdC5mbG9hdC1jZW50ZXItdHdvLXRoaXJkcyB7XG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xuXHRcdHdpZHRoOiA2NyU7XG5cdH1cblxuXHQuZmxvYXQtY2VudGVyLXRocmVlLWZvdXJ0aHMge1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHR3aWR0aDogNzUlO1xuXHR9XG59XG5cbi5mbG9hdC1yaWdodCB7XG5cdGZsb2F0OiByaWdodDtcbn1cblxuXG4vKipcbiAqIE1hcmdpbnNcbiAqL1xuXG4ubm8tbWFyZ2luLXRvcCB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG5cbi5uby1tYXJnaW4tYm90dG9tIHtcblx0bWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLm1hcmdpbi10b3Age1xuXHRtYXJnaW4tdG9wOiB2YXIoLS1zcGFjaW5nKTtcbn1cblxuLm1hcmdpbi1ib3R0b20ge1xuXHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjaW5nKTtcbn1cblxuLm1hcmdpbi10b3Atc21hbGwge1xuXHRtYXJnaW4tdG9wOiAwLjVlbTtcbn1cblxuLm1hcmdpbi1ib3R0b20tc21hbGwge1xuXHRtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuLm1hcmdpbi1ib3R0b20teHNtYWxsIHtcblx0bWFyZ2luLWJvdHRvbTogMC4yNWVtO1xufVxuXG4ubWFyZ2luLWJvdHRvbS1tZWRpdW0ge1xuXHRtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5tYXJnaW4tYm90dG9tLWxhcmdlIHtcblx0bWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG4ubWFyZ2luLWJvdHRvbS14bGFyZ2Uge1xuXHRtYXJnaW4tYm90dG9tOiA0ZW07XG59XG5cblxuLyoqXG4gKiBQYWRkaW5nXG4gKi9cblxuLm5vLXBhZGRpbmctdG9wIHtcblx0cGFkZGluZy10b3A6IDA7XG59XG5cbi5uby1wYWRkaW5nLWJvdHRvbSB7XG5cdHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ucGFkZGluZyB7XG5cdHBhZGRpbmc6IDEuMzEyNWVtO1xufVxuXG4ucGFkZGluZy1zbWFsbCB7XG5cdHBhZGRpbmc6IDAuMjVlbTtcbn1cblxuLnBhZGRpbmctbWVkaXVtIHtcblx0cGFkZGluZzogMWVtO1xufVxuXG4ucGFkZGluZy1sYXJnZSB7XG5cdHBhZGRpbmc6IDJlbTtcbn1cblxuLnBhZGRpbmcteGxhcmdlIHtcblx0cGFkZGluZzogMi41ZW07XG5cblx0QG1lZGlhIChtaW4td2lkdGg6ICRicC1zbWFsbCkge1xuXHRcdHBhZGRpbmc6IDRlbTtcblx0fVxufVxuXG4ucGFkZGluZy10b3Age1xuXHRwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2luZyk7XG59XG5cbi5wYWRkaW5nLXRvcC1zbWFsbCB7XG5cdHBhZGRpbmctdG9wOiAwLjVlbTtcbn1cblxuXG4ucGFkZGluZy10b3AteHNtYWxsIHtcblx0cGFkZGluZy10b3A6IDAuMjVlbTtcbn1cblxuLnBhZGRpbmctdG9wLWxhcmdlIHtcblx0cGFkZGluZy10b3A6IDNlbTtcbn1cblxuLnBhZGRpbmctdG9wLXhsYXJnZSB7XG5cdHBhZGRpbmctdG9wOiA0ZW07XG59XG5cbi5wYWRkaW5nLXRvcC1naWdhbnRpYyB7XG5cdHBhZGRpbmctdG9wOiAyMGVtO1xufVxuXG4uZm9vdGVyLWJhbm5lci1wYWRkaW5nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNGVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cdC5wYWRkaW5nLXRvcC14bGFyZ2UtZGVza3RvcCB7XG5cdFx0cGFkZGluZy10b3A6IDRlbTtcblx0fVxuXG5cdC5wYWRkaW5nLWJvdHRvbS14bGFyZ2UtZGVza3RvcCB7XG5cdFx0cGFkZGluZy1ib3R0b206IDRlbTtcblx0fVxuXG4gICAgLmZvb3Rlci1iYW5uZXItcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMGVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOGVtO1xuICAgIH1cblxuXHQucGFkZGluZy10b3AteHhsYXJnZS1kZXNrdG9wIHtcblx0XHRwYWRkaW5nLXRvcDogMTBlbTtcblx0fVxufVxuXG4ucGFkZGluZy1ib3R0b20ge1xuXHRwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZyk7XG59XG5cbi5wYWRkaW5nLWJvdHRvbS1zbWFsbCB7XG5cdHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbn1cblxuLnBhZGRpbmctYm90dG9tLWxhcmdlIHtcblx0cGFkZGluZy1ib3R0b206IDNlbTtcbn1cblxuLnBhZGRpbmctYm90dG9tLXhsYXJnZSB7XG5cdHBhZGRpbmctYm90dG9tOiA0ZW07XG59XG5cblxuLnBhZGRpbmctbGVmdCB7XG5cdHBhZGRpbmctbGVmdDogNGVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cdC5wYWRkaW5nLWxlZnQtbGFyZ2Uge1xuXHRcdHBhZGRpbmctbGVmdDogNGVtO1xuXHR9XG59XG5cbi5wYWRkaW5nLWxlZnQtbWVkaXVtIHtcblx0cGFkZGluZy1sZWZ0OiAyZW07XG59XG5cbi5wYWRkaW5nLXJpZ2h0IHtcblx0cGFkZGluZy1yaWdodDogNGVtO1xufVxuXG4ucGFkZGluZy1sZWZ0LWxhcmdlIHtcblx0cGFkZGluZy1sZWZ0OiAxZW07XG59XG5cbi5wYWRkaW5nLXJpZ2h0LWxhcmdlIHtcblx0cGFkZGluZy1yaWdodDogMWVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cdC5wYWRkaW5nLWxlZnQtbGFyZ2Uge1xuXHRcdHBhZGRpbmctbGVmdDogNGVtO1xuXHR9XG5cblx0LnBhZGRpbmctcmlnaHQtbGFyZ2Uge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDRlbTtcblx0fVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJGJwLWxhcmdlKSB7XG5cdC5wYWRkaW5nLWxlZnQtc21hbGwge1xuXHRcdHBhZGRpbmctbGVmdDogMmVtO1xuXHR9XG5cblx0LnBhZGRpbmctcmlnaHQtc21hbGwge1xuXHRcdHBhZGRpbmctcmlnaHQ6IDJlbTtcblx0fVxufVxuXG5cblxuXG4vKipcbiAqIFZpc2liaWxpdHlcbiAqL1xuXG5AbWVkaWEgKG1heC13aWR0aDogJGJwLWxhcmdlKSB7XG5cdC5oaWRlLXNtYWxsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcblx0LmhpZGUtbGFyZ2Uge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG5cbi8qKlxuICogQWNjZXNzaWJpbGl0eVxuICovXG5cbi8qXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBAbGluayBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuICpcbiAqIDEuIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gKiAgICBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAqICAgIGh0dHBzOi8vbWVkaXVtLmNvbS9AamVzc2ViZWFjaC9iZXdhcmUtc211c2hlZC1vZmYtc2NyZWVuLWFjY2Vzc2libGUtdGV4dC01OTUyYTRjMmNiZmVcbiAqL1xuLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogMSAqL1xuICAgIHdpZHRoOiAxcHg7XG59XG5cbi8qXG4gKiBFeHRlbmRzIHRoZSAudmlzdWFsbHloaWRkZW4gY2xhc3MgdG8gYWxsb3cgdGhlIGVsZW1lbnQgdG8gYmUgZm9jdXNhYmxlIHdoZW4gbmF2aWdhdGVkIHRvIHZpYSB0aGUga2V5Ym9hcmRcbiAqIEBsaW5rIGh0dHBzOi8vd3d3LmRydXBhbC5vcmcvbm9kZS84OTc2MzhcbiAqL1xuLnZpc3VhbGx5LWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxuLnZpc3VhbGx5LWhpZGRlbi5mb2N1c2FibGU6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG5cbi8qKlxuICogUmVtb3ZlIGFsbCBhbmltYXRpb25zIGFuZCB0cmFuc2l0aW9ucyBmb3IgcGVvcGxlIHRoYXQgcHJlZmVyIG5vdCB0byBzZWUgdGhlbVxuICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuXHQqIHtcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuXHRcdGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcblx0XHRzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcblx0fVxufVxuXG5cbi8qKlxuICogQ2xlYXIgYW55IGZsb2F0c1xuICovXG4uY2xlYXJmaXg6YmVmb3JlLFxuLmNsZWFyZml4OmFmdGVyIHtcblx0ZGlzcGxheTogdGFibGU7XG5cdGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuXHRjbGVhcjogYm90aDtcbn1cblxuXG4vKioqKioqKipcbiogTWlrZSdzIGNoYW5nZXMgdG8gdGhlIGNvZGUgYmFzZWQgb24gcGVyc29uYWwgb3BpbmlvblxuKiBIeXBlciB0YXJnZXRlZCBzdHlsZXNcbioqKioqKioqKi9cblxuLmhlcm8tZm9vdGVyIC50ZXh0LXhzbWFsbC50ZXh0LWNlbnRlci50ZXh0LW11dGVkLFxuLnJlZy1mb290ZXIgLnRleHQteHNtYWxsLnRleHQtY2VudGVyLnRleHQtbXV0ZWQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLmhlcm8tZm9vdGVyIC5ncmlkLWhhbGYudGV4dC1yaWdodC1sYXJnZSAubGlzdC1pbmxpbmUsXG4ucmVnLWZvb3RlciAuZ3JpZC1oYWxmLnRleHQtcmlnaHQtbGFyZ2UgLmxpc3QtaW5saW5lIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxufVxuXG4uY29udGFpbi1oYWNrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi5iYW5uZXItbWF4IHtcbiAgICBtYXgtd2lkdGg6IDczMHB4OyAvLyBtYWtpbmcgaXQgcGl4ZWwgcGVyZmVjdCBHcmlkIGlzIHRvbyB3aWRlXG59XG5cbi5sb2dpbi1zb2NpYWxzIC5idG4tY2lyY2xlIHtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogNTFweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NmVtKSB7XG4gICAgLmJnLWhxIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2JnLWhxLnBuZ1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNzUlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIH1cbiAgICAuYmctaHEgYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgfVxufSIsIi8qKlxuICogQHNlY3Rpb24gSGVybyBpbWFnZXNcbiAqL1xuXG4uaGVyby1ob21lIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0KTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpIDAlLCB2YXIoLS1jb2xvci1wcmltYXJ5KSA4NSUsIHZhcigtLWNvbG9yLXByaW1hcnkpIDEwMCUpO1xuXHRwYWRkaW5nLWJvdHRvbTogNy41ZW07XG5cblx0QG1lZGlhIChtaW4td2lkdGg6ICRicC1sYXJnZSkge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3RvbnktcG9kaXVtLnBuZyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7XG5cdH1cbn1cblxuLmhlcm8taG9tZS1oaWdobGlnaHRzIHtcblx0QG1lZGlhIChtYXgtd2lkdGg6ICRicC1sYXJnZSkge1xuXHRcdG1hcmdpbi10b3A6IC0yMGVtO1xuXHR9XG59XG5cbi5oZXJvLWhvbWUtdmlkZW8ge1xuXHRtYXJnaW4tdG9wOiAtNmVtO1xufVxuXG4uaGVyby1ob21lLW9wcG9ydHVuaXR5IHtcblx0QG1lZGlhIChtaW4td2lkdGg6ICRicC1sYXJnZSkge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc3RvY2stc3RhaXJzLnBuZyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSByaWdodDtcblx0fVxufVxuXG4uaGVyby1ob21lLWtub3dpbmcge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTBkZWcsIHJnYmEoMTcsIDE3LCAxNywgMC42KSAwJSwgcmdiYSgxNywgMTcsIDE3LCAuNikgMjUlLCByZ2JhKDczLCAxNDUsIDE0OSwgMC42KSA2MCUsIHJnYmEoNzMsIDE0NSwgMTQ5LCAwLjYpIDEwMCUpLCB1cmwoLi4vaW1nL3N0b2NrLXdvbWFuLTEucG5nKTtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0O1xufVxuXG4uaGVyby1ob21lLXdpbi13aW4td2luIHtcblx0QG1lZGlhIChtaW4td2lkdGg6ICRicC1sYXJnZSkge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvc3RvY2stY2l0eXNjYXBlLnBuZyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuXHRcdHBhZGRpbmctYm90dG9tOiAyMmVtO1xuXHR9XG59XG5cbi5oZXJvLWhvbWUtaW50cm9kdWNpbmctbWFzdGVyY2xhc3Mge1xuXHRAbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cdFx0cGFkZGluZy1ib3R0b206IDI0ZW07XG5cdH1cbn1cblxuLmhlcm8taG9tZS1mcmFjdGlvbiB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcblx0XHRtYXJnaW4tdG9wOiAtMjZlbTtcblx0fVxuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtbGFyZ2UpIHtcblx0XHQmIC5jb250YWluZXIteHdpZGUge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAyZW07XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAyZW07XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cbn1cblxuLmhlcm8taG9tZS1ib251cyB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3N0b2NrLW1hbi0xLnBuZyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xuXHR9XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6ICRicC1sYXJnZSkge1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblxuXHRcdCYgPiAucGFkZGluZy14bGFyZ2Uge1xuXHRcdFx0cGFkZGluZzogMmVtO1xuXHRcdH1cblx0fVxufVxuXG4uaGVyby1ob21lLWFib3V0LXRvbnkge1xuXHRAbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy90b255LWNoYWlyLnBuZyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG5cdH1cbn1cblxuLmhlcm8taG9tZS1wZW9wbGUtbGlrZS15b3Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0QG1lZGlhIChtaW4td2lkdGg6ICRicC1sYXJnZSkge1xuXHRcdHBhZGRpbmctYm90dG9tOiAxMmVtO1xuXHR9XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6ICRicC1sYXJnZSkge1xuXHRcdHBhZGRpbmctdG9wOiAwO1xuXHR9XG59XG5cbi5sb2dvLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvdXN0bGEtd2F0ZXJtYXJrLnN2ZycpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7IC8vIG9yIGF1dG9cbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBvcGFjaXR5OiA1JTsgIFxuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGVyby1ob21lLXBlcmtzIHtcblx0QG1lZGlhIChtaW4td2lkdGg6ICRicC1sYXJnZSkge1xuXHRcdG1hcmdpbi10b3A6IC0xMGVtO1xuXHR9XG59XG5cbi5oZXJvLWZvb3Rlci1ndWlkZSB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcblx0XHRtYXJnaW4tYm90dG9tOiAtMTJlbTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ei1pbmRleDogOTk5O1xuXHR9XG59XG5cbi5oZXJvLWZvb3Rlci1iZyB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcblx0XHRwYWRkaW5nLXRvcDogMTZlbTtcblx0fVxufVxuXG4uaGVyby1ibG9nLWluZGV4LWhlYWRlciB7XG5cdHBhZGRpbmctYm90dG9tOiAxMGVtO1xufVxuXG4uaGVyby1ibG9nLWluZGV4LWxpc3Qge1xuXHRtYXJnaW4tdG9wOiAtOGVtO1xufVxuXG4uaGVyby10b255LWNoYWlyIHtcblx0QG1lZGlhIChtaW4td2lkdGg6ICRicC1sYXJnZSkge1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvdG9ueS1jaGFpci1hbHQucG5nKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gbGVmdDtcblx0fVxufVxuXG4uaGVyby1mb290ZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCkgMCUsIHZhcigtLWNvbG9yLXByaW1hcnkpIDg1JSwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTAwJSk7XG5cdHBhZGRpbmctYm90dG9tOiA3LjVlbTtcblxuXHRAbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvdG9ueS1wb2RpdW0tZm9vdGVyLnBuZyk7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7XG5cdH1cblxuICAgICYud2l0aC1iYW5uZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5oZXJvLXdoeS1jaG9vc2UtdXMtaGVhZGVyIHtcblx0cGFkZGluZy1ib3R0b206IDE0ZW07XG59XG5cbi5oZXJvLXdoeS1jaG9vc2UtdXMtdmlkZW8ge1xuXHRtYXJnaW4tdG9wOiAtMTJlbTtcbn1cblxuLmhlcm8tNDA0IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0KTtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpIDAlLCB2YXIoLS1jb2xvci1wcmltYXJ5KSA4NSUsIHZhcigtLWNvbG9yLXByaW1hcnkpIDEwMCUpO1xuXG5cdC8vIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy80MDQucG5nKTtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG5cdC8vIH1cbn0iLCIvKipcbiAqIEBzZWN0aW9uIFdoeSBVc1xuICovXG5cbi8vIEJhc2UgU3R5bGVzXG4uaGVyby13aHktY2hvb3NlLXVzLWhlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDRlbTtcbn1cblxuLm1lc3NhZ2UtZnJvbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIG1pbi1oZWlnaHQ6IDkwMHB4O1xufVxuXG4uYmctaGFjayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMTc1cHgpO1xuICAgIH1cbn1cblxuLy8gTGFyZ2Ugc2NyZWVuIGFkanVzdG1lbnRzXG5AbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG4gICAgLndhdGVybWFyay1jdXN0b20ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC00MnB4O1xuICAgICAgICBsZWZ0OiAtMjkwcHg7XG4gICAgICAgIHdpZHRoOiA5NDVweDtcbiAgICAgICAgaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvYWx0LXdhdGVybWFyay5zdmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuICAgICAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMzcycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmctY3VzdG9tLWdyYWQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IC0yNzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9iZy1ncmFkLnBuZyk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgd2lkdGg6IDc4NXB4O1xuICAgICAgICBoZWlnaHQ6IDExMzFweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbn1cblxuLy8gVGVhbSBNZW1iZXJzXG4udGVhbS1tZW1iZXJzIHtcbiAgICAuaW50cm8ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMWVtIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNWVtO1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS43NWVtO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IC03NXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRoZS10ZWFtIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5tZW1iZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnAtbGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgICAgICAgZ2FwOiAyMHB4IDc3cHg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYXV0bztcblxuICAgICAgICAgICAgLm1lbWJlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI3MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjcwcHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjRweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZXZlbnQtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBhZGRpbmc6IDU1cHggNjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuXG4gICAgLmV2ZW50LWRhdGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHggMjVweCAzcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IC0zMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgICYubm8tYmVmb3JlOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmNvbHVtbiB7XG4gICAgJi5sZWZ0IHtcbiAgICAgICAgLmV2ZW50LXRleHQsXG4gICAgICAgIC5ldmVudC10aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIC5ldmVudC1kYXRlIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJpZ2h0IC5ldmVudC1kYXRlIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4uYmctYmxhY2sge1xuICAgIC5jb2x1bW4ge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG4gICAgICAgIC5ldmVudC1jb250ZW50IHtcbiAgICAgICAgICAgIC5ldmVudC1kYXRlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5lbmQtZXZlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG5cbiAgICAuZXZlbnQtZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDlweCAyNXB4IDNweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IC01NnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTIwMHB4O1xuICAgICAgICBsZWZ0OiAtMXB4O1xuICAgIH1cbn1cblxuLnR1ZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTEwcHg7XG59XG5cbi5lbmQtcXVvdGUge1xuICAgIGNpdGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxufVxuXG4ucmVzdWx0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMWVtO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjMTczMzNmO1xuICAgIH1cbiAgICAudXNlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA2M3B4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICMyNDkzOTY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG4uYmctYm94IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC0xMHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgICBoZWlnaHQ6IDgwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyNDkzOTY7XG4gICAgei1pbmRleDogLTE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5oZXJvLWJveGVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgbWFyZ2luLXRvcDogLTY1cHg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgbWFyZ2luLWJvdHRvbTogNmVtO1xufVxuXG4uZ3JpZC1mb3VydGgge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICBnYXA6IDIwcHg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuXG4gICAgLmdyaWQtaXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbiAgICAgICAgcGFkZGluZzogMCAyZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMzVweDsgLy8gRW5zdXJlIHRoZSBib3hlcyBoYXZlIGEgbWluaW11bSBoZWlnaHRcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMWVtO1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtZGFyayk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ3JpZC1pdGVtLmxhc3Qge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1MHB4O1xufVxuXG4vLyBNZWRpYSBxdWVyeSBmb3IgbW9iaWxlIHJlc3BvbnNpdmVuZXNzXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuZ3JpZC1mb3VydGgge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgLy8gU3RhY2sgdGhlIGdyaWQgaXRlbXMgb24gbW9iaWxlXG4gICAgfVxufVxuXG4uZ3JpZC10d28ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDRlbTtcbiAgICBcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBnYXA6IDYwcHg7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBncmlkLWFyZWE6IDE7XG4gICAgfVxuXG4gICAgLmltYWdlcyB7XG4gICAgICAgIGdyaWQtYXJlYTogMS8yO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnAtMSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi8qIFBhZGRpbmcgQWxsIFNpZGVzICovXG4ucC0wIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuLnAtMF81IHtcbiAgICBwYWRkaW5nOiAwLjEyNXJlbTtcbn0gLyogMC41ICogMC4yNXJlbSAqL1xuLnAtMSB7XG4gICAgcGFkZGluZzogMC4yNXJlbTtcbn1cbi5wLTFfNSB7XG4gICAgcGFkZGluZzogMC4zNzVyZW07XG59IC8qIDEuNSAqIDAuMjVyZW0gKi9cbi5wLTIge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbn1cbi5wLTJfNSB7XG4gICAgcGFkZGluZzogMC42MjVyZW07XG59IC8qIDIuNSAqIDAuMjVyZW0gKi9cbi5wLTMge1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG59XG4ucC0zXzUge1xuICAgIHBhZGRpbmc6IDAuODc1cmVtO1xufSAvKiAzLjUgKiAwLjI1cmVtICovXG4ucC00IHtcbiAgICBwYWRkaW5nOiAxcmVtO1xufVxuLnAtNiB7XG4gICAgcGFkZGluZzogMS41cmVtO1xufVxuLnAtNyB7XG4gICAgcGFkZGluZzogMS43NXJlbTtcbn1cbi5wLTgge1xuICAgIHBhZGRpbmc6IDJyZW07XG59XG4ucC05IHtcbiAgICBwYWRkaW5nOiAyLjI1cmVtO1xufVxuLnAtMTAge1xuICAgIHBhZGRpbmc6IDIuNXJlbTtcbn1cbi5wLTExIHtcbiAgICBwYWRkaW5nOiAyLjc1cmVtO1xufVxuLnAtMTIge1xuICAgIHBhZGRpbmc6IDNyZW07XG59XG4vKiBhbmQgc28gb24uLi4gKi9cblxuLyogUGFkZGluZyBUb3AgKi9cbi5wdC0wIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cbi5wdC0wXzUge1xuICAgIHBhZGRpbmctdG9wOiAwLjEyNXJlbTtcbn1cbi5wdC0xIHtcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbn1cbi5wdC0xXzUge1xuICAgIHBhZGRpbmctdG9wOiAwLjM3NXJlbTtcbn1cbi5wdC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xufVxuLnB0LTJfNSB7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xufVxuLnB0LTMge1xuICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xufVxuLnB0LTNfNSB7XG4gICAgcGFkZGluZy10b3A6IDAuODc1cmVtO1xufVxuLnB0LTQge1xuICAgIHBhZGRpbmctdG9wOiAxcmVtO1xufVxuLnB0LTUge1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xufVxuLnB0LTYge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG59XG4ucHQtNyB7XG4gICAgcGFkZGluZy10b3A6IDEuNzVyZW07XG59XG4ucHQtOCB7XG4gICAgcGFkZGluZy10b3A6IDJyZW07XG59XG4ucHQtOSB7XG4gICAgcGFkZGluZy10b3A6IDIuMjVyZW07XG59XG4ucHQtMTAge1xuICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG59XG4ucHQtMTEge1xuICAgIHBhZGRpbmctdG9wOiAyLjc1cmVtO1xufVxuLnB0LTEyIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbn1cblxuLyogUGFkZGluZyBSaWdodCAqL1xuLnByLTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4ucHItMF81IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjEyNXJlbTtcbn1cbi5wci0xIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xufVxuLnByLTFfNSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4zNzVyZW07XG59XG4ucHItMiB7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xufVxuLnByLTJfNSB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG59XG4ucHItMyB7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbn1cbi5wci0zXzUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuODc1cmVtO1xufVxuLnByLTQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG59XG4ucHItNSB7XG4gICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbn1cbi5wci02IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG59XG4ucHItNyB7XG4gICAgcGFkZGluZy1yaWdodDogMS43NXJlbTtcbn1cbi5wci04IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xufVxuLnByLTkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuMjVyZW07XG59XG4ucHItMTAge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbn1cbi5wci0xMSB7XG4gICAgcGFkZGluZy1yaWdodDogMi43NXJlbTtcbn1cbi5wci0xMiB7XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbn1cblxuLyogUGFkZGluZyBCb3R0b20gKi9cbi5wYi0wIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbi5wYi0wXzUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjEyNXJlbTtcbn1cbi5wYi0xIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbn1cbi5wYi0xXzUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjM3NXJlbTtcbn1cbi5wYi0yIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuLnBiLTJfNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xufVxuLnBiLTMge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xufVxuLnBiLTNfNSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuODc1cmVtO1xufVxuLnBiLTQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xufVxuLnBiLTUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xufVxuLnBiLTYge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG59XG4ucGItNyB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNzVyZW07XG59XG4ucGItOCB7XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG4ucGItOSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuMjVyZW07XG59XG4ucGItMTAge1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG59XG4ucGItMTEge1xuICAgIHBhZGRpbmctYm90dG9tOiAyLjc1cmVtO1xufVxuLnBiLTEyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbn1cblxuLyogUGFkZGluZyBMZWZ0ICovXG4ucGwtMCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuLnBsLTBfNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjEyNXJlbTtcbn1cbi5wbC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07XG59XG4ucGwtMV81IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMzc1cmVtO1xufVxuLnBsLTIge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xufVxuLnBsLTJfNSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbn1cbi5wbC0zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG59XG4ucGwtM181IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuODc1cmVtO1xufVxuLnBsLTQge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbn1cbi5wbC01IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG4ucGwtNiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG59XG4ucGwtNyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjc1cmVtO1xufVxuLnBsLTgge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbn1cbi5wbC05IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuMjVyZW07XG59XG4ucGwtMTAge1xuICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xufVxuLnBsLTExIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNzVyZW07XG59XG4ucGwtMTIge1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTtcbn1cblxuLyogR3JpZCBDb250YWluZXIgQ2xhc3NlcyAqL1xuLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxcmVtOyAvKiBEZWZhdWx0IGdhcCBiZXR3ZWVuIGdyaWQgaXRlbXMgKi9cbn1cblxuLmdyaWQtY29scy0yIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xufVxuXG4uZ3JpZC1jb2xzLTQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG59XG5cbi8qIFJlc3BvbnNpdmUgR3JpZCBDbGFzc2VzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuZ3JpZC1jb2xzLTIge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG5cbiAgICAuZ3JpZC1jb2xzLTQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG59XG5cbi8qIENvbHVtbiBTcGFuIFV0aWxpdHkgQ2xhc3NlcyAqL1xuLmNvbC1zcGFuLTEge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDEgLyBzcGFuIDE7XG59XG5cbi5jb2wtc3Bhbi0yIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyIC8gc3BhbiAyO1xufVxuXG4uY29sLXNwYW4tMyB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMyAvIHNwYW4gMztcbn1cblxuLmNvbC1zcGFuLTQge1xuICAgIGdyaWQtY29sdW1uOiBzcGFuIDQgLyBzcGFuIDQ7XG59XG5cbi8qIEdyaWQgR2FwIFV0aWxpdHkgQ2xhc3NlcyAqL1xuLmdyaWQtZ2FwLTAge1xuICAgIGdhcDogMDtcbn1cbi5ncmlkLWdhcC0xIHtcbiAgICBnYXA6IDFweDtcbn1cbi5ncmlkLWdhcC0yIHtcbiAgICBnYXA6IDJweDtcbn1cbi5ncmlkLWdhcC0zIHtcbiAgICBnYXA6IDNweDtcbn1cbi5ncmlkLWdhcC00IHtcbiAgICBnYXA6IDRweDtcbn1cbi5ncmlkLWdhcC01IHtcbiAgICBnYXA6IDVweDtcbn1cbi5ncmlkLWdhcC02IHtcbiAgICBnYXA6IDZweDtcbn1cbi5ncmlkLWdhcC03IHtcbiAgICBnYXA6IDdweDtcbn1cbi5ncmlkLWdhcC04IHtcbiAgICBnYXA6IDhweDtcbn1cbi5ncmlkLWdhcC05IHtcbiAgICBnYXA6IDlweDtcbn1cbi5ncmlkLWdhcC0xMCB7XG4gICAgZ2FwOiAxMHB4O1xufVxuLmdyaWQtZ2FwLTEyIHtcbiAgICBnYXA6IDEycHg7XG59XG4uZ3JpZC1nYXAtMTQge1xuICAgIGdhcDogMTRweDtcbn1cbi5ncmlkLWdhcC0xNiB7XG4gICAgZ2FwOiAxNnB4O1xufVxuLmdyaWQtZ2FwLTE4IHtcbiAgICBnYXA6IDE4cHg7XG59XG4uZ3JpZC1nYXAtMjAge1xuICAgIGdhcDogMjBweDtcbn1cbi5ncmlkLWdhcC0yNCB7XG4gICAgZ2FwOiAyNHB4O1xufVxuLmdyaWQtZ2FwLTI4IHtcbiAgICBnYXA6IDI4cHg7XG59XG4uZ3JpZC1nYXAtMzIge1xuICAgIGdhcDogMzJweDtcbn1cbi5ncmlkLWdhcC0zNiB7XG4gICAgZ2FwOiAzNnB4O1xufVxuLmdyaWQtZ2FwLTQwIHtcbiAgICBnYXA6IDQwcHg7XG59XG4uZ3JpZC1nYXAtNDQge1xuICAgIGdhcDogNDRweDtcbn1cbi5ncmlkLWdhcC00OCB7XG4gICAgZ2FwOiA0OHB4O1xufVxuLmdyaWQtZ2FwLTUwIHtcbiAgICBnYXA6IDUwcHg7XG59XG5cbi5jb21tdW5pdHktYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTUwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmNvbW11bml0eSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIFxuXG4gICAgLmNvbW11bml0eS1pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAmLmV4dHJhID4gaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHhcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5lbmQge1xuICAgICAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgLmNlbnRlciB7XG4gICAgICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgfVxufVxuXG4ud2VUZWFjaCAuZ3JpZC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxcmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgICN3aHktdXMgLnJvdy1ob21lLWFib3V0LXRvbnkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxMiwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgYXV0byk7XG4gICAgfVxuXG4gICAgI3doeS11cyAucm93LWhvbWUtYWJvdXQtdG9ueS5jdXN0b20gLmdyaWQtaW1nIHtcbiAgICAgICAgaGVpZ2h0OiA5ODBweDtcbiAgICAgICAgZ3JpZC1hcmVhOiAxIC8gMSAvIDMgLyA2O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICB9XG5cbiAgICAjd2h5LXVzIC5yb3ctaG9tZS1hYm91dC10b255IC5ncmlkLXRleHQge1xuICAgICAgICBncmlkLWFyZWE6IDIgLyA2IC8gMyAvIDEyO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNy41ZW07XG4gICAgfVxuXG4gICAgI3doeS11cyAucm93LWhvbWUtYWJvdXQtdG9ueSAuZ3JpZC1oZWFkaW5nIHtcbiAgICAgICAgZ3JpZC1hcmVhOiAxIC8gNiAvIDIgLyAxMjtcbiAgICAgICAgcGFkZGluZy10b3A6IDQuNWVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxufVxuXG4uY3VzdG9tLWJsb2NrLW9uZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvd2h5dXMvYmFja2dyb3VuZC5wbmcpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vbmU7XG4gICAgcGFkZGluZy10b3A6IDUuNWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMGVtO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgaDMge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIH1cblxuICAgIC51c3RsYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtMTQ1cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3doeXVzL3VzdGxhLnBuZyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBoZWlnaHQ6IDU0NXB4O1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG59XG5cbiN3aHktdXMgaDQge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgbWFyZ2luOiAwIDAgMmVtIDA7XG59XG5cbi53aHl1cy12aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTEwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAgICAgdG9wOiAtMTYwcHg7XG4gICAgfVxufVxuXG4jd2h5LXVzIC5zZWN0aW9uLWNhcm91c2VsIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4jd2h5LXVzIC5ncmlkLXN0YXJ0LWhhbGYge1xuICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAxO1xufVxuXG4jd2h5LXVzIC5saXN0LWlubGluZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG4gICAgbWF4LWhlaWdodDogNTc5cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuI3doeS11cyAuY3VzdG9tLWgyIHtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgY29sb3I6ICMyNDkzOTY7XG59XG5cbi5sZXR0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3doeXVzL2xldHRlci1ib3R0b20ucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgYm90dG9tO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0ZjNmMDtcbiAgICBwYWRkaW5nOjAgMTBweCAxMDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCA2MDBweDtcbiAgICB9XG59XG5cbi5sZXR0ZXIgPiAud3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgcGFkZGluZzogMCAxMHB4O1xufVxuXG4ucGFwZXItc2hhZG93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDM4cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAtMnB4IDJweCAzOHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgLyogUmVtb3ZlIHRvcCBzaGFkb3cgKi9cbiAgfVxuICBcbiAgLnBhcGVyLXNoYWRvdzphZnRlciwgLnBhcGVyLXNoYWRvdzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgei1pbmRleDogLTE7XG4gIH1cbiAgXG4gIC5wYXBlci1zaGFkb3c6YWZ0ZXIge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHRvcDogMDsgLyogUmVtb3ZlIHRvcCBzaGFkb3cgKi9cbiAgICBib3R0b206IDA7IC8qIEFwcGx5IHRvIGJvdHRvbSAqL1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xuICAgIGJveC1zaGFkb3c6IDBweCAyNXB4IDM1cHggMHB4IHJnYmEoMCwwLDAsMC41KTsgLyogT25seSBib3R0b20gc2hhZG93ICovXG4gIH1cbiAgXG4gIC5wYXBlci1zaGFkb3c6YmVmb3JlIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDk1JTtcbiAgICB0b3A6IDVweDtcbiAgICByaWdodDogMThweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICBib3gtc2hhZG93OiAyMnB4IDBweCAzNXB4IDBweCByZ2JhKDAsMCwwLDAuNSk7IC8qIE9ubHkgcmlnaHQgc2hhZG93ICovXG4gIH1cblxuICAuY29uc3RyaWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDczMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgfVxuICB9XG4gIFxuXG4gIC50b3VjaHBvaW50IHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9IiwiLmNhcmVlcnMtYmcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvY2FyZWVycy1iYW5uZXIucG5nKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxudWwuaWNvbi1saXN0IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbnVsLmljb24tbGlzdCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxudWwuaWNvbi1saXN0IGxpOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgbGVmdDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhkcFpIUm9QU0l4WlcwaUlHaGxhV2RvZEQwaU1XVnRJaUIyYVdWM1FtOTRQU0l3SURBZ01UUXVORFk1SURFMExqUTJPU0lnWVhKcFlTMW9hV1JrWlc0OUluUnlkV1VpUGp4d1lYUm9JR1JoZEdFdGJtRnRaVDBpVUdGMGFDQXlPVGc1TWlJZ1pEMGlUVE11TmpJeExqYzFkakV1TkRVMWFEY3VOakUwVERFdU1EWXhJREV5TGpNNGJERXVNREk0SURFdU1ESTRUREV5TGpJMk1TQXpMakl6TkhZM0xqa3hObWd4TGpRMU5GWXVOelZhSWlCbWFXeHNQU0lqWVdVM1pESmpJaUJ6ZEhKdmEyVTlJaU5oWlRka01tTWlJSE4wY205clpTMTNhV1IwYUQwaU1TNDFJaTgrUEM5emRtYysnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyAvKiBPciBzZXQgYSBzcGVjaWZpYyBzaXplICovXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnN1YnRpdGxlLFxuLmljb24tbGlzdC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmljb24tbGlzdC10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5mbGV4LWhhY2stcHVycG9zZSAuc3VidGl0bGUge1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4ubWFzayB7XG4gICAgb3BhY2l0eTogLjUwO1xufVxuXG4udmlkZW8tdGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAudmlkZW8tdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDEwMHB4IDAgNTBweDtcbiAgICB9XG5cbiAgICAubXktcmVzdWx0cy5jYXJlZXIgPiBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBncmlkLWNvbHVtbjogMS8yO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5jYXJlZXJzLXZpZGVvIC5ibG9jay1lbGVtZW50LWN1c3RvbSB7XG4gICAgICAgIGhlaWdodDogNDQ1cHg7XG4gICAgICAgIHdpZHRoOiAzNSU7XG4gICAgfVxuXG4gICAgLmNhcmVlcnMtdmlkZW8gLndhdGVybWFyay1jdXN0b20ge1xuICAgICAgICBsZWZ0OiAtMTkwcHg7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogLTUwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXJlZXJzLXZpZGVvIHZpZGVvIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4xNikgMHB4IDEwcHggMzZweCAwcHgsIHJnYmEoMCwgMCwgMCwgMC4wNikgMHB4IDBweCAwcHggMXB4O1xufVxuXG52aWRlb1twb3N0ZXJde1xuICAgIGhlaWdodDphdXRvO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59IiwiLyoqXG4gKiBAc2VjdGlvbiBQcmludFxuICogU3R5bGluZyBmb3IgcHJpbnRlZCBjb250ZW50LiBBZGFwdGVkIGZyb20gSFRNTDVCUC5cbiAqIEBsaW5rIGh0dHA6Ly9odG1sNWJvaWxlcnBsYXRlLmNvbVxuICovXG5cbkBtZWRpYSBwcmludCB7XG5cblx0LyoqXG5cdCAqIFVuaXZlcnNhbCBzZWxlY3Rvci5cblx0ICogUmVzZXQgYWxsIGNvbnRlbnQgdG8gdHJhbnNwYXJlbnQgYmFja2dyb3VuZCwgYmxhY2sgY29sb3IsIGFuZCByZW1vdmUgYm94IGFuZCB0ZXh0IHNoYWRvd3MuXG5cdCAqL1xuXHQqIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHRcdHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQvKipcblx0ICogU3BlY2lmaWVzIHBhZ2UgbWFyZ2luXG5cdCAqL1xuXHRAcGFnZSB7XG5cdFx0bWFyZ2luOiAwLjVjbTtcblx0fVxuXG5cdC8qKlxuXHQgKiBVbmRlcmxpbmUgYWxsIGxpbmtzXG5cdCAqL1xuXHRhLFxuXHRhOnZpc2l0ZWQge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNob3cgVVJMIGFmdGVyIGxpbmtzXG5cdCAqL1xuXHRhW2hyZWZdOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcblx0fVxuXG5cdC8qKlxuXHQgKiBEb24ndCBzaG93IFVSTCBmb3IgaW50ZXJuYWwgbGlua3Ncblx0ICovXG5cdGFbaHJlZl49XCIjXCJdOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIlwiO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNwZWNpZmllcyB0aGUgbWluaW11bSBudW1iZXIgb2YgbGluZXMgdG8gcHJpbnQgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGEgcGFnZS5cblx0ICovXG5cdHAsXG5cdGgxLCBoMiwgaDMge1xuXHRcdG9ycGhhbnM6IDM7XG5cdFx0d2lkb3dzOiAzO1xuXHR9XG5cblx0LyoqXG5cdCAqIEF2b2lkIGluc2VydGluZyBhIHBhZ2UgYnJlYWsgYWZ0ZXIgaGVhZGVyc1xuXHQgKi9cblx0aDEsIGgyLCBoMyB7XG5cdFx0cGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG5cdH1cblxuXHQvKipcblx0ICogQ2hhbmdlIGJvcmRlciBjb2xvciBvbiBibG9ja3F1b3RlcyBhbmQgcHJlZm9ybWF0dGVkIHRleHQuXG5cdCAqIEF2b2lkIHBhZ2UgYnJlYWtzIGluc2lkZSB0aGUgY29udGVudFxuXHQgKi9cblx0cHJlLFxuXHRibG9ja3F1b3RlIHtcblx0XHRib3JkZXItY29sb3I6ICM5OTk7XG5cdFx0cGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuXHR9XG5cblx0LyoqXG5cdCAqIERpc3BsYXllZCBhcyBhIHRhYmxlIGhlYWRlciByb3cgZ3JvdXBcblx0ICovXG5cdHRoZWFkIHtcblx0XHRkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG5cdH1cblxuXHQvKipcblx0ICogQXZvaWQgaW5zZXJ0aW5nIGEgcGFnZSBicmVhayBpbnNpZGUgdGFibGUgcm93cyBhbmQgaW1hZ2VzXG5cdCAqL1xuXHR0cixcblx0aW1nIHtcblx0XHRwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG5cdH1cblxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLSovXG4vKiAgQmFja2dyb3VuZHMgICAqL1xuLyotLS0tLS0tLS0tLS0tLS0tKi9cbiAlYmctZGFyayB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG5cdGEge1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdH1cbn1cblxuLmJnLWdyYWRpZW50IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMjVkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCkgMCUsIHZhcigtLWNvbG9yLXByaW1hcnkpIDg1JSwgdmFyKC0tY29sb3ItcHJpbWFyeSkgMTAwJSk7XG59XG5cbi5iZy1ncmFkaWVudC1yZXZlcnNlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjVkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCkgMzAlLCB2YXIoLS1jb2xvci1wcmltYXJ5KSA2NSUsIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpIDEwMCUpO1xufVxuXG4uYmctZ3JhZGllbnQtYWx0IHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0KSAwJSwgdmFyKC0tY29sb3ItcHJpbWFyeSkgODUlLCB2YXIoLS1jb2xvci1wcmltYXJ5KSAxMDAlKTtcbn1cblxuLmJnLWdyYWRpZW50LWFsdC1saWdodCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpIDI1JSwgdmFyKC0tY29sb3ItcHJpbWFyeSkgNTUlLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KSAxMDAlKTtcbn1cblxuLmJnLWdyYWRpZW50LWFsdC1saWdodC1yZXZlcnNlIHtcblx0YmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyMjVkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCkgMCUsIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpIDU1JSwgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodGVzdCkgMTAwJSk7XG59XG5cbi5iZy1ncmFkaWVudC12ZXJ0aWNhbCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCkgMCUsIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCkgMzAlLCB2YXIoLS1jb2xvci1wcmltYXJ5LW1pZGRsZSkgNjAlLCB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KSAxMDAlKTtcbn1cblxuLmJnLWdyYWRpZW50LXZlcnRpY2FsLWFsdCB7XG5cdGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCkgMCUsIHZhcigtLWNvbG9yLXByaW1hcnktbGlnaHQpIDg1JSwgdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCkgMTAwJSk7XG59XG5cbi5iZy1ncmFkaWVudC1oZWFkZXIge1xuXHRiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcmltYXJ5LWRhcmtlc3QpO1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoN2RlZywgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0KSAwJSwgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrZXN0KSA2NSUsIHZhcigtLWNvbG9yLXByaW1hcnkpIDEwMCUpO1xufVxuXG4uYmctbXV0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LWxpZ2h0ZXIpO1xufVxuXG4uYmctd2hpdGUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5iZy1ibGFjayB7XG5cdEBleHRlbmQgJWJnLWRhcms7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktZGFya2VzdCk7XG59XG5cbi5iZy1wcmltYXJ5IHtcblx0QGV4dGVuZCAlYmctZGFyaztcblx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1saWdodCk7XG59XG5cbi5iZy1hY2NlbnQge1xuXHRAZXh0ZW5kICViZy1kYXJrO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xufVxuXG4uYmctc2VtaS10cmFuc3BhcmVudCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cblxuLmJnLXNlbWktdHJhbnNwYXJlbnQtZGFyayB7XG5cdGJhY2tkcm9wLWZpbHRlcjogYmx1cigyZW0pO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG59XG5cbi5iZy1zZW1pLXRyYW5zcGFyZW50LWxpZ2h0IHtcblx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDJlbSk7XG5cdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE0LCAyMTEsIDIwMSwgMC4yKTtcbn1cbiIsImhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyoqXG4gKiBAc2VjdGlvbiBNYWluIE5hdlxuICogU3R5bGluZyBmb3IgdGhlIG1haW4gbmF2aWdhdGlvbiBhcmVhXG4gKi9cblxuIC5qcy1oYW1idXJnZXIgLm5hdi1leHBhbmRlZCB7XG5cdGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xufVxuXG4vKipcbiAqIFRoZSBuYXZpZ2F0aW9uIHdyYXBwZXJcbiAqL1xuLm5hdi13cmFwIHtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHBhZGRpbmctdG9wOiAxLjcyZW07IC8vIGJyb3VnaHQgdGhpcyBpbiBsaW5lIHdpdGggdGhlIG1vY2t1cHMgKDI1cHgpXG5cdHBhZGRpbmctYm90dG9tOiAwLjVlbTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cblx0LmhhbWJ1cmdlciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5qcy1oYW1idXJnZXIgJiB7XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRicC1sYXJnZSkge1xuXHRcdFx0ZGlzcGxheTogZ3JpZDtcblx0XHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cdFx0XHRncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcblx0XHRcdGNvbHVtbi1nYXA6IDFlbTtcblx0XHRcdHBhZGRpbmc6IDFlbSAwLjVlbSAwLjVlbTtcblxuXHRcdFx0LmxvZ28ge1xuXHRcdFx0XHRncmlkLWFyZWE6IDEgLyAxIC8gMiAvIDI7XG5cdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHR9XG5cdFx0XHQubmF2LW1lbnUgeyBncmlkLWFyZWE6IDIgLyAxIC8gMyAvIDM7IH1cblx0XHRcdC5oYW1idXJnZXIge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0Z3JpZC1hcmVhOiAxIC8gMiAvIDIgLyAzO1xuXHRcdFx0fVxuXG5cdFx0XHQuanMtaGlkZGVuIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0fVxufVxuXG4vKipcbiAqIFRoZSBsb2dvXG4gKi9cbi5sb2dvIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRmb250LXdlaWdodDogYm9sZDtcblx0bGluZS1oZWlnaHQ6IDEuMjtcblx0bWFyZ2luLWJvdHRvbTogMC4zMTI1ZW07XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRAbWVkaWEgKG1pbi13aWR0aDogJGJwLWxhcmdlKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG5cdCYsXG5cdCY6Zm9jdXMge1xuXHRcdGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cdH1cblxuXHQmOmFjdGl2ZSxcblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0fVxufVxuXG4vKipcbiAqIFRoZSBuYXZpZ2F0aW9uIG1lbnVcbiAqL1xuLm5hdiB7XG5cdEBleHRlbmQgLmxpc3QtaW5saW5lO1xuXHRAZXh0ZW5kIC5saXN0LWlubGluZS1zcGFjZWQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cblx0YSB7XG5cdFx0Y29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdH1cblxuXHRhOmhvdmVyOm5vdCguYnRuKSxcblx0YTphY3RpdmU6bm90KC5idG4pLFxuXHRhOmZvY3VzOm5vdCguYnRuKSxcblx0LmFjdGl2ZTpub3QoLmJ0bikge1xuXHRcdGJvcmRlci1ib3R0b206IDAuMTI1ZW0gc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcblx0XHRjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXHRcdC8vIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0fVxuXG4gICAgW2FyaWEtY3VycmVudD1cInBhZ2VcIl06bm90KC5idG4pIHtcbiAgICAgICAgY29sb3I6ICB2YXIoLS1jb2xvci1wcmltYXJ5LWxpZ2h0KTtcbiAgICB9XG5cblx0LmpzLWhhbWJ1cmdlciAmIHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogJGJwLWxhcmdlKSB7XG5cdFx0XHQvLyBtYXJnaW4tbGVmdDogMDtcblx0XHRcdC8vIG1hcmdpbi1yaWdodDogMDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxuXG5cdC5qcy1oYW1idXJnZXIgJiA+IGxpIHtcblx0XHRAbWVkaWEgKG1heC13aWR0aDogJGJwLWxhcmdlKSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogMC41ZW0gMDtcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIERyb3Bkb3duXG5cdCAqL1xuXG5cdC8qKlxuXHQgKiBQb3NpdGlvbiB0aGUgZHJvcGRvd24gY29udGVudFxuXHQgKi9cblx0ZGV0YWlscyB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAvKiBzdHlsZXMgdGhlIGRyb3AgZG93biBhcnJvdyAqL1xuICAgICAgICA+IHN1bW1hcnk6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDsgIFxuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50OyBcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtNXB4O1xuICAgICAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXHR9XG5cblxuXHQvKipcblx0ICogU3R5bGUgdGhlIGRyb3Bkb3duIGxpc3Rcblx0ICovXG5cdGRldGFpbHMgdWwge1xuXHRcdEBleHRlbmQgLmxpc3QtdW5zdHlsZWQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeS1kYXJrKTtcblx0XHRib3JkZXItcmFkaXVzOiAwLjI1ZW07XG5cdFx0bWluLXdpZHRoOiAxOWVtO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdHRvcDogMi41ZW07XG5cdFx0bGVmdDogLTJlbTtcblx0XHR6LWluZGV4OiA5OTk7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0bGkge1xuXHRcdFx0cGFkZGluZzogMC4yNWVtIDAuNWVtO1xuXHRcdH1cblxuXG5cdFx0LmpzLWhhbWJ1cmdlciAmIHtcblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiAkYnAtbGFyZ2UpIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0bWluLXdpZHRoOiBhdXRvO1xuXHRcdFx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdFx0XHR0b3A6IHVuc2V0O1xuXHRcdFx0XHRsZWZ0OiB1bnNldDtcblxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59Il19 */
