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

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

@font-face {
  font-family: 'Predige-Regular';
  src: url("/wp-content/themes/flex/assets/fonts/Predige-Regular.otf") format("OpenType"), url("/wp-content/themes/flex/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: white;
  color: black;
  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: black;
  fill: black; }
  .background--default::before {
    background: white; }
  .background--default h1,
  .background--default h2 {
    color: black; }
  .background--default .button--arrow {
    color: black; }
    .background--default .button--arrow svg {
      color: black;
      fill: black; }
  .background--default .button--border {
    border: 2px solid black;
    color: black; }
    .background--default .button--border svg {
      color: black;
      fill: black; }

.background--gradient {
  color: black;
  fill: black; }
  .background--gradient::before {
    background: linear-gradient(180deg, #FFED00 32.09%, #F39200 81.07%, #FF5047 100%); }
  .background--gradient h1,
  .background--gradient h2 {
    color: black; }
  .background--gradient .button--arrow {
    color: black; }
    .background--gradient .button--arrow svg {
      color: black;
      fill: black; }
  .background--gradient .button--border {
    border: 2px solid black;
    color: black; }
    .background--gradient .button--border svg {
      color: black;
      fill: black; }

.background--grey {
  color: black;
  fill: black; }
  .background--grey::before {
    background: #e7e6dd; }
  .background--grey h1,
  .background--grey h2 {
    color: black; }
  .background--grey .button--arrow {
    color: black; }
    .background--grey .button--arrow svg {
      color: black;
      fill: black; }
  .background--grey .button--border {
    border: 2px solid black;
    color: black; }
    .background--grey .button--border svg {
      color: black;
      fill: black; }

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

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

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

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

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

@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: 0;
      padding-top: 0; } }

/* ==========================================================================
   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 #d99b68;
    color: #d99b68; }
    .button--border.is-orange svg {
      color: #d99b68;
      fill: #d99b68; }
    .button--border.is-orange::after {
      background: #d99b68; }
    .button--border.is-orange:hover {
      color: #595a4e; }
  .button--border.is-brown {
    border: 2px solid black;
    color: black; }
    .button--border.is-brown svg {
      color: black;
      fill: black; }
    .button--border.is-brown::after {
      background: black; }
    .button--border.is-brown:hover {
      color: #f0e4cb; }
  .button--border.is-black {
    border: 2px solid black;
    color: black; }
    .button--border.is-black svg {
      color: black;
      fill: black; }
    .button--border.is-black::after {
      background: black; }
    .button--border.is-black:hover {
      color: #fff200; }
  .button--border.is-green {
    border: 2px solid black;
    color: black; }
    .button--border.is-green svg {
      color: black;
      fill: black; }
    .button--border.is-green::after {
      background: black; }
    .button--border.is-green:hover {
      color: #fff200; }

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

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

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

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

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

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

.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: #fff200;
    color: black; }
  .content-constraint ::selection {
    background-color: #fff200;
    color: black; }

/* ==========================================================================
   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: 2px black;
  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;
      overflow: hidden; } }

/* ==========================================================================
   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;
  -webkit-text-stroke: 2px #fff200; }
  @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;
  -webkit-text-stroke: 2px #fff200; }
  @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 {
  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;
  -webkit-text-stroke: 2px #fff200; }
  @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: #fff200; }

/* ==========================================================================
   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 a {
    transition: all 250ms ease; }
    .footer-columns a:hover {
      color: #fff200; }

.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-logo img {
    max-width: 300px;
    max-height: 90px;
    height: 100%;
    width: 100%;
    -o-object-fit: contain;
       object-fit: contain; }

.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;
  font-weight: 600; }
  @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: flex;
  align-items: center; }
  .footer-columns__social-links a svg {
    margin-right: 10px;
    width: 20px;
    height: 20px; }
    .footer-columns__social-links a svg path {
      transition: all 300ms ease-in-out; }
  .footer-columns__social-links a:hover {
    color: #fff200; }
    .footer-columns__social-links a:hover svg path {
      fill: #fff200; }

/* ==========================================================================
   Footer CTA
   ========================================================================== */
.footer-cta {
  overflow: hidden;
  z-index: 2; }
  .footer-cta.is-homepage::before {
    background: #fe5046; }
  .footer-cta .wrapper {
    position: relative; }
  .footer-cta::before {
    background: #ffffff; }

.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: black;
  color: #fff200; }
  @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: black; }
  @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 white;
  color: white; }
  @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 #fff200;
      color: #fff200; } }

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

/* ==========================================================================
   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 black;
  color: black; }
  .header__button svg {
    color: black;
    fill: black; }
  .header__button::after {
    background: black; }
  .header__button:hover {
    color: #fff200; }
  .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: black; }
    .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: black;
      opacity: 1; }
    .header__menu-button span:nth-child(3) {
      bottom: 0;
      transition: background-color 400ms, bottom 400ms 400ms, transform 400ms 0s;
      background-color: black; }
  .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.
 */
.header--secondary .header__button {
  border: 2px solid black;
  color: black; }
  .header--secondary .header__button svg {
    color: black;
    fill: black; }
  .header--secondary .header__button::after {
    background: black; }
  .header--secondary .header__button:hover {
    color: #fff200; }

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

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

/* ==========================================================================
   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 black;
  background: transparent;
  color: black; }

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

input::-moz-placeholder {
  color: black; }

input:-ms-input-placeholder {
  color: black; }

input::placeholder {
  color: black; }

/**
 * 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: black; }
  .homedna-survey .wrap-question a {
    color: #fff200;
    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 black; }
  .homedna-survey input[type=radio]:checked,
  .homedna-survey input[type=checkbox]:checked {
    background-color: black; }

.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 black;
  color: black;
  cursor: pointer; }
  .homedna-survey .btn-style svg {
    position: absolute;
    top: 6px;
    right: -37px;
    width: 35px;
    transition: all 250ms ease;
    color: black;
    fill: black; }
  .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: black;
    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; }

.question-type-radio {
  display: flex !important;
  flex-wrap: wrap;
  height: 100px; }

/* ==========================================================================
   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: black;
    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: black;
  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: black;
    fill: black; }

/* ==========================================================================
   Navigation
   ========================================================================== */
.navigation {
  position: fixed;
  top: -100vh;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 500ms ease;
  background: linear-gradient(180deg, #FFED00 32.09%, #F39200 81.07%, #FF5047 100%);
  color: black;
  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: linear-gradient(180deg, #FFED00 32.09%, #F39200 81.07%, #FF5047 100%); } }
  .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: #fff200; } }

.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.is-mobile .navigation__social-title, .navigation__social.is-mobile .navigation__social-links a {
    color: #f9eee1; }

.navigation__social-title {
  margin: 70px 0 26px;
  color: black;
  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: black; }
  @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: #fff200; } }

/**
 * 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";
  color: #f9eee1;
  transition: all 250ms ease; }
  @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: black; } }

.main-menu > li.current-menu-item a, .main-menu > li:hover a {
  color: #fff200; }
  @media only screen and (max-width: 899px) {
    .main-menu > li.current-menu-item a, .main-menu > li:hover a {
      color: black;
      text-decoration: underline; } }

/**
 * 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: #ffed00;
    content: ''; } }

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

@media only screen and (max-width: 899px) {
  .main-menu-container {
    margin-top: 50px; } }

/* ==========================================================================
   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: 2px #fff200; }
  @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: #fff200; }

@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: #fff200; }

.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__title {
  position: absolute;
  top: -92px;
  left: -15px;
  -webkit-text-stroke: 2px black; }
  @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;
  -webkit-text-stroke: 2px black; }
  @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: #fff200; }
  @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: black; }

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

.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: 1199px) {
    .property-map__column-details {
      overflow: visible; } }
  @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: 10; }
  @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; }
    @media only screen and (max-width: 1199px) {
      .property-map__property.is-active {
        background-color: white;
        overflow: visible;
        z-index: 99; } }

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

.property-map__scrolldown-arrow {
  position: absolute;
  bottom: 135px;
  left: 87px; }
  @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; }

@-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: black; }

.property-single__information {
  margin-bottom: 35px;
  color: black; }

.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;
  bottom: -38px; }
  .property-single__navigation button {
    margin-left: 18px;
    color: black; }
    .property-single__navigation button.active, .property-single__navigation button:hover {
      border-bottom: 2px solid black; }

/* ==========================================================================
   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: #fff200;
  color: black; }

.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--brown .property-type-item__total {
  border-bottom: 2px solid black; }

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

/* ==========================================================================
   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;
  position: relative;
  min-height: 500px; }
  @media only screen and (max-width: 1199px) {
    .slideshow {
      min-height: 600px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .slideshow {
      min-height: 500px; } }
  @media only screen and (max-width: 899px) {
    .slideshow .wrapper {
      flex-direction: column-reverse;
      padding: 0; } }

.header + .slideshow {
  margin-top: 210px;
  padding-top: 0; }
  @media only screen and (max-width: 899px) {
    .header + .slideshow {
      display: flex;
      flex-wrap: wrap;
      flex-direction: column-reverse;
      margin-top: 125px; } }

.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: black;
    content: ''; }
    @media only screen and (max-width: 899px) {
      .slideshow__column-text::before {
        height: 2px; } }

.slideshow__title {
  margin-bottom: 25px;
  color: black; }

.slideshow__column-images {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 60%;
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 899px) {
    .slideshow__column-images {
      position: relative;
      width: 100%; } }

.slideshow__images {
  position: initial;
  width: 100%;
  margin-top: auto; }
  @media only screen and (max-width: 899px) {
    .slideshow__images {
      width: 100%;
      margin-top: 0; } }
  .slideshow__images .owl-nav {
    position: absolute;
    top: 210px;
    right: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    margin: auto 0;
    background-color: #fff200; }
    @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; }
  .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 black; }
    @media only screen and (max-width: 899px) {
      .slideshow__images.pagination-red .owl-dot {
        border: 2px solid black; } }
    .slideshow__images.pagination-red .owl-dot.active, .slideshow__images.pagination-red .owl-dot:hover {
      background-color: black; }
      @media only screen and (max-width: 899px) {
        .slideshow__images.pagination-red .owl-dot.active, .slideshow__images.pagination-red .owl-dot:hover {
          background-color: black; } }
  .slideshow__images.pagination-green .owl-dot {
    border: 2px solid black; }
    @media only screen and (max-width: 899px) {
      .slideshow__images.pagination-green .owl-dot {
        border: 2px solid black; } }
    .slideshow__images.pagination-green .owl-dot.active, .slideshow__images.pagination-green .owl-dot:hover {
      background-color: black; }
      @media only screen and (max-width: 899px) {
        .slideshow__images.pagination-green .owl-dot.active, .slideshow__images.pagination-green .owl-dot:hover {
          background-color: black; } }

.slideshow__slide {
  position: relative;
  margin-left: auto;
  aspect-ratio: 16/10; }
  .slideshow__slide img {
    aspect-ratio: 16/10; }

/* ==========================================================================
   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 black;
  color: black; }
  .text-image.background--default .button--border svg {
    color: black;
    fill: black; }
  .text-image.background--default .button--border::after {
    background: black; }
  .text-image.background--default .button--border:hover {
    color: #fff200; }

.text-image.background--default .button--arrow {
  color: black; }
  .text-image.background--default .button--arrow svg {
    color: black;
    fill: black; }

.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;
      background-color: #595a4e;
      border-radius: 50%;
      left: calc(50% - 50px); }
      .text-image__column-image #play span svg {
        width: 39px;
        height: 48px;
        margin-left: 6px;
        color: #fff200; }
    .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--brown .owl-nav, .text-slideshow.background--beige .owl-nav {
    background-color: #fff200; }
    .text-slideshow.background--default .owl-nav svg, .text-slideshow.background--brown .owl-nav svg, .text-slideshow.background--beige .owl-nav svg {
      color: black;
      fill: black; }
  .text-slideshow.background--default .owl-dot, .text-slideshow.background--brown .owl-dot, .text-slideshow.background--beige .owl-dot {
    border: 2px solid black; }
    .text-slideshow.background--default .owl-dot.active, .text-slideshow.background--default .owl-dot:hover, .text-slideshow.background--brown .owl-dot.active, .text-slideshow.background--brown .owl-dot:hover, .text-slideshow.background--beige .owl-dot.active, .text-slideshow.background--beige .owl-dot:hover {
      background-color: black; }

.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;
  background-color: black; }
  @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: #fff200; }

.text-image__slideshow .owl-dots {
  position: absolute;
  bottom: 0;
  margin-left: -28px;
  z-index: 2;
  display: block !important; }
  @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;
    border: 2px solid black; }
    @media only screen and (max-width: 899px) {
      .text-image__slideshow .owl-dots .owl-dot {
        margin: 0 0 0 14px; } }
    .text-image__slideshow .owl-dots .owl-dot.active, .text-image__slideshow .owl-dots .owl-dot:hover {
      background-color: black; }
      @media only screen and (max-width: 899px) {
        .text-image__slideshow .owl-dots .owl-dot.active, .text-image__slideshow .owl-dots .owl-dot:hover {
          background-color: black; } }

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

.popup {
  background: url("../images/popup_bg.svg");
  background-repeat: no-repeat;
  background-size: cover;
  position: fixed;
  width: 549px;
  height: 370px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 100;
  padding: 65px 50px;
  opacity: 0;
  transition: all 300ms ease-in-out;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  pointer-events: none; }
  @media only screen and (max-width: 599px) {
    .popup {
      width: 320px;
      padding: 20px;
      border: none;
      background-size: contain; } }
  .popup.is-active {
    opacity: 1;
    pointer-events: all; }
  .popup::before {
    display: none;
    content: '';
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: black; }
  .popup::after {
    display: none;
    content: '';
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: black; }

.popup__close {
  width: 25px;
  height: 25px;
  position: absolute;
  right: 30px;
  top: 60px;
  cursor: pointer;
  transition: all 300ms ease-in-out; }
  @media only screen and (max-width: 599px) {
    .popup__close {
      width: 20px;
      height: 20px;
      top: 20px;
      right: 20px; } }
  .popup__close:hover {
    opacity: 0.7; }

.popup__link {
  margin-top: 30px; }
  @media only screen and (max-width: 599px) {
    .popup__link {
      margin-top: 10px; } }

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

@media only screen and (max-width: 599px) {
  .popup__editor h2 {
    font-size: 40px;
    line-height: 120%; } }

.popup-gradient {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 20px;
  background-image: linear-gradient(90deg, #e5332a 1%, rgba(229, 52, 41, 0.99) 27%, rgba(230, 58, 38, 0.95) 40%, rgba(231, 68, 34, 0.89) 50%, rgba(233, 82, 27, 0.81) 59%, rgba(235, 100, 19, 0.7) 67%, rgba(238, 122, 9, 0.56) 74%, rgba(242, 145, 0, 0.43) 79%, rgba(255, 236, 0, 0) 100%);
  border-top-left-radius: 25px;
  opacity: 0.5; }

.popup-gradient-2 {
  display: none;
  position: absolute;
  bottom: 0;
  right: 0;
  height: 25px;
  width: 20px;
  background-image: linear-gradient(-90deg, #e5332a 1%, rgba(229, 52, 41, 0.99) 27%, rgba(230, 58, 38, 0.95) 40%, rgba(231, 68, 34, 0.89) 50%, rgba(233, 82, 27, 0.81) 59%, rgba(235, 100, 19, 0.7) 67%, rgba(238, 122, 9, 0.56) 74%, rgba(242, 145, 0, 0.43) 79%, rgba(255, 236, 0, 0) 100%);
  border-bottom-right-radius: 25px;
  opacity: 0.5; }

/* ==========================================================================
   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` #fff200-100 color utility.
       */
.color-flex-yellow-100 {
  color: #fff200; }

/**
       * `background-color` #fff200-100 color utility.
       */
.background-color-flex-yellow-100 {
  background-color: #fff200; }

/**
       * `color` #f9eee1-100 color utility.
       */
.color-flex-creme-100 {
  color: #f9eee1; }

/**
       * `background-color` #f9eee1-100 color utility.
       */
.background-color-flex-creme-100 {
  background-color: #f9eee1; }

/**
 * 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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwic2V0dGluZ3MvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19jb3JlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hbmltYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hdXRvaGVpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19sYXp5bG9hZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fdmlkZW8uc2NzcyIsInRvb2xzL19tYWduaWZpYy1wb3B1cC5zY3NzIiwiZ2VuZXJpYy9fYmFzZS5zY3NzIiwidG9vbHMvX21peGlucy5zY3NzIiwidG9vbHMvX2Z1bmN0aW9ucy5zY3NzIiwic2V0dGluZ3MvX2NvbG9yLnNjc3MiLCJnZW5lcmljL19yZXNldC5zY3NzIiwib2JqZWN0cy9fYmFja2dyb3VuZC5zY3NzIiwib2JqZWN0cy9fYnV0dG9ucy5zY3NzIiwib2JqZWN0cy9fY29udGFpbmVyLnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIm9iamVjdHMvX2NvbnRlbnQtY29uc3RyYWludC5zY3NzIiwib2JqZWN0cy9fZmxleC5zY3NzIiwib2JqZWN0cy9faGVhZGluZ3Muc2NzcyIsIm9iamVjdHMvX2xhenktbG9hZC5zY3NzIiwib2JqZWN0cy9fc2VjdGlvbi5zY3NzIiwib2JqZWN0cy9fd3JhcHBlci5zY3NzIiwiY29tcG9uZW50cy9fY21zLW91dHB1dC5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19kb3dubG9hZHMuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci1jb2x1bW5zLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXItY3RhLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9faG9tZS1kbmEuc2NzcyIsImNvbXBvbmVudHMvX2xvY2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19tb2JpbGUtc2Nyb2xsLnNjc3MiLCJjb21wb25lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCJjb21wb25lbnRzL19uZXdzLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX3BhcnRuZXJzLWltYWdlLnNjc3MiLCJjb21wb25lbnRzL19wcm9wZXJ0eS1tYXAuc2NzcyIsImNvbXBvbmVudHMvX3Byb3BlcnR5LXNpbmdsZS5zY3NzIiwiY29tcG9uZW50cy9fcHJvcGVydHktdHlwZS1pdGVtLnNjc3MiLCJjb21wb25lbnRzL19wcm9wZXJ0eS10eXBlLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX3NsaWRlc2hvdy5zY3NzIiwiY29tcG9uZW50cy9fdGV4dC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fdGV4dC1zbGlkZXNob3cuc2NzcyIsImNvbXBvbmVudHMvX3BvcHVwLnNjc3MiLCJ1dGlsaXRpZXMvX2NvbG9yLnNjc3MiLCJ1dGlsaXRpZXMvX2hlbHBlcnMuc2NzcyIsInV0aWxpdGllcy9fb2JqZWN0LWZpdC5zY3NzIiwidXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwidXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ1dGlsaXRpZXMvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwidXRpbGl0aWVzL196LWluZGV4LnNjc3MiLCJzZXR0aW5ncy9fei1pbmRleC5zY3NzIiwidXRpbGl0aWVzL192aWRlby5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ2FoQjtFQUNFLHNDQUFzQztFQUN0QywrRkFBK0YsRUFBQTs7QUFHakc7RUFDRSw2QkFBNkI7RUFDN0Isc0tBQ21GLEVBQUE7O0FBR3JGO0VBQ0UsOEJBQThCO0VBQzlCLHdLQUNvRixFQUFBOztBQzNCdEYsMkVBQUE7QUFFQTsrRUZhK0U7QUVWL0U7OztFRmNFO0FFVEY7RUFDRSxpQkFBaUI7RUFBRSxNQUFBO0VBQ25CLDhCQUE4QjtFQUFFLE1BQUEsRUFBTzs7QUFHekM7K0VGWStFO0FFVC9FOztFRllFO0FFUkY7RUFDRSxTQUFTLEVBQUE7O0FBR1g7O0VGVUU7QUVORjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7OztFRlNFO0FFSkY7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCLEVBQUE7O0FBR2xCOytFRksrRTtBRUYvRTs7O0VGTUU7QUVERjtFQUNFLHVCQUF1QjtFQUFFLE1BQUE7RUFDekIsU0FBUztFQUFFLE1BQUE7RUFDWCxpQkFBaUI7RUFBRSxNQUFBLEVBQU87O0FBRzVCOzs7RUZPRTtBRUZGO0VBQ0UsaUNBQWlDO0VBQUUsTUFBQTtFQUNuQyxjQUFjO0VBQUUsTUFBQSxFQUFPOztBQUd6QjsrRUZLK0U7QUVGL0U7O0VGS0U7QUVERjtFQUNFLDZCQUE2QixFQUFBOztBQUcvQjs7O0VGSUU7QUVDRjtFQUNFLG1CQUFtQjtFQUFFLE1BQUE7RUFDckIsMEJBQTBCO0VBQUUsTUFBQTtFQUM1Qix5Q0FBaUM7VUFBakMsaUNBQWlDO0VBQUUsTUFBQSxFQUFPOztBQUc1Qzs7RUZJRTtBRUFGOztFQUVFLG1CQUFtQixFQUFBOztBQUdyQjs7O0VGR0U7QUVFRjs7O0VBR0UsaUNBQWlDO0VBQUUsTUFBQTtFQUNuQyxjQUFjO0VBQUUsTUFBQSxFQUFPOztBQUd6Qjs7RUZFRTtBRUVGO0VBQ0UsY0FBYyxFQUFBOztBQUdoQjs7O0VGQ0U7QUVJRjs7RUFFRSxjQUFjO0VBQ2QsY0FBYztFQUNkLGtCQUFrQjtFQUNsQix3QkFBd0IsRUFBQTs7QUFHMUI7RUFDRSxlQUFlLEVBQUE7O0FBR2pCO0VBQ0UsV0FBVyxFQUFBOztBQUdiOytFRkwrRTtBRVEvRTs7RUZMRTtBRVNGO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCOytFRlIrRTtBRVcvRTs7O0VGUEU7QUVZRjs7Ozs7RUFLRSxvQkFBb0I7RUFBRSxNQUFBO0VBQ3RCLGVBQWU7RUFBRSxNQUFBO0VBQ2pCLGlCQUFpQjtFQUFFLE1BQUE7RUFDbkIsU0FBUztFQUFFLE1BQUEsRUFBTzs7QUFHcEI7OztFRkxFO0FFVUY7O0VBQ1EsTUFBQTtFQUNOLGlCQUFpQixFQUFBOztBQUduQjs7O0VGTkU7QUVXRjs7RUFDUyxNQUFBO0VBQ1Asb0JBQW9CLEVBQUE7O0FBR3RCOztFRlJFO0FFWUY7Ozs7RUFJRSwwQkFBMEIsRUFBQTs7QUFHNUI7O0VGVkU7QUVjRjs7OztFQUlFLGtCQUFrQjtFQUNsQixVQUFVLEVBQUE7O0FBR1o7O0VGWkU7QUVnQkY7Ozs7RUFJRSw4QkFBOEIsRUFBQTs7QUFHaEM7O0VGZEU7QUVrQkY7RUFDRSw4QkFBOEIsRUFBQTs7QUFHaEM7Ozs7O0VGYkU7QUVvQkY7RUFDRSxzQkFBc0I7RUFBRSxNQUFBO0VBQ3hCLGNBQWM7RUFBRSxNQUFBO0VBQ2hCLGNBQWM7RUFBRSxNQUFBO0VBQ2hCLGVBQWU7RUFBRSxNQUFBO0VBQ2pCLFVBQVU7RUFBRSxNQUFBO0VBQ1osbUJBQW1CO0VBQUUsTUFBQSxFQUFPOztBQUc5Qjs7RUZaRTtBRWdCRjtFQUNFLHdCQUF3QixFQUFBOztBQUcxQjs7RUZkRTtBRWtCRjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7OztFRmZFO0FBQ0Y7O0VFcUJFLHNCQUFzQjtFQUFFLE1BQUE7RUFDeEIsVUFBVTtFQUFFLE1BQUEsRUFBTzs7QUFHckI7O0VGaEJFO0FBQ0Y7O0VFcUJFLFlBQVksRUFBQTs7QUFHZDs7O0VGakJFO0FBQ0Y7RUVzQkUsNkJBQTZCO0VBQUUsTUFBQTtFQUMvQixvQkFBb0I7RUFBRSxNQUFBLEVBQU87O0FBRy9COztFRmxCRTtBQUNGO0VFc0JFLHdCQUF3QixFQUFBOztBQUcxQjs7O0VGbkJFO0FFd0JGO0VBQ0UsMEJBQTBCO0VBQUUsTUFBQTtFQUM1QixhQUFhO0VBQUUsTUFBQSxFQUFPOztBQUd4QjsrRUZyQitFO0FFd0IvRTs7RUZyQkU7QUV5QkY7RUFDRSxjQUFjLEVBQUE7O0FBR2hCOztFRnZCRTtBRTJCRjtFQUNFLGtCQUFrQixFQUFBOztBQUdwQjsrRUYxQitFO0FFNkIvRTs7RUYxQkU7QUU4QkY7RUFDRSxhQUFhLEVBQUE7O0FBR2Y7O0VGNUJFO0FBQ0Y7RUVnQ0UsYUFBYSxFQUFBOztBQzNWZjs7RUhnVUU7QUc3VEY7RUFDQyxhQUFhO0VBQ2IsV0FBVztFQUNYLHdDQUF3QztFQUN4QyxtRUFBQTtFQUNBLGtCQUFrQjtFQUNsQixVQUFVLEVBQUE7RUFOWDtJQVNFLGtCQUFrQjtJQUVsQiwwQkFBMEI7SUFDMUIsZ0NBQWdDO0lBQUUsaUNBQUEsRUFBa0M7RUFadEU7SUFnQkUsWUFBWTtJQUNaLGNBQWM7SUFDZCxXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxTQUFTLEVBQUE7RUFyQlg7SUF5QkUsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixnQ0FBQTtJQUNBLDZDQUE2QyxFQUFBO0VBNUIvQzs7SUFpQ0UsbUNBQW1DO0lBQ25DLGdDQUFnQztJQUNoQywrQkFBK0I7SUFDL0IsdUNBQXFDO0lBQ3JDLG9DQUFrQztJQUNsQyxtQ0FBaUMsRUFBQTtFQXRDbkM7SUEwQ0Usa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixXQUFXO0lBQ1gsbUNBQW1DO0lBQ25DLHdDQUF3QztJQUN4QywyQkFBMkIsRUFBQTtFQS9DN0I7SUFrREUsY0FBYztJQUNkLFdBQVcsRUFBQTtFQW5EYjs7SUF3REUsYUFBYSxFQUFBO0VBeERmOzs7SUE4REUsZUFBZTtJQUNmLHlCQUF5QjtJQUV6QixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLGlCQUFpQixFQUFBO0VBbkVuQjs7O0lBeUVFLGdCQUFnQjtJQUNoQixjQUFjO0lBQ2QsWUFBWTtJQUNaLHFCQUFtQjtJQUNuQixhQUFhLEVBQUE7RUE3RWY7SUFpRkUsY0FBYyxFQUFBO0VBakZoQjtJQXFGRSxVQUFVO0lBQ1YsY0FBYyxFQUFBO0VBdEZoQjtJQTBGRSxVQUFVLEVBQUE7RUExRlo7SUE4RkUsa0JBQWtCLEVBQUE7RUE5RnBCO0lBa0dFLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQixpQkFBaUIsRUFBQTtFQXRHbkI7SUEwR0UsWUFBWTtJQUNaLG9CQUFZO0lBQVosWUFBWSxFQUFBO0VBM0dkO0lBK0dFLGNBQWMsRUFBQTtFQS9HaEI7SUFtSEUsWUFBWSxFQUFBOztBQUlkLFVBQUE7QUFDQTtFQUNDLGNBQWMsRUFBQTs7QUM1SGY7O0VKNlpFO0FJMVpGO0VBRUUsa0NBQTBCO1VBQTFCLDBCQUEwQjtFQUMxQixpQ0FBeUI7VUFBekIseUJBQXlCLEVBQUE7O0FBSDNCO0VBTUUsVUFBVSxFQUFBOztBQU5aO0VBU0UsVUFBVSxFQUFBOztBQVRaO0VBWUUsK0JBQXVCO1VBQXZCLHVCQUF1QixFQUFBOztBQUl6QjtFQUNDO0lBQ0MsVUFBVSxFQUFBO0VBR1g7SUFDQyxVQUFVLEVBQUEsRUFBQTs7QUFOWjtFQUNDO0lBQ0MsVUFBVSxFQUFBO0VBR1g7SUFDQyxVQUFVLEVBQUEsRUFBQTs7QUN6Qlo7O0VMbWJFO0FLL2FGO0VBQ0Msb0NBQW9DLEVBQUE7O0FDTHJDOztFTnliRTtBTXJiRjtFQU9FOzs7SU5tYkUsRU1oYkM7RUFWTDtJQUdJLFVBQVU7SUFDViw4QkFBOEIsRUFBQTtFQUpsQztJQVlHLGFBQWEsRUFBQTtFQVpoQjtJQWdCRyw0QkFBNEIsRUFBQTs7QUNsQi9COztFUHVjRTtBT25jRjtFQUVFLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osZ0JBQWdCLEVBQUE7O0FBSmxCO0VBUUUsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixXQUFXO0VBQ1gsU0FBUztFQUNULFFBQVE7RUFDUixrQkFBa0I7RUFDbEIsaUJBQWlCO0VBQ2pCLCtDQUFpRTtFQUNqRSxlQUFlO0VBQ2YsVUFBVTtFQUNWLG1DQUFtQztFQUNuQyxnQ0FBZ0MsRUFBQTs7QUFuQmxDO0VBdUJFLDBCQUEwQixFQUFBOztBQXZCNUI7O0VBNEJFLGFBQWEsRUFBQTs7QUE1QmY7RUFnQ0UsVUFBVTtFQUNWLFlBQVk7RUFDWixrQ0FBa0M7RUFDbEMsNEJBQTRCO0VBQzVCLHdCQUF3QjtFQUN4Qiw4QkFBOEIsRUFBQTs7QUFyQ2hDO0VBeUNFLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsWUFBWTtFQUNaLFdBQVcsRUFBQTs7QUMvQ2IsdUJBQUE7QUFDQTtFQUNFLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLFlBQVk7RUFDWixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZixtQkFBbUI7RUFDbkIsWUFBWSxFQUFBOztBQUVkO0VBQ0UsTUFBTTtFQUNOLE9BQU87RUFDUCxXQUFXO0VBQ1gsWUFBWTtFQUNaLGFBQWE7RUFDYixlQUFlO0VBQ2Ysd0JBQXdCO0VBQ3hCLG1DQUFtQyxFQUFBOztBQUVyQztFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsV0FBVztFQUNYLFlBQVk7RUFDWixPQUFPO0VBQ1AsTUFBTTtFQUNOLGNBQWM7RUFDZCxzQkFBc0IsRUFBQTs7QUFFeEI7RUFDRSxXQUFXO0VBQ1gscUJBQXFCO0VBQ3JCLFlBQVk7RUFDWixzQkFBc0IsRUFBQTs7QUFFeEI7RUFDRSxhQUFhLEVBQUE7O0FBRWY7RUFDRSxrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLGFBQWEsRUFBQTs7QUFFZjs7RUFFRSxXQUFXO0VBQ1gsWUFBWSxFQUFBOztBQUVkO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBRWxCO0VBR0UsZ0JBQWdCLEVBQUE7O0FBRWxCO0VBQ0UsZUFBZTtFQUdmLGVBQWUsRUFBQTs7QUFFakI7RUFDRSxZQUFZLEVBQUE7O0FBRWQ7Ozs7RUFJRSx5QkFBeUI7RUFDekIsc0JBQXNCO0VBQ3RCLHFCQUFpQjtNQUFqQixpQkFBaUIsRUFBQTs7QUFFbkI7RUFDRSxhQUFhLEVBQUE7O0FBRWY7RUFDRSx3QkFBd0IsRUFBQTs7QUFFMUI7RUFDRSxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsVUFBVTtFQUNWLGFBQWEsRUFBQTs7QUFDYjtFQUNFLFdBQVcsRUFBQTs7QUFDWDtFQUNFLFdBQVcsRUFBQTs7QUFFakI7RUFDRSxhQUFhLEVBQUE7O0FBRWY7RUFDRSxhQUFhLEVBQUE7O0FBRWY7O0VBRUUsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZix1QkFBdUI7RUFDdkIsU0FBUztFQUNULHdCQUF3QjtFQUN4QixjQUFjO0VBQ2QsYUFBYTtFQUNiLFVBQVU7RUFDVixhQUFhO0VBQ2IsZ0JBQWdCO0VBQ2hCLDBCQUEwQixFQUFBOztBQUU1QjtFQUNFLFVBQVU7RUFDVixTQUFTLEVBQUE7O0FBRVg7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLE1BQU07RUFDTixxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixzQkFBc0I7RUFDdEIsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixlQUFlO0VBQ2YsMENBQTBDLEVBQUE7O0FBQzFDOztFQUVFLFVBQVUsRUFBQTs7QUFDWjtFQUNFLFFBQVEsRUFBQTs7QUFFWjtFQUNFLFdBQVcsRUFBQTs7QUFFYjs7RUFFRSxXQUFXO0VBQ1gsV0FBVztFQUNYLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsV0FBVyxFQUFBOztBQUViO0VBQ0Usa0JBQWtCO0VBQ2xCLE1BQU07RUFDTixRQUFRO0VBQ1IsV0FBVztFQUNYLGVBQWU7RUFDZixpQkFBaUI7RUFDakIsbUJBQW1CLEVBQUE7O0FBRXJCO0VBQ0Usa0JBQWtCO0VBQ2xCLGFBQWE7RUFDYixTQUFTO0VBQ1QsUUFBUTtFQUNSLGlCQUFpQjtFQUNqQixVQUFVO0VBQ1YsV0FBVztFQUNYLGFBQWE7RUFDYix3Q0FBd0MsRUFBQTs7QUFDeEM7RUFDRSxpQkFBaUIsRUFBQTs7QUFDbkI7O0VBRUUsVUFBVSxFQUFBOztBQUNaOztFQUVFLFdBQVc7RUFDWCxjQUFjO0VBQ2QsUUFBUTtFQUNSLFNBQVM7RUFDVCxrQkFBa0I7RUFDbEIsT0FBTztFQUNQLE1BQU07RUFDTixnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGdDQUFnQyxFQUFBOztBQUNsQztFQUNFLHNCQUFzQjtFQUN0Qix5QkFBeUI7RUFDekIsUUFBUSxFQUFBOztBQUNWO0VBQ0Usc0JBQXNCO0VBQ3RCLHlCQUF5QjtFQUN6QixZQUFZLEVBQUE7O0FBRWhCO0VBQ0UsT0FBTyxFQUFBOztBQUNQO0VBQ0UsNkJBQTZCO0VBQzdCLGlCQUFpQixFQUFBOztBQUNuQjtFQUNFLGlCQUFpQjtFQUNqQixnQ0FBZ0MsRUFBQTs7QUFFcEM7RUFDRSxRQUFRLEVBQUE7O0FBQ1I7RUFDRSw0QkFBNEI7RUFDNUIsaUJBQWlCLEVBQUE7O0FBQ25CO0VBQ0UsK0JBQStCLEVBQUE7O0FBRW5DO0VBQ0UsaUJBQWlCO0VBQ2pCLG9CQUFvQixFQUFBOztBQUNwQjtFQUNFLGNBQWM7RUFDZCxXQUFXO0VBQ1gsZ0JBQWdCLEVBQUE7O0FBQ2xCO0VBQ0UsVUFBVSxFQUFBOztBQUVkO0VBQ0UsV0FBVztFQUNYLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsbUJBQW1CLEVBQUE7O0FBQ25CO0VBQ0Usa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxNQUFNO0VBQ04sT0FBTztFQUNQLFdBQVc7RUFDWCxZQUFZO0VBQ1osc0NBQXNDO0VBQ3RDLGdCQUFnQixFQUFBOztBQUVwQix3QkFBQTtBQUNBO0VBQ0UsV0FBVztFQUNYLGVBQWU7RUFDZixZQUFZO0VBQ1osY0FBYztFQUNkLGNBQWM7RUFDZCxzQkFBc0I7RUFDdEIsb0JBQW9CO0VBQ3BCLGNBQWMsRUFBQTs7QUFFaEIsZ0NBQUE7QUFDQTtFQUNFLGNBQWMsRUFBQTs7QUFDZDtFQUNFLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsT0FBTztFQUNQLFNBQVM7RUFDVCxZQUFZO0VBQ1osY0FBYztFQUNkLFFBQVE7RUFDUixXQUFXO0VBQ1gsWUFBWTtFQUNaLFdBQVc7RUFDWCxzQ0FBc0M7RUFDdEMsZ0JBQWdCLEVBQUE7O0FBQ2xCO0VBQ0UsY0FBYztFQUNkLGNBQWM7RUFDZCxlQUFlO0VBQ2YsaUJBQWlCLEVBQUE7O0FBQ25CO0VBQ0UsU0FBUyxFQUFBOztBQUViO0VBQ0UsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsT0FBTztFQUNQLFdBQVc7RUFDWCxZQUFZLEVBQUE7O0FBRWQ7RUFDRSxnQkFBZ0I7RUFDaEIsaUJBQWlCO0VBQ2pCLGNBQWM7RUFDZCxxQkFBcUI7RUFDckIsbUJBQW1CLEVBQUE7O0FBRXJCO0VBQ0UsZUFBZSxFQUFBOztBQUVqQjtFQUNFLGVBQWUsRUFBQTs7QUFFakI7RUFDRTs7UVJvZ0JNO0VRamdCTjtJQUNFLGVBQWU7SUFDZixnQkFBZ0IsRUFBQTtFQUNsQjtJQUNFLFVBQVUsRUFBQTtFQUNaO0lBQ0UsTUFBTTtJQUNOLFNBQVMsRUFBQTtFQUNYO0lBQ0UsZUFBZTtJQUNmLGdCQUFnQixFQUFBO0VBQ2xCO0lBQ0UsOEJBQThCO0lBQzlCLFNBQVM7SUFDVCxTQUFTO0lBQ1QsU0FBUztJQUNULGdCQUFnQjtJQUNoQixlQUFlO0lBQ2Ysc0JBQXNCLEVBQUE7RUFDdEI7SUFDRSxVQUFVLEVBQUE7RUFDZDtJQUNFLFVBQVU7SUFDVixRQUFRLEVBQUE7RUFDVjtJQUNFLE1BQU07SUFDTixRQUFRO0lBQ1IsV0FBVztJQUNYLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsOEJBQThCO0lBQzlCLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsVUFBVSxFQUFBLEVBQUc7O0FBRWpCO0VBQ0U7SUFFRSxzQkFBc0IsRUFBQTtFQUN4QjtJQUVFLG1CQUFtQixFQUFBO0VBQ3JCO0lBRUUsc0JBQXNCLEVBQUE7RUFDeEI7SUFDRSxpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUEsRUFBRzs7QUNqV3pCOzsrRVR1MkIrRTtBU24yQi9FOzs7Ozs7RVQwMkJFO0FTbDJCRjs7O0VBR0UsU0FBUztFQUNULFVBQVU7RUFDVixtQkFBbUI7RUFBRSxNQUFBLEVBQU87O0FBSTlCOzs7O0VUczJCRTtBU2gyQkY7RUFDRSxhQUFhO0VBQ2IsZ0JBQWdCO0VBQUUsTUFBQTtFQUNsQixzQkFBc0IsRUFBQTs7QUFJeEI7Ozs7OztFVHMyQkU7QVM5MUJGO0VDVUksZVRqQk87RVNrQlAsaUJDOUIrQjtFRG1DL0Isa0JBQWdEO0VEZGxELGlCQUFpQjtFQUNqQix1QkduQzZCO0VIb0M3QixZR3ZDMkI7RUh3QzNCLDhCUnpDNEI7RVEwQzVCLGtDQUFrQztFQUNsQyxrQ0FBa0M7RUFBRSxNQUFBO0VBQ3BDLG1DQUFtQztFQUFFLE1BQUEsRUFBTzs7QUlsRDlDOzsrRWJ5NUIrRTtBYXI1Qi9FOzs7O0ViMDVCRTtBYXA1QkY7RUFDRSxjQUFjO0VBQ2QscUJBQXFCLEVBQUE7O0FBSXZCOztFYnE1QkU7QWFqNUJGO0VBQ0UsU0FBUztFQUNULGdCQUFnQjtFQUFFLE1BQUE7RUFDbEIsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixlQUFlLEVBQUE7O0FBR2pCO0VBQ0UsU0FBUztFQUNULFVBQVU7RUFDVixTQUFTLEVBQUE7O0FBR1g7RUFDRSxTQUFTLEVBQUE7O0FBR1g7Ozs7OztFQU1FLFNBQVM7RUFDVCxVQUFVO0VBQ1Ysa0JBQWtCO0VBQ2xCLG9CQUFvQixFQUFBOztBQUd0QjtFQUNFLFNBQVM7RUFDVCxVQUFVLEVBQUE7O0FBSVo7O0ViKzRCRTtBYTM0QkY7RUFDRSxlQUFlO0VBQ2YsWUFBWTtFQUNaLHNCQUFzQjtFQUFFLE1BQUEsRUFBTzs7QUFJakM7O0ViNjRCRTtBYXo0QkY7OztFQUdFLGVBQWU7RUFDZixTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLGFBQWE7RUFDYix3QkFBZ0I7S0FBaEIscUJBQWdCO1VBQWhCLGdCQUFnQjtFQUFFLE1BQUEsRUFBTzs7QUFJM0I7OztFYjQ0QkU7QWF2NEJGO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCOztFQUVFLFNBQVM7RUFDVCxVQUFVO0VBQ1YscUJBQXFCLEVBQUE7O0FBR3ZCO0VBQ0UsU0FBUyxFQUFBOztBQUlYOztFYnM0QkU7QWFsNEJGO0VBQ0UsZUFBZTtFQUNmLHlCQUF5QjtFQUFFLE1BQUEsRUFBTzs7QUFHcEM7RUFDRSxnQkFBZ0IsRUFBQTs7QUNqSGxCOzsrRWR3L0IrRTtBY24vQi9FOztFZHMvQkU7QWNsL0JGO0VBQ0Usa0JBQWtCLEVBQUE7RUFEcEI7SUFJSSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFFBQVE7SUFDUixTQUFTO0lBQ1QsT0FBTztJQUNQLFdBQVc7SUFDWCxXQUFXO0lBQ1gsV0FBVyxFQUFBOztBQUtmOztFZGkvQkU7QWM3K0JGO0VBQ0UsWUZ2QjJCO0VFd0IzQixXRnhCMkIsRUFBQTtFRXNCN0I7SUFLSSxpQkZ4QjJCLEVBQUE7RUVtQi9COztJQVVJLFlGaEN5QixFQUFBO0VFc0I3QjtJQWNJLFlGcEN5QixFQUFBO0lFc0I3QjtNQWlCTSxZRnZDdUI7TUV3Q3ZCLFdGeEN1QixFQUFBO0VFc0I3QjtJQXVCSSx1QkY3Q3lCO0lFOEN6QixZRjlDeUIsRUFBQTtJRXNCN0I7TUEyQk0sWUZqRHVCO01Fa0R2QixXRmxEdUIsRUFBQTs7QUV1RDdCO0VBQ0MsWUZ4RDRCO0VFeUQ1QixXRnpENEIsRUFBQTtFRXVEN0I7SUFLRSxpRkFBaUYsRUFBQTtFQUxuRjs7SUFVRyxZRmpFMEIsRUFBQTtFRXVEN0I7SUFjRyxZRnJFMEIsRUFBQTtJRXVEN0I7TUFpQkUsWUZ4RTJCO01FeUUzQixXRnpFMkIsRUFBQTtFRXVEN0I7SUF1QkcsdUJGOUUwQjtJRStFMUIsWUYvRTBCLEVBQUE7SUV1RDdCO01BMkJFLFlGbEYyQjtNRW1GM0IsV0ZuRjJCLEVBQUE7O0FFd0Y3QjtFQUNDLFlGekY0QjtFRTBGNUIsV0YxRjRCLEVBQUE7RUV3RjdCO0lBS0UsbUJBQW1CLEVBQUE7RUFMckI7O0lBVUcsWUZsRzBCLEVBQUE7RUV3RjdCO0lBY0csWUZ0RzBCLEVBQUE7SUV3RjdCO01BaUJFLFlGekcyQjtNRTBHM0IsV0YxRzJCLEVBQUE7RUV3RjdCO0lBdUJHLHVCRi9HMEI7SUVnSDFCLFlGaEgwQixFQUFBO0lFd0Y3QjtNQTJCRSxZRm5IMkI7TUVvSDNCLFdGcEgyQixFQUFBOztBRTJIN0I7O0VkdThCRTtBY244QkY7RUFDRSxZRmhJMkI7RUVpSTNCLFdGakkyQixFQUFBO0VFK0g3QjtJQUtJLG1CRjNGa0MsRUFBQTtFRXNGdEM7O0lBVUksWUZ6SXlCLEVBQUE7RUUrSDdCO0lBY0ksWUY3SXlCLEVBQUE7SUUrSDdCO01BaUJNLFlGaEp1QjtNRWlKdkIsV0ZqSnVCLEVBQUE7RUUrSDdCO0lBdUJJLHVCRnRKeUI7SUV1SnpCLFlGdkp5QixFQUFBO0lFK0g3QjtNQTJCTSxZRjFKdUI7TUUySnZCLFdGM0p1QixFQUFBOztBRWlLN0I7O0VkdzdCRTtBY3A3QkY7RUFDRSxjRjdIb0M7RUU4SHBDLGFGOUhvQyxFQUFBO0VFNEh0QztJQUtJLGlCRjFLeUIsRUFBQTtFRXFLN0I7O0lBVUksY0Z0SWtDLEVBQUE7RUU0SHRDO0lBY0ksY0YxSWtDLEVBQUE7SUU0SHRDO01BaUJNLGNGN0lnQztNRThJaEMsYUY5SWdDLEVBQUE7RUU0SHRDO0lBdUJJLHVCRjVMeUI7SUU2THpCLFlGN0x5QixFQUFBO0lFcUs3QjtNQTJCTSxZRmhNdUI7TUVpTXZCLFdGak11QixFQUFBOztBRXNNN0I7O0VkMDZCRTtBY3Q2QkY7RUFDQyxjRi9KK0I7RUVnSy9CLGFGaEsrQixFQUFBO0VFOEpoQztJQUtHLGlCRi9NMEIsRUFBQTtFRTBNN0I7O0lBVUcsY0Z4SzZCLEVBQUE7RUU4SmhDO0lBY0csY0Y1SzZCLEVBQUE7SUU4SmhDO01BaUJFLGNGL0s4QjtNRWdMOUIsYUZoTDhCLEVBQUE7RUU4SmhDO0lBdUJHLHVCRmpPMEI7SUVrTzFCLFlGbE8wQixFQUFBO0lFME03QjtNQTJCRSxrQkZyTzJCO01Fc08zQixXRnRPMkIsRUFBQTs7QUU0TzdCOztFZDI1QkU7QVU3Z0NFO0VJc0hKO0lBRUksZ0JBQWdCLEVBQUEsRUFrQm5COztBQXBCRDtFQVdJLFlBQVk7RUFDWiwrQkY1UHlCLEVBQUE7RUYwSHpCO0lJc0hKO01BT00sU0FBUztNQUNULCtCRnhQdUIsRUFBQSxFRTZQMUI7O0FKdkpDO0VJMElKO0lBaUJNLGlCQUFpQixFQUFBLEVBRXBCOztBQUdIO0VBTUUsaUJBQWlCO0VBQ2pCLGlCQUFpQixFQUFBO0VKbkpmO0lJNElKO01BRUksYUFBYTtNQUNiLGNBQWMsRUFBQSxFQUtqQjs7QUNyUkQ7OytFZnlxQytFO0FlcHFDL0U7O0VmdXFDRTtBZW5xQ0Y7RUwyQ0ksZUsxQ2dCO0VMMkNoQixpQkM5QitCO0VEbUMvQixrQkFBZ0Q7RUsvQ2xELG9CQUFvQjtFQUNwQixtQkFBbUI7RUFDbkIsWUFBWTtFQUNaLDBCQUEwQjtFQUMxQixlQUFlLEVBQUE7RUFOakI7SUFTSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLDBCQUEwQixFQUFBOztBQUs5Qjs7RWZvcUNFO0FlaHFDRjtFQUNFLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEIsZUFBZSxFQUFBO0VBSGpCO0lBTUksa0JBQWtCO0lBQ2xCLFNBQVM7SUFDVCxZQUFZLEVBQUE7RUFSaEI7SUFZSSxjQUFjO0lBQ2Qsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixRQUFRO0lBQ1IsU0FBUztJQUNULE9BQU87SUFDUCxRQUFRO0lBQ1IsWUFBWTtJQUNaLDBCQUEwQjtJQUMxQixXQUFXO0lBQ1gsV0FBVyxFQUFBO0VBdEJmO0lBMEJJLFdBQVcsRUFBQTtFQTFCZjtJQThCSSx5Qkh2QzRCO0lHd0M1QixjSHhDNEIsRUFBQTtJR1NoQztNQWtDTSxjSDNDMEI7TUc0QzFCLGFINUMwQixFQUFBO0lHU2hDO01BdUNNLG1CSGhEMEIsRUFBQTtJR1NoQztNQTJDTSxjSDlDeUIsRUFBQTtFR0cvQjtJQWdESSx1Qkh0RXlCO0lHdUV6QixZSHZFeUIsRUFBQTtJR3NCN0I7TUFvRE0sWUgxRXVCO01HMkV2QixXSDNFdUIsRUFBQTtJR3NCN0I7TUF5RE0saUJIL0V1QixFQUFBO0lHc0I3QjtNQTZETSxjSDFDZ0MsRUFBQTtFR25CdEM7SUFrRUksdUJIeEZ5QjtJR3lGekIsWUh6RnlCLEVBQUE7SUdzQjdCO01Bc0VNLFlINUZ1QjtNRzZGdkIsV0g3RnVCLEVBQUE7SUdzQjdCO01BMkVNLGlCSGpHdUIsRUFBQTtJR3NCN0I7TUErRU0sY0h6RDBCLEVBQUE7RUd0QmhDO0lBb0ZJLHVCSDFHeUI7SUcyR3pCLFlIM0d5QixFQUFBO0lHc0I3QjtNQXdGTSxZSDlHdUI7TUcrR3ZCLFdIL0d1QixFQUFBO0lHc0I3QjtNQTZGTSxpQkhuSHVCLEVBQUE7SUdzQjdCO01BaUdNLGNIM0UwQixFQUFBOztBR2lGaEM7O0VmMm5DRTtBZXZuQ0Y7RUFFSSxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLGlCQUFpQixFQUFBOztBQUpyQjtFQVNNLGlCQUFpQixFQUFBOztBQVR2QjtFQWNJLGNIbEk0QixFQUFBO0VHb0hoQztJQWlCTSxjSHJJMEI7SUdzSTFCLGFIdEkwQixFQUFBOztBR29IaEM7RUF1QkksY0h4STJCLEVBQUE7RUdpSC9CO0lBMEJNLGNIM0l5QjtJRzRJekIsYUg1SXlCLEVBQUE7O0FHaUgvQjtFQWdDSSxjSHhIa0MsRUFBQTtFR3dGdEM7SUFtQ00sWUhqS3lCO0lHa0t6QixXSGxLeUIsRUFBQTs7QUc4SC9CO0VBeUNJLFlIMUt5QixFQUFBO0VHaUk3QjtJQTRDTSxZSDdLdUI7SUc4S3ZCLFdIOUt1QixFQUFBOztBR2lJN0I7RUFrREksWUhuTHlCLEVBQUE7RUdpSTdCO0lBcURNLFlIdEx1QjtJR3VMdkIsV0h2THVCLEVBQUE7O0FJUDdCOzsrRWhCd3lDK0U7QWdCcHlDL0U7O0VoQnV5Q0U7QWdCbnlDRjtFTk1NLG9DQUEwQztFQUMxQyxxQk9NbUU7RVBGckUsV0FBVztFQUNYLGNBQWMsRUFBQTs7QVFwQmxCOzsrRWxCb3pDK0U7QWtCaHpDL0U7Ozs7RWxCcXpDRTtBa0IveUNGO0VBQ0Usa0JBQWtCO0VBQ2xCLGlCQUFpQjtFQUNqQixnQkFBZ0IsRUFBQTtFQUhsQjtJQU1JLHlCTm1DNEI7SU1sQzVCLFlOVnlCLEVBQUE7RU1HN0I7SUFNSSx5Qk5tQzRCO0lNbEM1QixZTlZ5QixFQUFBOztBT1A3Qjs7K0VuQm8wQytFO0FtQmgwQy9FOzs7Ozs7Ozs7Ozs7RW5CNjBDRTtBbUIvekNGOzs7O0VuQm8wQ0U7QW1COXpDRjtFQUNFLGFBQWEsRUFBQTs7QUFHZjtFQUNF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RUU7QW1CLzZFRjtFQUNFLHFCQVBpRCxFQUFBOztBQUVuRDs7UW5CeTdFRTtBbUJyN0VGO0VBQ0UscUJBUDJELEVBQUE7O0FBZTdEOztRbkJrN0VFO0FtQjk2RUY7RUFDRSxzQkFQaUIsRUFBQTs7QUFFbkI7O1FuQnc3RUU7QW1CcDdFRjtFQUNFLHVCQVB5QixFQUFBOztBQUUzQjs7UW5CODdFRTtBbUIxN0VGO0VBQ0UsOEJBUHdDLEVBQUE7O0FBRTFDOztRbkJvOEVFO0FtQmg4RUY7RUFDRSw2QkFQc0QsRUFBQTs7QUFFeEQ7O1FuQjA4RUU7QW1CdDhFRjtFQUNFLDZCQVBvRSxFQUFBOztBQWV0RTs7UW5CbThFRTtBbUIvN0VGO0VBQ0UsZUFBZ0MsRUFBQTs7QUFMbEM7O1FuQnk4RUU7QW1CcjhFRjtFQUNFLGdCQUFnQyxFQUFBOztBQUtwQzs7TW5CcThFRTtBbUJqOEVGO0VBQ0UsU0FBUyxFQUFBOztBQUlYOztNbkJrOEVFO0FtQjk3RUY7RUFDRSxRQUFRLEVBQUE7O0FBSVY7O01uQis3RUU7QW1CMzdFRjtFQUNFLDJCQUEyQixFQUFBOztBQzFKakM7OytFcEIwbEYrRTtBb0J0bEYvRTs7RXBCeWxGRTtBb0JybEZGOztFVjRDSSxlVXRDZ0I7RVZ1Q2hCLGlCQzlCK0I7RURtQy9CLHNCQUFnRDtFVTNDbEQsNkJuQlIwQixFQUFBO0VTMEh4QjtJVXpISjs7TVY0Q0ksZVV6Q2tCO01WMENsQixpQkM5QitCO01EbUMvQixvQkFBZ0QsRUFBQSxFVTFDbkQ7O0FBR0Q7O0VwQjBsRkU7QW9CdGxGRjs7RVY2QkksZVV0QmdCO0VWdUJoQixpQkM5QitCO0VEbUMvQixvQkFBZ0Q7RVUzQmxELDZCbkJ4QjBCLEVBQUE7RVMwSHhCO0lVMUdKOztNVjZCSSxlVTFCa0I7TVYyQmxCLGlCQzlCK0I7TURtQy9CLG9CQUFnRDtNVS9CaEQseUJBQXlCLEVBQUEsRUFLNUI7O0FBR0Q7O0VwQjJsRkU7QW9CdmxGRjs7RVZhSSxnQlVBaUI7RVZDakIsZ0JDOUIrQjtFRG1DL0IsZ0JBQWdEO0VVTGxELDZCbkI5QzBCO0VtQitD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Q2Isa0JBQWtCO0VBQ2xCLFNBQVM7RUFDVCxRQUFRO0VBQ1IsWUFBWTtFQUNaLFdBQVc7RUFDWCwyUkFBb1I7RUFDcFIsZ0NBQWdDO0VBQ2hDLFlBQVksRUFBQTs7QUNoSWI7OytFOUM4akorRTtBOEMxakovRTs7RTlDNmpKRTtBOEM1aUpJOztROUMraUpFO0E4QzNpSkY7RUFDRSxZbENuQnFCLEVBQUE7O0FrQ2N2Qjs7UTlDcWpKRTtBOENqakpGO0VBQ0UsdUJsQ25CcUIsRUFBQTs7QWtDY3ZCOztROUMyakpFO0E4Q3ZqSkY7RUFDRSxZbENoQnVCLEVBQUE7O0FrQ1d6Qjs7UTlDaWtKRTtBOEM3akpGO0VBQ0UsdUJsQ2hCdUIsRUFBQTs7QWtDV3pCOztROUN1a0pFO0E4Q25rSkY7RUFDRSxjbENieUIsRUFBQTs7QWtDUTNCOztROUM2a0pFO0E4Q3prSkY7RUFDRSx5QmxDYnlCLEVBQUE7O0FrQ1EzQjs7UTlDbWxKRTtBOEMva0pGO0VBQ0UsY2xDWjJCLEVBQUE7O0FrQ083Qjs7UTlDeWxKRTtBOENybEpGO0VBQ0UseUJsQ1oyQixFQUFBOztBa0NPN0I7O1E5QytsSkU7QThDM2xKRjtFQUNFLGNsQ1R5QixFQUFBOztBa0NJM0I7O1E5Q3FtSkU7QThDam1KRjtFQUNFLHlCbENUeUIsRUFBQTs7QWtDSTNCOztROUMybUpFO0E4Q3ZtSkY7RUFDRSxjbENOd0IsRUFBQTs7QWtDQzFCOztROUNpbkpFO0E4QzdtSkY7RUFDRSx5QmxDTndCLEVBQUE7O0FrQ0MxQjs7UTlDdW5KRTtBOENubkpGO0VBQ0UsY2xDSHVCLEVBQUE7O0FrQ0Z6Qjs7UTlDNm5KRTtBOEN6bkpGO0VBQ0UseUJsQ0h1QixFQUFBOztBa0NGekI7O1E5Q21vSkU7QThDL25KRjtFQUNFLGNsQ0F1QixFQUFBOztBa0NMekI7O1E5Q3lvSkU7QThDcm9KRjtFQUNFLHlCbENBdUIsRUFBQTs7QWtDTHpCOztROUMrb0pFO0E4QzNvSkY7RUFDRSxjbENDMkIsRUFBQTs7QWtDTjdCOztROUNxcEpFO0E4Q2pwSkY7RUFDRSx5QmxDQzJCLEVBQUE7O0FrQ043Qjs7UTlDMnBKRTtBOEN2cEpGO0VBQ0UsY2xDSXVCLEVBQUE7O0FrQ1R6Qjs7UTlDaXFKRTtBOEM3cEpGO0VBQ0UseUJsQ0l1QixFQUFBOztBa0NUekI7O1E5Q3VxSkU7QThDbnFKRjtFQUNFLGNsQ093QixFQUFBOztBa0NaMUI7O1E5QzZxSkU7QThDenFKRjtFQUNFLHlCbENPd0IsRUFBQTs7QWtDWjFCOztROUNtckpFO0E4Qy9xSkY7RUFDRSxjbENVd0IsRUFBQTs7QWtDZjFCOztROUN5ckpFO0E4Q3JySkY7RUFDRSx5QmxDVXdCLEVBQUE7O0FrQ2YxQjs7UTlDK3JKRTtBOEMzckpGO0VBQ0UsY2xDYTZCLEVBQUE7O0FrQ2xCL0I7O1E5Q3FzSkU7QThDanNKRjtFQUNFLHlCbENhNkIsRUFBQTs7QWtDbEIvQjs7UTlDMnNKRTtBOEN2c0pGO0VBQ0UsY2xDZ0I0QixFQUFBOztBa0NyQjlCOztROUNpdEpFO0E4QzdzSkY7RUFDRSx5QmxDZ0I0QixFQUFBOztBa0NyQjlCOztROUN1dEpFO0E4Q250SkY7RUFDRSxjbENtQjhCLEVBQUE7O0FrQ3hCaEM7O1E5QzZ0SkU7QThDenRKRjtFQUNFLHlCbENtQjhCLEVBQUE7O0FrQ3hCaEM7O1E5Q211SkU7QThDL3RKRjtFQUNFLGNsQ3NCOEIsRUFBQTs7QWtDM0JoQzs7UTlDeXVKRTtBOENydUpGO0VBQ0UseUJsQ3NCOEIsRUFBQTs7QWtDM0JoQzs7UTlDK3VKRTtBOEMzdUpGO0VBQ0UsY2xDeUJ3QixFQUFBOztBa0M5QjFCOztROUNxdkpFO0E4Q2p2SkY7RUFDRSx5QmxDeUJ3QixFQUFBOztBa0M5QjFCOztROUMydkpFO0E4Q3Z2SkY7RUFDRSxjbEM0QnVCLEVBQUE7O0FrQ2pDekI7O1E5Q2l3SkU7QThDN3ZKRjtFQUNFLHlCbEM0QnVCLEVBQUE7O0FtQ2xEL0I7O0UvQ3d4SkU7QStDaHhKRjs7RS9DbXhKRTtBK0Mvd0pGO0VBQ0UsY0FBYztFQUNkLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsV0FBVztFQUNYLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsOEJBQThCO0VBQzlCLDZCQUFxQjtVQUFyQixxQkFBcUIsRUFBQTs7QUFPdkI7O0UvQzZ3SkU7QStDendKRjtFQUNFLFdBQVcsRUFBQTs7QUFPYjs7O0UvQ3d3SkU7QStDbndKRjtFQUNFLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sUUFBUTtFQUNSLFNBQVM7RUFDVCxPQUFPO0VBQ1AsV0FBVztFQUNYLFlBQVk7RUFDWixpQ0FBaUM7RUFDakMsb0JBQWlCO0tBQWpCLGlCQUFpQixFQUFBOztBQU9uQjs7RS9DaXdKRTtBK0M3dkpGO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCOztFL0MrdkpFO0ErQzN2SkY7RUFDRSxnQkFBZ0IsRUFBQTs7QUFHbEI7O0UvQzZ2SkU7QStDenZKRjtFQUNFLGlCQUFpQixFQUFBOztBQU9uQjtFQUNFLFVBQVUsRUFBQTs7QUFJWjtFQUNFLFVBQVUsRUFBQTs7QUFJWjtFQUNFLFVBQVUsRUFBQTs7QUN2R1o7OytFaEQ0MUorRTtBZ0R4MUovRTs7OztFaEQ2MUpFO0FnRHAxSkE7O0loRHUxSkU7QWdEbjFKRjtFQUNFLGdDQUFxQztFQUFFLE1BQUE7RUFDdkMsbUJBQVk7S0FBWixnQkFBWSxFQUFBOztBQU5kOztJaEQrMUpFO0FnRDMxSkY7RUFDRSxtQ0FBcUM7RUFBRSxNQUFBO0VBQ3ZDLHNCQUFZO0tBQVosbUJBQVksRUFBQTs7QUFOZDs7SWhEdTJKRTtBZ0RuMkpGO0VBQ0UsaUNBQXFDO0VBQUUsTUFBQTtFQUN2QyxvQkFBWTtLQUFaLGlCQUFZLEVBQUE7O0FBTmQ7O0loRCsySkU7QWdEMzJKRjtFQUNFLGdDQUFxQztFQUFFLE1BQUE7RUFDdkMsbUJBQVk7S0FBWixnQkFBWSxFQUFBOztBQU5kOztJaER1M0pFO0FnRG4zSkY7RUFDRSxzQ0FBcUM7RUFBRSxNQUFBO0VBQ3ZDLHlCQUFZO0tBQVosc0JBQVksRUFBQTs7QUNuQmhCOzsrRWpENDRKK0U7QWlEeDRKL0U7O0VqRDI0SkU7QWlEdDRKQTtFQUNFLGdCQUZrQixFQUFBOztBQUNwQjtFQUNFLGtCQUY0QixFQUFBOztBQUM5QjtFQUNFLGtCQUZzQyxFQUFBOztBQUN4QztFQUNFLGVBRjZDLEVBQUE7O0FBQy9DO0VBQ0UsZ0JBRnFELEVBQUE7O0FDUnpEOzsrRWxEaTZKK0U7QWtENzVKL0U7O0VsRGc2SkU7QWtEejVKSTtFQUNFLDhCakROc0IsRUFBQTs7QWlES3hCO0VBQ0UsNkJqRExvQixFQUFBOztBaURJdEI7RUFDRSxzQ2pESjhCLEVBQUE7O0FpREdoQztFQUNFLDhCakROc0IsRUFBQTs7QWlES3hCO0VBQ0UsNkJqRExvQixFQUFBOztBaURJdEI7RUFDRSxzQ2pESjhCLEVBQUE7O0FpREdoQztFQUNFLDhCakROc0IsRUFBQTs7QWlES3hCO0VBQ0UsNkJqRExvQixFQUFBOztBaURJdEI7RUFDRSxzQ2pESjhCLEVBQUE7O0FpREdoQztFQUNFLDhCakROc0IsRUFBQTs7QWlES3hCO0VBQ0UsNkJqRExvQixFQUFBOztBaURJdEI7RUFDRSxzQ2pESjhCLEVBQUE7O0FpREdoQztFQUNFLDhCakROc0IsRUFBQTs7QWlES3hCO0VBQ0UsNkJqRExvQixFQUFBOztBaURJdEI7RUFDRSxzQ2pESjhCLEVBQUE7O0FpRFd0Qzs7RWxEaThKRTtBa0QxN0pJO0V4QzBCRixlVHBCUTtFU3FCUixpQkM5QitCO0VEbUMvQixzQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRuQlE7RVNvQlIsaUJDOUIrQjtFRG1DL0Isb0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGdCVGxCUztFU21CVCxnQkM5QitCO0VEbUMvQixnQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRqQk87RVNrQlAsaUJDOUIrQjtFRG1DL0Isa0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGVUcEJRO0VTcUJSLGlCQzlCK0I7RURtQy9CLHNCQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixlVG5CUTtFU29CUixpQkM5QitCO0VEbUMvQixvQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZ0JUbEJTO0VTbUJULGdCQzlCK0I7RURtQy9CLGdCQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixlVGpCTztFU2tCUCxpQkM5QitCO0VEbUMvQixrQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRwQlE7RVNxQlIsaUJDOUIrQjtFRG1DL0Isc0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGVUbkJRO0VTb0JSLGlCQzlCK0I7RURtQy9CLG9CQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixnQlRsQlM7RVNtQlQsZ0JDOUIrQjtFRG1DL0IsZ0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGVUakJPO0VTa0JQLGlCQzlCK0I7RURtQy9CLGtCQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixlVHBCUTtFU3FCUixpQkM5QitCO0VEbUMvQixzQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRuQlE7RVNvQlIsaUJDOUIrQjtFRG1DL0Isb0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGdCVGxCUztFU21CVCxnQkM5QitCO0VEbUMvQixnQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZVRqQk87RVNrQlAsaUJDOUIrQjtFRG1DL0Isa0JBQWdELEVBQUE7O0F3Q2hDOUM7RXhDMEJGLGVUcEJRO0VTcUJSLGlCQzlCK0I7RURtQy9CLHNCQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixlVG5CUTtFU29CUixpQkM5QitCO0VEbUMvQixvQkFBZ0QsRUFBQTs7QXdDaEM5QztFeEMwQkYsZ0JUbEJTO0VTbUJULGdCQzlCK0I7RURtQy9CLGdCQUFnRCxFQUFBOztBd0NoQzlDO0V4QzBCRixlVGpCTztFU2tCUCxpQkM5QitCO0VEbUMvQixrQkFBZ0QsRUFBQTs7QXdDeEJwRDs7RWxEeWhLRTtBa0RsaEtJO0VBQ0UsZ0JBRm9CLEVBQUE7O0FBQ3RCO0VBQ0UsaUJBRjJCLEVBQUE7O0FBQzdCO0VBQ0Usa0JBRm1DLEVBQUE7O0FBQ3JDO0VBQ0UsZ0JBRm9CLEVBQUE7O0FBQ3RCO0VBQ0UsaUJBRjJCLEVBQUE7O0FBQzdCO0VBQ0Usa0JBRm1DLEVBQUE7O0FBQ3JDO0VBQ0UsZ0JBRm9CLEVBQUE7O0FBQ3RCO0VBQ0UsaUJBRjJCLEVBQUE7O0FBQzdCO0VBQ0Usa0JBRm1DLEVBQUE7O0FBQ3JDO0VBQ0UsZ0JBRm9CLEVBQUE7O0FBQ3RCO0VBQ0UsaUJBRjJCLEVBQUE7O0FBQzdCO0VBQ0Usa0JBRm1DLEVBQUE7O0FBQ3JDO0VBQ0UsZ0JBRm9CLEVBQUE7O0FBQ3RCO0VBQ0UsaUJBRjJCLEVBQUE7O0FBQzdCO0VBQ0Usa0JBRm1DLEVBQUE7O0FBUzNDOzs7O0VsRDRqS0U7QWtEampLSTtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFEZjtFQUNFLGdCQUFhLEVBQUE7O0FBRGY7RUFDRSxnQkFBYSxFQUFBOztBQURmO0VBQ0UsZ0JBQWEsRUFBQTs7QUFPckI7O0VsRG1yS0U7QWtENXFLSTtFQUNFLDBCQUYwQixFQUFBOztBQUM1QjtFQUNFLHlCQUZxQyxFQUFBOztBQUN2QztFQUNFLHlCQUZnRCxFQUFBOztBQUNsRDtFQUNFLG9CQUZzRCxFQUFBOztBQUN4RDtFQUNFLDBCQUZrRSxFQUFBOztBQUNwRTtFQUNFLDBCQUYwQixFQUFBOztBQUM1QjtFQUNFLHlCQUZxQyxFQUFBOztBQUN2QztFQUNFLHlCQUZnRCxFQUFBOztBQUNsRDtFQUNFLG9CQUZzRCxFQUFBOztBQUN4RDtFQUNFLDBCQUZrRSxFQUFBOztBQUNwRTtFQUNFLDBCQUYwQixFQUFBOztBQUM1QjtFQUNFLHlCQUZxQyxFQUFBOztBQUN2QztFQUNFLHlCQUZnRCxFQUFBOztBQUNsRDtFQUNFLG9CQUZzRCxFQUFBOztBQUN4RDtFQUNFLDBCQUZrRSxFQUFBOztBQUNwRTtFQUNFLDBCQUYwQixFQUFBOztBQUM1QjtFQUNFLHlCQUZxQyxFQUFBOztBQUN2QztFQUNFLHlCQUZnRCxFQUFBOztBQUNsRDtFQUNFLG9CQUZzRCxFQUFBOztBQUN4RDtFQUNFLDBCQUZrRSxFQUFBOztBQUNwRTtFQUNFLDBCQUYwQixFQUFBOztBQUM1QjtFQUNFLHlCQUZxQyxFQUFBOztBQUN2QztFQUNFLHlCQUZnRCxFQUFBOztBQUNsRDtFQUNFLG9CQUZzRCxFQUFBOztBQUN4RDtFQUNFLDBCQUZrRSxFQUFBOztBQzFFMUU7OytFbkRxMEsrRTtBbUQ5eks3RTtFQUNFLGtCQUFlLEVBQUE7O0FBRGpCO0VBQ0Usa0JBQWUsRUFBQTs7QUFEakI7RUFDRSxtQkFBZSxFQUFBOztBQURqQjtFQUNFLG1CQUFlLEVBQUE7O0FBRGpCO0VBQ0UsbUJBQWUsRUFBQTs7QUFEakI7RUFDRSxtQkFBZSxFQUFBOztBQURqQjtFQUNFLG1CQUFlLEVBQUE7O0FBRGpCO0VBQ0UsbUJBQWUsRUFBQTs7QUFEakI7RUFDRSxtQkFBZSxFQUFBOztBQURqQjtFQUNFLG1CQUFlLEVBQUE7O0FBRGpCO0VBQ0UsbUJBQWUsRUFBQTs7QUNSbkI7OytFcER5MksrRTtBb0RyMksvRTs7RXBEdzJLRTtBb0RuMktBO0VBQ0UsVUNGSyxFQUFBOztBRENQO0VBQ0UsV0NETSxFQUFBOztBREFSO0VBQ0UsV0NBTSxFQUFBOztBRERSO0VBQ0UsV0NDTSxFQUFBOztBREZSO0VBQ0UsV0NFTSxFQUFBOztBREhSO0VBQ0UsV0NHTSxFQUFBOztBREpSO0VBQ0UsV0NJTSxFQUFBOztBRExSO0VBQ0UsV0NLTSxFQUFBOztBRE5SO0VBQ0UsV0NNTSxFQUFBOztBRFBSO0VBQ0UsV0NPTSxFQUFBOztBRFJSO0VBQ0UsWUNRTyxFQUFBOztBQ2xCWDtFQUNFLGtCQUFpQjtFQUNqQixZQUFZO0VBQ1osZUFBZSxFQUFBOztBQUdqQjtFQUNFLGVBQWM7RUFDZCxZQUFXLEVBQUE7O0FBR2I7RUFDRSxhQUFZO0VBQ1osZUFBZSxFQUFBOztBQUdqQjtFQUNFLGtCQUFpQjtFQUNqQixZQUFXO0VBQ1gscUJBQXFCO0VBQ3JCLFNBQVE7RUFDUixnQ0FBK0I7RUFDL0IsNkJBQTRCO0VBQzVCLFNBQVEsRUFBQTs7QUFHVjtFQUNFLGVBQWMsRUFBQTs7QUFHaEI7RUFDRSxVQUFTLEVBQUEiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdCdXJmb3JkUnVzdGljU2hhZG93VHdvQSc7XG4gIHNyYzogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2ZsZXgvYXNzZXRzL2ZvbnRzL0J1cmZvcmRSdXN0aWNTaGFkb3dUd29BLm90ZlwiKSBmb3JtYXQoXCJPcGVuVHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQcmVkaWdlLU1lZGl1bSc7XG4gIHNyYzogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2ZsZXgvYXNzZXRzL2ZvbnRzL1ByZWRpZ2UtTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJPcGVuVHlwZVwiKSwgdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL2ZsZXgvYXNzZXRzL2ZvbnRzL1ByZWRpZ2UtTWVkaXVtLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdQcmVkaWdlLVJlZ3VsYXInO1xuICBzcmM6IHVybChcIi93cC1jb250ZW50L3RoZW1lcy9mbGV4L2Fzc2V0cy9mb250cy9QcmVkaWdlLVJlZ3VsYXIub3RmXCIpIGZvcm1hdChcIk9wZW5UeXBlXCIpLCB1cmwoXCIvd3AtY29udGVudC90aGVtZXMvZmxleC9hc3NldHMvZm9udHMvUHJlZGlnZS1SZWd1bGFyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi8gfVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi1ZO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8qIGZpeCBmaXJlZm94IGFuaW1hdGlvbiBnbGl0Y2ggKi8gfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2U6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiBmaXggZm9yIGZsYXNoaW5nIGJhY2tncm91bmQgKi9cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXIsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2LmRpc2FibGVkLFxuICAub3dsLWNhcm91c2VsIC5vd2wtZG90cy5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtcHJldixcbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3Qge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcbiAgLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLW5leHQsXG4gIC5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3Qge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBmb250OiBpbmhlcml0OyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtbG9hZGluZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAub3dsLWNhcm91c2VsLm93bC1oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcmVmcmVzaCAub3dsLWl0ZW0ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub3dsLWNhcm91c2VsLm93bC1kcmFnIC5vd2wtaXRlbSB7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWdyYWIge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBjdXJzb3I6IGdyYWI7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtcnRsIHtcbiAgICBkaXJlY3Rpb246IHJ0bDsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ydGwgLm93bC1pdGVtIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLyogTm8gSnMgKi9cbi5uby1qcyAub3dsLWNhcm91c2VsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5hbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1pbiB7XG4gIHotaW5kZXg6IDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLW91dCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLm93bC1jYXJvdXNlbCAuZmFkZU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuLm93bC1oZWlnaHQge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgNTAwbXMgZWFzZS1pbi1vdXQ7IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gTGF6eSBMb2FkIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gIC8qKlxuXHRcdFx0VGhpcyBpcyBpbnRyb2R1Y2VkIGR1ZSB0byBhIGJ1ZyBpbiBJRTExIHdoZXJlIGxhenkgbG9hZGluZyBjb21iaW5lZCB3aXRoIGF1dG9oZWlnaHQgcGx1Z2luIGNhdXNlcyBhIHdyb25nXG5cdFx0XHRjYWxjdWxhdGlvbiBvZiB0aGUgaGVpZ2h0IG9mIHRoZSBvd2wtaXRlbSB0aGF0IGJyZWFrcyBwYWdlIGxheW91dHNcblx0XHQgKi8gfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSAub3dsLWxhenk6bm90KFtzcmNdKSB7XG4gICAgbWF4LWhlaWdodDogMDsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcub3dsLWxhenkge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLypcbiAqIFx0T3dsIENhcm91c2VsIC0gVmlkZW8gUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA4MHB4O1xuICB3aWR0aDogODBweDtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICBtYXJnaW4tdG9wOiAtNDBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwib3dsLnZpZGVvLnBsYXkucG5nXCIpIG5vLXJlcGVhdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMG1zIGVhc2U7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbjpob3ZlciB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXRuIHtcbiAgb3BhY2l0eTogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tZnJhbWUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXG4ubWZwLWJnIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6ICMwYjBiMGI7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4ubWZwLXdyYXAge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDM7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4ubWZwLWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubWZwLWFsaWduLXRvcCAubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogMTA0NTsgfVxuXG4ubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50LFxuLm1mcC1hamF4LWhvbGRlciAubWZwLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzOyB9XG5cbi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cblxuLm1mcC16b29tIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcbiAgY3Vyc29yOiAtbW96LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4ubWZwLWF1dG8tY3Vyc29yIC5tZnAtY29udGVudCB7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLWNsb3NlLFxuLm1mcC1hcnJvdyxcbi5tZnAtcHJlbG9hZGVyLFxuLm1mcC1jb3VudGVyIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubWZwLXByZWxvYWRlciB7XG4gIGNvbG9yOiAjQ0NDO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtMC44ZW07XG4gIGxlZnQ6IDhweDtcbiAgcmlnaHQ6IDhweDtcbiAgei1pbmRleDogMTA0NDsgfVxuXG4ubWZwLXByZWxvYWRlciBhIHtcbiAgY29sb3I6ICNDQ0M7IH1cblxuLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjRkZGOyB9XG5cbi5tZnAtcy1yZWFkeSAubWZwLXByZWxvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1zLWVycm9yIC5tZnAtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYnV0dG9uLm1mcC1jbG9zZSxcbmJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDQ2O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjY1O1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxuXG4ubWZwLWNsb3NlOmhvdmVyLFxuLm1mcC1jbG9zZTpmb2N1cyB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLm1mcC1jbG9zZTphY3RpdmUge1xuICB0b3A6IDFweDsgfVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSxcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICNGRkY7XG4gIHJpZ2h0OiAtNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjQ0NDO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ubWZwLWFycm93OmFjdGl2ZSB7XG4gIG1hcmdpbi10b3A6IC01NHB4OyB9XG5cbi5tZnAtYXJyb3c6aG92ZXIsXG4ubWZwLWFycm93OmZvY3VzIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4ubWZwLWFycm93OmJlZm9yZSxcbi5tZnAtYXJyb3c6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtYXJnaW4tdG9wOiAzNXB4O1xuICBtYXJnaW4tbGVmdDogMzVweDtcbiAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7IH1cblxuLm1mcC1hcnJvdzphZnRlciB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XG4gIHRvcDogOHB4OyB9XG5cbi5tZnAtYXJyb3c6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcbiAgb3BhY2l0eTogMC43OyB9XG5cbi5tZnAtYXJyb3ctbGVmdCB7XG4gIGxlZnQ6IDA7IH1cblxuLm1mcC1hcnJvdy1sZWZ0OmFmdGVyIHtcbiAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7XG4gIG1hcmdpbi1sZWZ0OiAzMXB4OyB9XG5cbi5tZnAtYXJyb3ctbGVmdDpiZWZvcmUge1xuICBtYXJnaW4tbGVmdDogMjVweDtcbiAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1hcnJvdy1yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xuICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAjRkZGO1xuICBtYXJnaW4tbGVmdDogMzlweDsgfVxuXG4ubWZwLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG5cbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogOTAwcHg7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICB0b3A6IC00MHB4OyB9XG5cbi5tZnAtaWZyYW1lLXNjYWxlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuaW1nLm1mcC1pbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuLm1mcC1maWd1cmUge1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG4ubWZwLWZpZ3VyZTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogNDBweDtcbiAgYm90dG9tOiA0MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IC0xO1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgYmFja2dyb3VuZDogIzQ0NDsgfVxuXG4ubWZwLWZpZ3VyZSBzbWFsbCB7XG4gIGNvbG9yOiAjQkRCREJEO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTRweDsgfVxuXG4ubWZwLWZpZ3VyZSBmaWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm1mcC1ib3R0b20tYmFyIHtcbiAgbWFyZ2luLXRvcDogLTM2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtdGl0bGUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgY29sb3I6ICNGM0YzRjM7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZy1yaWdodDogMzZweDsgfVxuXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLm1mcC1nYWxsZXJ5IC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtZmlndXJlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAzMDBweCkge1xuICAvKipcclxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxyXG4gICAgICAgKi9cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcjplbXB0eSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogM3B4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTsgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwOyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlOyB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBCYXNlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUmVtb3ZlIG1hcmdpbiBhbmQgcGFkZGluZyBmcm9tIGV2ZXJ5IHNlbGVjdG9yIGluY2x1ZGluZyB0aGVpclxyXG4gKiBwc3VlZG8gc2VsZWN0b3JzLlxyXG4gKlxyXG4gKiAxLiBNb3JlIHNlbnNpYmxlIGRlZmF1bHQgYm94IHNpemluZy5cclxuICogICAgKGNzcy10cmlja3MuY29tL2luaGVyaXRpbmctYm94LXNpemluZy1wcm9iYWJseS1zbGlnaHRseS1iZXR0ZXItYmVzdC1wcmFjdGljZSkuXHJcbiAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAqIFNldCBoZWlnaHQgb2YgdGhlIGRvY3VtZW50IHRvIG1heGl1bSB2aWV3cG9ydCBoZWlnaHQuXHJcbiAqXHJcbiAqIDEuIFNldCByb290IGZvbnQgc2l6ZSB0byAxMC5cclxuICovXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgZm9udC1zaXplOiA2Mi41JTtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qKlxyXG4gKiBTZXQgbWluaW1hbCBoZWlnaHQgb2YgdGhlIGJvZHkgdG8gbWF4aW11bSB2aWV3cG9ydCBoZWlnaHQgdG9cclxuICogbWF0Y2ggdGhlIGRvY3VtZW50J3MgaGVpZ2h0LlxyXG4gKlxyXG4gKiAxLiBGaXJlZm94IDI1Ky5cclxuICogMi4gQ2hyb21lIDUrLlxyXG4gKi9cbmJvZHkge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLVJlZ3VsYXJcIjtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgLyogMSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLyogMiAqLyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFJlc2V0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQ3VzdG9tIHVzZXIgYWdlbnQgcmVzZXRzIGFuZCBvdmVycmlkZXMgdGhhdCBhcmUgbm90IHByZXNlbnQgaW5cclxuICogTm9ybWFsaXplIDguMC4wLiBUaGlzIG1vc3RseSByZW1vdmVzIHNvbWUgYW5ub3lpbmcgbWFyZ2luIGFuZCBwYWRkaW5nXHJcbiAqIGRlZmF1bHRzLCBib3JkZXIgcmFkaXVzLCBhbmQgb3V0bGluZXMuXHJcbiAqL1xuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyoqXHJcbiAqIDEuIFJlbW92ZSBib3JkZXIgcmFkaXVzIG9uIENocm9tZSA2Mi4wKyBvbiBtYWNPUy5cclxuICovXG5idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC8qIDEgKi9cbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG5ociB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcclxuICogMS4gUmVtb3ZlIHdoaXRlIHNwYWNlLlxyXG4gKi9cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAqIDEuIFJlbW92ZSBpbmhlcml0ZWQgdXNlciBhZ2VudCBhcHBlYXJhbmNlLlxyXG4gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogMSAqLyB9XG5cbi8qKlxyXG4gKiAxLiBPbmx5IGFsbG93IHZlcnRpY2FsIHJlc2l6aW5nIHRvIHByZXZlbnQgdGhlIHRleHRhcmVhXHJcbiAqICAgIGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNvbnRhaW5lci5cclxuICovXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IH1cblxudWwsXG5vbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbnAge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXHJcbiAqIDEuIENvbGxhcHNlIGJvcmRlcnMgdG8gcHJldmVudCBkb3VibGUgc2lkZWQgYm9yZGVycy5cclxuICovXG50YWJsZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgLyogMSAqLyB9XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQmFja2dyb3VuZFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEJhY2tncm91bmQgYmFzZS5cclxuICovXG4uYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IC0xOyB9XG5cbi8qKlxyXG4gKiBCYWNrZ3JvdW5kIHByaW1hcnkuXHJcbiAqL1xuLmJhY2tncm91bmQtLWRlZmF1bHQge1xuICBjb2xvcjogYmxhY2s7XG4gIGZpbGw6IGJsYWNrOyB9XG4gIC5iYWNrZ3JvdW5kLS1kZWZhdWx0OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHdoaXRlOyB9XG4gIC5iYWNrZ3JvdW5kLS1kZWZhdWx0IGgxLFxuICAuYmFja2dyb3VuZC0tZGVmYXVsdCBoMiB7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gIC5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWFycm93IHtcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAuYmFja2dyb3VuZC0tZGVmYXVsdCAuYnV0dG9uLS1hcnJvdyBzdmcge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZmlsbDogYmxhY2s7IH1cbiAgLmJhY2tncm91bmQtLWRlZmF1bHQgLmJ1dHRvbi0tYm9yZGVyIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjaztcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAuYmFja2dyb3VuZC0tZGVmYXVsdCAuYnV0dG9uLS1ib3JkZXIgc3ZnIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIGZpbGw6IGJsYWNrOyB9XG5cbi5iYWNrZ3JvdW5kLS1ncmFkaWVudCB7XG4gIGNvbG9yOiBibGFjaztcbiAgZmlsbDogYmxhY2s7IH1cbiAgLmJhY2tncm91bmQtLWdyYWRpZW50OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGRkVEMDAgMzIuMDklLCAjRjM5MjAwIDgxLjA3JSwgI0ZGNTA0NyAxMDAlKTsgfVxuICAuYmFja2dyb3VuZC0tZ3JhZGllbnQgaDEsXG4gIC5iYWNrZ3JvdW5kLS1ncmFkaWVudCBoMiB7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gIC5iYWNrZ3JvdW5kLS1ncmFkaWVudCAuYnV0dG9uLS1hcnJvdyB7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmJhY2tncm91bmQtLWdyYWRpZW50IC5idXR0b24tLWFycm93IHN2ZyB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBmaWxsOiBibGFjazsgfVxuICAuYmFja2dyb3VuZC0tZ3JhZGllbnQgLmJ1dHRvbi0tYm9yZGVyIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjaztcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAuYmFja2dyb3VuZC0tZ3JhZGllbnQgLmJ1dHRvbi0tYm9yZGVyIHN2ZyB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBmaWxsOiBibGFjazsgfVxuXG4uYmFja2dyb3VuZC0tZ3JleSB7XG4gIGNvbG9yOiBibGFjaztcbiAgZmlsbDogYmxhY2s7IH1cbiAgLmJhY2tncm91bmQtLWdyZXk6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2U3ZTZkZDsgfVxuICAuYmFja2dyb3VuZC0tZ3JleSBoMSxcbiAgLmJhY2tncm91bmQtLWdyZXkgaDIge1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAuYmFja2dyb3VuZC0tZ3JleSAuYnV0dG9uLS1hcnJvdyB7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmJhY2tncm91bmQtLWdyZXkgLmJ1dHRvbi0tYXJyb3cgc3ZnIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIGZpbGw6IGJsYWNrOyB9XG4gIC5iYWNrZ3JvdW5kLS1ncmV5IC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmJhY2tncm91bmQtLWdyZXkgLmJ1dHRvbi0tYm9yZGVyIHN2ZyB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBmaWxsOiBibGFjazsgfVxuXG4vKipcclxuICogQmFja2dyb3VuZCBwcmltYXJ5ICh3aXRoIHBhdHRlcm4pLlxyXG4gKi9cbi5iYWNrZ3JvdW5kLS1iZWlnZSB7XG4gIGNvbG9yOiBibGFjaztcbiAgZmlsbDogYmxhY2s7IH1cbiAgLmJhY2tncm91bmQtLWJlaWdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNmMGU0Y2I7IH1cbiAgLmJhY2tncm91bmQtLWJlaWdlIGgxLFxuICAuYmFja2dyb3VuZC0tYmVpZ2UgaDIge1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAuYmFja2dyb3VuZC0tYmVpZ2UgLmJ1dHRvbi0tYXJyb3cge1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAgIC5iYWNrZ3JvdW5kLS1iZWlnZSAuYnV0dG9uLS1hcnJvdyBzdmcge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZmlsbDogYmxhY2s7IH1cbiAgLmJhY2tncm91bmQtLWJlaWdlIC5idXR0b24tLWJvcmRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmJhY2tncm91bmQtLWJlaWdlIC5idXR0b24tLWJvcmRlciBzdmcge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZmlsbDogYmxhY2s7IH1cblxuLyoqXHJcbiAqIEJhY2tncm91bmQgc2Vjb25kYXJ5LlxyXG4gKi9cbi5iYWNrZ3JvdW5kLS1icm93biB7XG4gIGNvbG9yOiAjZjBlNGNiO1xuICBmaWxsOiAjZjBlNGNiOyB9XG4gIC5iYWNrZ3JvdW5kLS1icm93bjo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBibGFjazsgfVxuICAuYmFja2dyb3VuZC0tYnJvd24gaDEsXG4gIC5iYWNrZ3JvdW5kLS1icm93biBoMiB7XG4gICAgY29sb3I6ICNmMGU0Y2I7IH1cbiAgLmJhY2tncm91bmQtLWJyb3duIC5idXR0b24tLWFycm93IHtcbiAgICBjb2xvcjogI2YwZTRjYjsgfVxuICAgIC5iYWNrZ3JvdW5kLS1icm93biAuYnV0dG9uLS1hcnJvdyBzdmcge1xuICAgICAgY29sb3I6ICNmMGU0Y2I7XG4gICAgICBmaWxsOiAjZjBlNGNiOyB9XG4gIC5iYWNrZ3JvdW5kLS1icm93biAuYnV0dG9uLS1ib3JkZXIge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAgIC5iYWNrZ3JvdW5kLS1icm93biAuYnV0dG9uLS1ib3JkZXIgc3ZnIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIGZpbGw6IGJsYWNrOyB9XG5cbi8qKlxyXG4gKiBCYWNrZ3JvdW5kIHNlY29uZGFyeS5cclxuICovXG4uYmFja2dyb3VuZC0tYmxhY2sge1xuICBjb2xvcjogI2ZmZjIwMDtcbiAgZmlsbDogI2ZmZjIwMDsgfVxuICAuYmFja2dyb3VuZC0tYmxhY2s6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7IH1cbiAgLmJhY2tncm91bmQtLWJsYWNrIGgxLFxuICAuYmFja2dyb3VuZC0tYmxhY2sgaDIge1xuICAgIGNvbG9yOiAjZmZmMjAwOyB9XG4gIC5iYWNrZ3JvdW5kLS1ibGFjayAuYnV0dG9uLS1hcnJvdyB7XG4gICAgY29sb3I6ICNmZmYyMDA7IH1cbiAgICAuYmFja2dyb3VuZC0tYmxhY2sgLmJ1dHRvbi0tYXJyb3cgc3ZnIHtcbiAgICAgIGNvbG9yOiAjZmZmMjAwO1xuICAgICAgZmlsbDogI2ZmZjIwMDsgfVxuICAuYmFja2dyb3VuZC0tYmxhY2sgLmJ1dHRvbi0tYm9yZGVyIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjaztcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAuYmFja2dyb3VuZC0tYmxhY2sgLmJ1dHRvbi0tYm9yZGVyIHN2ZyB7XG4gICAgICBjb2xvcjogYmxhY2sgYmxhY2s7XG4gICAgICBmaWxsOiBibGFjazsgfVxuXG4vKipcclxuICogQmFja2dyb3VuZCBib3JkZXIuXHJcbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuYmFja2dyb3VuZC0tYm9yZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLmJhY2tncm91bmQtLWJvcmRlcjo6YmVmb3JlIHtcbiAgYm90dG9tOiA5NXB4O1xuICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkIGJsYWNrOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuYmFja2dyb3VuZC0tYm9yZGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCBibGFjazsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmJhY2tncm91bmQtLWJvcmRlciAud3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuXG4uYmFja2dyb3VuZC0tYm9yZGVyICsgZGl2IHtcbiAgbWFyZ2luLXRvcDogLTk1cHg7XG4gIHBhZGRpbmctdG9wOiA5NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuYmFja2dyb3VuZC0tYm9yZGVyICsgZGl2IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEJ1dHRvbnMuXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQnV0dG9uIGJhc2UuXHJcbiAqL1xuLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMzJweDtcbiAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlOyB9XG5cbi8qKlxyXG4gKiBCdXR0b24gYm9yZGVyLlxyXG4gKi9cbi5idXR0b24tLWJvcmRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLmJ1dHRvbi0tYm9yZGVyIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTNweDtcbiAgICByaWdodDogLTM1cHg7IH1cbiAgLmJ1dHRvbi0tYm9yZGVyOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7IH1cbiAgLmJ1dHRvbi0tYm9yZGVyOmhvdmVyOjphZnRlciB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJ1dHRvbi0tYm9yZGVyLmlzLW9yYW5nZSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2Q5OWI2ODtcbiAgICBjb2xvcjogI2Q5OWI2ODsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1vcmFuZ2Ugc3ZnIHtcbiAgICAgIGNvbG9yOiAjZDk5YjY4O1xuICAgICAgZmlsbDogI2Q5OWI2ODsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1vcmFuZ2U6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNkOTliNjg7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtb3JhbmdlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNTk1YTRlOyB9XG4gIC5idXR0b24tLWJvcmRlci5pcy1icm93biB7XG4gICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmJ1dHRvbi0tYm9yZGVyLmlzLWJyb3duIHN2ZyB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBmaWxsOiBibGFjazsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1icm93bjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogYmxhY2s7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtYnJvd246aG92ZXIge1xuICAgICAgY29sb3I6ICNmMGU0Y2I7IH1cbiAgLmJ1dHRvbi0tYm9yZGVyLmlzLWJsYWNrIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjaztcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtYmxhY2sgc3ZnIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIGZpbGw6IGJsYWNrOyB9XG4gICAgLmJ1dHRvbi0tYm9yZGVyLmlzLWJsYWNrOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBibGFjazsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1ibGFjazpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjIwMDsgfVxuICAuYnV0dG9uLS1ib3JkZXIuaXMtZ3JlZW4ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xuICAgIGNvbG9yOiBibGFjazsgfVxuICAgIC5idXR0b24tLWJvcmRlci5pcy1ncmVlbiBzdmcge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZmlsbDogYmxhY2s7IH1cbiAgICAuYnV0dG9uLS1ib3JkZXIuaXMtZ3JlZW46OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGJsYWNrOyB9XG4gICAgLmJ1dHRvbi0tYm9yZGVyLmlzLWdyZWVuOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmMjAwOyB9XG5cbi8qKlxyXG4gKiBCdXR0b24gYXJyb3cuXHJcbiAqL1xuLmJ1dHRvbi0tYXJyb3cgc3ZnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDFweDtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cblxuLmJ1dHRvbi0tYXJyb3c6aG92ZXIgc3ZnIHtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cblxuLmJ1dHRvbi0tYXJyb3cuaXMtb3JhbmdlIHtcbiAgY29sb3I6ICNkOTliNjg7IH1cbiAgLmJ1dHRvbi0tYXJyb3cuaXMtb3JhbmdlIHN2ZyB7XG4gICAgY29sb3I6ICNkOTliNjg7XG4gICAgZmlsbDogI2Q5OWI2ODsgfVxuXG4uYnV0dG9uLS1hcnJvdy5pcy1yZWQge1xuICBjb2xvcjogI2RmNDEyNjsgfVxuICAuYnV0dG9uLS1hcnJvdy5pcy1yZWQgc3ZnIHtcbiAgICBjb2xvcjogI2RmNDEyNjtcbiAgICBmaWxsOiAjZGY0MTI2OyB9XG5cbi5idXR0b24tLWFycm93LmlzLWJlaWdlIHtcbiAgY29sb3I6ICNmMGU0Y2I7IH1cbiAgLmJ1dHRvbi0tYXJyb3cuaXMtYmVpZ2Ugc3ZnIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZmlsbDogd2hpdGU7IH1cblxuLmJ1dHRvbi0tYXJyb3cuaXMtYnJvd24ge1xuICBjb2xvcjogYmxhY2s7IH1cbiAgLmJ1dHRvbi0tYXJyb3cuaXMtYnJvd24gc3ZnIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZmlsbDogYmxhY2s7IH1cblxuLmJ1dHRvbi0tYXJyb3cuaXMtYmxhY2sge1xuICBjb2xvcjogYmxhY2s7IH1cbiAgLmJ1dHRvbi0tYXJyb3cuaXMtYmxhY2sgc3ZnIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZmlsbDogYmxhY2s7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29udGFpbmVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogVGhlIGNvbnRhaW5lciBvYmplY3QgY2VudGVycyBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudC5cclxuICovXG4uY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMjRweCArIDUwLjY2NjY3cHgpO1xuICBwYWRkaW5nOiAwIDI1LjMzMzMzcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb250ZW50IENvbnN0cmFpbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBUaGUgY29udGVudCBjb25zdHJhaW50IGlzIGEgY29uc3RyYWludCBmb3IgYWxsIHRoZSBjb250ZW50IHdpdGhpblxyXG4gKiB0aGUgZG9jdW1lbnQuIEl0IGNhbiBiZSBtYW5pcHVsYXRlZCBieSBDU1Mgb3IgSmF2YVNjcmlwdCB3aXRob3V0XHJcbiAqIGluZmx1ZW5jaW5nIHRoZSBib2R5LlxyXG4gKi9cbi5jb250ZW50LWNvbnN0cmFpbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jb250ZW50LWNvbnN0cmFpbnQgOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYyMDA7XG4gICAgY29sb3I6IGJsYWNrOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZsZXhcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBFeGFtcGxlIG9mIGEgZmxleCBiYXNlZCBjb2x1bW4gZ3JpZCBsYXlvdXQgaW4gcHJhY3RpY2U6XHJcbiAqXHJcbiAqIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XHJcbiAqIDwvZGl2PlxyXG4gKlxyXG4gKiBUaGlzIGV4YW1wbGUgd2lsbCBjcmVhdGUgYSByb3cgd2l0aCB0d28gY29sdW1ucyBlYWNoIGZpbGxpbmcgaGFsZiB0aGUgd2lkdGhcclxuICogb2YgdGhlIHJvdyBvbiBhbGwgbWVkaWEsIGJ1dCB3aWxsIGNvbnZlcnQgdG8gYSBmdWxsIHdpZHRoIGNvbHVtbiBvbiB0aGVcclxuICogc21hbGwgYC1zbWAgYnJlYWtwb2ludCBhbGlhcywgd2hpY2ggaXMgbW9iaWxlIG9ubHkuIFJlZmVyIHRvXHJcbiAqIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AgZm9yIGFsbCBicmVha3BvaW50IGFsaWFzLlxyXG4gKi9cbi8qKlxyXG4gKiBGbGV4IG9iamVjdC5cclxuICpcclxuICogVGlwOiBVc2UgZmxleCBvbiBhIGNvbHVtbiB0byBtYWtlIHRoZSBib3ggdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBjb2x1bW4uXHJcbiAqL1xuLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLyoqXHJcbiAqIEZsZXggb2JqZWN0IHdpdGggYSBjb2x1bW4gYmFzZWQgbGF5b3V0IHN5c3RlbS5cclxuICovXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAxIGF1dG87XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbjogMCAtMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICogQm94LCB0aGUgaW5zaWRlIG9mIGEgY29sdW1uLlxyXG4gKi9cbi5ib3gge1xuICBmbGV4OiAxOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAyIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDIgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMyBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTMge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDI1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAzIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDQgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14cy00IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA1IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtNSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNDEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDUgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNiBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTYge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA2IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDcgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14cy03IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1OC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNyBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA4IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtOCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDggZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gOSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTkge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDc1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA5IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDEwIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtMTAge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxMCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTEgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14cy0xMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOTEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDExIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMiBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTEyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBzdHJldGNoYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhzLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGNlbnRlcmAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi14cy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgZmxleC1zdGFydGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi14cy1mbGV4LXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LWVuZGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi14cy1mbGV4LWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGJhc2VsaW5lYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhzLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzdGFydGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhzLXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgY2VudGVyYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnkteHMtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWJldHdlZW5gIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS14cy1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1hcm91bmRgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS14cy1zcGFjZS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtZXZlbmx5YCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnkteHMtc3BhY2UtZXZlbmx5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cblxuLyoqXHJcbiAgICAgICAqIEJsZWVkIGxlZnQgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5ibGVlZC14cy1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qKlxyXG4gICAgICAgKiBCbGVlZCByaWdodCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmJsZWVkLXhzLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKipcclxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICovXG4uZmlyc3QteHMge1xuICBvcmRlcjogLTE7IH1cblxuLyoqXHJcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICovXG4ubGFzdC14cyB7XG4gIG9yZGVyOiAxOyB9XG5cbi8qKlxyXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAqL1xuLnJldmVyc2UteHMge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtc20tMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDIgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1zbS0yIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMiBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAzIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtc20tMyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDMgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXNtLTQge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA0IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDUgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1zbS01IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA0MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA2IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtc20tNiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDYgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNyBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXNtLTcge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA3IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDggZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1zbS04IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgOCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA5IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtc20tOSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNzUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDkgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTAgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1zbS0xMCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogODMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEwIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXNtLTExIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA5MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMTEgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDEyIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtc20tMTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYHN0cmV0Y2hgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24tc20tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgY2VudGVyYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXNtLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LXN0YXJ0YCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXNtLWZsZXgtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGZsZXgtZW5kYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXNtLWZsZXgtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgYmFzZWxpbmVgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24tc20tYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHN0YXJ0YCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnktc20tc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBjZW50ZXJgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS1zbS1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYmV0d2VlbmAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LXNtLXNwYWNlLWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWFyb3VuZGAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LXNtLXNwYWNlLWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1ldmVubHlgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS1zbS1zcGFjZS1ldmVubHkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuXG4vKipcclxuICAgICAgICogQmxlZWQgbGVmdCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmJsZWVkLXNtLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyoqXHJcbiAgICAgICAqIEJsZWVkIHJpZ2h0IGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYmxlZWQtc20tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qKlxyXG4gICAgICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbi5maXJzdC1zbSB7XG4gIG9yZGVyOiAtMTsgfVxuXG4vKipcclxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbi5sYXN0LXNtIHtcbiAgb3JkZXI6IDE7IH1cblxuLyoqXHJcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICovXG4ucmV2ZXJzZS1zbSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDEgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1tZC0xIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMiBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLW1kLTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAyIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDMgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1tZC0zIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAyNSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMyBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA0IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbWQtNCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDQgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLW1kLTUge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA1IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDYgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1tZC02IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNiBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA3IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbWQtNyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDcgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gOCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLW1kLTgge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA4IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDkgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1tZC05IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA3NSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgOSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLW1kLTEwIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4My4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMTAgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDExIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbWQtMTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxMSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTIgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1tZC0xMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgc3RyZXRjaGAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi1tZC1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBjZW50ZXJgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24tbWQtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGZsZXgtc3RhcnRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24tbWQtZmxleC1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgZmxleC1lbmRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24tbWQtZmxleC1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBiYXNlbGluZWAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi1tZC1iYXNlbGluZSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3RhcnRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS1tZC1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYGNlbnRlcmAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LW1kLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1iZXR3ZWVuYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnktbWQtc3BhY2UtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYXJvdW5kYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnktbWQtc3BhY2UtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWV2ZW5seWAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LW1kLXNwYWNlLWV2ZW5seSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG5cbi8qKlxyXG4gICAgICAgKiBCbGVlZCBsZWZ0IGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYmxlZWQtbWQtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKipcclxuICAgICAgICogQmxlZWQgcmlnaHQgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5ibGVlZC1tZC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyoqXHJcbiAgICAgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAqL1xuLmZpcnN0LW1kIHtcbiAgb3JkZXI6IC0xOyB9XG5cbi8qKlxyXG4gICAgICogT3JkZXIgbGFzdCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAqL1xuLmxhc3QtbWQge1xuICBvcmRlcjogMTsgfVxuXG4vKipcclxuICAgICAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbi5yZXZlcnNlLW1kIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLWxnLTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAyIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbGctMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDIgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMyBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLWxnLTMge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDI1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAzIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDQgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1sZy00IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA1IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbGctNSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNDEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDUgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNiBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLWxnLTYge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA2IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDcgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1sZy03IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1OC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNyBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA4IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbGctOCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDggZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gOSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLWxnLTkge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDc1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA5IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDEwIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbGctMTAge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxMCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTEgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1sZy0xMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOTEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDExIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMiBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLWxnLTEyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBzdHJldGNoYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLWxnLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGNlbnRlcmAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi1sZy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgZmxleC1zdGFydGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi1sZy1mbGV4LXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LWVuZGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi1sZy1mbGV4LWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGJhc2VsaW5lYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLWxnLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzdGFydGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LWxnLXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgY2VudGVyYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnktbGctY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWJldHdlZW5gIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS1sZy1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1hcm91bmRgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS1sZy1zcGFjZS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtZXZlbmx5YCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnktbGctc3BhY2UtZXZlbmx5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cblxuLyoqXHJcbiAgICAgICAqIEJsZWVkIGxlZnQgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5ibGVlZC1sZy1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qKlxyXG4gICAgICAgKiBCbGVlZCByaWdodCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmJsZWVkLWxnLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKipcclxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICovXG4uZmlyc3QtbGcge1xuICBvcmRlcjogLTE7IH1cblxuLyoqXHJcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICovXG4ubGFzdC1sZyB7XG4gIG9yZGVyOiAxOyB9XG5cbi8qKlxyXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAqL1xuLnJldmVyc2UtbGcge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteGwtMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDIgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14bC0yIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMiBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAzIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteGwtMyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDMgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhsLTQge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA0IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14bC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDUgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14bC01IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA0MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA2IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteGwtNiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDYgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNyBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhsLTcge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA3IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14bC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDggZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14bC04IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgOCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA5IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteGwtOSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNzUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDkgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTAgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14bC0xMCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogODMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEwIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14bC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhsLTExIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA5MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMTEgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDEyIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteGwtMTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYHN0cmV0Y2hgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24teGwtc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgY2VudGVyYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhsLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LXN0YXJ0YCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhsLWZsZXgtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGZsZXgtZW5kYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhsLWZsZXgtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgYmFzZWxpbmVgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24teGwtYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHN0YXJ0YCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnkteGwtc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBjZW50ZXJgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS14bC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYmV0d2VlbmAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhsLXNwYWNlLWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWFyb3VuZGAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhsLXNwYWNlLWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1ldmVubHlgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS14bC1zcGFjZS1ldmVubHkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuXG4vKipcclxuICAgICAgICogQmxlZWQgbGVmdCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmJsZWVkLXhsLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyoqXHJcbiAgICAgICAqIEJsZWVkIHJpZ2h0IGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYmxlZWQteGwtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qKlxyXG4gICAgICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbi5maXJzdC14bCB7XG4gIG9yZGVyOiAtMTsgfVxuXG4vKipcclxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbi5sYXN0LXhsIHtcbiAgb3JkZXI6IDE7IH1cblxuLyoqXHJcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICovXG4ucmV2ZXJzZS14bCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIZWFkaW5ncy5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBIZWFkaW5nIDEuXHJcbiAqL1xuaDEsXG4uaGVhZGluZy0xIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjA4MzNlbTtcbiAgZm9udC1mYW1pbHk6IFwiUHJlZGlnZS1NZWRpdW1cIjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgaDEsXG4gICAgLmhlYWRpbmctMSB7XG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICBmb250LXNpemU6IDQuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNWVtOyB9IH1cblxuLyoqXHJcbiAqIEhlYWRpbmcgMi5cclxuICovXG5oMixcbi5oZWFkaW5nLTIge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4xMjVlbTtcbiAgZm9udC1mYW1pbHk6IFwiUHJlZGlnZS1NZWRpdW1cIjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgaDIsXG4gICAgLmhlYWRpbmctMiB7XG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICBmb250LXNpemU6IDQuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNWVtO1xuICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsgfSB9XG5cbi8qKlxyXG4gKiBIZWFkaW5nIDMuXHJcbiAqL1xuaDMsXG4uaGVhZGluZy0zIHtcbiAgZm9udC1zaXplOiAxNTBweDtcbiAgZm9udC1zaXplOiAxNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgZm9udC1mYW1pbHk6IFwiUHJlZGlnZS1NZWRpdW1cIjtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4IGJsYWNrO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICBoMyxcbiAgICAuaGVhZGluZy0zIHtcbiAgICAgIGZvbnQtc2l6ZTogMTAwcHg7XG4gICAgICBmb250LXNpemU6IDEwcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICBoMyxcbiAgICAuaGVhZGluZy0zIHtcbiAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICBtYXgtd2lkdGg6IDEwMHZ3O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIZWFkaW5ncy5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5oYXMtbG9hZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMTUwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGFzLWxvYWRbbG9hZGVkPSd0cnVlJ10ge1xuICB0b3A6IDA7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgU2VjdGlvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgV3JhcHBlclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFRoZSB3cmFwcGVyIG9iamVjdCBjZW50ZXJzIGFuIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50LlxyXG4gKi9cbi8qKlxyXG4gKiBXcmFwcGVyIChkZWZhdWx0KVxyXG4gKi9cbi53cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEyNTBweCArIDE5MHB4KTtcbiAgcGFkZGluZzogMCA5NXB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgNDBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAud3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDYwcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDTVMgT3V0cHV0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogRXZlcnkgY29uY2VpdmFibGUgSFRNTCBlbGVtZW50IHdpdGhpbiBhIGAuY21zLW91dHB1dGAgd3JhcHBlci5cclxuICpcclxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cclxuICovXG4uY21zLW91dHB1dCA+ICo6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgLyogMSAqLyB9XG5cbi5jbXMtb3V0cHV0IHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC5jbXMtb3V0cHV0IHVsIGxpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1ZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM1cHgpOyB9XG4gICAgLmNtcy1vdXRwdXQgdWwgbGk6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIGNvbnRlbnQ6ICfigLonOyB9XG5cbi5jbXMtb3V0cHV0IG9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsOyB9XG4gIC5jbXMtb3V0cHV0IG9sIGxpIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1ZW07IH1cblxuLmNtcy1vdXRwdXQgcCA+IGEge1xuICBjb2xvcjogI2RmNDEyNjsgfVxuICAuY21zLW91dHB1dCBwID4gYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29udGFjdCBmb3JtXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY29udGFjdC1mb3JtIHtcbiAgcGFkZGluZy1ib3R0b206IDE3MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4OyB9IH1cblxuLmNvbnRhY3QtZm9ybV9fdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTEwcHg7XG4gIGxlZnQ6IC0xNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogODVweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggI2ZmZjIwMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fdGl0bGUge1xuICAgICAgbGVmdDogLThweDtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDNweDsgfSB9XG5cbi5jb250YWN0LWZvcm1fX2NvbHVtbi1jb250YWN0IHtcbiAgd2lkdGg6IDYyJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5jb250YWN0LWZvcm1fX2NvbHVtbi1jb250YWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmNvbnRhY3QtZm9ybV9fY29udGFjdC1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDE3MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fY29udGFjdC1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtX19jb250YWN0LWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7IH0gfVxuICAuY29udGFjdC1mb3JtX19jb250YWN0LWJsb2NrOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY29udGFjdC1mb3JtX19jb250YWN0LWJsb2NrOmZpcnN0LW9mLXR5cGUgLmNvbnRhY3QtZm9ybV9fY29udGFjdC1zdWJ0aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLmNvbnRhY3QtZm9ybV9fY29udGFjdC10aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTE1cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4ICNmZmYyMDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5jb250YWN0LWZvcm1fX2NvbnRhY3QtdGl0bGUge1xuICAgICAgbGVmdDogLThweDsgfSB9XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3Qtc3VidGl0bGUge1xuICBtYXgtd2lkdGg6IDQwMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwYWRkaW5nLXRvcDogMjM1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtX19jb250YWN0LXN1YnRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNTJweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtX19jb250YWN0LXN1YnRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMTBweDsgfSB9XG5cbi5jb250YWN0LWZvcm1fX2NvbnRhY3QtZWRpdG9yIHtcbiAgbWF4LXdpZHRoOiA1ODVweDsgfVxuXG4uY29udGFjdC1mb3JtX19jb250YWN0LWxvZ28ge1xuICBtYXgtd2lkdGg6IDI5MHB4O1xuICBtYXJnaW4tdG9wOiA1NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmNvbnRhY3QtZm9ybV9fY29udGFjdC1sb2dvIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuXG4uY29udGFjdC1mb3JtX19jb2x1bW4tZm9ybSB7XG4gIHdpZHRoOiAzOCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtX19jb2x1bW4tZm9ybSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRG93bmxvYWRzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5kb3dubG9hZHMgLndyYXBwZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBwYWRkaW5nLXRvcDogMTVweDsgfSB9XG5cbi5kb3dubG9hZHNfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxNjRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5kb3dubG9hZHNfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTE1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmRvd25sb2Fkc19faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5MHB4OyB9IH1cblxuLmRvd25sb2Fkc19faXRlbS1kYXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTRweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggI2ZmZjIwMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmRvd25sb2Fkc19faXRlbS1kYXRlIHtcbiAgICAgIGxlZnQ6IC03cHg7IH0gfVxuXG4uZG93bmxvYWRzX19jb2x1bW4taXRlbXMge1xuICB3aWR0aDogNjElO1xuICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZG93bmxvYWRzX19jb2x1bW4taXRlbXMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZG93bmxvYWRzX19pdGVtLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgcGFkZGluZy10b3A6IDIyNHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmRvd25sb2Fkc19faXRlbS10aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTc1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmRvd25sb2Fkc19faXRlbS10aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTE1cHg7IH0gfVxuXG4uZG93bmxvYWRzX19pdGVtLWltYWdlIHtcbiAgbWF4LXdpZHRoOiA1NzBweDtcbiAgbWFyZ2luOiAzNXB4IDA7IH1cblxuLmRvd25sb2Fkc19faXRlbS1lZGl0b3Ige1xuICBtYXgtd2lkdGg6IDU3MHB4OyB9XG5cbi5kb3dubG9hZHNfX2l0ZW0tbGluayB7XG4gIG1hcmdpbi10b3A6IDM1cHg7IH1cblxuLmRvd25sb2Fkc19fY29sdW1uLWxpbmtzIHtcbiAgd2lkdGg6IDM5JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmRvd25sb2Fkc19fY29sdW1uLWxpbmtzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDsgfSB9XG5cbi5kb3dubG9hZHNfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDsgfVxuXG4uZG93bmxvYWRzX19lZGl0b3IgYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NWVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTsgfVxuICAuZG93bmxvYWRzX19lZGl0b3IgYTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmYyMDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRm9vdGVyIGNvbHVtbnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mb290ZXItY29sdW1ucyB7XG4gIGxpbmUtaGVpZ2h0OiAyOXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWNvbHVtbnMge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICBsaW5lLWhlaWdodDogMmVtOyB9IH1cbiAgLmZvb3Rlci1jb2x1bW5zIC53cmFwcGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE3NXB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmZvb3Rlci1jb2x1bW5zIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4OyB9IH1cbiAgLmZvb3Rlci1jb2x1bW5zIGEge1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlOyB9XG4gICAgLmZvb3Rlci1jb2x1bW5zIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmYyMDA7IH1cblxuLmZvb3Rlci1jb2x1bW5zX19jb250YWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWNvbHVtbnNfX2NvbnRhY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cblxuLmZvb3Rlci1jb2x1bW5zX19jb250YWN0LWxvZ28ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTM1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXItY29sdW1uc19fY29udGFjdC1sb2dvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDsgfSB9XG4gIC5mb290ZXItY29sdW1uc19fY29udGFjdC1sb2dvIGltZyB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi5mb290ZXItY29sdW1uc19fY29udGFjdC1lZGl0b3Ige1xuICBtYXJnaW4tdG9wOiA3NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWNvbHVtbnNfX2NvbnRhY3QtZWRpdG9yIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuXG4uZm9vdGVyLWNvbHVtbnNfX3NpdGVtYXBzIHtcbiAgd2lkdGg6IDQ1JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jb2x1bW5zX19zaXRlbWFwcyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmZvb3Rlci1jb2x1bW5zX19zaXRlbWFwIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uZm9vdGVyLWNvbHVtbnNfX3NvY2lhbC10aXRsZSxcbi5mb290ZXItY29sdW1uc19fc2l0ZW1hcC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXItY29sdW1uc19fc29jaWFsLXRpdGxlLFxuICAgIC5mb290ZXItY29sdW1uc19fc2l0ZW1hcC10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cblxuLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwge1xuICB3aWR0aDogMTUlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWNvbHVtbnNfX3NvY2lhbCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5mb290ZXItY29sdW1uc19fc29jaWFsLWxpbmtzIGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mb290ZXItY29sdW1uc19fc29jaWFsLWxpbmtzIGEgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4OyB9XG4gICAgLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwtbGlua3MgYSBzdmcgcGF0aCB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgLmZvb3Rlci1jb2x1bW5zX19zb2NpYWwtbGlua3MgYTpob3ZlciB7XG4gICAgY29sb3I6ICNmZmYyMDA7IH1cbiAgICAuZm9vdGVyLWNvbHVtbnNfX3NvY2lhbC1saW5rcyBhOmhvdmVyIHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6ICNmZmYyMDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRm9vdGVyIENUQVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvb3Rlci1jdGEge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAyOyB9XG4gIC5mb290ZXItY3RhLmlzLWhvbWVwYWdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNmZTUwNDY7IH1cbiAgLmZvb3Rlci1jdGEgLndyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZm9vdGVyLWN0YTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5iYWNrZ3JvdW5kLS1ib3JkZXIgKyAuZm9vdGVyLWN0YSB7XG4gIHBhZGRpbmctdG9wOiAxNzVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmJhY2tncm91bmQtLWJvcmRlciArIC5mb290ZXItY3RhIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3NXB4OyB9IH1cblxuLmZvb3Rlci1jdGEgKyBkaXYge1xuICBtYXJnaW4tdG9wOiAtOTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jdGEgKyBkaXYge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5mb290ZXItY3RhX19ib2R5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE2MHB4O1xuICByaWdodDogMDtcbiAgbWF4LXdpZHRoOiA1NzVweDtcbiAgbWF4LWhlaWdodDogMjUwcHg7XG4gIHBhZGRpbmc6IDYwcHggNTVweDtcbiAgYmFja2dyb3VuZDogYmxhY2s7XG4gIGNvbG9yOiAjZmZmMjAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuZm9vdGVyLWN0YV9fYm9keSB7XG4gICAgICB0b3A6IDEyMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5mb290ZXItY3RhX19ib2R5IHtcbiAgICAgIHRvcDogNDBweDtcbiAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgbGVmdDogNDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgcGFkZGluZzogNjBweCA0MHB4OyB9IH1cblxuLmZvb3Rlci1jdGFfX2xpbmsge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5mb290ZXItY3RhX19pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMHZ3O1xuICBtaW4taGVpZ2h0OiA1NzBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlci1jdGFfX2ltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgaGVpZ2h0OiA1MDBweCAhaW1wb3J0YW50OyB9IH1cbiAgLmZvb3Rlci1jdGFfX2ltYWdlIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZvb3RlclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvb3RlciB7XG4gIGhlaWdodDogNTBweDtcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb290ZXIge1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDVweDsgfSB9XG5cbi5mb290ZXJfX2xpbmtzIGEge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgd2hpdGU7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvb3Rlcl9fbGlua3MgYSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjg1NzE0ZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLmZvb3Rlcl9fbGlua3MgYTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjIwMDtcbiAgICAgIGNvbG9yOiAjZmZmMjAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRm9ybVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvcm0ge1xuICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5mb3JtIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4OyB9IH1cblxuLmZvcm1fX3RpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMHB4O1xuICBsZWZ0OiAtMTRweDtcbiAgcGFkZGluZy1ib3R0b206IDg1cHg7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmZvcm1fX3RpdGxlIHtcbiAgICAgIGxlZnQ6IC04cHg7XG4gICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7IH0gfVxuXG4uZm9ybV9fY29sdW1uLWZvcm0ge1xuICB3aWR0aDogNzIlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmZvcm1fX2NvbHVtbi1mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmZvcm1fX2NvbHVtbi1pbWFnZSB7XG4gIHdpZHRoOiAyOCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuZm9ybV9fY29sdW1uLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZm9ybV9faW1hZ2UgaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgbWluLXdpZHRoOiA0MzVweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIZWFkZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5oZWFkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIxMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuaGVhZGVyIHtcbiAgICAgIGhlaWdodDogMTI1cHg7IH0gfVxuICAuaGVhZGVyIC53cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMjEwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuaGVhZGVyIC53cmFwcGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBoZWlnaHQ6IDEyNXB4OyB9IH1cblxuLmhlYWRlciArIGRpdiB7XG4gIHBhZGRpbmctdG9wOiAyMTBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmhlYWRlciArIGRpdiB7XG4gICAgICBwYWRkaW5nLXRvcDogMTI1cHg7IH0gfVxuXG4uaGVhZGVyX19sb2dvIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ3OXB4KTtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgei1pbmRleDogMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmhlYWRlcl9fbG9nbyB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDRweCk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgNzUwbXMgZWFzZTsgfSB9XG4gIC5oZWFkZXJfX2xvZ28gaW1nIHtcbiAgICB3aWR0aDogMjEycHg7XG4gICAgaGVpZ2h0OiAxNTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5oZWFkZXJfX2xvZ28gaW1nIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuYm9keS5pcy1hY3RpdmUgLmhlYWRlcl9fbG9nbyB7XG4gICAgei1pbmRleDogMTAwOyB9IH1cblxuLmhlYWRlcl9fYnV0dG9ucyB7XG4gIHdpZHRoOiA0NDVweDtcbiAgei1pbmRleDogMjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmhlYWRlcl9fYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmhlYWRlcl9fYnV0dG9uIHtcbiAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7XG4gIGNvbG9yOiBibGFjazsgfVxuICAuaGVhZGVyX19idXR0b24gc3ZnIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZmlsbDogYmxhY2s7IH1cbiAgLmhlYWRlcl9fYnV0dG9uOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7IH1cbiAgLmhlYWRlcl9fYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjIwMDsgfVxuICAuaGVhZGVyX19idXR0b24uaXMtc2VhcmNoIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7IH1cblxuLyoqXHJcbiAqIE1vYmlsZSBtZW51IGJ1dHRvbi5cclxuICovXG4uaGVhZGVyX19tZW51LWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDM0cHg7XG4gIGhlaWdodDogMzRweDtcbiAgei1pbmRleDogMTAwOyB9XG4gIC5oZWFkZXJfX21lbnUtYnV0dG9uIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cbiAgICAuaGVhZGVyX19tZW51LWJ1dHRvbiBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zLCB0b3AgNDAwbXMgNDAwbXMsIHRyYW5zZm9ybSA0MDBtcyAwczsgfVxuICAgIC5oZWFkZXJfX21lbnUtYnV0dG9uIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0MDBtcywgb3BhY2l0eSAwbXMgNDAwbXM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuaGVhZGVyX19tZW51LWJ1dHRvbiBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zLCBib3R0b20gNDAwbXMgNDAwbXMsIHRyYW5zZm9ybSA0MDBtcyAwcztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG4gIC5oZWFkZXJfX21lbnUtYnV0dG9uLmlzLWFjdGl2ZSBzcGFuOm50aC1jaGlsZCgxKSB7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDQwMG1zLCB0b3AgNDAwbXMsIHRyYW5zZm9ybSA0MDBtcyA0MDBtczsgfVxuICAuaGVhZGVyX19tZW51LWJ1dHRvbi5pcy1hY3RpdmUgc3BhbjpudGgtY2hpbGQoMikge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmhlYWRlcl9fbWVudS1idXR0b24uaXMtYWN0aXZlIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICBib3R0b206IGNhbGMoNTAlIC0gMXB4KTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0MDBtcywgYm90dG9tIDQwMG1zLCB0cmFuc2Zvcm0gNDAwbXMgNDAwbXM7IH1cblxuLyoqXHJcbiAqIEhlYWRlciBzZWNvbmRhcnkgY29sb3JzLlxyXG4gKi9cbi5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19idXR0b24ge1xuICBib3JkZXI6IDJweCBzb2xpZCBibGFjaztcbiAgY29sb3I6IGJsYWNrOyB9XG4gIC5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19idXR0b24gc3ZnIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZmlsbDogYmxhY2s7IH1cbiAgLmhlYWRlci0tc2Vjb25kYXJ5IC5oZWFkZXJfX2J1dHRvbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IGJsYWNrOyB9XG4gIC5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmMjAwOyB9XG5cbi5oZWFkZXItLXNlY29uZGFyeSAuaGVhZGVyX19tZW51LWJ1dHRvbiBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cbiAgLmhlYWRlci0tc2Vjb25kYXJ5IC5oZWFkZXJfX21lbnUtYnV0dG9uIHNwYW46bnRoLWNoaWxkKDIpLCAuaGVhZGVyLS1zZWNvbmRhcnkgLmhlYWRlcl9fbWVudS1idXR0b24gc3BhbjpudGgtY2hpbGQoMykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLmhlYWRlcl9fbWVudS1idXR0b24uaXMtYWN0aXZlIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOWVlZTE7IH1cbiAgICAuaGVhZGVyX19tZW51LWJ1dHRvbi5pcy1hY3RpdmUgc3BhbjpudGgtY2hpbGQoMiksIC5oZWFkZXJfX21lbnUtYnV0dG9uLmlzLWFjdGl2ZSBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllZWUxOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgSG9tZSBETkEgZm9ybS5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBEZWZhdWx0IHN0eWxpbmcuXHJcbiAqL1xuaW5wdXRbdHlwZT0ndGV4dCddLFxuaW5wdXRbdHlwZT0nbnVtYmVyJ10sXG5pbnB1dFt0eXBlPSdlbWFpbCddLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDdweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogYmxhY2s7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IDEyNXB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgYmxhY2s7IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IGJsYWNrOyB9XG5cbi8qKlxyXG4gKiBIb21lRE5BIGZvcm0uXHJcbiAqL1xuLmhvbWVkbmEtc3VydmV5IHtcbiAgbWF4LXdpZHRoOiA1NzVweDsgfVxuXG4uaG9tZWRuYS1zdXJ2ZXkgbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLTIzcHg7XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtTWVkaXVtXCI7IH1cblxuLmhvbWVkbmEtc3VydmV5IC5xdWVzdGlvbi10eXBlLXN0YXRpYyxcbi5ob21lZG5hLXN1cnZleSAucXVlc3Rpb24tdHlwZS1oZWFkZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ob21lZG5hLXN1cnZleSAud3JhcC1xdWVzdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAyNnB4O1xuICBmbG9hdDogbGVmdDtcbiAgY29sb3I6IGJsYWNrOyB9XG4gIC5ob21lZG5hLXN1cnZleSAud3JhcC1xdWVzdGlvbiBhIHtcbiAgICBjb2xvcjogI2ZmZjIwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5ob21lZG5hLXN1cnZleSAud3JhcC1xdWVzdGlvbiBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uaG9tZWRuYS1zdXJ2ZXkgLnF1ZXN0aW9uLXR5cGUtcmFkaW8gbGFiZWwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaG9tZWRuYS1zdXJ2ZXkgaW5wdXRbdHlwZT1yYWRpb10sXG4uaG9tZWRuYS1zdXJ2ZXkgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgcGFkZGluZzogMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRyYW5zaXRpb246IDAuMzVzO1xuICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCxcbiAgLmhvbWVkbmEtc3VydmV5IGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG5cbi5ob21lZG5hLXN1cnZleSAuYnRuLXN0eWxlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW46IDUwcHggMzVweCAwIDA7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xuICBjb2xvcjogYmxhY2s7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgLmJ0bi1zdHlsZSBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDZweDtcbiAgICByaWdodDogLTM3cHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZpbGw6IGJsYWNrOyB9XG4gIC5ob21lZG5hLXN1cnZleSAuYnRuLXN0eWxlOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDM1MG1zIGVhc2U7XG4gICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7IH1cbiAgLmhvbWVkbmEtc3VydmV5IC5idG4tc3R5bGU6aG92ZXI6OmFmdGVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaG9tZWRuYS1zdXJ2ZXkgLmJ0bi1zdHlsZTpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbiNmb3JtUGFnZU5hdiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuI2Zvcm1QYWdlTmF2ID4gLnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuI2Zvcm1QYWdlTmF2ID4gc3BhbltkYXRhLXBhZ2VdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDMwcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0NTBtcywgY29sb3IgNDUwbXM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1OTVhNGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjZm9ybVBhZ2VOYXYgPiBzcGFuW2RhdGEtcGFnZV06aG92ZXIsICNmb3JtUGFnZU5hdiA+IHNwYW5bZGF0YS1wYWdlXS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1OTVhNGU7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi5xdWVzdGlvbi10eXBlLXJhZGlvIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGhlaWdodDogMTAwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgTG9jYXRpb25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5sb2NhdGlvbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5sb2NhdGlvbiAud3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmxvY2F0aW9uX19jb2x1bW4tdGV4dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDMwJTtcbiAgcGFkZGluZzogOTBweCAzNXB4IDAgMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmxvY2F0aW9uX19jb2x1bW4tdGV4dCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICBtYXJnaW46IDcwcHggNDBweCA4MHB4O1xuICAgICAgcGFkZGluZzogMzVweCAwIDA7IH0gfVxuICAubG9jYXRpb25fX2NvbHVtbi10ZXh0OjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBjb250ZW50OiAnJzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5sb2NhdGlvbl9fY29sdW1uLXRleHQ6OmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMnB4OyB9IH1cblxuLmxvY2F0aW9uX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLmxvY2F0aW9uX19jb2x1bW4tbWFwIHtcbiAgd2lkdGg6IDcwJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmxvY2F0aW9uX19jb2x1bW4tbWFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmxvY2F0aW9uX19tYXAge1xuICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgd2lkdGg6IDY2LjZ2dztcbiAgbWluLWhlaWdodDogNjAwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5sb2NhdGlvbl9fbWFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogYXV0bzsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAubG9jYXRpb25fX21hcCB7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvOyB9IH1cblxuLmxvY2F0aW9uX19tYXAtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBNb2JpbGUgc2Nyb2xsXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubW9iaWxlLXNjcm9sbCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI3Nzc4ZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMTcwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgY29sb3I6IGJsYWNrO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5tb2JpbGUtc2Nyb2xsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAubW9iaWxlLXNjcm9sbCBzdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZpbGw6IGJsYWNrOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE5hdmlnYXRpb25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC0xMDB2aDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGRkVEMDAgMzIuMDklLCAjRjM5MjAwIDgxLjA3JSwgI0ZGNTA0NyAxMDAlKTtcbiAgY29sb3I6IGJsYWNrO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmF2aWdhdGlvbiB7XG4gICAgICB0b3A6IDEwMHZoO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMTI1cHg7XG4gICAgICBwYWRkaW5nOiAxMnB4IDAgNDBweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0ZGRUQwMCAzMi4wOSUsICNGMzkyMDAgODEuMDclLCAjRkY1MDQ3IDEwMCUpOyB9IH1cbiAgLm5hdmlnYXRpb24uaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubmF2aWdhdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyoqXHJcbiAqIENvbnRhY3QuXHJcbiAqL1xuLm5hdmlnYXRpb25fX2NvbHVtbi1jb250YWN0IHtcbiAgd2lkdGg6IDQwJTtcbiAgcGFkZGluZy10b3A6IDkwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5uYXZpZ2F0aW9uX19jb2x1bW4tY29udGFjdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm5hdmlnYXRpb25fX2NvbnRhY3QtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG4gIC5uYXZpZ2F0aW9uX19jb250YWN0LWJsb2NrIGE6aG92ZXIge1xuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgLm5hdmlnYXRpb25fX2NvbnRhY3QtYmxvY2sgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmMjAwOyB9IH1cblxuLm5hdmlnYXRpb25fX2NvbnRhY3QtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4OyB9XG5cbi5uYXZpZ2F0aW9uX19jb250YWN0LWVkaXRvciB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NWVtOyB9XG5cbi8qKlxyXG4gKiBTb2NpYWwuXHJcbiAqL1xuLm5hdmlnYXRpb25fX3NvY2lhbC5pcy1kZXNrdG9wIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLm5hdmlnYXRpb25fX3NvY2lhbC5pcy1kZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLm5hdmlnYXRpb25fX3NvY2lhbC5pcy1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmF2aWdhdGlvbl9fc29jaWFsLmlzLW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5uYXZpZ2F0aW9uX19zb2NpYWwuaXMtbW9iaWxlIC5uYXZpZ2F0aW9uX19zb2NpYWwtdGl0bGUsIC5uYXZpZ2F0aW9uX19zb2NpYWwuaXMtbW9iaWxlIC5uYXZpZ2F0aW9uX19zb2NpYWwtbGlua3MgYSB7XG4gICAgY29sb3I6ICNmOWVlZTE7IH1cblxuLm5hdmlnYXRpb25fX3NvY2lhbC10aXRsZSB7XG4gIG1hcmdpbjogNzBweCAwIDI2cHg7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1mYW1pbHk6IFwiUHJlZGlnZS1NZWRpdW1cIjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5hdmlnYXRpb25fX3NvY2lhbC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICBtYXJnaW46IDEzNXB4IDAgMjFweDsgfSB9XG5cbi5uYXZpZ2F0aW9uX19zb2NpYWwtbGlua3MgYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NWVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gIGNvbG9yOiBibGFjazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5hdmlnYXRpb25fX3NvY2lhbC1saW5rcyBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjhlbTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAubmF2aWdhdGlvbl9fc29jaWFsLWxpbmtzIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmYyMDA7IH0gfVxuXG4vKipcclxuICogTWFpbiBtZW51LlxyXG4gKi9cbi5uYXZpZ2F0aW9uX19jb2x1bW4tbWVudSB7XG4gIHdpZHRoOiA2MCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nOiA5MHB4IDAgMCA5NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmF2aWdhdGlvbl9fY29sdW1uLW1lbnUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5uYXZpZ2F0aW9uX19jb2x1bW4tbWVudTo6YmVmb3JlIHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDIwcHgpOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLm5hdmlnYXRpb25fX2NvbHVtbi1tZW51OjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm1haW4tbWVudSA+IGxpIGEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS41ODMzM2VtO1xuICBmb250LWZhbWlseTogXCJQcmVkaWdlLU1lZGl1bVwiO1xuICBjb2xvcjogI2Y5ZWVlMTtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5tYWluLW1lbnUgPiBsaSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICBjb2xvcjogYmxhY2s7IH0gfVxuXG4ubWFpbi1tZW51ID4gbGkuY3VycmVudC1tZW51LWl0ZW0gYSwgLm1haW4tbWVudSA+IGxpOmhvdmVyIGEge1xuICBjb2xvcjogI2ZmZjIwMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm1haW4tbWVudSA+IGxpLmN1cnJlbnQtbWVudS1pdGVtIGEsIC5tYWluLW1lbnUgPiBsaTpob3ZlciBhIHtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9IH1cblxuLyoqXHJcbiAqIEJhY2tncm91bmQgaGVhZGVyLlxyXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLmhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6ICNmZmVkMDA7XG4gICAgY29udGVudDogJyc7IH0gfVxuXG4vKipcclxuICogRGlzYWJsZSBzY3JvbGwuXHJcbiAqL1xuLmJvZHkuaXMtYWN0aXZlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuYm9keS5pcy1hY3RpdmUgLmhlYWRlcjo6YmVmb3JlIHtcbiAgICBib3R0b206IDA7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAubWFpbi1tZW51LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE5ld3MgbGlzdFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAubmV3cy1saXN0IC53cmFwcGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7IH0gfVxuXG4vKipcclxuICogSXRlbXMuXHJcbiAqL1xuLm5ld3MtbGlzdF9faXRlbXMge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDc5cHgpO1xuICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAubmV3cy1saXN0X19pdGVtcyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi8qKlxyXG4gKiBJdGVtLlxyXG4gKi9cbi5uZXdzLWxpc3RfX2l0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxNjRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5uZXdzLWxpc3RfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTE1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5MHB4OyB9IH1cblxuLm5ld3MtbGlzdF9faXRlbS1kYXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTRweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggI2ZmZjIwMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9faXRlbS1kYXRlIHtcbiAgICAgIGxlZnQ6IC03cHg7IH0gfVxuXG4ubmV3cy1saXN0X19pdGVtLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgcGFkZGluZy10b3A6IDIyNHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9faXRlbS10aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTc1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9faXRlbS10aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTE1cHg7IH0gfVxuXG4ubmV3cy1saXN0X19pdGVtLWltYWdlIHtcbiAgbWF4LXdpZHRoOiA1NzBweDtcbiAgbWFyZ2luOiAzNXB4IDA7IH1cblxuLm5ld3MtbGlzdF9faXRlbS1lZGl0b3Ige1xuICBtYXgtd2lkdGg6IDU3MHB4OyB9XG5cbi5uZXdzLWxpc3RfX2l0ZW0tbGluayB7XG4gIG1hcmdpbi10b3A6IDM1cHg7IH1cblxuLyoqXHJcbiAqIFBhZ2luYXRpb24uXHJcbiAqL1xuLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiB7XG4gIHdpZHRoOiA0NzlweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7IH0gfVxuICAubmV3cy1saXN0X19wYWdpbmF0aW9uIC5wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4OyB9XG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7IH1cbiAgICAubmV3cy1saXN0X19wYWdpbmF0aW9uIC5wYWdpbmF0aW9uIC5wcmV2LFxuICAgIC5uZXdzLWxpc3RfX3BhZ2luYXRpb24gLnBhZ2luYXRpb24gLm5leHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5uZXdzLWxpc3RfX3BhZ2luYXRpb24gLnBhZ2luYXRpb24gLmN1cnJlbnQsXG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNTk1YTRlOyB9XG4gICAgLm5ld3MtbGlzdF9fcGFnaW5hdGlvbiAucGFnaW5hdGlvbiBhLnBhZ2UtbnVtYmVyczpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjIwMDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC5uZXdzLWxpc3RfX3N0aWNreS5pcy1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDgwcHg7IH0gfVxuXG4ubmV3cy1saXN0X19wYWdpbmF0aW9uLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDsgfVxuXG4ubmV3cy1saXN0X19wYWdpbmF0aW9uLWxpbmsge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07XG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlOyB9XG4gIC5uZXdzLWxpc3RfX3BhZ2luYXRpb24tbGluazpob3ZlciB7XG4gICAgY29sb3I6ICNmZmYyMDA7IH1cblxuLm5ld3MtbGlzdF9fcGFnaW5hdGlvbi1kYXRlIHtcbiAgd2lkdGg6IDE0NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAubmV3cy1saXN0X19wYWdpbmF0aW9uLWRhdGUge1xuICAgICAgd2lkdGg6IDgwcHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQYXJ0bmVycyBpbWFnZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBhcnRuZXJzLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYXJ0bmVycy1pbWFnZSAud3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDE1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNzVweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAucGFydG5lcnMtaW1hZ2UgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogOTFweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5wYXJ0bmVycy1pbWFnZSAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG5cbi5wYXJ0bmVycy1pbWFnZV9fdGl0bGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTkycHg7XG4gIGxlZnQ6IC0xNXB4O1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggYmxhY2s7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX3RpdGxlIHtcbiAgICAgIHRvcDogLTYxcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnBhcnRuZXJzLWltYWdlX190aXRsZSB7XG4gICAgICB0b3A6IC0zMXB4O1xuICAgICAgbGVmdDogLThweDsgfSB9XG5cbi5wYXJ0bmVycy1pbWFnZV9fY29sdW1uLXBhcnRuZXJzIHtcbiAgd2lkdGg6IDcyJTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fY29sdW1uLXBhcnRuZXJzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjIwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH0gfVxuICAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXI6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wYXJ0bmVycy1pbWFnZV9fcGFydG5lcjpmaXJzdC1vZi10eXBlIC5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1zdWJ0aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyLXRpdGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTVweDtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4IGJsYWNrOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItdGl0bGUge1xuICAgICAgbGVmdDogLThweDsgfSB9XG5cbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1zdWJ0aXRsZSB7XG4gIG1heC13aWR0aDogNDAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIHBhZGRpbmctdG9wOiAyMzVweDtcbiAgY29sb3I6ICNmZmYyMDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItc3VidGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDE1MnB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMTEwcHg7IH0gfVxuXG4ucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItZWRpdG9yIHtcbiAgbWF4LXdpZHRoOiA1ODVweDsgfVxuXG4ucGFydG5lcnMtaW1hZ2VfX2NvbHVtbi1pbWFnZSB7XG4gIHdpZHRoOiAyOCU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucGFydG5lcnMtaW1hZ2VfX2NvbHVtbi1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnBhcnRuZXJzLWltYWdlX19pbWFnZSBpbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDQzNXB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFByb3BlcnR5IG1hcFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAucHJvcGVydHktbWFwIHtcbiAgICBtaW4taGVpZ2h0OiAxMjVweDsgfSB9XG5cbi5wcm9wZXJ0eS1tYXAuYmFja2dyb3VuZC0tcHJpbWFyeSAucHJvcGVydHktbWFwX19jb2x1bW4tZGV0YWlsczo6YmVmb3JlLCAucHJvcGVydHktbWFwLmJhY2tncm91bmQtLXByaW1hcnktcGF0dGVybiAucHJvcGVydHktbWFwX19jb2x1bW4tZGV0YWlsczo6YmVmb3JlLCAucHJvcGVydHktbWFwLmJhY2tncm91bmQtLXNlY29uZGFyeSAucHJvcGVydHktbWFwX19jb2x1bW4tZGV0YWlsczo6YmVmb3JlLCAucHJvcGVydHktbWFwLmJhY2tncm91bmQtLXNlY29uZGFyeS1wYXR0ZXJuIC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiBibGFjazsgfVxuXG4ucHJvcGVydHktbWFwLmJhY2tncm91bmQtLWRlZmF1bHQgLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHM6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM1OTVhNGU7IH1cblxuLnByb3BlcnR5LW1hcC5iYWNrZ3JvdW5kLS1ib3JkZXIgKyAucHJvcGVydHktbWFwIHtcbiAgcGFkZGluZy10b3A6IDIxNXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvcGVydHktbWFwLmJhY2tncm91bmQtLWJvcmRlciArIC5wcm9wZXJ0eS1tYXAge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7IH0gfVxuXG4ucHJvcGVydHktbWFwICsgLmZvb3Rlci1jdGEge1xuICBwYWRkaW5nLXRvcDogMTgwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wcm9wZXJ0eS1tYXAgKyAuZm9vdGVyLWN0YSB7XG4gICAgICBwYWRkaW5nLXRvcDogOTBweDsgfSB9XG5cbi5wcm9wZXJ0eS1tYXAgLndyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzMCU7XG4gIHBhZGRpbmctdG9wOiA5NXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHMge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBjb250ZW50OiAnJzsgfVxuXG4ucHJvcGVydHktbWFwX19jb2x1bW4tbWFwIHtcbiAgd2lkdGg6IDcwJTtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1tYXAge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ucHJvcGVydHktbWFwX19wbGFjZWhvbGRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5NXB4O1xuICBtYXgtd2lkdGg6IDIxMHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgNjAwbXMgZWFzZTtcbiAgb3BhY2l0eTogMTsgfVxuICAucHJvcGVydHktbWFwX19wbGFjZWhvbGRlci5pcy1oaWRkZW4ge1xuICAgIHRvcDogLTE4MHB4O1xuICAgIG9wYWNpdHk6IDA7IH1cblxuLnByb3BlcnR5LW1hcF9fcHJvcGVydGllcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnByb3BlcnR5LW1hcF9fcHJvcGVydHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OXB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDYwMG1zIGVhc2U7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLnByb3BlcnR5LW1hcF9fcHJvcGVydHkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAucHJvcGVydHktbWFwX19wcm9wZXJ0eS5pcy1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHotaW5kZXg6IDk5OyB9IH1cblxuLnByb3BlcnR5LW1hcF9fcHJvcGVydHktdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi5wcm9wZXJ0eS1tYXBfX3Njcm9sbGRvd24tYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTM1cHg7XG4gIGxlZnQ6IDg3cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wcm9wZXJ0eS1tYXBfX3Njcm9sbGRvd24tYXJyb3cge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnByb3BlcnR5LW1hcF9fc2Nyb2xsZG93bi1hcnJvdyB7XG4gICAgICBsZWZ0OiA1N3B4OyB9IH1cbiAgLnByb3BlcnR5LW1hcF9fc2Nyb2xsZG93bi1hcnJvdyBzdmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb246IGp1bXAgM3MgZWFzZS1pbi1vdXQgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyBqdW1wIHtcbiAgMCUge1xuICAgIGJvdHRvbTogMDsgfVxuICA1MCUge1xuICAgIGJvdHRvbTogMTVweDsgfVxuICAxMDAlIHtcbiAgICBib3R0b206IDA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQcm9wZXJ0eSBzaW5nbGVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9wZXJ0eS1zaW5nbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnByb3BlcnR5LXNpbmdsZSAud3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMTYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE4MHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5wcm9wZXJ0eS1zaW5nbGUgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogOTFweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5wcm9wZXJ0eS1zaW5nbGUgLndyYXBwZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX3RpdGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05MnB4O1xuICBsZWZ0OiAtMTVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wcm9wZXJ0eS1zaW5nbGVfX3RpdGxlIHtcbiAgICAgIHRvcDogLTYxcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LXNpbmdsZV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgZm9udC1zaXplOiA2cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgdG9wOiAtNDJweDtcbiAgICAgIGxlZnQ6IC04cHg7IH0gfVxuXG4ucHJvcGVydHktc2luZ2xlX19jb2x1bW4tZGV0YWlscyB7XG4gIHdpZHRoOiAyOTBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LXNpbmdsZV9fY29sdW1uLWRldGFpbHMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ucHJvcGVydHktc2luZ2xlX19zdWJ0aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIGNvbG9yOiBibGFjazsgfVxuXG4ucHJvcGVydHktc2luZ2xlX19pbmZvcm1hdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIGNvbG9yOiBibGFjazsgfVxuXG4ucHJvcGVydHktc2luZ2xlX19jb2x1bW4tbWFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMjkwcHgpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvcGVydHktc2luZ2xlX19jb2x1bW4tbWFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDsgfSB9XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX3NsaWRlc2hvdy1pbWFnZXMge1xuICBib3JkZXI6IDJweCBzb2xpZCAjNTk1YTRlOyB9XG5cbi5wcm9wZXJ0eS1zaW5nbGVfX25hdmlnYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IC0zOHB4OyB9XG4gIC5wcm9wZXJ0eS1zaW5nbGVfX25hdmlnYXRpb24gYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMThweDtcbiAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAucHJvcGVydHktc2luZ2xlX19uYXZpZ2F0aW9uIGJ1dHRvbi5hY3RpdmUsIC5wcm9wZXJ0eS1zaW5nbGVfX25hdmlnYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBibGFjazsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQcm9wZXJ0eSB0eXBlIGl0ZW1cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9wZXJ0eS10eXBlLWl0ZW0ge1xuICB3aWR0aDogY2FsYyg1MCUgLSA0Ny41cHgpO1xuICBtYXJnaW4tYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb3BlcnR5LXR5cGUtaXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH0gfVxuICAucHJvcGVydHktdHlwZS1pdGVtIC5idXR0b24tLWFycm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBub3JtYWw7IH1cbiAgLnByb3BlcnR5LXR5cGUtaXRlbSAuYnV0dG9uLS1hcnJvdyBzdmcge1xuICAgIHRvcDogNXB4O1xuICAgIGhlaWdodDogMTZweDsgfVxuXG4ucHJvcGVydHktdHlwZS1pdGVtX19oZWFkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX2F2YWlsYWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMHB4O1xuICBsZWZ0OiAzMHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjIwMDtcbiAgY29sb3I6IGJsYWNrOyB9XG5cbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX2ltYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAucHJvcGVydHktdHlwZS1pdGVtX19pbWFnZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG4ucHJvcGVydHktdHlwZS1pdGVtX190b3RhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLnByb3BlcnR5LXR5cGUtaXRlbV9fdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX3RlYXNlciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLyoqXHJcbiAqIENvbG9ycy5cclxuICovXG4ucHJvcGVydHktdHlwZS1saXN0LmJhY2tncm91bmQtLWJyb3duIC5wcm9wZXJ0eS10eXBlLWl0ZW1fX3RvdGFsIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGJsYWNrOyB9XG5cbi5wcm9wZXJ0eS10eXBlLWxpc3QuYmFja2dyb3VuZC0tZGVmYXVsdCAucHJvcGVydHktdHlwZS1pdGVtX190b3RhbCB7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBibGFjazsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQcm9wZXJ0eSB0eXBlIGxpc3RcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wcm9wZXJ0eS10eXBlLWxpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnByb3BlcnR5LXR5cGUtbGlzdCAud3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDE2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMzBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAucHJvcGVydHktdHlwZS1saXN0IC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5wcm9wZXJ0eS10eXBlLWxpc3QgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuXG4ucHJvcGVydHktdHlwZS1saXN0X190aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTJweDtcbiAgbGVmdDogLTE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucHJvcGVydHktdHlwZS1saXN0X190aXRsZSB7XG4gICAgICB0b3A6IC02MXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5wcm9wZXJ0eS10eXBlLWxpc3RfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ0ZW07XG4gICAgICB0b3A6IC00MnB4O1xuICAgICAgbGVmdDogLThweDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNsaWRlc2hvd1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNsaWRlc2hvdyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNTAwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuc2xpZGVzaG93IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnNsaWRlc2hvdyB7XG4gICAgICBtaW4taGVpZ2h0OiA1MDBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuc2xpZGVzaG93IC53cmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uaGVhZGVyICsgLnNsaWRlc2hvdyB7XG4gIG1hcmdpbi10b3A6IDIxMHB4O1xuICBwYWRkaW5nLXRvcDogMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmhlYWRlciArIC5zbGlkZXNob3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAgIG1hcmdpbi10b3A6IDEyNXB4OyB9IH1cblxuLnNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzMCU7XG4gIHBhZGRpbmc6IDkwcHggMzVweCAwIDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgICAgIG1hcmdpbjogNzBweCA0MHB4IDgwcHg7XG4gICAgICBwYWRkaW5nOiAzNXB4IDAgMDsgfSB9XG4gIC5zbGlkZXNob3dfX2NvbHVtbi10ZXh0OjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kOiBibGFjaztcbiAgICBjb250ZW50OiAnJzsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5zbGlkZXNob3dfX2NvbHVtbi10ZXh0OjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDJweDsgfSB9XG5cbi5zbGlkZXNob3dfX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgY29sb3I6IGJsYWNrOyB9XG5cbi5zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDYwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNsaWRlc2hvd19faW1hZ2VzIHtcbiAgcG9zaXRpb246IGluaXRpYWw7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuc2xpZGVzaG93X19pbWFnZXMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLnNsaWRlc2hvd19faW1hZ2VzIC5vd2wtbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMTBweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYyMDA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYgLm93bC1wcmV2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYgLm93bC1uZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1uYXYgc3ZnIHtcbiAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4OyB9XG4gIC5zbGlkZXNob3dfX2ltYWdlcyAub3dsLWRvdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0yOHB4O1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc2xpZGVzaG93X19pbWFnZXMgLm93bC1kb3RzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgIGJvdHRvbTogLTM1cHg7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLnNsaWRlc2hvd19faW1hZ2VzIC5vd2wtZG90cyAub3dsLWRvdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5zbGlkZXNob3dfX2ltYWdlcyAub3dsLWRvdHMgLm93bC1kb3Qge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTRweDsgfSB9XG4gIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLXJlZCAub3dsLWRvdCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1yZWQgLm93bC1kb3Qge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsgfSB9XG4gICAgLnNsaWRlc2hvd19faW1hZ2VzLnBhZ2luYXRpb24tcmVkIC5vd2wtZG90LmFjdGl2ZSwgLnNsaWRlc2hvd19faW1hZ2VzLnBhZ2luYXRpb24tcmVkIC5vd2wtZG90OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLXJlZCAub3dsLWRvdC5hY3RpdmUsIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLXJlZCAub3dsLWRvdDpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH0gfVxuICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1ncmVlbiAub3dsLWRvdCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgYmxhY2s7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1ncmVlbiAub3dsLWRvdCB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrOyB9IH1cbiAgICAuc2xpZGVzaG93X19pbWFnZXMucGFnaW5hdGlvbi1ncmVlbiAub3dsLWRvdC5hY3RpdmUsIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLWdyZWVuIC5vd2wtZG90OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5zbGlkZXNob3dfX2ltYWdlcy5wYWdpbmF0aW9uLWdyZWVuIC5vd2wtZG90LmFjdGl2ZSwgLnNsaWRlc2hvd19faW1hZ2VzLnBhZ2luYXRpb24tZ3JlZW4gLm93bC1kb3Q6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9IH1cblxuLnNsaWRlc2hvd19fc2xpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBhc3BlY3QtcmF0aW86IDE2LzEwOyB9XG4gIC5zbGlkZXNob3dfX3NsaWRlIGltZyB7XG4gICAgYXNwZWN0LXJhdGlvOiAxNi8xMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUZXh0IGltYWdlXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC1pbWFnZSAud3JhcHBlciB7XG4gIHBhZGRpbmctdG9wOiAxMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDE3NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnRleHQtaW1hZ2UgLndyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDExMHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlIC53cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2NXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDkwcHg7IH0gfVxuXG4udGV4dC1pbWFnZS5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWJvcmRlciB7XG4gIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrO1xuICBjb2xvcjogYmxhY2s7IH1cbiAgLnRleHQtaW1hZ2UuYmFja2dyb3VuZC0tZGVmYXVsdCAuYnV0dG9uLS1ib3JkZXIgc3ZnIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgZmlsbDogYmxhY2s7IH1cbiAgLnRleHQtaW1hZ2UuYmFja2dyb3VuZC0tZGVmYXVsdCAuYnV0dG9uLS1ib3JkZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBibGFjazsgfVxuICAudGV4dC1pbWFnZS5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWJvcmRlcjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmYyMDA7IH1cblxuLnRleHQtaW1hZ2UuYmFja2dyb3VuZC0tZGVmYXVsdCAuYnV0dG9uLS1hcnJvdyB7XG4gIGNvbG9yOiBibGFjazsgfVxuICAudGV4dC1pbWFnZS5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5idXR0b24tLWFycm93IHN2ZyB7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZpbGw6IGJsYWNrOyB9XG5cbi50ZXh0LWltYWdlX19jb2x1bW4tdGV4dCB7XG4gIHdpZHRoOiA1NCU7XG4gIHBhZGRpbmctcmlnaHQ6IDEwMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAudGV4dC1pbWFnZV9fY29sdW1uLXRleHQge1xuICAgICAgcGFkZGluZy1yaWdodDogNTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGV4dC1pbWFnZV9fY29sdW1uLXRleHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi50ZXh0LWltYWdlX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnRleHQtaW1hZ2VfX2VkaXRvciB7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cblxuLnRleHQtaW1hZ2VfX2NvbHVtbi1pbWFnZSB7XG4gIHdpZHRoOiA0NiU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlX19jb2x1bW4taW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAudGV4dC1pbWFnZV9fY29sdW1uLWltYWdlICNwbGF5IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZTsgfVxuICAgIC50ZXh0LWltYWdlX19jb2x1bW4taW1hZ2UgI3BsYXkgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1OTVhNGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDUwcHgpOyB9XG4gICAgICAudGV4dC1pbWFnZV9fY29sdW1uLWltYWdlICNwbGF5IHNwYW4gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDM5cHg7XG4gICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgY29sb3I6ICNmZmYyMDA7IH1cbiAgICAudGV4dC1pbWFnZV9fY29sdW1uLWltYWdlICNwbGF5OmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuODsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUZXh0IHNsaWRlc2hvd1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRleHQtc2xpZGVzaG93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50ZXh0LXNsaWRlc2hvdyAud3JhcHBlciB7XG4gICAgcGFkZGluZy10b3A6IDEyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxODBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAudGV4dC1zbGlkZXNob3cgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNTFweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC50ZXh0LXNsaWRlc2hvdyAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODVweDsgfSB9XG4gIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5vd2wtbmF2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTk1YTRlOyB9XG4gICAgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1uYXYgc3ZnIHtcbiAgICAgIGNvbG9yOiAjY2JkNGQ3O1xuICAgICAgZmlsbDogI2NiZDRkNzsgfVxuICAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tZGVmYXVsdCAub3dsLWRvdCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzU5NWE0ZTsgfVxuICAgIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5vd2wtZG90LmFjdGl2ZSwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1kb3Q6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU5NWE0ZTsgfVxuICAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tZGVmYXVsdCAub3dsLW5hdiwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJyb3duIC5vd2wtbmF2LCAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tYmVpZ2UgLm93bC1uYXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYyMDA7IH1cbiAgICAudGV4dC1zbGlkZXNob3cuYmFja2dyb3VuZC0tZGVmYXVsdCAub3dsLW5hdiBzdmcsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1icm93biAub3dsLW5hdiBzdmcsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1iZWlnZSAub3dsLW5hdiBzdmcge1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZmlsbDogYmxhY2s7IH1cbiAgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1kb3QsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1icm93biAub3dsLWRvdCwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJlaWdlIC5vd2wtZG90IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsgfVxuICAgIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1kZWZhdWx0IC5vd2wtZG90LmFjdGl2ZSwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWRlZmF1bHQgLm93bC1kb3Q6aG92ZXIsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1icm93biAub3dsLWRvdC5hY3RpdmUsIC50ZXh0LXNsaWRlc2hvdy5iYWNrZ3JvdW5kLS1icm93biAub3dsLWRvdDpob3ZlciwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJlaWdlIC5vd2wtZG90LmFjdGl2ZSwgLnRleHQtc2xpZGVzaG93LmJhY2tncm91bmQtLWJlaWdlIC5vd2wtZG90OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG5cbi50ZXh0LXNsaWRlc2hvd19fd3JhcCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnRleHQtc2xpZGVzaG93X190aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTJweDtcbiAgbGVmdDogLTE1cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAudGV4dC1zbGlkZXNob3dfX3RpdGxlIHtcbiAgICAgIHRvcDogLTYxcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X190aXRsZSB7XG4gICAgICB0b3A6IC0zMnB4O1xuICAgICAgbGVmdDogLThweDsgfSB9XG5cbi50ZXh0LXNsaWRlc2hvd19fdGl0bGUgKyBkaXYge1xuICBwYWRkaW5nLXRvcDogNDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X190aXRsZSArIGRpdiB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDsgfSB9XG5cbi50ZXh0LXNsaWRlc2hvd19fYmxvY2stdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG5cbi8qKlxyXG4gKiBTbGlkZXNob3cuXHJcbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAudGV4dC1pbWFnZV9fc2xpZGVzaG93IC5vd2wtc3RhZ2Utb3V0ZXIge1xuICAgIHdpZHRoOiAxNzkwcHg7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1zdGFnZS1vdXRlciB7XG4gICAgd2lkdGg6IDEyMDVweDsgfSB9XG5cbi50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1uYXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MjVweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgbWFyZ2luOiBhdXRvIDA7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGV4dC1pbWFnZV9fc2xpZGVzaG93IC5vd2wtbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAudGV4dC1pbWFnZV9fc2xpZGVzaG93IC5vd2wtbmF2IC5vd2wtcHJldiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudGV4dC1pbWFnZV9fc2xpZGVzaG93IC5vd2wtbmF2IC5vd2wtbmV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1uYXYgc3ZnIHtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgZmlsbDogI2ZmZjIwMDsgfVxuXG4udGV4dC1pbWFnZV9fc2xpZGVzaG93IC5vd2wtZG90cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tbGVmdDogLTI4cHg7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1kb3RzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogLTM1cHg7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAudGV4dC1pbWFnZV9fc2xpZGVzaG93IC5vd2wtZG90cyAub3dsLWRvdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjazsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1kb3RzIC5vd2wtZG90IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxNHB4OyB9IH1cbiAgICAudGV4dC1pbWFnZV9fc2xpZGVzaG93IC5vd2wtZG90cyAub3dsLWRvdC5hY3RpdmUsIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1kb3RzIC5vd2wtZG90OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC50ZXh0LWltYWdlX19zbGlkZXNob3cgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSwgLnRleHQtaW1hZ2VfX3NsaWRlc2hvdyAub3dsLWRvdHMgLm93bC1kb3Q6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9IH1cblxuLyoqXHJcbiAqIFNsaWRlcy5cclxuICovXG4udGV4dC1pbWFnZV9fc2xpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA1NzVweDtcbiAgaGVpZ2h0OiA1NjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnRleHQtaW1hZ2VfX3NsaWRlIHtcbiAgICAgIHdpZHRoOiAzNzVweDtcbiAgICAgIGhlaWdodDogMzYwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtaW1hZ2VfX3NsaWRlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiA0NTBweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAudGV4dC1pbWFnZV9fc2xpZGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMyMHB4OyB9IH1cblxuLyoqXHJcbiAqIFNsaWRlc2hvdyBwb3NpdGlvbi5cclxuICovXG4udGV4dC1zbGlkZXNob3dfX2Jsb2NrIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jayB7XG4gICAgICBhbGlnbi1pdGVtczogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDkwcHg7IH0gfVxuICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tcmlnaHQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4tdGV4dCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU3NXB4KTtcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgIHBhZGRpbmc6IDAgNTBweCAwIDEwMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzc1cHgpO1xuICAgICAgICBwYWRkaW5nOiAwIDUwcHggMCAwOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tcmlnaHQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4tdGV4dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4OyB9IH1cbiAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gICAgd2lkdGg6IDU3NXB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gICAgICAgIHdpZHRoOiAzNzVweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLXJpZ2h0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLWltYWdlcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG4gIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NzVweCk7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICBwYWRkaW5nOiAwIDEwMHB4IDAgNTBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IC50ZXh0LXNsaWRlc2hvd19fY29sdW1uLXRleHQge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzc1cHgpO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1MHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tbGVmdCAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAwIDQwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICB3aWR0aDogNTc1cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIHtcbiAgICAgIHdpZHRoOiAzNzVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGV4dC1zbGlkZXNob3dfX2Jsb2NrLnRleHQtc2xpZGVzaG93X19ibG9jay0tbGVmdCAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLnRleHQtc2xpZGVzaG93X19jb2x1bW4taW1hZ2VzIC5vd2wtY2Fyb3VzZWwge1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLnRleHQtc2xpZGVzaG93X19ibG9jay50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQgLm93bC1uYXYge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC50ZXh0LXNsaWRlc2hvd19fYmxvY2sudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1sZWZ0IC5vd2wtZG90cyB7XG4gICAgICByaWdodDogLTI4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5wb3B1cCB7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9wb3B1cF9iZy5zdmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDU0OXB4O1xuICBoZWlnaHQ6IDM3MHB4O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgei1pbmRleDogMTAwO1xuICBwYWRkaW5nOiA2NXB4IDUwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGJsYWNrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAucG9wdXAge1xuICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfSB9XG4gIC5wb3B1cC5pcy1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuICAucG9wdXA6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cbiAgLnBvcHVwOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IH1cblxuLnBvcHVwX19jbG9zZSB7XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDMwcHg7XG4gIHRvcDogNjBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5wb3B1cF9fY2xvc2Uge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB0b3A6IDIwcHg7XG4gICAgICByaWdodDogMjBweDsgfSB9XG4gIC5wb3B1cF9fY2xvc2U6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuXG4ucG9wdXBfX2xpbmsge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAucG9wdXBfX2xpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG5cbi5wb3B1cF9fYmcge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgei1pbmRleDogOTk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnBvcHVwX19iZy5pcy1hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gIC5wb3B1cF9fZWRpdG9yIGgyIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEyMCU7IH0gfVxuXG4ucG9wdXAtZ3JhZGllbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAyNXB4O1xuICB3aWR0aDogMjBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZTUzMzJhIDElLCByZ2JhKDIyOSwgNTIsIDQxLCAwLjk5KSAyNyUsIHJnYmEoMjMwLCA1OCwgMzgsIDAuOTUpIDQwJSwgcmdiYSgyMzEsIDY4LCAzNCwgMC44OSkgNTAlLCByZ2JhKDIzMywgODIsIDI3LCAwLjgxKSA1OSUsIHJnYmEoMjM1LCAxMDAsIDE5LCAwLjcpIDY3JSwgcmdiYSgyMzgsIDEyMiwgOSwgMC41NikgNzQlLCByZ2JhKDI0MiwgMTQ1LCAwLCAwLjQzKSA3OSUsIHJnYmEoMjU1LCAyMzYsIDAsIDApIDEwMCUpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyNXB4O1xuICBvcGFjaXR5OiAwLjU7IH1cblxuLnBvcHVwLWdyYWRpZW50LTIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogMjVweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtOTBkZWcsICNlNTMzMmEgMSUsIHJnYmEoMjI5LCA1MiwgNDEsIDAuOTkpIDI3JSwgcmdiYSgyMzAsIDU4LCAzOCwgMC45NSkgNDAlLCByZ2JhKDIzMSwgNjgsIDM0LCAwLjg5KSA1MCUsIHJnYmEoMjMzLCA4MiwgMjcsIDAuODEpIDU5JSwgcmdiYSgyMzUsIDEwMCwgMTksIDAuNykgNjclLCByZ2JhKDIzOCwgMTIyLCA5LCAwLjU2KSA3NCUsIHJnYmEoMjQyLCAxNDUsIDAsIDAuNDMpIDc5JSwgcmdiYSgyNTUsIDIzNiwgMCwgMCkgMTAwJSk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyNXB4O1xuICBvcGFjaXR5OiAwLjU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29sb3JcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBDb2xvciB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgYmxhY2stMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWJsYWNrLTEwMCB7XG4gIGNvbG9yOiBibGFjazsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgIGJsYWNrLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJsYWNrLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgIHdoaXRlLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci13aGl0ZS0xMDAge1xuICBjb2xvcjogd2hpdGU7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCB3aGl0ZS0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci13aGl0ZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjY2JkNGQ3LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ibHVlLWxpZ2h0LTEwMCB7XG4gIGNvbG9yOiAjY2JkNGQ3OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2NiZDRkNy0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ibHVlLWxpZ2h0LTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYmQ0ZDc7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgI2FmYjdiYS01MCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ibHVlLWxpZ2h0LTUwIHtcbiAgY29sb3I6ICNhZmI3YmE7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjYWZiN2JhLTUwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYmx1ZS1saWdodC01MCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZmI3YmE7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgIzIxNDM5MS0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItYmx1ZS1kYXJrLTEwMCB7XG4gIGNvbG9yOiAjMjE0MzkxOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzIxNDM5MS0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ibHVlLWRhcmstMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxNDM5MTsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjZDk5YjY4LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1vcmFuZ2UtMTAwIHtcbiAgY29sb3I6ICNkOTliNjg7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjZDk5YjY4LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLW9yYW5nZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk5YjY4OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICNkZjQxMjYtMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLXJlZC0xMDAge1xuICBjb2xvcjogI2RmNDEyNjsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNkZjQxMjYtMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItcmVkLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZjQxMjY7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgIzU5NWE0ZS0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItZ3JlZW4tMTAwIHtcbiAgY29sb3I6ICM1OTVhNGU7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjNTk1YTRlLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWdyZWVuLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1OTVhNGU7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgIzk1OWI5Ny01MCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ncmVlbi01MCB7XG4gIGNvbG9yOiAjOTU5Yjk3OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzk1OWI5Ny01MCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWdyZWVuLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk1OWI5NzsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjNTY1NzRjLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ncmVlbi1iYWNrZ3JvdW5kLTEwMCB7XG4gIGNvbG9yOiAjNTY1NzRjOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgIzU2NTc0Yy0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ncmVlbi1iYWNrZ3JvdW5kLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NjU3NGM7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgIzI1MTcxMy0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItYnJvd24tMTAwIHtcbiAgY29sb3I6ICMyNTE3MTM7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjMjUxNzEzLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJyb3duLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTE3MTM7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgIzJiMWMxNy0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItYnJvd24tYmFja2dyb3VuZC0xMDAge1xuICBjb2xvcjogIzJiMWMxNzsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICMyYjFjMTctMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItYnJvd24tYmFja2dyb3VuZC0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIxYzE3OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICNhZGNiMDAtMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWJvc3MtZ3JlZW4tMTAwIHtcbiAgY29sb3I6ICNhZGNiMDA7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjYWRjYjAwLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJvc3MtZ3JlZW4tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2FkY2IwMDsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjMjEyNzIxLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ib3NzLWdyZXktMTAwIHtcbiAgY29sb3I6ICMyMTI3MjE7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjMjEyNzIxLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJvc3MtZ3JleS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNzIxOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICM3NzQyMTItMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWJvc3MtYnJvd24tMTAwIHtcbiAgY29sb3I6ICM3NzQyMTI7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjNzc0MjEyLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJvc3MtYnJvd24tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3NDIxMjsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjZjBlNGNiLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ib3NzLWJlaWdlLTEwMCB7XG4gIGNvbG9yOiAjZjBlNGNiOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2YwZTRjYi0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ib3NzLWJlaWdlLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGU0Y2I7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgI2ZmZjIwMC0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItZmxleC15ZWxsb3ctMTAwIHtcbiAgY29sb3I6ICNmZmYyMDA7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjZmZmMjAwLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWZsZXgteWVsbG93LTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmYyMDA7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgI2Y5ZWVlMS0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItZmxleC1jcmVtZS0xMDAge1xuICBjb2xvcjogI2Y5ZWVlMTsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNmOWVlZTEtMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZmxleC1jcmVtZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjllZWUxOyB9XG5cbi8qKlxyXG4gKiBHZW5lcmljIGhlbHBlciBjbGFzc2VzLlxyXG4gKi9cbi8qKlxyXG4gKiBWaXN1YWxseSBoaWRlIGFueSBlbGVtZW50IGZyb20gdGhlIHVzZXIuXHJcbiAqL1xuLnZpc3VhbGx5LWhpZGRlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoMXB4KTsgfVxuXG4vKipcclxuICogTWFrZSBsYXp5bG9hZCBwbGFjZWhvbGRlciAxMDAlIHdpZGUuXHJcbiAqL1xuLmxhenlsb2FkIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyoqXHJcbiAqIEhlbHBlciBjbGFzcyBmb3Igb2JqZWN0IGZpdCBwb2x5ZmlsbC4gQWRkIHRoaXMgY2xhc3MgdG8gYW55IGVsZW1lbnRcclxuICogdGhhdCB1dGlsaXplcyB0aGUgYG9iamVjdC1maXRgIHByb3BlcnR5LlxyXG4gKi9cbi5vYmplY3QtZml0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY292ZXI7JztcbiAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuLyoqXHJcbiAqIEFsaWduIGNlbnRlci5cclxuICovXG4uYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qKlxyXG4gKiBBbGlnbiBsZWZ0LlxyXG4gKi9cbi5hbGlnbi1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4vKipcclxuICogQWxpZ24gcmlnaHQuXHJcbiAqL1xuLmFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnc2MCB7XG4gIHdpZHRoOiA2MCU7IH1cblxuLnc0MCB7XG4gIHdpZHRoOiA0MCU7IH1cblxuLnc1MCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgT2JqZWN0IEZpdFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIE9iamVjdCBmaXQuXHJcbiAqXHJcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXHJcbiAqL1xuLyoqXHJcbiAgICogYG9iamVjdC1maXRgIGZpbGwgdXRpbGl0eSBjbGFzcy5cclxuICAgKi9cbi5maWxsIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogZmlsbDtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBmaWxsOyB9XG5cbi8qKlxyXG4gICAqIGBvYmplY3QtZml0YCBjb250YWluIHV0aWxpdHkgY2xhc3MuXHJcbiAgICovXG4uY29udGFpbiB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IGNvbnRhaW47XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4vKipcclxuICAgKiBgb2JqZWN0LWZpdGAgY292ZXIgdXRpbGl0eSBjbGFzcy5cclxuICAgKi9cbi5jb3ZlciB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IGNvdmVyO1wiO1xuICAvKiAxICovXG4gIG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi8qKlxyXG4gICAqIGBvYmplY3QtZml0YCBub25lIHV0aWxpdHkgY2xhc3MuXHJcbiAgICovXG4ubm9uZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IG5vbmU7XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogbm9uZTsgfVxuXG4vKipcclxuICAgKiBgb2JqZWN0LWZpdGAgc2NhbGUtZG93biB1dGlsaXR5IGNsYXNzLlxyXG4gICAqL1xuLnNjYWxlLWRvd24ge1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBzY2FsZS1kb3duO1wiO1xuICAvKiAxICovXG4gIG9iamVjdC1maXQ6IHNjYWxlLWRvd247IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUG9zaXRpb25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBQb3NpdGlvbiB1dGlsaXR5IGNsYXNzLlxyXG4gKi9cbi5zdGF0aWMge1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG5cbi5yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRleHRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBGb250IGZhbWlseSB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xuLnRleHQteHMtZGVmYXVsdCB7XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtUmVndWxhclwiOyB9XG5cbi50ZXh0LXhzLW1lZGl1bSB7XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtTWVkaXVtXCI7IH1cblxuLnRleHQteHMtaGVhZGluZyB7XG4gIGZvbnQtZmFtaWx5OiBcIkJ1cmZvcmRSdXN0aWNTaGFkb3dUd29BXCI7IH1cblxuLnRleHQtc20tZGVmYXVsdCB7XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtUmVndWxhclwiOyB9XG5cbi50ZXh0LXNtLW1lZGl1bSB7XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtTWVkaXVtXCI7IH1cblxuLnRleHQtc20taGVhZGluZyB7XG4gIGZvbnQtZmFtaWx5OiBcIkJ1cmZvcmRSdXN0aWNTaGFkb3dUd29BXCI7IH1cblxuLnRleHQtbWQtZGVmYXVsdCB7XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtUmVndWxhclwiOyB9XG5cbi50ZXh0LW1kLW1lZGl1bSB7XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtTWVkaXVtXCI7IH1cblxuLnRleHQtbWQtaGVhZGluZyB7XG4gIGZvbnQtZmFtaWx5OiBcIkJ1cmZvcmRSdXN0aWNTaGFkb3dUd29BXCI7IH1cblxuLnRleHQtbGctZGVmYXVsdCB7XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtUmVndWxhclwiOyB9XG5cbi50ZXh0LWxnLW1lZGl1bSB7XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtTWVkaXVtXCI7IH1cblxuLnRleHQtbGctaGVhZGluZyB7XG4gIGZvbnQtZmFtaWx5OiBcIkJ1cmZvcmRSdXN0aWNTaGFkb3dUd29BXCI7IH1cblxuLnRleHQteGwtZGVmYXVsdCB7XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtUmVndWxhclwiOyB9XG5cbi50ZXh0LXhsLW1lZGl1bSB7XG4gIGZvbnQtZmFtaWx5OiBcIlByZWRpZ2UtTWVkaXVtXCI7IH1cblxuLnRleHQteGwtaGVhZGluZyB7XG4gIGZvbnQtZmFtaWx5OiBcIkJ1cmZvcmRSdXN0aWNTaGFkb3dUd29BXCI7IH1cblxuLyoqXHJcbiAqIFRleHQgc2l6ZSB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xuLnRleHQteHMtaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LXhzLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQteHMtaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LXhzLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQtc20taDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LXNtLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQtc20taDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LXNtLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQtbWQtaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LW1kLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQtbWQtaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LW1kLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQtbGctaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LWxnLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQtbGctaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LWxnLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQteGwtaDEge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtc2l6ZTogNC44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LXhsLWgyIHtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXNpemU6IDQuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1ZW07IH1cblxuLnRleHQteGwtaDMge1xuICBmb250LXNpemU6IDE1MHB4O1xuICBmb250LXNpemU6IDE1cmVtO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbi50ZXh0LXhsLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLyoqXHJcbiAqIFRleHQgYWxpZ25tZW50IHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXG4udGV4dC14cy1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC14cy1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LXhzLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1zbS1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1zbS1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LXNtLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1tZC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1tZC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LW1kLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1sZy1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1sZy1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWxnLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC14bC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC14bC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LXhsLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKipcclxuICogRm9udCB3ZWlnaHQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKlxyXG4gKiAxLiBNdWx0aXBseSBsb29wZWQgaW50ZWdlciBieSAxMDAgZm9yIGNvcnJlY3QgZm9udCB3ZWlnaHQgdmFsdWUuXHJcbiAqL1xuLnRleHQteHMtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC14cy0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXhzLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQteHMtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC14cy01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXhzLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQteHMtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC14cy04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXhzLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtc20tMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1zbS0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXNtLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtc20tNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1zbS01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXNtLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtc20tNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1zbS04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXNtLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtbWQtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1tZC0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LW1kLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtbWQtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1tZC01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LW1kLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtbWQtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1tZC04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LW1kLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQtbGctMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC1sZy0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LWxnLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQtbGctNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC1sZy01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LWxnLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQtbGctNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC1sZy04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LWxnLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLnRleHQteGwtMTAwIHtcbiAgZm9udC13ZWlnaHQ6IDEwMDsgfVxuXG4udGV4dC14bC0yMDAge1xuICBmb250LXdlaWdodDogMjAwOyB9XG5cbi50ZXh0LXhsLTMwMCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLnRleHQteGwtNDAwIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udGV4dC14bC01MDAge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi50ZXh0LXhsLTYwMCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnRleHQteGwtNzAwIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGV4dC14bC04MDAge1xuICBmb250LXdlaWdodDogODAwOyB9XG5cbi50ZXh0LXhsLTkwMCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7IH1cblxuLyoqXHJcbiAqIFRleHQgdHJhbnNmb3JtIHVpdGxpdHkgY2xhc3Nlcy5cclxuICovXG4udGV4dC14cy1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQteHMtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC14cy1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi50ZXh0LXhzLW5vbmUge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4udGV4dC14cy1mdWxsLXdpZHRoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH1cblxuLnRleHQtc20tY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi50ZXh0LXNtLXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRleHQtc20tbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuXG4udGV4dC1zbS1ub25lIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnRleHQtc20tZnVsbC13aWR0aCB7XG4gIHRleHQtdHJhbnNmb3JtOiBmdWxsLXdpZHRoOyB9XG5cbi50ZXh0LW1kLWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4udGV4dC1tZC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50ZXh0LW1kLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLnRleHQtbWQtbm9uZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi50ZXh0LW1kLWZ1bGwtd2lkdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogZnVsbC13aWR0aDsgfVxuXG4udGV4dC1sZy1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQtbGctdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC1sZy1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi50ZXh0LWxnLW5vbmUge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4udGV4dC1sZy1mdWxsLXdpZHRoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH1cblxuLnRleHQteGwtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi50ZXh0LXhsLXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRleHQteGwtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuXG4udGV4dC14bC1ub25lIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnRleHQteGwtZnVsbC13aWR0aCB7XG4gIHRleHQtdHJhbnNmb3JtOiBmdWxsLXdpZHRoOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFZlcnRpY2FsIFJoeXRobVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnZyLTAge1xuICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cblxuLnZyLTgge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cblxuLnZyLTE2IHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuXG4udnItMjQge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG5cbi52ci0zMiB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7IH1cblxuLnZyLTQwIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4udnItNDgge1xuICBtYXJnaW4tYm90dG9tOiA0OHB4OyB9XG5cbi52ci01NiB7XG4gIG1hcmdpbi1ib3R0b206IDU2cHg7IH1cblxuLnZyLTY0IHtcbiAgbWFyZ2luLWJvdHRvbTogNjRweDsgfVxuXG4udnItNzIge1xuICBtYXJnaW4tYm90dG9tOiA3MnB4OyB9XG5cbi52ci04MCB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgWi1pbmRleFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFV0aWxpdHkgY2xhc3NlcyBmb3IgbWFuaXB1bGF0aW5nIHN0YWNraW5nIG9yZGVyIGluIEhUTUwuXHJcbiAqL1xuLnotaW5kZXgtMCB7XG4gIHotaW5kZXg6IDA7IH1cblxuLnotaW5kZXgtMSB7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi56LWluZGV4LTIge1xuICB6LWluZGV4OiAyMDsgfVxuXG4uei1pbmRleC0zIHtcbiAgei1pbmRleDogMzA7IH1cblxuLnotaW5kZXgtNCB7XG4gIHotaW5kZXg6IDQwOyB9XG5cbi56LWluZGV4LTUge1xuICB6LWluZGV4OiA1MDsgfVxuXG4uei1pbmRleC02IHtcbiAgei1pbmRleDogNjA7IH1cblxuLnotaW5kZXgtNyB7XG4gIHotaW5kZXg6IDcwOyB9XG5cbi56LWluZGV4LTgge1xuICB6LWluZGV4OiA4MDsgfVxuXG4uei1pbmRleC05IHtcbiAgei1pbmRleDogOTA7IH1cblxuLnotaW5kZXgtMTAge1xuICB6LWluZGV4OiAxMDA7IH1cblxuLmlmcmFtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDU2MHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmlmcmFtZSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uaWZyYW1lIGlmcmFtZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ucGxheS1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDY2NjtcbiAgdG9wOiBjYWxjKDUwJSAtIDUwcHgpO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwOyB9XG5cbi5wbGF5LWJ0bjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucGxheS1idG46Zm9jdXMge1xuICBvdXRsaW5lOiAwOyB9XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBUeXBvZ3JhcGh5XHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBGb250IGZhbWlseSBtYXAuXHJcbiRmb250LWZhbWlseTogKFxyXG4gICdkZWZhdWx0JzogJ1ByZWRpZ2UtUmVndWxhcicsXHJcbiAgJ21lZGl1bSc6ICdQcmVkaWdlLU1lZGl1bScsXHJcbiAgJ2hlYWRpbmcnOiAnQnVyZm9yZFJ1c3RpY1NoYWRvd1R3b0EnXHJcbik7XHJcblxyXG5cclxuLy8gRm9udCBmYWNlLlxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0J1cmZvcmRSdXN0aWNTaGFkb3dUd29BJztcclxuICBzcmM6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2ZsZXgvYXNzZXRzL2ZvbnRzL0J1cmZvcmRSdXN0aWNTaGFkb3dUd29BLm90ZicpIGZvcm1hdCgnT3BlblR5cGUnKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdQcmVkaWdlLU1lZGl1bSc7XHJcbiAgc3JjOiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9mbGV4L2Fzc2V0cy9mb250cy9QcmVkaWdlLU1lZGl1bS5vdGYnKSBmb3JtYXQoJ09wZW5UeXBlJyksXHJcbiAgICAgICB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9mbGV4L2Fzc2V0cy9mb250cy9QcmVkaWdlLU1lZGl1bS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnUHJlZGlnZS1SZWd1bGFyJztcclxuICBzcmM6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2ZsZXgvYXNzZXRzL2ZvbnRzL1ByZWRpZ2UtUmVndWxhci5vdGYnKSBmb3JtYXQoJ09wZW5UeXBlJyksXHJcbiAgICAgICB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9mbGV4L2Fzc2V0cy9mb250cy9QcmVkaWdlLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG59XHJcblxyXG4vLyBGb250IHNpemUgbWFwLlxyXG4kZm9udC1zaXplOiAoXHJcbiAgJ2gxJzogNDhweCxcclxuICAnaDInOiA0OHB4LFxyXG4gICdoMyc6IDE1MHB4LFxyXG4gICdwJzogMTZweFxyXG4pO1xyXG5cclxuXHJcbi8vIExpbmUgaGVpZ2h0IG1hcC5cclxuJGxpbmUtaGVpZ2h0OiAoXHJcbiAgJ2gxJzogNThweCxcclxuICAnaDInOiA1NHB4LFxyXG4gICdoMyc6IDE1MHB4LFxyXG4gICdwJzogMjRweFxyXG4pO1xyXG5cclxuXHJcblxyXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBub25lO1xuXHR3aWR0aDogMTAwJTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0LyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXG5cdC5vd2wtc3RhZ2Uge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcblx0XHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogZml4IGZpcmVmb3ggYW5pbWF0aW9uIGdsaXRjaCAqL1xuXHR9XG5cblx0Lm93bC1zdGFnZTphZnRlciB7XG5cdFx0Y29udGVudDogXCIuXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogMDtcblx0fVxuXG5cdC5vd2wtc3RhZ2Utb3V0ZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcblx0fVxuXG5cdC5vd2wtd3JhcHBlcixcblx0Lm93bC1pdGVte1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0fVxuXG5cdC5vd2wtaXRlbSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1pbi1oZWlnaHQ6IDFweDtcblx0XHRmbG9hdDogbGVmdDtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcblx0fVxuXHQub3dsLWl0ZW0gaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5vd2wtbmF2LmRpc2FibGVkLFxuXHQub3dsLWRvdHMuZGlzYWJsZWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiAub3dsLXByZXYsXG5cdC5vd2wtbmF2IC5vd2wtbmV4dCxcblx0Lm93bC1kb3Qge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcblx0Lm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LFxuXHRidXR0b24ub3dsLWRvdCB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cGFkZGluZzowIWltcG9ydGFudDtcblx0XHRmb250OiBpbmhlcml0O1xuXHR9XG5cblx0Ji5vd2wtbG9hZGVkIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWxvYWRpbmcge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1oaWRkZW4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG5cblx0Ji5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuXHRcdHRvdWNoLWFjdGlvbjogcGFuLXk7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdCYub3dsLWdyYWIge1xuXHRcdGN1cnNvcjogbW92ZTtcblx0XHRjdXJzb3I6IGdyYWI7XG5cdH1cblxuXHQmLm93bC1ydGwge1xuXHRcdGRpcmVjdGlvbjogcnRsO1xuXHR9XG5cblx0Ji5vd2wtcnRsIC5vd2wtaXRlbSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG59XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2Vse1xuXHQuYW5pbWF0ZWQge1xuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuXHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1pbiB7XG5cdFx0ei1pbmRleDogMDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLW91dCB7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXHQuZmFkZU91dCB7XG5cdFx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuXG4ub3dsLWhlaWdodCB7XG5cdHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2VsIHtcblx0Lm93bC1pdGVtIHtcblx0XHQub3dsLWxhenkge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0XHRUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3Jvbmdcblx0XHRcdGNhbGN1bGF0aW9uIG9mIHRoZSBoZWlnaHQgb2YgdGhlIG93bC1pdGVtIHRoYXQgYnJlYWtzIHBhZ2UgbGF5b3V0c1xuXHRcdCAqL1xuXHRcdC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWxhenk6bm90KFtzcmNdKSB7XG5cdFx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdGltZy5vd2wtbGF6eSB7XG5cdFx0XHR0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXHRcdH1cblx0fVxufVxuXG4iLCIkb3dsLWltYWdlLXBhdGg6IFwiXCIgIWRlZmF1bHQ7XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWx7XG5cdC5vd2wtdmlkZW8td3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0d2lkdGg6IDgwcHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNDBweDtcblx0XHRtYXJnaW4tdG9wOiAtNDBweDtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyRvd2wtaW1hZ2UtcGF0aH1vd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR6LWluZGV4OiAxO1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tdG4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1mcmFtZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBpbmRlbnRhdGlvbiBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzIHNob3J0aGFuZC12YWx1ZXMgc2luZ2xlLWxpbmUtcGVyLXNlbGVjdG9yIGNsYXNzLW5hbWUtZm9ybWF0IG5vLWlkcyBpZC1uYW1lLWZvcm1hdCBwcm9wZXJ0eS1zb3J0LW9yZGVyIG5vLWNvbG9yLWxpdGVyYWxzIGhleC1ub3RhdGlvbiBicmFjZS1zdHlsZSB6ZXJvLXVuaXQgc3BhY2UtYWZ0ZXItY29sb24gZW1wdHktbGluZS1iZXR3ZWVuLWJsb2Nrc1xyXG5cclxuXHJcbi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xyXG4ubWZwLWJnIHtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogMTA0MjtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xyXG4gIG9wYWNpdHk6IDAuODsgfVxyXG5cclxuLm1mcC13cmFwIHtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgei1pbmRleDogMTA0MztcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XHJcblxyXG4ubWZwLWNvbnRhaW5lciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDA7XHJcbiAgcGFkZGluZzogMCA4cHg7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuLm1mcC1jb250YWluZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cclxuXHJcbi5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLm1mcC1jb250ZW50IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB6LWluZGV4OiAxMDQ1OyB9XHJcblxyXG4ubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50LFxyXG4ubWZwLWFqYXgtaG9sZGVyIC5tZnAtY29udGVudCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgY3Vyc29yOiBhdXRvOyB9XHJcblxyXG4ubWZwLWFqYXgtY3VyIHtcclxuICBjdXJzb3I6IHByb2dyZXNzOyB9XHJcblxyXG4ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcbiAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcclxuICBjdXJzb3I6IHpvb20tb3V0OyB9XHJcblxyXG4ubWZwLXpvb20ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcclxuICBjdXJzb3I6IC1tb3otem9vbS1pbjtcclxuICBjdXJzb3I6IHpvb20taW47IH1cclxuXHJcbi5tZnAtYXV0by1jdXJzb3IgLm1mcC1jb250ZW50IHtcclxuICBjdXJzb3I6IGF1dG87IH1cclxuXHJcbi5tZnAtY2xvc2UsXHJcbi5tZnAtYXJyb3csXHJcbi5tZnAtcHJlbG9hZGVyLFxyXG4ubWZwLWNvdW50ZXIge1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcclxuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxyXG5cclxuLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5tZnAtaGlkZSB7XHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcblxyXG4ubWZwLXByZWxvYWRlciB7XHJcbiAgY29sb3I6ICNDQ0M7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBtYXJnaW4tdG9wOiAtMC44ZW07XHJcbiAgbGVmdDogOHB4O1xyXG4gIHJpZ2h0OiA4cHg7XHJcbiAgei1pbmRleDogMTA0NDsgfVxyXG4gIC5tZnAtcHJlbG9hZGVyIGEge1xyXG4gICAgY29sb3I6ICNDQ0M7IH1cclxuICAgIC5tZnAtcHJlbG9hZGVyIGE6aG92ZXIge1xyXG4gICAgICBjb2xvcjogI0ZGRjsgfVxyXG5cclxuLm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVyIHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG5idXR0b24ubWZwLWNsb3NlLFxyXG5idXR0b24ubWZwLWFycm93IHtcclxuICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgei1pbmRleDogMTA0NjtcclxuICBib3gtc2hhZG93OiBub25lO1xyXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwOyB9XHJcblxyXG4ubWZwLWNsb3NlIHtcclxuICB3aWR0aDogNDRweDtcclxuICBoZWlnaHQ6IDQ0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG9wYWNpdHk6IDAuNjU7XHJcbiAgcGFkZGluZzogMCAwIDE4cHggMTBweDtcclxuICBjb2xvcjogI0ZGRjtcclxuICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxyXG4gIC5tZnAtY2xvc2U6aG92ZXIsXHJcbiAgLm1mcC1jbG9zZTpmb2N1cyB7XHJcbiAgICBvcGFjaXR5OiAxOyB9XHJcbiAgLm1mcC1jbG9zZTphY3RpdmUge1xyXG4gICAgdG9wOiAxcHg7IH1cclxuXHJcbi5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2Uge1xyXG4gIGNvbG9yOiAjMzMzOyB9XHJcblxyXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlLFxyXG4ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcbiAgY29sb3I6ICNGRkY7XHJcbiAgcmlnaHQ6IC02cHg7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgcGFkZGluZy1yaWdodDogNnB4O1xyXG4gIHdpZHRoOiAxMDAlOyB9XHJcblxyXG4ubWZwLWNvdW50ZXIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgY29sb3I6ICNDQ0M7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cclxuXHJcbi5tZnAtYXJyb3cge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBvcGFjaXR5OiAwLjY1O1xyXG4gIG1hcmdpbjogMDtcclxuICB0b3A6IDUwJTtcclxuICBtYXJnaW4tdG9wOiAtNTVweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHdpZHRoOiA5MHB4O1xyXG4gIGhlaWdodDogMTEwcHg7XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxyXG4gIC5tZnAtYXJyb3c6YWN0aXZlIHtcclxuICAgIG1hcmdpbi10b3A6IC01NHB4OyB9XHJcbiAgLm1mcC1hcnJvdzpob3ZlcixcclxuICAubWZwLWFycm93OmZvY3VzIHtcclxuICAgIG9wYWNpdHk6IDE7IH1cclxuICAubWZwLWFycm93OmJlZm9yZSxcclxuICAubWZwLWFycm93OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XHJcbiAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDsgfVxyXG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XHJcbiAgICB0b3A6IDhweDsgfVxyXG4gIC5tZnAtYXJyb3c6YmVmb3JlIHtcclxuICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xyXG4gICAgb3BhY2l0eTogMC43OyB9XHJcblxyXG4ubWZwLWFycm93LWxlZnQge1xyXG4gIGxlZnQ6IDA7IH1cclxuICAubWZwLWFycm93LWxlZnQ6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7XHJcbiAgICBtYXJnaW4tbGVmdDogMzFweDsgfVxyXG4gIC5tZnAtYXJyb3ctbGVmdDpiZWZvcmUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxyXG5cclxuLm1mcC1hcnJvdy1yaWdodCB7XHJcbiAgcmlnaHQ6IDA7IH1cclxuICAubWZwLWFycm93LXJpZ2h0OmFmdGVyIHtcclxuICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNGRkY7XHJcbiAgICBtYXJnaW4tbGVmdDogMzlweDsgfVxyXG4gIC5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcclxuICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cclxuXHJcbi5tZnAtaWZyYW1lLWhvbGRlciB7XHJcbiAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cclxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDkwMHB4OyB9XHJcbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xyXG4gICAgdG9wOiAtNDBweDsgfVxyXG5cclxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XHJcbiAgLm1mcC1pZnJhbWUtc2NhbGVyIGlmcmFtZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxyXG5cclxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xyXG5pbWcubWZwLWltZyB7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHBhZGRpbmc6IDQwcHggMCA0MHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvOyB9XHJcblxyXG4vKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cclxuLm1mcC1maWd1cmUge1xyXG4gIGxpbmUtaGVpZ2h0OiAwOyB9XHJcbiAgLm1mcC1maWd1cmU6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiA0MHB4O1xyXG4gICAgYm90dG9tOiA0MHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICAgIGJhY2tncm91bmQ6ICM0NDQ7IH1cclxuICAubWZwLWZpZ3VyZSBzbWFsbCB7XHJcbiAgICBjb2xvcjogI0JEQkRCRDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7IH1cclxuICAubWZwLWZpZ3VyZSBmaWd1cmUge1xyXG4gICAgbWFyZ2luOiAwOyB9XHJcblxyXG4ubWZwLWJvdHRvbS1iYXIge1xyXG4gIG1hcmdpbi10b3A6IC0zNnB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDEwMCU7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBjdXJzb3I6IGF1dG87IH1cclxuXHJcbi5tZnAtdGl0bGUge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgY29sb3I6ICNGM0YzRjM7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cclxuXHJcbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY29udGVudCB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XHJcblxyXG4ubWZwLWdhbGxlcnkgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1maWd1cmUge1xyXG4gIGN1cnNvcjogcG9pbnRlcjsgfVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XHJcbiAgLyoqXHJcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cclxuICAgICAgICovXHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cclxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xyXG4gICAgcGFkZGluZzogMDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7IH1cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgcGFkZGluZzogM3B4IDVweDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cclxuICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkge1xyXG4gICAgICBwYWRkaW5nOiAwOyB9XHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XHJcbiAgICByaWdodDogNXB4O1xyXG4gICAgdG9wOiAzcHg7IH1cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwOyB9IH1cclxuXHJcbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XHJcbiAgLm1mcC1hcnJvdyB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpOyB9XHJcbiAgLm1mcC1hcnJvdy1sZWZ0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDA7IH1cclxuICAubWZwLWFycm93LXJpZ2h0IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCU7IH1cclxuICAubWZwLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDZweDsgfSB9XHJcblxyXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIGluZGVudGF0aW9uIG5vLXF1YWxpZnlpbmctZWxlbWVudHMgc2hvcnRoYW5kLXZhbHVlcyBzaW5nbGUtbGluZS1wZXItc2VsZWN0b3IgY2xhc3MtbmFtZS1mb3JtYXQgbm8taWRzIGlkLW5hbWUtZm9ybWF0IHByb3BlcnR5LXNvcnQtb3JkZXIgbm8tY29sb3ItbGl0ZXJhbHMgaGV4LW5vdGF0aW9uIGJyYWNlLXN0eWxlIHplcm8tdW5pdCBzcGFjZS1hZnRlci1jb2xvbiBlbXB0eS1saW5lLWJldHdlZW4tYmxvY2tzXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEJhc2VcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgbWFyZ2luIGFuZCBwYWRkaW5nIGZyb20gZXZlcnkgc2VsZWN0b3IgaW5jbHVkaW5nIHRoZWlyXHJcbiAqIHBzdWVkbyBzZWxlY3RvcnMuXHJcbiAqXHJcbiAqIDEuIE1vcmUgc2Vuc2libGUgZGVmYXVsdCBib3ggc2l6aW5nLlxyXG4gKiAgICAoY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlKS5cclxuICovXHJcblxyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3gtc2l6aW5nOiBpbmhlcml0OyAvKiAxICovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2V0IGhlaWdodCBvZiB0aGUgZG9jdW1lbnQgdG8gbWF4aXVtIHZpZXdwb3J0IGhlaWdodC5cclxuICpcclxuICogMS4gU2V0IHJvb3QgZm9udCBzaXplIHRvIDEwLlxyXG4gKi9cclxuXHJcbmh0bWwge1xyXG4gIGhlaWdodDogMTAwdmg7XHJcbiAgZm9udC1zaXplOiA2Mi41JTsgLyogMSAqL1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2V0IG1pbmltYWwgaGVpZ2h0IG9mIHRoZSBib2R5IHRvIG1heGltdW0gdmlld3BvcnQgaGVpZ2h0IHRvXHJcbiAqIG1hdGNoIHRoZSBkb2N1bWVudCdzIGhlaWdodC5cclxuICpcclxuICogMS4gRmlyZWZveCAyNSsuXHJcbiAqIDIuIENocm9tZSA1Ky5cclxuICovXHJcblxyXG5ib2R5IHtcclxuICBAaW5jbHVkZSB0ZXh0KCRib2R5LXRleHQpO1xyXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQtY29sb3I7XHJcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8qIDEgKi9cclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLyogMiAqL1xyXG59XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIE1peGluc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gQ29udGFpbmVyXHJcbi8vIENlbnRlciBhbGlnbnMgZWxlbWVudCB3aXRoIGdpdmVuIG1heGltdW0gd2lkdGgsIHBhZGRpbmcsIGFuZCBtYXJnaW5zIHRvcFxyXG4vLyBhbmQgYm90dG9tLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJHdpZHRoIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRnYXAgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4vLyBAZXhhbXBsZVxyXG4vLyAgIEBpbmNsdWRlIGNvbnRhaW5lcigxMDI0cHgsIDIwcHgpO1xyXG5AbWl4aW4gY29udGFpbmVyKCR3aWR0aDogJGdyaWQtd2lkdGgsICRnYXA6ICRncmlkLWdhcCkge1xyXG4gIEBpZiAodHlwZS1vZigkd2lkdGgpID09IG51bWJlciBhbmQgdHlwZS1vZigkZ2FwKSA9PSBudW1iZXIpIHtcclxuICAgIEBpZiAoJGdhcCAhPSAwKSB7XHJcbiAgICAgIG1heC13aWR0aDogY2FsYygjeyR3aWR0aH0gKyAjeygkZ2FwICogMil9KTtcclxuICAgICAgcGFkZGluZzogMCAkZ2FwO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIG1heC13aWR0aDogJHdpZHRoO1xyXG4gICAgfVxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciAnQXJndW1lbnRzIGAkd2lkdGhgIGFuZCBgJGdhcGAgc2hvdWxkIGJlIGEgbnVtYmVyJztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBTZWN0aW9uXHJcbi8vIEFkZCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIHRvIGVsZW1lbnQgdXNpbmcgcGFkZGluZ3MuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkdG9wIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRib3R0b20gLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4vLyBAZXhhbXBsZVxyXG4vLyAgIEBpbmNsdWRlIHNlY3Rpb24oMTAwcHgsIDEwMHB4KTtcclxuQG1peGluIHNlY3Rpb24oJHRvcDogMCwgJGJvdHRvbTogMCkge1xyXG4gIEBpZiAodHlwZS1vZigkdG9wKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJGJvdHRvbSkgPT0gbnVtYmVyKSB7XHJcbiAgICBwYWRkaW5nOiAkdG9wIDAgJGJvdHRvbTtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciAnQXJndW1lbnRzIGAkdG9wYCBhbmQgYGJvdHRvbWAgc2hvdWxkIGJlIGEgbnVtYmVyJztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBGb250XHJcbi8vIEFkZHMgYHJlbWAgdW5pdCBiYXNlZCBmb250IHNpemUgcHJvcGVydHksIGEgZmFsbGJhY2tcclxuLy8gYHB4YCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYW5kIGEgYGVtYCB1bml0IGJhc2VkIGxpbmUgaGVpZ2h0XHJcbi8vIHByb3BlcnR5IHRvIGFueSBydWxlLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGZvbnQtc2l6ZSAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkbGluZS1oZWlnaHQgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4vLyBAZXhhbXBsZVxyXG4vLyAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4LCAyNHB4KTtcclxuQG1peGluIGZvbnQoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XHJcbiAgQGlmICh0eXBlLW9mKCRmb250LXNpemUpID09IG51bWJlciBhbmQgdW5pdCgkZm9udC1zaXplKSA9PSAncHgnKSB7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBmb250LXNpemU6IHJlbSgkZm9udC1zaXplKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdWYWx1ZSBmb3IgYCN7JGZvbnQtc2l6ZX1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XHJcbiAgfVxyXG4gIEBpZiAodHlwZS1vZigkbGluZS1oZWlnaHQpID09IG51bWJlciBhbmQgdW5pdCgkbGluZS1oZWlnaHQpID09ICdweCcpIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAoKCRsaW5lLWhlaWdodCAvICRmb250LXNpemUpICogMWVtKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciAnVmFsdWUgZm9yIGAjeyRsaW5lLWhlaWdodH1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gVGV4dFxyXG4vLyBTaG9ydGhhbmQgZm9yIHRoZSBmb250IG1peGluLCBydW5zIHRoZSBmb250IG1peGluIGJhc2VkIG9uIGEgY29tbW9uXHJcbi8vIGRlbWVhbm91ciBleGlzdGluZyBib3RoIGluIHRoZSBgJGZvbnQtc2l6ZWAgYW5kIHRoZSBgJGxpbmUtaGVpZ2h0YCBtYXBzLlxyXG4vLyBAcGFyYW0ge3N0cmluZ30gJHZhbHVlIC0gU3RyaW5nXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgdGV4dCgncCcpO1xyXG5AbWl4aW4gdGV4dCgkdmFsdWUpIHtcclxuICBAaWYgKHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcpIHtcclxuICAgIEBpbmNsdWRlIGZvbnQobWFwLWdldCgkZm9udC1zaXplLCAkdmFsdWUpLCBtYXAtZ2V0KCRsaW5lLWhlaWdodCwgJHZhbHVlKSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAZXJyb3IgJ1ZhbHVlIHNob3VsZCBiZSBhIHN0cmluZyc7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gRm9udCBBd2Vzb21lXHJcbi8vIEFkZCBGb250IEF3ZXNvbWUgaWNvbnMgYXMgcHN1ZWRvIGVsZW1lbnRzIGJ5IHVzaW5nIHRoZWlyIHVuaWNvZGUuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkY29udGVudCAtIFVuaWNvZGUgc3RyaW5nLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGZhbWlseSAtIEZvbnQgQXdlc29tZSBmb250IGZhbWlseSBzdHJpbmcuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgZm9udGF3ZXNvbWUoJ2YxMDAnLCAnTGlnaHQnKTtcclxuQG1peGluIGZvbnRhd2Vzb21lKCRjb250ZW50LCAkZmFtaWx5KSB7XHJcbiAgQGlmICh0eXBlLW9mKCRmYW1pbHkpID09IHN0cmluZykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgI3skZmFtaWx5fSc7XHJcbiAgICBjb250ZW50OiB1bmljb2RlKCRjb250ZW50KTtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciAnQXJndW1lbnQgYCRmYW1pbHlgIHNob3VsZCBiZSBhIHN0cmluZyc7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gTWVkaWFcclxuLy8gTWVkaWEgcXVlcmllcyBhY2NvcmRpbmcgdG8gXCJUaGUgMTAwJSBDb3JyZWN0IFdheSBUbyBEbyBDU1MgQnJlYWtwb2ludHNcIlxyXG4vLyAoaHR0cHM6Ly9tZWRpdW0uZnJlZWNvZGVjYW1wLmNvbS90aGUtMTAwLWNvcnJlY3Qtd2F5LXRvLWRvLWNzcy1icmVha3BvaW50cy04OGQ2YTViYTE4NjIpLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBCcmVha3BvaW50IHBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge31cclxuQG1peGluIG1lZGlhKCRzaXplKSB7XHJcbiAgQGlmICgkc2l6ZSA9PSAnZGVza3RvcCcpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogOTAwcHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogOTAwcHgpIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIGFuZChtYXgtd2lkdGg6IDg5OXB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiA4OTlweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0Jykge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3Bob25lJykge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDU5OXB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIEZ1bmN0aW9uc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gVW5pY29kZVxyXG4vLyBQcmVzZXJ2ZSBlc2NhcGVkIHVuaWNvZGUgc3RyaW5nLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEFuIHVuaWNvZGUgc3RyaW5nLlxyXG4vLyBAcmV0dXJuIHtTdHJpbmd9IEEgcHJlc2VydmVkIGVzY2FwZWQgdW5pY29kZSBzdHJpbmdcclxuLy8gc2Fzcy1saW50OmRpc2FibGUgcXVvdGVzXHJcbkBmdW5jdGlvbiB1bmljb2RlKCRzdHJpbmcpIHtcclxuICBAcmV0dXJuIHVucXVvdGUoXCJcXCdcIikgKyB1bnF1b3RlKHN0ci1pbnNlcnQoJHN0cmluZywgJ1xcXFwnLCAxKSkgKyB1bnF1b3RlKFwiXFwnXCIpO1xyXG59XHJcbi8vIHNhc3MtbGludDplbmFibGUgcXVvdGVzXHJcblxyXG5cclxuLy8gUkVNXHJcbi8vIENvbnZlcnQgcGl4ZWwgdW5pdHMgdG8gUkVNIHVuaXRzLlxyXG4vLyBAcGFyYW0ge051bWJlcn0gJHBpeGVscyAtIFBpeGVsIHZhbHVlLlxyXG4vLyBAcmV0dXJuIHsqfSAtIEEgY29udmVydGVkIGByZW1gIHVuaXQuXHJcbkBmdW5jdGlvbiByZW0oJHBpeGVscykge1xyXG4gIEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcclxuICAgIEBlcnJvciAnVmFsdWUgZm9yIGAjeyRwaXhlbHN9YCBzaG91bGQgYmUgYSBgcHhgIHVuaXQuJztcclxuICB9XHJcbiAgQHJldHVybiAoKCRwaXhlbHMgLyAxMHB4KSAqIDFyZW0pO1xyXG59XHJcblxyXG5cclxuLy8gQ29sdW1uXHJcbi8vIENhbGN1bGF0ZSBnaXZlbiBjb2x1bW4gd2lkdGguXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1uIC0gVGhlIGFtb3VudCBvZiBjb2x1bW5zIHRvIHNwYW4uXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIFRoZSBhbW91bnQgb2YgY29sdW1ucyB0aGF0IGNhbiBiZSBzcGFubmVkLlxyXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gUGVyY2VudGFnZSB2YWx1ZS5cclxuQGZ1bmN0aW9uIGNvbHVtbigkY29sdW1uLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG4gIEByZXR1cm4gKCRjb2x1bW4gICogMTAwJSAvICRjb2x1bW5zKTtcclxufVxyXG5cclxuXHJcbi8vIENvbG9yXHJcbi8vIEdldCBhIGNvbG9yIHZhbHVlIGZyb20gdHdvIGxldmVscyBkZWVwIGluIHRoZSBgJGNvbG9yYCBtYXAuXHJcbi8vIEBwYXJhbSB7JHN0cmluZ30gJGtleSAtIEtleSBvZiB0aGUgY29sb3IgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIG9mIHRoZSBrZXkgdG8gZ2V0IGZyb20gdGhlIG1hcC5cclxuLy8gQHJldHVybiB7Kn0gQSBIU0xBIGNvbG9yIHZhbHVlLlxyXG5AZnVuY3Rpb24gY29sb3IoJGtleSwgJHZhbHVlKSB7XHJcbiAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJGtleSksICR2YWx1ZSk7XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gQ29sb3JcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIENvbG9yIG1hcC5cclxuJGNvbG9yczogKFxyXG4gICdibGFjayc6IChcclxuICAgICcxMDAnOiBoc2xhKDAsIDAlLCAwJSwgMSlcclxuICApLFxyXG4gICd3aGl0ZSc6IChcclxuICAgICcxMDAnOiBoc2xhKDAsIDAlLCAxMDAlLCAxKSxcclxuICApLFxyXG4gICdibHVlLWxpZ2h0JzogKFxyXG4gICAgJzEwMCc6IGhzbGEoMTk1LCAxMyUsIDgyJSwgMSksXHJcbiAgICAnNTAnOiBoc2xhKDE5NiwgNy40JSwgNzAuOCUsIDEpXHJcbiAgKSxcclxuICAnYmx1ZS1kYXJrJzogKFxyXG4gICAgJzEwMCc6IGhzbGEoMjIyLCA2MyUsIDM1JSwgMSksXHJcbiAgKSxcclxuICAnb3JhbmdlJzogKFxyXG4gICAgJzEwMCc6IGhzbGEoMjcsIDYwJSwgNjMlLCAxKSxcclxuICApLFxyXG4gICdyZWQnOiAoXHJcbiAgICAnMTAwJzogaHNsYSg5LCA3NCUsIDUxJSwgMSksXHJcbiAgKSxcclxuICAnZ3JlZW4nOiAoXHJcbiAgICAnMTAwJzogaHNsYSg2NSwgNyUsIDMzJSwgMSksXHJcbiAgICAnNTAnOiBoc2xhKDE0MCwgMi45JSwgNTkuNiUsIDEpLFxyXG4gICksXHJcbiAgJ2dyZWVuLWJhY2tncm91bmQnOiAoXHJcbiAgICAnMTAwJzogaHNsYSg2NSwgNyUsIDMyJSwgMSksXHJcbiAgKSxcclxuICAnYnJvd24nOiAoXHJcbiAgICAnMTAwJzogaHNsYSgxMywgMzMlLCAxMSUsIDEpLFxyXG4gICksXHJcbiAgJ2Jyb3duLWJhY2tncm91bmQnOiAoXHJcbiAgICAnMTAwJzogaHNsYSgxMywgMzAlLCAxMyUsIDEpLFxyXG4gICksXHJcbiAgJ2Jvc3MtZ3JlZW4nOiAoXHJcbiAgICAnMTAwJzogaHNsYSg2OC45LCAxMDAlLCAzOS44JSwgMSksXHJcbiAgKSxcclxuICAnYm9zcy1ncmV5JzogKFxyXG4gICAgJzEwMCc6IGhzbGEoMTIwLCA4LjMlLCAxNC4xJSwgMSksXHJcbiAgKSxcclxuICAnYm9zcy1icm93bic6IChcclxuICAgICcxMDAnOiBoc2xhKDI4LjUsIDczLjclLCAyNi45JSwgMSksXHJcbiAgKSxcclxuICAnYm9zcy1iZWlnZSc6IChcclxuICAgICcxMDAnOiBoc2xhKDQwLjUsIDU1LjIlLCA4Ni45JSwgMSksXHJcbiAgKSxcclxuICAnZmxleC15ZWxsb3cnOiAoXHJcblx0ICAnMTAwJzogaHNsYSg1NywgMTAwJSwgNTAlLCAxKVxyXG4gICksXHJcbiAgJ2ZsZXgtY3JlbWUnOiAoXHJcblx0ICAnMTAwJzogaHNsYSgzMywgNjclLCA5MyUsIDEpXHJcbiAgKVx0XHJcbik7XHJcblxyXG4vLyBDb2xvciBzaG9ydGhhbmQgdmFyaWFibGVzLlxyXG4kY29sb3ItYmxhY2s6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYmxhY2snKSwgJzEwMCcpO1xyXG4kY29sb3Itd2hpdGU6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnd2hpdGUnKSwgJzEwMCcpO1xyXG4kY29sb3ItYmx1ZS1saWdodDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibHVlLWxpZ2h0JyksICcxMDAnKTtcclxuJGNvbG9yLWJsdWUtZGFyazogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibHVlLWRhcmsnKSwgJzEwMCcpO1xyXG4kY29sb3Itb3JhbmdlOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ29yYW5nZScpLCAnMTAwJyk7XHJcbiRjb2xvci1yZWQ6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncmVkJyksICcxMDAnKTtcclxuJGNvbG9yLWdyZWVuOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZWVuJyksICcxMDAnKTtcclxuJGNvbG9yLWdyZWVuLWJhY2tncm91bmQ6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4tYmFja2dyb3VuZCcpLCAnMTAwJyk7XHJcbiRjb2xvci1icm93bjogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdicm93bicpLCAnMTAwJyk7XHJcbiRjb2xvci1icm93bi1iYWNrZ3JvdW5kOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2Jyb3duLWJhY2tncm91bmQnKSwgJzEwMCcpO1xyXG5cclxuLy8gQk9TUyBjb2xvcnMuXHJcbiRib3NzLWdyZXk6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYm9zcy1ncmV5JyksICcxMDAnKTtcclxuJGJvc3MtYmVpZ2U6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnYm9zcy1iZWlnZScpLCAnMTAwJyk7XHJcblxyXG4vLyBGbGV4IGNvbG9ycy5cclxuJGZsZXgteWVsbG93OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2ZsZXgteWVsbG93JyksICcxMDAnKTtcclxuJGZsZXgtY3JlbWU6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZmxleC1jcmVtZScpLCAnMTAwJyk7XHJcblxyXG4vLyBTcGVjaWZpYyBjb2xvcnMuXHJcbiRjb2xvci1wbGFjZWhvbGRlcjogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibHVlLWxpZ2h0JyksICc1MCcpO1xyXG4kY29sb3ItaW5wdXQ6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4nKSwgJzUwJyk7XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFJlc2V0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogQ3VzdG9tIHVzZXIgYWdlbnQgcmVzZXRzIGFuZCBvdmVycmlkZXMgdGhhdCBhcmUgbm90IHByZXNlbnQgaW5cclxuICogTm9ybWFsaXplIDguMC4wLiBUaGlzIG1vc3RseSByZW1vdmVzIHNvbWUgYW5ub3lpbmcgbWFyZ2luIGFuZCBwYWRkaW5nXHJcbiAqIGRlZmF1bHRzLCBib3JkZXIgcmFkaXVzLCBhbmQgb3V0bGluZXMuXHJcbiAqL1xyXG5cclxuYSB7XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSBib3JkZXIgcmFkaXVzIG9uIENocm9tZSA2Mi4wKyBvbiBtYWNPUy5cclxuICovXHJcblxyXG5idXR0b24ge1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItcmFkaXVzOiAwOyAvKiAxICovXHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuZmllbGRzZXQge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuZmlndXJlIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICBmb250LXdlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuaHIge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSB3aGl0ZSBzcGFjZS5cclxuICovXHJcblxyXG5pbWcge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMSAqL1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIFJlbW92ZSBpbmhlcml0ZWQgdXNlciBhZ2VudCBhcHBlYXJhbmNlLlxyXG4gKi9cclxuXHJcbmlucHV0LFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBhcHBlYXJhbmNlOiBub25lOyAvKiAxICovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gT25seSBhbGxvdyB2ZXJ0aWNhbCByZXNpemluZyB0byBwcmV2ZW50IHRoZSB0ZXh0YXJlYVxyXG4gKiAgICBmcm9tIG92ZXJmbG93aW5nIHRoZSBjb250YWluZXIuXHJcbiAqL1xyXG5cclxudGV4dGFyZWEge1xyXG4gIHJlc2l6ZTogdmVydGljYWw7XHJcbn1cclxuXHJcbnVsLFxyXG5vbCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG59XHJcblxyXG5wIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogMS4gQ29sbGFwc2UgYm9yZGVycyB0byBwcmV2ZW50IGRvdWJsZSBzaWRlZCBib3JkZXJzLlxyXG4gKi9cclxuXHJcbnRhYmxlIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLyogMSAqL1xyXG59XHJcblxyXG5zdHJvbmcge1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQmFja2dyb3VuZFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcbi8qKlxyXG4gKiBCYWNrZ3JvdW5kIGJhc2UuXHJcbiAqL1xyXG5cclxuLmJhY2tncm91bmQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQmFja2dyb3VuZCBwcmltYXJ5LlxyXG4gKi9cclxuXHJcbi5iYWNrZ3JvdW5kLS1kZWZhdWx0IHtcclxuICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4gIGZpbGw6ICRjb2xvci1ibGFjaztcclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcclxuICB9XHJcblxyXG4gIGgxLFxyXG4gIGgyIHtcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgfVxyXG5cclxuICAuYnV0dG9uLS1hcnJvdyB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgIGZpbGw6ICRjb2xvci1ibGFjaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idXR0b24tLWJvcmRlciB7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgIGZpbGw6ICRjb2xvci1ibGFjaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLS1ncmFkaWVudCB7XHJcblx0Y29sb3I6ICRjb2xvci1ibGFjaztcclxuXHRmaWxsOiAkY29sb3ItYmxhY2s7XHJcbiAgXHJcblx0Jjo6YmVmb3JlIHtcclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNGRkVEMDAgMzIuMDklLCAjRjM5MjAwIDgxLjA3JSwgI0ZGNTA0NyAxMDAlKTtcclxuXHR9XHJcbiAgXHJcblx0aDEsXHJcblx0aDIge1xyXG5cdCAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuXHR9XHJcbiAgXHJcblx0LmJ1dHRvbi0tYXJyb3cge1xyXG5cdCAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICBcclxuXHQgIHN2ZyB7XHJcblx0XHRjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG5cdFx0ZmlsbDogJGNvbG9yLWJsYWNrO1xyXG5cdCAgfVxyXG5cdH1cclxuICBcclxuXHQuYnV0dG9uLS1ib3JkZXIge1xyXG5cdCAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWJsYWNrO1xyXG5cdCAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICBcclxuXHQgIHN2ZyB7XHJcblx0XHRjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG5cdFx0ZmlsbDogJGNvbG9yLWJsYWNrO1xyXG5cdCAgfVxyXG5cdH1cclxufVxyXG5cclxuLmJhY2tncm91bmQtLWdyZXkge1xyXG5cdGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblx0ZmlsbDogJGNvbG9yLWJsYWNrO1xyXG4gIFxyXG5cdCY6OmJlZm9yZSB7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZTdlNmRkO1xyXG5cdH1cclxuICBcclxuXHRoMSxcclxuXHRoMiB7XHJcblx0ICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG5cdH1cclxuICBcclxuXHQuYnV0dG9uLS1hcnJvdyB7XHJcblx0ICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4gIFxyXG5cdCAgc3ZnIHtcclxuXHRcdGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblx0XHRmaWxsOiAkY29sb3ItYmxhY2s7XHJcblx0ICB9XHJcblx0fVxyXG4gIFxyXG5cdC5idXR0b24tLWJvcmRlciB7XHJcblx0ICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcblx0ICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4gIFxyXG5cdCAgc3ZnIHtcclxuXHRcdGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblx0XHRmaWxsOiAkY29sb3ItYmxhY2s7XHJcblx0ICB9XHJcblx0fVxyXG59XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBCYWNrZ3JvdW5kIHByaW1hcnkgKHdpdGggcGF0dGVybikuXHJcbiAqL1xyXG5cclxuLmJhY2tncm91bmQtLWJlaWdlIHtcclxuICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4gIGZpbGw6ICRjb2xvci1ibGFjaztcclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQ6ICRib3NzLWJlaWdlO1xyXG4gIH1cclxuXHJcbiAgaDEsXHJcbiAgaDIge1xyXG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICB9XHJcblxyXG4gIC5idXR0b24tLWFycm93IHtcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbi0tYm9yZGVyIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ibGFjaztcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBCYWNrZ3JvdW5kIHNlY29uZGFyeS5cclxuICovXHJcblxyXG4uYmFja2dyb3VuZC0tYnJvd24ge1xyXG4gIGNvbG9yOiAkYm9zcy1iZWlnZTtcclxuICBmaWxsOiAkYm9zcy1iZWlnZTtcclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcclxuICB9XHJcblxyXG4gIGgxLFxyXG4gIGgyIHtcclxuICAgIGNvbG9yOiAkYm9zcy1iZWlnZTtcclxuICB9XHJcblxyXG4gIC5idXR0b24tLWFycm93IHtcclxuICAgIGNvbG9yOiAkYm9zcy1iZWlnZTtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICBjb2xvcjogJGJvc3MtYmVpZ2U7XHJcbiAgICAgIGZpbGw6ICRib3NzLWJlaWdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ1dHRvbi0tYm9yZGVyIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ibGFjaztcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIEJhY2tncm91bmQgc2Vjb25kYXJ5LlxyXG4gKi9cclxuXHJcbi5iYWNrZ3JvdW5kLS1ibGFjayB7XHJcblx0Y29sb3I6ICRmbGV4LXllbGxvdztcclxuXHRmaWxsOiAgJGZsZXgteWVsbG93O1xyXG4gIFxyXG5cdCY6OmJlZm9yZSB7XHJcblx0ICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2s7XHJcblx0fVxyXG4gIFxyXG5cdGgxLFxyXG5cdGgyIHtcclxuXHQgIGNvbG9yOiAgJGZsZXgteWVsbG93O1xyXG5cdH1cclxuICBcclxuXHQuYnV0dG9uLS1hcnJvdyB7XHJcblx0ICBjb2xvcjogICRmbGV4LXllbGxvdztcclxuICBcclxuXHQgIHN2ZyB7XHJcblx0XHRjb2xvcjogJGZsZXgteWVsbG93O1xyXG5cdFx0ZmlsbDogJGZsZXgteWVsbG93O1xyXG5cdCAgfVxyXG5cdH1cclxuICBcclxuXHQuYnV0dG9uLS1ib3JkZXIge1xyXG5cdCAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWJsYWNrO1xyXG5cdCAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICBcclxuXHQgIHN2ZyB7XHJcblx0XHRjb2xvcjphZGp1c3QtaHVlKCRjb2xvcjogIzAwMDAwMCwgJGRlZ3JlZXM6IDApICRjb2xvci1ibGFjaztcclxuXHRcdGZpbGw6ICRjb2xvci1ibGFjaztcclxuXHQgIH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQmFja2dyb3VuZCBib3JkZXIuXHJcbiAqL1xyXG5cclxuLmJhY2tncm91bmQtLWJvcmRlciB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcbiAgICB9XHJcblxyXG4gICAgYm90dG9tOiA5NXB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcbiAgfVxyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tYm9yZGVyICsgZGl2IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgfVxyXG5cclxuICBtYXJnaW4tdG9wOiAtOTVweDtcclxuICBwYWRkaW5nLXRvcDogOTVweDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBCdXR0b25zLlxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcbi8qKlxyXG4gKiBCdXR0b24gYmFzZS5cclxuICovXHJcblxyXG4uYnV0dG9uIHtcclxuICBAaW5jbHVkZSBmb250KDE2cHgsIDI0cHgpO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgaGVpZ2h0OiAzMnB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEJ1dHRvbiBib3JkZXIuXHJcbiAqL1xyXG5cclxuLmJ1dHRvbi0tYm9yZGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xyXG4gIHBhZGRpbmc6IDAgMTBweDtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTNweDtcclxuICAgIHJpZ2h0OiAtMzVweDtcclxuICB9XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzUwbXMgZWFzZTtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyOjphZnRlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gICYuaXMtb3JhbmdlIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1vcmFuZ2U7XHJcbiAgICBjb2xvcjogJGNvbG9yLW9yYW5nZTtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLW9yYW5nZTtcclxuICAgICAgZmlsbDogJGNvbG9yLW9yYW5nZTtcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1vcmFuZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmlzLWJyb3duIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ibGFjaztcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGJvc3MtYmVpZ2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmlzLWJsYWNrIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ibGFjaztcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGZsZXgteWVsbG93O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pcy1ncmVlbiB7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgIGZpbGw6ICRjb2xvci1ibGFjaztcclxuICAgIH1cclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRmbGV4LXllbGxvdztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQnV0dG9uIGFycm93LlxyXG4gKi9cclxuXHJcbi5idXR0b24tLWFycm93IHtcclxuICBzdmcge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAxcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICB9XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgc3ZnIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmlzLW9yYW5nZSB7XHJcbiAgICBjb2xvcjogJGNvbG9yLW9yYW5nZTtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLW9yYW5nZTtcclxuICAgICAgZmlsbDogJGNvbG9yLW9yYW5nZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaXMtcmVkIHtcclxuICAgIGNvbG9yOiAkY29sb3ItcmVkO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItcmVkO1xyXG4gICAgICBmaWxsOiAkY29sb3ItcmVkO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pcy1iZWlnZSB7XHJcbiAgICBjb2xvcjogJGJvc3MtYmVpZ2U7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgZmlsbDogJGNvbG9yLXdoaXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pcy1icm93biB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgIGZpbGw6ICRjb2xvci1ibGFjaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuaXMtYmxhY2sge1xyXG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4gICAgICBmaWxsOiAkY29sb3ItYmxhY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbnRhaW5lclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFRoZSBjb250YWluZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXHJcbiAqL1xyXG5cclxuLmNvbnRhaW5lciB7XHJcbiAgQGluY2x1ZGUgY29udGFpbmVyO1xyXG59XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIERlZmluaXRpb25zXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBHcmlkXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBHcmlkIHdpZHRoLlxyXG4vLyBNYXhpbXVtIGNvbnRhaW5lciB3aWR0aC5cclxuJGdyaWQtd2lkdGg6IDEwMjRweDtcclxuXHJcbi8vIEdyaWQgY29sdW1ucy5cclxuLy8gQW1vdW50IG9mIGdyaWQgY29sdW1ucyB0byBjYWxjdWxhdGUgYSBjb2x1bW4gd2lkdGggd2l0aC5cclxuJGdyaWQtY29sdW1uczogMTI7XHJcblxyXG4vLyBHcmlkIGNvbHVtbi5cclxuLy8gQ29sdW1uIHdpZHRoIGluIHBpeGVscy5cclxuJGdyaWQtY29sdW1uOiA2MHB4O1xyXG5cclxuLy8gR3JpZCBnYXAuXHJcbi8vIFNwYWNlIGJldHdlZW4gZ3JpZCBjb2x1bW5zLCBhdXRvbWF0ZWQuXHJcbiRncmlkLWdhcDogKCRncmlkLXdpZHRoIC0gKCRncmlkLWNvbHVtbiAqICRncmlkLWNvbHVtbnMpKSAvICRncmlkLWNvbHVtbnM7XHJcblxyXG5cclxuLy8gQXNzZXRzXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBJbWFnZSBwYXRoLlxyXG4kaW1hZ2UtcGF0aDogJy4uL2ltYWdlcy8nO1xyXG5cclxuXHJcbi8vIEJvZHlcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIEJvZHkgYmFja2dyb3VuZCBjb2xvci5cclxuJGJvZHktYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xyXG5cclxuLy8gQm9keSBjb2xvci5cclxuJGJvZHktY29sb3I6ICRjb2xvci1ibGFjaztcclxuXHJcbi8vIEJvZHkgZm9udCBmYW1pbHkuXHJcbiRib2R5LWZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ2RlZmF1bHQnKTtcclxuXHJcbi8vIEJvZHkgdGV4dC5cclxuJGJvZHktdGV4dDogJ3AnO1xyXG5cclxuXHJcbi8vIE90aGVyXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBMaW5rIGNvbG9yLlxyXG4kbGluay1jb2xvcjogJGNvbG9yLXJlZDtcclxuXHJcblxyXG4vLyBSZXNwb25zaXZlXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBHcmlkIGJyZWFrcG9pbnQgYWxpYXMuXHJcbiRicmVha3BvaW50czogKFxyXG4gIHhzOiAwLFxyXG4gIHNtOiA2MDBweCxcclxuICBtZDogNzY4cHgsXHJcbiAgbGc6IDEwMjRweCxcclxuICB4bDogMTIwMHB4XHJcbik7XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbnRlbnQgQ29uc3RyYWludFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFRoZSBjb250ZW50IGNvbnN0cmFpbnQgaXMgYSBjb25zdHJhaW50IGZvciBhbGwgdGhlIGNvbnRlbnQgd2l0aGluXHJcbiAqIHRoZSBkb2N1bWVudC4gSXQgY2FuIGJlIG1hbmlwdWxhdGVkIGJ5IENTUyBvciBKYXZhU2NyaXB0IHdpdGhvdXRcclxuICogaW5mbHVlbmNpbmcgdGhlIGJvZHkuXHJcbiAqL1xyXG5cclxuLmNvbnRlbnQtY29uc3RyYWludCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIDo6c2VsZWN0aW9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRmbGV4LXllbGxvdztcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZsZXhcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBFeGFtcGxlIG9mIGEgZmxleCBiYXNlZCBjb2x1bW4gZ3JpZCBsYXlvdXQgaW4gcHJhY3RpY2U6XHJcbiAqXHJcbiAqIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XHJcbiAqIDwvZGl2PlxyXG4gKlxyXG4gKiBUaGlzIGV4YW1wbGUgd2lsbCBjcmVhdGUgYSByb3cgd2l0aCB0d28gY29sdW1ucyBlYWNoIGZpbGxpbmcgaGFsZiB0aGUgd2lkdGhcclxuICogb2YgdGhlIHJvdyBvbiBhbGwgbWVkaWEsIGJ1dCB3aWxsIGNvbnZlcnQgdG8gYSBmdWxsIHdpZHRoIGNvbHVtbiBvbiB0aGVcclxuICogc21hbGwgYC1zbWAgYnJlYWtwb2ludCBhbGlhcywgd2hpY2ggaXMgbW9iaWxlIG9ubHkuIFJlZmVyIHRvXHJcbiAqIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AgZm9yIGFsbCBicmVha3BvaW50IGFsaWFzLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBGbGV4IG9iamVjdC5cclxuICpcclxuICogVGlwOiBVc2UgZmxleCBvbiBhIGNvbHVtbiB0byBtYWtlIHRoZSBib3ggdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBjb2x1bW4uXHJcbiAqL1xyXG5cclxuLmZsZXgge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5mbGV4LXdyYXAge1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGbGV4IG9iamVjdCB3aXRoIGEgY29sdW1uIGJhc2VkIGxheW91dCBzeXN0ZW0uXHJcbiAqL1xyXG5cclxuLnJvdyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4OiAwIDEgYXV0bztcclxuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gIG1hcmdpbjogMCAtI3soJGdyaWQtZ2FwLzIpfTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBCb3gsIHRoZSBpbnNpZGUgb2YgYSBjb2x1bW4uXHJcbiAqL1xyXG5cclxuLmJveCB7XHJcbiAgZmxleDogMTtcclxufVxyXG5cclxuXHJcbi8vIExvb3AgdGhyb3VnaCBhbGwgdGhlIGtleXMgaW4gdGhlIGAkYnJlYWtwb2ludHNgIHZhcmlhYmxlIG1hcCBkZWZpbmVkIGluXHJcbi8vIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xyXG5cclxuICAvLyBDcmVhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZXZlcnkga2V5IGluIGAkYnJlYWtwb2ludHNgLlxyXG4gIEBpbmNsdWRlIG1lZGlhKCRrZXkpIHtcclxuXHJcbiAgICAvLyBJdGVyYXRlIGZyb20gMSB0aHJvdWdoIHRoZSBhbW91bnQgb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnlcclxuICAgIC8vIGAkZ3JpZC1jb2x1bW5zYCBpbiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgLlxyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcclxuXHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBDb2x1bW4gI3skaX0gZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXHJcblxyXG4gICAgICAuY29sLSN7JGtleX0tI3skaX0ge1xyXG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiBjb2x1bW4oJGkpO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgKCRncmlkLWdhcC8yKTtcclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIC8vIE91dHB1dCBhbiBvZmZzZXQgdXRpbGl0eSBjbGFzcyBpZiB0aGUgaXRlcmF0b3IgaXMgbGVzcyB0aGFuIHRoZSBhbW91bnRcclxuICAgICAgLy8gb2YgZ3JpZCBjb2x1bW5zIGRlZmluZWQgYnkgYCRncmlkLWNvbHVtbnNgIGluXHJcbiAgICAgIC8vIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcbiAgICAgIEBpZiAoJGkgPCAkZ3JpZC1jb2x1bW5zKSB7XHJcblxyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIE9mZnNldCAjeyRpfSBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xyXG5cclxuICAgICAgICAub2Zmc2V0LSN7JGtleX0tI3skaX0ge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGNvbHVtbigkaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGFsaWduLWl0ZW1zYCBwcm9wZXJ0eS5cclxuICAgIEBlYWNoICR2YWx1ZSBpbiBzdHJldGNoLCBjZW50ZXIsIGZsZXgtc3RhcnQsIGZsZXgtZW5kLCBiYXNlbGluZSB7XHJcblxyXG4gICAgICAvKipcclxuICAgICAgICogQWxpZ24gYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xyXG5cclxuICAgICAgLmFsaWduLSN7JGtleX0tI3skdmFsdWV9IHtcclxuICAgICAgICBhbGlnbi1pdGVtczogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGp1c3RpZnktY29udGVudGAgcHJvcGVydHkuXHJcbiAgICBAZWFjaCAkdmFsdWUgaW4gc3RhcnQsIGNlbnRlciwgc3BhY2UtYmV0d2Vlbiwgc3BhY2UtYXJvdW5kLCBzcGFjZS1ldmVubHkge1xyXG5cclxuICAgICAgLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xyXG5cclxuICAgICAgLmp1c3RpZnktI3ska2V5fS0jeyR2YWx1ZX0ge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIExvb3AgdGhyb3VnaCBldmVyeSBkaXJlY3Rpb24gZnJvbSBsZWZ0IHRvIHJpZ2h0LlxyXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiBsZWZ0LCByaWdodCB7XHJcblxyXG4gICAgICAvKipcclxuICAgICAgICogQmxlZWQgI3skZGlyZWN0aW9ufSBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuICAgICAgICovXHJcblxyXG4gICAgICAuYmxlZWQtI3ska2V5fS0jeyRkaXJlY3Rpb259IHtcclxuICAgICAgICBwYWRkaW5nLSN7JGRpcmVjdGlvbn06IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG4gICAgICovXHJcblxyXG4gICAgLmZpcnN0LSN7JGtleX0ge1xyXG4gICAgICBvcmRlcjogLTE7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3JkZXIgbGFzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG4gICAgICovXHJcblxyXG4gICAgLmxhc3QtI3ska2V5fSB7XHJcbiAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cclxuICAgICAqL1xyXG5cclxuICAgIC5yZXZlcnNlLSN7JGtleX0ge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEhlYWRpbmdzLlxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmcgMS5cclxuICovXHJcblxyXG5oMSxcclxuLmhlYWRpbmctMSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgQGluY2x1ZGUgZm9udCg0OHB4LCA1NHB4KTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvbnQoNDhweCwgNThweCk7XHJcbiAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnbWVkaXVtJyk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVhZGluZyAyLlxyXG4gKi9cclxuXHJcbmgyLFxyXG4uaGVhZGluZy0yIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBAaW5jbHVkZSBmb250KDQ4cHgsIDU0cHgpO1xyXG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvbnQoNDhweCwgNTRweCk7XHJcbiAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnbWVkaXVtJyk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVhZGluZyAzLlxyXG4gKi9cclxuXHJcbmgzLFxyXG4uaGVhZGluZy0zIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgQGluY2x1ZGUgZm9udCgxMDBweCwgMTAwcHgpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgQGluY2x1ZGUgZm9udCg1MHB4LCA1MHB4KTtcclxuICAgIG1heC13aWR0aDogMTAwdnc7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGZvbnQoMTUwcHgsIDE1MHB4KTtcclxuICBmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdtZWRpdW0nKTtcclxuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggJGNvbG9yLWJsYWNrO1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIZWFkaW5ncy5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5oYXMtbG9hZCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogLTE1MHB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCAxMDAwbXMgZWFzZTtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4uaGFzLWxvYWRbbG9hZGVkPSd0cnVlJ10ge1xyXG4gIHRvcDogMDtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFNlY3Rpb25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgV3JhcHBlclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFRoZSB3cmFwcGVyIG9iamVjdCBjZW50ZXJzIGFuIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50LlxyXG4gKi9cclxuXHJcbiR3ZWJzaXRlLXdpZHRoOiAgIDEyNTBweDtcclxuJHdlYnNpdGUtcGFkZGluZzogOTVweDtcclxuXHJcblxyXG4vKipcclxuICogV3JhcHBlciAoZGVmYXVsdClcclxuICovXHJcblxyXG4ud3JhcHBlciB7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHBhZGRpbmc6IDAgNDBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICBwYWRkaW5nOiAwIDUwcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIHBhZGRpbmc6IDAgNjBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIGNvbnRhaW5lcigkd2Vic2l0ZS13aWR0aCwgJHdlYnNpdGUtcGFkZGluZyk7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ01TIE91dHB1dFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEV2ZXJ5IGNvbmNlaXZhYmxlIEhUTUwgZWxlbWVudCB3aXRoaW4gYSBgLmNtcy1vdXRwdXRgIHdyYXBwZXIuXHJcbiAqXHJcbiAqIDEuIEV4Y2x1ZGUgbGFzdCBjaGlsZHMuXHJcbiAqL1xyXG5cclxuLmNtcy1vdXRwdXQge1xyXG5cclxuICA+ICoge1xyXG5cclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTsgLyogMSAqL1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgQGluY2x1ZGUgZm9udCgxNnB4LCAzMHB4KTtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM1cHgpO1xyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiA1cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGNvbnRlbnQ6ICfigLonO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbCB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBAaW5jbHVkZSBmb250KDE2cHgsIDMwcHgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcCA+IGEge1xyXG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29udGFjdCBmb3JtXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY29udGFjdC1mb3JtIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcclxuICB9XHJcblxyXG4gIHBhZGRpbmctYm90dG9tOiAxNzBweDtcclxufVxyXG5cclxuLmNvbnRhY3QtZm9ybV9fdGl0bGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIGxlZnQ6IC04cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDQzcHg7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAtMTBweDtcclxuICBsZWZ0OiAtMTRweDtcclxuICBwYWRkaW5nLWJvdHRvbTogODVweDtcclxuICBjb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4ICRmbGV4LXllbGxvdztcclxufVxyXG5cclxuLmNvbnRhY3QtZm9ybV9fY29sdW1uLWNvbnRhY3Qge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIHdpZHRoOiA2MiU7XHJcbn1cclxuXHJcbi5jb250YWN0LWZvcm1fX2NvbnRhY3QtYmxvY2sge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNzVweDtcclxuICB9XHJcblxyXG4gIG1hcmdpbi1ib3R0b206IDE3MHB4O1xyXG5cclxuICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgIC5jb250YWN0LWZvcm1fX2NvbnRhY3Qtc3VidGl0bGUge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jb250YWN0LWZvcm1fX2NvbnRhY3QtdGl0bGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIGxlZnQ6IC04cHg7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogLTE1cHg7XHJcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDJweCAkZmxleC15ZWxsb3c7XHJcbn1cclxuXHJcbi5jb250YWN0LWZvcm1fX2NvbnRhY3Qtc3VidGl0bGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTUycHg7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBhZGRpbmctdG9wOiAxMTBweDtcclxuICB9XHJcblxyXG4gIG1heC13aWR0aDogNDAwcHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHJcbiAgcGFkZGluZy10b3A6IDIzNXB4O1xyXG59XHJcblxyXG4uY29udGFjdC1mb3JtX19jb250YWN0LWVkaXRvciB7XHJcbiAgbWF4LXdpZHRoOiA1ODVweDtcclxufVxyXG5cclxuLmNvbnRhY3QtZm9ybV9fY29udGFjdC1sb2dvIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxuICB9XHJcblxyXG4gIG1heC13aWR0aDogMjkwcHg7XHJcbiAgbWFyZ2luLXRvcDogNTVweDtcclxufVxyXG5cclxuLmNvbnRhY3QtZm9ybV9fY29sdW1uLWZvcm0ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDM4JTtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBEb3dubG9hZHNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5kb3dubG9hZHMge1xyXG4gIC53cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5kb3dubG9hZHNfX2l0ZW0ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMTVweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XHJcbiAgfVxyXG5cclxuICBtYXJnaW4tYm90dG9tOiAxNjRweDtcclxufVxyXG5cclxuLmRvd25sb2Fkc19faXRlbS1kYXRlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBsZWZ0OiAtN3B4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IC0xNHB4O1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAycHggJGZsZXgteWVsbG93O1xyXG59XHJcblxyXG4uZG93bmxvYWRzX19jb2x1bW4taXRlbXMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDYxJTtcclxuICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG4uZG93bmxvYWRzX19pdGVtLXRpdGxlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgcGFkZGluZy10b3A6IDE3NXB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgcGFkZGluZy10b3A6IDExNXB4O1xyXG4gIH1cclxuXHJcbiAgbWFyZ2luLWJvdHRvbTogMjdweDtcclxuICBwYWRkaW5nLXRvcDogMjI0cHg7XHJcbn1cclxuXHJcbi5kb3dubG9hZHNfX2l0ZW0taW1hZ2Uge1xyXG4gIG1heC13aWR0aDogNTcwcHg7XHJcbiAgbWFyZ2luOiAzNXB4IDA7XHJcbn1cclxuXHJcbi5kb3dubG9hZHNfX2l0ZW0tZWRpdG9yIHtcclxuICBtYXgtd2lkdGg6IDU3MHB4O1xyXG59XHJcblxyXG4uZG93bmxvYWRzX19pdGVtLWxpbmsge1xyXG4gIG1hcmdpbi10b3A6IDM1cHg7XHJcbn1cclxuXHJcbi5kb3dubG9hZHNfX2NvbHVtbi1saW5rcyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDM5JTtcclxufVxyXG5cclxuLmRvd25sb2Fkc19fdGl0bGUge1xyXG4gIG1hcmdpbi1ib3R0b206IDIzcHg7XHJcbn1cclxuXHJcbi5kb3dubG9hZHNfX2VkaXRvciBhIHtcclxuICBAaW5jbHVkZSBmb250KDE2cHgsIDMwcHgpO1xyXG4gIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiAkZmxleC15ZWxsb3c7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZvb3RlciBjb2x1bW5zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZm9vdGVyLWNvbHVtbnMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIEBpbmNsdWRlIGZvbnQoMThweCwgMzZweCk7XHJcbiAgfVxyXG5cclxuICBsaW5lLWhlaWdodDogMjlweDtcclxuXHJcbiAgLndyYXBwZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBwYWRkaW5nLXRvcDogNzBweDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgcGFkZGluZy10b3A6IDE2MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDE3NXB4O1xyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRmbGV4LXllbGxvdztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mb290ZXItY29sdW1uc19fY29udGFjdCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiA0MCU7XHJcbn1cclxuXHJcbi5mb290ZXItY29sdW1uc19fY29udGFjdC1sb2dvIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IDA7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAtMzVweDtcclxuXHJcbiAgaW1nIHtcclxuXHQgIG1heC13aWR0aDogMzAwcHg7XHJcblx0ICBtYXgtaGVpZ2h0OiA5MHB4O1xyXG5cdCAgaGVpZ2h0OiAxMDAlO1xyXG5cdCAgd2lkdGg6IDEwMCU7XHJcblx0ICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gIH1cclxufVxyXG5cclxuLmZvb3Rlci1jb2x1bW5zX19jb250YWN0LWVkaXRvciB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICB9XHJcblxyXG4gIG1hcmdpbi10b3A6IDc1cHg7XHJcbn1cclxuXHJcbi5mb290ZXItY29sdW1uc19fc2l0ZW1hcHMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogNDUlO1xyXG59XHJcblxyXG4uZm9vdGVyLWNvbHVtbnNfX3NpdGVtYXAge1xyXG4gIHdpZHRoOiA1MCU7XHJcbn1cclxuXHJcbi5mb290ZXItY29sdW1uc19fc29jaWFsLXRpdGxlLFxyXG4uZm9vdGVyLWNvbHVtbnNfX3NpdGVtYXAtdGl0bGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgfVxyXG5cclxuICBtYXJnaW4tYm90dG9tOiA0NXB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5mb290ZXItY29sdW1uc19fc29jaWFsIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIHdpZHRoOiAxNSU7XHJcbn1cclxuXHJcbi5mb290ZXItY29sdW1uc19fc29jaWFsLWxpbmtzIHtcclxuICBhIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgIGhlaWdodDogMjBweDtcclxuXHJcbiAgICAgIHBhdGgge1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGZsZXgteWVsbG93O1xyXG5cclxuICAgICAgc3ZnIHtcclxuICAgICAgICBwYXRoIHtcclxuICAgICAgICAgIGZpbGw6ICRmbGV4LXllbGxvdztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRm9vdGVyIENUQVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmZvb3Rlci1jdGEge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgei1pbmRleDogMjtcclxuXHJcbiAgJi5pcy1ob21lcGFnZSB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZmU1MDQ2O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLndyYXBwZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgICY6OmJlZm9yZSB7XHJcbiAgIFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcclxuICAgfVxyXG59XHJcblxyXG4uYmFja2dyb3VuZC0tYm9yZGVyICsgLmZvb3Rlci1jdGEge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBhZGRpbmctdG9wOiA3NXB4O1xyXG4gIH1cclxuXHJcbiAgcGFkZGluZy10b3A6IDE3NXB4O1xyXG59XHJcblxyXG4uZm9vdGVyLWN0YSArIGRpdiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICB9XHJcblxyXG4gIG1hcmdpbi10b3A6IC05NXB4O1xyXG59XHJcblxyXG4uZm9vdGVyLWN0YV9fYm9keSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgdG9wOiAxMjBweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIHRvcDogNDBweDtcclxuICAgIHJpZ2h0OiA0MHB4O1xyXG4gICAgYm90dG9tOiA0MHB4O1xyXG4gICAgbGVmdDogNDBweDtcclxuICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgcGFkZGluZzogNjBweCA0MHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTYwcHg7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgbWF4LXdpZHRoOiA1NzVweDtcclxuICBtYXgtaGVpZ2h0OiAyNTBweDtcclxuICBwYWRkaW5nOiA2MHB4IDU1cHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xyXG4gIGNvbG9yOiAkZmxleC15ZWxsb3c7XHJcbn1cclxuXHJcbi5mb290ZXItY3RhX19saW5rIHtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uZm9vdGVyLWN0YV9faW1hZ2Uge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBvc2l0aW9uOiBpbml0aWFsO1xyXG4gICAgaGVpZ2h0OiA1MDBweCFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMHZ3O1xyXG4gIG1pbi1oZWlnaHQ6IDU3MHB4O1xyXG5cclxuICBpbWcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBGb290ZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mb290ZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgfVxyXG5cclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgcGFkZGluZy10b3A6IDdweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbn1cclxuXHJcbi5mb290ZXJfX2xpbmtzIHtcclxuICBhIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgQGluY2x1ZGUgZm9udCgxNHB4LCAxMnB4KTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgZm9udCgxMnB4LCAxMnB4KTtcclxuICAgIG1hcmdpbi1yaWdodDogNjBweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci13aGl0ZTtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZmxleC15ZWxsb3c7XHJcbiAgICAgICAgY29sb3I6ICRmbGV4LXllbGxvdztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gIFxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZvcm1cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5mb3JtIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcclxuICB9XHJcblxyXG4gIHBhZGRpbmctYm90dG9tOiAxODBweDtcclxufVxyXG5cclxuLmZvcm1fX3RpdGxlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBsZWZ0OiAtOHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRvcDogLTEwcHg7XHJcbiAgbGVmdDogLTE0cHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDg1cHg7XHJcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4uZm9ybV9fY29sdW1uLWZvcm0ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIHdpZHRoOiA3MiU7XHJcbn1cclxuXHJcbi5mb3JtX19jb2x1bW4taW1hZ2Uge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDI4JTtcclxufVxyXG5cclxuLmZvcm1fX2ltYWdlIHtcclxuICBpbWcge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBtaW4td2lkdGg6IDQzNXB4O1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIZWFkZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5oZWFkZXIge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIGhlaWdodDogMTI1cHg7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAyMTBweDtcclxuXHJcbiAgLndyYXBwZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIGhlaWdodDogMTI1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGhlaWdodDogMjEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4uaGVhZGVyICsgZGl2IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTI1cHg7XHJcbiAgfVxyXG5cclxuICBwYWRkaW5nLXRvcDogMjEwcHg7XHJcbn1cclxuXHJcbi5oZWFkZXJfX2xvZ28ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0NHB4KTtcclxuICAgIHRyYW5zaXRpb246IGFsbCA3NTBtcyBlYXNlO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ3OXB4KTtcclxuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gIHotaW5kZXg6IDI7XHJcblxyXG4gIGltZyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcclxuICAgIH1cclxuXHJcbiAgICB3aWR0aDogMjEycHg7XHJcbiAgICBoZWlnaHQ6IDE1MHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmJvZHkuaXMtYWN0aXZlIC5oZWFkZXJfX2xvZ28ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHotaW5kZXg6IDEwMDtcclxuICB9XHJcbn1cclxuXHJcbi5oZWFkZXJfX2J1dHRvbnMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogNDQ1cHg7XHJcbiAgei1pbmRleDogMjtcclxufVxyXG5cclxuLmhlYWRlcl9fYnV0dG9uIHtcclxuICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcbiAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuXHJcbiAgc3ZnIHtcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICBmaWxsOiAkY29sb3ItYmxhY2s7XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2s7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiAkZmxleC15ZWxsb3c7XHJcbiAgfVxyXG5cclxuICAmLmlzLXNlYXJjaCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDgwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1vYmlsZSBtZW51IGJ1dHRvbi5cclxuICovXHJcblxyXG4kdHJhbnNpdGlvbi10aW1pbmc6IDQwMG1zO1xyXG5cclxuLmhlYWRlcl9fbWVudS1idXR0b24ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMzRweDtcclxuICBoZWlnaHQ6IDM0cHg7XHJcbiAgei1pbmRleDogMTAwO1xyXG5cclxuICBzcGFuIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAzNHB4O1xyXG4gICAgaGVpZ2h0OiAycHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCB0b3AgJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZywgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXRpbWluZyAwcztcclxuICAgIH1cclxuXHJcbiAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAxcHgpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgb3BhY2l0eSAwbXMgJHRyYW5zaXRpb24tdGltaW5nO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCBib3R0b20gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZywgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXRpbWluZyAwcztcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCB0b3AgJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZztcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICBib3R0b206IGNhbGMoNTAlIC0gMXB4KTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIGJvdHRvbSAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEhlYWRlciBzZWNvbmRhcnkgY29sb3JzLlxyXG4gKi9cclxuXHJcbi5oZWFkZXItLXNlY29uZGFyeSB7XHJcbiAgLmhlYWRlcl9fYnV0dG9uIHtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ibGFjaztcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGZsZXgteWVsbG93O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmhlYWRlcl9fbWVudS1idXR0b24gc3BhbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMiksXHJcbiAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oZWFkZXJfX21lbnUtYnV0dG9uLmlzLWFjdGl2ZSBzcGFuIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRmbGV4LWNyZW1lO1xyXG5cclxuICAgICY6bnRoLWNoaWxkKDIpLFxyXG4gICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmxleC1jcmVtZTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBIb21lIEROQSBmb3JtLlxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIERlZmF1bHQgc3R5bGluZy5cclxuICovXHJcblxyXG5pbnB1dFt0eXBlPSd0ZXh0J10sXHJcbmlucHV0W3R5cGU9J251bWJlciddLFxyXG5pbnB1dFt0eXBlPSdlbWFpbCddLFxyXG5zZWxlY3QsXHJcbnRleHRhcmVhIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBwYWRkaW5nOiA3cHggMDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJsYWNrO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbn1cclxuXHJcbnRleHRhcmVhIHtcclxuICBoZWlnaHQ6IDEyNXB4O1xyXG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcbn1cclxuXHJcbmlucHV0OjpwbGFjZWhvbGRlciB7XHJcbiAgY29sb3I6ICRjb2xvci1ibGFjaztcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIb21lRE5BIGZvcm0uXHJcbiAqL1xyXG5cclxuLmhvbWVkbmEtc3VydmV5IHtcclxuICBtYXgtd2lkdGg6IDU3NXB4O1xyXG59XHJcblxyXG4uaG9tZWRuYS1zdXJ2ZXkgbGFiZWwge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbi1ib3R0b206IC0yM3B4O1xyXG4gIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ21lZGl1bScpO1xyXG59XHJcblxyXG4uaG9tZWRuYS1zdXJ2ZXkgLnF1ZXN0aW9uLXR5cGUtc3RhdGljLFxyXG4uaG9tZWRuYS1zdXJ2ZXkgLnF1ZXN0aW9uLXR5cGUtaGVhZGVyIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uaG9tZWRuYS1zdXJ2ZXkgLndyYXAtcXVlc3Rpb24ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tYm90dG9tOiAyNnB4O1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICRmbGV4LXllbGxvdztcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaG9tZWRuYS1zdXJ2ZXkgLnF1ZXN0aW9uLXR5cGUtcmFkaW8gbGFiZWwge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uaG9tZWRuYS1zdXJ2ZXkgaW5wdXRbdHlwZT1yYWRpb10sXHJcbi5ob21lZG5hLXN1cnZleSBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XHJcbiAgd2lkdGg6IDE0cHg7XHJcbiAgaGVpZ2h0OiAxNHB4O1xyXG4gIG1hcmdpbi10b3A6IDZweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgcGFkZGluZzogMDtcclxuICBmbG9hdDogbGVmdDtcclxuICB0cmFuc2l0aW9uOiAwLjM1cztcclxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcblxyXG4gICY6Y2hlY2tlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgfVxyXG59XHJcblxyXG4uaG9tZWRuYS1zdXJ2ZXkgLmJ0bi1zdHlsZSB7XHJcbiAgQGluY2x1ZGUgZm9udCgxNnB4LCAxNnB4KTtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDMycHg7XHJcbiAgbWFyZ2luOiA1MHB4IDM1cHggMCAwO1xyXG4gIHBhZGRpbmc6IDAgMTBweDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcbiAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDZweDtcclxuICAgIHJpZ2h0OiAtMzdweDtcclxuICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4gICAgZmlsbDogJGNvbG9yLWJsYWNrO1xyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAzNTBtcyBlYXNlO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICB9XHJcblxyXG4gICY6aG92ZXI6OmFmdGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8taWRzXHJcbi8vIHNhc3MtbGludDpkaXNhYmxlIGlkLW5hbWUtZm9ybWF0XHJcbiNmb3JtUGFnZU5hdiB7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuI2Zvcm1QYWdlTmF2ID4gLnRleHQge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbiNmb3JtUGFnZU5hdiA+IHNwYW5bZGF0YS1wYWdlXSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1pbi13aWR0aDogMzBweDtcclxuICBwYWRkaW5nOiA1cHg7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA0NTBtcywgY29sb3IgNDUwbXM7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWdyZWVuO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgJjpob3ZlcixcclxuICAmLmFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gIH1cclxufVxyXG5cclxuLnF1ZXN0aW9uLXR5cGUtcmFkaW8ge1xyXG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgaGVpZ2h0OiAxMDBweDtcclxufVxyXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIG5vLWlkc1xyXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIGlkLW5hbWUtZm9ybWF0XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIExvY2F0aW9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubG9jYXRpb24ge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIC53cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmxvY2F0aW9uX19jb2x1bW4tdGV4dCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xyXG4gICAgbWFyZ2luOiA3MHB4IDQwcHggODBweDtcclxuICAgIHBhZGRpbmc6IDM1cHggMCAwO1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAzMCU7XHJcbiAgcGFkZGluZzogOTBweCAzNXB4IDAgMDtcclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAzM3B4O1xyXG4gICAgaGVpZ2h0OiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2s7XHJcbiAgICBjb250ZW50OiAnJztcclxuICB9XHJcbn1cclxuXHJcbi5sb2NhdGlvbl9fdGl0bGUge1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IFxyXG59XHJcblxyXG4ubG9jYXRpb25fX2NvbHVtbi1tYXAge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDcwJTtcclxufVxyXG5cclxuLmxvY2F0aW9uX19tYXAge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogYXV0bztcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogaW5pdGlhbDtcclxuICB3aWR0aDogNjYuNnZ3O1xyXG4gIG1pbi1oZWlnaHQ6IDYwMHB4O1xyXG59XHJcblxyXG4ubG9jYXRpb25fX21hcC1jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBNb2JpbGUgc2Nyb2xsXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubW9iaWxlLXNjcm9sbCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgZm9udCgxOHB4LCAyM3B4KTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAxNzBweDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIHN2ZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IC0ycHg7XHJcbiAgICByaWdodDogMTBweDtcclxuICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICBmaWxsOiAkY29sb3ItYmxhY2s7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE5hdmlnYXRpb25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5uYXZpZ2F0aW9uIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICB0b3A6IDEwMHZoO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWFyZ2luLXRvcDogMTI1cHg7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDAgNDBweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI0ZGRUQwMCAzMi4wOSUsICNGMzkyMDAgODEuMDclLCAjRkY1MDQ3IDEwMCUpO1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogLTEwMHZoO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjRkZFRDAwIDMyLjA5JSwgI0YzOTIwMCA4MS4wNyUsICNGRjUwNDcgMTAwJSk7XHJcbiAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICBvcGFjaXR5OiAwO1xyXG4gIHotaW5kZXg6IDk5O1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbnRhY3QuXHJcbiAqL1xyXG5cclxuLm5hdmlnYXRpb25fX2NvbHVtbi1jb250YWN0IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IDQwJTtcclxuICBwYWRkaW5nLXRvcDogOTBweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG59XHJcblxyXG4ubmF2aWdhdGlvbl9fY29udGFjdC1ibG9jayB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjJweDtcclxuXHJcbiAgYSB7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcbiAgICAgICAgY29sb3I6ICRmbGV4LXllbGxvdztcclxuICAgICAgfVxyXG5cclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubmF2aWdhdGlvbl9fY29udGFjdC10aXRsZSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjJweDtcclxufVxyXG5cclxuLm5hdmlnYXRpb25fX2NvbnRhY3QtZWRpdG9yIHtcclxuICBAaW5jbHVkZSBmb250KDE2cHgsIDMwcHgpO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFNvY2lhbC5cclxuICovXHJcblxyXG4ubmF2aWdhdGlvbl9fc29jaWFsIHtcclxuICAmLmlzLWRlc2t0b3Age1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgJi5pcy1tb2JpbGUge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcblx0XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuXHQubmF2aWdhdGlvbl9fc29jaWFsLXRpdGxlLCAubmF2aWdhdGlvbl9fc29jaWFsLWxpbmtzIGEge1xyXG5cdFx0Y29sb3I6ICRmbGV4LWNyZW1lO1xyXG5cdH1cclxuICB9XHJcbn1cclxuXHJcbi5uYXZpZ2F0aW9uX19zb2NpYWwtdGl0bGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIEBpbmNsdWRlIGZvbnQoMjBweCwgMzZweCk7XHJcbiAgICBtYXJnaW46IDEzNXB4IDAgMjFweDtcclxuICB9XHJcblxyXG4gIG1hcmdpbjogNzBweCAwIDI2cHg7XHJcbiAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICBmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdtZWRpdW0nKTtcclxufVxyXG5cclxuLm5hdmlnYXRpb25fX3NvY2lhbC1saW5rcyB7XHJcbiAgYSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIEBpbmNsdWRlIGZvbnQoMjBweCwgMzZweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgZm9udCgxNnB4LCAzMHB4KTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgICAgICBjb2xvcjogJGZsZXgteWVsbG93O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1haW4gbWVudS5cclxuICovXHJcblxyXG4ubmF2aWdhdGlvbl9fY29sdW1uLW1lbnUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWluLWhlaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogNjAlO1xyXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gIHBhZGRpbmc6IDkwcHggMCAwIDk1cHg7XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcclxuICB9XHJcbn1cclxuXHJcbi5tYWluLW1lbnUge1xyXG4gID4gbGkge1xyXG4gICAgYSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgICBAaW5jbHVkZSBmb250KDMwcHgsIDQ4cHgpO1xyXG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgZm9udCg0OHB4LCA3NnB4KTtcclxuICAgICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnbWVkaXVtJyk7XHJcblx0ICBjb2xvcjogJGZsZXgtY3JlbWU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG4gICAgfVxyXG5cclxuICAgICYuY3VycmVudC1tZW51LWl0ZW0sXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYSB7XHJcblx0XHQgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvci1ibGFjaztcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0XHQgIH1cclxuICAgICAgICBjb2xvcjogJGZsZXgteWVsbG93O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogQmFja2dyb3VuZCBoZWFkZXIuXHJcbiAqL1xyXG5cclxuLmhlYWRlciB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDEwMCU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZmZlZDAwO1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEaXNhYmxlIHNjcm9sbC5cclxuICovXHJcblxyXG4uYm9keS5pcy1hY3RpdmUge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gIC5oZWFkZXI6OmJlZm9yZSB7XHJcbiAgICBib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ubWFpbi1tZW51LWNvbnRhaW5lciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luLXRvcDogNTBweDtcclxuXHR9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBOZXdzIGxpc3RcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5uZXdzLWxpc3Qge1xyXG4gIC53cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSXRlbXMuXHJcbiAqL1xyXG5cclxuLm5ld3MtbGlzdF9faXRlbXMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDQ3OXB4KTtcclxuICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEl0ZW0uXHJcbiAqL1xyXG5cclxuLm5ld3MtbGlzdF9faXRlbSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDExNXB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogOTBweDtcclxuICB9XHJcblxyXG4gIG1hcmdpbi1ib3R0b206IDE2NHB4O1xyXG59XHJcblxyXG4ubmV3cy1saXN0X19pdGVtLWRhdGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIGxlZnQ6IC03cHg7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogLTE0cHg7XHJcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDJweCAkZmxleC15ZWxsb3c7XHJcbn1cclxuXHJcbi5uZXdzLWxpc3RfX2l0ZW0tdGl0bGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTc1cHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTE1cHg7XHJcbiAgfVxyXG5cclxuICBtYXJnaW4tYm90dG9tOiAyN3B4O1xyXG4gIHBhZGRpbmctdG9wOiAyMjRweDtcclxufVxyXG5cclxuLm5ld3MtbGlzdF9faXRlbS1pbWFnZSB7XHJcbiAgbWF4LXdpZHRoOiA1NzBweDtcclxuICBtYXJnaW46IDM1cHggMDtcclxufVxyXG5cclxuLm5ld3MtbGlzdF9faXRlbS1lZGl0b3Ige1xyXG4gIG1heC13aWR0aDogNTcwcHg7XHJcbn1cclxuXHJcbi5uZXdzLWxpc3RfX2l0ZW0tbGluayB7XHJcbiAgbWFyZ2luLXRvcDogMzVweDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBQYWdpbmF0aW9uLlxyXG4gKi9cclxuXHJcbi5uZXdzLWxpc3RfX3BhZ2luYXRpb24ge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNzVweDtcclxuICB9XHJcblxyXG4gIHdpZHRoOiA0NzlweDtcclxuXHJcbiAgLnBhZ2luYXRpb24ge1xyXG4gICAgbWFyZ2luLXRvcDogMzVweDtcclxuXHJcbiAgICAucGFnZS1udW1iZXJzIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIC5wcmV2LFxyXG4gICAgLm5leHQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5jdXJyZW50LFxyXG4gICAgLnBhZ2UtbnVtYmVyczpob3ZlciB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG4gICAgYS5wYWdlLW51bWJlcnM6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGZsZXgteWVsbG93O1xyXG4gICAgfVxyXG4gICAgLy8gc2Fzcy1saW50OmVuYWJsZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXHJcbiAgfVxyXG59XHJcblxyXG4ubmV3cy1saXN0X19zdGlja3kge1xyXG4gICYuaXMtYWN0aXZlIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgIHRvcDogODBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5uZXdzLWxpc3RfX3BhZ2luYXRpb24tdGl0bGUge1xyXG4gIG1hcmdpbi1ib3R0b206IDIzcHg7XHJcbn1cclxuXHJcbi5uZXdzLWxpc3RfX3BhZ2luYXRpb24tbGluayB7XHJcbiAgQGluY2x1ZGUgZm9udCgxNnB4LCAyNHB4KTtcclxuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogJGZsZXgteWVsbG93O1xyXG4gIH1cclxufVxyXG5cclxuLm5ld3MtbGlzdF9fcGFnaW5hdGlvbi1kYXRlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICB3aWR0aDogODBweDtcclxuICB9XHJcblxyXG4gIHdpZHRoOiAxNDVweDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQYXJ0bmVycyBpbWFnZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnBhcnRuZXJzLWltYWdlIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIC53cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA5MXB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA3NXB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcclxuICAgIH1cclxuXHJcbiAgICBwYWRkaW5nLXRvcDogMTUwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTc1cHg7XHJcbiAgfVxyXG5cclxuICAmOjpiZWZvcmUge1xyXG5cdCAgXHJcbiAgfVxyXG59XHJcblxyXG4vLyAucGFydG5lcnMtaW1hZ2UgKyBkaXY6OmJlZm9yZSB7XHJcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4vLyB9XHJcblxyXG4ucGFydG5lcnMtaW1hZ2VfX3RpdGxlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgdG9wOiAtNjFweDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHRvcDogLTMxcHg7XHJcbiAgICBsZWZ0OiAtOHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTkycHg7XHJcbiAgbGVmdDogLTE1cHg7XHJcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4ICRjb2xvci1ibGFjaztcclxufVxyXG5cclxuLnBhcnRuZXJzLWltYWdlX19jb2x1bW4tcGFydG5lcnMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIHdpZHRoOiA3MiU7XHJcbn1cclxuXHJcbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lciB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG4gIH1cclxuXHJcbiAgbWFyZ2luLWJvdHRvbTogMjIwcHg7XHJcblxyXG4gICY6bGFzdC1vZi10eXBlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgfVxyXG5cclxuICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyLXN1YnRpdGxlIHtcclxuICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucGFydG5lcnMtaW1hZ2VfX3BhcnRuZXItdGl0bGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIGxlZnQ6IC04cHg7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogLTE1cHg7XHJcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogMnB4ICRjb2xvci1ibGFjaztcclxufVxyXG5cclxuLnBhcnRuZXJzLWltYWdlX19wYXJ0bmVyLXN1YnRpdGxlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgcGFkZGluZy10b3A6IDE1MnB4O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTEwcHg7XHJcbiAgfVxyXG5cclxuICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgcGFkZGluZy10b3A6IDIzNXB4O1xyXG4gIGNvbG9yOiAkZmxleC15ZWxsb3c7XHJcbn1cclxuXHJcbi5wYXJ0bmVycy1pbWFnZV9fcGFydG5lci1lZGl0b3Ige1xyXG4gIG1heC13aWR0aDogNTg1cHg7XHJcbn1cclxuXHJcbi5wYXJ0bmVycy1pbWFnZV9fY29sdW1uLWltYWdlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIHdpZHRoOiAyOCU7XHJcbn1cclxuXHJcbi5wYXJ0bmVycy1pbWFnZV9faW1hZ2Uge1xyXG4gIGltZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1pbi13aWR0aDogNDM1cHg7XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFByb3BlcnR5IG1hcFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnByb3BlcnR5LW1hcCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgbWluLWhlaWdodDogMTI1cHg7XHJcbiAgfVxyXG5cclxuICAmLmJhY2tncm91bmQtLXByaW1hcnksXHJcbiAgJi5iYWNrZ3JvdW5kLS1wcmltYXJ5LXBhdHRlcm4sXHJcbiAgJi5iYWNrZ3JvdW5kLS1zZWNvbmRhcnksXHJcbiAgJi5iYWNrZ3JvdW5kLS1zZWNvbmRhcnktcGF0dGVybiB7XHJcbiAgICAucHJvcGVydHktbWFwX19jb2x1bW4tZGV0YWlsczo6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5iYWNrZ3JvdW5kLS1kZWZhdWx0IHtcclxuICAgIC5wcm9wZXJ0eS1tYXBfX2NvbHVtbi1kZXRhaWxzOjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmJhY2tncm91bmQtLWJvcmRlciArIC5wcm9wZXJ0eS1tYXAge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuICAgIH1cclxuXHJcbiAgICBwYWRkaW5nLXRvcDogMjE1cHg7XHJcbiAgfVxyXG5cclxuICArIC5mb290ZXItY3RhIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgcGFkZGluZy10b3A6IDkwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgcGFkZGluZy10b3A6IDE4MHB4O1xyXG4gIH1cclxuXHJcbiAgLndyYXBwZXIge1xyXG5cdCAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxufVxyXG5cclxuLnByb3BlcnR5LW1hcF9fY29sdW1uLWRldGFpbHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHR9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMzAlO1xyXG4gIHBhZGRpbmctdG9wOiA5NXB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDMzcHg7XHJcbiAgICBoZWlnaHQ6IDNweDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gIH1cclxufVxyXG5cclxuLnByb3BlcnR5LW1hcF9fY29sdW1uLW1hcCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogNzAlO1xyXG4gIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4ucHJvcGVydHktbWFwX19wbGFjZWhvbGRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogOTVweDtcclxuICBtYXgtd2lkdGg6IDIxMHB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlO1xyXG4gIG9wYWNpdHk6IDE7XHJcblxyXG4gICYuaXMtaGlkZGVuIHtcclxuICAgIHRvcDogLTE4MHB4O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5wcm9wZXJ0eS1tYXBfX3Byb3BlcnRpZXMge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnByb3BlcnR5LW1hcF9fcHJvcGVydHkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC05OTlweDtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gIHRyYW5zaXRpb246IGFsbCA2MDBtcyBlYXNlO1xyXG4gIG9wYWNpdHk6IDA7XHJcblxyXG4gICYuaXMtYWN0aXZlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xyXG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XHJcblx0XHR6LWluZGV4OiA5OTtcclxuXHR9XHJcbiAgICB0b3A6IDA7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxufVxyXG5cclxuLnByb3BlcnR5LW1hcF9fcHJvcGVydHktdGl0bGUge1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5wcm9wZXJ0eS1tYXBfX3Njcm9sbGRvd24tYXJyb3cge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3R0b206IDEzNXB4O1xyXG5cdGxlZnQ6IDg3cHg7XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRsZWZ0OiA1N3B4O1xyXG5cdH1cclxuXHJcblx0c3ZnIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGFuaW1hdGlvbjoganVtcCAzcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuXHR9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMganVtcCB7XHJcblx0MCUge1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdH1cclxuXHJcblx0NTAlIHtcclxuXHRcdGJvdHRvbTogMTVweDtcclxuXHR9XHJcblxyXG5cdDEwMCUge1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdH1cclxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFByb3BlcnR5IHNpbmdsZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnByb3BlcnR5LXNpbmdsZSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgICBwYWRkaW5nLXRvcDogOTFweDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDg1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA3NXB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogODVweDtcclxuICAgIH1cclxuXHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZy10b3A6IDE2MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDE4MHB4O1xyXG4gIH1cclxufVxyXG5cclxuLnByb3BlcnR5LXNpbmdsZV9fdGl0bGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICB0b3A6IC02MXB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgQGluY2x1ZGUgZm9udCg2MHB4LCA3MnB4KTtcclxuICAgIHRvcDogLTQycHg7XHJcbiAgICBsZWZ0OiAtOHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTkycHg7XHJcbiAgbGVmdDogLTE1cHg7XHJcbn1cclxuXHJcbi5wcm9wZXJ0eS1zaW5nbGVfX2NvbHVtbi1kZXRhaWxzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIHdpZHRoOiAyOTBweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyAgXHJcbn1cclxuXHJcbi5wcm9wZXJ0eS1zaW5nbGVfX3N1YnRpdGxlIHtcclxuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbn1cclxuXHJcbi5wcm9wZXJ0eS1zaW5nbGVfX2luZm9ybWF0aW9uIHtcclxuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbn1cclxuXHJcbi5wcm9wZXJ0eS1zaW5nbGVfX2NvbHVtbi1tYXAge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gMjkwcHgpO1xyXG59XHJcblxyXG4ucHJvcGVydHktc2luZ2xlX19zbGlkZXNob3ctaW1hZ2VzIHtcclxuICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcbn1cclxuXHJcbi5wcm9wZXJ0eS1zaW5nbGVfX25hdmlnYXRpb24ge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogMDtcclxuICBib3R0b206IC0zOHB4O1xyXG5cclxuICBidXR0b24ge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE4cHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG5cclxuICAgICYuYWN0aXZlLFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFByb3BlcnR5IHR5cGUgaXRlbVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnByb3BlcnR5LXR5cGUtaXRlbSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG4gIH1cclxuXHJcbiAgd2lkdGg6IGNhbGMoNTAlIC0gNDcuNXB4KTtcclxuICBtYXJnaW4tYm90dG9tOiAxMjBweDtcclxuXHJcbiAgLmJ1dHRvbi0tYXJyb3cge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBub3JtYWw7XHJcbiAgfVxyXG5cclxuICAuYnV0dG9uLS1hcnJvdyBzdmcge1xyXG4gICAgdG9wOiA1cHg7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgfVxyXG59XHJcblxyXG4ucHJvcGVydHktdHlwZS1pdGVtX19oZWFkIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX2F2YWlsYWJsZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMzBweDtcclxuICBsZWZ0OiAzMHB4O1xyXG4gIGhlaWdodDogNDBweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMCAxM3B4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRmbGV4LXllbGxvdztcclxuICBjb2xvcjogJGNvbG9yLWJsYWNrOyBcclxufVxyXG5cclxuLnByb3BlcnR5LXR5cGUtaXRlbV9faW1hZ2Uge1xyXG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcblxyXG4gIGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX3RvdGFsIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxufVxyXG5cclxuLnByb3BlcnR5LXR5cGUtaXRlbV9fdGl0bGUge1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5wcm9wZXJ0eS10eXBlLWl0ZW1fX3RlYXNlciB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLyoqXHJcbiAqIENvbG9ycy5cclxuICovXHJcblxyXG4ucHJvcGVydHktdHlwZS1saXN0IHtcclxuICAmLmJhY2tncm91bmQtLWJyb3duIHtcclxuICAgIC5wcm9wZXJ0eS10eXBlLWl0ZW1fX3RvdGFsIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci1ibGFjaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuYmFja2dyb3VuZC0tZGVmYXVsdCB7XHJcbiAgICAucHJvcGVydHktdHlwZS1pdGVtX190b3RhbCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFByb3BlcnR5IHR5cGUgbGlzdFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnByb3BlcnR5LXR5cGUtbGlzdCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgICBwYWRkaW5nLXRvcDogMTQwcHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICBwYWRkaW5nLXRvcDogMTYwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTMwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4ucHJvcGVydHktdHlwZS1saXN0X190aXRsZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIHRvcDogLTYxcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBAaW5jbHVkZSBmb250KDUwcHgsIDcycHgpO1xyXG4gICAgdG9wOiAtNDJweDtcclxuICAgIGxlZnQ6IC04cHg7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAtOTJweDtcclxuICBsZWZ0OiAtMTVweDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTbGlkZXNob3dcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5zbGlkZXNob3cge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRtaW4taGVpZ2h0OiA2MDBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuXHRcdG1pbi1oZWlnaHQ6IDUwMHB4O1xyXG5cdH1cclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gICBtYXgtaGVpZ2h0OiA3NDBweDtcclxuICBtaW4taGVpZ2h0OiA1MDBweDtcclxuXHJcbiAgLndyYXBwZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaGVhZGVyICsgLnNsaWRlc2hvdyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuICAgIFx0ZmxleC13cmFwOiB3cmFwO1xyXG4gICAgXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcblx0XHRtYXJnaW4tdG9wOiAxMjVweDtcclxuXHR9XHJcblx0bWFyZ2luLXRvcDogMjEwcHg7XHJcblx0cGFkZGluZy10b3A6IDA7XHJcbn1cclxuXHJcbi5zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gODBweCk7XHJcbiAgICBtYXJnaW46IDcwcHggNDBweCA4MHB4O1xyXG4gICAgcGFkZGluZzogMzVweCAwIDA7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDMwJTtcclxuICBwYWRkaW5nOiA5MHB4IDM1cHggMCAwO1xyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgIH1cclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDMzcHg7XHJcbiAgICBoZWlnaHQ6IDNweDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlc2hvd19fdGl0bGUge1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IFxyXG4gIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbn1cclxuXHJcbi5zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDYwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuLnNsaWRlc2hvd19faW1hZ2VzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHRtYXJnaW4tdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IGluaXRpYWw7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLXRvcDogYXV0bztcclxuXHJcbiAgLm93bC1uYXYge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMjEwcHg7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmxleC15ZWxsb3c7XHJcblxyXG4gICAgLm93bC1wcmV2IHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAub3dsLW5leHQge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICBzdmcge1xyXG4gICAgICB3aWR0aDogMzRweDtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm93bC1kb3RzIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgcmlnaHQ6IDQwcHg7XHJcbiAgICAgIGJvdHRvbTogLTM1cHg7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW4tbGVmdDogLTI4cHg7XHJcbiAgICB6LWluZGV4OiAyO1xyXG5cclxuICAgIC5vd2wtZG90IHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTRweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDE0cHg7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYucGFnaW5hdGlvbi1yZWQgLm93bC1kb3Qge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcbiAgICB9XHJcblxyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWJsYWNrO1xyXG5cclxuICAgICYuYWN0aXZlLFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYucGFnaW5hdGlvbi1ncmVlbiAub3dsLWRvdCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ibGFjaztcclxuICAgIH1cclxuXHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcblxyXG4gICAgJi5hY3RpdmUsXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcclxuICAgICAgfVxyXG5cclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnNsaWRlc2hvd19fc2xpZGUge1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgIC8vIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAvLyBtaW4taGVpZ2h0OiBhdXRvO1xyXG5cdC8vIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4vLyAgIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIGFzcGVjdC1yYXRpbzogMTYvMTA7XHJcblxyXG4gIGltZyB7XHJcblx0YXNwZWN0LXJhdGlvOiAxNi8xMDtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVGV4dCBpbWFnZVxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnRleHQtaW1hZ2Uge1xyXG4gIC53cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMTBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA2NXB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogOTBweDtcclxuICAgIH1cclxuXHJcbiAgICBwYWRkaW5nLXRvcDogMTIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTc1cHg7XHJcbiAgfVxyXG5cclxuICAmLmJhY2tncm91bmQtLWRlZmF1bHQge1xyXG4gICAgLmJ1dHRvbi0tYm9yZGVyIHtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWJsYWNrO1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG5cclxuICAgICAgc3ZnIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xyXG4gICAgICAgIGZpbGw6ICRjb2xvci1ibGFjaztcclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRmbGV4LXllbGxvdztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5idXR0b24tLWFycm93IHtcclxuICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcclxuICAgICAgICBmaWxsOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50ZXh0LWltYWdlX19jb2x1bW4tdGV4dCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG4gIHdpZHRoOiA1NCU7XHJcbiAgcGFkZGluZy1yaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi50ZXh0LWltYWdlX190aXRsZSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLnRleHQtaW1hZ2VfX2VkaXRvciB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxufVxyXG5cclxuLnRleHQtaW1hZ2VfX2NvbHVtbi1pbWFnZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogNDYlO1xyXG5cclxuICAjcGxheSB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZTtcclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgbGVmdDogY2FsYyg1MCUgLSA1MHB4KTtcclxuXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDM5cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XHJcbiAgICAgICAgY29sb3I6ICRmbGV4LXllbGxvdztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFRleHQgc2xpZGVzaG93XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4udGV4dC1zbGlkZXNob3cge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgLndyYXBwZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgcGFkZGluZy10b3A6IDUxcHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgcGFkZGluZy10b3A6IDU1cHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIHBhZGRpbmctdG9wOiAxMjBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxODBweDtcclxuICB9XHJcblxyXG4gICYuYmFja2dyb3VuZC0tZGVmYXVsdCB7XHJcbiAgICAub3dsLW5hdiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcclxuXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlLWxpZ2h0O1xyXG4gICAgICAgIGZpbGw6ICRjb2xvci1ibHVlLWxpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm93bC1kb3Qge1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItZ3JlZW47XHJcblxyXG4gICAgICAmLmFjdGl2ZSxcclxuICAgICAgJjpob3ZlciB7ICAgICAgICBcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuYmFja2dyb3VuZC0tZGVmYXVsdCxcclxuICAmLmJhY2tncm91bmQtLWJyb3duLFxyXG4gICYuYmFja2dyb3VuZC0tYmVpZ2Uge1xyXG4gICAgLm93bC1uYXYge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmxleC15ZWxsb3c7XHJcblxyXG4gICAgICBzdmcge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgICAgZmlsbDogJGNvbG9yLWJsYWNrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm93bC1kb3Qge1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcblxyXG4gICAgICAmLmFjdGl2ZSxcclxuICAgICAgJjpob3ZlciB7ICAgICAgICBcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50ZXh0LXNsaWRlc2hvd19fd3JhcCB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRleHQtc2xpZGVzaG93X190aXRsZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIHRvcDogLTYxcHg7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICB0b3A6IC0zMnB4O1xyXG4gICAgbGVmdDogLThweDtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC05MnB4O1xyXG4gIGxlZnQ6IC0xNXB4O1xyXG59XHJcblxyXG4udGV4dC1zbGlkZXNob3dfX3RpdGxlICsgZGl2IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcclxuICB9XHJcblxyXG4gIHBhZGRpbmctdG9wOiA0MHB4O1xyXG59XHJcblxyXG4udGV4dC1zbGlkZXNob3dfX2Jsb2NrLXRpdGxlIHtcclxuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFNsaWRlc2hvdy5cclxuICovXHJcblxyXG4udGV4dC1pbWFnZV9fc2xpZGVzaG93IHtcclxuXHJcbiAgLm93bC1zdGFnZS1vdXRlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgICAgd2lkdGg6IDE3OTBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgd2lkdGg6IDEyMDVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5vd2wtbmF2IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiA1MjVweDtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvIDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrO1xyXG5cclxuICAgIC5vd2wtcHJldiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLm93bC1uZXh0IHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgd2lkdGg6IDM0cHg7XHJcbiAgICAgIGhlaWdodDogNTBweDtcclxuXHQgIGZpbGw6ICRmbGV4LXllbGxvdztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5vd2wtZG90cyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IC0zNXB4O1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0yOHB4O1xyXG4gICAgei1pbmRleDogMjtcclxuXHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG5cclxuICAgIC5vd2wtZG90IHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTRweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDE0cHg7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHQgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ibGFjaztcclxuXHJcblx0ICAmLmFjdGl2ZSxcclxuXHQgICY6aG92ZXIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcclxuXHQgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2xpZGVzLlxyXG4gKi9cclxuXHJcbi50ZXh0LWltYWdlX19zbGlkZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICB3aWR0aDogMzc1cHg7XHJcbiAgICBoZWlnaHQ6IDM2MHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDQ1MHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDMyMHB4O1xyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiA1NzVweDtcclxuICBoZWlnaHQ6IDU2MHB4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFNsaWRlc2hvdyBwb3NpdGlvbi5cclxuICovXHJcblxyXG4udGV4dC1zbGlkZXNob3dfX2Jsb2NrIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBhbGlnbi1pdGVtczogbGVmdDtcclxuICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XHJcbiAgfVxyXG5cclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICBtYXJnaW4tYm90dG9tOiAxMjBweDtcclxuXHJcbiAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG4gICYudGV4dC1zbGlkZXNob3dfX2Jsb2NrLS1yaWdodCB7XHJcbiAgICAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM3NXB4KTtcclxuICAgICAgICBwYWRkaW5nOiAwIDUwcHggMCAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTc1cHgpO1xyXG4gICAgICBtYXgtd2lkdGg6IDU1MHB4O1xyXG4gICAgICBwYWRkaW5nOiAwIDUwcHggMCAxMDBweDtcclxuICAgIH1cclxuXHJcbiAgICAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgICAgICB3aWR0aDogMzc1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgd2lkdGg6IDU3NXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi50ZXh0LXNsaWRlc2hvd19fYmxvY2stLWxlZnQge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgIH1cclxuXHJcbiAgICAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi10ZXh0IHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDM3NXB4KTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1MHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTc1cHgpO1xyXG4gICAgICBtYXgtd2lkdGg6IDU1MHB4O1xyXG4gICAgICBwYWRkaW5nOiAwIDEwMHB4IDAgNTBweDtcclxuICAgIH1cclxuXHJcbiAgICAudGV4dC1zbGlkZXNob3dfX2NvbHVtbi1pbWFnZXMge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICB3aWR0aDogNTc1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAgIHdpZHRoOiAzNzVweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAub3dsLWNhcm91c2VsIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS11cCcpIHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vd2wtbmF2IHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vd2wtZG90cyB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG4gICAgICAgIHJpZ2h0OiAtMjhweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIucG9wdXAge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAzMjBweDtcclxuXHRcdHBhZGRpbmc6IDIwcHg7XHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0fVxyXG5cdC8vIGJhY2tncm91bmQtY29sb3I6ICRmbGV4LXllbGxvdztcclxuXHRiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9wb3B1cF9iZy5zdmcnKTtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHdpZHRoOiA1NDlweDtcclxuXHRoZWlnaHQ6IDM3MHB4O1xyXG5cdHRvcDogNTAlO1xyXG5cdGxlZnQ6IDUwJTtcclxuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHR6LWluZGV4OiAxMDA7XHJcblx0cGFkZGluZzogNjVweCA1MHB4O1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItYmxhY2s7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ibGFjaztcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcblx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XHJcblx0fVxyXG5cclxuXHQmOjpiZWZvcmUge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAyMHB4O1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiA1cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblx0fVxyXG5cclxuXHQmOjphZnRlciB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRib3R0b206IDIwcHg7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDVweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjaztcclxuXHR9XHJcbn1cclxuXHJcbi5wb3B1cF9fY2xvc2Uge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAyMHB4O1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0dG9wOiAyMHB4O1xyXG5cdFx0cmlnaHQ6IDIwcHg7XHJcblx0fVxyXG5cdHdpZHRoOiAyNXB4O1xyXG5cdGhlaWdodDogMjVweDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0cmlnaHQ6IDMwcHg7XHJcblx0dG9wOiA2MHB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0b3BhY2l0eTogMC43O1xyXG5cdH1cclxufVxyXG5cclxuLnBvcHVwX19saW5rIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xyXG5cdH1cclxuXHRtYXJnaW4tdG9wOiAzMHB4O1xyXG59XHJcblxyXG4ucG9wdXBfX2JnIHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6IGhzbGEoMCwgMCUsIDAlLCAwLjM1KTtcclxuXHR6LWluZGV4OiA5OTtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHJcblx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XHJcblx0fVxyXG59XHJcblxyXG4ucG9wdXBfX2VkaXRvciB7XHJcblx0aDIge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHRmb250LXNpemU6IDQwcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxMjAlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnBvcHVwLWdyYWRpZW50IHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHRoZWlnaHQ6IDI1cHg7XHJcblx0d2lkdGg6IDIwcHg7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZTUzMzJhIDElLCByZ2JhKDIyOSwgNTIsIDQxLCAuOTkpIDI3JSwgcmdiYSgyMzAsIDU4LCAzOCwgLjk1KSA0MCUsIHJnYmEoMjMxLCA2OCwgMzQsIC44OSkgNTAlLCByZ2JhKDIzMywgODIsIDI3LCAuODEpIDU5JSwgcmdiYSgyMzUsIDEwMCwgMTksIC43KSA2NyUsIHJnYmEoMjM4LCAxMjIsIDksIC41NikgNzQlLCByZ2JhKDI0MiwgMTQ1LCAwLCAuNDMpIDc5JSwgcmdiYSgyNTUsIDIzNiwgMCwgMCkgMTAwJSk7XHJcblx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjVweDtcclxuXHRvcGFjaXR5OiAwLjU7XHJcbn1cclxuXHJcbi5wb3B1cC1ncmFkaWVudC0yIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRib3R0b206IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0aGVpZ2h0OiAyNXB4O1xyXG5cdHdpZHRoOiAyMHB4O1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtOTBkZWcsICNlNTMzMmEgMSUsIHJnYmEoMjI5LCA1MiwgNDEsIC45OSkgMjclLCByZ2JhKDIzMCwgNTgsIDM4LCAuOTUpIDQwJSwgcmdiYSgyMzEsIDY4LCAzNCwgLjg5KSA1MCUsIHJnYmEoMjMzLCA4MiwgMjcsIC44MSkgNTklLCByZ2JhKDIzNSwgMTAwLCAxOSwgLjcpIDY3JSwgcmdiYSgyMzgsIDEyMiwgOSwgLjU2KSA3NCUsIHJnYmEoMjQyLCAxNDUsIDAsIC40MykgNzklLCByZ2JhKDI1NSwgMjM2LCAwLCAwKSAxMDAlKTtcclxuXHRib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMjVweDtcclxuXHRvcGFjaXR5OiAwLjU7XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb2xvclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIENvbG9yIHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG4vLyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBjb2xvciBhbmQgYmFja2dyb3VuZCBjb2xvciB1dGlsaXR5IGNsYXNzZXMgYmFzZWQgb25cclxuLy8gZXZlcnkgY29sb3IgZGVmaW5pdGlvbiBpbiBgc2V0dGluZ3MvX2NvbG9yLnNjc3NgLlxyXG4vL1xyXG4vLyBMb29wIHRocm91Z2ggZXZlcnkgYCRrZXlgIGFuZCBgJG1hcGAgaW4gdGhlIGAkY29sb3JzYCB2YXJpYWJsZSBtYXAgZGVmaW5lZCBpblxyXG4vLyBgc2V0dGluZ3MvX2NvbG9yLnNjc3NgLlxyXG5AZWFjaCAka2V5LCAkbWFwIGluICRjb2xvcnMge1xyXG5cclxuICAvLyBMb29wIHRocm91Z2ggZXZlcnkgYCRzaGFkZWAgYW5kIGAkcmdiYCBpbiBgJG1hcGAuXHJcbiAgQGVhY2ggJHNoYWRlLCAkcmdiIGluICRtYXAge1xyXG5cclxuICAgIC8vIExvb3AgdGhyb3VnaCBldmVyeSBgY29sb3JgIGFuZCBgYmFja2dyb3VuZC1jb2xvcmAgcnVsZXMuXHJcbiAgICBAZWFjaCAkcnVsZSBpbiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciB7XHJcblxyXG4gICAgICAvKipcclxuICAgICAgICogYCN7JHJ1bGV9YCAjeyRyZ2J9LSN7JHNoYWRlfSBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cclxuXHJcbiAgICAgIC4jeyRydWxlfS0je3VucXVvdGUoJGtleSl9LSN7dW5xdW90ZSgkc2hhZGUpfSB7XHJcbiAgICAgICAgI3skcnVsZX06ICRyZ2I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gSGVscGVyc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEdlbmVyaWMgaGVscGVyIGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuXHJcbi8vIFZpc3VhbGx5IEhpZGRlblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIFZpc3VhbGx5IGhpZGUgYW55IGVsZW1lbnQgZnJvbSB0aGUgdXNlci5cclxuICovXHJcblxyXG4udmlzdWFsbHktaGlkZGVuIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xyXG4gIGNsaXAtcGF0aDogaW5zZXQoMXB4KTtcclxufVxyXG5cclxuXHJcbi8vIExhenlsb2FkXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogTWFrZSBsYXp5bG9hZCBwbGFjZWhvbGRlciAxMDAlIHdpZGUuXHJcbiAqL1xyXG5cclxuLmxhenlsb2FkIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuXHJcbi8vIE9iamVjdCBGaXRcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBIZWxwZXIgY2xhc3MgZm9yIG9iamVjdCBmaXQgcG9seWZpbGwuIEFkZCB0aGlzIGNsYXNzIHRvIGFueSBlbGVtZW50XHJcbiAqIHRoYXQgdXRpbGl6ZXMgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cclxuICovXHJcblxyXG4ub2JqZWN0LWZpdCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3ZlcjsnO1xyXG4gIG9iamVjdC1maXQ6IGNvdmVyO1xyXG59XHJcblxyXG5cclxuLy8gQWxpZ25tZW50c1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEFsaWduIGNlbnRlci5cclxuICovXHJcblxyXG4uYWxpZ24tY2VudGVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBbGlnbiBsZWZ0LlxyXG4gKi9cclxuXHJcbi5hbGlnbi1sZWZ0IHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4vKipcclxuICogQWxpZ24gcmlnaHQuXHJcbiAqL1xyXG5cclxuLmFsaWduLXJpZ2h0IHtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLy8gV2lkdGhzXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyA2MCUgd2lkdGhcclxuLnc2MCB7XHJcbiAgd2lkdGg6IDYwJTtcclxufVxyXG5cclxuLy8gNDAlIHdpZHRoXHJcbi53NDAge1xyXG4gIHdpZHRoOiA0MCU7XHJcbn1cclxuXHJcbi8vIDUwJSB3aWR0aFxyXG4udzUwIHtcclxuICB3aWR0aDogNTAlO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE9iamVjdCBGaXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBPYmplY3QgZml0LlxyXG4gKlxyXG4gKiAxLiBGb250IGZhbWlseSBwb2x5ZmlsbCB3aXRoIChodHRwczovL2dpdGh1Yi5jb20vYmZyZWQtaXQvb2JqZWN0LWZpdC1pbWFnZXMpLlxyXG4gKi9cclxuXHJcbi8vIExvb3AgdGhyb3VnaCBldmVyeSB2YWx1ZSBmb3IgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cclxuQGVhY2ggJHZhbHVlIGluIGZpbGwsIGNvbnRhaW4sIGNvdmVyLCBub25lLCBzY2FsZS1kb3duIHtcclxuXHJcbiAgLyoqXHJcbiAgICogYG9iamVjdC1maXRgICN7JHZhbHVlfSB1dGlsaXR5IGNsYXNzLlxyXG4gICAqL1xyXG5cclxuICAuI3skdmFsdWV9IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogI3skdmFsdWV9Oyc7IC8qIDEgKi9cclxuICAgIG9iamVjdC1maXQ6ICN7JHZhbHVlfTtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUG9zaXRpb25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBQb3NpdGlvbiB1dGlsaXR5IGNsYXNzLlxyXG4gKi9cclxuXHJcbkBlYWNoICR2YWx1ZSBpbiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSB7XHJcbiAgLiN7JHZhbHVlfSB7XHJcbiAgICBwb3NpdGlvbjogJHZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUZXh0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogRm9udCBmYW1pbHkgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xyXG4gICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGZvbnQtZmFtaWx5IHtcclxuICAgICAgLnRleHQtI3ska2V5fS0jeyRwcm9wZXJ0eX0ge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJHByb3BlcnR5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHNpemUgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xyXG4gICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGZvbnQtc2l6ZSB7XHJcbiAgICAgIC50ZXh0LSN7JGtleX0tI3skcHJvcGVydHl9IHtcclxuICAgICAgICBAaW5jbHVkZSB0ZXh0KCRwcm9wZXJ0eSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dCBhbGlnbm1lbnQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xyXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiBsZWZ0LCByaWdodCwgY2VudGVyIHtcclxuICAgICAgLnRleHQtI3ska2V5fS0jeyRkaXJlY3Rpb259IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiAkZGlyZWN0aW9uO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQgd2VpZ2h0IHV0aWxpdHkgY2xhc3Nlcy5cclxuICpcclxuICogMS4gTXVsdGlwbHkgbG9vcGVkIGludGVnZXIgYnkgMTAwIGZvciBjb3JyZWN0IGZvbnQgd2VpZ2h0IHZhbHVlLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcclxuICAgICAgJGk6ICRpICogMTAwOyAvLyBbMV1cclxuXHJcbiAgICAgIC50ZXh0LSN7JGtleX0tI3skaX0ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAjeyRpfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgka2V5KSB7XHJcbiAgICBAZWFjaCAkdHJhbnNmb3JtIGluIGNhcGl0YWxpemUsIHVwcGVyY2FzZSwgbG93ZXJjYXNlLCBub25lLCBmdWxsLXdpZHRoIHtcclxuICAgICAgLnRleHQtI3ska2V5fS0jeyR0cmFuc2Zvcm19IHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRyYW5zZm9ybTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBWZXJ0aWNhbCBSaHl0aG1cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTAge1xyXG4gICRpOiAkaSAqIDg7XHJcblxyXG4gIC52ci0jeyRpfSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAjeyRpfXB4O1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBaLWluZGV4XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogVXRpbGl0eSBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgc3RhY2tpbmcgb3JkZXIgaW4gSFRNTC5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJHotaW5kZXgge1xyXG4gIC56LWluZGV4LSN7JGtleX0ge1xyXG4gICAgei1pbmRleDogJHZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBaLWluZGV4XHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBBIGxpbWl0ZWQgYXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgYHotaW5kZXhgIHByb3BlcnR5IHRvIHByZXZlbnRcclxuLy8gZXhhZ2dlcmF0ZWQgYW1vdW50cyBhbmQgdWdseSBoYWNrcy5cclxuXHJcbiR6LWluZGV4OiAoXHJcbiAgJzAnOiAgMCxcclxuICAnMSc6ICAxMCxcclxuICAnMic6ICAyMCxcclxuICAnMyc6ICAzMCxcclxuICAnNCc6ICA0MCxcclxuICAnNSc6ICA1MCxcclxuICAnNic6ICA2MCxcclxuICAnNyc6ICA3MCxcclxuICAnOCc6ICA4MCxcclxuICAnOSc6ICA5MCxcclxuICAnMTAnOiAxMDBcclxuKTtcclxuIiwiLmlmcmFtZSB7XHJcbiAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgd2lkdGg6IDU2MHB4O1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmlmcmFtZSBpbWcge1xyXG4gIG1heC13aWR0aDoxMDAlO1xyXG4gIGhlaWdodDphdXRvO1xyXG59XHJcblxyXG4uaWZyYW1lIGlmcmFtZSB7XHJcbiAgZGlzcGxheTpub25lO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnBsYXktYnRuIHtcclxuICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICB6LWluZGV4OjY2NjtcclxuICB0b3A6IGNhbGMoNTAlIC0gNTBweCk7XHJcbiAgbGVmdDo1MCU7XHJcbiAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xyXG4gIGJvcmRlcjowO1xyXG59XHJcblxyXG4ucGxheS1idG46aG92ZXIge1xyXG4gIGN1cnNvcjpwb2ludGVyO1xyXG59XHJcblxyXG4ucGxheS1idG46Zm9jdXMge1xyXG4gIG91dGxpbmU6MDtcclxufVxyXG4iXX0= */
