@charset "UTF-8";
@font-face {
  font-family: 'BurfordRusticShadowTwoA';
  src: url("/wp-content/themes/annawaddinxveen/assets/fonts/BurfordRusticShadowTwoA.otf") format("OpenType"); }

@font-face {
  font-family: 'Predige-Medium';
  src: url("/wp-content/themes/annawaddinxveen/assets/fonts/Predige-Medium.otf") format("OpenType"), url("/wp-content/themes/annawaddinxveen/assets/fonts/Predige-Medium.woff") format("woff"); }

@font-face {
  font-family: 'Predige-Regular';
  src: url("/wp-content/themes/annawaddinxveen/assets/fonts/Predige-Regular.otf") format("OpenType"), url("/wp-content/themes/annawaddinxveen/assets/fonts/Predige-Regular.woff") format("woff"); }

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }
  .owl-carousel .owl-stage {
    position: relative;
    touch-action: manipulation;
    -moz-backface-visibility: hidden;
    /* fix firefox animation glitch */ }
  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl-carousel .owl-wrapper,
  .owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel .owl-nav button.owl-prev,
  .owl-carousel .owl-nav button.owl-next,
  .owl-carousel button.owl-dot {
    background: none;
    color: inherit;
    border: none;
    padding: 0 !important;
    font: inherit; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  -webkit-animation-duration: 1000ms;
          animation-duration: 1000ms;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
          animation-name: fadeOut; }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
			This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
			calculation of the height of the owl-item that breaks page layouts
		 */ }
  .owl-carousel .owl-item .owl-lazy {
    opacity: 0;
    transition: opacity 400ms ease; }
  .owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
    max-height: 0; }
  .owl-carousel .owl-item img.owl-lazy {
    transform-style: preserve-3d; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }

.mfp-preloader a {
  color: #CCC; }

.mfp-preloader a:hover {
  color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1; }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1; }

.mfp-arrow:before,
.mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent; }

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px; }

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px; }

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    transform: scale(0.75); }
  .mfp-arrow-left {
    transform-origin: 0; }
  .mfp-arrow-right {
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * Remove margin and padding from every selector including their
 * psuedo selectors.
 *
 * 1. More sensible default box sizing.
 *    (css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice).
 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
  /* 1 */ }

/**
 * Set height of the document to maxium viewport height.
 *
 * 1. Set root font size to 10.
 */
html {
  height: 100vh;
  font-size: 62.5%;
  /* 1 */
  box-sizing: border-box; }

/**
 * Set minimal height of the body to maximum viewport height to
 * match the document's height.
 *
 * 1. Firefox 25+.
 * 2. Chrome 5+.
 */
body {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  min-height: 100vh;
  background-color: #fff1d6;
  color: #174f3f;
  font-family: "Predige-Regular";
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  /* 1 */
  -webkit-font-smoothing: antialiased;
  /* 2 */ }

/* ==========================================================================
   Reset
   ========================================================================== */
/**
 * Custom user agent resets and overrides that are not present in
 * Normalize 8.0.0. This mostly removes some annoying margin and padding
 * defaults, border radius, and outlines.
 */
a {
  color: inherit;
  text-decoration: none; }

/**
 * 1. Remove border radius on Chrome 62.0+ on macOS.
 */
button {
  border: 0;
  border-radius: 0;
  /* 1 */
  outline: none;
  background: none;
  cursor: pointer; }

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

figure {
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit; }

hr {
  margin: 0;
  padding: 0; }

/**
 * 1. Remove white space.
 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  /* 1 */ }

/**
 * 1. Remove inherited user agent appearance.
 */
input,
select,
textarea {
  max-width: 100%;
  border: 0;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  /* 1 */ }

/**
 * 1. Only allow vertical resizing to prevent the textarea
 *    from overflowing the container.
 */
textarea {
  resize: vertical; }

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

p {
  margin: 0; }

/**
 * 1. Collapse borders to prevent double sided borders.
 */
table {
  max-width: 100%;
  border-collapse: collapse;
  /* 1 */ }

strong {
  font-weight: 700; }

/* ==========================================================================
   Background
   ========================================================================== */
/**
 * Background base.
 */
.background {
  position: relative; }
  .background::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    content: '';
    z-index: -1; }

/**
 * Background primary.
 */
.background--default {
  color: #174f3f;
  fill: #174f3f; }
  .background--default::before {
    background: #fff1d6; }
  .background--default h1 {
    color: #ec6927; }
  .background--default h2 {
    color: #174f3f; }
  .background--default .button--arrow {
    color: #174f3f; }
    .background--default .button--arrow svg {
      color: #174f3f;
      fill: #174f3f; }
  .background--default .button--border {
    border: 2px solid #fff1d6;
    color: #fff1d6; }
    .background--default .button--border svg {
      color: #fff1d6;
      fill: #fff1d6; }

/**
 * Background primary (with pattern).
 */
.background--beige {
  color: #174f3f;
  fill: #174f3f; }
  .background--beige::before {
    background: #fff1d6; }
  .background--beige h1 {
    color: #ec6927; }
  .background--beige h2 {
    color: #174f3f; }
  .background--beige .button--arrow {
    color: #174f3f; }
    .background--beige .button--arrow svg {
      color: #174f3f;
      fill: #174f3f; }
  .background--beige .button--border {
    border: 2px solid #fff1d6;
    color: #fff1d6; }
    .background--beige .button--border svg {
      color: #fff1d6;
      fill: #fff1d6; }

/**
 * Background secondary.
 */
.background--green {
  color: #fff1d6;
  fill: #fff1d6; }
  .background--green::before {
    background: #0b7453; }
  .background--green h1,
  .background--green h2 {
    color: #fff1d6; }
  .background--green .button--arrow {
    color: #0b7453; }
    .background--green .button--arrow svg {
      color: #0b7453;
      fill: #0b7453; }
  .background--green .button--border {
    border: 2px solid #0b7453;
    color: #0b7453; }
    .background--green .button--border svg {
      color: #0b7453;
      fill: #0b7453; }

/**
 * Background secondary.
 */
.background--dark-brown {
  color: #0b7453;
  fill: #0b7453; }
  .background--dark-brown::before {
    background: #0b7453; }
  .background--dark-brown h1,
  .background--dark-brown h2 {
    color: #0b7453; }
  .background--dark-brown .button--arrow {
    color: #0b7453; }
    .background--dark-brown .button--arrow svg {
      color: #0b7453;
      fill: #0b7453; }
  .background--dark-brown .button--border {
    border: 2px solid #0b7453;
    color: #0b7453; }
    .background--dark-brown .button--border svg {
      color: #0b7453;
      fill: #0b7453; }

.background--pink {
  color: #0b7453;
  fill: #0b7453; }
  .background--pink::before {
    background: #ec6927; }
  .background--pink h1,
  .background--pink h2 {
    color: #0b7453; }
  .background--pink .button--arrow {
    color: #0b7453; }
    .background--pink .button--arrow svg {
      color: #0b7453;
      fill: #0b7453; }
  .background--pink .button--border {
    border: 2px solid #0b7453;
    color: #0b7453; }
    .background--pink .button--border svg {
      color: #0b7453;
      fill: #0b7453; }

/**
 * Background border.
 */
@media only screen and (max-width: 899px) {
  .background--border {
    margin-bottom: 0; } }

.background--border::before {
  bottom: 95px;
  border-bottom: 20px solid #174f3f; }
  @media only screen and (max-width: 899px) {
    .background--border::before {
      bottom: 15px;
      border-bottom: 10px solid #0b7453; } }

@media only screen and (min-width: 900px) {
  .background--border .wrapper {
    padding-bottom: 0; } }

.background--border + div {
  margin-top: -95px;
  padding-top: 95px; }
  @media only screen and (max-width: 899px) {
    .background--border + div {
      margin-top: -15px;
      padding-top: 15px; } }

/* ==========================================================================
   Buttons.
   ========================================================================== */
/**
 * Button base.
 */
.button {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  display: inline-flex;
  align-items: center;
  height: 32px;
  transition: all 350ms ease;
  cursor: pointer; }
  .button svg {
    width: 35px;
    height: 32px;
    transition: all 250ms ease; }

/**
 * Button border.
 */
.button--border {
  position: relative;
  margin-right: 35px;
  padding: 0 10px; }
  .button--border svg {
    position: absolute;
    top: -3px;
    right: -35px; }
  .button--border::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    transition: all 350ms ease;
    content: '';
    z-index: -1; }
  .button--border:hover::after {
    width: 100%; }
  .button--border.is-orange {
    border: 2px solid #ec6927;
    color: #fff1d6; }
    .button--border.is-orange svg {
      color: #ec6927;
      fill: #ec6927; }
    .button--border.is-orange::after {
      background: #ec6927; }
  .button--border.is-brown {
    border: 2px solid #774212;
    color: #774212; }
    .button--border.is-brown svg {
      color: #774212;
      fill: #774212; }
    .button--border.is-brown::after {
      background: #774212; }
    .button--border.is-brown:hover {
      color: #f0e4cb; }
  .button--border.is-green {
    border: 2px solid #174f3f;
    color: #174f3f; }
    .button--border.is-green svg {
      color: #174f3f;
      fill: #174f3f; }
    .button--border.is-green::after {
      background: #174f3f; }
    .button--border.is-green:hover {
      color: white; }

/**
 * Button arrow.
 */
.button--arrow svg {
  position: relative;
  top: 1px;
  margin-left: 12px; }

.button--arrow:hover svg {
  margin-left: 15px; }

.button--arrow.is-orange {
  color: #ec6927; }
  .button--arrow.is-orange svg {
    color: #ec6927;
    fill: #ec6927; }

.button--arrow.is-red {
  color: #df4126; }
  .button--arrow.is-red svg {
    color: #df4126;
    fill: #df4126; }

.button--arrow.is-beige {
  color: #fff1d6; }
  .button--arrow.is-beige svg {
    color: #fff1d6;
    fill: #fff1d6; }

.button--arrow.is-brown {
  color: #774212; }
  .button--arrow.is-brown svg {
    color: #774212;
    fill: #774212; }

.button--arrow.is-black {
  color: black; }
  .button--arrow.is-black svg {
    color: black;
    fill: black; }

/* ==========================================================================
   Container
   ========================================================================== */
/**
 * The container object centers an element in the document.
 */
.container {
  max-width: calc(1024px + 50.66667px);
  padding: 0 25.33333px;
  width: 100%;
  margin: 0 auto; }

/* ==========================================================================
   Content Constraint
   ========================================================================== */
/**
 * The content constraint is a constraint for all the content within
 * the document. It can be manipulated by CSS or JavaScript without
 * influencing the body.
 */
.content-constraint {
  position: relative;
  min-height: 100vh;
  overflow: hidden; }
  .content-constraint ::-moz-selection {
    background-color: #ec6927;
    color: #774212; }
  .content-constraint ::selection {
    background-color: #ec6927;
    color: #774212; }

/* ==========================================================================
   Flex
   ========================================================================== */
/**
 * Example of a flex based column grid layout in practice:
 *
 * <div class="row">
 *   <div class="col col-xs-6 col-sm-12"></div>
 *   <div class="col col-xs-6 col-sm-12"></div>
 * </div>
 *
 * This example will create a row with two columns each filling half the width
 * of the row on all media, but will convert to a full width column on the
 * small `-sm` breakpoint alias, which is mobile only. Refer to
 * `settings/_definitions.scss` for all breakpoint alias.
 */
/**
 * Flex object.
 *
 * Tip: Use flex on a column to make the box the same height as the column.
 */
.flex {
  display: flex; }

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

/**
 * Flex object with a column based layout system.
 */
.row {
  display: flex;
  flex: 0 1 auto;
  flex-flow: row wrap;
  margin: 0 -12.66667px; }

/**
 * Box, the inside of a column.
 */
.box {
  flex: 1; }

/**
       * Column 1 for the `xs` breakpoint.
       */
.col-xs-1 {
  flex: 0 1 auto;
  width: 8.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 1 for the `xs` breakpoint.
         */
.offset-xs-1 {
  margin-left: 8.33333%; }

/**
       * Column 2 for the `xs` breakpoint.
       */
.col-xs-2 {
  flex: 0 1 auto;
  width: 16.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 2 for the `xs` breakpoint.
         */
.offset-xs-2 {
  margin-left: 16.66667%; }

/**
       * Column 3 for the `xs` breakpoint.
       */
.col-xs-3 {
  flex: 0 1 auto;
  width: 25%;
  padding: 0 12.66667px; }

/**
         * Offset 3 for the `xs` breakpoint.
         */
.offset-xs-3 {
  margin-left: 25%; }

/**
       * Column 4 for the `xs` breakpoint.
       */
.col-xs-4 {
  flex: 0 1 auto;
  width: 33.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 4 for the `xs` breakpoint.
         */
.offset-xs-4 {
  margin-left: 33.33333%; }

/**
       * Column 5 for the `xs` breakpoint.
       */
.col-xs-5 {
  flex: 0 1 auto;
  width: 41.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 5 for the `xs` breakpoint.
         */
.offset-xs-5 {
  margin-left: 41.66667%; }

/**
       * Column 6 for the `xs` breakpoint.
       */
.col-xs-6 {
  flex: 0 1 auto;
  width: 50%;
  padding: 0 12.66667px; }

/**
         * Offset 6 for the `xs` breakpoint.
         */
.offset-xs-6 {
  margin-left: 50%; }

/**
       * Column 7 for the `xs` breakpoint.
       */
.col-xs-7 {
  flex: 0 1 auto;
  width: 58.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 7 for the `xs` breakpoint.
         */
.offset-xs-7 {
  margin-left: 58.33333%; }

/**
       * Column 8 for the `xs` breakpoint.
       */
.col-xs-8 {
  flex: 0 1 auto;
  width: 66.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 8 for the `xs` breakpoint.
         */
.offset-xs-8 {
  margin-left: 66.66667%; }

/**
       * Column 9 for the `xs` breakpoint.
       */
.col-xs-9 {
  flex: 0 1 auto;
  width: 75%;
  padding: 0 12.66667px; }

/**
         * Offset 9 for the `xs` breakpoint.
         */
.offset-xs-9 {
  margin-left: 75%; }

/**
       * Column 10 for the `xs` breakpoint.
       */
.col-xs-10 {
  flex: 0 1 auto;
  width: 83.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 10 for the `xs` breakpoint.
         */
.offset-xs-10 {
  margin-left: 83.33333%; }

/**
       * Column 11 for the `xs` breakpoint.
       */
.col-xs-11 {
  flex: 0 1 auto;
  width: 91.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 11 for the `xs` breakpoint.
         */
.offset-xs-11 {
  margin-left: 91.66667%; }

/**
       * Column 12 for the `xs` breakpoint.
       */
.col-xs-12 {
  flex: 0 1 auto;
  width: 100%;
  padding: 0 12.66667px; }

/**
       * Align `stretch` for the xs breakpoint.
       */
.align-xs-stretch {
  align-items: stretch; }

/**
       * Align `center` for the xs breakpoint.
       */
.align-xs-center {
  align-items: center; }

/**
       * Align `flex-start` for the xs breakpoint.
       */
.align-xs-flex-start {
  align-items: flex-start; }

/**
       * Align `flex-end` for the xs breakpoint.
       */
.align-xs-flex-end {
  align-items: flex-end; }

/**
       * Align `baseline` for the xs breakpoint.
       */
.align-xs-baseline {
  align-items: baseline; }

/**
       * Justify `start` for the xs breakpoint.
       */
.justify-xs-start {
  justify-content: start; }

/**
       * Justify `center` for the xs breakpoint.
       */
.justify-xs-center {
  justify-content: center; }

/**
       * Justify `space-between` for the xs breakpoint.
       */
.justify-xs-space-between {
  justify-content: space-between; }

/**
       * Justify `space-around` for the xs breakpoint.
       */
.justify-xs-space-around {
  justify-content: space-around; }

/**
       * Justify `space-evenly` for the xs breakpoint.
       */
.justify-xs-space-evenly {
  justify-content: space-evenly; }

/**
       * Bleed left for the xs breakpoint.
       */
.bleed-xs-left {
  padding-left: 0; }

/**
       * Bleed right for the xs breakpoint.
       */
.bleed-xs-right {
  padding-right: 0; }

/**
     * Order first for the `xs` breakpoint.
     */
.first-xs {
  order: -1; }

/**
     * Order last for the `xs` breakpoint.
     */
.last-xs {
  order: 1; }

/**
     * Reverse order for the `xs` breakpoint.
     */
.reverse-xs {
  flex-direction: row-reverse; }

/**
       * Column 1 for the `sm` breakpoint.
       */
.col-sm-1 {
  flex: 0 1 auto;
  width: 8.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 1 for the `sm` breakpoint.
         */
.offset-sm-1 {
  margin-left: 8.33333%; }

/**
       * Column 2 for the `sm` breakpoint.
       */
.col-sm-2 {
  flex: 0 1 auto;
  width: 16.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 2 for the `sm` breakpoint.
         */
.offset-sm-2 {
  margin-left: 16.66667%; }

/**
       * Column 3 for the `sm` breakpoint.
       */
.col-sm-3 {
  flex: 0 1 auto;
  width: 25%;
  padding: 0 12.66667px; }

/**
         * Offset 3 for the `sm` breakpoint.
         */
.offset-sm-3 {
  margin-left: 25%; }

/**
       * Column 4 for the `sm` breakpoint.
       */
.col-sm-4 {
  flex: 0 1 auto;
  width: 33.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 4 for the `sm` breakpoint.
         */
.offset-sm-4 {
  margin-left: 33.33333%; }

/**
       * Column 5 for the `sm` breakpoint.
       */
.col-sm-5 {
  flex: 0 1 auto;
  width: 41.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 5 for the `sm` breakpoint.
         */
.offset-sm-5 {
  margin-left: 41.66667%; }

/**
       * Column 6 for the `sm` breakpoint.
       */
.col-sm-6 {
  flex: 0 1 auto;
  width: 50%;
  padding: 0 12.66667px; }

/**
         * Offset 6 for the `sm` breakpoint.
         */
.offset-sm-6 {
  margin-left: 50%; }

/**
       * Column 7 for the `sm` breakpoint.
       */
.col-sm-7 {
  flex: 0 1 auto;
  width: 58.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 7 for the `sm` breakpoint.
         */
.offset-sm-7 {
  margin-left: 58.33333%; }

/**
       * Column 8 for the `sm` breakpoint.
       */
.col-sm-8 {
  flex: 0 1 auto;
  width: 66.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 8 for the `sm` breakpoint.
         */
.offset-sm-8 {
  margin-left: 66.66667%; }

/**
       * Column 9 for the `sm` breakpoint.
       */
.col-sm-9 {
  flex: 0 1 auto;
  width: 75%;
  padding: 0 12.66667px; }

/**
         * Offset 9 for the `sm` breakpoint.
         */
.offset-sm-9 {
  margin-left: 75%; }

/**
       * Column 10 for the `sm` breakpoint.
       */
.col-sm-10 {
  flex: 0 1 auto;
  width: 83.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 10 for the `sm` breakpoint.
         */
.offset-sm-10 {
  margin-left: 83.33333%; }

/**
       * Column 11 for the `sm` breakpoint.
       */
.col-sm-11 {
  flex: 0 1 auto;
  width: 91.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 11 for the `sm` breakpoint.
         */
.offset-sm-11 {
  margin-left: 91.66667%; }

/**
       * Column 12 for the `sm` breakpoint.
       */
.col-sm-12 {
  flex: 0 1 auto;
  width: 100%;
  padding: 0 12.66667px; }

/**
       * Align `stretch` for the sm breakpoint.
       */
.align-sm-stretch {
  align-items: stretch; }

/**
       * Align `center` for the sm breakpoint.
       */
.align-sm-center {
  align-items: center; }

/**
       * Align `flex-start` for the sm breakpoint.
       */
.align-sm-flex-start {
  align-items: flex-start; }

/**
       * Align `flex-end` for the sm breakpoint.
       */
.align-sm-flex-end {
  align-items: flex-end; }

/**
       * Align `baseline` for the sm breakpoint.
       */
.align-sm-baseline {
  align-items: baseline; }

/**
       * Justify `start` for the sm breakpoint.
       */
.justify-sm-start {
  justify-content: start; }

/**
       * Justify `center` for the sm breakpoint.
       */
.justify-sm-center {
  justify-content: center; }

/**
       * Justify `space-between` for the sm breakpoint.
       */
.justify-sm-space-between {
  justify-content: space-between; }

/**
       * Justify `space-around` for the sm breakpoint.
       */
.justify-sm-space-around {
  justify-content: space-around; }

/**
       * Justify `space-evenly` for the sm breakpoint.
       */
.justify-sm-space-evenly {
  justify-content: space-evenly; }

/**
       * Bleed left for the sm breakpoint.
       */
.bleed-sm-left {
  padding-left: 0; }

/**
       * Bleed right for the sm breakpoint.
       */
.bleed-sm-right {
  padding-right: 0; }

/**
     * Order first for the `sm` breakpoint.
     */
.first-sm {
  order: -1; }

/**
     * Order last for the `sm` breakpoint.
     */
.last-sm {
  order: 1; }

/**
     * Reverse order for the `sm` breakpoint.
     */
.reverse-sm {
  flex-direction: row-reverse; }

/**
       * Column 1 for the `md` breakpoint.
       */
.col-md-1 {
  flex: 0 1 auto;
  width: 8.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 1 for the `md` breakpoint.
         */
.offset-md-1 {
  margin-left: 8.33333%; }

/**
       * Column 2 for the `md` breakpoint.
       */
.col-md-2 {
  flex: 0 1 auto;
  width: 16.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 2 for the `md` breakpoint.
         */
.offset-md-2 {
  margin-left: 16.66667%; }

/**
       * Column 3 for the `md` breakpoint.
       */
.col-md-3 {
  flex: 0 1 auto;
  width: 25%;
  padding: 0 12.66667px; }

/**
         * Offset 3 for the `md` breakpoint.
         */
.offset-md-3 {
  margin-left: 25%; }

/**
       * Column 4 for the `md` breakpoint.
       */
.col-md-4 {
  flex: 0 1 auto;
  width: 33.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 4 for the `md` breakpoint.
         */
.offset-md-4 {
  margin-left: 33.33333%; }

/**
       * Column 5 for the `md` breakpoint.
       */
.col-md-5 {
  flex: 0 1 auto;
  width: 41.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 5 for the `md` breakpoint.
         */
.offset-md-5 {
  margin-left: 41.66667%; }

/**
       * Column 6 for the `md` breakpoint.
       */
.col-md-6 {
  flex: 0 1 auto;
  width: 50%;
  padding: 0 12.66667px; }

/**
         * Offset 6 for the `md` breakpoint.
         */
.offset-md-6 {
  margin-left: 50%; }

/**
       * Column 7 for the `md` breakpoint.
       */
.col-md-7 {
  flex: 0 1 auto;
  width: 58.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 7 for the `md` breakpoint.
         */
.offset-md-7 {
  margin-left: 58.33333%; }

/**
       * Column 8 for the `md` breakpoint.
       */
.col-md-8 {
  flex: 0 1 auto;
  width: 66.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 8 for the `md` breakpoint.
         */
.offset-md-8 {
  margin-left: 66.66667%; }

/**
       * Column 9 for the `md` breakpoint.
       */
.col-md-9 {
  flex: 0 1 auto;
  width: 75%;
  padding: 0 12.66667px; }

/**
         * Offset 9 for the `md` breakpoint.
         */
.offset-md-9 {
  margin-left: 75%; }

/**
       * Column 10 for the `md` breakpoint.
       */
.col-md-10 {
  flex: 0 1 auto;
  width: 83.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 10 for the `md` breakpoint.
         */
.offset-md-10 {
  margin-left: 83.33333%; }

/**
       * Column 11 for the `md` breakpoint.
       */
.col-md-11 {
  flex: 0 1 auto;
  width: 91.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 11 for the `md` breakpoint.
         */
.offset-md-11 {
  margin-left: 91.66667%; }

/**
       * Column 12 for the `md` breakpoint.
       */
.col-md-12 {
  flex: 0 1 auto;
  width: 100%;
  padding: 0 12.66667px; }

/**
       * Align `stretch` for the md breakpoint.
       */
.align-md-stretch {
  align-items: stretch; }

/**
       * Align `center` for the md breakpoint.
       */
.align-md-center {
  align-items: center; }

/**
       * Align `flex-start` for the md breakpoint.
       */
.align-md-flex-start {
  align-items: flex-start; }

/**
       * Align `flex-end` for the md breakpoint.
       */
.align-md-flex-end {
  align-items: flex-end; }

/**
       * Align `baseline` for the md breakpoint.
       */
.align-md-baseline {
  align-items: baseline; }

/**
       * Justify `start` for the md breakpoint.
       */
.justify-md-start {
  justify-content: start; }

/**
       * Justify `center` for the md breakpoint.
       */
.justify-md-center {
  justify-content: center; }

/**
       * Justify `space-between` for the md breakpoint.
       */
.justify-md-space-between {
  justify-content: space-between; }

/**
       * Justify `space-around` for the md breakpoint.
       */
.justify-md-space-around {
  justify-content: space-around; }

/**
       * Justify `space-evenly` for the md breakpoint.
       */
.justify-md-space-evenly {
  justify-content: space-evenly; }

/**
       * Bleed left for the md breakpoint.
       */
.bleed-md-left {
  padding-left: 0; }

/**
       * Bleed right for the md breakpoint.
       */
.bleed-md-right {
  padding-right: 0; }

/**
     * Order first for the `md` breakpoint.
     */
.first-md {
  order: -1; }

/**
     * Order last for the `md` breakpoint.
     */
.last-md {
  order: 1; }

/**
     * Reverse order for the `md` breakpoint.
     */
.reverse-md {
  flex-direction: row-reverse; }

/**
       * Column 1 for the `lg` breakpoint.
       */
.col-lg-1 {
  flex: 0 1 auto;
  width: 8.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 1 for the `lg` breakpoint.
         */
.offset-lg-1 {
  margin-left: 8.33333%; }

/**
       * Column 2 for the `lg` breakpoint.
       */
.col-lg-2 {
  flex: 0 1 auto;
  width: 16.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 2 for the `lg` breakpoint.
         */
.offset-lg-2 {
  margin-left: 16.66667%; }

/**
       * Column 3 for the `lg` breakpoint.
       */
.col-lg-3 {
  flex: 0 1 auto;
  width: 25%;
  padding: 0 12.66667px; }

/**
         * Offset 3 for the `lg` breakpoint.
         */
.offset-lg-3 {
  margin-left: 25%; }

/**
       * Column 4 for the `lg` breakpoint.
       */
.col-lg-4 {
  flex: 0 1 auto;
  width: 33.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 4 for the `lg` breakpoint.
         */
.offset-lg-4 {
  margin-left: 33.33333%; }

/**
       * Column 5 for the `lg` breakpoint.
       */
.col-lg-5 {
  flex: 0 1 auto;
  width: 41.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 5 for the `lg` breakpoint.
         */
.offset-lg-5 {
  margin-left: 41.66667%; }

/**
       * Column 6 for the `lg` breakpoint.
       */
.col-lg-6 {
  flex: 0 1 auto;
  width: 50%;
  padding: 0 12.66667px; }

/**
         * Offset 6 for the `lg` breakpoint.
         */
.offset-lg-6 {
  margin-left: 50%; }

/**
       * Column 7 for the `lg` breakpoint.
       */
.col-lg-7 {
  flex: 0 1 auto;
  width: 58.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 7 for the `lg` breakpoint.
         */
.offset-lg-7 {
  margin-left: 58.33333%; }

/**
       * Column 8 for the `lg` breakpoint.
       */
.col-lg-8 {
  flex: 0 1 auto;
  width: 66.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 8 for the `lg` breakpoint.
         */
.offset-lg-8 {
  margin-left: 66.66667%; }

/**
       * Column 9 for the `lg` breakpoint.
       */
.col-lg-9 {
  flex: 0 1 auto;
  width: 75%;
  padding: 0 12.66667px; }

/**
         * Offset 9 for the `lg` breakpoint.
         */
.offset-lg-9 {
  margin-left: 75%; }

/**
       * Column 10 for the `lg` breakpoint.
       */
.col-lg-10 {
  flex: 0 1 auto;
  width: 83.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 10 for the `lg` breakpoint.
         */
.offset-lg-10 {
  margin-left: 83.33333%; }

/**
       * Column 11 for the `lg` breakpoint.
       */
.col-lg-11 {
  flex: 0 1 auto;
  width: 91.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 11 for the `lg` breakpoint.
         */
.offset-lg-11 {
  margin-left: 91.66667%; }

/**
       * Column 12 for the `lg` breakpoint.
       */
.col-lg-12 {
  flex: 0 1 auto;
  width: 100%;
  padding: 0 12.66667px; }

/**
       * Align `stretch` for the lg breakpoint.
       */
.align-lg-stretch {
  align-items: stretch; }

/**
       * Align `center` for the lg breakpoint.
       */
.align-lg-center {
  align-items: center; }

/**
       * Align `flex-start` for the lg breakpoint.
       */
.align-lg-flex-start {
  align-items: flex-start; }

/**
       * Align `flex-end` for the lg breakpoint.
       */
.align-lg-flex-end {
  align-items: flex-end; }

/**
       * Align `baseline` for the lg breakpoint.
       */
.align-lg-baseline {
  align-items: baseline; }

/**
       * Justify `start` for the lg breakpoint.
       */
.justify-lg-start {
  justify-content: start; }

/**
       * Justify `center` for the lg breakpoint.
       */
.justify-lg-center {
  justify-content: center; }

/**
       * Justify `space-between` for the lg breakpoint.
       */
.justify-lg-space-between {
  justify-content: space-between; }

/**
       * Justify `space-around` for the lg breakpoint.
       */
.justify-lg-space-around {
  justify-content: space-around; }

/**
       * Justify `space-evenly` for the lg breakpoint.
       */
.justify-lg-space-evenly {
  justify-content: space-evenly; }

/**
       * Bleed left for the lg breakpoint.
       */
.bleed-lg-left {
  padding-left: 0; }

/**
       * Bleed right for the lg breakpoint.
       */
.bleed-lg-right {
  padding-right: 0; }

/**
     * Order first for the `lg` breakpoint.
     */
.first-lg {
  order: -1; }

/**
     * Order last for the `lg` breakpoint.
     */
.last-lg {
  order: 1; }

/**
     * Reverse order for the `lg` breakpoint.
     */
.reverse-lg {
  flex-direction: row-reverse; }

/**
       * Column 1 for the `xl` breakpoint.
       */
.col-xl-1 {
  flex: 0 1 auto;
  width: 8.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 1 for the `xl` breakpoint.
         */
.offset-xl-1 {
  margin-left: 8.33333%; }

/**
       * Column 2 for the `xl` breakpoint.
       */
.col-xl-2 {
  flex: 0 1 auto;
  width: 16.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 2 for the `xl` breakpoint.
         */
.offset-xl-2 {
  margin-left: 16.66667%; }

/**
       * Column 3 for the `xl` breakpoint.
       */
.col-xl-3 {
  flex: 0 1 auto;
  width: 25%;
  padding: 0 12.66667px; }

/**
         * Offset 3 for the `xl` breakpoint.
         */
.offset-xl-3 {
  margin-left: 25%; }

/**
       * Column 4 for the `xl` breakpoint.
       */
.col-xl-4 {
  flex: 0 1 auto;
  width: 33.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 4 for the `xl` breakpoint.
         */
.offset-xl-4 {
  margin-left: 33.33333%; }

/**
       * Column 5 for the `xl` breakpoint.
       */
.col-xl-5 {
  flex: 0 1 auto;
  width: 41.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 5 for the `xl` breakpoint.
         */
.offset-xl-5 {
  margin-left: 41.66667%; }

/**
       * Column 6 for the `xl` breakpoint.
       */
.col-xl-6 {
  flex: 0 1 auto;
  width: 50%;
  padding: 0 12.66667px; }

/**
         * Offset 6 for the `xl` breakpoint.
         */
.offset-xl-6 {
  margin-left: 50%; }

/**
       * Column 7 for the `xl` breakpoint.
       */
.col-xl-7 {
  flex: 0 1 auto;
  width: 58.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 7 for the `xl` breakpoint.
         */
.offset-xl-7 {
  margin-left: 58.33333%; }

/**
       * Column 8 for the `xl` breakpoint.
       */
.col-xl-8 {
  flex: 0 1 auto;
  width: 66.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 8 for the `xl` breakpoint.
         */
.offset-xl-8 {
  margin-left: 66.66667%; }

/**
       * Column 9 for the `xl` breakpoint.
       */
.col-xl-9 {
  flex: 0 1 auto;
  width: 75%;
  padding: 0 12.66667px; }

/**
         * Offset 9 for the `xl` breakpoint.
         */
.offset-xl-9 {
  margin-left: 75%; }

/**
       * Column 10 for the `xl` breakpoint.
       */
.col-xl-10 {
  flex: 0 1 auto;
  width: 83.33333%;
  padding: 0 12.66667px; }

/**
         * Offset 10 for the `xl` breakpoint.
         */
.offset-xl-10 {
  margin-left: 83.33333%; }

/**
       * Column 11 for the `xl` breakpoint.
       */
.col-xl-11 {
  flex: 0 1 auto;
  width: 91.66667%;
  padding: 0 12.66667px; }

/**
         * Offset 11 for the `xl` breakpoint.
         */
.offset-xl-11 {
  margin-left: 91.66667%; }

/**
       * Column 12 for the `xl` breakpoint.
       */
.col-xl-12 {
  flex: 0 1 auto;
  width: 100%;
  padding: 0 12.66667px; }

/**
       * Align `stretch` for the xl breakpoint.
       */
.align-xl-stretch {
  align-items: stretch; }

/**
       * Align `center` for the xl breakpoint.
       */
.align-xl-center {
  align-items: center; }

/**
       * Align `flex-start` for the xl breakpoint.
       */
.align-xl-flex-start {
  align-items: flex-start; }

/**
       * Align `flex-end` for the xl breakpoint.
       */
.align-xl-flex-end {
  align-items: flex-end; }

/**
       * Align `baseline` for the xl breakpoint.
       */
.align-xl-baseline {
  align-items: baseline; }

/**
       * Justify `start` for the xl breakpoint.
       */
.justify-xl-start {
  justify-content: start; }

/**
       * Justify `center` for the xl breakpoint.
       */
.justify-xl-center {
  justify-content: center; }

/**
       * Justify `space-between` for the xl breakpoint.
       */
.justify-xl-space-between {
  justify-content: space-between; }

/**
       * Justify `space-around` for the xl breakpoint.
       */
.justify-xl-space-around {
  justify-content: space-around; }

/**
       * Justify `space-evenly` for the xl breakpoint.
       */
.justify-xl-space-evenly {
  justify-content: space-evenly; }

/**
       * Bleed left for the xl breakpoint.
       */
.bleed-xl-left {
  padding-left: 0; }

/**
       * Bleed right for the xl breakpoint.
       */
.bleed-xl-right {
  padding-right: 0; }

/**
     * Order first for the `xl` breakpoint.
     */
.first-xl {
  order: -1; }

/**
     * Order last for the `xl` breakpoint.
     */
.last-xl {
  order: 1; }

/**
     * Reverse order for the `xl` breakpoint.
     */
.reverse-xl {
  flex-direction: row-reverse; }

/* ==========================================================================
   Headings.
   ========================================================================== */
/**
 * Heading 1.
 */
h1,
.heading-1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em;
  font-family: "Predige-Medium"; }
  @media only screen and (max-width: 899px) {
    h1,
    .heading-1 {
      font-size: 48px;
      font-size: 4.8rem;
      line-height: 1.125em; } }

/**
 * Heading 2.
 */
h2,
.heading-2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em;
  font-family: "Predige-Medium"; }
  @media only screen and (max-width: 899px) {
    h2,
    .heading-2 {
      font-size: 48px;
      font-size: 4.8rem;
      line-height: 1.125em;
      overflow-wrap: break-word; } }

/**
 * Heading 3.
 */
h3,
.heading-3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em;
  font-family: "Predige-Medium";
  -webkit-text-stroke: 1px #174f3f;
  color: transparent; }
  @media only screen and (max-width: 1199px) {
    h3,
    .heading-3 {
      font-size: 100px;
      font-size: 10rem;
      line-height: 1em; } }
  @media only screen and (max-width: 899px) {
    h3,
    .heading-3 {
      font-size: 50px;
      font-size: 5rem;
      line-height: 1em;
      max-width: 100vw;
      white-space: nowrap; } }

/* ==========================================================================
   Headings.
   ========================================================================== */
.has-load {
  position: relative;
  top: -150px;
  transition: all 1000ms ease;
  opacity: 0; }

.has-load[loaded='true'] {
  top: 0;
  opacity: 1; }

/* ==========================================================================
   Section
   ========================================================================== */
/* ==========================================================================
   Wrapper
   ========================================================================== */
/**
 * The wrapper object centers an element in the document.
 */
/**
 * Wrapper (default)
 */
.wrapper {
  max-width: calc(1250px + 190px);
  padding: 0 95px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 599px) {
    .wrapper {
      padding: 0 40px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .wrapper {
      padding: 0 50px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .wrapper {
      padding: 0 60px; } }

/* ==========================================================================
   CMS Output
   ========================================================================== */
/**
 * Every conceivable HTML element within a `.cms-output` wrapper.
 *
 * 1. Exclude last childs.
 */
.cms-output > *:not(:last-child) {
  margin-bottom: 1em;
  /* 1 */ }

.cms-output ul {
  list-style-type: none; }
  .cms-output ul li {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875em;
    width: calc(100% - 35px); }
    .cms-output ul li::before {
      left: 0;
      width: 5px;
      margin-right: 20px;
      content: '›'; }

.cms-output ol {
  list-style-type: decimal; }
  .cms-output ol li {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.875em; }

.cms-output p > a {
  color: #df4126; }
  .cms-output p > a:hover {
    text-decoration: underline; }

/* ==========================================================================
   Contact form
   ========================================================================== */
.contact-form {
  padding-bottom: 170px; }
  @media only screen and (max-width: 899px) {
    .contact-form {
      padding-bottom: 85px; } }

.contact-form__title {
  position: relative;
  top: -10px;
  left: -14px;
  padding-bottom: 85px;
  color: transparent; }
  @media only screen and (max-width: 899px) {
    .contact-form__title {
      left: -8px;
      margin-top: 25px;
      padding-bottom: 43px; } }

.contact-form__column-contact {
  width: 62%; }
  @media only screen and (max-width: 1199px) {
    .contact-form__column-contact {
      width: 100%; } }

.contact-form__contact-block {
  margin-bottom: 170px; }
  @media only screen and (max-width: 1199px) {
    .contact-form__contact-block {
      margin-bottom: 150px; } }
  @media only screen and (max-width: 899px) {
    .contact-form__contact-block {
      margin-bottom: 75px; } }
  .contact-form__contact-block:last-of-type {
    margin-bottom: 0; }
  .contact-form__contact-block:first-of-type .contact-form__contact-subtitle {
    padding-top: 0; }

.contact-form__contact-title {
  position: absolute;
  left: -15px;
  color: transparent; }
  @media only screen and (max-width: 899px) {
    .contact-form__contact-title {
      left: -8px; } }

.contact-form__contact-subtitle {
  max-width: 400px;
  margin-bottom: 25px;
  padding-top: 235px; }
  @media only screen and (max-width: 1199px) {
    .contact-form__contact-subtitle {
      padding-top: 152px; } }
  @media only screen and (max-width: 899px) {
    .contact-form__contact-subtitle {
      padding-top: 110px; } }

.contact-form__contact-editor {
  max-width: 585px; }

.contact-form__contact-logo {
  width: 100%;
  max-width: 290px;
  margin-top: 55px; }
  @media only screen and (max-width: 1199px) {
    .contact-form__contact-logo {
      margin-top: 40px; } }

.contact-form__column-form {
  width: 38%; }
  @media only screen and (max-width: 1199px) {
    .contact-form__column-form {
      display: none; } }

/* ==========================================================================
   Downloads
   ========================================================================== */
@media only screen and (max-width: 899px) {
  .downloads .wrapper {
    flex-direction: column-reverse;
    padding-top: 15px; } }

.downloads__item {
  margin-bottom: 164px; }
  @media only screen and (max-width: 1199px) {
    .downloads__item {
      margin-bottom: 115px; } }
  @media only screen and (max-width: 899px) {
    .downloads__item {
      margin-bottom: 90px; } }

.downloads__item-date {
  position: absolute;
  left: -14px;
  color: transparent; }
  @media only screen and (max-width: 899px) {
    .downloads__item-date {
      left: -7px; } }

.downloads__column-items {
  width: 61%;
  padding-right: 50px; }
  @media only screen and (max-width: 899px) {
    .downloads__column-items {
      width: 100%; } }

.downloads__item-title {
  margin-bottom: 27px;
  padding-top: 224px; }
  @media only screen and (max-width: 1199px) {
    .downloads__item-title {
      padding-top: 175px; } }
  @media only screen and (max-width: 899px) {
    .downloads__item-title {
      padding-top: 115px; } }

.downloads__item-image {
  max-width: 570px;
  margin: 35px 0; }

.downloads__item-editor {
  max-width: 570px; }

.downloads__item-link {
  margin-top: 35px; }

.downloads__column-links {
  width: 39%; }
  @media only screen and (max-width: 899px) {
    .downloads__column-links {
      width: 100%;
      margin-bottom: 75px; } }

.downloads__title {
  margin-bottom: 23px; }

.downloads__editor a {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em;
  transition: all 250ms ease; }
  .downloads__editor a:hover {
    color: #ec6927; }

/* ==========================================================================
   Footer columns
   ========================================================================== */
.footer-columns {
  line-height: 29px; }
  @media only screen and (max-width: 899px) {
    .footer-columns {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 2em; } }
  .footer-columns .wrapper {
    padding-top: 160px;
    padding-bottom: 175px; }
    @media only screen and (max-width: 899px) {
      .footer-columns .wrapper {
        padding-top: 70px;
        padding-bottom: 85px; } }
  .footer-columns * {
    color: #ec6927; }
  .footer-columns a {
    transition: all 250ms ease;
    color: #ec6927; }
    .footer-columns a:hover {
      color: #174f3f; }

.footer-columns__contact {
  position: relative;
  width: 40%; }
  @media only screen and (max-width: 899px) {
    .footer-columns__contact {
      width: 100%;
      margin-bottom: 50px; } }

.footer-columns__contact-logo {
  position: absolute;
  top: -35px; }
  @media only screen and (max-width: 899px) {
    .footer-columns__contact-logo {
      position: relative;
      top: 0; } }

.footer-columns__contact-editor {
  margin-top: 75px; }
  @media only screen and (max-width: 899px) {
    .footer-columns__contact-editor {
      margin-top: 30px; } }

.footer-columns__sitemaps {
  width: 45%; }
  @media only screen and (max-width: 899px) {
    .footer-columns__sitemaps {
      display: none; } }

.footer-columns__sitemap {
  width: 50%; }

.footer-columns__social-title,
.footer-columns__sitemap-title {
  margin-bottom: 45px; }
  @media only screen and (max-width: 899px) {
    .footer-columns__social-title,
    .footer-columns__sitemap-title {
      margin-bottom: 25px; } }

.footer-columns__social {
  width: 15%; }
  @media only screen and (max-width: 899px) {
    .footer-columns__social {
      width: 100%; } }

.footer-columns__social-links a {
  display: block; }
  .footer-columns__social-links a:hover {
    color: #ec6927; }

/* ==========================================================================
   Footer CTA
   ========================================================================== */
.footer-cta {
  overflow: hidden;
  z-index: 2; }
  .footer-cta .wrapper {
    position: relative; }

.background--border + .footer-cta {
  padding-top: 175px; }
  @media only screen and (max-width: 899px) {
    .background--border + .footer-cta {
      padding-top: 75px; } }

.footer-cta + div {
  margin-top: -95px; }
  @media only screen and (max-width: 899px) {
    .footer-cta + div {
      margin-top: 0; } }

.footer-cta__body {
  position: absolute;
  top: 160px;
  right: 0;
  max-width: 575px;
  max-height: 250px;
  padding: 60px 55px;
  background: #ec6927;
  color: #fff1d6; }
  @media only screen and (max-width: 899px) {
    .footer-cta__body {
      top: 120px; } }
  @media only screen and (max-width: 599px) {
    .footer-cta__body {
      top: 40px;
      right: 40px;
      bottom: 40px;
      left: 40px;
      max-height: -webkit-fit-content;
      max-height: -moz-fit-content;
      max-height: fit-content;
      padding: 60px 40px; } }

.footer-cta__link {
  margin-top: 10px; }

.footer-cta__image {
  position: relative;
  width: 100vw;
  min-height: 570px; }
  @media only screen and (max-width: 899px) {
    .footer-cta__image {
      position: initial;
      height: 500px !important; } }
  .footer-cta__image img {
    position: absolute; }

/* ==========================================================================
   Footer
   ========================================================================== */
.footer {
  height: 50px;
  padding-top: 7px;
  background-color: #174f3f; }
  @media only screen and (max-width: 899px) {
    .footer {
      height: 40px;
      padding-top: 5px; } }

.footer__links a {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1em;
  margin-right: 60px;
  transition: all 250ms ease;
  border-bottom: 2px solid #fff1d6;
  color: #fff1d6; }
  @media only screen and (max-width: 899px) {
    .footer__links a {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 0.85714em;
      margin-right: 20px;
      border: 0; } }
  @media only screen and (min-width: 900px) {
    .footer__links a:hover {
      border-bottom: 2px solid #ec6927;
      color: #ec6927; } }

/* ==========================================================================
   Form
   ========================================================================== */
.form {
  padding-bottom: 180px; }
  @media only screen and (max-width: 899px) {
    .form {
      padding-bottom: 85px; } }

.form__title {
  position: relative;
  top: -10px;
  left: -14px;
  padding-bottom: 85px;
  color: transparent; }
  @media only screen and (max-width: 899px) {
    .form__title {
      left: -8px;
      margin-top: 25px;
      padding-bottom: 50px; } }

.form__column-form {
  width: 72%; }
  @media only screen and (max-width: 1199px) {
    .form__column-form {
      width: 100%; } }

.form__column-image {
  width: 28%; }
  @media only screen and (max-width: 1199px) {
    .form__column-image {
      display: none; } }

.form__image img {
  position: absolute;
  right: 0;
  min-width: 435px; }

.form__shortcode .question-type-radio label {
  margin-bottom: 0; }

/* ==========================================================================
   Header
   ========================================================================== */
.header {
  position: absolute;
  width: 100%;
  height: 210px; }
  @media only screen and (max-width: 899px) {
    .header {
      height: 125px; } }
  .header .wrapper {
    align-items: center;
    height: 210px; }
    @media only screen and (max-width: 899px) {
      .header .wrapper {
        justify-content: space-between;
        height: 125px; } }

.header + div {
  padding-top: 210px; }
  @media only screen and (max-width: 899px) {
    .header + div {
      padding-top: 125px; } }

.header__logo {
  width: calc(100% - 479px);
  padding-right: 15px;
  z-index: 2; }
  @media only screen and (max-width: 899px) {
    .header__logo {
      width: calc(100% - 44px);
      transition: all 750ms ease; } }
  .header__logo img {
    width: 212px;
    height: 150px; }
    @media only screen and (max-width: 899px) {
      .header__logo img {
        width: auto;
        max-height: 100px; } }

@media only screen and (max-width: 899px) {
  .body.is-active .header__logo {
    z-index: 100; } }

.header__buttons {
  width: 445px;
  z-index: 2; }
  @media only screen and (max-width: 899px) {
    .header__buttons {
      display: none; } }

.header__button {
  border: 2px solid #0b7453;
  color: #0b7453; }
  .header__button svg {
    color: #0b7453;
    fill: #0b7453; }
  .header__button::after {
    background: #0b7453; }
  .header__button:hover {
    color: white; }
  .header__button.is-search {
    margin-right: 80px; }

/**
 * Mobile menu button.
 */
.header__menu-button {
  position: relative;
  width: 34px;
  height: 34px;
  z-index: 100; }
  .header__menu-button span {
    display: inline-block;
    position: absolute;
    right: 0;
    left: 0;
    width: 34px;
    height: 2px;
    margin: auto;
    background-color: #ec6927; }
    .header__menu-button span:nth-child(1) {
      top: 0;
      transition: background-color 400ms, top 400ms 400ms, transform 400ms 0s; }
    .header__menu-button span:nth-child(2) {
      top: calc(50% - 1px);
      transition: background-color 400ms, opacity 0ms 400ms;
      background-color: #ec6927;
      opacity: 1; }
    .header__menu-button span:nth-child(3) {
      bottom: 0;
      transition: background-color 400ms, bottom 400ms 400ms, transform 400ms 0s;
      background-color: #ec6927; }
  .header__menu-button.is-active span:nth-child(1) {
    top: calc(50% - 1px);
    transform: rotate(-45deg);
    transition: background-color 400ms, top 400ms, transform 400ms 400ms; }
  .header__menu-button.is-active span:nth-child(2) {
    opacity: 0; }
  .header__menu-button.is-active span:nth-child(3) {
    bottom: calc(50% - 1px);
    transform: rotate(45deg);
    transition: background-color 400ms, bottom 400ms, transform 400ms 400ms; }

/**
 * Header secondary colors.
 */
@media only screen and (max-width: 899px) {
  .header--secondary {
    z-index: 17000; } }

.header--secondary .header__button {
  border: 2px solid #0b7453;
  color: #0b7453; }
  .header--secondary .header__button svg {
    color: #0b7453;
    fill: #0b7453; }
  .header--secondary .header__button::after {
    background: #0b7453; }
  .header--secondary .header__button:hover {
    color: #f0e4cb; }

.header--secondary .header__menu-button span {
  background-color: #ec6927; }
  .header--secondary .header__menu-button span:nth-child(2), .header--secondary .header__menu-button span:nth-child(3) {
    background-color: #ec6927; }

@media only screen and (min-width: 900px) {
  .header__menu-button.is-active span {
    background-color: #0b7453; }
    .header__menu-button.is-active span:nth-child(2), .header__menu-button.is-active span:nth-child(3) {
      background-color: #0b7453; } }

/* ==========================================================================
   Home DNA form.
   ========================================================================== */
/**
 * Default styling.
 */
input[type='text'],
input[type='number'],
input[type='email'],
select,
textarea {
  display: block;
  width: 100%;
  padding: 7px 0;
  border-bottom: 1px solid #774212;
  background: transparent;
  font-weight: 500;
  color: #774212; }

textarea {
  height: 125px;
  border-bottom: 2px solid #774212; }

input::-moz-placeholder {
  color: #774212;
  opacity: 0.5; }

input:-ms-input-placeholder {
  color: #774212;
  opacity: 0.5; }

input::placeholder {
  color: #774212;
  opacity: 0.5; }

/**
 * HomeDNA form.
 */
.homedna-survey {
  max-width: 575px; }

.homedna-survey label {
  display: block;
  margin-bottom: -23px;
  font-family: "Predige-Medium"; }

.homedna-survey .question-type-static,
.homedna-survey .question-type-header {
  display: none; }

.homedna-survey .wrap-question {
  display: block;
  position: relative;
  width: 100%;
  margin-bottom: 26px;
  float: left;
  color: #774212; }
  .homedna-survey .wrap-question a {
    color: #ec6927;
    text-decoration: underline; }
    .homedna-survey .wrap-question a:hover {
      text-decoration: none; }

.homedna-survey .question-type-radio label {
  width: 100%; }

.homedna-survey input[type=radio],
.homedna-survey input[type=checkbox] {
  width: 14px;
  height: 14px;
  margin-top: 6px;
  margin-right: 10px;
  padding: 0;
  float: left;
  transition: 0.35s;
  border: 1px solid #774212; }
  .homedna-survey input[type=radio]:checked,
  .homedna-survey input[type=checkbox]:checked {
    background-color: #774212; }

.homedna-survey .btn-style {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1em;
  display: inline-flex;
  align-items: center;
  position: relative;
  height: 32px;
  margin: 50px 35px 0 0;
  padding: 0 10px;
  transition: all 250ms ease;
  border: 2px solid #ec6927;
  color: #ec6927;
  cursor: pointer; }
  .homedna-survey .btn-style svg {
    position: absolute;
    top: 6px;
    right: -37px;
    width: 35px;
    transition: all 250ms ease;
    color: #ec6927;
    fill: #ec6927; }
  .homedna-survey .btn-style::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    transition: all 350ms ease;
    background: #ec6927;
    content: '';
    z-index: -1; }
  .homedna-survey .btn-style:hover::after {
    width: 100%; }
  .homedna-survey .btn-style:hover {
    color: white; }

#formPageNav {
  margin-top: 20px; }

#formPageNav > .text {
  display: block;
  width: 100%;
  margin-bottom: 10px; }

#formPageNav > span[data-page] {
  display: inline-block;
  min-width: 30px;
  padding: 5px;
  transition: background-color 450ms, color 450ms;
  border: 1px solid #595a4e;
  text-align: center; }
  #formPageNav > span[data-page]:hover, #formPageNav > span[data-page].active {
    background-color: #595a4e;
    color: white; }

/* ==========================================================================
   Location
   ========================================================================== */
.location {
  overflow: hidden; }
  @media only screen and (max-width: 899px) {
    .location .wrapper {
      flex-direction: column-reverse;
      padding: 0; } }

.location__column-text {
  position: relative;
  width: 30%;
  padding: 90px 35px 0 0; }
  @media only screen and (max-width: 899px) {
    .location__column-text {
      width: calc(100% - 80px);
      margin: 70px 40px 80px;
      padding: 35px 0 0; } }
  .location__column-text::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 33px;
    height: 3px;
    background: #cbd4d7;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .location__column-text::before {
        height: 2px; } }

.location__title {
  margin-bottom: 25px; }

.location__column-map {
  width: 70%; }
  @media only screen and (max-width: 899px) {
    .location__column-map {
      position: relative;
      width: 100%; } }

.location__map {
  position: initial;
  width: 66.6vw;
  min-height: 600px; }
  @media only screen and (max-width: 899px) {
    .location__map {
      width: 100%;
      min-height: auto; } }
  @media only screen and (max-width: 599px) {
    .location__map {
      min-height: auto; } }

.location__map-container {
  width: 100%;
  height: 100%; }

/* ==========================================================================
   Mobile scroll
   ========================================================================== */
.mobile-scroll {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.27778em;
  position: absolute;
  right: 0;
  bottom: 170px;
  transform: rotate(90deg);
  color: #d99b68;
  cursor: pointer; }
  @media only screen and (min-width: 900px) {
    .mobile-scroll {
      display: none; } }
  .mobile-scroll svg {
    position: relative;
    top: -2px;
    right: 10px;
    width: 35px;
    height: 32px;
    transform: rotate(180deg);
    color: #d99b68;
    fill: #d99b68; }

/* ==========================================================================
   Navigation
   ========================================================================== */
.navigation {
  position: fixed;
  top: -100vh;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 500ms ease;
  background: #0b7453;
  color: #fff1d6;
  opacity: 0;
  z-index: 99;
  overflow-x: hidden; }
  @media only screen and (max-width: 899px) {
    .navigation {
      top: 100vh;
      height: auto;
      margin-top: 125px;
      padding: 12px 0 40px;
      transition: all 500ms ease;
      background: #0b7453; } }
  .navigation.is-active {
    top: 0;
    opacity: 1; }
  .navigation::-webkit-scrollbar {
    display: none; }

/**
 * Contact.
 */
.navigation__column-contact {
  width: 40%;
  padding-top: 90px;
  padding-right: 15px; }
  @media only screen and (max-width: 899px) {
    .navigation__column-contact {
      display: none; } }

.navigation__contact-block {
  margin-bottom: 22px; }
  .navigation__contact-block a:hover {
    transition: all 250ms ease; }
    @media only screen and (min-width: 900px) {
      .navigation__contact-block a:hover {
        color: #ec6927; } }

.navigation__contact-title {
  margin-bottom: 22px; }

.navigation__contact-editor {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em; }

/**
 * Social.
 */
.navigation__social.is-desktop {
  display: none; }
  @media only screen and (min-width: 900px) {
    .navigation__social.is-desktop {
      display: block; } }

.navigation__social.is-mobile {
  display: none; }
  @media only screen and (max-width: 899px) {
    .navigation__social.is-mobile {
      display: block; } }

.navigation__social-title {
  margin: 70px 0 26px;
  color: #fff1d6;
  font-family: "Predige-Medium"; }
  @media only screen and (max-width: 899px) {
    .navigation__social-title {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.8em;
      margin: 135px 0 21px; } }

.navigation__social-links a {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.875em;
  display: block;
  transition: all 250ms ease;
  color: #fff1d6; }
  @media only screen and (max-width: 899px) {
    .navigation__social-links a {
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.8em; } }
  @media only screen and (min-width: 900px) {
    .navigation__social-links a:hover {
      color: #ec6927; } }

/**
 * Main menu.
 */
.navigation__column-menu {
  width: 60%;
  min-height: 100vh;
  padding: 90px 0 0 95px; }
  @media only screen and (max-width: 899px) {
    .navigation__column-menu {
      width: 100%;
      min-height: auto;
      padding: 0; } }
  .navigation__column-menu::before {
    width: calc(100vw - 20px); }
    @media only screen and (max-width: 899px) {
      .navigation__column-menu::before {
        display: none; } }

.main-menu > li a {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.58333em;
  font-family: "Predige-Medium";
  transition: all 250ms ease;
  color: #0b7453; }
  @media only screen and (max-width: 899px) {
    .main-menu > li a {
      font-size: 30px;
      font-size: 3rem;
      line-height: 1.6em;
      word-break: break-word;
      color: #0b7453; } }

.main-menu > li.current-menu-item a, .main-menu > li:hover a {
  color: #ec6927; }

/**
 * Background header.
 */
@media only screen and (max-width: 899px) {
  .header::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 100%;
    left: 0;
    transition: all 500ms ease;
    background: #f0e4cb;
    content: ''; } }

/**
 * Disable scroll.
 */
.body.is-active {
  overflow: hidden; }
  .body.is-active .header::before {
    bottom: 0; }

/* ==========================================================================
   News list
   ========================================================================== */
@media only screen and (max-width: 899px) {
  .news-list .wrapper {
    flex-direction: column-reverse;
    padding-top: 15px; } }

/**
 * Items.
 */
.news-list__items {
  width: calc(100% - 479px);
  padding-right: 50px; }
  @media only screen and (max-width: 899px) {
    .news-list__items {
      width: 100%; } }

/**
 * Item.
 */
.news-list__item {
  margin-bottom: 164px; }
  @media only screen and (max-width: 1199px) {
    .news-list__item {
      margin-bottom: 115px; } }
  @media only screen and (max-width: 899px) {
    .news-list__item {
      margin-bottom: 90px; } }

.news-list__item-date {
  position: absolute;
  left: -14px;
  color: transparent;
  -webkit-text-stroke: 1px #ec6927; }
  @media only screen and (max-width: 899px) {
    .news-list__item-date {
      left: -7px; } }

.news-list__item-title {
  margin-bottom: 27px;
  padding-top: 224px; }
  @media only screen and (max-width: 1199px) {
    .news-list__item-title {
      padding-top: 175px; } }
  @media only screen and (max-width: 899px) {
    .news-list__item-title {
      padding-top: 115px; } }

.news-list__item-image {
  max-width: 570px;
  margin: 35px 0; }

.news-list__item-editor {
  max-width: 570px; }

.news-list__item-link {
  margin-top: 35px; }

/**
 * Pagination.
 */
.news-list__pagination {
  width: 479px; }
  @media only screen and (max-width: 899px) {
    .news-list__pagination {
      width: 100%;
      margin-bottom: 75px; } }
  .news-list__pagination .pagination {
    margin-top: 35px; }
    .news-list__pagination .pagination .page-numbers {
      margin-right: 3px;
      transition: all 250ms ease; }
    .news-list__pagination .pagination .prev,
    .news-list__pagination .pagination .next {
      display: none; }
    .news-list__pagination .pagination .current,
    .news-list__pagination .pagination .page-numbers:hover {
      border-bottom: 1px solid #595a4e; }
    .news-list__pagination .pagination a.page-numbers:hover {
      color: #ec6927; }

@media only screen and (min-width: 900px) {
  .news-list__sticky.is-active {
    position: fixed;
    top: 80px; } }

.news-list__pagination-title {
  margin-bottom: 23px; }

.news-list__pagination-link {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  transition: all 250ms ease; }
  .news-list__pagination-link:hover {
    color: #ec6927; }

.news-list__pagination-date {
  width: 145px; }
  @media only screen and (max-width: 599px) {
    .news-list__pagination-date {
      width: 80px; } }

/* ==========================================================================
   Partners image
   ========================================================================== */
.partners-image {
  position: relative; }
  .partners-image .wrapper {
    padding-top: 150px;
    padding-bottom: 175px; }
    @media only screen and (max-width: 1199px) {
      .partners-image .wrapper {
        padding-top: 91px;
        padding-bottom: 85px; } }
    @media only screen and (max-width: 899px) {
      .partners-image .wrapper {
        padding-top: 75px;
        padding-bottom: 85px; } }

.partners-image + div::before {
  background-color: #0b7453; }

.partners-image__title {
  position: absolute;
  top: -92px;
  left: -15px; }
  @media only screen and (max-width: 1199px) {
    .partners-image__title {
      top: -61px; } }
  @media only screen and (max-width: 899px) {
    .partners-image__title {
      top: -31px;
      left: -8px; } }

.partners-image__column-partners {
  width: 72%; }
  @media only screen and (max-width: 1199px) {
    .partners-image__column-partners {
      width: 100%; } }

.partners-image__partner {
  margin-bottom: 220px; }
  @media only screen and (max-width: 1199px) {
    .partners-image__partner {
      margin-bottom: 150px; } }
  @media only screen and (max-width: 899px) {
    .partners-image__partner {
      margin-bottom: 80px; } }
  .partners-image__partner:last-of-type {
    margin-bottom: 0; }
  .partners-image__partner:first-of-type .partners-image__partner-subtitle {
    padding-top: 0; }

.partners-image__partner-title {
  position: absolute;
  left: -15px; }
  @media only screen and (max-width: 899px) {
    .partners-image__partner-title {
      left: -8px; } }

.partners-image__partner-subtitle {
  max-width: 400px;
  margin-bottom: 25px;
  padding-top: 235px;
  color: #ec6927; }
  @media only screen and (max-width: 1199px) {
    .partners-image__partner-subtitle {
      padding-top: 152px; } }
  @media only screen and (max-width: 899px) {
    .partners-image__partner-subtitle {
      padding-top: 110px; } }

.partners-image__partner-editor {
  max-width: 585px; }

.partners-image__column-image {
  width: 28%; }
  @media only screen and (max-width: 1199px) {
    .partners-image__column-image {
      display: none; } }

.partners-image__image img {
  position: absolute;
  right: 0;
  min-width: 435px; }

/* ==========================================================================
   Property map
   ========================================================================== */
@media only screen and (max-width: 899px) {
  .property-map {
    min-height: 125px; } }

.property-map.background--primary .property-map__column-details::before, .property-map.background--primary-pattern .property-map__column-details::before, .property-map.background--secondary .property-map__column-details::before, .property-map.background--secondary-pattern .property-map__column-details::before {
  background: #cbd4d7; }

.property-map.background--default .property-map__column-details::before {
  background: #595a4e; }

.property-map .property-map__column-details::before {
  background-color: #0b7453; }

.property-map.background--border + .property-map {
  padding-top: 215px; }
  @media only screen and (max-width: 899px) {
    .property-map.background--border + .property-map {
      padding-top: 40px; } }

.property-map + .footer-cta {
  padding-top: 180px; }
  @media only screen and (max-width: 899px) {
    .property-map + .footer-cta {
      padding-top: 90px; } }

.property-map .wrapper {
  position: relative; }

.property-map__column-details {
  position: relative;
  width: 30%;
  padding-top: 95px;
  overflow: hidden; }
  @media only screen and (max-width: 899px) {
    .property-map__column-details {
      display: none; } }
  .property-map__column-details::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 33px;
    height: 3px;
    content: ''; }

.property-map__column-map {
  width: 70%;
  z-index: 99; }
  @media only screen and (max-width: 899px) {
    .property-map__column-map {
      width: 100%; } }

.property-map__placeholder {
  position: absolute;
  top: 95px;
  max-width: 210px;
  transition: all 600ms ease;
  opacity: 1; }
  .property-map__placeholder.is-hidden {
    top: -180px;
    opacity: 0; }

.property-map__properties {
  position: absolute;
  width: 100%; }

.property-map__property {
  position: absolute;
  top: -999px;
  width: 100%;
  max-width: 300px;
  transition: all 600ms ease;
  opacity: 0; }
  .property-map__property.is-active {
    top: 0;
    opacity: 1; }

.property-map__property-title {
  margin-bottom: 25px; }

.property-map__scrolldown-arrow {
  position: absolute;
  bottom: 135px;
  left: 87px;
  display: none; }
  @media only screen and (max-width: 899px) {
    .property-map__scrolldown-arrow {
      display: none; } }
  @media only screen and (max-width: 1199px) {
    .property-map__scrolldown-arrow {
      left: 57px; } }
  .property-map__scrolldown-arrow svg {
    position: relative;
    -webkit-animation: jump 3s ease-in-out infinite;
            animation: jump 3s ease-in-out infinite; }
    .property-map__scrolldown-arrow svg path {
      fill: #ec6927; }

@-webkit-keyframes jump {
  0% {
    bottom: 0; }
  50% {
    bottom: 15px; }
  100% {
    bottom: 0; } }

@keyframes jump {
  0% {
    bottom: 0; }
  50% {
    bottom: 15px; }
  100% {
    bottom: 0; } }

/* ==========================================================================
   Property single
   ========================================================================== */
.property-single {
  position: relative; }
  .property-single .wrapper {
    align-items: center;
    padding-top: 160px;
    padding-bottom: 180px; }
    @media only screen and (max-width: 1199px) {
      .property-single .wrapper {
        padding-top: 91px;
        padding-bottom: 85px; } }
    @media only screen and (max-width: 899px) {
      .property-single .wrapper {
        flex-direction: column-reverse;
        padding-top: 75px;
        padding-bottom: 85px; } }

.property-single__title {
  position: absolute;
  top: -92px;
  left: -15px; }
  @media only screen and (max-width: 1199px) {
    .property-single__title {
      top: -61px; } }
  @media only screen and (max-width: 899px) {
    .property-single__title {
      font-size: 60px;
      font-size: 6rem;
      line-height: 1.2em;
      top: -42px;
      left: -8px; } }

.property-single__column-details {
  width: 290px;
  padding-right: 20px; }
  @media only screen and (max-width: 899px) {
    .property-single__column-details {
      width: 100%; } }

.property-single__subtitle {
  margin-bottom: 25px;
  color: #0b7453; }

.property-single__information {
  margin-bottom: 35px;
  color: #0b7453; }

.property-single__column-map {
  position: relative;
  width: calc(100% - 290px); }
  @media only screen and (max-width: 899px) {
    .property-single__column-map {
      width: 100%;
      margin-bottom: 80px; } }

.property-single__slideshow-images {
  border: 2px solid #595a4e; }

.property-single__navigation {
  position: absolute;
  right: 0; }
  .property-single__navigation button {
    margin-left: 18px;
    color: #0b7453; }
    .property-single__navigation button.active, .property-single__navigation button:hover {
      border-bottom: 2px solid #0b7453; }

/* ==========================================================================
   Property type item
   ========================================================================== */
.property-type-item {
  width: calc(50% - 47.5px);
  margin-bottom: 120px; }
  @media only screen and (max-width: 899px) {
    .property-type-item {
      width: 100%;
      margin-bottom: 80px; } }
  .property-type-item .button--arrow {
    display: flex;
    align-items: normal; }
  .property-type-item .button--arrow svg {
    top: 5px;
    height: 16px; }

.property-type-item__head {
  position: relative; }

.property-type-item__available {
  position: absolute;
  top: 30px;
  left: 30px;
  height: 40px;
  display: flex;
  align-items: center;
  padding: 0 13px;
  background-color: #ec6927;
  color: #fff1d6; }

.property-type-item__image {
  margin-bottom: 35px; }
  .property-type-item__image img {
    width: 100%;
    height: auto; }

.property-type-item__total {
  display: inline-block;
  width: auto;
  margin-bottom: 25px; }

.property-type-item__title {
  margin-bottom: 25px; }

.property-type-item__teaser {
  margin-bottom: 20px; }

/**
 * Colors.
 */
.property-type-list.background--green .property-type-item__total {
  color: #fff1d6;
  border-bottom: 2px solid #f0e4cb; }

.property-type-list.background--default .property-type-item__total {
  color: #ec6927;
  border-bottom: 2px solid #ec6927; }

.property-type-list.background--beige .property-type-item__total {
  color: #ec6927;
  border-bottom: 2px solid #ec6927; }

/* ==========================================================================
   Property type list
   ========================================================================== */
.property-type-list {
  position: relative; }
  .property-type-list .wrapper {
    padding-top: 160px;
    padding-bottom: 130px; }
    @media only screen and (max-width: 1199px) {
      .property-type-list .wrapper {
        padding-top: 140px;
        padding-bottom: 100px; } }
    @media only screen and (max-width: 899px) {
      .property-type-list .wrapper {
        padding-top: 70px;
        padding-bottom: 0; } }

.property-type-list__title {
  position: absolute;
  top: -92px;
  left: -15px; }
  @media only screen and (max-width: 1199px) {
    .property-type-list__title {
      top: -61px; } }
  @media only screen and (max-width: 899px) {
    .property-type-list__title {
      font-size: 50px;
      font-size: 5rem;
      line-height: 1.44em;
      top: -42px;
      left: -8px; } }

/* ==========================================================================
   Slideshow
   ========================================================================== */
.slideshow {
  overflow: hidden; }
  @media only screen and (max-width: 899px) {
    .slideshow .wrapper {
      flex-direction: column-reverse;
      padding: 0; } }

.slideshow__column-text {
  position: relative;
  width: 30%;
  padding: 90px 35px 0 0; }
  @media only screen and (max-width: 899px) {
    .slideshow__column-text {
      width: calc(100% - 80px);
      margin: 70px 40px 80px;
      padding: 35px 0 0; } }
  .slideshow__column-text::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 33px;
    height: 3px;
    background: #174f3f;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .slideshow__column-text::before {
        height: 2px; } }

.slideshow__title {
  margin-bottom: 25px; }

.slideshow__column-images {
  width: 70%; }
  @media only screen and (max-width: 899px) {
    .slideshow__column-images {
      position: relative;
      width: 100%; } }

.slideshow__images {
  position: initial;
  width: 66.6vw; }
  @media only screen and (max-width: 899px) {
    .slideshow__images {
      width: 100%; } }
  .slideshow__images .owl-nav {
    position: absolute;
    top: 210px;
    right: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    margin: auto 0;
    background-color: #fff1d6; }
    @media only screen and (max-width: 899px) {
      .slideshow__images .owl-nav {
        display: none; } }
    .slideshow__images .owl-nav .owl-prev {
      display: none; }
    .slideshow__images .owl-nav .owl-next {
      display: block;
      width: 100%;
      height: 100%; }
    .slideshow__images .owl-nav svg {
      width: 34px;
      height: 50px;
      fill: #ec6927; }
  .slideshow__images .owl-dots {
    position: absolute;
    bottom: 0;
    margin-left: -28px;
    z-index: 2; }
    @media only screen and (max-width: 899px) {
      .slideshow__images .owl-dots {
        display: flex;
        right: 40px;
        bottom: -35px;
        margin: 0; } }
    .slideshow__images .owl-dots .owl-dot {
      display: block;
      width: 14px;
      height: 14px;
      margin-top: 14px;
      transition: all 250ms ease;
      border-radius: 10px;
      background-color: transparent; }
      @media only screen and (max-width: 899px) {
        .slideshow__images .owl-dots .owl-dot {
          margin: 0 0 0 14px; } }
  .slideshow__images.pagination-red .owl-dot {
    border: 2px solid #174f3f; }
    @media only screen and (max-width: 899px) {
      .slideshow__images.pagination-red .owl-dot {
        border: 2px solid #174f3f; } }
    .slideshow__images.pagination-red .owl-dot.active, .slideshow__images.pagination-red .owl-dot:hover {
      background-color: #174f3f; }
      @media only screen and (max-width: 899px) {
        .slideshow__images.pagination-red .owl-dot.active, .slideshow__images.pagination-red .owl-dot:hover {
          background-color: #174f3f; } }
  .slideshow__images.pagination-green .owl-dot {
    border: 2px solid #174f3f; }
    @media only screen and (max-width: 899px) {
      .slideshow__images.pagination-green .owl-dot {
        border: 2px solid #174f3f; } }
    .slideshow__images.pagination-green .owl-dot.active, .slideshow__images.pagination-green .owl-dot:hover {
      background-color: #174f3f; }
      @media only screen and (max-width: 899px) {
        .slideshow__images.pagination-green .owl-dot.active, .slideshow__images.pagination-green .owl-dot:hover {
          background-color: #174f3f; } }

.slideshow__slide {
  position: relative;
  width: 66.6vw;
  min-height: 600px; }
  @media only screen and (max-width: 899px) {
    .slideshow__slide {
      width: 100%;
      min-height: auto; } }
  @media only screen and (max-width: 599px) {
    .slideshow__slide {
      min-height: auto; } }

/* ==========================================================================
   Text image
   ========================================================================== */
.text-image .wrapper {
  padding-top: 120px;
  padding-bottom: 175px; }
  @media only screen and (max-width: 1199px) {
    .text-image .wrapper {
      padding-bottom: 110px; } }
  @media only screen and (max-width: 899px) {
    .text-image .wrapper {
      padding-top: 65px;
      padding-bottom: 90px; } }

.text-image.background--default .button--border {
  border: 2px solid #595a4e;
  color: #595a4e; }
  .text-image.background--default .button--border svg {
    color: #595a4e;
    fill: #595a4e; }
  .text-image.background--default .button--border::after {
    background: #595a4e; }
  .text-image.background--default .button--border:hover {
    color: #cbd4d7; }

.text-image.background--default .button--arrow {
  color: #595a4e; }
  .text-image.background--default .button--arrow svg {
    color: #595a4e;
    fill: #595a4e; }

.text-image__column-text {
  width: 54%;
  padding-right: 100px; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .text-image__column-text {
      padding-right: 50px; } }
  @media only screen and (max-width: 899px) {
    .text-image__column-text {
      width: 100%;
      margin-bottom: 40px;
      padding: 0; } }

.text-image__title {
  margin-bottom: 30px; }

.text-image__editor {
  margin-bottom: 35px; }

.text-image__column-image {
  width: 46%; }
  @media only screen and (max-width: 899px) {
    .text-image__column-image {
      width: 100%; } }
  .text-image__column-image #play {
    transition: all 400ms ease; }
    .text-image__column-image #play span {
      display: flex;
      align-items: center;
      justify-content: center;
      position: absolute;
      width: 100px;
      height: 100px;
      border-radius: 50%;
      left: calc(50% - 50px); }
      .text-image__column-image #play span svg {
        width: 39px;
        height: 48px;
        margin-left: 6px;
        color: #ec6927; }
      .text-image__column-image #play span img {
        width: 100px;
        height: 100px; }
    .text-image__column-image #play:hover {
      opacity: 0.8; }

/* ==========================================================================
   Text slideshow
   ========================================================================== */
.text-slideshow {
  position: relative; }
  .text-slideshow .wrapper {
    padding-top: 120px;
    padding-bottom: 180px; }
    @media only screen and (max-width: 1199px) {
      .text-slideshow .wrapper {
        padding-top: 51px;
        padding-bottom: 85px; } }
    @media only screen and (max-width: 899px) {
      .text-slideshow .wrapper {
        padding-top: 55px;
        padding-bottom: 85px; } }
  .text-slideshow.background--default .owl-nav {
    background-color: #595a4e; }
    .text-slideshow.background--default .owl-nav svg {
      color: #cbd4d7;
      fill: #cbd4d7; }
  .text-slideshow.background--default .owl-dot {
    border: 2px solid #595a4e; }
    .text-slideshow.background--default .owl-dot.active, .text-slideshow.background--default .owl-dot:hover {
      background-color: #595a4e; }
  .text-slideshow.background--default .owl-nav, .text-slideshow.background--green .owl-nav, .text-slideshow.background--beige .owl-nav {
    background-color: #ec6927; }
    .text-slideshow.background--default .owl-nav svg, .text-slideshow.background--green .owl-nav svg, .text-slideshow.background--beige .owl-nav svg {
      color: #174f3f;
      fill: #174f3f; }
  .text-slideshow.background--default .owl-dot, .text-slideshow.background--green .owl-dot, .text-slideshow.background--beige .owl-dot {
    border: 2px solid #174f3f; }
    .text-slideshow.background--default .owl-dot.active, .text-slideshow.background--default .owl-dot:hover, .text-slideshow.background--green .owl-dot.active, .text-slideshow.background--green .owl-dot:hover, .text-slideshow.background--beige .owl-dot.active, .text-slideshow.background--beige .owl-dot:hover {
      background-color: #174f3f; }

.text-slideshow__wrap {
  overflow: hidden; }

.text-slideshow__title {
  position: absolute;
  top: -92px;
  left: -15px; }
  @media only screen and (max-width: 1199px) {
    .text-slideshow__title {
      top: -61px; } }
  @media only screen and (max-width: 899px) {
    .text-slideshow__title {
      top: -32px;
      left: -8px; } }

.text-slideshow__title + div {
  padding-top: 40px; }
  @media only screen and (max-width: 899px) {
    .text-slideshow__title + div {
      padding-top: 20px; } }

.text-slideshow__block-title {
  margin-bottom: 35px; }

/**
 * Slideshow.
 */
@media only screen and (min-width: 900px) {
  .text-image__slideshow .owl-stage-outer {
    width: 1790px; } }

@media only screen and (min-width: 900px) and (max-width: 1199px) {
  .text-image__slideshow .owl-stage-outer {
    width: 1205px; } }

.text-image__slideshow .owl-nav {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 525px;
  width: 50px;
  height: 50px;
  margin: auto 0; }
  @media only screen and (max-width: 899px) {
    .text-image__slideshow .owl-nav {
      display: none; } }
  .text-image__slideshow .owl-nav .owl-prev {
    display: none; }
  .text-image__slideshow .owl-nav .owl-next {
    display: block;
    width: 100%;
    height: 100%; }
  .text-image__slideshow .owl-nav svg {
    width: 34px;
    height: 50px;
    fill: #ec6927; }

.text-image__slideshow .owl-dots {
  position: absolute;
  bottom: 0;
  margin-left: -28px;
  z-index: 2; }
  @media only screen and (max-width: 899px) {
    .text-image__slideshow .owl-dots {
      display: flex;
      right: 0;
      bottom: -35px;
      margin: 0; } }
  .text-image__slideshow .owl-dots .owl-dot {
    display: block;
    width: 14px;
    height: 14px;
    margin-top: 14px;
    transition: all 250ms ease;
    border-radius: 10px;
    background-color: transparent; }
    @media only screen and (max-width: 899px) {
      .text-image__slideshow .owl-dots .owl-dot {
        margin: 0 0 0 14px; } }

/**
 * Slides.
 */
.text-image__slide {
  position: relative;
  width: 575px;
  height: 560px; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .text-image__slide {
      width: 375px;
      height: 360px; } }
  @media only screen and (max-width: 899px) {
    .text-image__slide {
      width: 100%;
      height: 450px; } }
  @media only screen and (max-width: 599px) {
    .text-image__slide {
      width: 100%;
      height: 320px; } }

/**
 * Slideshow position.
 */
.text-slideshow__block {
  align-items: center;
  justify-content: space-between;
  margin-bottom: 120px; }
  @media only screen and (max-width: 899px) {
    .text-slideshow__block {
      align-items: left;
      margin-bottom: 90px; } }
  .text-slideshow__block:last-of-type {
    margin-bottom: 0; }
  .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-text {
    width: calc(100% - 575px);
    max-width: 550px;
    padding: 0 50px 0 100px; }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-text {
        width: calc(100% - 375px);
        padding: 0 50px 0 0; } }
    @media only screen and (max-width: 899px) {
      .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-text {
        width: 100%;
        max-width: 100%;
        padding: 0 0 40px; } }
  .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-images {
    width: 575px; }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-images {
        width: 375px; } }
    @media only screen and (max-width: 899px) {
      .text-slideshow__block.text-slideshow__block--right .text-slideshow__column-images {
        width: 100%; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left {
      flex-direction: row-reverse; } }
  .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-text {
    width: calc(100% - 575px);
    max-width: 550px;
    padding: 0 100px 0 50px; }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-text {
        width: calc(100% - 375px);
        padding: 0 0 0 50px; } }
    @media only screen and (max-width: 899px) {
      .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-text {
        width: 100%;
        max-width: auto;
        padding: 0 0 40px; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-images {
      display: flex;
      flex-direction: row-reverse;
      width: 575px; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-images {
      width: 375px; } }
  @media only screen and (max-width: 899px) {
    .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-images {
      width: 100%; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left .text-slideshow__column-images .owl-carousel {
      width: auto; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left .owl-nav {
      right: 0;
      left: auto; } }
  @media only screen and (min-width: 900px) {
    .text-slideshow__block.text-slideshow__block--left .owl-dots {
      right: -28px;
      margin-left: 0; } }

.boss-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  width: 549px;
  height: 370px;
  background-image: url("../images/annapopup.svg");
  display: flex;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  pointer-events: none;
  transition: all 300ms ease-in-out;
  justify-content: center; }
  @media only screen and (max-width: 599px) {
    .boss-popup {
      width: 320px;
      align-items: center; } }
  .boss-popup.is-active {
    opacity: 1;
    pointer-events: all; }
  .boss-popup .boss-popup__wrapper {
    width: 100%;
    max-width: 549px;
    height: 100%;
    max-height: 370px;
    padding: 70px 40px 40px 40px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center; }
    @media only screen and (max-width: 599px) {
      .boss-popup .boss-popup__wrapper {
        width: 320px;
        padding: 20px;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content; } }
  .boss-popup .popup__close {
    position: absolute;
    top: 40px;
    right: 24px; }
    @media only screen and (max-width: 899px) {
      .boss-popup .popup__close {
        top: 20px;
        right: 20px; } }
    .boss-popup .popup__close svg {
      width: 40px;
      height: 40px; }
      @media screen and (max-width: 340px) {
        .boss-popup .popup__close svg {
          width: 32px;
          height: 32px; } }
      .boss-popup .popup__close svg path {
        stroke: #174f3f; }
  .boss-popup .popup__title {
    text-transform: uppercase;
    color: #ec6927;
    margin-bottom: 12px;
    font-size: 4.8rem !important;
    line-height: 1.125em;
    white-space: unset;
    overflow: unset;
    font-size: 120px;
    -webkit-text-stroke: unset; }
    @media only screen and (max-width: 599px) {
      .boss-popup .popup__title {
        font-size: 40px !important;
        line-height: 120%; } }
  @media only screen and (max-width: 599px) {
    .boss-popup .popup__editor {
      display: none; } }
  .boss-popup .popup__editor * {
    font-size: 20px; }
    @media screen and (max-width: 340px) {
      .boss-popup .popup__editor * {
        font-size: 16px; } }
  .boss-popup .popup__link {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    margin-top: 0;
    font-size: 20px;
    transition: all 300ms ease-in-out;
    color: #174f3f; }
    @media screen and (max-width: 340px) {
      .boss-popup .popup__link {
        font-size: 16px; } }
    .boss-popup .popup__link:hover {
      gap: 16px; }
    .boss-popup .popup__link svg {
      width: 35px;
      height: 32px;
      transition: all 250ms ease;
      color: #174f3f;
      fill: #174f3f; }

.boss-popup__bg {
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.35);
  z-index: 99;
  transition: all 300ms ease-in-out; }
  .boss-popup__bg.is-active {
    opacity: 1;
    pointer-events: all; }

/* ==========================================================================
   Color
   ========================================================================== */
/**
 * Color utility classes.
 */
/**
       * `color` black-100 color utility.
       */
.color-black-100 {
  color: black; }

/**
       * `background-color` black-100 color utility.
       */
.background-color-black-100 {
  background-color: black; }

/**
       * `color` white-100 color utility.
       */
.color-white-100 {
  color: white; }

/**
       * `background-color` white-100 color utility.
       */
.background-color-white-100 {
  background-color: white; }

/**
       * `color` #cbd4d7-100 color utility.
       */
.color-blue-light-100 {
  color: #cbd4d7; }

/**
       * `background-color` #cbd4d7-100 color utility.
       */
.background-color-blue-light-100 {
  background-color: #cbd4d7; }

/**
       * `color` #afb7ba-50 color utility.
       */
.color-blue-light-50 {
  color: #afb7ba; }

/**
       * `background-color` #afb7ba-50 color utility.
       */
.background-color-blue-light-50 {
  background-color: #afb7ba; }

/**
       * `color` #214391-100 color utility.
       */
.color-blue-dark-100 {
  color: #214391; }

/**
       * `background-color` #214391-100 color utility.
       */
.background-color-blue-dark-100 {
  background-color: #214391; }

/**
       * `color` #d99b68-100 color utility.
       */
.color-orange-100 {
  color: #d99b68; }

/**
       * `background-color` #d99b68-100 color utility.
       */
.background-color-orange-100 {
  background-color: #d99b68; }

/**
       * `color` #df4126-100 color utility.
       */
.color-red-100 {
  color: #df4126; }

/**
       * `background-color` #df4126-100 color utility.
       */
.background-color-red-100 {
  background-color: #df4126; }

/**
       * `color` #595a4e-100 color utility.
       */
.color-green-100 {
  color: #595a4e; }

/**
       * `background-color` #595a4e-100 color utility.
       */
.background-color-green-100 {
  background-color: #595a4e; }

/**
       * `color` #959b97-50 color utility.
       */
.color-green-50 {
  color: #959b97; }

/**
       * `background-color` #959b97-50 color utility.
       */
.background-color-green-50 {
  background-color: #959b97; }

/**
       * `color` #56574c-100 color utility.
       */
.color-green-background-100 {
  color: #56574c; }

/**
       * `background-color` #56574c-100 color utility.
       */
.background-color-green-background-100 {
  background-color: #56574c; }

/**
       * `color` #251713-100 color utility.
       */
.color-brown-100 {
  color: #251713; }

/**
       * `background-color` #251713-100 color utility.
       */
.background-color-brown-100 {
  background-color: #251713; }

/**
       * `color` #2b1c17-100 color utility.
       */
.color-brown-background-100 {
  color: #2b1c17; }

/**
       * `background-color` #2b1c17-100 color utility.
       */
.background-color-brown-background-100 {
  background-color: #2b1c17; }

/**
       * `color` #adcb00-100 color utility.
       */
.color-boss-green-100 {
  color: #adcb00; }

/**
       * `background-color` #adcb00-100 color utility.
       */
.background-color-boss-green-100 {
  background-color: #adcb00; }

/**
       * `color` #212721-100 color utility.
       */
.color-boss-grey-100 {
  color: #212721; }

/**
       * `background-color` #212721-100 color utility.
       */
.background-color-boss-grey-100 {
  background-color: #212721; }

/**
       * `color` #774212-100 color utility.
       */
.color-boss-brown-100 {
  color: #774212; }

/**
       * `background-color` #774212-100 color utility.
       */
.background-color-boss-brown-100 {
  background-color: #774212; }

/**
       * `color` #f0e4cb-100 color utility.
       */
.color-boss-beige-100 {
  color: #f0e4cb; }

/**
       * `background-color` #f0e4cb-100 color utility.
       */
.background-color-boss-beige-100 {
  background-color: #f0e4cb; }

/**
       * `color` #0b7453-100 color utility.
       */
.color-anna-green-100 {
  color: #0b7453; }

/**
       * `background-color` #0b7453-100 color utility.
       */
.background-color-anna-green-100 {
  background-color: #0b7453; }

/**
       * `color` #174f3f-100 color utility.
       */
.color-anna-dark-green-100 {
  color: #174f3f; }

/**
       * `background-color` #174f3f-100 color utility.
       */
.background-color-anna-dark-green-100 {
  background-color: #174f3f; }

/**
       * `color` #fff1d6-100 color utility.
       */
.color-anna-beige-100 {
  color: #fff1d6; }

/**
       * `background-color` #fff1d6-100 color utility.
       */
.background-color-anna-beige-100 {
  background-color: #fff1d6; }

/**
       * `color` #ec6927-100 color utility.
       */
.color-anna-orange-100 {
  color: #ec6927; }

/**
       * `background-color` #ec6927-100 color utility.
       */
.background-color-anna-orange-100 {
  background-color: #ec6927; }

/**
 * Generic helper classes.
 */
/**
 * Visually hide any element from the user.
 */
.visually-hidden {
  display: block;
  position: absolute;
  width: 1px;
  height: 1px;
  white-space: nowrap;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(1px);
          clip-path: inset(1px); }

/**
 * Make lazyload placeholder 100% wide.
 */
.lazyload {
  width: 100%; }

/**
 * Helper class for object fit polyfill. Add this class to any element
 * that utilizes the `object-fit` property.
 */
.object-fit {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover;';
  -o-object-fit: cover;
     object-fit: cover; }

/**
 * Align center.
 */
.align-center {
  text-align: center; }

/**
 * Align left.
 */
.align-left {
  text-align: left; }

/**
 * Align right.
 */
.align-right {
  text-align: right; }

.w60 {
  width: 60%; }

.w40 {
  width: 40%; }

.w50 {
  width: 50%; }

/* ==========================================================================
   Object Fit
   ========================================================================== */
/**
 * Object fit.
 *
 * 1. Font family polyfill with (https://github.com/bfred-it/object-fit-images).
 */
/**
   * `object-fit` fill utility class.
   */
.fill {
  font-family: "object-fit: fill;";
  /* 1 */
  -o-object-fit: fill;
     object-fit: fill; }

/**
   * `object-fit` contain utility class.
   */
.contain {
  font-family: "object-fit: contain;";
  /* 1 */
  -o-object-fit: contain;
     object-fit: contain; }

/**
   * `object-fit` cover utility class.
   */
.cover {
  font-family: "object-fit: cover;";
  /* 1 */
  -o-object-fit: cover;
     object-fit: cover; }

/**
   * `object-fit` none utility class.
   */
.none {
  font-family: "object-fit: none;";
  /* 1 */
  -o-object-fit: none;
     object-fit: none; }

/**
   * `object-fit` scale-down utility class.
   */
.scale-down {
  font-family: "object-fit: scale-down;";
  /* 1 */
  -o-object-fit: scale-down;
     object-fit: scale-down; }

/* ==========================================================================
   Position
   ========================================================================== */
/**
 * Position utility class.
 */
.static {
  position: static; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.fixed {
  position: fixed; }

.sticky {
  position: sticky; }

/* ==========================================================================
   Text
   ========================================================================== */
/**
 * Font family utility classes.
 */
.text-xs-default {
  font-family: "Predige-Regular"; }

.text-xs-medium {
  font-family: "Predige-Medium"; }

.text-xs-heading {
  font-family: "BurfordRusticShadowTwoA"; }

.text-sm-default {
  font-family: "Predige-Regular"; }

.text-sm-medium {
  font-family: "Predige-Medium"; }

.text-sm-heading {
  font-family: "BurfordRusticShadowTwoA"; }

.text-md-default {
  font-family: "Predige-Regular"; }

.text-md-medium {
  font-family: "Predige-Medium"; }

.text-md-heading {
  font-family: "BurfordRusticShadowTwoA"; }

.text-lg-default {
  font-family: "Predige-Regular"; }

.text-lg-medium {
  font-family: "Predige-Medium"; }

.text-lg-heading {
  font-family: "BurfordRusticShadowTwoA"; }

.text-xl-default {
  font-family: "Predige-Regular"; }

.text-xl-medium {
  font-family: "Predige-Medium"; }

.text-xl-heading {
  font-family: "BurfordRusticShadowTwoA"; }

/**
 * Text size utility classes.
 */
.text-xs-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-xs-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-xs-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

.text-xs-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-sm-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-sm-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-sm-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

.text-sm-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-md-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-md-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-md-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

.text-md-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-lg-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-lg-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-lg-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

.text-lg-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-xl-h1 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.20833em; }

.text-xl-h2 {
  font-size: 48px;
  font-size: 4.8rem;
  line-height: 1.125em; }

.text-xl-h3 {
  font-size: 150px;
  font-size: 15rem;
  line-height: 1em; }

.text-xl-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

/**
 * Text alignment utility classes.
 */
.text-xs-left {
  text-align: left; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * Font weight utility classes.
 *
 * 1. Multiply looped integer by 100 for correct font weight value.
 */
.text-xs-100 {
  font-weight: 100; }

.text-xs-200 {
  font-weight: 200; }

.text-xs-300 {
  font-weight: 300; }

.text-xs-400 {
  font-weight: 400; }

.text-xs-500 {
  font-weight: 500; }

.text-xs-600 {
  font-weight: 600; }

.text-xs-700 {
  font-weight: 700; }

.text-xs-800 {
  font-weight: 800; }

.text-xs-900 {
  font-weight: 900; }

.text-sm-100 {
  font-weight: 100; }

.text-sm-200 {
  font-weight: 200; }

.text-sm-300 {
  font-weight: 300; }

.text-sm-400 {
  font-weight: 400; }

.text-sm-500 {
  font-weight: 500; }

.text-sm-600 {
  font-weight: 600; }

.text-sm-700 {
  font-weight: 700; }

.text-sm-800 {
  font-weight: 800; }

.text-sm-900 {
  font-weight: 900; }

.text-md-100 {
  font-weight: 100; }

.text-md-200 {
  font-weight: 200; }

.text-md-300 {
  font-weight: 300; }

.text-md-400 {
  font-weight: 400; }

.text-md-500 {
  font-weight: 500; }

.text-md-600 {
  font-weight: 600; }

.text-md-700 {
  font-weight: 700; }

.text-md-800 {
  font-weight: 800; }

.text-md-900 {
  font-weight: 900; }

.text-lg-100 {
  font-weight: 100; }

.text-lg-200 {
  font-weight: 200; }

.text-lg-300 {
  font-weight: 300; }

.text-lg-400 {
  font-weight: 400; }

.text-lg-500 {
  font-weight: 500; }

.text-lg-600 {
  font-weight: 600; }

.text-lg-700 {
  font-weight: 700; }

.text-lg-800 {
  font-weight: 800; }

.text-lg-900 {
  font-weight: 900; }

.text-xl-100 {
  font-weight: 100; }

.text-xl-200 {
  font-weight: 200; }

.text-xl-300 {
  font-weight: 300; }

.text-xl-400 {
  font-weight: 400; }

.text-xl-500 {
  font-weight: 500; }

.text-xl-600 {
  font-weight: 600; }

.text-xl-700 {
  font-weight: 700; }

.text-xl-800 {
  font-weight: 800; }

.text-xl-900 {
  font-weight: 900; }

/**
 * Text transform uitlity classes.
 */
.text-xs-capitalize {
  text-transform: capitalize; }

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

.text-xs-lowercase {
  text-transform: lowercase; }

.text-xs-none {
  text-transform: none; }

.text-xs-full-width {
  text-transform: full-width; }

.text-sm-capitalize {
  text-transform: capitalize; }

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

.text-sm-lowercase {
  text-transform: lowercase; }

.text-sm-none {
  text-transform: none; }

.text-sm-full-width {
  text-transform: full-width; }

.text-md-capitalize {
  text-transform: capitalize; }

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

.text-md-lowercase {
  text-transform: lowercase; }

.text-md-none {
  text-transform: none; }

.text-md-full-width {
  text-transform: full-width; }

.text-lg-capitalize {
  text-transform: capitalize; }

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

.text-lg-lowercase {
  text-transform: lowercase; }

.text-lg-none {
  text-transform: none; }

.text-lg-full-width {
  text-transform: full-width; }

.text-xl-capitalize {
  text-transform: capitalize; }

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

.text-xl-lowercase {
  text-transform: lowercase; }

.text-xl-none {
  text-transform: none; }

.text-xl-full-width {
  text-transform: full-width; }

/* ==========================================================================
   Vertical Rhythm
   ========================================================================== */
.vr-0 {
  margin-bottom: 0px; }

.vr-8 {
  margin-bottom: 8px; }

.vr-16 {
  margin-bottom: 16px; }

.vr-24 {
  margin-bottom: 24px; }

.vr-32 {
  margin-bottom: 32px; }

.vr-40 {
  margin-bottom: 40px; }

.vr-48 {
  margin-bottom: 48px; }

.vr-56 {
  margin-bottom: 56px; }

.vr-64 {
  margin-bottom: 64px; }

.vr-72 {
  margin-bottom: 72px; }

.vr-80 {
  margin-bottom: 80px; }

/* ==========================================================================
   Z-index
   ========================================================================== */
/**
 * Utility classes for manipulating stacking order in HTML.
 */
.z-index-0 {
  z-index: 0; }

.z-index-1 {
  z-index: 10; }

.z-index-2 {
  z-index: 20; }

.z-index-3 {
  z-index: 30; }

.z-index-4 {
  z-index: 40; }

.z-index-5 {
  z-index: 50; }

.z-index-6 {
  z-index: 60; }

.z-index-7 {
  z-index: 70; }

.z-index-8 {
  z-index: 80; }

.z-index-9 {
  z-index: 90; }

.z-index-10 {
  z-index: 100; }

.iframe {
  position: relative;
  width: 560px;
  max-width: 100%; }

.iframe img {
  max-width: 100%;
  height: auto; }

.iframe iframe {
  display: none;
  max-width: 100%; }

.play-btn {
  position: absolute;
  z-index: 666;
  top: calc(50% - 50px);
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: transparent;
  border: 0; }

.play-btn:hover {
  cursor: pointer; }

.play-btn:focus {
  outline: 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwic2V0dGluZ3MvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19jb3JlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hbmltYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hdXRvaGVpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19sYXp5bG9hZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fdmlkZW8uc2NzcyIsInRvb2xzL19tYWduaWZpYy1wb3B1cC5zY3NzIiwiZ2VuZXJpYy9fYmFzZS5zY3NzIiwidG9vbHMvX21peGlucy5zY3NzIiwidG9vbHMvX2Z1bmN0aW9ucy5zY3NzIiwic2V0dGluZ3MvX2NvbG9yLnNjc3MiLCJnZW5lcmljL19yZXNldC5zY3NzIiwib2JqZWN0cy9fYmFja2dyb3VuZC5zY3NzIiwib2JqZWN0cy9fYnV0dG9ucy5zY3NzIiwib2JqZWN0cy9fY29udGFpbmVyLnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIm9iamVjdHMvX2NvbnRlbnQtY29uc3RyYWludC5zY3NzIiwib2JqZWN0cy9fZmxleC5zY3NzIiwib2JqZWN0cy9faGVhZGluZ3Muc2NzcyIsIm9iamVjdHMvX2xhenktbG9hZC5zY3NzIiwib2JqZWN0cy9fc2VjdGlvbi5zY3NzIiwib2JqZWN0cy9fd3JhcHBlci5zY3NzIiwiY29tcG9uZW50cy9fY21zLW91dHB1dC5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19kb3dubG9hZHMuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci1jb2x1bW5zLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXItY3RhLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9faG9tZS1kbmEuc2NzcyIsImNvbXBvbmVudHMvX2xvY2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19tb2JpbGUtc2Nyb2xsLnNjc3MiLCJjb21wb25lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19uZXdzLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX3BhcnRuZXJzLWltYWdlLnNjc3MiLCJjb21wb25lbnRzL19wcm9wZXJ0eS1tYXAuc2NzcyIsImNvbXBvbmVudHMvX3Byb3BlcnR5LXNpbmdsZS5zY3NzIiwiY29tcG9uZW50cy9fcHJvcGVydHktdHlwZS1pdGVtLnNjc3MiLCJjb21wb25lbnRzL19wcm9wZXJ0eS10eXBlLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX3NsaWRlc2hvdy5zY3NzIiwiY29tcG9uZW50cy9fdGV4dC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fdGV4dC1zbGlkZXNob3cuc2NzcyIsImNvbXBvbmVudHMvX2Jvc3MtcG9wdXAuc2NzcyIsInV0aWxpdGllcy9fY29sb3Iuc2NzcyIsInV0aWxpdGllcy9faGVscGVycy5zY3NzIiwidXRpbGl0aWVzL19vYmplY3QtZml0LnNjc3MiLCJ1dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCJ1dGlsaXRpZXMvX3RleHQuc2NzcyIsInV0aWxpdGllcy9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCJ1dGlsaXRpZXMvX3otaW5kZXguc2NzcyIsInNldHRpbmdzL196LWluZGV4LnNjc3MiLCJ1dGlsaXRpZXMvX3ZpZGVvLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDYWhCO0VBQ0Usc0NBQXNDO0VBQ3RDLDBHQUEwRyxFQUFBOztBQUc1RztFQUNFLDZC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QU87O0FBR3BDO0VBQ0UsZ0JBQWdCLEVBQUE7O0FDakhsQjs7K0Vkdy9CK0U7QWNuL0IvRTs7RWRzL0JFO0FjbC9CRjtFQUNFLGtCQUFrQixFQUFBO0VBRHBCO0lBSUksa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixRQUFRO0lBQ1IsU0FBUztJQUNULE9BQU87SUFDUCxXQUFXO0lBQ1gsV0FBVztJQUNYLFdBQVcsRUFBQTs7QUFLZjs7RWRpL0JFO0FjNytCRjtFQUNFLGNGd0IrQjtFRXZCL0IsYUZ1QitCLEVBQUE7RUV6QmpDO0lBS0ksbUJGdUI2QixFQUFBO0VFNUJqQztJQVNJLGNGc0I0QixFQUFBO0VFL0JoQztJQWFJLGNGWTZCLEVBQUE7RUV6QmpDO0lBaUJJLGNGUTZCLEVBQUE7SUV6QmpDO01Bb0JNLGNGSzJCO01FSjNCLGFGSTJCLEVBQUE7RUV6QmpDO0lBMEJJLHlCRkU2QjtJRUQ3QixjRkM2QixFQUFBO0lFNUJqQztNQThCTSxjRkYyQjtNRUczQixhRkgyQixFQUFBOztBRVNqQzs7RWRnK0JFO0FjNTlCRjtFQUNFLGNGakIrQjtFRWtCL0IsYUZsQitCLEVBQUE7RUVnQmpDO0lBS0ksbUJGbEI2QixFQUFBO0VFYWpDO0lBU0ksY0ZuQjRCLEVBQUE7RUVVaEM7SUFhSSxjRjdCNkIsRUFBQTtFRWdCakM7SUFpQkksY0ZqQzZCLEVBQUE7SUVnQmpDO01Bb0JNLGNGcEMyQjtNRXFDM0IsYUZyQzJCLEVBQUE7RUVnQmpDO0lBMEJJLHlCRnZDNkI7SUV3QzdCLGNGeEM2QixFQUFBO0lFYWpDO01BOEJNLGNGM0MyQjtNRTRDM0IsYUY1QzJCLEVBQUE7O0FFa0RqQzs7RWQrOEJFO0FjMzhCRjtFQUNFLGNGdkQrQjtFRXdEL0IsYUZ4RCtCLEVBQUE7RUVzRGpDO0lBS0ksbUJGakU2QixFQUFBO0VFNERqQzs7SUFVSSxjRmhFNkIsRUFBQTtFRXNEakM7SUFjSSxjRjFFNkIsRUFBQTtJRTREakM7TUFpQk0sY0Y3RTJCO01FOEUzQixhRjlFMkIsRUFBQTtFRTREakM7SUF1QkkseUJGbkY2QjtJRW9GN0IsY0ZwRjZCLEVBQUE7SUU0RGpDO01BMkJNLGNGdkYyQjtNRXdGM0IsYUZ4RjJCLEVBQUE7O0FFNkZqQzs7RWRpOEJFO0FjNzdCRDtFQUNBLGNGbEdnQztFRW1HaEMsYUZuR2dDLEVBQUE7RUVpR2hDO0lBS0UsbUJGdEc4QixFQUFBO0VFaUdoQzs7SUFVRSxjRjNHOEIsRUFBQTtFRWlHaEM7SUFjRSxjRi9HOEIsRUFBQTtJRWlHaEM7TUFpQkMsY0ZsSCtCO01FbUgvQixhRm5IK0IsRUFBQTtFRWlHaEM7SUF1QkUseUJGeEg4QjtJRXlIOUIsY0Z6SDhCLEVBQUE7SUVpR2hDO01BMkJDLGNGNUgrQjtNRTZIL0IsYUY3SCtCLEVBQUE7O0FFbUkvQjtFQUNELGNGcElnQztFRXFJaEMsYUZySWdDLEVBQUE7RUVtSS9CO0lBS0MsbUJGL0g2QixFQUFBO0VFMEg5Qjs7SUFVQyxjRjdJOEIsRUFBQTtFRW1JL0I7SUFjQyxjRmpKOEIsRUFBQTtJRW1JL0I7TUFpQkEsY0ZwSitCO01FcUovQixhRnJKK0IsRUFBQTtFRW1JL0I7SUF1QkMseUJGMUo4QjtJRTJKOUIsY0YzSjhCLEVBQUE7SUVtSS9CO01BMkJBLGNGOUorQjtNRStKL0IsYUYvSitCLEVBQUE7O0FFcUtqQzs7RWRvNkJFO0FVMy9CRTtFSTJGSjtJQUVJLGdCQUFnQixFQUFBLEVBa0JuQjs7QUFwQkQ7RUFXSSxZQUFZO0VBQ1osaUNGbEw2QixFQUFBO0VGMkU3QjtJSTJGSjtNQU9NLFlBQVk7TUFDWixpQ0ZqTDJCLEVBQUEsRUVzTDlCOztBSjVIQztFSStHSjtJQWlCTSxpQkFBaUIsRUFBQSxFQUVwQjs7QUFHSDtFQU1FLGlCQUFpQjtFQUNqQixpQkFBaUIsRUFBQTtFSnhIZjtJSWlISjtNQUVJLGlCQUFpQjtNQUNqQixpQkFBaUIsRUFBQSxFQUtwQjs7QUMxUEQ7OytFZnVwQytFO0FlbHBDL0U7O0VmcXBDRTtBZWpwQ0Y7RUwyQ0ksZUsxQ2dCO0VMMkNoQixpQkM5QitCO0VEbUMvQixrQkFBZ0Q7RUsvQ2xELG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsWUFB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Q2hDOztRbkIyeUNFO0FtQnZ5Q0Y7RUFDRSxjQUFjO0VBQ2QsVVJ0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUFTeEI7O1VuQm15Q0U7QW1CL3hDRjtFQUNFLGdCUnJENEIsRUFBQTs7QVFnQ2hDOztRbkJ5ekNFO0FtQnJ6Q0Y7RUFDRSxjQUFjO0VBQ2QsZ0JSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBU3hCOztVbkJpekNFO0FtQjd5Q0Y7RUFDRSxzQlJyRDRCLEVBQUE7O0FRZ0NoQzs7UW5CdTBDRTtBbUJuMENGO0VBQ0UsY0FBYztFQUNkLGdCUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQVN4Qjs7VW5CK3pDRTtBbUIzekNGO0VBQ0Usc0JSckQ0QixFQUFBOztBUWdDaEM7O1FuQnExQ0U7QW1CajFDRjtFQUNFLGNBQWM7RUFDZCxVUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQVN4Qjs7VW5CNjBDRTtBbUJ6MENGO0VBQ0UsZ0JSckQ0QixFQUFBOztBUWdDaEM7O1FuQm0yQ0U7QW1CLzFDRjtFQUNFLGNBQWM7RUFDZCxnQlJ0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUFTeEI7O1VuQjIxQ0U7QW1CdjFDRjtFQUNFLHNCUnJENEIsRUFBQTs7QVFnQ2hDOztRbkJpM0NFO0FtQjcyQ0Y7RUFDRSxjQUFjO0VBQ2QsZ0JSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBU3hCOztVbkJ5MkNFO0FtQnIyQ0Y7RUFDRSxzQlJyRDRCLEVBQUE7O0FRZ0NoQzs7UW5CKzNDRTtBbUIzM0NGO0VBQ0UsY0FBYztFQUNkLFVSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBU3hCOztVbkJ1M0NFO0FtQm4zQ0Y7RUFDRSxnQlJyRDRCLEVBQUE7O0FRZ0NoQzs7UW5CNjRDRTtBbUJ6NENGO0VBQ0UsY0FBYztFQUNkLGdCUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQVN4Qjs7VW5CcTRDRTtBbUJqNENGO0VBQ0Usc0JSckQ0QixFQUFBOztBUWdDaEM7O1FuQjI1Q0U7QW1CdjVDRjtFQUNFLGNBQWM7RUFDZCxnQlJ0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUFTeEI7O1VuQm01Q0U7QW1CLzRDRjtFQUNFLHNCUnJENEIsRUFBQTs7QVFnQ2hDOztRbkJ5NkNFO0FtQnI2Q0Y7RUFDRSxjQUFjO0VBQ2QsV1J0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUF1QjFCOztRbkJtNUNFO0FtQi80Q0Y7RUFDRSxvQkFQbUIsRUFBQTs7QUFFckI7O1FuQnk1Q0U7QW1CcjVDRjtFQUNFLG1CQVAyQixFQUFBOztBQUU3Qjs7UW5CKzVDRTtBbUIzNUNGO0VBQ0UsdUJBUHVDLEVBQUE7O0FBRXpDOztRbkJxNkNFO0FtQmo2Q0Y7RUFDRSxxQkFQaUQsRUFBQTs7QUFFbkQ7O1FuQjI2Q0U7QW1CdjZDRjtFQUNFLHFCQVAyRCxFQUFBOztBQWU3RDs7UW5CbzZDRTtBbUJoNkNGO0VBQ0Usc0JBUGlCLEVBQUE7O0FBRW5COztRbkIwNkNFO0FtQnQ2Q0Y7RUFDRSx1QkFQeUIsRUFBQTs7QUFFM0I7O1FuQmc3Q0U7QW1CNTZDRjtFQUNFLDhCQVB3QyxFQUFBOztBQUUxQzs7UW5CczdDRTtBbUJsN0NGO0VBQ0UsNkJBUHNELEVBQUE7O0FBRXhEOztRbkI0N0NFO0FtQng3Q0Y7RUFDRSw2QkFQb0UsRUFBQTs7QUFldEU7O1FuQnE3Q0U7QW1CajdDRjtFQUNFLGVBQWdDLEVBQUE7O0FBTGxDOztRbkIyN0NFO0FtQnY3Q0Y7RUFDRSxnQkFBZ0MsRUFBQTs7QUFLcEM7O01uQnU3Q0U7QW1CbjdDRjtFQUNFLFNBQVMsRUFBQTs7QUFJWDs7TW5CbzdDRTtBbUJoN0NGO0VBQ0UsUUFBUSxFQUFBOztBQUlWOztNbkJpN0NFO0FtQjc2Q0Y7RUFDRSwyQkFBMkIsRUFBQTs7QUF6RjNCOztRbkIyZ0RFO0FtQnZnREY7RUFDRSxjQUFjO0VBQ2QsZVJ0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUFTeEI7O1VuQm1nREU7QW1CLy9DRjtFQUNFLHFCUnJENEIsRUFBQTs7QVFnQ2hDOztRbkJ5aERFO0FtQnJoREY7RUFDRSxjQUFjO0VBQ2QsZ0JSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBU3hCOztVbkJpaERFO0FtQjdnREY7RUFDRSxzQlJyRDRCLEVBQUE7O0FRZ0NoQzs7UW5CdWlERTtBbUJuaURGO0VBQ0UsY0FBYztFQUNkLFVSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBU3hCOztVbkIraERFO0FtQjNoREY7RUFDRSxnQlJyRDRCLEVBQUE7O0FRZ0NoQzs7UW5CcWpERTtBbUJqakRGO0VBQ0UsY0FBYztFQUNkLGdCUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQVN4Qjs7VW5CNmlERTtBbUJ6aURGO0VBQ0Usc0JSckQ0QixFQUFBOztBUWdDaEM7O1FuQm1rREU7QW1CL2pERjtFQUNFLGNBQWM7RUFDZCxnQlJ0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUFTeEI7O1VuQjJqREU7QW1CdmpERjtFQUNFLHNCUnJENEIsRUFBQTs7QVFnQ2hDOztRbkJpbERFO0FtQjdrREY7RUFDRSxjQUFjO0VBQ2QsVVJ0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUFTeEI7O1VuQnlrREU7QW1CcmtERjtFQUNFLGdCUnJENEIsRUFBQTs7QVFnQ2hDOztRbkIrbERFO0FtQjNsREY7RUFDRSxjQUFjO0VBQ2QsZ0JSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBU3hCOztVbkJ1bERFO0FtQm5sREY7RUFDRSxzQlJyRDRCLEVBQUE7O0FRZ0NoQzs7UW5CNm1ERTtBbUJ6bURGO0VBQ0UsY0FBYztFQUNkLGdCUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQVN4Qjs7VW5CcW1ERTtBbUJqbURGO0VBQ0Usc0JSckQ0QixFQUFBOztBUWdDaEM7O1FuQjJuREU7QW1Cdm5ERjtFQUNFLGNBQWM7RUFDZCxVUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQVN4Qjs7VW5CbW5ERTtBbUIvbURGO0VBQ0UsZ0JSckQ0QixFQUFBOztBUWdDaEM7O1FuQnlvREU7QW1Ccm9ERjtFQUNFLGNBQWM7RUFDZCxnQlJ0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUFTeEI7O1VuQmlvREU7QW1CN25ERjtFQUNFLHNCUnJENEIsRUFBQTs7QVFnQ2hDOztRbkJ1cERFO0FtQm5wREY7RUFDRSxjQUFjO0VBQ2QsZ0JSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBU3hCOztVbkIrb0RFO0FtQjNvREY7RUFDRSxzQlJyRDRCLEVBQUE7O0FRZ0NoQzs7UW5CcXFERTtBbUJqcURGO0VBQ0UsY0FBYztFQUNkLFdSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBdUIxQjs7UW5CK29ERTtBbUIzb0RGO0VBQ0Usb0JBUG1CLEVBQUE7O0FBRXJCOztRbkJxcERFO0FtQmpwREY7RUFDRSxtQkFQMkIsRUFBQTs7QUFFN0I7O1FuQjJwREU7QW1CdnBERjtFQUNFLHVCQVB1QyxFQUFBOztBQUV6Qzs7UW5CaXFERTtBbUI3cERGO0VBQ0UscUJBUGlELEVBQUE7O0FBRW5EOztRbkJ1cURFO0FtQm5xREY7RUFDRSxxQkFQMkQsRUFBQTs7QUFlN0Q7O1FuQmdxREU7QW1CNXBERjtFQUNFLHNCQVBpQixFQUFBOztBQUVuQjs7UW5Cc3FERTtBbUJscURGO0VBQ0UsdUJBUHlCLEVBQUE7O0FBRTNCOztRbkI0cURFO0FtQnhxREY7RUFDRSw4QkFQd0MsRUFBQTs7QUFFMUM7O1FuQmtyREU7QW1COXFERjtFQUNFLDZCQVBzRCxFQUFBOztBQUV4RDs7UW5Cd3JERTtBbUJwckRGO0VBQ0UsNkJBUG9FLEVBQUE7O0FBZXRFOztRbkJpckRFO0FtQjdxREY7RUFDRSxlQUFnQyxFQUFBOztBQUxsQzs7UW5CdXJERTtBbUJuckRGO0VBQ0UsZ0JBQWdDLEVBQUE7O0FBS3BDOztNbkJtckRFO0FtQi9xREY7RUFDRSxTQUFTLEVBQUE7O0FBSVg7O01uQmdyREU7QW1CNXFERjtFQUNFLFFBQVEsRUFBQTs7QUFJVjs7TW5CNnFERTtBbUJ6cURGO0VBQ0UsMkJBQTJCLEVBQUE7O0FBekYzQjs7UW5CdXdERTtBbUJud0RGO0VBQ0UsY0FBYztFQUNkLGVSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBU3hCOztVbkIrdkRFO0FtQjN2REY7RUFDRSxxQlJyRDRCLEVBQUE7O0FRZ0NoQzs7UW5CcXhERTtBbUJqeERGO0VBQ0UsY0FBYztFQUNkLGdCUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQVN4Qjs7VW5CNndERTtBbUJ6d0RGO0VBQ0Usc0JSckQ0QixFQUFBOztBUWdDaEM7O1FuQm15REU7QW1CL3hERjtFQUNFLGNBQWM7RUFDZCxVUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQVN4Qjs7VW5CMnhERTtBbUJ2eERGO0VBQ0UsZ0JSckQ0QixFQUFBOztBUWdDaEM7O1FuQml6REU7QW1CN3lERjtFQUNFLGNBQWM7RUFDZCxnQlJ0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUFTeEI7O1VuQnl5REU7QW1CcnlERjtFQUNFLHNCUnJENEIsRUFBQTs7QVFnQ2hDOztRbkIrekRFO0FtQjN6REY7RUFDRSxjQUFjO0VBQ2QsZ0JSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBU3hCOztVbkJ1ekRFO0FtQm56REY7RUFDRSxzQlJyRDRCLEVBQUE7O0FRZ0NoQzs7UW5CNjBERTtBbUJ6MERGO0VBQ0UsY0FBYztFQUNkLFVSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBU3hCOztVbkJxMERFO0FtQmowREY7RUFDRSxnQlJyRDRCLEVBQUE7O0FRZ0NoQzs7UW5CMjFERTtBbUJ2MURGO0VBQ0UsY0FBYztFQUNkLGdCUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQVN4Qjs7VW5CbTFERTtBbUIvMERGO0VBQ0Usc0JSckQ0QixFQUFBOztBUWdDaEM7O1FuQnkyREU7QW1CcjJERjtFQUNFLGNBQWM7RUFDZCxnQlJ0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUFTeEI7O1VuQmkyREU7QW1CNzFERjtFQUNFLHNCUnJENEIsRUFBQTs7QVFnQ2hDOztRbkJ1M0RFO0FtQm4zREY7RUFDRSxjQUFjO0VBQ2QsVVJ0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUFTeEI7O1VuQisyREU7QW1CMzJERjtFQUNFLGdCUnJENEIsRUFBQTs7QVFnQ2hDOztRbkJxNERFO0FtQmo0REY7RUFDRSxjQUFjO0VBQ2QsZ0JSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBU3hCOztVbkI2M0RFO0FtQnozREY7RUFDRSxzQlJyRDRCLEVBQUE7O0FRZ0NoQzs7UW5CbTVERTtBbUIvNERGO0VBQ0UsY0FBYztFQUNkLGdCUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQVN4Qjs7VW5CMjRERTtBbUJ2NERGO0VBQ0Usc0JSckQ0QixFQUFBOztBUWdDaEM7O1FuQmk2REU7QW1CNzVERjtFQUNFLGNBQWM7RUFDZCxXUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQXVCMUI7O1FuQjI0REU7QW1CdjRERjtFQUNFLG9CQVBtQixFQUFBOztBQUVyQjs7UW5CaTVERTtBbUI3NERGO0VBQ0UsbUJBUDJCLEVBQUE7O0FBRTdCOztRbkJ1NURFO0FtQm41REY7RUFDRSx1QkFQdUMsRUFBQTs7QUFFekM7O1FuQjY1REU7QW1CejVERjtFQUNFLHFCQVBpRCxFQUFBOztBQUVuRDs7UW5CbTZERTtBbUIvNURGO0VBQ0UscUJBUDJELEVBQUE7O0FBZTdEOztRbkI0NURFO0FtQng1REY7RUFDRSxzQkFQaUIsRUFBQTs7QUFFbkI7O1FuQms2REU7QW1COTVERjtFQUNFLHVCQVB5QixFQUFBOztBQUUzQjs7UW5CdzZERTtBbUJwNkRGO0VBQ0UsOEJBUHdDLEVBQUE7O0FBRTFDOztRbkI4NkRFO0FtQjE2REY7RUFDRSw2QkFQc0QsRUFBQTs7QUFFeEQ7O1FuQm83REU7QW1CaDdERjtFQUNFLDZCQVBvRSxFQUFBOztBQWV0RTs7UW5CNjZERTtBbUJ6NkRGO0VBQ0UsZUFBZ0MsRUFBQTs7QUFMbEM7O1FuQm03REU7QW1CLzZERjtFQUNFLGdCQUFnQyxFQUFBOztBQUtwQzs7TW5CKzZERTtBbUIzNkRGO0VBQ0UsU0FBUyxFQUFBOztBQUlYOztNbkI0NkRFO0FtQng2REY7RUFDRSxRQUFRLEVBQUE7O0FBSVY7O01uQnk2REU7QW1CcjZERjtFQUNFLDJCQUEyQixFQUFBOztBQXpGM0I7O1FuQm1nRUU7QW1CLy9ERjtFQUNFLGNBQWM7RUFDZCxlUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQVN4Qjs7VW5CMi9ERTtBbUJ2L0RGO0VBQ0UscUJSckQ0QixFQUFBOztBUWdDaEM7O1FuQmloRUU7QW1CN2dFRjtFQUNFLGNBQWM7RUFDZCxnQlJ0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUFTeEI7O1VuQnlnRUU7QW1CcmdFRjtFQUNFLHNCUnJENEIsRUFBQTs7QVFnQ2hDOztRbkIraEVFO0FtQjNoRUY7RUFDRSxjQUFjO0VBQ2QsVVJ0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUFTeEI7O1VuQnVoRUU7QW1CbmhFRjtFQUNFLGdCUnJENEIsRUFBQTs7QVFnQ2hDOztRbkI2aUVFO0FtQnppRUY7RUFDRSxjQUFjO0VBQ2QsZ0JSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBU3hCOztVbkJxaUVFO0FtQmppRUY7RUFDRSxzQlJyRDRCLEVBQUE7O0FRZ0NoQzs7UW5CMmpFRTtBbUJ2akVGO0VBQ0UsY0FBYztFQUNkLGdCUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQVN4Qjs7VW5CbWpFRTtBbUIvaUVGO0VBQ0Usc0JSckQ0QixFQUFBOztBUWdDaEM7O1FuQnlrRUU7QW1CcmtFRjtFQUNFLGNBQWM7RUFDZCxVUnRDOEI7RVF1QzlCLHFCQUF3QixFQUFBOztBQVN4Qjs7VW5CaWtFRTtBbUI3akVGO0VBQ0UsZ0JSckQ0QixFQUFBOztBUWdDaEM7O1FuQnVsRUU7QW1CbmxFRjtFQUNFLGNBQWM7RUFDZCxnQlJ0QzhCO0VRdUM5QixxQkFBd0IsRUFBQTs7QUFTeEI7O1VuQitrRUU7QW1CM2tFRjtFQUNFLHNCUnJENEIsRUFBQTs7QVFnQ2hDOztRbkJxbUVFO0FtQmptRUY7RUFDRSxjQUFjO0VBQ2QsZ0JSdEM4QjtFUXVDOUIscUJBQXdCLEVBQUE7O0FBU3hCOztVbkI2bEVFO0FtQnpsRUY7RUFDRSxzQlJyRDRCLEVBQUE7O0FRZ0NoQzs7UW5CbW5FRTtBbUIvbUVGO0VBQ0UsY0FBYztFQUNkLFVS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Z0JBQWdDLEVBQUE7O0FBS3BDOztNbkJ1NkVFO0FtQm42RUY7RUFDRSxTQUFTLEVBQUE7O0FBSVg7O01uQm82RUU7QW1CaDZFRjtFQUNFLFFBQVEsRUFBQTs7QUFJVjs7TW5CaTZFRTtBbUI3NUVGO0VBQ0UsMkJBQTJCLEVBQUE7O0FDMUpqQzs7K0VwQjRqRitFO0FvQnhqRi9FOztFcEIyakZFO0FvQnZqRkY7O0VWNENJLGVVdENnQjtFVnVDaEIsaUJDOUIrQjtFRG1DL0Isc0JBQWdEO0VVM0NsRCw2Qm5CUjBCLEVBQUE7RVMwSHhCO0lVekhKOztNVjRDSSxlVXpDa0I7TVYwQ2xCLGlCQzlCK0I7TURtQy9CLG9CQUFnRCxFQUFBLEVVMUNuRDs7QUFHRDs7RXBCNGpGRTtBb0J4akZGOztFVjZCSSxlVXRCZ0I7RVZ1QmhCLGlCQzlCK0I7RURtQy9CLG9CQUFnRDtFVTNCbEQsNkJuQnhCMEIsRUFBQTtFUzBIeEI7SVUxR0o7O01WNkJJLGVVMUJrQjtNVjJCbEIsaUJDOUIrQjtNRG1DL0Isb0JBQWdEO01VL0JoRCx5QkFBeUIsRUFBQSxFQUs1Qjs7QUFHRDs7RXBCNmpGRTtBb0J6akZGOztFVmFJLGdCVURpQjtFVkVqQixnQkM5QitCO0VEbUMvQixnQkFBZ0Q7RVVObEQsNkJuQjdDMEI7RW1COEMxQixnQ1JDK0I7RVFBL0Isa0JBQWtCLEVBQUE7RVYrRGhCO0lVOUVKOztNVmFJLGdCVVZtQjtNVlduQixnQkM5QitCO01EbUMvQixnQkFBZ0QsRUFBQSxFVUhuRDtFVjBFRztJVTFGSjs7TVZhSSxlVU5rQjtNVk9sQixlQzlCK0I7TURtQy9CLGdCQUFnRDtNVVhoRCxnQkFBZ0I7TUFDaEIsbUJBQW1CLEVBQUEsRUFPdEI7O0FDdkREOzsrRXJCMG5GK0U7QXFCdG5GL0U7RUFDRSxrQkFBa0I7RUFDbEIsV0FBVztFQUNYLDJCQUEyQjtFQUMzQixVQUFVLEVBQUE7O0FBR1o7RUFDRSxNQUFNO0VBQ04sVUFBVSxFQUFBOztBQ2JaOzsrRXRCdW9GK0U7QXVCdm9GL0U7OytFdkIwb0YrRTtBdUJ0b0YvRTs7RXZCeW9G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TUFDMUIsY2pDckU4QjtNaUNzRTNCLGFqQ3RFMkIsRUFBQTs7QWlDMkVqQztFQUNDLFVBQVU7RUFDVixvQkFBb0I7RUFDcEIsZUFBZTtFQUNaLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLFlBQVk7RUFDWixxQ0FBb0M7RUFDcEMsV0FBVztFQUNYLGlDQUFpQyxFQUFBO0VBVnJDO0lBYUUsVUFBVTtJQUNWLG1CQUFtQixFQUFBOztBQy9JckI7OytFOUNrL0krRTtBOEM5K0kvRTs7RTlDaS9JRTtBOENoK0lJOztROUNtK0lFO0E4Qy85SUY7RUFDRSxZbENuQnFCLEVBQUE7O0FrQ2N2Qjs7UTlDeStJRTtBOENyK0lGO0VBQ0UsdUJsQ25CcUIsRUFBQTs7QWtDY3ZCOztROUMrK0lFO0E4QzMrSUY7RUFDRSxZbENoQnVCLEVBQUE7O0FrQ1d6Qjs7UTlDcS9JRTtBOENqL0lGO0VBQ0UsdUJsQ2hCdUIsRUFBQTs7QWtDV3pCOztROUMyL0lFO0E4Q3YvSUY7RUFDRSxjbENieUIsRUFBQTs7QWtDUTNCOztROUNpZ0pFO0E4QzcvSUY7RUFDRSx5QmxDYnlCLEVBQUE7O0FrQ1EzQjs7UTlDdWdKRTtBOENuZ0pGO0VBQ0UsY2xDWjJCLEVBQUE7O0FrQ083Qjs7UTlDNmdKRTtBOEN6Z0pGO0VBQ0UseUJsQ1oyQixFQUFBOztBa0NPN0I7O1E5Q21oSkU7QThDL2dKRjtFQUNFLGNsQ1R5QixFQUFBOztBa0NJM0I7O1E5Q3loSkU7QThDcmhKRjtFQUNFLHlCbENUeUIsRUFBQTs7QWtDSTNCOztROUMraEpFO0E4QzNoSkY7RUFDRSxjbENOd0IsRUFBQTs7QWtDQzFCOztROUNxaUpFO0E4Q2ppSkY7RUFDRSx5QmxDTndCLEVBQUE7O0FrQ0MxQjs7UTlDMmlKRTtBOEN2aUpGO0VBQ0UsY2xDSHVCLEVBQUE7O0FrQ0Z6Qjs7UTlDaWpKRTtBOEM3aUpGO0VBQ0UseUJsQ0h1QixFQUFBOztBa0NGekI7O1E5Q3VqSkU7QThDbmpKRjtFQUNFLGNsQ0F1QixFQUFBOztBa0NMekI7O1E5QzZqSkU7QThDempKRjtFQUNFLHlCbENBdUIsRUFBQTs7QWtDTHpCOztROUNta0pFO0E4Qy9qSkY7RUFDRSxjbENDMkIsRUFBQTs7QWtDTjdCOztROUN5a0pFO0E4Q3JrSkY7RUFDRSx5QmxDQzJCLEVBQUE7O0FrQ043Qjs7UTlDK2tKRTtBOEMza0pGO0VBQ0UsY2xDSXVCLEVBQUE7O0FrQ1R6Qjs7UTlDcWxKRTtBOENqbEpGO0VBQ0UseUJsQ0l1QixFQUFBOztBa0NUekI7O1E5QzJsSkU7QThDdmxKRjtFQUNFLGNsQ093QixFQUFBOztBa0NaMUI7O1E5Q2ltSkU7QThDN2xKRjtFQUNFLHlCbENPd0IsRUFBQTs7QWtDWjFCOztROUN1bUpFO0E4Q25tSkY7RUFDRSxjbENVd0IsRUFBQTs7QWtDZjFCOztROUM2bUpFO0E4Q3ptSkY7RUFDRSx5QmxDVXdCLEVBQUE7O0FrQ2YxQjs7UTlDbW5KRTtBOEMvbUpGO0VBQ0UsY2xDYTZCLEVBQUE7O0FrQ2xCL0I7O1E5Q3luSkU7QThDcm5KRjtFQUNFLHlCbENhNkIsRUFBQTs7QWtDbEIvQjs7UTlDK25KRTtBOEMzbkpGO0VBQ0UsY2xDZ0I0QixFQUFBOztBa0NyQjlCOztROUNxb0pFO0E4Q2pvSkY7RUFDRSx5QmxDZ0I0QixFQUFBOztBa0NyQjlCOztROUMyb0pFO0E4Q3ZvSkY7RUFDRSxjbENtQjhCLEVBQUE7O0FrQ3hCaEM7O1E5Q2lwSkU7QThDN29KRjtFQUNFLHlCbENtQjhCLEVBQUE7O0FrQ3hCaEM7O1E5Q3VwSkU7QThDbnBKRjtFQUNFLGNsQ3NCOEIsRUFBQTs7QWtDM0JoQzs7UTlDNnBKRTtBOEN6cEpGO0VBQ0UseUJsQ3NCOEIsRUFBQTs7QWtDM0JoQzs7UTlDbXFKRTtBOEMvcEpGO0VBQ0UsY2xDeUJ5QixFQUFBOztBa0M5QjNCOztROUN5cUpFO0E4Q3JxSkY7RUFDRSx5QmxDeUJ5QixFQUFBOztBa0M5QjNCOztROUMrcUpFO0E4QzNxSkY7RUFDRSxjbEM0QnlCLEVBQUE7O0FrQ2pDM0I7O1E5Q3FySkU7QThDanJKRjtFQUNFLHlCbEM0QnlCLEVBQUE7O0FrQ2pDM0I7O1E5QzJySkU7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QzlDO0V4QzBCRixnQlRsQlM7RVNtQlQsZ0JDOUIrQjtFRG1DL0IsZ0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGVUakJPO0VTa0JQLGlCQzlCK0I7RURtQy9CLGtCQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixlVHBCUTtFU3FCUixpQkM5QitCO0VEbUMvQixzQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRuQlE7RVNvQlIsaUJDOUIrQjtFRG1DL0Isb0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGdCVGxCUztFU21CVCxnQkM5QitCO0VEbUMvQixnQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRqQk87RVNrQlAsaUJDOUIrQjtFRG1DL0Isa0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGVUcEJRO0VTcUJSLGlCQzlCK0I7RURtQy9CLHNCQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixlVG5CUTtFU29CUixpQkM5QitCO0VEbUMvQixvQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZ0JUbEJTO0VTbUJULGdCQzlCK0I7RURtQy9CLGdCQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixlVGpCTztFU2tCUCxpQkM5QitCO0VEbUMvQixrQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRwQlE7RVNxQlIsaUJDOUIrQjtFRG1DL0Isc0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGVUbkJRO0VTb0JSLGlCQzlCK0I7RURtQy9CLG9CQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixnQlRsQlM7RVNtQlQsZ0JDOUIrQjtFRG1DL0IsZ0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGVUakJPO0VTa0JQLGlCQzlCK0I7RURtQy9CLGtCQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixlVHBCUTtFU3FCUixpQkM5QitCO0VEbUMvQixzQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRuQlE7RVNvQlIsaUJDOUIrQjtFRG1DL0Isb0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGdCVGxC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O0VBQ2QsWUFBVyxFQUFBOztBQUdiO0VBQ0UsYUFBWTtFQUNaLGVBQWUsRUFBQTs7QUFHakI7RUFDRSxrQkFBaUI7RUFDakIsWUFBVztFQUNYLHFCQUFxQjtFQUNyQixTQUFRO0VBQ1IsZ0NBQStCO0VBQy9CLDZCQUE0QjtFQUM1QixTQUFRLEVBQUE7O0FBR1Y7RUFDRSxlQUFjLEVBQUE7O0FBR2hCO0VBQ0UsVUFBUyxFQUFBIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQnVyZm9yZFJ1c3RpY1NoYWRvd1R3b0EnO1xuICBzcmM6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9hbm5hd2FkZGlueHZlZW4vYXNzZXRzL2ZvbnRzL0J1cmZvcmRSdXN0aWNTaGFkb3dUd29BLm90ZlwiKSBmb3JtYXQoXCJPcGVuVHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQcmVkaWdlLU1lZGl1bSc7XG4gIHNyYzogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2FubmF3YWRkaW54dmVlbi9hc3NldHMvZm9udHMvUHJlZGlnZS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIk9wZW5UeXBlXCIpLCB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvYW5uYXdhZGRpbnh2ZWVuL2Fzc2V0cy9mb250cy9QcmVkaWdlLU1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUHJlZGlnZS1SZWd1bGFyJztcbiAgc3JjOiB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvYW5uYXdhZGRpbnh2ZWVuL2Fzc2V0cy9mb250cy9QcmVkaWdlLVJlZ3VsYXIub3RmXCIpIGZvcm1hdChcIk9wZW5UeXBlXCIpLCB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvYW5uYXdhZGRpbnh2ZWVuL2Fzc2V0cy9mb250cy9QcmVkaWdlLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogIE93bCBDYXJvdXNlbCAtIENvcmVcbiAqL1xuLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiBwb3NpdGlvbiByZWxhdGl2ZSBhbmQgei1pbmRleCBmaXggd2Via2l0IHJlbmRlcmluZyBmb250cyBpc3N1ZSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLyogZml4IGZpcmVmb3ggYW5pbWF0aW9uIGdsaXRjaCAqLyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlciB7XG4gICAgY29udGVudDogXCIuXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGhlaWdodDogMDsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtd3JhcHBlcixcbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYuZGlzYWJsZWQsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzLmRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2LFxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtbmV4dCxcbiAgLm93bC1jYXJvdXNlbCAub3dsLWRvdCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1wcmV2LFxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCxcbiAgLm93bC1jYXJvdXNlbCBidXR0b24ub3dsLWRvdCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQ6IGluaGVyaXQ7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtbG9hZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAub3dsLWNhcm91c2VsLm93bC1sb2FkaW5nIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbiB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAub3dsLWNhcm91c2VsLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWRyYWcgLm93bC1pdGVtIHtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtZ3JhYiB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIGN1cnNvcjogZ3JhYjsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW0ge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4vKiBObyBKcyAqL1xuLm5vLWpzIC5vd2wtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogIE93bCBDYXJvdXNlbCAtIEFuaW1hdGUgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLmFuaW1hdGVkIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLWluIHtcbiAgei1pbmRleDogMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtb3V0IHtcbiAgei1pbmRleDogMTsgfVxuXG4ub3dsLWNhcm91c2VsIC5mYWRlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICovXG4ub3dsLWhlaWdodCB7XG4gIHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDsgfVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBMYXp5IExvYWQgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgLyoqXG5cdFx0XHRUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3Jvbmdcblx0XHRcdGNhbGN1bGF0aW9uIG9mIHRoZSBoZWlnaHQgb2YgdGhlIG93bC1pdGVtIHRoYXQgYnJlYWtzIHBhZ2UgbGF5b3V0c1xuXHRcdCAqLyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5W3NyY149XCJcIl0sIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eTpub3QoW3NyY10pIHtcbiAgICBtYXgtaGVpZ2h0OiAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZy5vd2wtbGF6eSB7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDgwcHg7XG4gIHdpZHRoOiA4MHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gIG1hcmdpbi10b3A6IC00MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJvd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bixcbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tdG4ge1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1mcmFtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cbi5tZnAtYmcge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogIzBiMGIwYjtcbiAgb3BhY2l0eTogMC44OyB9XG5cbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5tZnAtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAxMDQ1OyB9XG5cbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cblxuLm1mcC16b29tLW91dC1jdXIsIC5tZnAtem9vbS1vdXQtY3VyIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluOyB9XG5cbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtY2xvc2UsXG4ubWZwLWFycm93LFxuLm1mcC1wcmVsb2FkZXIsXG4ubWZwLWNvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICNDQ0M7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgbGVmdDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAxMDQ0OyB9XG5cbi5tZnAtcHJlbG9hZGVyIGEge1xuICBjb2xvcjogI0NDQzsgfVxuXG4ubWZwLXByZWxvYWRlciBhOmhvdmVyIHtcbiAgY29sb3I6ICNGRkY7IH1cblxuLm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5idXR0b24ubWZwLWNsb3NlLFxuYnV0dG9uLm1mcC1hcnJvdyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDEwNDY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG4ubWZwLWNsb3NlIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIHBhZGRpbmc6IDAgMCAxOHB4IDEwcHg7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlOyB9XG5cbi5tZnAtY2xvc2U6aG92ZXIsXG4ubWZwLWNsb3NlOmZvY3VzIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubWZwLWNsb3NlOmFjdGl2ZSB7XG4gIHRvcDogMXB4OyB9XG5cbi5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2Uge1xuICBjb2xvcjogIzMzMzsgfVxuXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlLFxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjb2xvcjogI0ZGRjtcbiAgcmlnaHQ6IC02cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtY291bnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY29sb3I6ICNDQ0M7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLm1mcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMC42NTtcbiAgbWFyZ2luOiAwO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTU1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDExMHB4O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5tZnAtYXJyb3c6YWN0aXZlIHtcbiAgbWFyZ2luLXRvcDogLTU0cHg7IH1cblxuLm1mcC1hcnJvdzpob3Zlcixcbi5tZnAtYXJyb3c6Zm9jdXMge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5tZnAtYXJyb3c6YmVmb3JlLFxuLm1mcC1hcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG4gIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDsgfVxuXG4ubWZwLWFycm93OmFmdGVyIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcbiAgdG9wOiA4cHg7IH1cblxuLm1mcC1hcnJvdzpiZWZvcmUge1xuICBib3JkZXItdG9wLXdpZHRoOiAyMXB4O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICBvcGFjaXR5OiAwLjc7IH1cblxuLm1mcC1hcnJvdy1sZWZ0IHtcbiAgbGVmdDogMDsgfVxuXG4ubWZwLWFycm93LWxlZnQ6YWZ0ZXIge1xuICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI0ZGRjtcbiAgbWFyZ2luLWxlZnQ6IDMxcHg7IH1cblxuLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxuXG4ubWZwLWFycm93LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7IH1cblxuLm1mcC1hcnJvdy1yaWdodDphZnRlciB7XG4gIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNGRkY7XG4gIG1hcmdpbi1sZWZ0OiAzOXB4OyB9XG5cbi5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA5MDBweDsgfVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIHRvcDogLTQwcHg7IH1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTsgfVxuXG4ubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXG5pbWcubWZwLWltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiA0MHB4IDAgNDBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLyogVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlICovXG4ubWZwLWZpZ3VyZSB7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbi5tZnAtZmlndXJlOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiA0MHB4O1xuICBib3R0b206IDQwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICByaWdodDogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgei1pbmRleDogLTE7XG4gIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBiYWNrZ3JvdW5kOiAjNDQ0OyB9XG5cbi5tZnAtZmlndXJlIHNtYWxsIHtcbiAgY29sb3I6ICNCREJEQkQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG5cbi5tZnAtZmlndXJlIGZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubWZwLWJvdHRvbS1iYXIge1xuICBtYXJnaW4tdG9wOiAtMzZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC10aXRsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBjb2xvcjogI0YzRjNGMztcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBwYWRkaW5nLXJpZ2h0OiAzNnB4OyB9XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ubWZwLWdhbGxlcnkgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1maWd1cmUge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxuICAgICAgICovXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDNweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxuICAubWZwLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBtYXJnaW4gYW5kIHBhZGRpbmcgZnJvbSBldmVyeSBzZWxlY3RvciBpbmNsdWRpbmcgdGhlaXJcbiAqIHBzdWVkbyBzZWxlY3RvcnMuXG4gKlxuICogMS4gTW9yZSBzZW5zaWJsZSBkZWZhdWx0IGJveCBzaXppbmcuXG4gKiAgICAoY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlKS5cbiAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBTZXQgaGVpZ2h0IG9mIHRoZSBkb2N1bWVudCB0byBtYXhpdW0gdmlld3BvcnQgaGVpZ2h0LlxuICpcbiAqIDEuIFNldCByb290IGZvbnQgc2l6ZSB0byAxMC5cbiAqL1xuaHRtbCB7XG4gIGhlaWdodDogMTAwdmg7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKipcbiAqIFNldCBtaW5pbWFsIGhlaWdodCBvZiB0aGUgYm9keSB0byBtYXhpbXVtIHZpZXdwb3J0IGhlaWdodCB0b1xuICogbWF0Y2ggdGhlIGRvY3VtZW50J3MgaGVpZ2h0LlxuICpcbiAqIDEuIEZpcmVmb3ggMjUrLlxuICogMi4gQ2hyb21lIDUrLlxuICovXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjFkNjtcbiAgY29sb3I6ICMxNzRmM2Y7XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtUmVndWxhclwiO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAvKiAxICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAvKiAyICovIH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJlc2V0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDdXN0b20gdXNlciBhZ2VudCByZXNldHMgYW5kIG92ZXJyaWRlcyB0aGF0IGFyZSBub3QgcHJlc2VudCBpblxuICogTm9ybWFsaXplIDguMC4wLiBUaGlzIG1vc3RseSByZW1vdmVzIHNvbWUgYW5ub3lpbmcgbWFyZ2luIGFuZCBwYWRkaW5nXG4gKiBkZWZhdWx0cywgYm9yZGVyIHJhZGl1cywgYW5kIG91dGxpbmVzLlxuICovXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgcmFkaXVzIG9uIENocm9tZSA2Mi4wKyBvbiBtYWNPUy5cbiAqL1xuYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKiAxICovXG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cblxuaHIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiAxLiBSZW1vdmUgd2hpdGUgc3BhY2UuXG4gKi9cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiAxLiBSZW1vdmUgaW5oZXJpdGVkIHVzZXIgYWdlbnQgYXBwZWFyYW5jZS5cbiAqL1xuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiAxLiBPbmx5IGFsbG93IHZlcnRpY2FsIHJlc2l6aW5nIHRvIHByZXZlbnQgdGhlIHRleHRhcmVhXG4gKiAgICBmcm9tIG92ZXJmbG93aW5nIHRoZSBjb250YWluZXIuXG4gKi9cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cblxucCB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAqIDEuIENvbGxhcHNlIGJvcmRlcnMgdG8gcHJldmVudCBkb3VibGUgc2lkZWQgYm9yZGVycy5cbiAqL1xudGFibGUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIC8qIDEgKi8gfVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYWNrZ3JvdW5kXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBCYWNrZ3JvdW5kIGJhc2UuXG4gKi9cbi5iYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5iYWNrZ3JvdW5kOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7IH1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIHByaW1hcnkuXG4gKi9cbi5iYWNrZ3JvdW5kLS1kZWZhdWx0IHtcbiAgY29sb3I6ICMxNzRmM2Y7XG4gIGZpbGw6ICMxNzRmM2Y7IH1cbiAgLmJhY2tncm91bmQtLWRlZmF1bHQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjFkNjsgfVxuICAuYmFja2dyb3VuZC0tZGVmYXVsdCBoMSB7XG4gICAgY29sb3I6ICNlYzY5Mjc7IH1cbiAgLmJhY2tncm91bmQtLWRlZmF1bHQgaDIge1xuICAgIGNvbG9yOiAjMTc0ZjNmOyB9XG4gIC5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWFycm93IHtcbiAgICBjb2xvcjogIzE3NGYzZjsgfVxuICAgIC5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWFycm93IHN2ZyB7XG4gICAgICBjb2xvcjogIzE3NGYzZjtcbiAgICAgIGZpbGw6ICMxNzRmM2Y7IH1cbiAgLmJhY2tncm91bmQtLWRlZmF1bHQgLmJ1dHRvbi0tYm9yZGVyIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmMWQ2O1xuICAgIGNvbG9yOiAjZmZmMWQ2OyB9XG4gICAgLmJhY2tncm91bmQtLWRlZmF1bHQgLmJ1dHRvbi0tYm9yZGVyIHN2ZyB7XG4gICAgICBjb2xvcjogI2ZmZjFkNjtcbiAgICAgIGZpbGw6ICNmZmYxZDY7IH1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIHByaW1hcnkgKHdpdGggcGF0dGVybikuXG4gKi9cbi5iYWNrZ3JvdW5kLS1iZWlnZSB7XG4gIGNvbG9yOiAjMTc0ZjNmO1xuICBmaWxsOiAjMTc0ZjNmOyB9XG4gIC5iYWNrZ3JvdW5kLS1iZWlnZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmMWQ2OyB9XG4gIC5iYWNrZ3JvdW5kLS1iZWlnZSBoMSB7XG4gICAgY29sb3I6ICNlYzY5Mjc7IH1cbiAgLmJhY2tncm91bmQtLWJlaWdlIGgyIHtcbiAgICBjb2xvcjogIzE3NGYzZjsgfVxuICAuYmFja2dyb3VuZC0tYmVpZ2UgLmJ1dHRvbi0tYXJyb3cge1xuICAgIGNvbG9yOiAjMTc0ZjNmOyB9XG4gICAgLmJhY2tncm91bmQtLWJlaWdlIC5idXR0b24tLWFycm93IHN2ZyB7XG4gICAgICBjb2xvcjogIzE3NGYzZjtcbiAgICAgIGZpbGw6ICMxNzRmM2Y7IH1cbiAgLmJhY2tncm91bmQtLWJlaWdlIC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjFkNjtcbiAgICBjb2xvcjogI2ZmZjFkNjsgfVxuICAgIC5iYWNrZ3JvdW5kLS1iZWlnZSAuYnV0dG9uLS1ib3JkZXIgc3ZnIHtcbiAgICAgIGNvbG9yOiAjZmZmMWQ2O1xuICAgICAgZmlsbDogI2ZmZjFkNjsgfVxuXG4vKipcbiAqIEJhY2tncm91bmQgc2Vjb25kYXJ5LlxuICovXG4uYmFja2dyb3VuZC0tZ3JlZW4ge1xuICBjb2xvcjogI2ZmZjFkNjtcbiAgZmlsbDogI2ZmZjFkNjsgfVxuICAuYmFja2dyb3VuZC0tZ3JlZW46OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogIzBiNzQ1MzsgfVxuICAuYmFja2dyb3VuZC0tZ3JlZW4gaDEsXG4gIC5iYWNrZ3JvdW5kLS1ncmVlbiBoMiB7XG4gICAgY29sb3I6ICNmZmYxZDY7IH1cbiAgLmJhY2tncm91bmQtLWdyZWVuIC5idXR0b24tLWFycm93IHtcbiAgICBjb2xvcjogIzBiNzQ1MzsgfVxuICAgIC5iYWNrZ3JvdW5kLS1ncmVlbiAuYnV0dG9uLS1hcnJvdyBzdmcge1xuICAgICAgY29sb3I6ICMwYjc0NTM7XG4gICAgICBmaWxsOiAjMGI3NDUzOyB9XG4gIC5iYWNrZ3JvdW5kLS1ncmVlbiAuYnV0dG9uLS1ib3JkZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwYjc0NTM7XG4gICAgY29sb3I6ICMwYjc0NTM7IH1cbiAgICAuYmFja2dyb3VuZC0tZ3JlZW4gLmJ1dHRvbi0tYm9yZGVyIHN2ZyB7XG4gICAgICBjb2xvcjogIzBiNzQ1MztcbiAgICAgIGZpbGw6ICMwYjc0NTM7IH1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIHNlY29uZGFyeS5cbiAqL1xuLmJhY2tncm91bmQtLWRhcmstYnJvd24ge1xuICBjb2xvcjogIzBiNzQ1MztcbiAgZmlsbDogIzBiNzQ1MzsgfVxuICAuYmFja2dyb3VuZC0tZGFyay1icm93bjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGI3NDUzOyB9XG4gIC5iYWNrZ3JvdW5kLS1kYXJrLWJyb3duIGgxLFxuICAuYmFja2dyb3VuZC0tZGFyay1icm93biBoMiB7XG4gICAgY29sb3I6ICMwYjc0NTM7IH1cbiAgLmJhY2tncm91bmQtLWRhcmstYnJvd24gLmJ1dHRvbi0tYXJyb3cge1xuICAgIGNvbG9yOiAjMGI3NDUzOyB9XG4gICAgLmJhY2tncm91bmQtLWRhcmstYnJvd24gLmJ1dHRvbi0tYXJyb3cgc3ZnIHtcbiAgICAgIGNvbG9yOiAjMGI3NDUzO1xuICAgICAgZmlsbDogIzBiNzQ1MzsgfVxuICAuYmFja2dyb3VuZC0tZGFyay1icm93biAuYnV0dG9uLS1ib3JkZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwYjc0NTM7XG4gICAgY29sb3I6ICMwYjc0NTM7IH1cbiAgICAuYmFja2dyb3VuZC0tZGFyay1icm93biAuYnV0dG9uLS1ib3JkZXIgc3ZnIHtcbiAgICAgIGNvbG9yOiAjMGI3NDUzO1xuICAgICAgZmlsbDogIzBiNzQ1MzsgfVxuXG4uYmFja2dyb3VuZC0tcGluayB7XG4gIGNvbG9yOiAjMGI3NDUzO1xuICBmaWxsOiAjMGI3NDUzOyB9XG4gIC5iYWNrZ3JvdW5kLS1waW5rOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNlYzY5Mjc7IH1cbiAgLmJhY2tncm91bmQtLXBpbmsgaDEsXG4gIC5iYWNrZ3JvdW5kLS1waW5rIGgyIHtcbiAgICBjb2xvcjogIzBiNzQ1MzsgfVxuICAuYmFja2dyb3VuZC0tcGluayAuYnV0dG9uLS1hcnJvdyB7XG4gICAgY29sb3I6ICMwYjc0NTM7IH1cbiAgICAuYmFja2dyb3VuZC0tcGluayAuYnV0dG9uLS1hcnJvdyBzdmcge1xuICAgICAgY29sb3I6ICMwYjc0NTM7XG4gICAgICBmaWxsOiAjMGI3NDUzOyB9XG4gIC5iYWNrZ3JvdW5kLS1waW5rIC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzBiNzQ1MztcbiAgICBjb2xvcjogIzBiNzQ1MzsgfVxuICAgIC5iYWNrZ3JvdW5kLS1waW5rIC5idXR0b24tLWJvcmRlciBzdmcge1xuICAgICAgY29sb3I6ICMwYjc0NTM7XG4gICAgICBmaWxsOiAjMGI3NDUzOyB9XG5cbi8qKlxuICogQmFja2dyb3VuZCBib3JkZXIuXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLmJhY2tncm91bmQtLWJvcmRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5iYWNrZ3JvdW5kLS1ib3JkZXI6OmJlZm9yZSB7XG4gIGJvdHRvbTogOTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAjMTc0ZjNmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuYmFja2dyb3VuZC0tYm9yZGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjMGI3NDUzOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAuYmFja2dyb3VuZC0tYm9yZGVyIC53cmFwcGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG5cbi5iYWNrZ3JvdW5kLS1ib3JkZXIgKyBkaXYge1xuICBtYXJnaW4tdG9wOiAtOTVweDtcbiAgcGFkZGluZy10b3A6IDk1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5iYWNrZ3JvdW5kLS1ib3JkZXIgKyBkaXYge1xuICAgICAgbWFyZ2luLXRvcDogLTE1cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCdXR0b25zLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQnV0dG9uIGJhc2UuXG4gKi9cbi5idXR0b24ge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDMycHg7XG4gIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmJ1dHRvbiBzdmcge1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTsgfVxuXG4vKipcbiAqIEJ1dHRvbiBib3JkZXIuXG4gKi9cbi5idXR0b24tLWJvcmRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLmJ1dHRvbi0tYm9yZGVyIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTNweDtcbiAgICByaWdodDogLTM1cHg7IH1cbiAgLmJ1dHRvbi0tYm9yZGVyOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7IH1cbiAgLmJ1dHRvbi0tYm9yZGVyOmhvdmVyOjphZnRlciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJ1dHRvbi0tYm9yZGVyLmlzLW9yYW5nZSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2VjNjkyNztcbiAgICBjb2xvcjogI2ZmZjFkNjsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1vcmFuZ2Ugc3ZnIHtcbiAgICAgIGNvbG9yOiAjZWM2OTI3O1xuICAgICAgZmlsbDogI2VjNjkyNzsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1vcmFuZ2U6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlYzY5Mjc7IH1cbiAgLmJ1dHRvbi0tYm9yZGVyLmlzLWJyb3duIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNzc0MjEyO1xuICAgIGNvbG9yOiAjNzc0MjEyOyB9XG4gICAgLmJ1dHRvbi0tYm9yZGVyLmlzLWJyb3duIHN2ZyB7XG4gICAgICBjb2xvcjogIzc3NDIxMjtcbiAgICAgIGZpbGw6ICM3NzQyMTI7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtYnJvd246OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM3NzQyMTI7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtYnJvd246aG92ZXIge1xuICAgICAgY29sb3I6ICNmMGU0Y2I7IH1cbiAgLmJ1dHRvbi0tYm9yZGVyLmlzLWdyZWVuIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMTc0ZjNmO1xuICAgIGNvbG9yOiAjMTc0ZjNmOyB9XG4gICAgLmJ1dHRvbi0tYm9yZGVyLmlzLWdyZWVuIHN2ZyB7XG4gICAgICBjb2xvcjogIzE3NGYzZjtcbiAgICAgIGZpbGw6ICMxNzRmM2Y7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtZ3JlZW46OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxNzRmM2Y7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtZ3JlZW46aG92ZXIge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG5cbi8qKlxuICogQnV0dG9uIGFycm93LlxuICovXG4uYnV0dG9uLS1hcnJvdyBzdmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4O1xuICBtYXJnaW4tbGVmdDogMTJweDsgfVxuXG4uYnV0dG9uLS1hcnJvdzpob3ZlciBzdmcge1xuICBtYXJnaW4tbGVmdDogMTVweDsgfVxuXG4uYnV0dG9uLS1hcnJvdy5pcy1vcmFuZ2Uge1xuICBjb2xvcjogI2VjNjkyNzsgfVxuICAuYnV0dG9uLS1hcnJvdy5pcy1vcmFuZ2Ugc3ZnIHtcbiAgICBjb2xvcjogI2VjNjkyNztcbiAgICBmaWxsOiAjZWM2OTI3OyB9XG5cbi5idXR0b24tLWFycm93LmlzLXJlZCB7XG4gIGNvbG9yOiAjZGY0MTI2OyB9XG4gIC5idXR0b24tLWFycm93LmlzLXJlZCBzdmcge1xuICAgIGNvbG9yOiAjZGY0MTI2O1xuICAgIGZpbGw6ICNkZjQxMjY7IH1cblxuLmJ1dHRvbi0tYXJyb3cuaXMtYmVpZ2Uge1xuICBjb2xvcjogI2ZmZjFkNjsgfVxuICAuYnV0dG9uLS1hcnJvdy5pcy1iZWlnZSBzdmcge1xuICAgIGNvbG9yOiAjZmZmMWQ2O1xuICAgIGZpbGw6ICNmZmYxZDY7IH1cblxuLmJ1dHRvbi0tYXJyb3cuaXMtYnJvd24ge1xuICBjb2xvcjogIzc3NDIxMjsgfVxuICAuYnV0dG9uLS1hcnJvdy5pcy1icm93biBzdmcge1xuICAgIGNvbG9yOiAjNzc0MjEyO1xuICAgIGZpbGw6ICM3NzQyMTI7IH1cblxuLmJ1dHRvbi0tYXJyb3cuaXMtYmxhY2sge1xuICBjb2xvcjogYmxhY2s7IH1cbiAgLmJ1dHRvbi0tYXJyb3cuaXMtYmxhY2sgc3ZnIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZmlsbDogYmxhY2s7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbnRhaW5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogVGhlIGNvbnRhaW5lciBvYmplY3QgY2VudGVycyBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudC5cbiAqL1xuLmNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogY2FsYygxMDI0cHggKyA1MC42NjY2N3B4KTtcbiAgcGFkZGluZzogMCAyNS4zMzMzM3B4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbnRlbnQgQ29uc3RyYWludFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogVGhlIGNvbnRlbnQgY29uc3RyYWludCBpcyBhIGNvbnN0cmFpbnQgZm9yIGFsbCB0aGUgY29udGVudCB3aXRoaW5cbiAqIHRoZSBkb2N1bWVudC4gSXQgY2FuIGJlIG1hbmlwdWxhdGVkIGJ5IENTUyBvciBKYXZhU2NyaXB0IHdpdGhvdXRcbiAqIGluZmx1ZW5jaW5nIHRoZSBib2R5LlxuICovXG4uY29udGVudC1jb25zdHJhaW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY29udGVudC1jb25zdHJhaW50IDo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM2OTI3O1xuICAgIGNvbG9yOiAjNzc0MjEyOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGbGV4XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBFeGFtcGxlIG9mIGEgZmxleCBiYXNlZCBjb2x1bW4gZ3JpZCBsYXlvdXQgaW4gcHJhY3RpY2U6XG4gKlxuICogPGRpdiBjbGFzcz1cInJvd1wiPlxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxuICogPC9kaXY+XG4gKlxuICogVGhpcyBleGFtcGxlIHdpbGwgY3JlYXRlIGEgcm93IHdpdGggdHdvIGNvbHVtbnMgZWFjaCBmaWxsaW5nIGhhbGYgdGhlIHdpZHRoXG4gKiBvZiB0aGUgcm93IG9uIGFsbCBtZWRpYSwgYnV0IHdpbGwgY29udmVydCB0byBhIGZ1bGwgd2lkdGggY29sdW1uIG9uIHRoZVxuICogc21hbGwgYC1zbWAgYnJlYWtwb2ludCBhbGlhcywgd2hpY2ggaXMgbW9iaWxlIG9ubHkuIFJlZmVyIHRvXG4gKiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgIGZvciBhbGwgYnJlYWtwb2ludCBhbGlhcy5cbiAqL1xuLyoqXG4gKiBGbGV4IG9iamVjdC5cbiAqXG4gKiBUaXA6IFVzZSBmbGV4IG9uIGEgY29sdW1uIHRvIG1ha2UgdGhlIGJveCB0aGUgc2FtZSBoZWlnaHQgYXMgdGhlIGNvbHVtbi5cbiAqL1xuLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLyoqXG4gKiBGbGV4IG9iamVjdCB3aXRoIGEgY29sdW1uIGJhc2VkIGxheW91dCBzeXN0ZW0uXG4gKi9cbi5yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDEgYXV0bztcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luOiAwIC0xMi42NjY2N3B4OyB9XG5cbi8qKlxuICogQm94LCB0aGUgaW5zaWRlIG9mIGEgY29sdW1uLlxuICovXG4uYm94IHtcbiAgZmxleDogMTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhzLTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAyIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhzLTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMiBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDMgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteHMtMyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAzIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14cy00IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDQgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14cy00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA1IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhzLTUge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDYgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteHMtNiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA2IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNyBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14cy03IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1OC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDcgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14cy03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA4IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhzLTgge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgOCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDkgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteHMtOSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNzUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA5IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTAgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteHMtMTAge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMTAgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14cy0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTEgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteHMtMTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMTEgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14cy0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTIgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteHMtMTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBzdHJldGNoYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi14cy1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgY2VudGVyYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi14cy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGZsZXgtc3RhcnRgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXhzLWZsZXgtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBmbGV4LWVuZGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24teHMtZmxleC1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgYmFzZWxpbmVgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXhzLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3RhcnRgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnkteHMtc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgY2VudGVyYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhzLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYmV0d2VlbmAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS14cy1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYXJvdW5kYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhzLXNwYWNlLWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtZXZlbmx5YCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhzLXNwYWNlLWV2ZW5seSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG5cbi8qKlxuICAgICAgICogQmxlZWQgbGVmdCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5ibGVlZC14cy1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qKlxuICAgICAgICogQmxlZWQgcmlnaHQgZm9yIHRoZSB4cyBicmVha3BvaW50LlxuICAgICAgICovXG4uYmxlZWQteHMtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxuICAgICAqL1xuLmZpcnN0LXhzIHtcbiAgb3JkZXI6IC0xOyB9XG5cbi8qKlxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICovXG4ubGFzdC14cyB7XG4gIG9yZGVyOiAxOyB9XG5cbi8qKlxuICAgICAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXG4gICAgICovXG4ucmV2ZXJzZS14cyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXNtLTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAyIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXNtLTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMiBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDMgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtc20tMyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAzIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1zbS00IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDQgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA1IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXNtLTUge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDYgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtc20tNiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA2IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNyBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1zbS03IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1OC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDcgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA4IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXNtLTgge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgOCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDkgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtc20tOSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNzUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA5IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTAgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtc20tMTAge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMTAgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTEgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtc20tMTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMTEgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTIgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtc20tMTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBzdHJldGNoYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1zbS1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgY2VudGVyYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1zbS1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGZsZXgtc3RhcnRgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXNtLWZsZXgtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBmbGV4LWVuZGAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tc20tZmxleC1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgYmFzZWxpbmVgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXNtLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3RhcnRgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktc20tc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgY2VudGVyYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXNtLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYmV0d2VlbmAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1zbS1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYXJvdW5kYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXNtLXNwYWNlLWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtZXZlbmx5YCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXNtLXNwYWNlLWV2ZW5seSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG5cbi8qKlxuICAgICAgICogQmxlZWQgbGVmdCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5ibGVlZC1zbS1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qKlxuICAgICAgICogQmxlZWQgcmlnaHQgZm9yIHRoZSBzbSBicmVha3BvaW50LlxuICAgICAgICovXG4uYmxlZWQtc20tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxuICAgICAqL1xuLmZpcnN0LXNtIHtcbiAgb3JkZXI6IC0xOyB9XG5cbi8qKlxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICovXG4ubGFzdC1zbSB7XG4gIG9yZGVyOiAxOyB9XG5cbi8qKlxuICAgICAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXG4gICAgICovXG4ucmV2ZXJzZS1zbSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLW1kLTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAyIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLW1kLTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMiBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDMgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbWQtMyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAzIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1tZC00IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDQgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA1IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLW1kLTUge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDYgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbWQtNiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA2IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNyBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1tZC03IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1OC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDcgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA4IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLW1kLTgge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgOCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDkgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbWQtOSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNzUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA5IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTAgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbWQtMTAge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMTAgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTEgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbWQtMTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMTEgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTIgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbWQtMTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBzdHJldGNoYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1tZC1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgY2VudGVyYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1tZC1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGZsZXgtc3RhcnRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLW1kLWZsZXgtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBmbGV4LWVuZGAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tbWQtZmxleC1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgYmFzZWxpbmVgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLW1kLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3RhcnRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktbWQtc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgY2VudGVyYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LW1kLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYmV0d2VlbmAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1tZC1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYXJvdW5kYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LW1kLXNwYWNlLWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtZXZlbmx5YCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LW1kLXNwYWNlLWV2ZW5seSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG5cbi8qKlxuICAgICAgICogQmxlZWQgbGVmdCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5ibGVlZC1tZC1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qKlxuICAgICAgICogQmxlZWQgcmlnaHQgZm9yIHRoZSBtZCBicmVha3BvaW50LlxuICAgICAgICovXG4uYmxlZWQtbWQtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxuICAgICAqL1xuLmZpcnN0LW1kIHtcbiAgb3JkZXI6IC0xOyB9XG5cbi8qKlxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICovXG4ubGFzdC1tZCB7XG4gIG9yZGVyOiAxOyB9XG5cbi8qKlxuICAgICAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXG4gICAgICovXG4ucmV2ZXJzZS1tZCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLWxnLTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAyIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLWxnLTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMiBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDMgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbGctMyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAzIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1sZy00IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDQgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA1IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLWxnLTUge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDYgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbGctNiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA2IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNyBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC1sZy03IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1OC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDcgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA4IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLWxnLTgge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgOCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDkgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbGctOSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNzUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA5IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTAgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbGctMTAge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMTAgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTEgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbGctMTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMTEgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTIgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wtbGctMTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBzdHJldGNoYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1sZy1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgY2VudGVyYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi1sZy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGZsZXgtc3RhcnRgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLWxnLWZsZXgtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBmbGV4LWVuZGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24tbGctZmxleC1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgYmFzZWxpbmVgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLWxnLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3RhcnRgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnktbGctc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgY2VudGVyYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LWxnLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYmV0d2VlbmAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS1sZy1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYXJvdW5kYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LWxnLXNwYWNlLWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtZXZlbmx5YCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LWxnLXNwYWNlLWV2ZW5seSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG5cbi8qKlxuICAgICAgICogQmxlZWQgbGVmdCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5ibGVlZC1sZy1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qKlxuICAgICAgICogQmxlZWQgcmlnaHQgZm9yIHRoZSBsZyBicmVha3BvaW50LlxuICAgICAgICovXG4uYmxlZWQtbGctcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxuICAgICAqL1xuLmZpcnN0LWxnIHtcbiAgb3JkZXI6IC0xOyB9XG5cbi8qKlxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICovXG4ubGFzdC1sZyB7XG4gIG9yZGVyOiAxOyB9XG5cbi8qKlxuICAgICAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXG4gICAgICovXG4ucmV2ZXJzZS1sZyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAxIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhsLTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAxIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiAyIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhsLTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMiBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDMgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteGwtMyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCAzIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14bC00IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDQgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14bC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA1IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhsLTUge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgNSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDYgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteGwtNiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA2IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gNyBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmNvbC14bC03IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1OC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAgICogT2Zmc2V0IDcgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14bC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4vKipcbiAgICAgICAqIENvbHVtbiA4IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICovXG4uY29sLXhsLTgge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgOCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi8qKlxuICAgICAgICogQ29sdW1uIDkgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteGwtOSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNzUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXG4gICAgICAgICAqIE9mZnNldCA5IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTAgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteGwtMTAge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMTAgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14bC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTEgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteGwtMTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxuICAgICAgICAgKiBPZmZzZXQgMTEgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuLm9mZnNldC14bC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLyoqXG4gICAgICAgKiBDb2x1bW4gMTIgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5jb2wteGwtMTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBzdHJldGNoYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi14bC1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgY2VudGVyYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5hbGlnbi14bC1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qKlxuICAgICAgICogQWxpZ24gYGZsZXgtc3RhcnRgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXhsLWZsZXgtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4vKipcbiAgICAgICAqIEFsaWduIGBmbGV4LWVuZGAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxuICAgICAgICovXG4uYWxpZ24teGwtZmxleC1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLyoqXG4gICAgICAgKiBBbGlnbiBgYmFzZWxpbmVgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmFsaWduLXhsLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3RhcnRgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cbiAgICAgICAqL1xuLmp1c3RpZnkteGwtc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgY2VudGVyYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhsLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYmV0d2VlbmAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxuICAgICAgICovXG4uanVzdGlmeS14bC1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYXJvdW5kYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhsLXNwYWNlLWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qKlxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtZXZlbmx5YCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhsLXNwYWNlLWV2ZW5seSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG5cbi8qKlxuICAgICAgICogQmxlZWQgbGVmdCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cbi5ibGVlZC14bC1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qKlxuICAgICAgICogQmxlZWQgcmlnaHQgZm9yIHRoZSB4bCBicmVha3BvaW50LlxuICAgICAgICovXG4uYmxlZWQteGwtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qKlxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxuICAgICAqL1xuLmZpcnN0LXhsIHtcbiAgb3JkZXI6IC0xOyB9XG5cbi8qKlxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICovXG4ubGFzdC14bCB7XG4gIG9yZGVyOiAxOyB9XG5cbi8qKlxuICAgICAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXG4gICAgICovXG4ucmV2ZXJzZS14bCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGluZ3MuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBIZWFkaW5nIDEuXG4gKi9cbmgxLFxuLmhlYWRpbmctMSB7XG4gIGZvbnQtc2l6ZTogNDhweDtcbiAgZm9udC1zaXplOiA0LjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIwODMzZW07XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtTWVkaXVtXCI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIGgxLFxuICAgIC5oZWFkaW5nLTEge1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgZm9udC1zaXplOiA0LjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xMjVlbTsgfSB9XG5cbi8qKlxuICogSGVhZGluZyAyLlxuICovXG5oMixcbi5oZWFkaW5nLTIge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xMjVlbTtcbiAgZm9udC1mYW1pbHk6IFwiUHJlZGlnZS1NZWRpdW1cIjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgaDIsXG4gICAgLmhlYWRpbmctMiB7XG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICBmb250LXNpemU6IDQuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNWVtO1xuICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsgfSB9XG5cbi8qKlxuICogSGVhZGluZyAzLlxuICovXG5oMyxcbi5oZWFkaW5nLTMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiO1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAxcHggIzE3NGYzZjtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgaDMsXG4gICAgLmhlYWRpbmctMyB7XG4gICAgICBmb250LXNpemU6IDEwMHB4O1xuICAgICAgZm9udC1zaXplOiAxMHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgaDMsXG4gICAgLmhlYWRpbmctMyB7XG4gICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICBmb250LXNpemU6IDVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGluZ3MuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmhhcy1sb2FkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xNTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDEwMDBtcyBlYXNlO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oYXMtbG9hZFtsb2FkZWQ9J3RydWUnXSB7XG4gIHRvcDogMDtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2VjdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBXcmFwcGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBUaGUgd3JhcHBlciBvYmplY3QgY2VudGVycyBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudC5cbiAqL1xuLyoqXG4gKiBXcmFwcGVyIChkZWZhdWx0KVxuICovXG4ud3JhcHBlciB7XG4gIG1heC13aWR0aDogY2FsYygxMjUwcHggKyAxOTBweCk7XG4gIHBhZGRpbmc6IDAgOTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDQwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgcGFkZGluZzogMCA2MHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENNUyBPdXRwdXRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEV2ZXJ5IGNvbmNlaXZhYmxlIEhUTUwgZWxlbWVudCB3aXRoaW4gYSBgLmNtcy1vdXRwdXRgIHdyYXBwZXIuXG4gKlxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cbiAqL1xuLmNtcy1vdXRwdXQgPiAqOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIC8qIDEgKi8gfVxuXG4uY21zLW91dHB1dCB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuY21zLW91dHB1dCB1bCBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NWVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzNXB4KTsgfVxuICAgIC5jbXMtb3V0cHV0IHVsIGxpOjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBjb250ZW50OiAn4oC6JzsgfVxuXG4uY21zLW91dHB1dCBvbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDsgfVxuICAuY21zLW91dHB1dCBvbCBsaSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NWVtOyB9XG5cbi5jbXMtb3V0cHV0IHAgPiBhIHtcbiAgY29sb3I6ICNkZjQxMjY7IH1cbiAgLmNtcy1vdXRwdXQgcCA+IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb250YWN0IGZvcm1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29udGFjdC1mb3JtIHtcbiAgcGFkZGluZy1ib3R0b206IDE3MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4OyB9IH1cblxuLmNvbnRhY3QtZm9ybV9fdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTEwcHg7XG4gIGxlZnQ6IC0xNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtX190aXRsZSB7XG4gICAgICBsZWZ0OiAtOHB4O1xuICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0M3B4OyB9IH1cblxuLmNvbnRhY3QtZm9ybV9fY29sdW1uLWNvbnRhY3Qge1xuICB3aWR0aDogNjIlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fY29sdW1uLWNvbnRhY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uY29udGFjdC1mb3JtX19jb250YWN0LWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMTcwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtX19jb250YWN0LWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5jb250YWN0LWZvcm1fX2NvbnRhY3QtYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDsgfSB9XG4gIC5jb250YWN0LWZvcm1fX2NvbnRhY3QtYmxvY2s6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jb250YWN0LWZvcm1fX2NvbnRhY3QtYmxvY2s6Zmlyc3Qtb2YtdHlwZSAuY29udGFjdC1mb3JtX19jb250YWN0LXN1YnRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uY29udGFjdC1mb3JtX19jb250YWN0LXRpdGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTVweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtX19jb250YWN0LXRpdGxlIHtcbiAgICAgIGxlZnQ6IC04cHg7IH0gfVxuXG4uY29udGFjdC1mb3JtX19jb250YWN0LXN1YnRpdGxlIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgcGFkZGluZy10b3A6IDIzNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fY29udGFjdC1zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTUycHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fY29udGFjdC1zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTEwcHg7IH0gfVxuXG4uY29udGFjdC1mb3JtX19jb250YWN0LWVkaXRvciB7XG4gIG1heC13aWR0aDogNTg1cHg7IH1cblxuLmNvbnRhY3QtZm9ybV9fY29udGFjdC1sb2dvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMjkwcHg7XG4gIG1hcmdpbi10b3A6IDU1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtX19jb250YWN0LWxvZ28ge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG5cbi5jb250YWN0LWZvcm1fX2NvbHVtbi1mb3JtIHtcbiAgd2lkdGg6IDM4JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5jb250YWN0LWZvcm1fX2NvbHVtbi1mb3JtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRG93bmxvYWRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuZG93bmxvYWRzIC53cmFwcGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7IH0gfVxuXG4uZG93bmxvYWRzX19pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMTY0cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuZG93bmxvYWRzX19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDExNXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5kb3dubG9hZHNfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOTBweDsgfSB9XG5cbi5kb3dubG9hZHNfX2l0ZW0tZGF0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTE0cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmRvd25sb2Fkc19faXRlbS1kYXRlIHtcbiAgICAgIGxlZnQ6IC03cHg7IH0gfVxuXG4uZG93bmxvYWRzX19jb2x1bW4taXRlbXMge1xuICB3aWR0aDogNjElO1xuICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZG93bmxvYWRzX19jb2x1bW4taXRlbXMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZG93bmxvYWRzX19pdGVtLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgcGFkZGluZy10b3A6IDIyNHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmRvd25sb2Fkc19faXRlbS10aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTc1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmRvd25sb2Fkc19faXRlbS10aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTE1cHg7IH0gfVxuXG4uZG93bmxvYWRzX19pdGVtLWltYWdlIHtcbiAgbWF4LXdpZHRoOiA1NzBweDtcbiAgbWFyZ2luOiAzNXB4IDA7IH1cblxuLmRvd25sb2Fkc19faXRlbS1lZGl0b3Ige1xuICBtYXgtd2lkdGg6IDU3MHB4OyB9XG5cbi5kb3dubG9hZHNfX2l0ZW0tbGluayB7XG4gIG1hcmdpbi10b3A6IDM1cHg7IH1cblxuLmRvd25sb2Fkc19fY29sdW1uLWxpbmtzIHtcbiAgd2lkdGg6IDM5JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmRvd25sb2Fkc19fY29sdW1uLWxpbmtzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDsgfSB9XG5cbi5kb3dubG9hZHNfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDsgfVxuXG4uZG93bmxvYWRzX19lZGl0b3IgYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NWVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTsgfVxuICAuZG93bmxvYWRzX19lZGl0b3IgYTpob3ZlciB7XG4gICAgY29sb3I6ICNlYzY5Mjc7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlciBjb2x1bW5zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvb3Rlci1jb2x1bW5zIHtcbiAgbGluZS1oZWlnaHQ6IDI5cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXItY29sdW1ucyB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyZW07IH0gfVxuICAuZm9vdGVyLWNvbHVtbnMgLndyYXBwZXIge1xuICAgIHBhZGRpbmctdG9wOiAxNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTc1cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuZm9vdGVyLWNvbHVtbnMgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7IH0gfVxuICAuZm9vdGVyLWNvbHVtbnMgKiB7XG4gICAgY29sb3I6ICNlYzY5Mjc7IH1cbiAgLmZvb3Rlci1jb2x1bW5zIGEge1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgIGNvbG9yOiAjZWM2OTI3OyB9XG4gICAgLmZvb3Rlci1jb2x1bW5zIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMxNzRmM2Y7IH1cblxuLmZvb3Rlci1jb2x1bW5zX19jb250YWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWNvbHVtbnNfX2NvbnRhY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cblxuLmZvb3Rlci1jb2x1bW5zX19jb250YWN0LWxvZ28ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTM1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXItY29sdW1uc19fY29udGFjdC1sb2dvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDsgfSB9XG5cbi5mb290ZXItY29sdW1uc19fY29udGFjdC1lZGl0b3Ige1xuICBtYXJnaW4tdG9wOiA3NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWNvbHVtbnNfX2NvbnRhY3QtZWRpdG9yIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuXG4uZm9vdGVyLWNvbHVtbnNfX3NpdGVtYXBzIHtcbiAgd2lkdGg6IDQ1JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jb2x1bW5zX19zaXRlbWFwcyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmZvb3Rlci1jb2x1bW5zX19zaXRlbWFwIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZm9vdGVyLWNvbHVtbnNfX3NvY2lhbC10aXRsZSxcbi5mb290ZXItY29sdW1uc19fc2l0ZW1hcC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXItY29sdW1uc19fc29jaWFsLXRpdGxlLFxuICAgIC5mb290ZXItY29sdW1uc19fc2l0ZW1hcC10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cblxuLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwge1xuICB3aWR0aDogMTUlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWNvbHVtbnNfX3NvY2lhbCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5mb290ZXItY29sdW1uc19fc29jaWFsLWxpbmtzIGEge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuZm9vdGVyLWNvbHVtbnNfX3NvY2lhbC1saW5rcyBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2VjNjkyNzsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyIENUQVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mb290ZXItY3RhIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMjsgfVxuICAuZm9vdGVyLWN0YSAud3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5iYWNrZ3JvdW5kLS1ib3JkZXIgKyAuZm9vdGVyLWN0YSB7XG4gIHBhZGRpbmctdG9wOiAxNzVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmJhY2tncm91bmQtLWJvcmRlciArIC5mb290ZXItY3RhIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3NXB4OyB9IH1cblxuLmZvb3Rlci1jdGEgKyBkaXYge1xuICBtYXJnaW4tdG9wOiAtOTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jdGEgKyBkaXYge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5mb290ZXItY3RhX19ib2R5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE2MHB4O1xuICByaWdodDogMDtcbiAgbWF4LXdpZHRoOiA1NzVweDtcbiAgbWF4LWhlaWdodDogMjUwcHg7XG4gIHBhZGRpbmc6IDYwcHggNTVweDtcbiAgYmFja2dyb3VuZDogI2VjNjkyNztcbiAgY29sb3I6ICNmZmYxZDY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXItY3RhX19ib2R5IHtcbiAgICAgIHRvcDogMTIwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmZvb3Rlci1jdGFfX2JvZHkge1xuICAgICAgdG9wOiA0MHB4O1xuICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICBib3R0b206IDQwcHg7XG4gICAgICBsZWZ0OiA0MHB4O1xuICAgICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICBwYWRkaW5nOiA2MHB4IDQwcHg7IH0gfVxuXG4uZm9vdGVyLWN0YV9fbGluayB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmZvb3Rlci1jdGFfX2ltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwdnc7XG4gIG1pbi1oZWlnaHQ6IDU3MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWN0YV9faW1hZ2Uge1xuICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICBoZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7IH0gfVxuICAuZm9vdGVyLWN0YV9faW1hZ2UgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvb3RlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mb290ZXIge1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctdG9wOiA3cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzRmM2Y7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXIge1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDVweDsgfSB9XG5cbi5mb290ZXJfX2xpbmtzIGEge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjFkNjtcbiAgY29sb3I6ICNmZmYxZDY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXJfX2xpbmtzIGEge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICBsaW5lLWhlaWdodDogMC44NTcxNGVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5mb290ZXJfX2xpbmtzIGE6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlYzY5Mjc7XG4gICAgICBjb2xvcjogI2VjNjkyNzsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvcm0ge1xuICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb3JtIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4OyB9IH1cblxuLmZvcm1fX3RpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMHB4O1xuICBsZWZ0OiAtMTRweDtcbiAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvcm1fX3RpdGxlIHtcbiAgICAgIGxlZnQ6IC04cHg7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuXG4uZm9ybV9fY29sdW1uLWZvcm0ge1xuICB3aWR0aDogNzIlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmZvcm1fX2NvbHVtbi1mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmZvcm1fX2NvbHVtbi1pbWFnZSB7XG4gIHdpZHRoOiAyOCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuZm9ybV9fY29sdW1uLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZm9ybV9faW1hZ2UgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgbWluLXdpZHRoOiA0MzVweDsgfVxuXG4uZm9ybV9fc2hvcnRjb2RlIC5xdWVzdGlvbi10eXBlLXJhZGlvIGxhYmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmhlYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjEwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAxMjVweDsgfSB9XG4gIC5oZWFkZXIgLndyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyMTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5oZWFkZXIgLndyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGhlaWdodDogMTI1cHg7IH0gfVxuXG4uaGVhZGVyICsgZGl2IHtcbiAgcGFkZGluZy10b3A6IDIxMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaGVhZGVyICsgZGl2IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMjVweDsgfSB9XG5cbi5oZWFkZXJfX2xvZ28ge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDc5cHgpO1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaGVhZGVyX19sb2dvIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0NHB4KTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCA3NTBtcyBlYXNlOyB9IH1cbiAgLmhlYWRlcl9fbG9nbyBpbWcge1xuICAgIHdpZHRoOiAyMTJweDtcbiAgICBoZWlnaHQ6IDE1MHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmhlYWRlcl9fbG9nbyBpbWcge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5ib2R5LmlzLWFjdGl2ZSAuaGVhZGVyX19sb2dvIHtcbiAgICB6LWluZGV4OiAxMDA7IH0gfVxuXG4uaGVhZGVyX19idXR0b25zIHtcbiAgd2lkdGg6IDQ0NXB4O1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaGVhZGVyX19idXR0b25zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uaGVhZGVyX19idXR0b24ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjMGI3NDUzO1xuICBjb2xvcjogIzBiNzQ1MzsgfVxuICAuaGVhZGVyX19idXR0b24gc3ZnIHtcbiAgICBjb2xvcjogIzBiNzQ1MztcbiAgICBmaWxsOiAjMGI3NDUzOyB9XG4gIC5oZWFkZXJfX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwYjc0NTM7IH1cbiAgLmhlYWRlcl9fYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgLmhlYWRlcl9fYnV0dG9uLmlzLXNlYXJjaCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4OyB9XG5cbi8qKlxuICogTW9iaWxlIG1lbnUgYnV0dG9uLlxuICovXG4uaGVhZGVyX19tZW51LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgei1pbmRleDogMTAwOyB9XG4gIC5oZWFkZXJfX21lbnUtYnV0dG9uIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNjkyNzsgfVxuICAgIC5oZWFkZXJfX21lbnUtYnV0dG9uIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgNDAwbXMsIHRvcCA0MDBtcyA0MDBtcywgdHJhbnNmb3JtIDQwMG1zIDBzOyB9XG4gICAgLmhlYWRlcl9fbWVudS1idXR0b24gc3BhbjpudGgtY2hpbGQoMikge1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zLCBvcGFjaXR5IDBtcyA0MDBtcztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzY5Mjc7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmhlYWRlcl9fbWVudS1idXR0b24gc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0MDBtcywgYm90dG9tIDQwMG1zIDQwMG1zLCB0cmFuc2Zvcm0gNDAwbXMgMHM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM2OTI3OyB9XG4gIC5oZWFkZXJfX21lbnUtYnV0dG9uLmlzLWFjdGl2ZSBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zLCB0b3AgNDAwbXMsIHRyYW5zZm9ybSA0MDBtcyA0MDBtczsgfVxuICAuaGVhZGVyX19tZW51LWJ1dHRvbi5pcy1hY3RpdmUgc3BhbjpudGgtY2hpbGQoMikge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhlYWRlcl9fbWVudS1idXR0b24uaXMtYWN0aXZlIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICBib3R0b206IGNhbGMoNTAlIC0gMXB4KTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0MDBtcywgYm90dG9tIDQwMG1zLCB0cmFuc2Zvcm0gNDAwbXMgNDAwbXM7IH1cblxuLyoqXG4gKiBIZWFkZXIgc2Vjb25kYXJ5IGNvbG9ycy5cbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuaGVhZGVyLS1zZWNvbmRhcnkge1xuICAgIHotaW5kZXg6IDE3MDAwOyB9IH1cblxuLmhlYWRlci0tc2Vjb25kYXJ5IC5oZWFkZXJfX2J1dHRvbiB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwYjc0NTM7XG4gIGNvbG9yOiAjMGI3NDUzOyB9XG4gIC5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19idXR0b24gc3ZnIHtcbiAgICBjb2xvcjogIzBiNzQ1MztcbiAgICBmaWxsOiAjMGI3NDUzOyB9XG4gIC5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19idXR0b246OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGI3NDUzOyB9XG4gIC5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjZjBlNGNiOyB9XG5cbi5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19tZW51LWJ1dHRvbiBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjNjkyNzsgfVxuICAuaGVhZGVyLS1zZWNvbmRhcnkgLmhlYWRlcl9fbWVudS1idXR0b24gc3BhbjpudGgtY2hpbGQoMiksIC5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19tZW51LWJ1dHRvbiBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNjkyNzsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5oZWFkZXJfX21lbnUtYnV0dG9uLmlzLWFjdGl2ZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI3NDUzOyB9XG4gICAgLmhlYWRlcl9fbWVudS1idXR0b24uaXMtYWN0aXZlIHNwYW46bnRoLWNoaWxkKDIpLCAuaGVhZGVyX19tZW51LWJ1dHRvbi5pcy1hY3RpdmUgc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBiNzQ1MzsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIb21lIEROQSBmb3JtLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogRGVmYXVsdCBzdHlsaW5nLlxuICovXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdudW1iZXInXSxcbmlucHV0W3R5cGU9J2VtYWlsJ10sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogN3B4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzc0MjEyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICM3NzQyMTI7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IDEyNXB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzc3NDIxMjsgfVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzc3NDIxMjtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi8qKlxuICogSG9tZUROQSBmb3JtLlxuICovXG4uaG9tZWRuYS1zdXJ2ZXkge1xuICBtYXgtd2lkdGg6IDU3NXB4OyB9XG5cbi5ob21lZG5hLXN1cnZleSBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAtMjNweDtcbiAgZm9udC1mYW1pbHk6IFwiUHJlZGlnZS1NZWRpdW1cIjsgfVxuXG4uaG9tZWRuYS1zdXJ2ZXkgLnF1ZXN0aW9uLXR5cGUtc3RhdGljLFxuLmhvbWVkbmEtc3VydmV5IC5xdWVzdGlvbi10eXBlLWhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhvbWVkbmEtc3VydmV5IC53cmFwLXF1ZXN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogIzc3NDIxMjsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgLndyYXAtcXVlc3Rpb24gYSB7XG4gICAgY29sb3I6ICNlYzY5Mjc7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuaG9tZWRuYS1zdXJ2ZXkgLndyYXAtcXVlc3Rpb24gYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmhvbWVkbmEtc3VydmV5IC5xdWVzdGlvbi10eXBlLXJhZGlvIGxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmhvbWVkbmEtc3VydmV5IGlucHV0W3R5cGU9cmFkaW9dLFxuLmhvbWVkbmEtc3VydmV5IGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICB0cmFuc2l0aW9uOiAwLjM1cztcbiAgYm9yZGVyOiAxcHggc29saWQgIzc3NDIxMjsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCxcbiAgLmhvbWVkbmEtc3VydmV5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3NzQyMTI7IH1cblxuLmhvbWVkbmEtc3VydmV5IC5idG4tc3R5bGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogNTBweCAzNXB4IDAgMDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgYm9yZGVyOiAycHggc29saWQgI2VjNjkyNztcbiAgY29sb3I6ICNlYzY5Mjc7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgLmJ0bi1zdHlsZSBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICByaWdodDogLTM3cHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgY29sb3I6ICNlYzY5Mjc7XG4gICAgZmlsbDogI2VjNjkyNzsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgLmJ0bi1zdHlsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6ICNlYzY5Mjc7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7IH1cbiAgLmhvbWVkbmEtc3VydmV5IC5idG4tc3R5bGU6aG92ZXI6OmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgLmJ0bi1zdHlsZTpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbiNmb3JtUGFnZU5hdiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuI2Zvcm1QYWdlTmF2ID4gLnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuI2Zvcm1QYWdlTmF2ID4gc3BhbltkYXRhLXBhZ2VdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDMwcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0NTBtcywgY29sb3IgNDUwbXM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1OTVhNGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjZm9ybVBhZ2VOYXYgPiBzcGFuW2RhdGEtcGFnZV06aG92ZXIsICNmb3JtUGFnZU5hdiA+IHNwYW5bZGF0YS1wYWdlXS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1OTVhNGU7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMb2NhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sb2NhdGlvbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5sb2NhdGlvbiAud3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmxvY2F0aW9uX19jb2x1bW4tdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZzogOTBweCAzNXB4IDAgMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmxvY2F0aW9uX19jb2x1bW4tdGV4dCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICBtYXJnaW46IDcwcHggNDBweCA4MHB4O1xuICAgICAgcGFkZGluZzogMzVweCAwIDA7IH0gfVxuICAubG9jYXRpb25fX2NvbHVtbi10ZXh0OjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAjY2JkNGQ3O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmxvY2F0aW9uX19jb2x1bW4tdGV4dDo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAycHg7IH0gfVxuXG4ubG9jYXRpb25fX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ubG9jYXRpb25fX2NvbHVtbi1tYXAge1xuICB3aWR0aDogNzAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubG9jYXRpb25fX2NvbHVtbi1tYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubG9jYXRpb25fX21hcCB7XG4gIHBvc2l0aW9uOiBpbml0aWFsO1xuICB3aWR0aDogNjYuNnZ3O1xuICBtaW4taGVpZ2h0OiA2MDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmxvY2F0aW9uX19tYXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5sb2NhdGlvbl9fbWFwIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87IH0gfVxuXG4ubG9jYXRpb25fX21hcC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNb2JpbGUgc2Nyb2xsXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm1vYmlsZS1zY3JvbGwge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNzc3OGVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDE3MHB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIGNvbG9yOiAjZDk5YjY4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5tb2JpbGUtc2Nyb2xsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubW9iaWxlLXNjcm9sbCBzdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgY29sb3I6ICNkOTliNjg7XG4gICAgZmlsbDogI2Q5OWI2ODsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmF2aWdhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDB2aDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gIGJhY2tncm91bmQ6ICMwYjc0NTM7XG4gIGNvbG9yOiAjZmZmMWQ2O1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICB0b3A6IDEwMHZoO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMTI1cHg7XG4gICAgICBwYWRkaW5nOiAxMnB4IDAgNDBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgICAgYmFja2dyb3VuZDogIzBiNzQ1MzsgfSB9XG4gIC5uYXZpZ2F0aW9uLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLm5hdmlnYXRpb246Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxuICogQ29udGFjdC5cbiAqL1xuLm5hdmlnYXRpb25fX2NvbHVtbi1jb250YWN0IHtcbiAgd2lkdGg6IDQwJTtcbiAgcGFkZGluZy10b3A6IDkwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uYXZpZ2F0aW9uX19jb2x1bW4tY29udGFjdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm5hdmlnYXRpb25fX2NvbnRhY3QtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG4gIC5uYXZpZ2F0aW9uX19jb250YWN0LWJsb2NrIGE6aG92ZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgLm5hdmlnYXRpb25fX2NvbnRhY3QtYmxvY2sgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZWM2OTI3OyB9IH1cblxuLm5hdmlnYXRpb25fX2NvbnRhY3QtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG5cbi5uYXZpZ2F0aW9uX19jb250YWN0LWVkaXRvciB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NWVtOyB9XG5cbi8qKlxuICogU29jaWFsLlxuICovXG4ubmF2aWdhdGlvbl9fc29jaWFsLmlzLWRlc2t0b3Age1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAubmF2aWdhdGlvbl9fc29jaWFsLmlzLWRlc2t0b3Age1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4ubmF2aWdhdGlvbl9fc29jaWFsLmlzLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uYXZpZ2F0aW9uX19zb2NpYWwuaXMtbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLm5hdmlnYXRpb25fX3NvY2lhbC10aXRsZSB7XG4gIG1hcmdpbjogNzBweCAwIDI2cHg7XG4gIGNvbG9yOiAjZmZmMWQ2O1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmF2aWdhdGlvbl9fc29jaWFsLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTtcbiAgICAgIG1hcmdpbjogMTM1cHggMCAyMXB4OyB9IH1cblxuLm5hdmlnYXRpb25fX3NvY2lhbC1saW5rcyBhIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODc1ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgY29sb3I6ICNmZmYxZDY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uYXZpZ2F0aW9uX19zb2NpYWwtbGlua3MgYSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLm5hdmlnYXRpb25fX3NvY2lhbC1saW5rcyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZWM2OTI3OyB9IH1cblxuLyoqXG4gKiBNYWluIG1lbnUuXG4gKi9cbi5uYXZpZ2F0aW9uX19jb2x1bW4tbWVudSB7XG4gIHdpZHRoOiA2MCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nOiA5MHB4IDAgMCA5NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmF2aWdhdGlvbl9fY29sdW1uLW1lbnUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5uYXZpZ2F0aW9uX19jb2x1bW4tbWVudTo6YmVmb3JlIHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDIwcHgpOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLm5hdmlnYXRpb25fX2NvbHVtbi1tZW51OjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm1haW4tbWVudSA+IGxpIGEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS41ODMzM2VtO1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgY29sb3I6ICMwYjc0NTM7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5tYWluLW1lbnUgPiBsaSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICBjb2xvcjogIzBiNzQ1MzsgfSB9XG5cbi5tYWluLW1lbnUgPiBsaS5jdXJyZW50LW1lbnUtaXRlbSBhLCAubWFpbi1tZW51ID4gbGk6aG92ZXIgYSB7XG4gIGNvbG9yOiAjZWM2OTI3OyB9XG5cbi8qKlxuICogQmFja2dyb3VuZCBoZWFkZXIuXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLmhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6ICNmMGU0Y2I7XG4gICAgY29udGVudDogJyc7IH0gfVxuXG4vKipcbiAqIERpc2FibGUgc2Nyb2xsLlxuICovXG4uYm9keS5pcy1hY3RpdmUge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5ib2R5LmlzLWFjdGl2ZSAuaGVhZGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmV3cyBsaXN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAubmV3cy1saXN0IC53cmFwcGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7IH0gfVxuXG4vKipcbiAqIEl0ZW1zLlxuICovXG4ubmV3cy1saXN0X19pdGVtcyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0NzlweCk7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uZXdzLWxpc3RfX2l0ZW1zIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyoqXG4gKiBJdGVtLlxuICovXG4ubmV3cy1saXN0X19pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMTY0cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAubmV3cy1saXN0X19pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDExNXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uZXdzLWxpc3RfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOTBweDsgfSB9XG5cbi5uZXdzLWxpc3RfX2l0ZW0tZGF0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTE0cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMXB4ICNlYzY5Mjc7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uZXdzLWxpc3RfX2l0ZW0tZGF0ZSB7XG4gICAgICBsZWZ0OiAtN3B4OyB9IH1cblxuLm5ld3MtbGlzdF9faXRlbS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI3cHg7XG4gIHBhZGRpbmctdG9wOiAyMjRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5uZXdzLWxpc3RfX2l0ZW0tdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDE3NXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uZXdzLWxpc3RfX2l0ZW0tdGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDExNXB4OyB9IH1cblxuLm5ld3MtbGlzdF9faXRlbS1pbWFnZSB7XG4gIG1heC13aWR0aDogNTcwcHg7XG4gIG1hcmdpbjogMzVweCAwOyB9XG5cbi5uZXdzLWxpc3RfX2l0ZW0tZWRpdG9yIHtcbiAgbWF4LXdpZHRoOiA1NzBweDsgfVxuXG4ubmV3cy1saXN0X19pdGVtLWxpbmsge1xuICBtYXJnaW4tdG9wOiAzNXB4OyB9XG5cbi8qKlxuICogUGFnaW5hdGlvbi5cbiAqL1xuLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiB7XG4gIHdpZHRoOiA0NzlweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7IH0gfVxuICAubmV3cy1saXN0X19wYWdpbmF0aW9uIC5wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4OyB9XG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7IH1cbiAgICAubmV3cy1saXN0X19wYWdpbmF0aW9uIC5wYWdpbmF0aW9uIC5wcmV2LFxuICAgIC5uZXdzLWxpc3RfX3BhZ2luYXRpb24gLnBhZ2luYXRpb24gLm5leHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5uZXdzLWxpc3RfX3BhZ2luYXRpb24gLnBhZ2luYXRpb24gLmN1cnJlbnQsXG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTk1YTRlOyB9XG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiAucGFnaW5hdGlvbiBhLnBhZ2UtbnVtYmVyczpob3ZlciB7XG4gICAgICBjb2xvcjogI2VjNjkyNzsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5uZXdzLWxpc3RfX3N0aWNreS5pcy1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDgwcHg7IH0gfVxuXG4ubmV3cy1saXN0X19wYWdpbmF0aW9uLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDsgfVxuXG4ubmV3cy1saXN0X19wYWdpbmF0aW9uLWxpbmsge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlOyB9XG4gIC5uZXdzLWxpc3RfX3BhZ2luYXRpb24tbGluazpob3ZlciB7XG4gICAgY29sb3I6ICNlYzY5Mjc7IH1cblxuLm5ld3MtbGlzdF9fcGFnaW5hdGlvbi1kYXRlIHtcbiAgd2lkdGg6IDE0NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAubmV3cy1saXN0X19wYWdpbmF0aW9uLWRhdGUge1xuICAgICAgd2lkdGg6IDgwcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFydG5lcnMgaW1hZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFydG5lcnMtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBhcnRuZXJzLWltYWdlIC53cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE3NXB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5wYXJ0bmVycy1pbWFnZSAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA5MXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnBhcnRuZXJzLWltYWdlIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDc1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4OyB9IH1cblxuLnBhcnRuZXJzLWltYWdlICsgZGl2OjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGI3NDUzOyB9XG5cbi5wYXJ0bmVycy1pbWFnZV9fdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTkycHg7XG4gIGxlZnQ6IC0xNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnBhcnRuZXJzLWltYWdlX190aXRsZSB7XG4gICAgICB0b3A6IC02MXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fdGl0bGUge1xuICAgICAgdG9wOiAtMzFweDtcbiAgICAgIGxlZnQ6IC04cHg7IH0gfVxuXG4ucGFydG5lcnMtaW1hZ2VfX2NvbHVtbi1wYXJ0bmVycyB7XG4gIHdpZHRoOiA3MiU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX2NvbHVtbi1wYXJ0bmVycyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lciB7XG4gIG1hcmdpbi1ib3R0b206IDIyMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fcGFydG5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9IH1cbiAgLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXI6Zmlyc3Qtb2YtdHlwZSAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItc3VidGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci10aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci10aXRsZSB7XG4gICAgICBsZWZ0OiAtOHB4OyB9IH1cblxuLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyLXN1YnRpdGxlIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgcGFkZGluZy10b3A6IDIzNXB4O1xuICBjb2xvcjogI2VjNjkyNzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTUycHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyLXN1YnRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMTBweDsgfSB9XG5cbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1lZGl0b3Ige1xuICBtYXgtd2lkdGg6IDU4NXB4OyB9XG5cbi5wYXJ0bmVycy1pbWFnZV9fY29sdW1uLWltYWdlIHtcbiAgd2lkdGg6IDI4JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fY29sdW1uLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucGFydG5lcnMtaW1hZ2VfX2ltYWdlIGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIG1pbi13aWR0aDogNDM1cHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb3BlcnR5IG1hcFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLnByb3BlcnR5LW1hcCB7XG4gICAgbWluLWhlaWdodDogMTI1cHg7IH0gfVxuXG4ucHJvcGVydHktbWFwLmJhY2tncm91bmQtLXByaW1hcnkgLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHM6OmJlZm9yZSwgLnByb3BlcnR5LW1hcC5iYWNrZ3JvdW5kLS1wcmltYXJ5LXBhdHRlcm4gLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHM6OmJlZm9yZSwgLnByb3BlcnR5LW1hcC5iYWNrZ3JvdW5kLS1zZWNvbmRhcnkgLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHM6OmJlZm9yZSwgLnByb3BlcnR5LW1hcC5iYWNrZ3JvdW5kLS1zZWNvbmRhcnktcGF0dGVybiAucHJvcGVydHktbWFwX19jb2x1bW4tZGV0YWlsczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2NiZDRkNzsgfVxuXG4ucHJvcGVydHktbWFwLmJhY2tncm91bmQtLWRlZmF1bHQgLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM1OTVhNGU7IH1cblxuLnByb3BlcnR5LW1hcCAucHJvcGVydHktbWFwX19jb2x1bW4tZGV0YWlsczo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBiNzQ1MzsgfVxuXG4ucHJvcGVydHktbWFwLmJhY2tncm91bmQtLWJvcmRlciArIC5wcm9wZXJ0eS1tYXAge1xuICBwYWRkaW5nLXRvcDogMjE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wcm9wZXJ0eS1tYXAuYmFja2dyb3VuZC0tYm9yZGVyICsgLnByb3BlcnR5LW1hcCB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDsgfSB9XG5cbi5wcm9wZXJ0eS1tYXAgKyAuZm9vdGVyLWN0YSB7XG4gIHBhZGRpbmctdG9wOiAxODBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LW1hcCArIC5mb290ZXItY3RhIHtcbiAgICAgIHBhZGRpbmctdG9wOiA5MHB4OyB9IH1cblxuLnByb3BlcnR5LW1hcCAud3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucHJvcGVydHktbWFwX19jb2x1bW4tZGV0YWlscyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZy10b3A6IDk1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucHJvcGVydHktbWFwX19jb2x1bW4tZGV0YWlsczo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDMzcHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgY29udGVudDogJyc7IH1cblxuLnByb3BlcnR5LW1hcF9fY29sdW1uLW1hcCB7XG4gIHdpZHRoOiA3MCU7XG4gIHotaW5kZXg6IDk5OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvcGVydHktbWFwX19jb2x1bW4tbWFwIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnByb3BlcnR5LW1hcF9fcGxhY2Vob2xkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogOTVweDtcbiAgbWF4LXdpZHRoOiAyMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7XG4gIG9wYWNpdHk6IDE7IH1cbiAgLnByb3BlcnR5LW1hcF9fcGxhY2Vob2xkZXIuaXMtaGlkZGVuIHtcbiAgICB0b3A6IC0xODBweDtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5wcm9wZXJ0eS1tYXBfX3Byb3BlcnRpZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wcm9wZXJ0eS1tYXBfX3Byb3BlcnR5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTlweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzAwcHg7XG4gIHRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlO1xuICBvcGFjaXR5OiAwOyB9XG4gIC5wcm9wZXJ0eS1tYXBfX3Byb3BlcnR5LmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLnByb3BlcnR5LW1hcF9fcHJvcGVydHktdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi5wcm9wZXJ0eS1tYXBfX3Njcm9sbGRvd24tYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTM1cHg7XG4gIGxlZnQ6IDg3cHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wcm9wZXJ0eS1tYXBfX3Njcm9sbGRvd24tYXJyb3cge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnByb3BlcnR5LW1hcF9fc2Nyb2xsZG93bi1hcnJvdyB7XG4gICAgICBsZWZ0OiA1N3B4OyB9IH1cbiAgLnByb3BlcnR5LW1hcF9fc2Nyb2xsZG93bi1hcnJvdyBzdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb246IGp1bXAgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cbiAgICAucHJvcGVydHktbWFwX19zY3JvbGxkb3duLWFycm93IHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6ICNlYzY5Mjc7IH1cblxuQGtleWZyYW1lcyBqdW1wIHtcbiAgMCUge1xuICAgIGJvdHRvbTogMDsgfVxuICA1MCUge1xuICAgIGJvdHRvbTogMTVweDsgfVxuICAxMDAlIHtcbiAgICBib3R0b206IDA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvcGVydHkgc2luZ2xlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb3BlcnR5LXNpbmdsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucHJvcGVydHktc2luZ2xlIC53cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAxNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnByb3BlcnR5LXNpbmdsZSAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA5MXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnByb3BlcnR5LXNpbmdsZSAud3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDc1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4OyB9IH1cblxuLnByb3BlcnR5LXNpbmdsZV9fdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTkycHg7XG4gIGxlZnQ6IC0xNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnByb3BlcnR5LXNpbmdsZV9fdGl0bGUge1xuICAgICAgdG9wOiAtNjFweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvcGVydHktc2luZ2xlX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgICBmb250LXNpemU6IDZyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICB0b3A6IC00MnB4O1xuICAgICAgbGVmdDogLThweDsgfSB9XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX2NvbHVtbi1kZXRhaWxzIHtcbiAgd2lkdGg6IDI5MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvcGVydHktc2luZ2xlX19jb2x1bW4tZGV0YWlscyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX3N1YnRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgY29sb3I6ICMwYjc0NTM7IH1cblxuLnByb3BlcnR5LXNpbmdsZV9faW5mb3JtYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICBjb2xvcjogIzBiNzQ1MzsgfVxuXG4ucHJvcGVydHktc2luZ2xlX19jb2x1bW4tbWFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjkwcHgpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvcGVydHktc2luZ2xlX19jb2x1bW4tbWFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDsgfSB9XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX3NsaWRlc2hvdy1pbWFnZXMge1xuICBib3JkZXI6IDJweCBzb2xpZCAjNTk1YTRlOyB9XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX25hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwOyB9XG4gIC5wcm9wZXJ0eS1zaW5nbGVfX25hdmlnYXRpb24gYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMThweDtcbiAgICBjb2xvcjogIzBiNzQ1MzsgfVxuICAgIC5wcm9wZXJ0eS1zaW5nbGVfX25hdmlnYXRpb24gYnV0dG9uLmFjdGl2ZSwgLnByb3BlcnR5LXNpbmdsZV9fbmF2aWdhdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwYjc0NTM7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb3BlcnR5IHR5cGUgaXRlbVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9wZXJ0eS10eXBlLWl0ZW0ge1xuICB3aWR0aDogY2FsYyg1MCUgLSA0Ny41cHgpO1xuICBtYXJnaW4tYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LXR5cGUtaXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH0gfVxuICAucHJvcGVydHktdHlwZS1pdGVtIC5idXR0b24tLWFycm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBub3JtYWw7IH1cbiAgLnByb3BlcnR5LXR5cGUtaXRlbSAuYnV0dG9uLS1hcnJvdyBzdmcge1xuICAgIHRvcDogNXB4O1xuICAgIGhlaWdodDogMTZweDsgfVxuXG4ucHJvcGVydHktdHlwZS1pdGVtX19oZWFkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX2F2YWlsYWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMHB4O1xuICBsZWZ0OiAzMHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjNjkyNztcbiAgY29sb3I6ICNmZmYxZDY7IH1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9faW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gIC5wcm9wZXJ0eS10eXBlLWl0ZW1fX2ltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX3RvdGFsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ucHJvcGVydHktdHlwZS1pdGVtX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9fdGVhc2VyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4vKipcbiAqIENvbG9ycy5cbiAqL1xuLnByb3BlcnR5LXR5cGUtbGlzdC5iYWNrZ3JvdW5kLS1ncmVlbiAucHJvcGVydHktdHlwZS1pdGVtX190b3RhbCB7XG4gIGNvbG9yOiAjZmZmMWQ2O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YwZTRjYjsgfVxuXG4ucHJvcGVydHktdHlwZS1saXN0LmJhY2tncm91bmQtLWRlZmF1bHQgLnByb3BlcnR5LXR5cGUtaXRlbV9fdG90YWwge1xuICBjb2xvcjogI2VjNjkyNztcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlYzY5Mjc7IH1cblxuLnByb3BlcnR5LXR5cGUtbGlzdC5iYWNrZ3JvdW5kLS1iZWlnZSAucHJvcGVydHktdHlwZS1pdGVtX190b3RhbCB7XG4gIGNvbG9yOiAjZWM2OTI3O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2VjNjkyNzsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvcGVydHkgdHlwZSBsaXN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb3BlcnR5LXR5cGUtbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucHJvcGVydHktdHlwZS1saXN0IC53cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEzMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5wcm9wZXJ0eS10eXBlLWxpc3QgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTQwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnByb3BlcnR5LXR5cGUtbGlzdCAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG5cbi5wcm9wZXJ0eS10eXBlLWxpc3RfX3RpdGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05MnB4O1xuICBsZWZ0OiAtMTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wcm9wZXJ0eS10eXBlLWxpc3RfX3RpdGxlIHtcbiAgICAgIHRvcDogLTYxcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LXR5cGUtbGlzdF9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgZm9udC1zaXplOiA1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDRlbTtcbiAgICAgIHRvcDogLTQycHg7XG4gICAgICBsZWZ0OiAtOHB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNsaWRlc2hvd1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zbGlkZXNob3cge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuc2xpZGVzaG93IC53cmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uc2xpZGVzaG93X19jb2x1bW4tdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZzogOTBweCAzNXB4IDAgMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgbWFyZ2luOiA3MHB4IDQwcHggODBweDtcbiAgICAgIHBhZGRpbmc6IDM1cHggMCAwOyB9IH1cbiAgLnNsaWRlc2hvd19fY29sdW1uLXRleHQ6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAzM3B4O1xuICAgIGhlaWdodDogM3B4O1xuICAgIGJhY2tncm91bmQ6ICMxNzRmM2Y7XG4gICAgY29udGVudDogJyc7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc2xpZGVzaG93X19jb2x1bW4tdGV4dDo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAycHg7IH0gfVxuXG4uc2xpZGVzaG93X190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLnNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gIHdpZHRoOiA3MCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2xpZGVzaG93X19pbWFnZXMge1xuICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgd2lkdGg6IDY2LjZ2dzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnNsaWRlc2hvd19faW1hZ2VzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnNsaWRlc2hvd19faW1hZ2VzIC5vd2wtbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMTBweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYxZDY7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYgLm93bC1wcmV2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYgLm93bC1uZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYgc3ZnIHtcbiAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgZmlsbDogI2VjNjkyNzsgfVxuICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjhweDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnNsaWRlc2hvd19faW1hZ2VzIC5vd2wtZG90cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICBib3R0b206IC0zNXB4O1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5zbGlkZXNob3dfX2ltYWdlcyAub3dsLWRvdHMgLm93bC1kb3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1kb3RzIC5vd2wtZG90IHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDE0cHg7IH0gfVxuICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3Qge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMxNzRmM2Y7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3Qge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjMTc0ZjNmOyB9IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3QuYWN0aXZlLCAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3Q6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NGYzZjsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3QuYWN0aXZlLCAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3Q6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzRmM2Y7IH0gfVxuICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1ncmVlbiAub3dsLWRvdCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzE3NGYzZjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLWdyZWVuIC5vd2wtZG90IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzE3NGYzZjsgfSB9XG4gICAgLnNsaWRlc2hvd19faW1hZ2VzLnBhZ2luYXRpb24tZ3JlZW4gLm93bC1kb3QuYWN0aXZlLCAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1ncmVlbiAub3dsLWRvdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc0ZjNmOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLWdyZWVuIC5vd2wtZG90LmFjdGl2ZSwgLnNsaWRlc2hvd19faW1hZ2VzLnBhZ2luYXRpb24tZ3JlZW4gLm93bC1kb3Q6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzRmM2Y7IH0gfVxuXG4uc2xpZGVzaG93X19zbGlkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDY2LjZ2dztcbiAgbWluLWhlaWdodDogNjAwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5zbGlkZXNob3dfX3NsaWRlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogYXV0bzsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuc2xpZGVzaG93X19zbGlkZSB7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgaW1hZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC1pbWFnZSAud3JhcHBlciB7XG4gIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDE3NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnRleHQtaW1hZ2UgLndyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDExMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDkwcHg7IH0gfVxuXG4udGV4dC1pbWFnZS5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWJvcmRlciB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICM1OTVhNGU7XG4gIGNvbG9yOiAjNTk1YTRlOyB9XG4gIC50ZXh0LWltYWdlLmJhY2tncm91bmQtLWRlZmF1bHQgLmJ1dHRvbi0tYm9yZGVyIHN2ZyB7XG4gICAgY29sb3I6ICM1OTVhNGU7XG4gICAgZmlsbDogIzU5NWE0ZTsgfVxuICAudGV4dC1pbWFnZS5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWJvcmRlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM1OTVhNGU7IH1cbiAgLnRleHQtaW1hZ2UuYmFja2dyb3VuZC0tZGVmYXVsdCAuYnV0dG9uLS1ib3JkZXI6aG92ZXIge1xuICAgIGNvbG9yOiAjY2JkNGQ3OyB9XG5cbi50ZXh0LWltYWdlLmJhY2tncm91bmQtLWRlZmF1bHQgLmJ1dHRvbi0tYXJyb3cge1xuICBjb2xvcjogIzU5NWE0ZTsgfVxuICAudGV4dC1pbWFnZS5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWFycm93IHN2ZyB7XG4gICAgY29sb3I6ICM1OTVhNGU7XG4gICAgZmlsbDogIzU5NWE0ZTsgfVxuXG4udGV4dC1pbWFnZV9fY29sdW1uLXRleHQge1xuICB3aWR0aDogNTQlO1xuICBwYWRkaW5nLXJpZ2h0OiAxMDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnRleHQtaW1hZ2VfX2NvbHVtbi10ZXh0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtaW1hZ2VfX2NvbHVtbi10ZXh0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4udGV4dC1pbWFnZV9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi50ZXh0LWltYWdlX19lZGl0b3Ige1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG5cbi50ZXh0LWltYWdlX19jb2x1bW4taW1hZ2Uge1xuICB3aWR0aDogNDYlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGV4dC1pbWFnZV9fY29sdW1uLWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnRleHQtaW1hZ2VfX2NvbHVtbi1pbWFnZSAjcGxheSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2U7IH1cbiAgICAudGV4dC1pbWFnZV9fY29sdW1uLWltYWdlICNwbGF5IHNwYW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDUwcHgpOyB9XG4gICAgICAudGV4dC1pbWFnZV9fY29sdW1uLWltYWdlICNwbGF5IHNwYW4gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDM5cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgY29sb3I6ICNlYzY5Mjc7IH1cbiAgICAgIC50ZXh0LWltYWdlX19jb2x1bW4taW1hZ2UgI3BsYXkgc3BhbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwcHg7IH1cbiAgICAudGV4dC1pbWFnZV9fY29sdW1uLWltYWdlICNwbGF5OmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuODsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBzbGlkZXNob3dcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC1zbGlkZXNob3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnRleHQtc2xpZGVzaG93IC53cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE4MHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC50ZXh0LXNsaWRlc2hvdyAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93IC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDU1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4OyB9IH1cbiAgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1uYXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1OTVhNGU7IH1cbiAgICAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tZGVmYXVsdCAub3dsLW5hdiBzdmcge1xuICAgICAgY29sb3I6ICNjYmQ0ZDc7XG4gICAgICBmaWxsOiAjY2JkNGQ3OyB9XG4gIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5vd2wtZG90IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNTk1YTRlOyB9XG4gICAgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1kb3QuYWN0aXZlLCAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tZGVmYXVsdCAub3dsLWRvdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTk1YTRlOyB9XG4gIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5vd2wtbmF2LCAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tZ3JlZW4gLm93bC1uYXYsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1iZWlnZSAub3dsLW5hdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNjkyNzsgfVxuICAgIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5vd2wtbmF2IHN2ZywgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWdyZWVuIC5vd2wtbmF2IHN2ZywgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJlaWdlIC5vd2wtbmF2IHN2ZyB7XG4gICAgICBjb2xvcjogIzE3NGYzZjtcbiAgICAgIGZpbGw6ICMxNzRmM2Y7IH1cbiAgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1kb3QsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1ncmVlbiAub3dsLWRvdCwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJlaWdlIC5vd2wtZG90IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMTc0ZjNmOyB9XG4gICAgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1kb3QuYWN0aXZlLCAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tZGVmYXVsdCAub3dsLWRvdDpob3ZlciwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWdyZWVuIC5vd2wtZG90LmFjdGl2ZSwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWdyZWVuIC5vd2wtZG90OmhvdmVyLCAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tYmVpZ2UgLm93bC1kb3QuYWN0aXZlLCAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tYmVpZ2UgLm93bC1kb3Q6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NGYzZjsgfVxuXG4udGV4dC1zbGlkZXNob3dfX3dyYXAge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi50ZXh0LXNsaWRlc2hvd19fdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTkycHg7XG4gIGxlZnQ6IC0xNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X190aXRsZSB7XG4gICAgICB0b3A6IC02MXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fdGl0bGUge1xuICAgICAgdG9wOiAtMzJweDtcbiAgICAgIGxlZnQ6IC04cHg7IH0gfVxuXG4udGV4dC1zbGlkZXNob3dfX3RpdGxlICsgZGl2IHtcbiAgcGFkZGluZy10b3A6IDQwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fdGl0bGUgKyBkaXYge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH0gfVxuXG4udGV4dC1zbGlkZXNob3dfX2Jsb2NrLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuXG4vKipcbiAqIFNsaWRlc2hvdy5cbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAudGV4dC1pbWFnZV9fc2xpZGVzaG93IC5vd2wtc3RhZ2Utb3V0ZXIge1xuICAgIHdpZHRoOiAxNzkwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgd2lkdGg6IDEyMDVweDsgfSB9XG5cbi50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MjVweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1uYXYgLm93bC1wcmV2IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1uYXYgLm93bC1uZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnRleHQtaW1hZ2VfX3NsaWRlc2hvdyAub3dsLW5hdiBzdmcge1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBmaWxsOiAjZWM2OTI3OyB9XG5cbi50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1kb3RzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIG1hcmdpbi1sZWZ0OiAtMjhweDtcbiAgei1pbmRleDogMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtaW1hZ2VfX3NsaWRlc2hvdyAub3dsLWRvdHMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtMzVweDtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1kb3RzIC5vd2wtZG90IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnRleHQtaW1hZ2VfX3NsaWRlc2hvdyAub3dsLWRvdHMgLm93bC1kb3Qge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDE0cHg7IH0gfVxuXG4vKipcbiAqIFNsaWRlcy5cbiAqL1xuLnRleHQtaW1hZ2VfX3NsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNTc1cHg7XG4gIGhlaWdodDogNTYwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC50ZXh0LWltYWdlX19zbGlkZSB7XG4gICAgICB3aWR0aDogMzc1cHg7XG4gICAgICBoZWlnaHQ6IDM2MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlX19zbGlkZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNDUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnRleHQtaW1hZ2VfX3NsaWRlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzMjBweDsgfSB9XG5cbi8qKlxuICogU2xpZGVzaG93IHBvc2l0aW9uLlxuICovXG4udGV4dC1zbGlkZXNob3dfX2Jsb2NrIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jayB7XG4gICAgICBhbGlnbi1pdGVtczogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDkwcHg7IH0gfVxuICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tcmlnaHQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4tdGV4dCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU3NXB4KTtcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgIHBhZGRpbmc6IDAgNTBweCAwIDEwMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzc1cHgpO1xuICAgICAgICBwYWRkaW5nOiAwIDUwcHggMCAwOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tcmlnaHQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4tdGV4dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4OyB9IH1cbiAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gICAgd2lkdGg6IDU3NXB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gICAgICAgIHdpZHRoOiAzNzVweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NzVweCk7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICBwYWRkaW5nOiAwIDEwMHB4IDAgNTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzc1cHgpO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1MHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tbGVmdCAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAwIDQwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICB3aWR0aDogNTc1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIHtcbiAgICAgIHdpZHRoOiAzNzVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tbGVmdCAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIC5vd2wtY2Fyb3VzZWwge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLm93bC1uYXYge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IC5vd2wtZG90cyB7XG4gICAgICByaWdodDogLTI4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5ib3NzLXBvcHVwIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgei1pbmRleDogOTk5OTtcbiAgd2lkdGg6IDU0OXB4O1xuICBoZWlnaHQ6IDM3MHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYW5uYXBvcHVwLnN2Z1wiKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuYm9zcy1wb3B1cCB7XG4gICAgICB3aWR0aDogMzIwcHg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLmJvc3MtcG9wdXAuaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cbiAgLmJvc3MtcG9wdXAgLmJvc3MtcG9wdXBfX3dyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNTQ5cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDM3MHB4O1xuICAgIHBhZGRpbmc6IDcwcHggNDBweCA0MHB4IDQwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5ib3NzLXBvcHVwIC5ib3NzLXBvcHVwX193cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50OyB9IH1cbiAgLmJvc3MtcG9wdXAgLnBvcHVwX19jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDBweDtcbiAgICByaWdodDogMjRweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5ib3NzLXBvcHVwIC5wb3B1cF9fY2xvc2Uge1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4OyB9IH1cbiAgICAuYm9zcy1wb3B1cCAucG9wdXBfX2Nsb3NlIHN2ZyB7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzQwcHgpIHtcbiAgICAgICAgLmJvc3MtcG9wdXAgLnBvcHVwX19jbG9zZSBzdmcge1xuICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgIGhlaWdodDogMzJweDsgfSB9XG4gICAgICAuYm9zcy1wb3B1cCAucG9wdXBfX2Nsb3NlIHN2ZyBwYXRoIHtcbiAgICAgICAgc3Ryb2tlOiAjMTc0ZjNmOyB9XG4gIC5ib3NzLXBvcHVwIC5wb3B1cF9fdGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICNlYzY5Mjc7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBmb250LXNpemU6IDQuOHJlbSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNWVtO1xuICAgIHdoaXRlLXNwYWNlOiB1bnNldDtcbiAgICBvdmVyZmxvdzogdW5zZXQ7XG4gICAgZm9udC1zaXplOiAxMjBweDtcbiAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiB1bnNldDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5ib3NzLXBvcHVwIC5wb3B1cF9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEyMCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmJvc3MtcG9wdXAgLnBvcHVwX19lZGl0b3Ige1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5ib3NzLXBvcHVwIC5wb3B1cF9fZWRpdG9yICoge1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM0MHB4KSB7XG4gICAgICAuYm9zcy1wb3B1cCAucG9wdXBfX2VkaXRvciAqIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgLmJvc3MtcG9wdXAgLnBvcHVwX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuICAgIGNvbG9yOiAjMTc0ZjNmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzQwcHgpIHtcbiAgICAgIC5ib3NzLXBvcHVwIC5wb3B1cF9fbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gICAgLmJvc3MtcG9wdXAgLnBvcHVwX19saW5rOmhvdmVyIHtcbiAgICAgIGdhcDogMTZweDsgfVxuICAgIC5ib3NzLXBvcHVwIC5wb3B1cF9fbGluayBzdmcge1xuICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgICAgIGNvbG9yOiAjMTc0ZjNmO1xuICAgICAgZmlsbDogIzE3NGYzZjsgfVxuXG4uYm9zcy1wb3B1cF9fYmcge1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gIHotaW5kZXg6IDk5O1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgLmJvc3MtcG9wdXBfX2JnLmlzLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb2xvclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29sb3IgdXRpbGl0eSBjbGFzc2VzLlxuICovXG4vKipcbiAgICAgICAqIGBjb2xvcmAgYmxhY2stMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1ibGFjay0xMDAge1xuICBjb2xvcjogYmxhY2s7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgYmxhY2stMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJsYWNrLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCB3aGl0ZS0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLXdoaXRlLTEwMCB7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCB3aGl0ZS0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3Itd2hpdGUtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICNjYmQ0ZDctMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1ibHVlLWxpZ2h0LTEwMCB7XG4gIGNvbG9yOiAjY2JkNGQ3OyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNjYmQ0ZDctMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJsdWUtbGlnaHQtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NiZDRkNzsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgI2FmYjdiYS01MCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItYmx1ZS1saWdodC01MCB7XG4gIGNvbG9yOiAjYWZiN2JhOyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNhZmI3YmEtNTAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYmx1ZS1saWdodC01MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZmI3YmE7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICMyMTQzOTEtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1ibHVlLWRhcmstMTAwIHtcbiAgY29sb3I6ICMyMTQzOTE7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzIxNDM5MS0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYmx1ZS1kYXJrLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTQzOTE7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICNkOTliNjgtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1vcmFuZ2UtMTAwIHtcbiAgY29sb3I6ICNkOTliNjg7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2Q5OWI2OC0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3Itb3JhbmdlLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTliNjg7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICNkZjQxMjYtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1yZWQtMTAwIHtcbiAgY29sb3I6ICNkZjQxMjY7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2RmNDEyNi0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItcmVkLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZjQxMjY7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICM1OTVhNGUtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1ncmVlbi0xMDAge1xuICBjb2xvcjogIzU5NWE0ZTsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjNTk1YTRlLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ncmVlbi0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTk1YTRlOyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjOTU5Yjk3LTUwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1ncmVlbi01MCB7XG4gIGNvbG9yOiAjOTU5Yjk3OyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICM5NTliOTctNTAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JlZW4tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTU5Yjk3OyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjNTY1NzRjLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItZ3JlZW4tYmFja2dyb3VuZC0xMDAge1xuICBjb2xvcjogIzU2NTc0YzsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjNTY1NzRjLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ncmVlbi1iYWNrZ3JvdW5kLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NjU3NGM7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICMyNTE3MTMtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1icm93bi0xMDAge1xuICBjb2xvcjogIzI1MTcxMzsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjMjUxNzEzLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1icm93bi0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUxNzEzOyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjMmIxYzE3LTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItYnJvd24tYmFja2dyb3VuZC0xMDAge1xuICBjb2xvcjogIzJiMWMxNzsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjMmIxYzE3LTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1icm93bi1iYWNrZ3JvdW5kLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYjFjMTc7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICNhZGNiMDAtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1ib3NzLWdyZWVuLTEwMCB7XG4gIGNvbG9yOiAjYWRjYjAwOyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNhZGNiMDAtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJvc3MtZ3JlZW4tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FkY2IwMDsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgIzIxMjcyMS0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWJvc3MtZ3JleS0xMDAge1xuICBjb2xvcjogIzIxMjcyMTsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjMjEyNzIxLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ib3NzLWdyZXktMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjcyMTsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgIzc3NDIxMi0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWJvc3MtYnJvd24tMTAwIHtcbiAgY29sb3I6ICM3NzQyMTI7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzc3NDIxMi0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYm9zcy1icm93bi0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc0MjEyOyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjZjBlNGNiLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItYm9zcy1iZWlnZS0xMDAge1xuICBjb2xvcjogI2YwZTRjYjsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjZjBlNGNiLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ib3NzLWJlaWdlLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGU0Y2I7IH1cblxuLyoqXG4gICAgICAgKiBgY29sb3JgICMwYjc0NTMtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5jb2xvci1hbm5hLWdyZWVuLTEwMCB7XG4gIGNvbG9yOiAjMGI3NDUzOyB9XG5cbi8qKlxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICMwYjc0NTMtMTAwIGNvbG9yIHV0aWxpdHkuXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWFubmEtZ3JlZW4tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBiNzQ1MzsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgIzE3NGYzZi0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWFubmEtZGFyay1ncmVlbi0xMDAge1xuICBjb2xvcjogIzE3NGYzZjsgfVxuXG4vKipcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjMTc0ZjNmLTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1hbm5hLWRhcmstZ3JlZW4tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NGYzZjsgfVxuXG4vKipcbiAgICAgICAqIGBjb2xvcmAgI2ZmZjFkNi0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmNvbG9yLWFubmEtYmVpZ2UtMTAwIHtcbiAgY29sb3I6ICNmZmYxZDY7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2ZmZjFkNi0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYW5uYS1iZWlnZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmMWQ2OyB9XG5cbi8qKlxuICAgICAgICogYGNvbG9yYCAjZWM2OTI3LTEwMCBjb2xvciB1dGlsaXR5LlxuICAgICAgICovXG4uY29sb3ItYW5uYS1vcmFuZ2UtMTAwIHtcbiAgY29sb3I6ICNlYzY5Mjc7IH1cblxuLyoqXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2VjNjkyNy0xMDAgY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYW5uYS1vcmFuZ2UtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjNjkyNzsgfVxuXG4vKipcbiAqIEdlbmVyaWMgaGVscGVyIGNsYXNzZXMuXG4gKi9cbi8qKlxuICogVmlzdWFsbHkgaGlkZSBhbnkgZWxlbWVudCBmcm9tIHRoZSB1c2VyLlxuICovXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgY2xpcC1wYXRoOiBpbnNldCgxcHgpOyB9XG5cbi8qKlxuICogTWFrZSBsYXp5bG9hZCBwbGFjZWhvbGRlciAxMDAlIHdpZGUuXG4gKi9cbi5sYXp5bG9hZCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qKlxuICogSGVscGVyIGNsYXNzIGZvciBvYmplY3QgZml0IHBvbHlmaWxsLiBBZGQgdGhpcyBjbGFzcyB0byBhbnkgZWxlbWVudFxuICogdGhhdCB1dGlsaXplcyB0aGUgYG9iamVjdC1maXRgIHByb3BlcnR5LlxuICovXG4ub2JqZWN0LWZpdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyOyc7XG4gIG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi8qKlxuICogQWxpZ24gY2VudGVyLlxuICovXG4uYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qKlxuICogQWxpZ24gbGVmdC5cbiAqL1xuLmFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi8qKlxuICogQWxpZ24gcmlnaHQuXG4gKi9cbi5hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi53NjAge1xuICB3aWR0aDogNjAlOyB9XG5cbi53NDAge1xuICB3aWR0aDogNDAlOyB9XG5cbi53NTAge1xuICB3aWR0aDogNTAlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPYmplY3QgRml0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBPYmplY3QgZml0LlxuICpcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXG4gKi9cbi8qKlxuICAgKiBgb2JqZWN0LWZpdGAgZmlsbCB1dGlsaXR5IGNsYXNzLlxuICAgKi9cbi5maWxsIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogZmlsbDtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBmaWxsOyB9XG5cbi8qKlxuICAgKiBgb2JqZWN0LWZpdGAgY29udGFpbiB1dGlsaXR5IGNsYXNzLlxuICAgKi9cbi5jb250YWluIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogY29udGFpbjtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi8qKlxuICAgKiBgb2JqZWN0LWZpdGAgY292ZXIgdXRpbGl0eSBjbGFzcy5cbiAgICovXG4uY292ZXIge1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBjb3ZlcjtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4vKipcbiAgICogYG9iamVjdC1maXRgIG5vbmUgdXRpbGl0eSBjbGFzcy5cbiAgICovXG4ubm9uZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IG5vbmU7XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogbm9uZTsgfVxuXG4vKipcbiAgICogYG9iamVjdC1maXRgIHNjYWxlLWRvd24gdXRpbGl0eSBjbGFzcy5cbiAgICovXG4uc2NhbGUtZG93biB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IHNjYWxlLWRvd247XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogc2NhbGUtZG93bjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUG9zaXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFBvc2l0aW9uIHV0aWxpdHkgY2xhc3MuXG4gKi9cbi5zdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZXh0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBGb250IGZhbWlseSB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cbi50ZXh0LXhzLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC14cy1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LXhzLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi50ZXh0LXNtLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC1zbS1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LXNtLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi50ZXh0LW1kLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC1tZC1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LW1kLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi50ZXh0LWxnLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC1sZy1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LWxnLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi50ZXh0LXhsLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjsgfVxuXG4udGV4dC14bC1tZWRpdW0ge1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiOyB9XG5cbi50ZXh0LXhsLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJCdXJmb3JkUnVzdGljU2hhZG93VHdvQVwiOyB9XG5cbi8qKlxuICogVGV4dCBzaXplIHV0aWxpdHkgY2xhc3Nlcy5cbiAqL1xuLnRleHQteHMtaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LXhzLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQteHMtaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LXhzLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQtc20taDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LXNtLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQtc20taDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LXNtLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQtbWQtaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LW1kLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQtbWQtaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LW1kLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQtbGctaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LWxnLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQtbGctaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LWxnLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQteGwtaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LXhsLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQteGwtaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LXhsLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLyoqXG4gKiBUZXh0IGFsaWdubWVudCB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cbi50ZXh0LXhzLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXhzLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQteHMtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LXNtLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXNtLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtc20tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LW1kLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LW1kLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtbWQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWxnLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LWxnLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtbGctY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LXhsLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXhsLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQteGwtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qKlxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxuICpcbiAqIDEuIE11bHRpcGx5IGxvb3BlZCBpbnRlZ2VyIGJ5IDEwMCBmb3IgY29ycmVjdCBmb250IHdlaWdodCB2YWx1ZS5cbiAqL1xuLnRleHQteHMtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC14cy0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXhzLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQteHMtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC14cy01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXhzLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQteHMtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC14cy04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXhzLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtc20tMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1zbS0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXNtLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtc20tNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1zbS01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXNtLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtc20tNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1zbS04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXNtLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtbWQtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1tZC0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LW1kLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtbWQtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1tZC01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LW1kLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtbWQtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1tZC04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LW1kLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtbGctMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1sZy0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LWxnLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtbGctNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1sZy01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LWxnLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtbGctNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1sZy04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LWxnLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQteGwtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC14bC0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXhsLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQteGwtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC14bC01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXhsLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQteGwtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC14bC04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXhsLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLyoqXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXG4gKi9cbi50ZXh0LXhzLWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4udGV4dC14cy11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50ZXh0LXhzLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLnRleHQteHMtbm9uZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi50ZXh0LXhzLWZ1bGwtd2lkdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogZnVsbC13aWR0aDsgfVxuXG4udGV4dC1zbS1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQtc20tdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC1zbS1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi50ZXh0LXNtLW5vbmUge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4udGV4dC1zbS1mdWxsLXdpZHRoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH1cblxuLnRleHQtbWQtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi50ZXh0LW1kLXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRleHQtbWQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuXG4udGV4dC1tZC1ub25lIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnRleHQtbWQtZnVsbC13aWR0aCB7XG4gIHRleHQtdHJhbnNmb3JtOiBmdWxsLXdpZHRoOyB9XG5cbi50ZXh0LWxnLWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4udGV4dC1sZy11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50ZXh0LWxnLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLnRleHQtbGctbm9uZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi50ZXh0LWxnLWZ1bGwtd2lkdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogZnVsbC13aWR0aDsgfVxuXG4udGV4dC14bC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQteGwtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC14bC1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi50ZXh0LXhsLW5vbmUge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4udGV4dC14bC1mdWxsLXdpZHRoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFZlcnRpY2FsIFJoeXRobVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi52ci0wIHtcbiAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG5cbi52ci04IHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4OyB9XG5cbi52ci0xNiB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuLnZyLTI0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuXG4udnItMzIge1xuICBtYXJnaW4tYm90dG9tOiAzMnB4OyB9XG5cbi52ci00MCB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuLnZyLTQ4IHtcbiAgbWFyZ2luLWJvdHRvbTogNDhweDsgfVxuXG4udnItNTYge1xuICBtYXJnaW4tYm90dG9tOiA1NnB4OyB9XG5cbi52ci02NCB7XG4gIG1hcmdpbi1ib3R0b206IDY0cHg7IH1cblxuLnZyLTcyIHtcbiAgbWFyZ2luLWJvdHRvbTogNzJweDsgfVxuXG4udnItODAge1xuICBtYXJnaW4tYm90dG9tOiA4MHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBaLWluZGV4XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBVdGlsaXR5IGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBzdGFja2luZyBvcmRlciBpbiBIVE1MLlxuICovXG4uei1pbmRleC0wIHtcbiAgei1pbmRleDogMDsgfVxuXG4uei1pbmRleC0xIHtcbiAgei1pbmRleDogMTA7IH1cblxuLnotaW5kZXgtMiB7XG4gIHotaW5kZXg6IDIwOyB9XG5cbi56LWluZGV4LTMge1xuICB6LWluZGV4OiAzMDsgfVxuXG4uei1pbmRleC00IHtcbiAgei1pbmRleDogNDA7IH1cblxuLnotaW5kZXgtNSB7XG4gIHotaW5kZXg6IDUwOyB9XG5cbi56LWluZGV4LTYge1xuICB6LWluZGV4OiA2MDsgfVxuXG4uei1pbmRleC03IHtcbiAgei1pbmRleDogNzA7IH1cblxuLnotaW5kZXgtOCB7XG4gIHotaW5kZXg6IDgwOyB9XG5cbi56LWluZGV4LTkge1xuICB6LWluZGV4OiA5MDsgfVxuXG4uei1pbmRleC0xMCB7XG4gIHotaW5kZXg6IDEwMDsgfVxuXG4uaWZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNTYwcHg7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uaWZyYW1lIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5pZnJhbWUgaWZyYW1lIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5wbGF5LWJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNjY2O1xuICB0b3A6IGNhbGMoNTAlIC0gNTBweCk7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7IH1cblxuLnBsYXktYnRuOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5wbGF5LWJ0bjpmb2N1cyB7XG4gIG91dGxpbmU6IDA7IH1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUeXBvZ3JhcGh5XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBGb250IGZhbWlseSBtYXAuXG4kZm9udC1mYW1pbHk6IChcbiAgJ2RlZmF1bHQnOiAnUHJlZGlnZS1SZWd1bGFyJyxcbiAgJ21lZGl1bSc6ICdQcmVkaWdlLU1lZGl1bScsXG4gICdoZWFkaW5nJzogJ0J1cmZvcmRSdXN0aWNTaGFkb3dUd29BJ1xuKTtcblxuXG4vLyBGb250IGZhY2UuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdCdXJmb3JkUnVzdGljU2hhZG93VHdvQSc7XG4gIHNyYzogdXJsKCcvd3AtY29udGVudC90aGVtZXMvYW5uYXdhZGRpbnh2ZWVuL2Fzc2V0cy9mb250cy9CdXJmb3JkUnVzdGljU2hhZG93VHdvQS5vdGYnKSBmb3JtYXQoJ09wZW5UeXBlJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ1ByZWRpZ2UtTWVkaXVtJztcbiAgc3JjOiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9hbm5hd2FkZGlueHZlZW4vYXNzZXRzL2ZvbnRzL1ByZWRpZ2UtTWVkaXVtLm90ZicpIGZvcm1hdCgnT3BlblR5cGUnKSxcbiAgICAgICB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9hbm5hd2FkZGlueHZlZW4vYXNzZXRzL2ZvbnRzL1ByZWRpZ2UtTWVkaXVtLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnUHJlZGlnZS1SZWd1bGFyJztcbiAgc3JjOiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9hbm5hd2FkZGlueHZlZW4vYXNzZXRzL2ZvbnRzL1ByZWRpZ2UtUmVndWxhci5vdGYnKSBmb3JtYXQoJ09wZW5UeXBlJyksXG4gICAgICAgdXJsKCcvd3AtY29udGVudC90aGVtZXMvYW5uYXdhZGRpbnh2ZWVuL2Fzc2V0cy9mb250cy9QcmVkaWdlLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpO1xufVxuXG4vLyBGb250IHNpemUgbWFwLlxuJGZvbnQtc2l6ZTogKFxuICAnaDEnOiA0OHB4LFxuICAnaDInOiA0OHB4LFxuICAnaDMnOiAxNTBweCxcbiAgJ3AnOiAxNnB4XG4pO1xuXG5cbi8vIExpbmUgaGVpZ2h0IG1hcC5cbiRsaW5lLWhlaWdodDogKFxuICAnaDEnOiA1OHB4LFxuICAnaDInOiA1NHB4LFxuICAnaDMnOiAxNTBweCxcbiAgJ3AnOiAyNHB4XG4pO1xuXG5cblxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQ29yZVxuICovXG4ub3dsLWNhcm91c2VsIHtcblx0ZGlzcGxheTogbm9uZTtcblx0d2lkdGg6IDEwMCU7XG5cdC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdC8qIHBvc2l0aW9uIHJlbGF0aXZlIGFuZCB6LWluZGV4IGZpeCB3ZWJraXQgcmVuZGVyaW5nIGZvbnRzIGlzc3VlICovXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMTtcblxuXHQub3dsLXN0YWdlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7XG5cdFx0dG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cdFx0LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi9cblx0fVxuXG5cdC5vd2wtc3RhZ2U6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiLlwiO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNsZWFyOiBib3RoO1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHRsaW5lLWhlaWdodDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdH1cblxuXHQub3dsLXN0YWdlLW91dGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHQvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cblx0XHQtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7XG5cdH1cblxuXHQub3dsLXdyYXBwZXIsXG5cdC5vd2wtaXRlbXtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdFx0LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG5cdH1cblxuXHQub3dsLWl0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRtaW4taGVpZ2h0OiAxcHg7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHQtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG5cdH1cblx0Lm93bC1pdGVtIGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cblxuXHQub3dsLW5hdi5kaXNhYmxlZCxcblx0Lm93bC1kb3RzLmRpc2FibGVkIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0Lm93bC1uYXYgLm93bC1wcmV2LFxuXHQub3dsLW5hdiAub3dsLW5leHQsXG5cdC5vd2wtZG90IHtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiBidXR0b24ub3dsLXByZXYsXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCxcblx0YnV0dG9uLm93bC1kb3Qge1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdHBhZGRpbmc6MCFpbXBvcnRhbnQ7XG5cdFx0Zm9udDogaW5oZXJpdDtcblx0fVxuXG5cdCYub3dsLWxvYWRlZCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1sb2FkaW5nIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Ji5vd2wtaGlkZGVuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cblx0Ji5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXG5cdCYub3dsLWRyYWcgLm93bC1pdGVtIHtcblx0XHR0b3VjaC1hY3Rpb246IHBhbi15O1xuXHRcdC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0LW1vei11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG5cdFx0dXNlci1zZWxlY3Q6IG5vbmU7XG5cdH1cblxuXHQmLm93bC1ncmFiIHtcblx0XHRjdXJzb3I6IG1vdmU7XG5cdFx0Y3Vyc29yOiBncmFiO1xuXHR9XG5cblx0Ji5vd2wtcnRsIHtcblx0XHRkaXJlY3Rpb246IHJ0bDtcblx0fVxuXG5cdCYub3dsLXJ0bCAub3dsLWl0ZW0ge1xuXHRcdGZsb2F0OiByaWdodDtcblx0fVxufVxuXG4vKiBObyBKcyAqL1xuLm5vLWpzIC5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8qXG4gKiAgT3dsIENhcm91c2VsIC0gQW5pbWF0ZSBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbHtcblx0LmFuaW1hdGVkIHtcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDEwMDBtcztcblx0XHRhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuXHR9XG5cdC5vd2wtYW5pbWF0ZWQtaW4ge1xuXHRcdHotaW5kZXg6IDA7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1vdXQge1xuXHRcdHotaW5kZXg6IDE7XG5cdH1cblx0LmZhZGVPdXQge1xuXHRcdGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuXHR9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG5cdDAlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHR9XG5cblx0MTAwJSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuIiwiLypcbiAqIFx0T3dsIENhcm91c2VsIC0gQXV0byBIZWlnaHQgUGx1Z2luXG4gKi9cblxuLm93bC1oZWlnaHQge1xuXHR0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBMYXp5IExvYWQgUGx1Z2luXG4gKi9cblxuLm93bC1jYXJvdXNlbCB7XG5cdC5vd2wtaXRlbSB7XG5cdFx0Lm93bC1sYXp5IHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHRcdH1cblxuXHRcdC8qKlxuXHRcdFx0VGhpcyBpcyBpbnRyb2R1Y2VkIGR1ZSB0byBhIGJ1ZyBpbiBJRTExIHdoZXJlIGxhenkgbG9hZGluZyBjb21iaW5lZCB3aXRoIGF1dG9oZWlnaHQgcGx1Z2luIGNhdXNlcyBhIHdyb25nXG5cdFx0XHRjYWxjdWxhdGlvbiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBvd2wtaXRlbSB0aGF0IGJyZWFrcyBwYWdlIGxheW91dHNcblx0XHQgKi9cblx0XHQub3dsLWxhenlbc3JjXj1cIlwiXSwgLm93bC1sYXp5Om5vdChbc3JjXSkge1xuXHRcdFx0bWF4LWhlaWdodDogMDtcblx0XHR9XG5cblx0XHRpbWcub3dsLWxhenkge1xuXHRcdFx0dHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcblx0XHR9XG5cdH1cbn1cblxuIiwiJG93bC1pbWFnZS1wYXRoOiBcIlwiICFkZWZhdWx0O1xuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2Vse1xuXHQub3dsLXZpZGVvLXdyYXBwZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0YmFja2dyb3VuZDogIzAwMDtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0aGVpZ2h0OiA4MHB4O1xuXHRcdHdpZHRoOiA4MHB4O1xuXHRcdGxlZnQ6IDUwJTtcblx0XHR0b3A6IDUwJTtcblx0XHRtYXJnaW4tbGVmdDogLTQwcHg7XG5cdFx0bWFyZ2luLXRvcDogLTQwcHg7XG5cdFx0YmFja2dyb3VuZDogdXJsKFwiI3skb3dsLWltYWdlLXBhdGh9b3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0ei1pbmRleDogMTtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDEuMywgMS4zKTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXRuLFxuXHQub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLXZpZGVvLXRuIHtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tZnJhbWUge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR6LWluZGV4OiAxO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgaW5kZW50YXRpb24gbm8tcXVhbGlmeWluZy1lbGVtZW50cyBzaG9ydGhhbmQtdmFsdWVzIHNpbmdsZS1saW5lLXBlci1zZWxlY3RvciBjbGFzcy1uYW1lLWZvcm1hdCBuby1pZHMgaWQtbmFtZS1mb3JtYXQgcHJvcGVydHktc29ydC1vcmRlciBuby1jb2xvci1saXRlcmFscyBoZXgtbm90YXRpb24gYnJhY2Utc3R5bGUgemVyby11bml0IHNwYWNlLWFmdGVyLWNvbG9uIGVtcHR5LWxpbmUtYmV0d2Vlbi1ibG9ja3NcblxuXG4vKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cbi5tZnAtYmcge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogIzBiMGIwYjtcbiAgb3BhY2l0eTogMC44OyB9XG5cbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5tZnAtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB6LWluZGV4OiAxMDQ1OyB9XG5cbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1hamF4LWN1ciB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cblxuLm1mcC16b29tLW91dC1jdXIsIC5tZnAtem9vbS1vdXQtY3VyIC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcbiAgY3Vyc29yOiB6b29tLW91dDsgfVxuXG4ubWZwLXpvb20ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcbiAgY3Vyc29yOiB6b29tLWluOyB9XG5cbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtY2xvc2UsXG4ubWZwLWFycm93LFxuLm1mcC1wcmVsb2FkZXIsXG4ubWZwLWNvdW50ZXIge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICNDQ0M7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcbiAgbGVmdDogOHB4O1xuICByaWdodDogOHB4O1xuICB6LWluZGV4OiAxMDQ0OyB9XG4gIC5tZnAtcHJlbG9hZGVyIGEge1xuICAgIGNvbG9yOiAjQ0NDOyB9XG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI0ZGRjsgfVxuXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmJ1dHRvbi5tZnAtY2xvc2UsXG5idXR0b24ubWZwLWFycm93IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogMTA0NjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5tZnAtY2xvc2Uge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogMC42NTtcbiAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcbiAgY29sb3I6ICNGRkY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIEJhc2tlcnZpbGxlLCBtb25vc3BhY2U7IH1cbiAgLm1mcC1jbG9zZTpob3ZlcixcbiAgLm1mcC1jbG9zZTpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubWZwLWNsb3NlOmFjdGl2ZSB7XG4gICAgdG9wOiAxcHg7IH1cblxuLm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjMzMzOyB9XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2UsXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGNvbG9yOiAjRkZGO1xuICByaWdodDogLTZweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm1mcC1jb3VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjb2xvcjogI0NDQztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4ubWZwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwLjY1O1xuICBtYXJnaW46IDA7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtNTVweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDkwcHg7XG4gIGhlaWdodDogMTEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm1mcC1hcnJvdzphY3RpdmUge1xuICAgIG1hcmdpbi10b3A6IC01NHB4OyB9XG4gIC5tZnAtYXJyb3c6aG92ZXIsXG4gIC5tZnAtYXJyb3c6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLm1mcC1hcnJvdzpiZWZvcmUsXG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcbiAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDsgfVxuICAubWZwLWFycm93OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XG4gICAgdG9wOiA4cHg7IH1cbiAgLm1mcC1hcnJvdzpiZWZvcmUge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcbiAgICBvcGFjaXR5OiAwLjc7IH1cblxuLm1mcC1hcnJvdy1sZWZ0IHtcbiAgbGVmdDogMDsgfVxuICAubWZwLWFycm93LWxlZnQ6YWZ0ZXIge1xuICAgIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAjRkZGO1xuICAgIG1hcmdpbi1sZWZ0OiAzMXB4OyB9XG4gIC5tZnAtYXJyb3ctbGVmdDpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XG5cbi5tZnAtYXJyb3ctcmlnaHQge1xuICByaWdodDogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0OmFmdGVyIHtcbiAgICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAjRkZGO1xuICAgIG1hcmdpbi1sZWZ0OiAzOXB4OyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XG5cbi5tZnAtaWZyYW1lLWhvbGRlciB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDkwMHB4OyB9XG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgICB0b3A6IC00MHB4OyB9XG5cbi5tZnAtaWZyYW1lLXNjYWxlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cbiAgLm1mcC1pZnJhbWUtc2NhbGVyIGlmcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi8qIE1haW4gaW1hZ2UgaW4gcG9wdXAgKi9cbmltZy5tZnAtaW1nIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDQwcHggMCA0MHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4vKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cbi5tZnAtZmlndXJlIHtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgLm1mcC1maWd1cmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNDBweDtcbiAgICBib3R0b206IDQwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7IH1cbiAgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGNvbG9yOiAjQkRCREJEO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTRweDsgfVxuICAubWZwLWZpZ3VyZSBmaWd1cmUge1xuICAgIG1hcmdpbjogMDsgfVxuXG4ubWZwLWJvdHRvbS1iYXIge1xuICBtYXJnaW4tdG9wOiAtMzZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC10aXRsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBjb2xvcjogI0YzRjNGMztcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBwYWRkaW5nLXJpZ2h0OiAzNnB4OyB9XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ubWZwLWdhbGxlcnkgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1maWd1cmUge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxuICAgICAgICovXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcjplbXB0eSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNvdW50ZXIge1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgdG9wOiAzcHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY2xvc2Uge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gIC5tZnAtYXJyb3cge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpOyB9XG4gIC5tZnAtYXJyb3ctbGVmdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7IH1cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7IH1cbiAgLm1mcC1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XG5cbi8vIHNhc3MtbGludDplbmFibGUgaW5kZW50YXRpb24gbm8tcXVhbGlmeWluZy1lbGVtZW50cyBzaG9ydGhhbmQtdmFsdWVzIHNpbmdsZS1saW5lLXBlci1zZWxlY3RvciBjbGFzcy1uYW1lLWZvcm1hdCBuby1pZHMgaWQtbmFtZS1mb3JtYXQgcHJvcGVydHktc29ydC1vcmRlciBuby1jb2xvci1saXRlcmFscyBoZXgtbm90YXRpb24gYnJhY2Utc3R5bGUgemVyby11bml0IHNwYWNlLWFmdGVyLWNvbG9uIGVtcHR5LWxpbmUtYmV0d2Vlbi1ibG9ja3NcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtYXJnaW4gYW5kIHBhZGRpbmcgZnJvbSBldmVyeSBzZWxlY3RvciBpbmNsdWRpbmcgdGhlaXJcbiAqIHBzdWVkbyBzZWxlY3RvcnMuXG4gKlxuICogMS4gTW9yZSBzZW5zaWJsZSBkZWZhdWx0IGJveCBzaXppbmcuXG4gKiAgICAoY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlKS5cbiAqL1xuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IC8qIDEgKi9cbn1cblxuXG4vKipcbiAqIFNldCBoZWlnaHQgb2YgdGhlIGRvY3VtZW50IHRvIG1heGl1bSB2aWV3cG9ydCBoZWlnaHQuXG4gKlxuICogMS4gU2V0IHJvb3QgZm9udCBzaXplIHRvIDEwLlxuICovXG5cbmh0bWwge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBmb250LXNpemU6IDYyLjUlOyAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLyoqXG4gKiBTZXQgbWluaW1hbCBoZWlnaHQgb2YgdGhlIGJvZHkgdG8gbWF4aW11bSB2aWV3cG9ydCBoZWlnaHQgdG9cbiAqIG1hdGNoIHRoZSBkb2N1bWVudCdzIGhlaWdodC5cbiAqXG4gKiAxLiBGaXJlZm94IDI1Ky5cbiAqIDIuIENocm9tZSA1Ky5cbiAqL1xuXG5ib2R5IHtcbiAgQGluY2x1ZGUgdGV4dCgkYm9keS10ZXh0KTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQtY29sb3I7XG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyAvKiAxICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvKiAyICovXG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTWl4aW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBDb250YWluZXJcbi8vIENlbnRlciBhbGlnbnMgZWxlbWVudCB3aXRoIGdpdmVuIG1heGltdW0gd2lkdGgsIHBhZGRpbmcsIGFuZCBtYXJnaW5zIHRvcFxuLy8gYW5kIGJvdHRvbS5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggLSBQaXhlbCB1bml0IHZhbHVlLlxuLy8gQHBhcmFtIHtTdHJpbmd9ICRnYXAgLSBQaXhlbCB1bml0IHZhbHVlLlxuLy8gQGV4YW1wbGVcbi8vICAgQGluY2x1ZGUgY29udGFpbmVyKDEwMjRweCwgMjBweCk7XG5AbWl4aW4gY29udGFpbmVyKCR3aWR0aDogJGdyaWQtd2lkdGgsICRnYXA6ICRncmlkLWdhcCkge1xuICBAaWYgKHR5cGUtb2YoJHdpZHRoKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJGdhcCkgPT0gbnVtYmVyKSB7XG4gICAgQGlmICgkZ2FwICE9IDApIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygjeyR3aWR0aH0gKyAjeygkZ2FwICogMil9KTtcbiAgICAgIHBhZGRpbmc6IDAgJGdhcDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIH1cbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdBcmd1bWVudHMgYCR3aWR0aGAgYW5kIGAkZ2FwYCBzaG91bGQgYmUgYSBudW1iZXInO1xuICB9XG59XG5cblxuLy8gU2VjdGlvblxuLy8gQWRkIHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgdG8gZWxlbWVudCB1c2luZyBwYWRkaW5ncy5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkdG9wIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkYm90dG9tIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cbi8vIEBleGFtcGxlXG4vLyAgIEBpbmNsdWRlIHNlY3Rpb24oMTAwcHgsIDEwMHB4KTtcbkBtaXhpbiBzZWN0aW9uKCR0b3A6IDAsICRib3R0b206IDApIHtcbiAgQGlmICh0eXBlLW9mKCR0b3ApID09IG51bWJlciBhbmQgdHlwZS1vZigkYm90dG9tKSA9PSBudW1iZXIpIHtcbiAgICBwYWRkaW5nOiAkdG9wIDAgJGJvdHRvbTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdBcmd1bWVudHMgYCR0b3BgIGFuZCBgYm90dG9tYCBzaG91bGQgYmUgYSBudW1iZXInO1xuICB9XG59XG5cblxuLy8gRm9udFxuLy8gQWRkcyBgcmVtYCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYSBmYWxsYmFja1xuLy8gYHB4YCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYW5kIGEgYGVtYCB1bml0IGJhc2VkIGxpbmUgaGVpZ2h0XG4vLyBwcm9wZXJ0eSB0byBhbnkgcnVsZS5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkZm9udC1zaXplIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkbGluZS1oZWlnaHQgLSBQaXhlbCB1bml0IHZhbHVlLlxuLy8gQGV4YW1wbGVcbi8vICAgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgsIDI0cHgpO1xuQG1peGluIGZvbnQoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XG4gIEBpZiAodHlwZS1vZigkZm9udC1zaXplKSA9PSBudW1iZXIgYW5kIHVuaXQoJGZvbnQtc2l6ZSkgPT0gJ3B4Jykge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXNpemU6IHJlbSgkZm9udC1zaXplKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ1ZhbHVlIGZvciBgI3skZm9udC1zaXplfWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0JztcbiAgfVxuICBAaWYgKHR5cGUtb2YoJGxpbmUtaGVpZ2h0KSA9PSBudW1iZXIgYW5kIHVuaXQoJGxpbmUtaGVpZ2h0KSA9PSAncHgnKSB7XG4gICAgbGluZS1oZWlnaHQ6ICgoJGxpbmUtaGVpZ2h0IC8gJGZvbnQtc2l6ZSkgKiAxZW0pO1xuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgJ1ZhbHVlIGZvciBgI3skbGluZS1oZWlnaHR9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQnO1xuICB9XG59XG5cblxuLy8gVGV4dFxuLy8gU2hvcnRoYW5kIGZvciB0aGUgZm9udCBtaXhpbiwgcnVucyB0aGUgZm9udCBtaXhpbiBiYXNlZCBvbiBhIGNvbW1vblxuLy8gZGVtZWFub3VyIGV4aXN0aW5nIGJvdGggaW4gdGhlIGAkZm9udC1zaXplYCBhbmQgdGhlIGAkbGluZS1oZWlnaHRgIG1hcHMuXG4vLyBAcGFyYW0ge3N0cmluZ30gJHZhbHVlIC0gU3RyaW5nXG4vLyBAZXhhbXBsZVxuLy8gICBAaW5jbHVkZSB0ZXh0KCdwJyk7XG5AbWl4aW4gdGV4dCgkdmFsdWUpIHtcbiAgQGlmICh0eXBlLW9mKCR2YWx1ZSkgPT0gc3RyaW5nKSB7XG4gICAgQGluY2x1ZGUgZm9udChtYXAtZ2V0KCRmb250LXNpemUsICR2YWx1ZSksIG1hcC1nZXQoJGxpbmUtaGVpZ2h0LCAkdmFsdWUpKTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdWYWx1ZSBzaG91bGQgYmUgYSBzdHJpbmcnO1xuICB9XG59XG5cblxuLy8gRm9udCBBd2Vzb21lXG4vLyBBZGQgRm9udCBBd2Vzb21lIGljb25zIGFzIHBzdWVkbyBlbGVtZW50cyBieSB1c2luZyB0aGVpciB1bmljb2RlLlxuLy8gQHBhcmFtIHtTdHJpbmd9ICRjb250ZW50IC0gVW5pY29kZSBzdHJpbmcuXG4vLyBAcGFyYW0ge1N0cmluZ30gJGZhbWlseSAtIEZvbnQgQXdlc29tZSBmb250IGZhbWlseSBzdHJpbmcuXG4vLyBAZXhhbXBsZVxuLy8gICBAaW5jbHVkZSBmb250YXdlc29tZSgnZjEwMCcsICdMaWdodCcpO1xuQG1peGluIGZvbnRhd2Vzb21lKCRjb250ZW50LCAkZmFtaWx5KSB7XG4gIEBpZiAodHlwZS1vZigkZmFtaWx5KSA9PSBzdHJpbmcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgI3skZmFtaWx5fSc7XG4gICAgY29udGVudDogdW5pY29kZSgkY29udGVudCk7XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAnQXJndW1lbnQgYCRmYW1pbHlgIHNob3VsZCBiZSBhIHN0cmluZyc7XG4gIH1cbn1cblxuXG4vLyBNZWRpYVxuLy8gTWVkaWEgcXVlcmllcyBhY2NvcmRpbmcgdG8gXCJUaGUgMTAwJSBDb3JyZWN0IFdheSBUbyBEbyBDU1MgQnJlYWtwb2ludHNcIlxuLy8gKGh0dHBzOi8vbWVkaXVtLmZyZWVjb2RlY2FtcC5jb20vdGhlLTEwMC1jb3JyZWN0LXdheS10by1kby1jc3MtYnJlYWtwb2ludHMtODhkNmE1YmExODYyKS5cbi8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIEJyZWFrcG9pbnQgcGl4ZWwgdW5pdCB2YWx1ZS5cbi8vIEBleGFtcGxlXG4vLyAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHt9XG5AbWl4aW4gbWVkaWEoJHNpemUpIHtcbiAgQGlmICgkc2l6ZSA9PSAnZGVza3RvcCcpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZScpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogOTAwcHgpIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdCcpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIGFuZChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldCcpIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAncGhvbmUnKSB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRnVuY3Rpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBVbmljb2RlXG4vLyBQcmVzZXJ2ZSBlc2NhcGVkIHVuaWNvZGUgc3RyaW5nLlxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBBbiB1bmljb2RlIHN0cmluZy5cbi8vIEByZXR1cm4ge1N0cmluZ30gQSBwcmVzZXJ2ZWQgZXNjYXBlZCB1bmljb2RlIHN0cmluZ1xuLy8gc2Fzcy1saW50OmRpc2FibGUgcXVvdGVzXG5AZnVuY3Rpb24gdW5pY29kZSgkc3RyaW5nKSB7XG4gIEByZXR1cm4gdW5xdW90ZShcIlxcJ1wiKSArIHVucXVvdGUoc3RyLWluc2VydCgkc3RyaW5nLCAnXFxcXCcsIDEpKSArIHVucXVvdGUoXCJcXCdcIik7XG59XG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIHF1b3Rlc1xuXG5cbi8vIFJFTVxuLy8gQ29udmVydCBwaXhlbCB1bml0cyB0byBSRU0gdW5pdHMuXG4vLyBAcGFyYW0ge051bWJlcn0gJHBpeGVscyAtIFBpeGVsIHZhbHVlLlxuLy8gQHJldHVybiB7Kn0gLSBBIGNvbnZlcnRlZCBgcmVtYCB1bml0LlxuQGZ1bmN0aW9uIHJlbSgkcGl4ZWxzKSB7XG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcbiAgICBAZXJyb3IgJ1ZhbHVlIGZvciBgI3skcGl4ZWxzfWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0Lic7XG4gIH1cbiAgQHJldHVybiAoKCRwaXhlbHMgLyAxMHB4KSAqIDFyZW0pO1xufVxuXG5cbi8vIENvbHVtblxuLy8gQ2FsY3VsYXRlIGdpdmVuIGNvbHVtbiB3aWR0aC5cbi8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1uIC0gVGhlIGFtb3VudCBvZiBjb2x1bW5zIHRvIHNwYW4uXG4vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBUaGUgYW1vdW50IG9mIGNvbHVtbnMgdGhhdCBjYW4gYmUgc3Bhbm5lZC5cbi8vIEByZXR1cm4ge1N0cmluZ30gLSBQZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGNvbHVtbigkY29sdW1uLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAcmV0dXJuICgkY29sdW1uICAqIDEwMCUgLyAkY29sdW1ucyk7XG59XG5cblxuLy8gQ29sb3Jcbi8vIEdldCBhIGNvbG9yIHZhbHVlIGZyb20gdHdvIGxldmVscyBkZWVwIGluIHRoZSBgJGNvbG9yYCBtYXAuXG4vLyBAcGFyYW0geyRzdHJpbmd9ICRrZXkgLSBLZXkgb2YgdGhlIGNvbG9yIHRvIGdldCBmcm9tIHRoZSBtYXAuXG4vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgb2YgdGhlIGtleSB0byBnZXQgZnJvbSB0aGUgbWFwLlxuLy8gQHJldHVybiB7Kn0gQSBIU0xBIGNvbG9yIHZhbHVlLlxuQGZ1bmN0aW9uIGNvbG9yKCRrZXksICR2YWx1ZSkge1xuICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAka2V5KSwgJHZhbHVlKTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb2xvclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gQ29sb3IgbWFwLlxuJGNvbG9yczogKFxuICAnYmxhY2snOiAoXG4gICAgJzEwMCc6IGhzbGEoMCwgMCUsIDAlLCAxKVxuICApLFxuICAnd2hpdGUnOiAoXG4gICAgJzEwMCc6IGhzbGEoMCwgMCUsIDEwMCUsIDEpLFxuICApLFxuICAnYmx1ZS1saWdodCc6IChcbiAgICAnMTAwJzogaHNsYSgxOTUsIDEzJSwgODIlLCAxKSxcbiAgICAnNTAnOiBoc2xhKDE5NiwgNy40JSwgNzAuOCUsIDEpXG4gICksXG4gICdibHVlLWRhcmsnOiAoXG4gICAgJzEwMCc6IGhzbGEoMjIyLCA2MyUsIDM1JSwgMSksXG4gICksXG4gICdvcmFuZ2UnOiAoXG4gICAgJzEwMCc6IGhzbGEoMjcsIDYwJSwgNjMlLCAxKSxcbiAgKSxcbiAgJ3JlZCc6IChcbiAgICAnMTAwJzogaHNsYSg5LCA3NCUsIDUxJSwgMSksXG4gICksXG4gICdncmVlbic6IChcbiAgICAnMTAwJzogaHNsYSg2NSwgNyUsIDMzJSwgMSksXG4gICAgJzUwJzogaHNsYSgxNDAsIDIuOSUsIDU5LjYlLCAxKSxcbiAgKSxcbiAgJ2dyZWVuLWJhY2tncm91bmQnOiAoXG4gICAgJzEwMCc6IGhzbGEoNjUsIDclLCAzMiUsIDEpLFxuICApLFxuICAnYnJvd24nOiAoXG4gICAgJzEwMCc6IGhzbGEoMTMsIDMzJSwgMTElLCAxKSxcbiAgKSxcbiAgJ2Jyb3duLWJhY2tncm91bmQnOiAoXG4gICAgJzEwMCc6IGhzbGEoMTMsIDMwJSwgMTMlLCAxKSxcbiAgKSxcbiAgJ2Jvc3MtZ3JlZW4nOiAoXG4gICAgJzEwMCc6IGhzbGEoNjguOSwgMTAwJSwgMzkuOCUsIDEpLFxuICApLFxuICAnYm9zcy1ncmV5JzogKFxuICAgICcxMDAnOiBoc2xhKDEyMCwgOC4zJSwgMTQuMSUsIDEpLFxuICApLFxuICAnYm9zcy1icm93bic6IChcbiAgICAnMTAwJzogaHNsYSgyOC41LCA3My43JSwgMjYuOSUsIDEpLFxuICApLFxuICAnYm9zcy1iZWlnZSc6IChcbiAgICAnMTAwJzogaHNsYSg0MC41LCA1NS4yJSwgODYuOSUsIDEpLFxuICApLFxuICAnYW5uYS1ncmVlbic6IChcbiAgICAnMTAwJzogaHNsYSgxNjEsIDgyJSwgMjUlLCAxKSxcbiAgKSxcbiAgJ2FubmEtZGFyay1ncmVlbic6IChcbiAgICAnMTAwJzogaHNsYSgxNjMsIDU0JSwgMjAlLCAxKSxcbiAgKSxcbiAgJ2FubmEtYmVpZ2UnOiAoXG4gICAgJzEwMCc6IGhzbGEoMzksIDEwMCUsIDkyJSwgMSksXG4gICksXG4gICdhbm5hLW9yYW5nZSc6IChcbiAgICAnMTAwJzogaHNsYSgyMCwgODQlLCA1NCUsIDEpLFxuICApLFxuKTtcblxuLy8gQ29sb3Igc2hvcnRoYW5kIHZhcmlhYmxlcy5cbiRjb2xvci1ibGFjazogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnMTAwJyk7XG4kY29sb3Itd2hpdGU6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnd2hpdGUnKSwgJzEwMCcpO1xuJGNvbG9yLWJsdWUtbGlnaHQ6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmx1ZS1saWdodCcpLCAnMTAwJyk7XG4kY29sb3ItYmx1ZS1kYXJrOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsdWUtZGFyaycpLCAnMTAwJyk7XG4kY29sb3Itb3JhbmdlOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ29yYW5nZScpLCAnMTAwJyk7XG4kY29sb3ItcmVkOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3JlZCcpLCAnMTAwJyk7XG4kY29sb3ItZ3JlZW46IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4nKSwgJzEwMCcpO1xuJGNvbG9yLWdyZWVuLWJhY2tncm91bmQ6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4tYmFja2dyb3VuZCcpLCAnMTAwJyk7XG4kY29sb3ItYnJvd246IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYnJvd24nKSwgJzEwMCcpO1xuJGNvbG9yLWJyb3duLWJhY2tncm91bmQ6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYnJvd24tYmFja2dyb3VuZCcpLCAnMTAwJyk7XG5cbi8vIEJPU1MgY29sb3JzLlxuJGFubmEtb3JhbmdlOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2FubmEtb3JhbmdlJyksICcxMDAnKTtcbiRib3NzLWdyZXk6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYm9zcy1ncmV5JyksICcxMDAnKTtcbiRib3NzLWJyb3duOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2Jvc3MtYnJvd24nKSwgJzEwMCcpO1xuJGJvc3MtYmVpZ2U6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYm9zcy1iZWlnZScpLCAnMTAwJyk7XG5cbi8vIFNwZWNpZmljIGNvbG9ycy5cbiRjb2xvci1wbGFjZWhvbGRlcjogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibHVlLWxpZ2h0JyksICc1MCcpO1xuJGNvbG9yLWlucHV0OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZWVuJyksICc1MCcpO1xuXG4vLyBBbm5hLlxuJGFubmEtZ3JlZW46IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYW5uYS1ncmVlbicpLCAnMTAwJyk7XG4kYW5uYS1kYXJrLWdyZWVuOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2FubmEtZGFyay1ncmVlbicpLCAnMTAwJyk7XG4kYW5uYS1iZWlnZTogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdhbm5hLWJlaWdlJyksICcxMDAnKTtcbiRhbm5hLW9yYW5nZTogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdhbm5hLW9yYW5nZScpLCAnMTAwJyk7IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJlc2V0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEN1c3RvbSB1c2VyIGFnZW50IHJlc2V0cyBhbmQgb3ZlcnJpZGVzIHRoYXQgYXJlIG5vdCBwcmVzZW50IGluXG4gKiBOb3JtYWxpemUgOC4wLjAuIFRoaXMgbW9zdGx5IHJlbW92ZXMgc29tZSBhbm5veWluZyBtYXJnaW4gYW5kIHBhZGRpbmdcbiAqIGRlZmF1bHRzLCBib3JkZXIgcmFkaXVzLCBhbmQgb3V0bGluZXMuXG4gKi9cblxuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLyoqXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHJhZGl1cyBvbiBDaHJvbWUgNjIuMCsgb24gbWFjT1MuXG4gKi9cblxuYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwOyAvKiAxICovXG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbmhyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5cbi8qKlxuICogMS4gUmVtb3ZlIHdoaXRlIHNwYWNlLlxuICovXG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAvKiAxICovXG59XG5cblxuLyoqXG4gKiAxLiBSZW1vdmUgaW5oZXJpdGVkIHVzZXIgYWdlbnQgYXBwZWFyYW5jZS5cbiAqL1xuXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IC8qIDEgKi9cbn1cblxuXG4vKipcbiAqIDEuIE9ubHkgYWxsb3cgdmVydGljYWwgcmVzaXppbmcgdG8gcHJldmVudCB0aGUgdGV4dGFyZWFcbiAqICAgIGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNvbnRhaW5lci5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbnVsLFxub2wge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxucCB7XG4gIG1hcmdpbjogMDtcbn1cblxuXG4vKipcbiAqIDEuIENvbGxhcHNlIGJvcmRlcnMgdG8gcHJldmVudCBkb3VibGUgc2lkZWQgYm9yZGVycy5cbiAqL1xuXG50YWJsZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMSAqL1xufVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhY2tncm91bmRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIGJhc2UuXG4gKi9cblxuLmJhY2tncm91bmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG59XG5cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIHByaW1hcnkuXG4gKi9cblxuLmJhY2tncm91bmQtLWRlZmF1bHQge1xuICBjb2xvcjogJGFubmEtZGFyay1ncmVlbjtcbiAgZmlsbDogJGFubmEtZGFyay1ncmVlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRhbm5hLWJlaWdlO1xuICB9XG5cbiAgaDEge1xuICAgIGNvbG9yOiAkYW5uYS1vcmFuZ2U7XG4gIH1cblxuICBoMiB7XG4gICAgY29sb3I6ICRhbm5hLWRhcmstZ3JlZW47XG4gIH1cblxuICAuYnV0dG9uLS1hcnJvdyB7XG4gICAgY29sb3I6ICRhbm5hLWRhcmstZ3JlZW47XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRhbm5hLWRhcmstZ3JlZW47XG4gICAgICBmaWxsOiAkYW5uYS1kYXJrLWdyZWVuO1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGFubmEtYmVpZ2U7XG4gICAgY29sb3I6ICRhbm5hLWJlaWdlO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkYW5uYS1iZWlnZTtcbiAgICAgIGZpbGw6ICRhbm5hLWJlaWdlO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogQmFja2dyb3VuZCBwcmltYXJ5ICh3aXRoIHBhdHRlcm4pLlxuICovXG5cbi5iYWNrZ3JvdW5kLS1iZWlnZSB7XG4gIGNvbG9yOiAkYW5uYS1kYXJrLWdyZWVuO1xuICBmaWxsOiAkYW5uYS1kYXJrLWdyZWVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGFubmEtYmVpZ2U7XG4gIH1cblxuICBoMSB7XG4gICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvcjogJGFubmEtZGFyay1ncmVlbjtcbiAgfVxuXG4gIC5idXR0b24tLWFycm93IHtcbiAgICBjb2xvcjogJGFubmEtZGFyay1ncmVlbjtcblxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJGFubmEtZGFyay1ncmVlbjtcbiAgICAgIGZpbGw6ICRhbm5hLWRhcmstZ3JlZW47XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbi0tYm9yZGVyIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYW5uYS1iZWlnZTtcbiAgICBjb2xvcjogJGFubmEtYmVpZ2U7XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRhbm5hLWJlaWdlO1xuICAgICAgZmlsbDogJGFubmEtYmVpZ2U7XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIHNlY29uZGFyeS5cbiAqL1xuXG4uYmFja2dyb3VuZC0tZ3JlZW4ge1xuICBjb2xvcjogJGFubmEtYmVpZ2U7XG4gIGZpbGw6ICRhbm5hLWJlaWdlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGFubmEtZ3JlZW47XG4gIH1cblxuICBoMSxcbiAgaDIge1xuICAgIGNvbG9yOiAkYW5uYS1iZWlnZTtcbiAgfVxuXG4gIC5idXR0b24tLWFycm93IHtcbiAgICBjb2xvcjogJGFubmEtZ3JlZW47XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRhbm5hLWdyZWVuO1xuICAgICAgZmlsbDogJGFubmEtZ3JlZW47XG4gICAgfVxuICB9XG5cbiAgLmJ1dHRvbi0tYm9yZGVyIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYW5uYS1ncmVlbjtcbiAgICBjb2xvcjogJGFubmEtZ3JlZW47XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRhbm5hLWdyZWVuO1xuICAgICAgZmlsbDogJGFubmEtZ3JlZW47XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQmFja2dyb3VuZCBzZWNvbmRhcnkuXG4gKi9cblxuIC5iYWNrZ3JvdW5kLS1kYXJrLWJyb3duIHtcblx0Y29sb3I6ICRhbm5hLWdyZWVuO1xuXHRmaWxsOiAkYW5uYS1ncmVlbjtcbiAgXG5cdCY6OmJlZm9yZSB7XG5cdCAgYmFja2dyb3VuZDogJGFubmEtZ3JlZW47XG5cdH1cbiAgXG5cdGgxLFxuXHRoMiB7XG5cdCAgY29sb3I6ICRhbm5hLWdyZWVuO1xuXHR9XG4gIFxuXHQuYnV0dG9uLS1hcnJvdyB7XG5cdCAgY29sb3I6ICRhbm5hLWdyZWVuO1xuICBcblx0ICBzdmcge1xuXHRcdGNvbG9yOiAkYW5uYS1ncmVlbjtcblx0XHRmaWxsOiAkYW5uYS1ncmVlbjtcblx0ICB9XG5cdH1cbiAgXG5cdC5idXR0b24tLWJvcmRlciB7XG5cdCAgYm9yZGVyOiAycHggc29saWQgJGFubmEtZ3JlZW47XG5cdCAgY29sb3I6ICRhbm5hLWdyZWVuO1xuICBcblx0ICBzdmcge1xuXHRcdGNvbG9yOiAkYW5uYS1ncmVlbjtcblx0XHRmaWxsOiAkYW5uYS1ncmVlbjtcblx0ICB9XG5cdH1cbiAgfVxuXG5cbiAgLmJhY2tncm91bmQtLXBpbmsge1xuXHRjb2xvcjogJGFubmEtZ3JlZW47XG5cdGZpbGw6ICRhbm5hLWdyZWVuO1xuICBcblx0Jjo6YmVmb3JlIHtcblx0ICBiYWNrZ3JvdW5kOiAkYW5uYS1vcmFuZ2Vcblx0fVxuICBcblx0aDEsXG5cdGgyIHtcblx0ICBjb2xvcjogJGFubmEtZ3JlZW47XG5cdH1cbiAgXG5cdC5idXR0b24tLWFycm93IHtcblx0ICBjb2xvcjogJGFubmEtZ3JlZW47XG4gIFxuXHQgIHN2ZyB7XG5cdFx0Y29sb3I6ICRhbm5hLWdyZWVuO1xuXHRcdGZpbGw6ICRhbm5hLWdyZWVuO1xuXHQgIH1cblx0fVxuICBcblx0LmJ1dHRvbi0tYm9yZGVyIHtcblx0ICBib3JkZXI6IDJweCBzb2xpZCAkYW5uYS1ncmVlbjtcblx0ICBjb2xvcjogJGFubmEtZ3JlZW47XG4gIFxuXHQgIHN2ZyB7XG5cdFx0Y29sb3I6ICRhbm5hLWdyZWVuO1xuXHRcdGZpbGw6ICRhbm5hLWdyZWVuO1xuXHQgIH1cblx0fVxuICB9XG5cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIGJvcmRlci5cbiAqL1xuXG4uYmFja2dyb3VuZC0tYm9yZGVyIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgJGFubmEtZ3JlZW47XG4gICAgfVxuXG4gICAgYm90dG9tOiA5NXB4O1xuICAgIGJvcmRlci1ib3R0b206IDIwcHggc29saWQgJGFubmEtZGFyay1ncmVlbjtcbiAgfVxuXG4gIC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYmFja2dyb3VuZC0tYm9yZGVyICsgZGl2IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICB9XG5cbiAgbWFyZ2luLXRvcDogLTk1cHg7XG4gIHBhZGRpbmctdG9wOiA5NXB4O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvbnMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qKlxuICogQnV0dG9uIGJhc2UuXG4gKi9cblxuLmJ1dHRvbiB7XG4gIEBpbmNsdWRlIGZvbnQoMTZweCwgMjRweCk7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDMycHg7XG4gIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gIH1cbn1cblxuXG4vKipcbiAqIEJ1dHRvbiBib3JkZXIuXG4gKi9cblxuLmJ1dHRvbi0tYm9yZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IDM1cHg7XG4gIHBhZGRpbmc6IDAgMTBweDtcblxuICBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zcHg7XG4gICAgcmlnaHQ6IC0zNXB4O1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi5pcy1vcmFuZ2Uge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRhbm5hLW9yYW5nZTtcbiAgICBjb2xvcjogJGFubmEtYmVpZ2U7XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgICAgIGZpbGw6ICRhbm5hLW9yYW5nZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYW5uYS1vcmFuZ2U7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1icm93biB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGJvc3MtYnJvd247XG4gICAgY29sb3I6ICRib3NzLWJyb3duO1xuXG4gICAgc3ZnIHtcbiAgICAgIGNvbG9yOiAkYm9zcy1icm93bjtcbiAgICAgIGZpbGw6ICRib3NzLWJyb3duO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRib3NzLWJyb3duO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRib3NzLWJlaWdlO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtZ3JlZW4ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRhbm5hLWRhcmstZ3JlZW47XG4gICAgY29sb3I6ICRhbm5hLWRhcmstZ3JlZW47XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRhbm5hLWRhcmstZ3JlZW47XG4gICAgICBmaWxsOiAkYW5uYS1kYXJrLWdyZWVuO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhbm5hLWRhcmstZ3JlZW47XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogQnV0dG9uIGFycm93LlxuICovXG5cbi5idXR0b24tLWFycm93IHtcbiAgc3ZnIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBzdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgJi5pcy1vcmFuZ2Uge1xuICAgIGNvbG9yOiAkYW5uYS1vcmFuZ2U7XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgICAgIGZpbGw6ICRhbm5hLW9yYW5nZTtcbiAgICB9XG4gIH1cblxuICAmLmlzLXJlZCB7XG4gICAgY29sb3I6ICRjb2xvci1yZWQ7XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRjb2xvci1yZWQ7XG4gICAgICBmaWxsOiAkY29sb3ItcmVkO1xuICAgIH1cbiAgfVxuXG4gICYuaXMtYmVpZ2Uge1xuICAgIGNvbG9yOiAkYW5uYS1iZWlnZTtcblxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJGFubmEtYmVpZ2U7XG4gICAgICBmaWxsOiAkYW5uYS1iZWlnZTtcbiAgICB9XG4gIH1cblxuICAmLmlzLWJyb3duIHtcbiAgICBjb2xvcjogJGJvc3MtYnJvd247XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRib3NzLWJyb3duO1xuICAgICAgZmlsbDogJGJvc3MtYnJvd247XG4gICAgfVxuICB9XG5cbiAgJi5pcy1ibGFjayB7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcblxuICAgIHN2ZyB7XG4gICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xuICAgIH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbnRhaW5lclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGUgY29udGFpbmVyIG9iamVjdCBjZW50ZXJzIGFuIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50LlxuICovXG5cbi5jb250YWluZXIge1xuICBAaW5jbHVkZSBjb250YWluZXI7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRGVmaW5pdGlvbnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIEdyaWRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIEdyaWQgd2lkdGguXG4vLyBNYXhpbXVtIGNvbnRhaW5lciB3aWR0aC5cbiRncmlkLXdpZHRoOiAxMDI0cHg7XG5cbi8vIEdyaWQgY29sdW1ucy5cbi8vIEFtb3VudCBvZiBncmlkIGNvbHVtbnMgdG8gY2FsY3VsYXRlIGEgY29sdW1uIHdpZHRoIHdpdGguXG4kZ3JpZC1jb2x1bW5zOiAxMjtcblxuLy8gR3JpZCBjb2x1bW4uXG4vLyBDb2x1bW4gd2lkdGggaW4gcGl4ZWxzLlxuJGdyaWQtY29sdW1uOiA2MHB4O1xuXG4vLyBHcmlkIGdhcC5cbi8vIFNwYWNlIGJldHdlZW4gZ3JpZCBjb2x1bW5zLCBhdXRvbWF0ZWQuXG4kZ3JpZC1nYXA6ICgkZ3JpZC13aWR0aCAtICgkZ3JpZC1jb2x1bW4gKiAkZ3JpZC1jb2x1bW5zKSkgLyAkZ3JpZC1jb2x1bW5zO1xuXG5cbi8vIEFzc2V0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gSW1hZ2UgcGF0aC5cbiRpbWFnZS1wYXRoOiAnLi4vaW1hZ2VzLyc7XG5cblxuLy8gQm9keVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gQm9keSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGJvZHktYmFja2dyb3VuZC1jb2xvcjogJGFubmEtYmVpZ2U7XG5cbi8vIEJvZHkgY29sb3IuXG4kYm9keS1jb2xvcjogJGFubmEtZGFyay1ncmVlbjtcblxuLy8gQm9keSBmb250IGZhbWlseS5cbiRib2R5LWZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ2RlZmF1bHQnKTtcblxuLy8gQm9keSB0ZXh0LlxuJGJvZHktdGV4dDogJ3AnO1xuXG5cbi8vIE90aGVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBMaW5rIGNvbG9yLlxuJGxpbmstY29sb3I6ICRjb2xvci1yZWQ7XG5cblxuLy8gUmVzcG9uc2l2ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gR3JpZCBicmVha3BvaW50IGFsaWFzLlxuJGJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNjAwcHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDEwMjRweCxcbiAgeGw6IDEyMDBweFxuKTtcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb250ZW50IENvbnN0cmFpbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogVGhlIGNvbnRlbnQgY29uc3RyYWludCBpcyBhIGNvbnN0cmFpbnQgZm9yIGFsbCB0aGUgY29udGVudCB3aXRoaW5cbiAqIHRoZSBkb2N1bWVudC4gSXQgY2FuIGJlIG1hbmlwdWxhdGVkIGJ5IENTUyBvciBKYXZhU2NyaXB0IHdpdGhvdXRcbiAqIGluZmx1ZW5jaW5nIHRoZSBib2R5LlxuICovXG5cbi5jb250ZW50LWNvbnN0cmFpbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIDo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYW5uYS1vcmFuZ2U7XG4gICAgY29sb3I6ICRib3NzLWJyb3duO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmxleFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBFeGFtcGxlIG9mIGEgZmxleCBiYXNlZCBjb2x1bW4gZ3JpZCBsYXlvdXQgaW4gcHJhY3RpY2U6XG4gKlxuICogPGRpdiBjbGFzcz1cInJvd1wiPlxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxuICogPC9kaXY+XG4gKlxuICogVGhpcyBleGFtcGxlIHdpbGwgY3JlYXRlIGEgcm93IHdpdGggdHdvIGNvbHVtbnMgZWFjaCBmaWxsaW5nIGhhbGYgdGhlIHdpZHRoXG4gKiBvZiB0aGUgcm93IG9uIGFsbCBtZWRpYSwgYnV0IHdpbGwgY29udmVydCB0byBhIGZ1bGwgd2lkdGggY29sdW1uIG9uIHRoZVxuICogc21hbGwgYC1zbWAgYnJlYWtwb2ludCBhbGlhcywgd2hpY2ggaXMgbW9iaWxlIG9ubHkuIFJlZmVyIHRvXG4gKiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgIGZvciBhbGwgYnJlYWtwb2ludCBhbGlhcy5cbiAqL1xuXG4vKipcbiAqIEZsZXggb2JqZWN0LlxuICpcbiAqIFRpcDogVXNlIGZsZXggb24gYSBjb2x1bW4gdG8gbWFrZSB0aGUgYm94IHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgY29sdW1uLlxuICovXG5cbi5mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtd3JhcCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuXG4vKipcbiAqIEZsZXggb2JqZWN0IHdpdGggYSBjb2x1bW4gYmFzZWQgbGF5b3V0IHN5c3RlbS5cbiAqL1xuXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAxIGF1dG87XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbjogMCAtI3soJGdyaWQtZ2FwLzIpfTtcbn1cblxuXG4vKipcbiAqIEJveCwgdGhlIGluc2lkZSBvZiBhIGNvbHVtbi5cbiAqL1xuXG4uYm94IHtcbiAgZmxleDogMTtcbn1cblxuXG4vLyBMb29wIHRocm91Z2ggYWxsIHRoZSBrZXlzIGluIHRoZSBgJGJyZWFrcG9pbnRzYCB2YXJpYWJsZSBtYXAgZGVmaW5lZCBpblxuLy8gYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYC5cbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuXG4gIC8vIENyZWF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBldmVyeSBrZXkgaW4gYCRicmVha3BvaW50c2AuXG4gIEBpbmNsdWRlIG1lZGlhKCRrZXkpIHtcblxuICAgIC8vIEl0ZXJhdGUgZnJvbSAxIHRocm91Z2ggdGhlIGFtb3VudCBvZiBncmlkIGNvbHVtbnMgZGVmaW5lZCBieVxuICAgIC8vIGAkZ3JpZC1jb2x1bW5zYCBpbiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG5cbiAgICAgIC8qKlxuICAgICAgICogQ29sdW1uICN7JGl9IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXG4gICAgICAgKi9cblxuICAgICAgLmNvbC0jeyRrZXl9LSN7JGl9IHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgIHdpZHRoOiBjb2x1bW4oJGkpO1xuICAgICAgICBwYWRkaW5nOiAwICgkZ3JpZC1nYXAvMik7XG4gICAgICB9XG5cblxuICAgICAgLy8gT3V0cHV0IGFuIG9mZnNldCB1dGlsaXR5IGNsYXNzIGlmIHRoZSBpdGVyYXRvciBpcyBsZXNzIHRoYW4gdGhlIGFtb3VudFxuICAgICAgLy8gb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnkgYCRncmlkLWNvbHVtbnNgIGluXG4gICAgICAvLyBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxuICAgICAgQGlmICgkaSA8ICRncmlkLWNvbHVtbnMpIHtcblxuICAgICAgICAvKipcbiAgICAgICAgICogT2Zmc2V0ICN7JGl9IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXG4gICAgICAgICAqL1xuXG4gICAgICAgIC5vZmZzZXQtI3ska2V5fS0jeyRpfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGFsaWduLWl0ZW1zYCBwcm9wZXJ0eS5cbiAgICBAZWFjaCAkdmFsdWUgaW4gc3RyZXRjaCwgY2VudGVyLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCwgYmFzZWxpbmUge1xuXG4gICAgICAvKipcbiAgICAgICAqIEFsaWduIGAjeyR2YWx1ZX1gIGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxuICAgICAgICovXG5cbiAgICAgIC5hbGlnbi0jeyRrZXl9LSN7JHZhbHVlfSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAvLyBMb29wIHRocm91Z2ggYWxsIHZhbHVlcyBmb3IgdGhlIGBqdXN0aWZ5LWNvbnRlbnRgIHByb3BlcnR5LlxuICAgIEBlYWNoICR2YWx1ZSBpbiBzdGFydCwgY2VudGVyLCBzcGFjZS1iZXR3ZWVuLCBzcGFjZS1hcm91bmQsIHNwYWNlLWV2ZW5seSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogSnVzdGlmeSBgI3skdmFsdWV9YCBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuXG4gICAgICAuanVzdGlmeS0jeyRrZXl9LSN7JHZhbHVlfSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgLy8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGRpcmVjdGlvbiBmcm9tIGxlZnQgdG8gcmlnaHQuXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiBsZWZ0LCByaWdodCB7XG5cbiAgICAgIC8qKlxuICAgICAgICogQmxlZWQgI3skZGlyZWN0aW9ufSBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cbiAgICAgICAqL1xuXG4gICAgICAuYmxlZWQtI3ska2V5fS0jeyRkaXJlY3Rpb259IHtcbiAgICAgICAgcGFkZGluZy0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cbiAgICAgKi9cblxuICAgIC5maXJzdC0jeyRrZXl9IHtcbiAgICAgIG9yZGVyOiAtMTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cbiAgICAgKi9cblxuICAgIC5sYXN0LSN7JGtleX0ge1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXG4gICAgICovXG5cbiAgICAucmV2ZXJzZS0jeyRrZXl9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkaW5ncy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogSGVhZGluZyAxLlxuICovXG5cbmgxLFxuLmhlYWRpbmctMSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBAaW5jbHVkZSBmb250KDQ4cHgsIDU0cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9udCg0OHB4LCA1OHB4KTtcbiAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnbWVkaXVtJyk7XG59XG5cblxuLyoqXG4gKiBIZWFkaW5nIDIuXG4gKi9cblxuaDIsXG4uaGVhZGluZy0yIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIEBpbmNsdWRlIGZvbnQoNDhweCwgNTRweCk7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvbnQoNDhweCwgNTRweCk7XG4gIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ21lZGl1bScpO1xufVxuXG5cbi8qKlxuICogSGVhZGluZyAzLlxuICovXG5cbmgzLFxuLmhlYWRpbmctMyB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgQGluY2x1ZGUgZm9udCgxMDBweCwgMTAwcHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIEBpbmNsdWRlIGZvbnQoNTBweCwgNTBweCk7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9udCgxNTBweCwgMTUwcHgpO1xuICBmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdtZWRpdW0nKTtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMXB4ICRhbm5hLWRhcmstZ3JlZW47XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkaW5ncy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5oYXMtbG9hZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMTUwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmhhcy1sb2FkW2xvYWRlZD0ndHJ1ZSddIHtcbiAgdG9wOiAwO1xuICBvcGFjaXR5OiAxO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNlY3Rpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV3JhcHBlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBUaGUgd3JhcHBlciBvYmplY3QgY2VudGVycyBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudC5cbiAqL1xuXG4kd2Vic2l0ZS13aWR0aDogICAxMjUwcHg7XG4kd2Vic2l0ZS1wYWRkaW5nOiA5NXB4O1xuXG5cbi8qKlxuICogV3JhcHBlciAoZGVmYXVsdClcbiAqL1xuXG4ud3JhcHBlciB7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XG4gICAgcGFkZGluZzogMCA1MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XG4gICAgcGFkZGluZzogMCA2MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgY29udGFpbmVyKCR3ZWJzaXRlLXdpZHRoLCAkd2Vic2l0ZS1wYWRkaW5nKTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDTVMgT3V0cHV0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEV2ZXJ5IGNvbmNlaXZhYmxlIEhUTUwgZWxlbWVudCB3aXRoaW4gYSBgLmNtcy1vdXRwdXRgIHdyYXBwZXIuXG4gKlxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cbiAqL1xuXG4uY21zLW91dHB1dCB7XG5cbiAgPiAqIHtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07IC8qIDEgKi9cbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgQGluY2x1ZGUgZm9udCgxNnB4LCAzMHB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzNXB4KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICBjb250ZW50OiAn4oC6JztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuXG4gICAgbGkge1xuICAgICAgQGluY2x1ZGUgZm9udCgxNnB4LCAzMHB4KTtcbiAgICB9XG4gIH1cblxuICBwID4gYSB7XG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb250YWN0IGZvcm1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jb250YWN0LWZvcm0ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gIH1cblxuICBwYWRkaW5nLWJvdHRvbTogMTcwcHg7XG59XG5cbi5jb250YWN0LWZvcm1fX3RpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIGxlZnQ6IC04cHg7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDNweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMTBweDtcbiAgbGVmdDogLTE0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4NXB4O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5jb250YWN0LWZvcm1fX2NvbHVtbi1jb250YWN0IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiA2MiU7XG59XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3QtYmxvY2sge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICB9XG5cbiAgbWFyZ2luLWJvdHRvbTogMTcwcHg7XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIC5jb250YWN0LWZvcm1fX2NvbnRhY3Qtc3VidGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3QtdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbGVmdDogLThweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTE1cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmNvbnRhY3QtZm9ybV9fY29udGFjdC1zdWJ0aXRsZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgcGFkZGluZy10b3A6IDE1MnB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwYWRkaW5nLXRvcDogMTEwcHg7XG4gIH1cblxuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gIHBhZGRpbmctdG9wOiAyMzVweDtcbn1cblxuLmNvbnRhY3QtZm9ybV9fY29udGFjdC1lZGl0b3Ige1xuICBtYXgtd2lkdGg6IDU4NXB4O1xufVxuXG4uY29udGFjdC1mb3JtX19jb250YWN0LWxvZ28ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cblxuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAyOTBweDtcbiAgbWFyZ2luLXRvcDogNTVweDtcbn1cblxuLmNvbnRhY3QtZm9ybV9fY29sdW1uLWZvcm0ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB3aWR0aDogMzglO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERvd25sb2Fkc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmRvd25sb2FkcyB7XG4gIC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICB9XG4gIH1cbn1cblxuLmRvd25sb2Fkc19faXRlbSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTE1cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTBweDtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206IDE2NHB4O1xufVxuXG4uZG93bmxvYWRzX19pdGVtLWRhdGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbGVmdDogLTdweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTE0cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmRvd25sb2Fkc19fY29sdW1uLWl0ZW1zIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgd2lkdGg6IDYxJTtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbn1cblxuLmRvd25sb2Fkc19faXRlbS10aXRsZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgcGFkZGluZy10b3A6IDE3NXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBhZGRpbmctdG9wOiAxMTVweDtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206IDI3cHg7XG4gIHBhZGRpbmctdG9wOiAyMjRweDtcbn1cblxuLmRvd25sb2Fkc19faXRlbS1pbWFnZSB7XG4gIG1heC13aWR0aDogNTcwcHg7XG4gIG1hcmdpbjogMzVweCAwO1xufVxuXG4uZG93bmxvYWRzX19pdGVtLWVkaXRvciB7XG4gIG1heC13aWR0aDogNTcwcHg7XG59XG5cbi5kb3dubG9hZHNfX2l0ZW0tbGluayB7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG59XG5cbi5kb3dubG9hZHNfX2NvbHVtbi1saW5rcyB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICB9XG5cbiAgd2lkdGg6IDM5JTtcbn1cblxuLmRvd25sb2Fkc19fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyM3B4O1xufVxuXG4uZG93bmxvYWRzX19lZGl0b3IgYSB7XG4gIEBpbmNsdWRlIGZvbnQoMTZweCwgMzBweCk7XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkYW5uYS1vcmFuZ2U7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgY29sdW1uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmZvb3Rlci1jb2x1bW5zIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIEBpbmNsdWRlIGZvbnQoMThweCwgMzZweCk7XG4gIH1cblxuICBsaW5lLWhlaWdodDogMjlweDtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgICB9XG5cbiAgICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE3NXB4O1xuICB9XG5cbiAgKiB7XG4gICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgfVxuXG4gIGEge1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgIGNvbG9yOiAkYW5uYS1vcmFuZ2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYW5uYS1kYXJrLWdyZWVuO1xuICAgIH1cbiAgfVxufVxuXG4uZm9vdGVyLWNvbHVtbnNfX2NvbnRhY3Qge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDQwJTtcbn1cblxuLmZvb3Rlci1jb2x1bW5zX19jb250YWN0LWxvZ28ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgfVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzVweDtcbn1cblxuLmZvb3Rlci1jb2x1bW5zX19jb250YWN0LWVkaXRvciB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG5cbiAgbWFyZ2luLXRvcDogNzVweDtcbn1cblxuLmZvb3Rlci1jb2x1bW5zX19zaXRlbWFwcyB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgd2lkdGg6IDQ1JTtcbn1cblxuLmZvb3Rlci1jb2x1bW5zX19zaXRlbWFwIHtcbiAgd2lkdGg6IDUwJTtcbn1cblxuLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwtdGl0bGUsXG4uZm9vdGVyLWNvbHVtbnNfX3NpdGVtYXAtdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7XG59XG5cbi5mb290ZXItY29sdW1uc19fc29jaWFsIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgd2lkdGg6IDE1JTtcbn1cblxuLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwtbGlua3Mge1xuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb290ZXIgQ1RBXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZm9vdGVyLWN0YSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDI7XG5cbiAgLndyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4uYmFja2dyb3VuZC0tYm9yZGVyICsgLmZvb3Rlci1jdGEge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgcGFkZGluZy10b3A6IDc1cHg7XG4gIH1cblxuICBwYWRkaW5nLXRvcDogMTc1cHg7XG59XG5cbi5mb290ZXItY3RhICsgZGl2IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBtYXJnaW4tdG9wOiAtOTVweDtcbn1cblxuLmZvb3Rlci1jdGFfX2JvZHkge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgdG9wOiAxMjBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcbiAgICB0b3A6IDQwcHg7XG4gICAgcmlnaHQ6IDQwcHg7XG4gICAgYm90dG9tOiA0MHB4O1xuICAgIGxlZnQ6IDQwcHg7XG4gICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgcGFkZGluZzogNjBweCA0MHB4O1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE2MHB4O1xuICByaWdodDogMDtcbiAgbWF4LXdpZHRoOiA1NzVweDtcbiAgbWF4LWhlaWdodDogMjUwcHg7XG4gIHBhZGRpbmc6IDYwcHggNTVweDtcbiAgYmFja2dyb3VuZDogJGFubmEtb3JhbmdlO1xuICBjb2xvcjogJGFubmEtYmVpZ2U7XG59XG5cbi5mb290ZXItY3RhX19saW5rIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmZvb3Rlci1jdGFfX2ltYWdlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIGhlaWdodDogNTAwcHghaW1wb3J0YW50O1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwdnc7XG4gIG1pbi1oZWlnaHQ6IDU3MHB4O1xuXG4gIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZm9vdGVyIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICB9XG5cbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYW5uYS1kYXJrLWdyZWVuO1xufVxuXG4uZm9vdGVyX19saW5rcyB7XG4gIGEge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQoMTRweCwgMTJweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZm9udCgxMnB4LCAxMnB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRhbm5hLWJlaWdlO1xuICAgIGNvbG9yOiAkYW5uYS1iZWlnZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYW5uYS1vcmFuZ2U7XG4gICAgICAgIGNvbG9yOiAkYW5uYS1vcmFuZ2U7XG4gICAgICB9XG4gICAgfVxuICB9ICBcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZm9ybSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgfVxuXG4gIHBhZGRpbmctYm90dG9tOiAxODBweDtcbn1cblxuLmZvcm1fX3RpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIGxlZnQ6IC04cHg7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMTBweDtcbiAgbGVmdDogLTE0cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4NXB4O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5mb3JtX19jb2x1bW4tZm9ybSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB3aWR0aDogNzIlO1xufVxuXG4uZm9ybV9fY29sdW1uLWltYWdlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgd2lkdGg6IDI4JTtcbn1cblxuLmZvcm1fX2ltYWdlIHtcbiAgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWluLXdpZHRoOiA0MzVweDtcbiAgfVxufVxuXG4uZm9ybV9fc2hvcnRjb2RlIHtcblx0LnF1ZXN0aW9uLXR5cGUtcmFkaW8ge1xuXHRcdGxhYmVsIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmhlYWRlciB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBoZWlnaHQ6IDEyNXB4O1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyMTBweDtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgaGVpZ2h0OiAxMjVweDtcbiAgICB9XG5cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMjEwcHg7XG4gIH1cbn1cblxuLmhlYWRlciArIGRpdiB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwYWRkaW5nLXRvcDogMTI1cHg7XG4gIH1cblxuICBwYWRkaW5nLXRvcDogMjEwcHg7XG59XG5cbi5oZWFkZXJfX2xvZ28ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ0cHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCA3NTBtcyBlYXNlO1xuICB9XG5cbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ3OXB4KTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgei1pbmRleDogMjtcblxuICBpbWcge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgfVxuXG4gICAgd2lkdGg6IDIxMnB4O1xuICAgIGhlaWdodDogMTUwcHg7XG4gIH1cbn1cblxuLmJvZHkuaXMtYWN0aXZlIC5oZWFkZXJfX2xvZ28ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgei1pbmRleDogMTAwO1xuICB9XG59XG5cbi5oZWFkZXJfX2J1dHRvbnMge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHdpZHRoOiA0NDVweDtcbiAgei1pbmRleDogMjtcbn1cblxuLmhlYWRlcl9fYnV0dG9uIHtcbiAgYm9yZGVyOiAycHggc29saWQgJGFubmEtZ3JlZW47XG4gIGNvbG9yOiAkYW5uYS1ncmVlbjtcblxuICBzdmcge1xuICAgIGNvbG9yOiAkYW5uYS1ncmVlbjtcbiAgICBmaWxsOiAkYW5uYS1ncmVlbjtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYW5uYS1ncmVlbjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIH1cblxuICAmLmlzLXNlYXJjaCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5cblxuLyoqXG4gKiBNb2JpbGUgbWVudSBidXR0b24uXG4gKi9cblxuJHRyYW5zaXRpb24tdGltaW5nOiA0MDBtcztcblxuLmhlYWRlcl9fbWVudS1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIHotaW5kZXg6IDEwMDtcblxuICBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbm5hLW9yYW5nZTtcblxuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCB0b3AgJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZywgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXRpbWluZyAwcztcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCBvcGFjaXR5IDBtcyAkdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYW5uYS1vcmFuZ2U7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCBib3R0b20gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZywgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXRpbWluZyAwcztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgICB9XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgc3BhbiB7XG4gICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgdG9wICR0cmFuc2l0aW9uLXRpbWluZywgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICBib3R0b206IGNhbGMoNTAlIC0gMXB4KTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgYm90dG9tICR0cmFuc2l0aW9uLXRpbWluZywgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBIZWFkZXIgc2Vjb25kYXJ5IGNvbG9ycy5cbiAqL1xuXG4uaGVhZGVyLS1zZWNvbmRhcnkge1xuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG5cdFx0ei1pbmRleDogMTcwMDA7XG5cdH1cbiAgLmhlYWRlcl9fYnV0dG9uIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYW5uYS1ncmVlbjtcbiAgICBjb2xvcjogJGFubmEtZ3JlZW47XG5cbiAgICBzdmcge1xuICAgICAgY29sb3I6ICRhbm5hLWdyZWVuO1xuICAgICAgZmlsbDogJGFubmEtZ3JlZW47XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGFubmEtZ3JlZW47XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGJvc3MtYmVpZ2U7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlcl9fbWVudS1idXR0b24gc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFubmEtb3JhbmdlO1xuXG4gICAgJjpudGgtY2hpbGQoMiksXG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFubmEtb3JhbmdlO1xuICAgIH1cbiAgfVxufVxuXG4uaGVhZGVyX19tZW51LWJ1dHRvbi5pcy1hY3RpdmUgc3BhbiB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhbm5hLWdyZWVuO1xuXG4gICAgJjpudGgtY2hpbGQoMiksXG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFubmEtZ3JlZW47XG4gICAgfVxuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhvbWUgRE5BIGZvcm0uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIERlZmF1bHQgc3R5bGluZy5cbiAqL1xuXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdudW1iZXInXSxcbmlucHV0W3R5cGU9J2VtYWlsJ10sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogN3B4IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9zcy1icm93bjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAkYm9zcy1icm93bjtcbn1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IDEyNXB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGJvc3MtYnJvd247XG59XG5cbmlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAkYm9zcy1icm93bjtcbiAgb3BhY2l0eTogMC41O1xufVxuXG5cbi8qKlxuICogSG9tZUROQSBmb3JtLlxuICovXG5cbi5ob21lZG5hLXN1cnZleSB7XG4gIG1heC13aWR0aDogNTc1cHg7XG59XG5cbi5ob21lZG5hLXN1cnZleSBsYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAtMjNweDtcbiAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnbWVkaXVtJyk7XG59XG5cbi5ob21lZG5hLXN1cnZleSAucXVlc3Rpb24tdHlwZS1zdGF0aWMsXG4uaG9tZWRuYS1zdXJ2ZXkgLnF1ZXN0aW9uLXR5cGUtaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhvbWVkbmEtc3VydmV5IC53cmFwLXF1ZXN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb2xvcjogJGJvc3MtYnJvd247XG5cbiAgYSB7XG4gICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uaG9tZWRuYS1zdXJ2ZXkgLnF1ZXN0aW9uLXR5cGUtcmFkaW8gbGFiZWwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmhvbWVkbmEtc3VydmV5IGlucHV0W3R5cGU9cmFkaW9dLFxuLmhvbWVkbmEtc3VydmV5IGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICB0cmFuc2l0aW9uOiAwLjM1cztcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvc3MtYnJvd247XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9zcy1icm93bjtcbiAgfVxufVxuXG4uaG9tZWRuYS1zdXJ2ZXkgLmJ0bi1zdHlsZSB7XG4gIEBpbmNsdWRlIGZvbnQoMTZweCwgMTZweCk7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMzJweDtcbiAgbWFyZ2luOiA1MHB4IDM1cHggMCAwO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICBib3JkZXI6IDJweCBzb2xpZCAkYW5uYS1vcmFuZ2U7XG4gIGNvbG9yOiAkYW5uYS1vcmFuZ2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICByaWdodDogLTM3cHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgICBmaWxsOiAkYW5uYS1vcmFuZ2U7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XG4gICAgYmFja2dyb3VuZDogJGFubmEtb3JhbmdlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgfVxufVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1pZHNcbi8vIHNhc3MtbGludDpkaXNhYmxlIGlkLW5hbWUtZm9ybWF0XG4jZm9ybVBhZ2VOYXYge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4jZm9ybVBhZ2VOYXYgPiAudGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuI2Zvcm1QYWdlTmF2ID4gc3BhbltkYXRhLXBhZ2VdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDMwcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0NTBtcywgY29sb3IgNDUwbXM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmVlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICY6aG92ZXIsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgfVxufVxuLy8gc2Fzcy1saW50OmVuYWJsZSBuby1pZHNcbi8vIHNhc3MtbGludDplbmFibGUgaWQtbmFtZS1mb3JtYXRcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMb2NhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmxvY2F0aW9uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLmxvY2F0aW9uX19jb2x1bW4tdGV4dCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgbWFyZ2luOiA3MHB4IDQwcHggODBweDtcbiAgICBwYWRkaW5nOiAzNXB4IDAgMDtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZzogOTBweCAzNXB4IDAgMDtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgIH1cblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZS1saWdodDtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4ubG9jYXRpb25fX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgXG59XG5cbi5sb2NhdGlvbl9fY29sdW1uLW1hcCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB3aWR0aDogNzAlO1xufVxuXG4ubG9jYXRpb25fX21hcCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cblxuICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgd2lkdGg6IDY2LjZ2dztcbiAgbWluLWhlaWdodDogNjAwcHg7XG59XG5cbi5sb2NhdGlvbl9fbWFwLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9iaWxlIHNjcm9sbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm1vYmlsZS1zY3JvbGwge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgZm9udCgxOHB4LCAyM3B4KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAxNzBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICBjb2xvcjogJGNvbG9yLW9yYW5nZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIHN2ZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgICByaWdodDogMTBweDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICBjb2xvcjogJGNvbG9yLW9yYW5nZTtcbiAgICBmaWxsOiAkY29sb3Itb3JhbmdlO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmF2aWdhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm5hdmlnYXRpb24ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgdG9wOiAxMDB2aDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMTI1cHg7XG4gICAgcGFkZGluZzogMTJweCAwIDQwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgYmFja2dyb3VuZDogJGFubmEtZ3JlZW47XG4gIH1cblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTEwMHZoO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgYmFja2dyb3VuZDogJGFubmEtZ3JlZW47XG4gIGNvbG9yOiAkYW5uYS1iZWlnZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogOTk7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi8qKlxuICogQ29udGFjdC5cbiAqL1xuXG4ubmF2aWdhdGlvbl9fY29sdW1uLWNvbnRhY3Qge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHdpZHRoOiA0MCU7XG4gIHBhZGRpbmctdG9wOiA5MHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4ubmF2aWdhdGlvbl9fY29udGFjdC1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDIycHg7XG5cbiAgYSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgICAgIH1cblxuICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgfVxuICB9XG59XG5cbi5uYXZpZ2F0aW9uX19jb250YWN0LXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjJweDtcbn1cblxuLm5hdmlnYXRpb25fX2NvbnRhY3QtZWRpdG9yIHtcbiAgQGluY2x1ZGUgZm9udCgxNnB4LCAzMHB4KTtcbn1cblxuXG4vKipcbiAqIFNvY2lhbC5cbiAqL1xuXG4ubmF2aWdhdGlvbl9fc29jaWFsIHtcbiAgJi5pcy1kZXNrdG9wIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgfVxuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYuaXMtbW9iaWxlIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5uYXZpZ2F0aW9uX19zb2NpYWwtdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgQGluY2x1ZGUgZm9udCgyMHB4LCAzNnB4KTtcbiAgICBtYXJnaW46IDEzNXB4IDAgMjFweDtcbiAgfVxuXG4gIG1hcmdpbjogNzBweCAwIDI2cHg7XG4gIGNvbG9yOiAkYW5uYS1iZWlnZTtcbiAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnbWVkaXVtJyk7XG59XG5cbi5uYXZpZ2F0aW9uX19zb2NpYWwtbGlua3Mge1xuICBhIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBAaW5jbHVkZSBmb250KDIwcHgsIDM2cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGZvbnQoMTZweCwgMzBweCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgY29sb3I6ICRhbm5hLWJlaWdlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vKipcbiAqIE1haW4gbWVudS5cbiAqL1xuXG4ubmF2aWdhdGlvbl9fY29sdW1uLW1lbnUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgd2lkdGg6IDYwJTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIHBhZGRpbmc6IDkwcHggMCAwIDk1cHg7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMjBweCk7XG4gIH1cbn1cblxuLm1haW4tbWVudSB7XG4gID4gbGkge1xuICAgIGEge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgICBAaW5jbHVkZSBmb250KDMwcHgsIDQ4cHgpO1xuICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICBjb2xvcjogJGFubmEtZ3JlZW47XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGZvbnQoNDhweCwgNzZweCk7XG4gICAgICBmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdtZWRpdW0nKTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgICAgY29sb3I6ICRhbm5hLWdyZWVuO1xuICAgIH1cblxuICAgICYuY3VycmVudC1tZW51LWl0ZW0sXG4gICAgJjpob3ZlciB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBCYWNrZ3JvdW5kIGhlYWRlci5cbiAqL1xuXG4uaGVhZGVyIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgICAgIGJhY2tncm91bmQ6ICRib3NzLWJlaWdlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRGlzYWJsZSBzY3JvbGwuXG4gKi9cblxuLmJvZHkuaXMtYWN0aXZlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuaGVhZGVyOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMDtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5ld3MgbGlzdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLm5ld3MtbGlzdCB7XG4gIC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vKipcbiAqIEl0ZW1zLlxuICovXG5cbi5uZXdzLWxpc3RfX2l0ZW1zIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ3OXB4KTtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbn1cblxuXG4vKipcbiAqIEl0ZW0uXG4gKi9cblxuLm5ld3MtbGlzdF9faXRlbSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTE1cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOTBweDtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206IDE2NHB4O1xufVxuXG4ubmV3cy1saXN0X19pdGVtLWRhdGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbGVmdDogLTdweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTE0cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMXB4ICRhbm5hLW9yYW5nZTtcbn1cblxuLm5ld3MtbGlzdF9faXRlbS10aXRsZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgcGFkZGluZy10b3A6IDE3NXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBhZGRpbmctdG9wOiAxMTVweDtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206IDI3cHg7XG4gIHBhZGRpbmctdG9wOiAyMjRweDtcbn1cblxuLm5ld3MtbGlzdF9faXRlbS1pbWFnZSB7XG4gIG1heC13aWR0aDogNTcwcHg7XG4gIG1hcmdpbjogMzVweCAwO1xufVxuXG4ubmV3cy1saXN0X19pdGVtLWVkaXRvciB7XG4gIG1heC13aWR0aDogNTcwcHg7XG59XG5cbi5uZXdzLWxpc3RfX2l0ZW0tbGluayB7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG59XG5cblxuLyoqXG4gKiBQYWdpbmF0aW9uLlxuICovXG5cbi5uZXdzLWxpc3RfX3BhZ2luYXRpb24ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgfVxuXG4gIHdpZHRoOiA0NzlweDtcblxuICAucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMzVweDtcblxuICAgIC5wYWdlLW51bWJlcnMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgICB9XG5cbiAgICAucHJldixcbiAgICAubmV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jdXJyZW50LFxuICAgIC5wYWdlLW51bWJlcnM6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmVlbjtcbiAgICB9XG5cbiAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYS5wYWdlLW51bWJlcnM6aG92ZXIge1xuICAgICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgICB9XG4gICAgLy8gc2Fzcy1saW50OmVuYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gIH1cbn1cblxuLm5ld3MtbGlzdF9fc3RpY2t5IHtcbiAgJi5pcy1hY3RpdmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiA4MHB4O1xuICAgIH1cbiAgfVxufVxuXG4ubmV3cy1saXN0X19wYWdpbmF0aW9uLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDtcbn1cblxuLm5ld3MtbGlzdF9fcGFnaW5hdGlvbi1saW5rIHtcbiAgQGluY2x1ZGUgZm9udCgxNnB4LCAyNHB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgfVxufVxuXG4ubmV3cy1saXN0X19wYWdpbmF0aW9uLWRhdGUge1xuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG4gICAgd2lkdGg6IDgwcHg7XG4gIH1cblxuICB3aWR0aDogMTQ1cHg7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUGFydG5lcnMgaW1hZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wYXJ0bmVycy1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA5MXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgcGFkZGluZy10b3A6IDc1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgICB9XG5cbiAgICBwYWRkaW5nLXRvcDogMTUwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE3NXB4O1xuICB9XG59XG5cbi5wYXJ0bmVycy1pbWFnZSArIGRpdjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFubmEtZ3JlZW47XG59XG5cbi5wYXJ0bmVycy1pbWFnZV9fdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIHRvcDogLTYxcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgdG9wOiAtMzFweDtcbiAgICBsZWZ0OiAtOHB4O1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05MnB4O1xuICBsZWZ0OiAtMTVweDtcbn1cblxuLnBhcnRuZXJzLWltYWdlX19jb2x1bW4tcGFydG5lcnMge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgd2lkdGg6IDcyJTtcbn1cblxuLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206IDIyMHB4O1xuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItc3VidGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci10aXRsZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBsZWZ0OiAtOHB4O1xuICB9XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTVweDtcbn1cblxuLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyLXN1YnRpdGxlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBwYWRkaW5nLXRvcDogMTUycHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBhZGRpbmctdG9wOiAxMTBweDtcbiAgfVxuXG4gIG1heC13aWR0aDogNDAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIHBhZGRpbmctdG9wOiAyMzVweDtcbiAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbn1cblxuLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyLWVkaXRvciB7XG4gIG1heC13aWR0aDogNTg1cHg7XG59XG5cbi5wYXJ0bmVycy1pbWFnZV9fY29sdW1uLWltYWdlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgd2lkdGg6IDI4JTtcbn1cblxuLnBhcnRuZXJzLWltYWdlX19pbWFnZSB7XG4gIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1pbi13aWR0aDogNDM1cHg7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcm9wZXJ0eSBtYXBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcm9wZXJ0eS1tYXAge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgbWluLWhlaWdodDogMTI1cHg7XG4gIH1cblxuICAmLmJhY2tncm91bmQtLXByaW1hcnksXG4gICYuYmFja2dyb3VuZC0tcHJpbWFyeS1wYXR0ZXJuLFxuICAmLmJhY2tncm91bmQtLXNlY29uZGFyeSxcbiAgJi5iYWNrZ3JvdW5kLS1zZWNvbmRhcnktcGF0dGVybiB7XG4gICAgLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHM6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZS1saWdodDtcbiAgICB9XG4gIH1cblxuICAmLmJhY2tncm91bmQtLWRlZmF1bHQge1xuICAgIC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzOjpiZWZvcmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYW5uYS1ncmVlbjtcbiAgfVxuXG4gICYuYmFja2dyb3VuZC0tYm9yZGVyICsgLnByb3BlcnR5LW1hcCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgfVxuXG4gICAgcGFkZGluZy10b3A6IDIxNXB4O1xuICB9XG5cbiAgKyAuZm9vdGVyLWN0YSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgcGFkZGluZy10b3A6IDkwcHg7XG4gICAgfVxuXG4gICAgcGFkZGluZy10b3A6IDE4MHB4O1xuICB9XG5cbiAgLndyYXBwZXIge1xuXHQgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4ucHJvcGVydHktbWFwX19jb2x1bW4tZGV0YWlscyB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzAlO1xuICBwYWRkaW5nLXRvcDogOTVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4ucHJvcGVydHktbWFwX19jb2x1bW4tbWFwIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgd2lkdGg6IDcwJTtcbiAgei1pbmRleDogOTk7XG59XG5cbi5wcm9wZXJ0eS1tYXBfX3BsYWNlaG9sZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDk1cHg7XG4gIG1heC13aWR0aDogMjEwcHg7XG4gIHRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlO1xuICBvcGFjaXR5OiAxO1xuXG4gICYuaXMtaGlkZGVuIHtcbiAgICB0b3A6IC0xODBweDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5wcm9wZXJ0eS1tYXBfX3Byb3BlcnRpZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvcGVydHktbWFwX19wcm9wZXJ0eSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTtcbiAgb3BhY2l0eTogMDtcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnByb3BlcnR5LW1hcF9fcHJvcGVydHktdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4ucHJvcGVydHktbWFwX19zY3JvbGxkb3duLWFycm93IHtcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRib3R0b206IDEzNXB4O1xuXHRsZWZ0OiA4N3B4O1xuXHRkaXNwbGF5OiBub25lO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG5cdFx0bGVmdDogNTdweDtcblx0fVxuXG5cdHN2ZyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGFuaW1hdGlvbjoganVtcCAzcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblxuXHRcdHBhdGgge1xuXHRcdFx0ZmlsbDogJGFubmEtb3JhbmdlXG5cdFx0fVxuXHR9XG59XG5cbkBrZXlmcmFtZXMganVtcCB7XG5cdDAlIHtcblx0XHRib3R0b206IDA7XG5cdH1cblxuXHQ1MCUge1xuXHRcdGJvdHRvbTogMTVweDtcblx0fVxuXG5cdDEwMCUge1xuXHRcdGJvdHRvbTogMDtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb3BlcnR5IHNpbmdsZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnByb3BlcnR5LXNpbmdsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA5MXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgcGFkZGluZy10b3A6IDc1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgICB9XG5cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAxNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7XG4gIH1cbn1cblxuLnByb3BlcnR5LXNpbmdsZV9fdGl0bGUge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgIHRvcDogLTYxcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgQGluY2x1ZGUgZm9udCg2MHB4LCA3MnB4KTtcbiAgICB0b3A6IC00MnB4O1xuICAgIGxlZnQ6IC04cHg7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTkycHg7XG4gIGxlZnQ6IC0xNXB4O1xufVxuXG4ucHJvcGVydHktc2luZ2xlX19jb2x1bW4tZGV0YWlscyB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiAyOTBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDsgIFxufVxuXG4ucHJvcGVydHktc2luZ2xlX19zdWJ0aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGNvbG9yOiAkYW5uYS1ncmVlbjtcbn1cblxuLnByb3BlcnR5LXNpbmdsZV9faW5mb3JtYXRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICBjb2xvcjogJGFubmEtZ3JlZW47XG59XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX2NvbHVtbi1tYXAge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDI5MHB4KTtcbn1cblxuLnByb3BlcnR5LXNpbmdsZV9fc2xpZGVzaG93LWltYWdlcyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ncmVlbjtcbn1cblxuLnByb3BlcnR5LXNpbmdsZV9fbmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG5cbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMThweDtcbiAgICBjb2xvcjogJGFubmEtZ3JlZW47XG5cbiAgICAmLmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYW5uYS1ncmVlbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcm9wZXJ0eSB0eXBlIGl0ZW1cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5wcm9wZXJ0eS10eXBlLWl0ZW0ge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgfVxuXG4gIHdpZHRoOiBjYWxjKDUwJSAtIDQ3LjVweCk7XG4gIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuXG4gIC5idXR0b24tLWFycm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBub3JtYWw7XG4gIH1cblxuICAuYnV0dG9uLS1hcnJvdyBzdmcge1xuICAgIHRvcDogNXB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgfVxufVxuXG4ucHJvcGVydHktdHlwZS1pdGVtX19oZWFkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucHJvcGVydHktdHlwZS1pdGVtX19hdmFpbGFibGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzBweDtcbiAgbGVmdDogMzBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwIDEzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgY29sb3I6ICRhbm5hLWJlaWdlOyBcbn1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9faW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX3RvdGFsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4ucHJvcGVydHktdHlwZS1pdGVtX190ZWFzZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKipcbiAqIENvbG9ycy5cbiAqL1xuXG4ucHJvcGVydHktdHlwZS1saXN0IHtcbiAgJi5iYWNrZ3JvdW5kLS1ncmVlbiB7XG4gICAgLnByb3BlcnR5LXR5cGUtaXRlbV9fdG90YWwge1xuICAgICAgY29sb3I6ICRhbm5hLWJlaWdlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRib3NzLWJlaWdlO1xuICAgIH1cbiAgfVxuXG4gICYuYmFja2dyb3VuZC0tZGVmYXVsdCB7XG4gICAgLnByb3BlcnR5LXR5cGUtaXRlbV9fdG90YWwge1xuICAgICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYW5uYS1vcmFuZ2U7XG4gICAgfVxuICB9XG5cbiAgJi5iYWNrZ3JvdW5kLS1iZWlnZSB7XG4gICAgLnByb3BlcnR5LXR5cGUtaXRlbV9fdG90YWwge1xuICAgICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYW5uYS1vcmFuZ2U7XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvcGVydHkgdHlwZSBsaXN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4ucHJvcGVydHktdHlwZS1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xuICAgICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgcGFkZGluZy10b3A6IDE2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMzBweDtcbiAgfVxufVxuXG4ucHJvcGVydHktdHlwZS1saXN0X190aXRsZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgdG9wOiAtNjFweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBAaW5jbHVkZSBmb250KDUwcHgsIDcycHgpO1xuICAgIHRvcDogLTQycHg7XG4gICAgbGVmdDogLThweDtcbiAgfVxuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTJweDtcbiAgbGVmdDogLTE1cHg7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2xpZGVzaG93XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uc2xpZGVzaG93IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLnNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgIG1hcmdpbjogNzBweCA0MHB4IDgwcHg7XG4gICAgcGFkZGluZzogMzVweCAwIDA7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzMCU7XG4gIHBhZGRpbmc6IDkwcHggMzVweCAwIDA7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDMzcHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZDogJGFubmEtZGFyay1ncmVlbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4uc2xpZGVzaG93X190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IFxufVxuXG4uc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHdpZHRoOiA3MCU7XG59XG5cbi5zbGlkZXNob3dfX2ltYWdlcyB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHBvc2l0aW9uOiBpbml0aWFsO1xuICB3aWR0aDogNjYuNnZ3O1xuXG4gIC5vd2wtbmF2IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIxMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFubmEtYmVpZ2U7XG5cbiAgICAub3dsLXByZXYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAub3dsLW5leHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDM0cHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBmaWxsOiAkYW5uYS1vcmFuZ2U7XG4gICAgfVxuICB9XG5cbiAgLm93bC1kb3RzIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICBib3R0b206IC0zNXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0yOHB4O1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAub3dsLWRvdCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTRweDtcbiAgICAgIH1cblxuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAmLnBhZ2luYXRpb24tcmVkIC5vd2wtZG90IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkYW5uYS1kYXJrLWdyZWVuO1xuICAgIH1cblxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRhbm5hLWRhcmstZ3JlZW47XG5cbiAgICAmLmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFubmEtZGFyay1ncmVlbjtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFubmEtZGFyay1ncmVlbjtcbiAgICB9XG4gIH1cblxuICAmLnBhZ2luYXRpb24tZ3JlZW4gLm93bC1kb3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRhbm5hLWRhcmstZ3JlZW47XG4gICAgfVxuXG4gICAgYm9yZGVyOiAycHggc29saWQgJGFubmEtZGFyay1ncmVlbjtcblxuICAgICYuYWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYW5uYS1kYXJrLWdyZWVuO1xuICAgICAgfVxuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYW5uYS1kYXJrLWdyZWVuO1xuICAgIH1cbiAgfVxufVxuXG4uc2xpZGVzaG93X19zbGlkZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA2Ni42dnc7XG4gIG1pbi1oZWlnaHQ6IDYwMHB4O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgaW1hZ2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi50ZXh0LWltYWdlIHtcbiAgLndyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTEwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgcGFkZGluZy10b3A6IDY1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTBweDtcbiAgICB9XG5cbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE3NXB4O1xuICB9XG5cbiAgJi5iYWNrZ3JvdW5kLS1kZWZhdWx0IHtcbiAgICAuYnV0dG9uLS1ib3JkZXIge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWdyZWVuO1xuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgICAgZmlsbDogJGNvbG9yLWdyZWVuO1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZS1saWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLS1hcnJvdyB7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xuXG4gICAgICBzdmcge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgICAgICBmaWxsOiAkY29sb3ItZ3JlZW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50ZXh0LWltYWdlX19jb2x1bW4tdGV4dCB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgd2lkdGg6IDU0JTtcbiAgcGFkZGluZy1yaWdodDogMTAwcHg7XG59XG5cbi50ZXh0LWltYWdlX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi50ZXh0LWltYWdlX19lZGl0b3Ige1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xufVxuXG4udGV4dC1pbWFnZV9fY29sdW1uLWltYWdlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgd2lkdGg6IDQ2JTtcblxuICAjcGxheSB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zIGVhc2U7XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSA1MHB4KTtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDM5cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgY29sb3I6ICRhbm5hLW9yYW5nZTtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRleHQgc2xpZGVzaG93XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udGV4dC1zbGlkZXNob3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLndyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNTFweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1NXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gICAgfVxuXG4gICAgcGFkZGluZy10b3A6IDEyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxODBweDtcbiAgfVxuXG4gICYuYmFja2dyb3VuZC0tZGVmYXVsdCB7XG4gICAgLm93bC1uYXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xuXG4gICAgICBzdmcge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XG4gICAgICAgIGZpbGw6ICRjb2xvci1ibHVlLWxpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vd2wtZG90IHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ncmVlbjtcblxuICAgICAgJi5hY3RpdmUsXG4gICAgICAmOmhvdmVyIHsgICAgICAgIFxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5iYWNrZ3JvdW5kLS1kZWZhdWx0LFxuICAmLmJhY2tncm91bmQtLWdyZWVuLFxuICAmLmJhY2tncm91bmQtLWJlaWdlIHtcbiAgICAub3dsLW5hdiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYW5uYS1vcmFuZ2U7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGNvbG9yOiAkYW5uYS1kYXJrLWdyZWVuO1xuICAgICAgICBmaWxsOiAkYW5uYS1kYXJrLWdyZWVuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5vd2wtZG90IHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRhbm5hLWRhcmstZ3JlZW47XG5cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJjpob3ZlciB7ICAgICAgICBcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFubmEtZGFyay1ncmVlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRleHQtc2xpZGVzaG93X193cmFwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRleHQtc2xpZGVzaG93X190aXRsZSB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG4gICAgdG9wOiAtNjFweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICB0b3A6IC0zMnB4O1xuICAgIGxlZnQ6IC04cHg7XG4gIH1cblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTkycHg7XG4gIGxlZnQ6IC0xNXB4O1xufVxuXG4udGV4dC1zbGlkZXNob3dfX3RpdGxlICsgZGl2IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG5cbiAgcGFkZGluZy10b3A6IDQwcHg7XG59XG5cbi50ZXh0LXNsaWRlc2hvd19fYmxvY2stdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xufVxuXG5cbi8qKlxuICogU2xpZGVzaG93LlxuICovXG5cbi50ZXh0LWltYWdlX19zbGlkZXNob3cge1xuXG4gIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgICAgd2lkdGg6IDE3OTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcbiAgICAgIHdpZHRoOiAxMjA1cHg7XG4gICAgfVxuICB9XG5cbiAgLm93bC1uYXYge1xuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTI1cHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogYXV0byAwO1xuXG4gICAgLm93bC1wcmV2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm93bC1uZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgZmlsbDogJGFubmEtb3JhbmdlO1xuICAgIH1cbiAgfVxuXG4gIC5vd2wtZG90cyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtMzVweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMjhweDtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgLm93bC1kb3Qge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDE0cHg7XG4gICAgICB9XG5cbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBTbGlkZXMuXG4gKi9cblxuLnRleHQtaW1hZ2VfX3NsaWRlIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XG4gICAgd2lkdGg6IDM3NXB4O1xuICAgIGhlaWdodDogMzYwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMyMHB4O1xuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNTc1cHg7XG4gIGhlaWdodDogNTYwcHg7XG59XG5cblxuLyoqXG4gKiBTbGlkZXNob3cgcG9zaXRpb24uXG4gKi9cblxuLnRleHQtc2xpZGVzaG93X19ibG9jayB7XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICBhbGlnbi1pdGVtczogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xuICB9XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMjBweDtcblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1yaWdodCB7XG4gICAgLnRleHQtc2xpZGVzaG93X19jb2x1bW4tdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM3NXB4KTtcbiAgICAgICAgcGFkZGluZzogMCA1MHB4IDAgMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgNDBweDtcbiAgICAgIH1cblxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU3NXB4KTtcbiAgICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgICBwYWRkaW5nOiAwIDUwcHggMCAxMDBweDtcbiAgICB9XG5cbiAgICAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XG4gICAgICAgIHdpZHRoOiAzNzVweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgd2lkdGg6IDU3NXB4O1xuICAgIH1cbiAgfVxuXG4gICYudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzc1cHgpO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xuICAgICAgfVxuXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTc1cHgpO1xuICAgICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMTAwcHggMCA1MHB4O1xuICAgIH1cblxuICAgIC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICB3aWR0aDogNTc1cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xuICAgICAgICB3aWR0aDogMzc1cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5vd2wtY2Fyb3VzZWwge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5vd2wtbmF2IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub3dsLWRvdHMge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG4gICAgICAgIHJpZ2h0OiAtMjhweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYm9zcy1wb3B1cCB7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiA1MCU7XG5cdGxlZnQ6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cdHotaW5kZXg6IDk5OTk7XG5cdHdpZHRoOiA1NDlweDtcbiAgICBoZWlnaHQ6IDM3MHB4O1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLXBhdGggKyAnYW5uYXBvcHVwLnN2ZycpO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcblx0b3BhY2l0eTogMDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xuXHRcdHdpZHRoOiAzMjBweDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHR9XG5cblx0Ji5pcy1hY3RpdmUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcblx0fVxuXG5cdC5ib3NzLXBvcHVwX193cmFwcGVyIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDU0OXB4O1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRtYXgtaGVpZ2h0OiAzNzBweDtcblx0XHRwYWRkaW5nOiA3MHB4IDQwcHggNDBweCA0MHB4O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG5cdFx0XHR3aWR0aDogMzIwcHg7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0aGVpZ2h0OiBmaXQtY29udGVudDtcblx0XHR9XG5cdH1cblxuXHQucG9wdXBfX2Nsb3NlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiA0MHB4O1xuXHRcdHJpZ2h0OiAyNHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuXHRcdFx0dG9wOiAyMHB4O1xuXHRcdFx0cmlnaHQ6IDIwcHg7XG5cdFx0fVxuXG5cdFx0c3ZnIHtcblx0XHRcdHdpZHRoOiA0MHB4O1xuXHRcdFx0aGVpZ2h0OiA0MHB4O1xuXG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNDBweCkge1xuXHRcdFx0XHR3aWR0aDogMzJweDtcblx0XHRcdFx0aGVpZ2h0OiAzMnB4O1xuXHRcdFx0fVxuXG5cdFx0XHRwYXRoIHtcblx0XHRcdFx0c3Ryb2tlOiAkYW5uYS1kYXJrLWdyZWVuO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5wb3B1cF9fdGl0bGUge1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y29sb3I6ICRhbm5hLW9yYW5nZTtcblx0XHRtYXJnaW4tYm90dG9tOiAxMnB4O1xuXHRcdGZvbnQtc2l6ZTogNC44cmVtICFpbXBvcnRhbnQ7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMTI1ZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiB1bnNldDtcbiAgICAgICAgb3ZlcmZsb3c6IHVuc2V0O1xuXHRcdGZvbnQtc2l6ZTogMTIwcHg7XG5cdFx0LXdlYmtpdC10ZXh0LXN0cm9rZTogdW5zZXQ7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG5cdFx0XHRmb250LXNpemU6IDQwcHggIWltcG9ydGFudDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxMjAlO1xuXHRcdH1cblx0fVxuXG5cdC5wb3B1cF9fZWRpdG9yIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdCoge1xuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNDBweCkge1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnBvcHVwX19saW5rIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRnYXA6IDEycHg7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuXHRcdGNvbG9yOiAkYW5uYS1kYXJrLWdyZWVuO1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzQwcHgpIHtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHR9XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGdhcDogMTZweDtcblx0XHR9XG5cblx0XHRzdmcge1xuXHRcdFx0d2lkdGg6IDM1cHg7XG5cdFx0XHRoZWlnaHQ6IDMycHg7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcblx0XHRcdGNvbG9yOiAkYW5uYS1kYXJrLWdyZWVuO1xuICAgIFx0XHRmaWxsOiAkYW5uYS1kYXJrLWdyZWVuO1xuXHRcdH1cblx0fVxufVxuXG4uYm9zcy1wb3B1cF9fYmcge1xuXHRvcGFjaXR5OiAwO1xuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcblx0cG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4zNSk7XG4gICAgei1pbmRleDogOTk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuXG5cdCYuaXMtYWN0aXZlIHtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XG5cdH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29sb3JcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29sb3IgdXRpbGl0eSBjbGFzc2VzLlxuICovXG5cbi8vIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGNvbG9yIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIHV0aWxpdHkgY2xhc3NlcyBiYXNlZCBvblxuLy8gZXZlcnkgY29sb3IgZGVmaW5pdGlvbiBpbiBgc2V0dGluZ3MvX2NvbG9yLnNjc3NgLlxuLy9cbi8vIExvb3AgdGhyb3VnaCBldmVyeSBgJGtleWAgYW5kIGAkbWFwYCBpbiB0aGUgYCRjb2xvcnNgIHZhcmlhYmxlIG1hcCBkZWZpbmVkIGluXG4vLyBgc2V0dGluZ3MvX2NvbG9yLnNjc3NgLlxuQGVhY2ggJGtleSwgJG1hcCBpbiAkY29sb3JzIHtcblxuICAvLyBMb29wIHRocm91Z2ggZXZlcnkgYCRzaGFkZWAgYW5kIGAkcmdiYCBpbiBgJG1hcGAuXG4gIEBlYWNoICRzaGFkZSwgJHJnYiBpbiAkbWFwIHtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBldmVyeSBgY29sb3JgIGFuZCBgYmFja2dyb3VuZC1jb2xvcmAgcnVsZXMuXG4gICAgQGVhY2ggJHJ1bGUgaW4gY29sb3IsIGJhY2tncm91bmQtY29sb3Ige1xuXG4gICAgICAvKipcbiAgICAgICAqIGAjeyRydWxlfWAgI3skcmdifS0jeyRzaGFkZX0gY29sb3IgdXRpbGl0eS5cbiAgICAgICAqL1xuXG4gICAgICAuI3skcnVsZX0tI3t1bnF1b3RlKCRrZXkpfS0je3VucXVvdGUoJHNoYWRlKX0ge1xuICAgICAgICAjeyRydWxlfTogJHJnYjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEdlbmVyaWMgaGVscGVyIGNsYXNzZXMuXG4gKi9cblxuXG4vLyBWaXN1YWxseSBIaWRkZW5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogVmlzdWFsbHkgaGlkZSBhbnkgZWxlbWVudCBmcm9tIHRoZSB1c2VyLlxuICovXG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBjbGlwLXBhdGg6IGluc2V0KDFweCk7XG59XG5cblxuLy8gTGF6eWxvYWRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogTWFrZSBsYXp5bG9hZCBwbGFjZWhvbGRlciAxMDAlIHdpZGUuXG4gKi9cblxuLmxhenlsb2FkIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy8gT2JqZWN0IEZpdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBIZWxwZXIgY2xhc3MgZm9yIG9iamVjdCBmaXQgcG9seWZpbGwuIEFkZCB0aGlzIGNsYXNzIHRvIGFueSBlbGVtZW50XG4gKiB0aGF0IHV0aWxpemVzIHRoZSBgb2JqZWN0LWZpdGAgcHJvcGVydHkuXG4gKi9cblxuLm9iamVjdC1maXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3ZlcjsnO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuXG4vLyBBbGlnbm1lbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFsaWduIGNlbnRlci5cbiAqL1xuXG4uYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKipcbiAqIEFsaWduIGxlZnQuXG4gKi9cblxuLmFsaWduLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKipcbiAqIEFsaWduIHJpZ2h0LlxuICovXG5cbi5hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vLyBXaWR0aHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIDYwJSB3aWR0aFxuLnc2MCB7XG4gIHdpZHRoOiA2MCU7XG59XG5cbi8vIDQwJSB3aWR0aFxuLnc0MCB7XG4gIHdpZHRoOiA0MCU7XG59XG5cbi8vIDUwJSB3aWR0aFxuLnc1MCB7XG4gIHdpZHRoOiA1MCU7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgT2JqZWN0IEZpdFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBPYmplY3QgZml0LlxuICpcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXG4gKi9cblxuLy8gTG9vcCB0aHJvdWdoIGV2ZXJ5IHZhbHVlIGZvciB0aGUgYG9iamVjdC1maXRgIHByb3BlcnR5LlxuQGVhY2ggJHZhbHVlIGluIGZpbGwsIGNvbnRhaW4sIGNvdmVyLCBub25lLCBzY2FsZS1kb3duIHtcblxuICAvKipcbiAgICogYG9iamVjdC1maXRgICN7JHZhbHVlfSB1dGlsaXR5IGNsYXNzLlxuICAgKi9cblxuICAuI3skdmFsdWV9IHtcbiAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6ICN7JHZhbHVlfTsnOyAvKiAxICovXG4gICAgb2JqZWN0LWZpdDogI3skdmFsdWV9O1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUG9zaXRpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUG9zaXRpb24gdXRpbGl0eSBjbGFzcy5cbiAqL1xuXG5AZWFjaCAkdmFsdWUgaW4gc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kge1xuICAuI3skdmFsdWV9IHtcbiAgICBwb3NpdGlvbjogJHZhbHVlO1xuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBGb250IGZhbWlseSB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cblxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xuICAgIEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRmb250LWZhbWlseSB7XG4gICAgICAudGV4dC0jeyRrZXl9LSN7JHByb3BlcnR5fSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJHByb3BlcnR5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vKipcbiAqIFRleHQgc2l6ZSB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cblxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xuICAgIEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRmb250LXNpemUge1xuICAgICAgLnRleHQtI3ska2V5fS0jeyRwcm9wZXJ0eX0ge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0KCRwcm9wZXJ0eSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBUZXh0IGFsaWdubWVudCB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cblxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xuICAgIEBlYWNoICRkaXJlY3Rpb24gaW4gbGVmdCwgcmlnaHQsIGNlbnRlciB7XG4gICAgICAudGV4dC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZGlyZWN0aW9uO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxuICpcbiAqIDEuIE11bHRpcGx5IGxvb3BlZCBpbnRlZ2VyIGJ5IDEwMCBmb3IgY29ycmVjdCBmb250IHdlaWdodCB2YWx1ZS5cbiAqL1xuXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xuICBAaW5jbHVkZSBtZWRpYSgka2V5KSB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcbiAgICAgICRpOiAkaSAqIDEwMDsgLy8gWzFdXG5cbiAgICAgIC50ZXh0LSN7JGtleX0tI3skaX0ge1xuICAgICAgICBmb250LXdlaWdodDogI3skaX07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXG4gKi9cblxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xuICAgIEBlYWNoICR0cmFuc2Zvcm0gaW4gY2FwaXRhbGl6ZSwgdXBwZXJjYXNlLCBsb3dlcmNhc2UsIG5vbmUsIGZ1bGwtd2lkdGgge1xuICAgICAgLnRleHQtI3ska2V5fS0jeyR0cmFuc2Zvcm19IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmVydGljYWwgUmh5dGhtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AZm9yICRpIGZyb20gMCB0aHJvdWdoIDEwIHtcbiAgJGk6ICRpICogODtcblxuICAudnItI3skaX0ge1xuICAgIG1hcmdpbi1ib3R0b206ICN7JGl9cHg7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBaLWluZGV4XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFV0aWxpdHkgY2xhc3NlcyBmb3IgbWFuaXB1bGF0aW5nIHN0YWNraW5nIG9yZGVyIGluIEhUTUwuXG4gKi9cblxuQGVhY2ggJGtleSwgJHZhbHVlIGluICR6LWluZGV4IHtcbiAgLnotaW5kZXgtI3ska2V5fSB7XG4gICAgei1pbmRleDogJHZhbHVlO1xuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gWi1pbmRleFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gQSBsaW1pdGVkIGFycmF5IG9mIHZhbHVlcyBmb3IgdGhlIGB6LWluZGV4YCBwcm9wZXJ0eSB0byBwcmV2ZW50XG4vLyBleGFnZ2VyYXRlZCBhbW91bnRzIGFuZCB1Z2x5IGhhY2tzLlxuXG4kei1pbmRleDogKFxuICAnMCc6ICAwLFxuICAnMSc6ICAxMCxcbiAgJzInOiAgMjAsXG4gICczJzogIDMwLFxuICAnNCc6ICA0MCxcbiAgJzUnOiAgNTAsXG4gICc2JzogIDYwLFxuICAnNyc6ICA3MCxcbiAgJzgnOiAgODAsXG4gICc5JzogIDkwLFxuICAnMTAnOiAxMDBcbik7XG4iLCIuaWZyYW1lIHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHdpZHRoOiA1NjBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uaWZyYW1lIGltZyB7XG4gIG1heC13aWR0aDoxMDAlO1xuICBoZWlnaHQ6YXV0bztcbn1cblxuLmlmcmFtZSBpZnJhbWUge1xuICBkaXNwbGF5Om5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLnBsYXktYnRuIHtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHotaW5kZXg6NjY2O1xuICB0b3A6IGNhbGMoNTAlIC0gNTBweCk7XG4gIGxlZnQ6NTAlO1xuICB0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuICBib3JkZXI6MDtcbn1cblxuLnBsYXktYnRuOmhvdmVyIHtcbiAgY3Vyc29yOnBvaW50ZXI7XG59XG5cbi5wbGF5LWJ0bjpmb2N1cyB7XG4gIG91dGxpbmU6MDtcbn1cbiJdfQ== */
