.wrapper {
  position: relative;
  width: 90%;
  max-width: 1150px;
  margin-right: auto;
  margin-left: auto; }

.wrapper-lg {
  position: relative;
  width: 95%;
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto; }

.wrapper-sm {
  position: relative;
  width: 95%;
  max-width: 900px;
  margin-right: auto;
  margin-left: auto; }

/*! 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 {
    -webkit-transform-style: preserve-3d;
            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: -webkit-transform 100ms ease;
  transition: transform 100ms ease;
  transition: transform 100ms ease, -webkit-transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  -webkit-transform: scale(1.3, 1.3);
          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%; }

body[data-aos-duration='50'] [data-aos], [data-aos][data-aos][data-aos-duration='50'] {
  transition-duration: 50ms; }

body[data-aos-delay='50'] [data-aos], [data-aos][data-aos][data-aos-delay='50'] {
  transition-delay: 0; }
  body[data-aos-delay='50'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='50'].aos-animate {
    transition-delay: 50ms; }

body[data-aos-duration='100'] [data-aos], [data-aos][data-aos][data-aos-duration='100'] {
  transition-duration: 100ms; }

body[data-aos-delay='100'] [data-aos], [data-aos][data-aos][data-aos-delay='100'] {
  transition-delay: 0; }
  body[data-aos-delay='100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='100'].aos-animate {
    transition-delay: 100ms; }

body[data-aos-duration='150'] [data-aos], [data-aos][data-aos][data-aos-duration='150'] {
  transition-duration: 150ms; }

body[data-aos-delay='150'] [data-aos], [data-aos][data-aos][data-aos-delay='150'] {
  transition-delay: 0; }
  body[data-aos-delay='150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='150'].aos-animate {
    transition-delay: 150ms; }

body[data-aos-duration='200'] [data-aos], [data-aos][data-aos][data-aos-duration='200'] {
  transition-duration: 200ms; }

body[data-aos-delay='200'] [data-aos], [data-aos][data-aos][data-aos-delay='200'] {
  transition-delay: 0; }
  body[data-aos-delay='200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='200'].aos-animate {
    transition-delay: 200ms; }

body[data-aos-duration='250'] [data-aos], [data-aos][data-aos][data-aos-duration='250'] {
  transition-duration: 250ms; }

body[data-aos-delay='250'] [data-aos], [data-aos][data-aos][data-aos-delay='250'] {
  transition-delay: 0; }
  body[data-aos-delay='250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='250'].aos-animate {
    transition-delay: 250ms; }

body[data-aos-duration='300'] [data-aos], [data-aos][data-aos][data-aos-duration='300'] {
  transition-duration: 300ms; }

body[data-aos-delay='300'] [data-aos], [data-aos][data-aos][data-aos-delay='300'] {
  transition-delay: 0; }
  body[data-aos-delay='300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='300'].aos-animate {
    transition-delay: 300ms; }

body[data-aos-duration='350'] [data-aos], [data-aos][data-aos][data-aos-duration='350'] {
  transition-duration: 350ms; }

body[data-aos-delay='350'] [data-aos], [data-aos][data-aos][data-aos-delay='350'] {
  transition-delay: 0; }
  body[data-aos-delay='350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='350'].aos-animate {
    transition-delay: 350ms; }

body[data-aos-duration='400'] [data-aos], [data-aos][data-aos][data-aos-duration='400'] {
  transition-duration: 400ms; }

body[data-aos-delay='400'] [data-aos], [data-aos][data-aos][data-aos-delay='400'] {
  transition-delay: 0; }
  body[data-aos-delay='400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='400'].aos-animate {
    transition-delay: 400ms; }

body[data-aos-duration='450'] [data-aos], [data-aos][data-aos][data-aos-duration='450'] {
  transition-duration: 450ms; }

body[data-aos-delay='450'] [data-aos], [data-aos][data-aos][data-aos-delay='450'] {
  transition-delay: 0; }
  body[data-aos-delay='450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='450'].aos-animate {
    transition-delay: 450ms; }

body[data-aos-duration='500'] [data-aos], [data-aos][data-aos][data-aos-duration='500'] {
  transition-duration: 500ms; }

body[data-aos-delay='500'] [data-aos], [data-aos][data-aos][data-aos-delay='500'] {
  transition-delay: 0; }
  body[data-aos-delay='500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='500'].aos-animate {
    transition-delay: 500ms; }

body[data-aos-duration='550'] [data-aos], [data-aos][data-aos][data-aos-duration='550'] {
  transition-duration: 550ms; }

body[data-aos-delay='550'] [data-aos], [data-aos][data-aos][data-aos-delay='550'] {
  transition-delay: 0; }
  body[data-aos-delay='550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='550'].aos-animate {
    transition-delay: 550ms; }

body[data-aos-duration='600'] [data-aos], [data-aos][data-aos][data-aos-duration='600'] {
  transition-duration: 600ms; }

body[data-aos-delay='600'] [data-aos], [data-aos][data-aos][data-aos-delay='600'] {
  transition-delay: 0; }
  body[data-aos-delay='600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='600'].aos-animate {
    transition-delay: 600ms; }

body[data-aos-duration='650'] [data-aos], [data-aos][data-aos][data-aos-duration='650'] {
  transition-duration: 650ms; }

body[data-aos-delay='650'] [data-aos], [data-aos][data-aos][data-aos-delay='650'] {
  transition-delay: 0; }
  body[data-aos-delay='650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='650'].aos-animate {
    transition-delay: 650ms; }

body[data-aos-duration='700'] [data-aos], [data-aos][data-aos][data-aos-duration='700'] {
  transition-duration: 700ms; }

body[data-aos-delay='700'] [data-aos], [data-aos][data-aos][data-aos-delay='700'] {
  transition-delay: 0; }
  body[data-aos-delay='700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='700'].aos-animate {
    transition-delay: 700ms; }

body[data-aos-duration='750'] [data-aos], [data-aos][data-aos][data-aos-duration='750'] {
  transition-duration: 750ms; }

body[data-aos-delay='750'] [data-aos], [data-aos][data-aos][data-aos-delay='750'] {
  transition-delay: 0; }
  body[data-aos-delay='750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='750'].aos-animate {
    transition-delay: 750ms; }

body[data-aos-duration='800'] [data-aos], [data-aos][data-aos][data-aos-duration='800'] {
  transition-duration: 800ms; }

body[data-aos-delay='800'] [data-aos], [data-aos][data-aos][data-aos-delay='800'] {
  transition-delay: 0; }
  body[data-aos-delay='800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='800'].aos-animate {
    transition-delay: 800ms; }

body[data-aos-duration='850'] [data-aos], [data-aos][data-aos][data-aos-duration='850'] {
  transition-duration: 850ms; }

body[data-aos-delay='850'] [data-aos], [data-aos][data-aos][data-aos-delay='850'] {
  transition-delay: 0; }
  body[data-aos-delay='850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='850'].aos-animate {
    transition-delay: 850ms; }

body[data-aos-duration='900'] [data-aos], [data-aos][data-aos][data-aos-duration='900'] {
  transition-duration: 900ms; }

body[data-aos-delay='900'] [data-aos], [data-aos][data-aos][data-aos-delay='900'] {
  transition-delay: 0; }
  body[data-aos-delay='900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='900'].aos-animate {
    transition-delay: 900ms; }

body[data-aos-duration='950'] [data-aos], [data-aos][data-aos][data-aos-duration='950'] {
  transition-duration: 950ms; }

body[data-aos-delay='950'] [data-aos], [data-aos][data-aos][data-aos-delay='950'] {
  transition-delay: 0; }
  body[data-aos-delay='950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='950'].aos-animate {
    transition-delay: 950ms; }

body[data-aos-duration='1000'] [data-aos], [data-aos][data-aos][data-aos-duration='1000'] {
  transition-duration: 1000ms; }

body[data-aos-delay='1000'] [data-aos], [data-aos][data-aos][data-aos-delay='1000'] {
  transition-delay: 0; }
  body[data-aos-delay='1000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1000'].aos-animate {
    transition-delay: 1000ms; }

body[data-aos-duration='1050'] [data-aos], [data-aos][data-aos][data-aos-duration='1050'] {
  transition-duration: 1050ms; }

body[data-aos-delay='1050'] [data-aos], [data-aos][data-aos][data-aos-delay='1050'] {
  transition-delay: 0; }
  body[data-aos-delay='1050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1050'].aos-animate {
    transition-delay: 1050ms; }

body[data-aos-duration='1100'] [data-aos], [data-aos][data-aos][data-aos-duration='1100'] {
  transition-duration: 1100ms; }

body[data-aos-delay='1100'] [data-aos], [data-aos][data-aos][data-aos-delay='1100'] {
  transition-delay: 0; }
  body[data-aos-delay='1100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1100'].aos-animate {
    transition-delay: 1100ms; }

body[data-aos-duration='1150'] [data-aos], [data-aos][data-aos][data-aos-duration='1150'] {
  transition-duration: 1150ms; }

body[data-aos-delay='1150'] [data-aos], [data-aos][data-aos][data-aos-delay='1150'] {
  transition-delay: 0; }
  body[data-aos-delay='1150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1150'].aos-animate {
    transition-delay: 1150ms; }

body[data-aos-duration='1200'] [data-aos], [data-aos][data-aos][data-aos-duration='1200'] {
  transition-duration: 1200ms; }

body[data-aos-delay='1200'] [data-aos], [data-aos][data-aos][data-aos-delay='1200'] {
  transition-delay: 0; }
  body[data-aos-delay='1200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1200'].aos-animate {
    transition-delay: 1200ms; }

body[data-aos-duration='1250'] [data-aos], [data-aos][data-aos][data-aos-duration='1250'] {
  transition-duration: 1250ms; }

body[data-aos-delay='1250'] [data-aos], [data-aos][data-aos][data-aos-delay='1250'] {
  transition-delay: 0; }
  body[data-aos-delay='1250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1250'].aos-animate {
    transition-delay: 1250ms; }

body[data-aos-duration='1300'] [data-aos], [data-aos][data-aos][data-aos-duration='1300'] {
  transition-duration: 1300ms; }

body[data-aos-delay='1300'] [data-aos], [data-aos][data-aos][data-aos-delay='1300'] {
  transition-delay: 0; }
  body[data-aos-delay='1300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1300'].aos-animate {
    transition-delay: 1300ms; }

body[data-aos-duration='1350'] [data-aos], [data-aos][data-aos][data-aos-duration='1350'] {
  transition-duration: 1350ms; }

body[data-aos-delay='1350'] [data-aos], [data-aos][data-aos][data-aos-delay='1350'] {
  transition-delay: 0; }
  body[data-aos-delay='1350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1350'].aos-animate {
    transition-delay: 1350ms; }

body[data-aos-duration='1400'] [data-aos], [data-aos][data-aos][data-aos-duration='1400'] {
  transition-duration: 1400ms; }

body[data-aos-delay='1400'] [data-aos], [data-aos][data-aos][data-aos-delay='1400'] {
  transition-delay: 0; }
  body[data-aos-delay='1400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1400'].aos-animate {
    transition-delay: 1400ms; }

body[data-aos-duration='1450'] [data-aos], [data-aos][data-aos][data-aos-duration='1450'] {
  transition-duration: 1450ms; }

body[data-aos-delay='1450'] [data-aos], [data-aos][data-aos][data-aos-delay='1450'] {
  transition-delay: 0; }
  body[data-aos-delay='1450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1450'].aos-animate {
    transition-delay: 1450ms; }

body[data-aos-duration='1500'] [data-aos], [data-aos][data-aos][data-aos-duration='1500'] {
  transition-duration: 1500ms; }

body[data-aos-delay='1500'] [data-aos], [data-aos][data-aos][data-aos-delay='1500'] {
  transition-delay: 0; }
  body[data-aos-delay='1500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1500'].aos-animate {
    transition-delay: 1500ms; }

body[data-aos-duration='1550'] [data-aos], [data-aos][data-aos][data-aos-duration='1550'] {
  transition-duration: 1550ms; }

body[data-aos-delay='1550'] [data-aos], [data-aos][data-aos][data-aos-delay='1550'] {
  transition-delay: 0; }
  body[data-aos-delay='1550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1550'].aos-animate {
    transition-delay: 1550ms; }

body[data-aos-duration='1600'] [data-aos], [data-aos][data-aos][data-aos-duration='1600'] {
  transition-duration: 1600ms; }

body[data-aos-delay='1600'] [data-aos], [data-aos][data-aos][data-aos-delay='1600'] {
  transition-delay: 0; }
  body[data-aos-delay='1600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1600'].aos-animate {
    transition-delay: 1600ms; }

body[data-aos-duration='1650'] [data-aos], [data-aos][data-aos][data-aos-duration='1650'] {
  transition-duration: 1650ms; }

body[data-aos-delay='1650'] [data-aos], [data-aos][data-aos][data-aos-delay='1650'] {
  transition-delay: 0; }
  body[data-aos-delay='1650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1650'].aos-animate {
    transition-delay: 1650ms; }

body[data-aos-duration='1700'] [data-aos], [data-aos][data-aos][data-aos-duration='1700'] {
  transition-duration: 1700ms; }

body[data-aos-delay='1700'] [data-aos], [data-aos][data-aos][data-aos-delay='1700'] {
  transition-delay: 0; }
  body[data-aos-delay='1700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1700'].aos-animate {
    transition-delay: 1700ms; }

body[data-aos-duration='1750'] [data-aos], [data-aos][data-aos][data-aos-duration='1750'] {
  transition-duration: 1750ms; }

body[data-aos-delay='1750'] [data-aos], [data-aos][data-aos][data-aos-delay='1750'] {
  transition-delay: 0; }
  body[data-aos-delay='1750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1750'].aos-animate {
    transition-delay: 1750ms; }

body[data-aos-duration='1800'] [data-aos], [data-aos][data-aos][data-aos-duration='1800'] {
  transition-duration: 1800ms; }

body[data-aos-delay='1800'] [data-aos], [data-aos][data-aos][data-aos-delay='1800'] {
  transition-delay: 0; }
  body[data-aos-delay='1800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1800'].aos-animate {
    transition-delay: 1800ms; }

body[data-aos-duration='1850'] [data-aos], [data-aos][data-aos][data-aos-duration='1850'] {
  transition-duration: 1850ms; }

body[data-aos-delay='1850'] [data-aos], [data-aos][data-aos][data-aos-delay='1850'] {
  transition-delay: 0; }
  body[data-aos-delay='1850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1850'].aos-animate {
    transition-delay: 1850ms; }

body[data-aos-duration='1900'] [data-aos], [data-aos][data-aos][data-aos-duration='1900'] {
  transition-duration: 1900ms; }

body[data-aos-delay='1900'] [data-aos], [data-aos][data-aos][data-aos-delay='1900'] {
  transition-delay: 0; }
  body[data-aos-delay='1900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1900'].aos-animate {
    transition-delay: 1900ms; }

body[data-aos-duration='1950'] [data-aos], [data-aos][data-aos][data-aos-duration='1950'] {
  transition-duration: 1950ms; }

body[data-aos-delay='1950'] [data-aos], [data-aos][data-aos][data-aos-delay='1950'] {
  transition-delay: 0; }
  body[data-aos-delay='1950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='1950'].aos-animate {
    transition-delay: 1950ms; }

body[data-aos-duration='2000'] [data-aos], [data-aos][data-aos][data-aos-duration='2000'] {
  transition-duration: 2000ms; }

body[data-aos-delay='2000'] [data-aos], [data-aos][data-aos][data-aos-delay='2000'] {
  transition-delay: 0; }
  body[data-aos-delay='2000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2000'].aos-animate {
    transition-delay: 2000ms; }

body[data-aos-duration='2050'] [data-aos], [data-aos][data-aos][data-aos-duration='2050'] {
  transition-duration: 2050ms; }

body[data-aos-delay='2050'] [data-aos], [data-aos][data-aos][data-aos-delay='2050'] {
  transition-delay: 0; }
  body[data-aos-delay='2050'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2050'].aos-animate {
    transition-delay: 2050ms; }

body[data-aos-duration='2100'] [data-aos], [data-aos][data-aos][data-aos-duration='2100'] {
  transition-duration: 2100ms; }

body[data-aos-delay='2100'] [data-aos], [data-aos][data-aos][data-aos-delay='2100'] {
  transition-delay: 0; }
  body[data-aos-delay='2100'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2100'].aos-animate {
    transition-delay: 2100ms; }

body[data-aos-duration='2150'] [data-aos], [data-aos][data-aos][data-aos-duration='2150'] {
  transition-duration: 2150ms; }

body[data-aos-delay='2150'] [data-aos], [data-aos][data-aos][data-aos-delay='2150'] {
  transition-delay: 0; }
  body[data-aos-delay='2150'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2150'].aos-animate {
    transition-delay: 2150ms; }

body[data-aos-duration='2200'] [data-aos], [data-aos][data-aos][data-aos-duration='2200'] {
  transition-duration: 2200ms; }

body[data-aos-delay='2200'] [data-aos], [data-aos][data-aos][data-aos-delay='2200'] {
  transition-delay: 0; }
  body[data-aos-delay='2200'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2200'].aos-animate {
    transition-delay: 2200ms; }

body[data-aos-duration='2250'] [data-aos], [data-aos][data-aos][data-aos-duration='2250'] {
  transition-duration: 2250ms; }

body[data-aos-delay='2250'] [data-aos], [data-aos][data-aos][data-aos-delay='2250'] {
  transition-delay: 0; }
  body[data-aos-delay='2250'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2250'].aos-animate {
    transition-delay: 2250ms; }

body[data-aos-duration='2300'] [data-aos], [data-aos][data-aos][data-aos-duration='2300'] {
  transition-duration: 2300ms; }

body[data-aos-delay='2300'] [data-aos], [data-aos][data-aos][data-aos-delay='2300'] {
  transition-delay: 0; }
  body[data-aos-delay='2300'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2300'].aos-animate {
    transition-delay: 2300ms; }

body[data-aos-duration='2350'] [data-aos], [data-aos][data-aos][data-aos-duration='2350'] {
  transition-duration: 2350ms; }

body[data-aos-delay='2350'] [data-aos], [data-aos][data-aos][data-aos-delay='2350'] {
  transition-delay: 0; }
  body[data-aos-delay='2350'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2350'].aos-animate {
    transition-delay: 2350ms; }

body[data-aos-duration='2400'] [data-aos], [data-aos][data-aos][data-aos-duration='2400'] {
  transition-duration: 2400ms; }

body[data-aos-delay='2400'] [data-aos], [data-aos][data-aos][data-aos-delay='2400'] {
  transition-delay: 0; }
  body[data-aos-delay='2400'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2400'].aos-animate {
    transition-delay: 2400ms; }

body[data-aos-duration='2450'] [data-aos], [data-aos][data-aos][data-aos-duration='2450'] {
  transition-duration: 2450ms; }

body[data-aos-delay='2450'] [data-aos], [data-aos][data-aos][data-aos-delay='2450'] {
  transition-delay: 0; }
  body[data-aos-delay='2450'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2450'].aos-animate {
    transition-delay: 2450ms; }

body[data-aos-duration='2500'] [data-aos], [data-aos][data-aos][data-aos-duration='2500'] {
  transition-duration: 2500ms; }

body[data-aos-delay='2500'] [data-aos], [data-aos][data-aos][data-aos-delay='2500'] {
  transition-delay: 0; }
  body[data-aos-delay='2500'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2500'].aos-animate {
    transition-delay: 2500ms; }

body[data-aos-duration='2550'] [data-aos], [data-aos][data-aos][data-aos-duration='2550'] {
  transition-duration: 2550ms; }

body[data-aos-delay='2550'] [data-aos], [data-aos][data-aos][data-aos-delay='2550'] {
  transition-delay: 0; }
  body[data-aos-delay='2550'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2550'].aos-animate {
    transition-delay: 2550ms; }

body[data-aos-duration='2600'] [data-aos], [data-aos][data-aos][data-aos-duration='2600'] {
  transition-duration: 2600ms; }

body[data-aos-delay='2600'] [data-aos], [data-aos][data-aos][data-aos-delay='2600'] {
  transition-delay: 0; }
  body[data-aos-delay='2600'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2600'].aos-animate {
    transition-delay: 2600ms; }

body[data-aos-duration='2650'] [data-aos], [data-aos][data-aos][data-aos-duration='2650'] {
  transition-duration: 2650ms; }

body[data-aos-delay='2650'] [data-aos], [data-aos][data-aos][data-aos-delay='2650'] {
  transition-delay: 0; }
  body[data-aos-delay='2650'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2650'].aos-animate {
    transition-delay: 2650ms; }

body[data-aos-duration='2700'] [data-aos], [data-aos][data-aos][data-aos-duration='2700'] {
  transition-duration: 2700ms; }

body[data-aos-delay='2700'] [data-aos], [data-aos][data-aos][data-aos-delay='2700'] {
  transition-delay: 0; }
  body[data-aos-delay='2700'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2700'].aos-animate {
    transition-delay: 2700ms; }

body[data-aos-duration='2750'] [data-aos], [data-aos][data-aos][data-aos-duration='2750'] {
  transition-duration: 2750ms; }

body[data-aos-delay='2750'] [data-aos], [data-aos][data-aos][data-aos-delay='2750'] {
  transition-delay: 0; }
  body[data-aos-delay='2750'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2750'].aos-animate {
    transition-delay: 2750ms; }

body[data-aos-duration='2800'] [data-aos], [data-aos][data-aos][data-aos-duration='2800'] {
  transition-duration: 2800ms; }

body[data-aos-delay='2800'] [data-aos], [data-aos][data-aos][data-aos-delay='2800'] {
  transition-delay: 0; }
  body[data-aos-delay='2800'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2800'].aos-animate {
    transition-delay: 2800ms; }

body[data-aos-duration='2850'] [data-aos], [data-aos][data-aos][data-aos-duration='2850'] {
  transition-duration: 2850ms; }

body[data-aos-delay='2850'] [data-aos], [data-aos][data-aos][data-aos-delay='2850'] {
  transition-delay: 0; }
  body[data-aos-delay='2850'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2850'].aos-animate {
    transition-delay: 2850ms; }

body[data-aos-duration='2900'] [data-aos], [data-aos][data-aos][data-aos-duration='2900'] {
  transition-duration: 2900ms; }

body[data-aos-delay='2900'] [data-aos], [data-aos][data-aos][data-aos-delay='2900'] {
  transition-delay: 0; }
  body[data-aos-delay='2900'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2900'].aos-animate {
    transition-delay: 2900ms; }

body[data-aos-duration='2950'] [data-aos], [data-aos][data-aos][data-aos-duration='2950'] {
  transition-duration: 2950ms; }

body[data-aos-delay='2950'] [data-aos], [data-aos][data-aos][data-aos-delay='2950'] {
  transition-delay: 0; }
  body[data-aos-delay='2950'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='2950'].aos-animate {
    transition-delay: 2950ms; }

body[data-aos-duration='3000'] [data-aos], [data-aos][data-aos][data-aos-duration='3000'] {
  transition-duration: 3000ms; }

body[data-aos-delay='3000'] [data-aos], [data-aos][data-aos][data-aos-delay='3000'] {
  transition-delay: 0; }
  body[data-aos-delay='3000'] [data-aos].aos-animate, [data-aos][data-aos][data-aos-delay='3000'].aos-animate {
    transition-delay: 3000ms; }

body[data-aos-easing="linear"] [data-aos], [data-aos][data-aos][data-aos-easing="linear"] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75); }

body[data-aos-easing="ease"] [data-aos], [data-aos][data-aos][data-aos-easing="ease"] {
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); }

body[data-aos-easing="ease-in"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in"] {
  transition-timing-function: cubic-bezier(0.42, 0, 1, 1); }

body[data-aos-easing="ease-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out"] {
  transition-timing-function: cubic-bezier(0, 0, 0.58, 1); }

body[data-aos-easing="ease-in-out"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out"] {
  transition-timing-function: cubic-bezier(0.42, 0, 0.58, 1); }

body[data-aos-easing="ease-in-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-back"] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045); }

body[data-aos-easing="ease-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-back"] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275); }

body[data-aos-easing="ease-in-out-back"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-back"] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55); }

body[data-aos-easing="ease-in-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-sine"] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715); }

body[data-aos-easing="ease-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-sine"] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1); }

body[data-aos-easing="ease-in-out-sine"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-sine"] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95); }

body[data-aos-easing="ease-in-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quad"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quad"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-quad"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quad"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

body[data-aos-easing="ease-in-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-cubic"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-cubic"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-cubic"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-cubic"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

body[data-aos-easing="ease-in-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-quart"] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53); }

body[data-aos-easing="ease-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-out-quart"] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

body[data-aos-easing="ease-in-out-quart"] [data-aos], [data-aos][data-aos][data-aos-easing="ease-in-out-quart"] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955); }

/**
 * Fade animations:
 * fade
 * fade-up, fade-down, fade-left, fade-right
 * fade-up-right, fade-up-left, fade-down-right, fade-down-left
 */
[data-aos^='fade'][data-aos^='fade'] {
  opacity: 0;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
  [data-aos^='fade'][data-aos^='fade'].aos-animate {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

[data-aos='fade-up'] {
  -webkit-transform: translate3d(0, 100px, 0);
          transform: translate3d(0, 100px, 0); }

[data-aos='fade-down'] {
  -webkit-transform: translate3d(0, -100px, 0);
          transform: translate3d(0, -100px, 0); }

[data-aos='fade-right'] {
  -webkit-transform: translate3d(-100px, 0, 0);
          transform: translate3d(-100px, 0, 0); }

[data-aos='fade-left'] {
  -webkit-transform: translate3d(100px, 0, 0);
          transform: translate3d(100px, 0, 0); }

[data-aos='fade-up-right'] {
  -webkit-transform: translate3d(-100px, 100px, 0);
          transform: translate3d(-100px, 100px, 0); }

[data-aos='fade-up-left'] {
  -webkit-transform: translate3d(100px, 100px, 0);
          transform: translate3d(100px, 100px, 0); }

[data-aos='fade-down-right'] {
  -webkit-transform: translate3d(-100px, -100px, 0);
          transform: translate3d(-100px, -100px, 0); }

[data-aos='fade-down-left'] {
  -webkit-transform: translate3d(100px, -100px, 0);
          transform: translate3d(100px, -100px, 0); }

/**
 * Zoom animations:
 * zoom-in, zoom-in-up, zoom-in-down, zoom-in-left, zoom-in-right
 * zoom-out, zoom-out-up, zoom-out-down, zoom-out-left, zoom-out-right
 */
[data-aos^='zoom'][data-aos^='zoom'] {
  opacity: 0;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
  [data-aos^='zoom'][data-aos^='zoom'].aos-animate {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0) scale(1);
            transform: translate3d(0, 0, 0) scale(1); }

[data-aos='zoom-in'] {
  -webkit-transform: scale(0.6);
          transform: scale(0.6); }

[data-aos='zoom-in-up'] {
  -webkit-transform: translate3d(0, 100px, 0) scale(0.6);
          transform: translate3d(0, 100px, 0) scale(0.6); }

[data-aos='zoom-in-down'] {
  -webkit-transform: translate3d(0, -100px, 0) scale(0.6);
          transform: translate3d(0, -100px, 0) scale(0.6); }

[data-aos='zoom-in-right'] {
  -webkit-transform: translate3d(-100px, 0, 0) scale(0.6);
          transform: translate3d(-100px, 0, 0) scale(0.6); }

[data-aos='zoom-in-left'] {
  -webkit-transform: translate3d(100px, 0, 0) scale(0.6);
          transform: translate3d(100px, 0, 0) scale(0.6); }

[data-aos='zoom-out'] {
  -webkit-transform: scale(1.2);
          transform: scale(1.2); }

[data-aos='zoom-out-up'] {
  -webkit-transform: translate3d(0, 100px, 0) scale(1.2);
          transform: translate3d(0, 100px, 0) scale(1.2); }

[data-aos='zoom-out-down'] {
  -webkit-transform: translate3d(0, -100px, 0) scale(1.2);
          transform: translate3d(0, -100px, 0) scale(1.2); }

[data-aos='zoom-out-right'] {
  -webkit-transform: translate3d(-100px, 0, 0) scale(1.2);
          transform: translate3d(-100px, 0, 0) scale(1.2); }

[data-aos='zoom-out-left'] {
  -webkit-transform: translate3d(100px, 0, 0) scale(1.2);
          transform: translate3d(100px, 0, 0) scale(1.2); }

/**
 * Slide animations
 */
[data-aos^='slide'][data-aos^='slide'] {
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }
  [data-aos^='slide'][data-aos^='slide'].aos-animate {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0); }

[data-aos='slide-up'] {
  -webkit-transform: translate3d(0, 100%, 0);
          transform: translate3d(0, 100%, 0); }

[data-aos='slide-down'] {
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0); }

[data-aos='slide-right'] {
  -webkit-transform: translate3d(-100%, 0, 0);
          transform: translate3d(-100%, 0, 0); }

[data-aos='slide-left'] {
  -webkit-transform: translate3d(100%, 0, 0);
          transform: translate3d(100%, 0, 0); }

/**
 * Flip animations:
 * flip-left, flip-right, flip-up, flip-down
 */
[data-aos^='flip'][data-aos^='flip'] {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

[data-aos='flip-left'] {
  -webkit-transform: perspective(2500px) rotateY(-100deg);
          transform: perspective(2500px) rotateY(-100deg); }
  [data-aos='flip-left'].aos-animate {
    -webkit-transform: perspective(2500px) rotateY(0);
            transform: perspective(2500px) rotateY(0); }

[data-aos='flip-right'] {
  -webkit-transform: perspective(2500px) rotateY(100deg);
          transform: perspective(2500px) rotateY(100deg); }
  [data-aos='flip-right'].aos-animate {
    -webkit-transform: perspective(2500px) rotateY(0);
            transform: perspective(2500px) rotateY(0); }

[data-aos='flip-up'] {
  -webkit-transform: perspective(2500px) rotateX(-100deg);
          transform: perspective(2500px) rotateX(-100deg); }
  [data-aos='flip-up'].aos-animate {
    -webkit-transform: perspective(2500px) rotateX(0);
            transform: perspective(2500px) rotateX(0); }

[data-aos='flip-down'] {
  -webkit-transform: perspective(2500px) rotateX(100deg);
          transform: perspective(2500px) rotateX(100deg); }
  [data-aos='flip-down'].aos-animate {
    -webkit-transform: perspective(2500px) rotateX(0);
            transform: perspective(2500px) rotateX(0); }

/* ==========================================================================
   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: "Roboto";
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  /* 1 */
  -webkit-font-smoothing: antialiased;
  /* 2 */
  -webkit-animation: fadeIn 2500ms ease;
          animation: fadeIn 2500ms ease; }

::-moz-selection {
  background: #5291a7;
  color: white; }

::selection {
  background: #5291a7;
  color: white; }

/* ==========================================================================
   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; }

/* ==========================================================================
   Buttons
   ========================================================================== */
.btn-primary {
  padding: 15px 20px;
  border-radius: 8px;
  background: #5291a7;
  color: white;
  font-size: 15px;
  font-weight: 300;
  letter-spacing: 1.23px;
  box-shadow: 0 2px 15px 0 rgba(82, 145, 167, 0.3); }
  @media only screen and (min-width: 1200px) {
    .btn-primary {
      transition: opacity 250ms; }
      .btn-primary:hover {
        opacity: 0.8; } }

.btn-secondary {
  color: #37535d;
  font-size: 15px;
  font-weight: 300;
  letter-spacing: 1.23px;
  text-decoration: underline; }
  @media only screen and (min-width: 1200px) {
    .btn-secondary {
      transition: all 250ms; }
      .btn-secondary:hover {
        background: #37535d;
        color: white; } }

/* ==========================================================================
   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; }

/* ==========================================================================
   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 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; }

/* ==========================================================================
   Section
   ========================================================================== */
/* ==========================================================================
   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: disc; }

.cms-output ol {
  list-style-type: decimal; }

.cms-output p > a {
  color: black; }
  .cms-output p > a:hover {
    text-decoration: underline; }

.contact-template .items-below {
  display: block !important; }
  .contact-template .items-below .item-below {
    margin-bottom: 30px !important;
    color: #37535d !important;
    font-size: 17px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    letter-spacing: 1.64px !important; }
    .contact-template .items-below .item-below img {
      margin-right: 20px !important; }

.contact-template #request-quote {
  padding-top: 200px; }

.content-image {
  padding: 150px 0; }
  .content-image .wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  @media only screen and (max-width: 599px) {
    .content-image .ci__column {
      text-align: center; } }
  @media only screen and (max-width: 1199px) {
    .content-image .ci__column {
      width: 100% !important;
      text-align: center; }
      .content-image .ci__column img {
        max-width: 450px;
        margin-bottom: -200px; } }
  .content-image .ci__column:nth-child(1) {
    width: 55%; }
  .content-image .ci__column:nth-child(2) {
    width: 45%; }
  .content-image .ci__column img {
    width: 100%;
    max-width: 620px;
    height: auto;
    margin-top: -30px; }
  .content-image .ci__column .ci__image {
    position: relative;
    top: 30px;
    -webkit-animation: slideRight 1500ms ease;
            animation: slideRight 1500ms ease; }
    @media only screen and (max-width: 599px) {
      .content-image .ci__column .ci__image {
        top: 0; } }
  .content-image .ci__title {
    margin-bottom: 40px;
    color: #37535d;
    font-size: 60px;
    font-weight: 600;
    line-height: 78px; }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .content-image .ci__title {
        margin-bottom: 30px; } }
    @media only screen and (max-width: 599px) {
      .content-image .ci__title {
        margin-bottom: 15px; } }
  .content-image h2.ci__title {
    font-size: 40px; }
  .content-image .ci__editor {
    max-width: 550px;
    color: #37535d;
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 1.23px;
    line-height: 28px; }
    @media only screen and (max-width: 1199px) {
      .content-image .ci__editor {
        max-width: 500px;
        margin: auto; } }
  @media only screen and (min-width: 1200px) {
    .content-image .ci__link {
      transition: all 250ms;
      transition: 350ms ease; }
      .content-image .ci__link:hover {
        background: #37535d;
        color: white; } }
  .content-image .items-below {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 40px; }
    @media (max-width: 750px) {
      .content-image .items-below {
        width: 90%;
        max-width: 800px;
        margin: 25px auto auto; }
        .content-image .items-below .item-below {
          justify-content: center;
          width: 100% !important;
          margin: auto auto 15px;
          text-align: center; } }
    @media (min-width: 750px) and (max-width: 800px) {
      .content-image .items-below {
        flex-wrap: nowrap;
        width: 100%;
        max-width: 800px;
        margin: 40px auto auto; }
        .content-image .items-below .item-below {
          justify-content: flex-start;
          width: 100% !important;
          margin: auto auto 30px;
          text-align: center; } }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .content-image .items-below {
        max-width: 800px;
        margin: 40px auto auto; }
        .content-image .items-below .item-below {
          width: 50%;
          text-align: center; } }
    .content-image .items-below .item-below {
      align-items: center;
      width: 50%;
      color: #37535d;
      font-size: 15px;
      font-style: italic;
      font-weight: 300;
      letter-spacing: 1.23px; }
      .content-image .items-below .item-below img {
        display: inline-block;
        position: relative;
        top: -2px;
        width: 20px;
        height: 20px;
        margin-top: 0;
        margin-right: 11px;
        margin-bottom: 0; }
      .content-image .items-below .item-below .item-below__title {
        display: inline-block; }
  .content-image .items-right {
    position: absolute;
    top: 40%;
    right: 14%;
    margin-top: 40px; }
    @media only screen and (max-width: 1199px) {
      .content-image .items-right {
        position: static;
        text-align: center; }
        .content-image .items-right .item-below__social-icon {
          margin-bottom: 0 !important; } }
    .content-image .items-right .item-below {
      display: flex;
      align-items: center;
      margin-bottom: 25px;
      color: #37535d;
      font-size: 15px;
      font-style: italic;
      font-weight: 300;
      letter-spacing: 1.23px; }
      @media only screen and (max-width: 1199px) {
        .content-image .items-right .item-below {
          display: block; } }
      .content-image .items-right .item-below img {
        display: inline-block;
        position: relative;
        top: -2px;
        width: 20px;
        height: 20px;
        margin-top: 0;
        margin-right: 11px; }
      .content-image .items-right .item-below .item-below__title {
        display: inline-block; }
      .content-image .items-right .item-below a {
        text-decoration: underline; }
  .content-image .item-below__icon {
    width: 45px;
    height: 45px;
    margin-top: 83px;
    border-radius: 100%;
    background: white;
    line-height: 45px;
    text-align: center;
    cursor: pointer; }
    @media only screen and (max-width: 599px) {
      .content-image .item-below__icon {
        margin: 30px auto 40px; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .content-image .item-below__icon {
        margin-top: 60px;
        margin-right: auto;
        margin-bottom: 40px;
        margin-left: auto; } }
    .content-image .item-below__icon svg {
      color: #37535d;
      font-size: 20px;
      -webkit-animation: pulse 1s ease infinite;
              animation: pulse 1s ease infinite; }

.header + .content-image {
  position: relative;
  margin-top: -200px;
  padding: 350px 0 0; }
  @media only screen and (max-width: 599px) {
    .header + .content-image {
      padding: 260px 0 0; } }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .header + .content-image {
      padding: 300px 0 0; } }

.products-featured + .content-image {
  position: relative;
  margin: 330px 0;
  padding: 0;
  -webkit-transform: skewY(0);
          transform: skewY(0); }
  @media only screen and (min-width: 600px) and (max-width: 1199px) {
    .products-featured + .content-image {
      text-align: left; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .products-featured + .content-image {
      margin: 330px auto 200px; }
      .products-featured + .content-image .ci__editor {
        width: 70%;
        max-width: 380px;
        margin: 0; } }
  @media only screen and (max-width: 599px) {
    .products-featured + .content-image {
      margin: 225px 0 180px;
      padding: 0; } }
  @media (max-width: 600px) {
    .products-featured + .content-image .wrapper {
      flex-direction: column-reverse; }
      .products-featured + .content-image .wrapper .ci__column {
        width: 100%; }
        .products-featured + .content-image .wrapper .ci__column img {
          display: block;
          margin-right: auto;
          margin-bottom: 10px;
          margin-left: auto; }
      .products-featured + .content-image .wrapper .item-below__social-icon {
        top: 4px;
        margin-right: 20px !important; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .products-featured + .content-image {
      margin: 330px auto 270px; }
      .products-featured + .content-image .ci__column {
        text-align: left; }
        .products-featured + .content-image .ci__column:nth-child(2) {
          display: flex;
          align-items: center;
          justify-content: flex-end; }
      .products-featured + .content-image .ci__editor {
        margin: 0; }
      .products-featured + .content-image .item-below {
        text-align: left; }
      .products-featured + .content-image .ci__image {
        margin-top: 0;
        margin-bottom: 0; } }
  @media only screen and (min-width: 600px) {
    .products-featured + .content-image .ci__column:nth-child(1) {
      text-align: left !important; }
    .products-featured + .content-image .ci__column:nth-child(2) {
      display: flex;
      align-items: center;
      justify-content: flex-end; }
    .products-featured + .content-image .items-below {
      margin: 50px auto auto 0; }
      .products-featured + .content-image .items-below .item-below {
        width: 100%; }
    .products-featured + .content-image .ci__image {
      margin-top: 0;
      margin-bottom: 0; } }
  .products-featured + .content-image .wrapper {
    -webkit-transform: skewY(0);
            transform: skewY(0); }
  .products-featured + .content-image .ci__image {
    top: 0; }
  .products-featured + .content-image .ci__editor {
    max-width: 100%; }
  .products-featured + .content-image:before {
    display: block;
    position: absolute;
    top: -180px;
    width: 100%;
    height: 350px;
    -webkit-transform: skewY(9deg);
            transform: skewY(9deg);
    background: #f3f6f7;
    content: ''; }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .products-featured + .content-image:before {
        top: -90px; } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .products-featured + .content-image:before {
        top: -65px; } }
    @media only screen and (max-width: 599px) {
      .products-featured + .content-image:before {
        top: -90px; } }
  .products-featured + .content-image:after {
    display: block;
    position: absolute;
    bottom: -180px;
    width: 100%;
    height: 350px;
    -webkit-transform: skewY(-9deg);
            transform: skewY(-9deg);
    background: #f3f6f7;
    content: '';
    z-index: -1; }
    @media only screen and (max-width: 599px) {
      .products-featured + .content-image:after {
        bottom: -75px; } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .products-featured + .content-image:after {
        bottom: -70px; } }
  .products-featured + .content-image .item-below__icon {
    position: absolute;
    margin-top: 72px;
    margin-left: 0; }
    @media only screen and (max-width: 599px) {
      .products-featured + .content-image .item-below__icon {
        position: static;
        margin: 15px auto auto; } }
    @media only screen and (min-width: 600px) and (max-width: 1199px) {
      .products-featured + .content-image .item-below__icon {
        position: static;
        margin: 50px auto auto 0; } }
  .products-featured + .content-image .ci__column:nth-child(1) {
    width: 60%;
    max-width: 100%; }
    @media only screen and (max-width: 599px) {
      .products-featured + .content-image .ci__column:nth-child(1) {
        width: 100%; } }
  .products-featured + .content-image .ci__column:nth-child(2) {
    width: 40%;
    height: auto;
    text-align: right; }
    @media only screen and (max-width: 599px) {
      .products-featured + .content-image .ci__column:nth-child(2) {
        width: 100%; } }
  .products-featured + .content-image img {
    width: 260px;
    height: 260px;
    margin-top: 13px;
    border-radius: 100%;
    -o-object-fit: cover;
       object-fit: cover; }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .products-featured + .content-image img {
        margin-top: 10%; } }
    @media only screen and (min-width: 600px) and (max-width: 899px) {
      .products-featured + .content-image img {
        margin-top: 35%; } }
  .products-featured + .content-image .item-below__title img {
    border-radius: 0; }
  .products-featured + .content-image .item-below a {
    text-decoration: underline; }

.background-color-grey {
  background: #f3f6f7; }

.background-color-white {
  background: white; }

.background-top-descending {
  position: relative;
  -webkit-transform: skewY(-9deg);
          transform: skewY(-9deg); }
  .background-top-descending .wrapper {
    -webkit-transform: skewY(9deg);
            transform: skewY(9deg); }

.background-top-horizontal {
  padding-bottom: 110px !important; }
  .background-top-horizontal::after {
    display: none !important; }

@media only screen and (min-width: 900px) and (max-width: 1199px) {
  .standard-page .ci__column {
    text-align: left; }
    .standard-page .ci__column img {
      display: flex;
      align-self: center; }
  .standard-page .ci__editor {
    margin: 0; }
  .standard-page .items-below {
    margin: 40px auto auto 0; }
    .standard-page .items-below .item-below {
      width: 100% !important; } }

@media only screen and (max-width: 899px) {
  .standard-page .ci__column {
    width: 100% !important; }
    .standard-page .ci__column .ci__image {
      margin-right: auto;
      margin-left: auto; } }

.standard-page .item-below__icon {
  display: none; }

@media only screen and (max-width: 1199px) {
  .contact-template .items-below {
    width: 100%;
    text-align: center; }
    .contact-template .items-below .item-below {
      display: block;
      width: 100%; } }

.contact-template .content-image {
  padding: 150px 0 0; }
  @media only screen and (min-width: 1200px) {
    .contact-template .content-image {
      height: 430px; } }
  .contact-template .content-image .item-below__icon {
    margin-top: 50px; }

.contact-template .item-below {
  width: 70% !important; }

.header + .image-position-left {
  position: relative;
  margin-bottom: 0; }
  .header + .image-position-left .wrapper {
    flex-direction: row-reverse;
    max-width: 1100px; }
    @media only screen and (max-width: 899px) {
      .header + .image-position-left .wrapper {
        flex-direction: column-reverse; } }
    @media only screen and (max-width: 899px) {
      .header + .image-position-left .wrapper .ci__column:nth-child(1) {
        max-width: 100% !important; }
      .header + .image-position-left .wrapper .ci__column:nth-child(2) {
        height: 350px; } }
    .header + .image-position-left .wrapper .ci__column img {
      display: block;
      width: 260px;
      height: 260px;
      margin-top: 10px;
      margin-right: 10%;
      margin-left: auto;
      border-radius: 100%;
      -o-object-fit: cover;
         object-fit: cover; }
      @media only screen and (max-width: 899px) {
        .header + .image-position-left .wrapper .ci__column img {
          margin-right: auto;
          margin-left: auto; } }
    .header + .image-position-left .wrapper .ci__column:nth-child(1) {
      justify-content: flex-end;
      width: 60%;
      max-width: 600px; }
    .header + .image-position-left .wrapper .ci__column:nth-child(2) {
      justify-content: flex-end;
      width: 40%; }
    .header + .image-position-left .wrapper .items-below {
      display: flex;
      align-items: center;
      margin-top: 40px; }
      @media only screen and (max-width: 899px) {
        .header + .image-position-left .wrapper .items-below {
          display: block; }
          .header + .image-position-left .wrapper .items-below .item-below {
            display: block !important; } }
      .header + .image-position-left .wrapper .items-below .item-below {
        display: flex;
        align-items: center;
        width: 50%;
        color: #37535d;
        font-size: 15px;
        font-style: italic;
        font-weight: 300;
        letter-spacing: 1.23px; }
        .header + .image-position-left .wrapper .items-below .item-below img {
          display: inline-block;
          position: relative;
          top: -2px;
          width: 20px;
          height: 20px;
          margin-top: 0;
          margin-right: 11px;
          border-radius: 0; }
        .header + .image-position-left .wrapper .items-below .item-below .item-below__title {
          display: inline-block; }
        .header + .image-position-left .wrapper .items-below .item-below a {
          text-decoration: underline; }
  .header + .image-position-left::after {
    display: block;
    position: absolute;
    bottom: -130px;
    width: 100%;
    height: 300px;
    background: #f3f6f7;
    content: '';
    z-index: -1; }

/* ==========================================================================
   Footer
   ========================================================================== */
.footer {
  padding: 100px 0;
  text-align: center; }
  @media only screen and (max-width: 599px) {
    .footer {
      padding: 0 0 70px; } }
  .footer .divider {
    width: 90%;
    max-width: 169px;
    height: 1px;
    margin: auto auto 50px;
    background: #b6bfc3; }
  .footer .footer__links {
    width: 90%;
    margin: auto; }
    .footer .footer__links a {
      margin-left: 10px;
      padding-right: 10px;
      border-right: 1px solid #37535d;
      color: #37535d;
      font-size: 13px;
      font-weight: 300;
      letter-spacing: 1.07px;
      line-height: 28px; }
      @media only screen and (min-width: 1200px) {
        .footer .footer__links a {
          transition: 350ms ease; }
          .footer .footer__links a:hover {
            opacity: 0.6; } }
      .footer .footer__links a:nth-last-child(1) {
        border-right: 0; }
  .footer .footer__copyright {
    width: 90%;
    margin: 15px auto auto;
    color: #37535d;
    font-size: 13px;
    font-weight: 300;
    letter-spacing: 1.07px; }
    @media only screen and (max-width: 599px) {
      .footer .footer__copyright {
        width: 70%; } }

.teaser-contact + .footer {
  padding: 115px 0 100px; }

.contact-template + .footer {
  padding: 260px 0 100px; }
  @media only screen and (max-width: 899px) {
    .contact-template + .footer {
      padding: 100px 0; } }

.ps__form,
.form {
  margin-top: 150px; }
  @media only screen and (max-width: 599px) {
    .ps__form,
    .form {
      margin-bottom: 100px; } }
  .ps__form .wrapper,
  .form .wrapper {
    max-width: 800px; }
  .ps__form h3,
  .form h3 {
    margin-bottom: 70px;
    color: #37535d;
    font-size: 40px;
    font-weight: 600;
    letter-spacing: 0.92px;
    text-align: center; }
  .ps__form #gform_1,
  .ps__form #gform_3,
  .form #gform_1,
  .form #gform_3 {
    position: relative; }
    .ps__form #gform_1 .gfield,
    .ps__form #gform_3 .gfield,
    .form #gform_1 .gfield,
    .form #gform_3 .gfield {
      display: flex;
      flex-wrap: wrap;
      width: 100%; }
      @media only screen and (max-width: 599px) {
        .ps__form #gform_1 .gfield label,
        .ps__form #gform_3 .gfield label,
        .form #gform_1 .gfield label,
        .form #gform_3 .gfield label {
          width: 100% !important; }
        .ps__form #gform_1 .gfield .ginput_container,
        .ps__form #gform_3 .gfield .ginput_container,
        .form #gform_1 .gfield .ginput_container,
        .form #gform_3 .gfield .ginput_container {
          width: 100% !important; } }
      .ps__form #gform_1 .gfield label,
      .ps__form #gform_3 .gfield label,
      .form #gform_1 .gfield label,
      .form #gform_3 .gfield label {
        display: block;
        width: 25%;
        margin-top: 10px;
        color: #37535d;
        font-size: 15px;
        font-weight: 300;
        letter-spacing: 1.23px; }
      .ps__form #gform_1 .gfield legend,
      .ps__form #gform_3 .gfield legend,
      .form #gform_1 .gfield legend,
      .form #gform_3 .gfield legend {
        display: none; }
      .ps__form #gform_1 .gfield .ginput_container,
      .ps__form #gform_3 .gfield .ginput_container,
      .form #gform_1 .gfield .ginput_container,
      .form #gform_3 .gfield .ginput_container {
        width: 75%; }
      .ps__form #gform_1 .gfield .ginput_container_select,
      .ps__form #gform_3 .gfield .ginput_container_select,
      .form #gform_1 .gfield .ginput_container_select,
      .form #gform_3 .gfield .ginput_container_select {
        position: relative;
        width: 100%; }
      .ps__form #gform_1 .gfield input,
      .ps__form #gform_1 .gfield select,
      .ps__form #gform_3 .gfield input,
      .ps__form #gform_3 .gfield select,
      .form #gform_1 .gfield input,
      .form #gform_1 .gfield select,
      .form #gform_3 .gfield input,
      .form #gform_3 .gfield select {
        width: 100%;
        height: 50px;
        margin-bottom: 20px;
        padding: 10px 20px;
        border: 1px solid #d5e2e7;
        border-radius: 8px;
        background: transparent;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 0.98px; }
      .ps__form #gform_1 .gfield .caret,
      .ps__form #gform_3 .gfield .caret,
      .form #gform_1 .gfield .caret,
      .form #gform_3 .gfield .caret {
        position: absolute;
        top: 10px;
        right: 15px;
        color: #5290a6;
        z-index: -1; }
      .ps__form #gform_1 .gfield select::-ms-expand,
      .ps__form #gform_3 .gfield select::-ms-expand,
      .form #gform_1 .gfield select::-ms-expand,
      .form #gform_3 .gfield select::-ms-expand {
        display: none; }
      .ps__form #gform_1 .gfield textarea,
      .ps__form #gform_3 .gfield textarea,
      .form #gform_1 .gfield textarea,
      .form #gform_3 .gfield textarea {
        width: 100%;
        height: 120px;
        margin-bottom: 20px;
        padding: 20px;
        border: 1px solid #d5e2e7;
        border-radius: 8px;
        font-size: 12px;
        font-weight: 500;
        letter-spacing: 0.98px;
        resize: none; }
    .ps__form #gform_1 #field_1_7,
    .ps__form #gform_3 #field_1_7,
    .form #gform_1 #field_1_7,
    .form #gform_3 #field_1_7 {
      display: none; }
    .ps__form #gform_1 #input_3_1,
    .ps__form #gform_3 #input_3_1,
    .form #gform_1 #input_3_1,
    .form #gform_3 #input_3_1 {
      width: 90%; }
      @media only screen and (max-width: 599px) {
        .ps__form #gform_1 #input_3_1,
        .ps__form #gform_3 #input_3_1,
        .form #gform_1 #input_3_1,
        .form #gform_3 #input_3_1 {
          width: 100%; } }
    .ps__form #gform_1 .js-submit-button,
    .ps__form #gform_1 #gform_submit_button_1,
    .ps__form #gform_3 .js-submit-button,
    .ps__form #gform_3 #gform_submit_button_1,
    .form #gform_1 .js-submit-button,
    .form #gform_1 #gform_submit_button_1,
    .form #gform_3 .js-submit-button,
    .form #gform_3 #gform_submit_button_1 {
      display: inline-block;
      display: block;
      position: relative;
      margin: 15px auto auto;
      padding: 20px 45px 20px 25px;
      border-radius: 8px;
      background: #5291a7;
      color: white;
      font-size: 15px;
      font-weight: 300;
      letter-spacing: 1.23px;
      box-shadow: 0 2px 15px 0 rgba(82, 145, 167, 0.3);
      cursor: pointer; }
      @media only screen and (min-width: 1200px) {
        .ps__form #gform_1 .js-submit-button,
        .ps__form #gform_1 #gform_submit_button_1,
        .ps__form #gform_3 .js-submit-button,
        .ps__form #gform_3 #gform_submit_button_1,
        .form #gform_1 .js-submit-button,
        .form #gform_1 #gform_submit_button_1,
        .form #gform_3 .js-submit-button,
        .form #gform_3 #gform_submit_button_1 {
          transition: opacity 250ms; }
          .ps__form #gform_1 .js-submit-button:hover,
          .ps__form #gform_1 #gform_submit_button_1:hover,
          .ps__form #gform_3 .js-submit-button:hover,
          .ps__form #gform_3 #gform_submit_button_1:hover,
          .form #gform_1 .js-submit-button:hover,
          .form #gform_1 #gform_submit_button_1:hover,
          .form #gform_3 .js-submit-button:hover,
          .form #gform_3 #gform_submit_button_1:hover {
            opacity: 0.8; } }
    .ps__form #gform_1 .js-submit-icon,
    .ps__form #gform_3 .js-submit-icon,
    .form #gform_1 .js-submit-icon,
    .form #gform_3 .js-submit-icon {
      display: table;
      position: relative;
      margin: auto; }
      .ps__form #gform_1 .js-submit-icon svg,
      .ps__form #gform_3 .js-submit-icon svg,
      .form #gform_1 .js-submit-icon svg,
      .form #gform_3 .js-submit-icon svg {
        position: absolute;
        top: 35px;
        right: 20px;
        color: white; }
      .ps__form #gform_1 .js-submit-icon::after,
      .ps__form #gform_3 .js-submit-icon::after,
      .form #gform_1 .js-submit-icon::after,
      .form #gform_3 .js-submit-icon::after {
        display: none;
        width: 20px;
        height: 20px;
        color: #f3f6f7;
        font-family: 'Font Awesome 5 Free';
        content: '\f1d8'; }
    .ps__form #gform_1 .gfield_repeater_items,
    .ps__form #gform_3 .gfield_repeater_items,
    .form #gform_1 .gfield_repeater_items,
    .form #gform_3 .gfield_repeater_items {
      width: 100% !important; }
    .ps__form #gform_1 .gfield_repeater_buttons,
    .ps__form #gform_3 .gfield_repeater_buttons,
    .form #gform_1 .gfield_repeater_buttons,
    .form #gform_3 .gfield_repeater_buttons {
      width: 20%;
      margin-right: -10px; }
      .ps__form #gform_1 .gfield_repeater_buttons button,
      .ps__form #gform_3 .gfield_repeater_buttons button,
      .form #gform_1 .gfield_repeater_buttons button,
      .form #gform_3 .gfield_repeater_buttons button {
        display: inline-block;
        position: relative;
        width: 39%;
        height: 50px;
        margin: 11px 5px;
        border-radius: 8px;
        background: #5291a7;
        color: white;
        font-size: 25px;
        font-weight: 400;
        letter-spacing: 1.23px;
        box-shadow: 0 2px 15px 0 rgba(82, 145, 167, 0.3); }
        @media only screen and (max-width: 599px) {
          .ps__form #gform_1 .gfield_repeater_buttons button,
          .ps__form #gform_3 .gfield_repeater_buttons button,
          .form #gform_1 .gfield_repeater_buttons button,
          .form #gform_3 .gfield_repeater_buttons button {
            width: 35%; } }
        @media only screen and (min-width: 600px) and (max-width: 899px) {
          .ps__form #gform_1 .gfield_repeater_buttons button,
          .ps__form #gform_3 .gfield_repeater_buttons button,
          .form #gform_1 .gfield_repeater_buttons button,
          .form #gform_3 .gfield_repeater_buttons button {
            width: 37%; } }
    .ps__form #gform_1 .gfield_repeater_wrapper,
    .ps__form #gform_3 .gfield_repeater_wrapper,
    .form #gform_1 .gfield_repeater_wrapper,
    .form #gform_3 .gfield_repeater_wrapper {
      width: 100%;
      margin-left: 25%; }
      @media only screen and (max-width: 599px) {
        .ps__form #gform_1 .gfield_repeater_wrapper,
        .ps__form #gform_3 .gfield_repeater_wrapper,
        .form #gform_1 .gfield_repeater_wrapper,
        .form #gform_3 .gfield_repeater_wrapper {
          width: 100%;
          margin-left: 0; } }
    .ps__form #gform_1 .gfield_repeater_item,
    .ps__form #gform_3 .gfield_repeater_item,
    .form #gform_1 .gfield_repeater_item,
    .form #gform_3 .gfield_repeater_item {
      display: flex;
      flex-wrap: nowrap;
      justify-content: space-between;
      width: 100%; }
      .ps__form #gform_1 .gfield_repeater_item .gfield_repeater_cell,
      .ps__form #gform_3 .gfield_repeater_item .gfield_repeater_cell,
      .form #gform_1 .gfield_repeater_item .gfield_repeater_cell,
      .form #gform_3 .gfield_repeater_item .gfield_repeater_cell {
        width: 81%; }
    .ps__form #gform_1 .ginput_container_select,
    .ps__form #gform_3 .ginput_container_select,
    .form #gform_1 .ginput_container_select,
    .form #gform_3 .ginput_container_select {
      width: 100%; }
    .ps__form #gform_1 .gfield_description,
    .ps__form #gform_3 .gfield_description,
    .form #gform_1 .gfield_description,
    .form #gform_3 .gfield_description {
      display: none; }

.validation_message {
  display: block !important;
  width: 100%;
  margin-top: -20px;
  margin-bottom: 30px;
  padding-left: 25%;
  color: #ff0000; }
  @media only screen and (max-width: 599px) {
    .validation_message {
      padding-left: 0; } }

.validation_error {
  width: 100%;
  margin-bottom: 30px;
  text-align: center; }

.content-image + .form {
  position: relative;
  padding-top: 200px; }
  .content-image + .form::before {
    display: block;
    position: absolute;
    top: -300px;
    width: 100%;
    height: 300px;
    -webkit-transform: skewY(-9deg);
            transform: skewY(-9deg);
    background: #f3f6f7;
    content: '';
    z-index: -1; }
  .content-image + .form:nth-child(1)::before {
    display: none; }

#request-quote {
  padding-top: 25px; }

.header {
  position: relative;
  width: 100%;
  height: 160px;
  background: #f3f6f7;
  font-size: 13px;
  font-weight: 300;
  text-transform: uppercase;
  z-index: 50; }
  @media (min-width: 1100px) {
    .header .main-menu-container {
      display: block !important; } }
  @media (max-width: 1100px) {
    .header .main-menu-container {
      display: none;
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: white;
      z-index: 50; }
    .header .js-main-menu-button {
      display: block !important; } }
  .header .wrapper-lg {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1350px;
    height: 100%; }
    .header .wrapper-lg img {
      width: auto;
      height: 140px; }
  .header .close-btn {
    display: none;
    position: absolute;
    top: 20px;
    right: 20px;
    color: #37535d;
    font-size: 30px;
    cursor: pointer; }
    @media (max-width: 1100px) {
      .header .close-btn {
        display: block; } }
  .header .js-navigation {
    display: inline-flex;
    align-items: center;
    z-index: 40; }
    @media (max-width: 1100px) {
      .header .js-navigation ul {
        margin-top: 50px; }
        .header .js-navigation ul li {
          display: block;
          margin: auto auto 50px;
          text-align: center; } }
    .header .js-navigation li {
      display: inline-block;
      margin-left: 40px; }
      .header .js-navigation li a {
        transition: 150ms ease;
        color: #37535d;
        letter-spacing: 1.07px; }
        @media only screen and (min-width: 1200px) {
          .header .js-navigation li a {
            opacity: 1; }
            .header .js-navigation li a:hover {
              opacity: 0.6; } }
      .header .js-navigation li:nth-child(2):before {
        display: none;
        margin-right: 5px;
        font-family: 'Font Awesome 5 Free';
        content: '\f06d'; }
      .header .js-navigation li:nth-child(2) svg {
        margin-right: 10px;
        font-size: 13px; }
      .header .js-navigation li:nth-child(3):before {
        display: none;
        margin-right: 5px;
        font-family: 'Font Awesome 5 Free';
        content: '\f52f'; }
      .header .js-navigation li:nth-child(3) svg {
        margin-right: 10px;
        font-size: 13px; }
      .header .js-navigation li:nth-last-child(1) a {
        padding: 20px 22px;
        border-radius: 50px;
        background: white; }
  .header .js-main-menu-button {
    display: none;
    width: 40px;
    height: 40px;
    margin-right: 35px;
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 1.23px;
    text-align: center; }
    .header .js-main-menu-button svg {
      margin-bottom: 10px;
      color: #5290a6;
      font-size: 35px; }
  @media (max-width: 1100px) {
    .header .js-main-menu-button-text {
      display: block !important; } }
  .header .current-menu-item {
    position: relative; }
    .header .current-menu-item a {
      color: #5290a6 !important;
      font-weight: 600; }

.pagination {
  width: 100%;
  text-align: center; }
  .pagination .page-numbers {
    margin: 0 10px;
    color: #37535d;
    font-size: 20px; }
  .pagination .current {
    font-weight: 600; }

/* ==========================================================================
   Product Item
   ========================================================================== */
.product-item {
  position: relative;
  width: calc(100% / 2 - 30px);
  margin-bottom: 50px;
  transition: 350ms ease; }
  @media only screen and (min-width: 1200px) {
    .product-item {
      transition: 350ms ease;
      opacity: 1; }
      .product-item:hover {
        opacity: 0.85; } }
  @media (max-width: 1000px) {
    .product-item {
      width: 100% !important; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .product-item {
      width: calc(100% / 2 - 10px); } }
  .product-item img {
    width: 100%;
    height: 400px;
    transition: 350ms ease;
    font-family: 'object-fit: cover';
    -o-object-fit: cover;
       object-fit: cover; }
    @media only screen and (max-width: 599px) {
      .product-item img {
        height: 200px; } }
    @media only screen and (min-width: 900px) and (max-width: 1199px) {
      .product-item img {
        height: 330px; } }
  .product-item .pi__body {
    padding: 25px; }
    @media only screen and (max-width: 599px) {
      .product-item .pi__body {
        text-align: center; } }
    .product-item .pi__body .pi__title {
      margin-top: 25px;
      color: #37535d;
      font-size: 20px;
      font-weight: 600; }
      @media only screen and (max-width: 1199px) {
        .product-item .pi__body .pi__title {
          margin-top: 10px; } }
    .product-item .pi__body .pi__category {
      margin: 15px 0 10px;
      color: #5291a7;
      font-size: 14px;
      letter-spacing: 1.15px; }
      .product-item .pi__body .pi__category svg {
        margin-right: 5px; }
    .product-item .pi__body .pi__specs {
      width: 100%;
      margin-top: 15px; }
      .product-item .pi__body .pi__specs .pi__item {
        display: flex;
        width: 100%;
        padding: 10px 0;
        border-bottom: 1px solid #d5e2e7; }
        .product-item .pi__body .pi__specs .pi__item:nth-last-child(1) {
          border-bottom: 1px solid transparent; }
        .product-item .pi__body .pi__specs .pi__item .pi__spec {
          width: 30%;
          color: #37535d;
          font-size: 15px;
          font-weight: 300;
          letter-spacing: 1.23px; }
          @media only screen and (max-width: 599px) {
            .product-item .pi__body .pi__specs .pi__item .pi__spec {
              width: 40%; } }
        .product-item .pi__body .pi__specs .pi__item .pi__value {
          width: auto;
          color: #37535d;
          font-weight: 600;
          letter-spacing: 1.23px; }
    .product-item .pi__body .pi__buttons {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      margin-top: 18px; }
      @media only screen and (max-width: 599px) {
        .product-item .pi__body .pi__buttons {
          display: block; }
          .product-item .pi__body .pi__buttons a {
            display: table;
            margin: 27px auto auto !important; } }
      .product-item .pi__body .pi__buttons .pi__moreinfo {
        margin-right: 18%;
        font-style: italic; }
        @media only screen and (max-width: 1199px) {
          .product-item .pi__body .pi__buttons .pi__moreinfo {
            margin-right: 0; } }
  .product-item .pi__image {
    transition: 350ms ease;
    overflow: hidden; }

.product-item:hover .pi__image img {
  transition: 350ms ease; }
  @media only screen and (min-width: 1200px) {
    .product-item:hover .pi__image img {
      -webkit-transform: scale(1.1);
              transform: scale(1.1); } }

.product-item__sold {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 400px;
  background: rgba(213, 226, 231, 0.7);
  z-index: 45; }
  @media only screen and (max-width: 599px) {
    .product-item__sold {
      height: 200px; }
      .product-item__sold p {
        line-height: 200px !important; } }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .product-item__sold {
      height: 330px; }
      .product-item__sold p {
        line-height: 330px !important; } }
  .product-item__sold p {
    width: 100%;
    height: 100%;
    color: #37535d;
    font-size: 50px;
    font-weight: 900;
    letter-spacing: 1.64px;
    line-height: 400px;
    text-align: center;
    text-transform: uppercase; }

/* ==========================================================================
   Product Latest
   ========================================================================== */
.products-featured {
  position: relative;
  margin: 220px 0 150px;
  z-index: 49; }
  @media only screen and (max-width: 899px) {
    .products-featured {
      margin: 240px 0 -50px; } }
  .products-featured .wrapper {
    display: flex;
    justify-content: space-between; }
    @media only screen and (max-width: 599px) {
      .products-featured .wrapper {
        display: block;
        margin: auto;
        text-align: center; } }
    .products-featured .wrapper .pf__title {
      margin-bottom: 15px;
      color: #37535d;
      font-size: 40px;
      font-weight: 700;
      letter-spacing: 0.92px; }
      @media only screen and (max-width: 899px) {
        .products-featured .wrapper .pf__title {
          margin-bottom: 10px !important; } }
    .products-featured .wrapper a {
      font-size: 15px;
      letter-spacing: 1.23px;
      text-decoration: underline; }

.owl-dots {
  width: 100%;
  text-align: center; }
  .owl-dots .owl-dot {
    width: 10px;
    height: 10px;
    margin: 0 5px;
    border-radius: 20px;
    background: #d5e2e7 !important; }
  .owl-dots .active {
    background: #5291a7 !important; }

.product-latest__loop {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 50px; }

.product-list {
  display: flex;
  position: relative;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 10px; }
  .product-list .pl__form {
    display: inline-flex;
    flex-direction: row-reverse;
    flex-wrap: wrap; }
    @media only screen and (max-width: 599px) {
      .product-list .pl__form {
        justify-content: flex-end; }
        .product-list .pl__form .pl__button {
          margin-bottom: 20px; } }
  .product-list .pl__title {
    margin-bottom: 20px;
    color: #37535d;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 1.64px;
    line-height: 28px; }
  .product-list .pl__button {
    position: relative;
    min-width: 180px;
    margin-right: 20px;
    padding: 15px 20px;
    transition: 350ms ease;
    border: 2px solid #37535d;
    border-radius: 8px;
    background: #f3f6f7;
    color: #37535d;
    font-size: 14px;
    font-weight: 300;
    letter-spacing: 1.23px;
    text-align: center;
    cursor: pointer; }
    .product-list .pl__button:hover {
      background: #37535d;
      color: white; }
    .product-list .pl__button::before {
      display: none;
      font-family: 'Font Awesome 5 Free';
      content: '\f06d'; }
    .product-list .pl__button:nth-child(2)::before {
      display: none;
      font-family: 'Font Awesome 5 Free';
      content: '\f52f'; }
    .product-list .pl__button input[type='radio'] {
      display: none; }
  .product-list::before {
    display: block;
    position: absolute;
    top: -260px;
    width: 100%;
    height: 550px;
    -webkit-transform: skewY(-9deg);
            transform: skewY(-9deg);
    background: #f3f6f7;
    content: '';
    z-index: -1; }
  .product-list:nth-child(1)::before {
    display: none; }
  .product-list .is-active {
    background: #37535d;
    color: white; }
  .product-list .is-loading {
    position: relative;
    width: 100%;
    height: 100%;
    transition: 1000ms ease;
    opacity: 0;
    z-index: 999; }
  .product-list .is-loading-spinner {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 30px auto;
    transition: 1000ms ease;
    font-size: 30px;
    text-align: center;
    opacity: 1 !important;
    -webkit-animation: rotate 2s infinite linear;
            animation: rotate 2s infinite linear; }

.js-product-list {
  margin-top: 100px;
  transition: 1000ms ease; }

.content-image + .product-list .wrapper-lg {
  max-width: 1300px; }

.product-template .item-below__icon {
  display: none; }

.product-single {
  width: 100%;
  height: auto; }
  .product-single .ps__information {
    position: relative;
    padding: 130px 0;
    background: #f3f6f7; }
    @media only screen and (max-width: 899px) {
      .product-single .ps__information {
        padding: 130px 0 22px; } }
    .product-single .ps__information::after {
      display: block;
      position: absolute;
      bottom: -150px;
      width: 100%;
      height: 300px;
      -webkit-transform: skewY(-9deg);
              transform: skewY(-9deg);
      background: #f3f6f7;
      content: '';
      z-index: -1; }
  .product-single .ps__upper {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: space-between; }
    @media only screen and (max-width: 899px) {
      .product-single .ps__upper {
        display: block;
        height: auto; }
        .product-single .ps__upper a {
          display: table; }
        .product-single .ps__upper .ps__title {
          line-height: 79px; } }
    .product-single .ps__upper .ps__title {
      margin-bottom: 15px;
      color: #37535d;
      font-size: 60px;
      font-weight: 600;
      letter-spacing: 0.69px; }
  .product-single .ps__requestquote {
    position: fixed;
    top: 260px;
    right: 10%;
    margin: 15px 0 25px;
    z-index: 50; }
    @media only screen and (max-width: 899px) {
      .product-single .ps__requestquote {
        position: static;
        top: 290px; } }
  .product-single .ps__productcode {
    margin-top: 15px;
    color: #5290a6;
    font-size: 25px;
    font-weight: 300;
    letter-spacing: 0.57px;
    line-height: 33px; }
    .product-single .ps__productcode::before {
      margin-right: 2px;
      content: '#'; }
  .product-single .ps__specs .ps__specs-title {
    margin-bottom: 30px;
    color: #37535d;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.69px; }
  .product-single .ps__specs .specs__row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 6px 0;
    border-top: 1px solid #d5e2e7;
    color: #37535d;
    letter-spacing: 1.23px; }
    .product-single .ps__specs .specs__row .specs__category {
      width: 30%;
      font-weight: 300;
      letter-spacing: 1.23px; }
    .product-single .ps__specs .specs__row .specs__value {
      width: 70%;
      font-weight: 600; }
    .product-single .ps__specs .specs__row:nth-last-child(1) {
      border-bottom: 1px solid #d5e2e7; }
  .product-single .ps__descr {
    max-width: 474px;
    color: #37535d;
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 1.23px;
    line-height: 28px; }
    .product-single .ps__descr .ps__descr-title {
      margin-bottom: 20px;
      color: #37535d;
      font-size: 20px;
      font-weight: 600;
      letter-spacing: 0.69px; }
  .product-single .ps__sos .ps__sos-title {
    margin-bottom: 30px;
    color: #37535d;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.69px; }
  .product-single .ps__sos .ps__sos-item {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 6px 0;
    border-top: 1px solid #d5e2e7;
    color: #37535d;
    font-weight: 300;
    letter-spacing: 1.23px; }
    .product-single .ps__sos .ps__sos-item:nth-last-child(1) {
      border-bottom: 1px solid #d5e2e7; }
  .product-single .ps__optional .ps__optional-title {
    margin-bottom: 30px;
    color: #37535d;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.69px; }
  .product-single .ps__optional .ps__optional-item {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    padding: 6px 0;
    border-top: 1px solid #d5e2e7;
    color: #37535d;
    font-weight: 300;
    letter-spacing: 1.23px; }
    .product-single .ps__optional .ps__optional-item:nth-last-child(1) {
      border-bottom: 1px solid #d5e2e7; }
  .product-single .ps__row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 50px; }
    @media only screen and (max-width: 899px) {
      .product-single .ps__row:nth-child(4) {
        margin-top: 0; } }
    .product-single .ps__row .ps__column {
      width: calc(100% / 2 - 30px);
      margin-right: 30px; }
      @media (max-width: 800px) {
        .product-single .ps__row .ps__column {
          width: 100%;
          margin-bottom: 50px; } }
  .product-single .ps__images {
    position: relative;
    width: 100%;
    margin-top: -5px;
    text-align: center;
    z-index: 44; }
    .product-single .ps__images .ps__images-title {
      margin-bottom: 40px;
      color: #37535d;
      font-size: 15px;
      font-weight: 300;
      letter-spacing: 1.23px; }
      @media only screen and (max-width: 899px) {
        .product-single .ps__images .ps__images-title {
          margin-top: 40px; } }
    .product-single .ps__images .ps__images-row {
      display: flex;
      flex-wrap: wrap;
      justify-content: center; }
      .product-single .ps__images .ps__images-row a {
        width: calc(100% / 3 - 4px);
        margin: 2px; }
        @media (max-width: 616px) {
          .product-single .ps__images .ps__images-row a {
            width: 100% !important;
            margin-bottom: 30px; } }
        @media only screen and (min-width: 600px) and (max-width: 899px) {
          .product-single .ps__images .ps__images-row a {
            width: calc(100% / 2 - 4px); } }
      .product-single .ps__images .ps__images-row .ps__image {
        height: 350px;
        -o-object-fit: cover;
           object-fit: cover; }

@media only screen and (min-width: 600px) {
  .slbImage {
    height: 700px !important; } }

.ps__productcode + .ps__row {
  margin-top: 50px; }

.content-image + .table {
  margin-top: 350px; }

.table {
  text-align: center; }
  .table .t__title {
    margin-bottom: 40px;
    color: #37535d;
    font-size: 40px;
    font-weight: 600;
    letter-spacing: 0.92px;
    line-height: 53px; }
  .table .t__editor {
    max-width: 629px;
    margin: auto auto 60px;
    color: #5290a6;
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 1.23px; }
  .table .t__row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 560px;
    margin: auto;
    padding: 8px 0;
    border-top: 1px solid #d5e2e7;
    color: #5290a6;
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 1.23px;
    text-align: left; }
    @media only screen and (max-width: 599px) {
      .table .t__row .t__years,
      .table .t__row .t__company,
      .table .t__row .t__function {
        width: 100% !important;
        text-align: center; } }
    .table .t__row .t__years {
      width: 26%; }
    .table .t__row .t__company {
      width: 38%; }
    .table .t__row .t__function {
      min-width: 30%; }
    .table .t__row:nth-last-child(1) {
      border-bottom: 1px solid #d5e2e7; }

.teaser-contact {
  margin: 100px 0;
  text-align: center; }
  @media only screen and (min-width: 900px) and (max-width: 1199px) {
    .teaser-contact {
      margin: 100px 0 30px; } }
  @media only screen and (min-width: 600px) and (max-width: 899px) {
    .teaser-contact {
      margin: 100px 0 0; } }
  @media only screen and (max-width: 599px) {
    .teaser-contact {
      margin: 100px 0 70px; }
      .teaser-contact .tc__phone,
      .teaser-contact .tc__email {
        margin-bottom: 20px !important;
        font-size: 15px;
        letter-spacing: 1.39px;
        line-height: 28px; } }
  .teaser-contact .tc__title {
    margin-bottom: 37px;
    color: #37535d;
    font-size: 40px;
    font-weight: 600;
    line-height: 53px; }
  .teaser-contact .tc__editor {
    width: 90%;
    max-width: 652px;
    margin: auto auto 40px;
    color: #37535d;
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 1.23px;
    line-height: 28px; }
  .teaser-contact .tc__phone,
  .teaser-contact .tc__email {
    margin-bottom: 15px;
    color: #37535d;
    font-size: 20px;
    letter-spacing: 1.64px;
    line-height: 28px; }
    .teaser-contact .tc__phone svg,
    .teaser-contact .tc__email svg {
      margin-right: 10px;
      color: #5291a7; }
  .teaser-contact .btn-primary {
    display: block;
    width: 162px;
    margin: 50px auto auto; }

.table + .teaser-contact,
.product-single + .teaser-contact,
.product-list + .teaser-contact {
  position: relative;
  margin: 350px 0 170px;
  background: #f3f6f7; }
  @media only screen and (max-width: 899px) {
    .table + .teaser-contact,
    .product-single + .teaser-contact,
    .product-list + .teaser-contact {
      margin: 250px 0 200px; } }
  .table + .teaser-contact::before,
  .product-single + .teaser-contact::before,
  .product-list + .teaser-contact::before {
    display: block;
    position: absolute;
    top: -170px;
    width: 100%;
    height: 400px;
    -webkit-transform: skewY(9deg);
            transform: skewY(9deg);
    background: #f3f6f7;
    content: ''; }
  .table + .teaser-contact::after,
  .product-single + .teaser-contact::after,
  .product-list + .teaser-contact::after {
    display: block;
    position: absolute;
    bottom: -170px;
    width: 100%;
    height: 400px;
    -webkit-transform: skewY(-9deg);
            transform: skewY(-9deg);
    background: #f3f6f7;
    content: '';
    z-index: -1; }

@-webkit-keyframes slideRight {
  0% {
    right: -100px;
    opacity: 0; }
  100% {
    right: 0;
    opacity: 1; } }

@keyframes slideRight {
  0% {
    right: -100px;
    opacity: 0; }
  100% {
    right: 0;
    opacity: 1; } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  50% {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes pulse {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  50% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

/* ==========================================================================
   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` #f3f6f7-100 color utility.
       */
.color-grey-100 {
  color: #f3f6f7; }

/**
       * `background-color` #f3f6f7-100 color utility.
       */
.background-color-grey-100 {
  background-color: #f3f6f7; }

/**
       * `color` #b6bfc3-200 color utility.
       */
.color-grey-200 {
  color: #b6bfc3; }

/**
       * `background-color` #b6bfc3-200 color utility.
       */
.background-color-grey-200 {
  background-color: #b6bfc3; }

/**
       * `color` #5291a7-100 color utility.
       */
.color-blue-100 {
  color: #5291a7; }

/**
       * `background-color` #5291a7-100 color utility.
       */
.background-color-blue-100 {
  background-color: #5291a7; }

/**
       * `color` #37535d-400 color utility.
       */
.color-green-400 {
  color: #37535d; }

/**
       * `background-color` #37535d-400 color utility.
       */
.background-color-green-400 {
  background-color: #37535d; }

/**
       * `color` #5291a7-300 color utility.
       */
.color-green-300 {
  color: #5291a7; }

/**
       * `background-color` #5291a7-300 color utility.
       */
.background-color-green-300 {
  background-color: #5291a7; }

/**
       * `color` rgba(213, 226, 231, 0.7)-100-07 color utility.
       */
.color-green-100-07 {
  color: rgba(213, 226, 231, 0.7); }

/**
       * `background-color` rgba(213, 226, 231, 0.7)-100-07 color utility.
       */
.background-color-green-100-07 {
  background-color: rgba(213, 226, 231, 0.7); }

/**
       * `color` #d5e2e7-100 color utility.
       */
.color-green-100 {
  color: #d5e2e7; }

/**
       * `background-color` #d5e2e7-100 color utility.
       */
.background-color-green-100 {
  background-color: #d5e2e7; }

.slbOverlay, .slbWrapOuter, .slbWrap {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.slbOverlay {
  overflow: hidden;
  z-index: 2000;
  background-color: #000;
  opacity: 0.7;
  -webkit-animation: slbOverlay 0.5s;
  animation: slbOverlay 0.5s; }

.slbWrapOuter {
  overflow-x: hidden;
  overflow-y: auto;
  z-index: 2010; }

.slbWrap {
  position: absolute;
  text-align: center; }

.slbWrap:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.slbContentOuter {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0px auto;
  padding: 0 1em;
  box-sizing: border-box;
  z-index: 2020;
  text-align: left;
  max-width: 100%; }

.slbContentEl .slbContentOuter {
  padding: 5em 1em; }

.slbContent {
  position: relative; }

.slbContentEl .slbContent {
  -webkit-animation: slbEnter 0.3s;
  animation: slbEnter 0.3s;
  background-color: #fff;
  box-shadow: 0 0.2em 1em rgba(0, 0, 0, 0.4); }

.slbImageWrap {
  -webkit-animation: slbEnter 0.3s;
  animation: slbEnter 0.3s;
  position: relative; }

.slbImageWrap:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 5em;
  bottom: 5em;
  display: block;
  z-index: -1;
  box-shadow: 0 0.2em 1em rgba(0, 0, 0, 0.6);
  background-color: #FFF; }

.slbDirectionNext .slbImageWrap {
  -webkit-animation: slbEnterNext 0.4s;
  animation: slbEnterNext 0.4s; }

.slbDirectionPrev .slbImageWrap {
  -webkit-animation: slbEnterPrev 0.4s;
  animation: slbEnterPrev 0.4s; }

.slbImage {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 5em 0;
  margin: 0 auto; }

.slbCaption {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-wrap: normal;
  font-size: 1.4em;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.71429em 0;
  color: #fff;
  color: rgba(255, 255, 255, 0.7);
  text-align: center; }

.slbCloseBtn, .slbArrow {
  margin: 0;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: none; }

.slbCloseBtn::-moz-focus-inner, .slbArrow::-moz-focus-inner {
  padding: 0;
  border: 0; }

.slbCloseBtn:hover, .slbArrow:hover {
  opacity: 0.5; }

.slbCloseBtn:active, .slbArrow:active {
  opacity: 0.8; }

.slbCloseBtn {
  -webkit-animation: slbEnter 0.3s;
  animation: slbEnter 0.3s;
  font-size: 3em;
  width: 1.66667em;
  height: 1.66667em;
  line-height: 1.66667em;
  position: absolute;
  right: -0.33333em;
  top: 0;
  color: #fff;
  color: rgba(255, 255, 255, 0.7);
  text-align: center; }

.slbLoading .slbCloseBtn {
  display: none; }

.slbLoadingText {
  font-size: 1.4em;
  color: #fff;
  color: rgba(255, 255, 255, 0.9); }

.slbArrows {
  position: fixed;
  top: 50%;
  left: 0;
  right: 0; }

.slbLoading .slbArrows {
  display: none; }

.slbArrow {
  position: absolute;
  top: 50%;
  margin-top: -5em;
  width: 5em;
  height: 10em;
  opacity: 0.7;
  text-indent: -999em;
  overflow: hidden; }

.slbArrow:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -0.8em 0 0 -0.8em;
  border: 0.8em solid transparent; }

.slbArrow.next {
  right: 0; }

.slbArrow.next:before {
  border-left-color: #fff; }

.slbArrow.prev {
  left: 0; }

.slbArrow.prev:before {
  border-right-color: #fff; }

.slbIframeCont {
  width: 80em;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
  margin: 5em 0; }

.slbIframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0.2em 1em rgba(0, 0, 0, 0.6);
  background: #000; }

@-webkit-keyframes slbOverlay {
  from {
    opacity: 0; }
  to {
    opacity: 0.7; } }

@keyframes slbOverlay {
  from {
    opacity: 0; }
  to {
    opacity: 0.7; } }

@-webkit-keyframes slbEnter {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -1em, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0); } }

@keyframes slbEnter {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -1em, 0);
    transform: translate3d(0, -1em, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@-webkit-keyframes slbEnterNext {
  from {
    opacity: 0;
    -webkit-transform: translate3d(4em, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0); } }

@keyframes slbEnterNext {
  from {
    opacity: 0;
    -webkit-transform: translate3d(4em, 0, 0);
    transform: translate3d(4em, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@-webkit-keyframes slbEnterPrev {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-4em, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0); } }

@keyframes slbEnterPrev {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-4em, 0, 0);
    transform: translate3d(-4em, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

/* ==========================================================================
   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: -webkit-sticky;
  position: sticky; }

/* ==========================================================================
   Text
   ========================================================================== */
/**
 * Font family utility classes.
 */
.text-xs-default {
  font-family: "Roboto"; }

.text-sm-default {
  font-family: "Roboto"; }

.text-md-default {
  font-family: "Roboto"; }

.text-lg-default {
  font-family: "Roboto"; }

.text-xl-default {
  font-family: "Roboto"; }

/**
 * Text size utility classes.
 */
.text-xs-h1 {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.5625em; }

.text-xs-h2 {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.21429em; }

.text-xs-h3 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.20833em; }

.text-xs-h4 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.45455em; }

.text-xs-h5 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6em; }

.text-xs-h6 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.77778em; }

.text-xs-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-sm-h1 {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.5625em; }

.text-sm-h2 {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.21429em; }

.text-sm-h3 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.20833em; }

.text-sm-h4 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.45455em; }

.text-sm-h5 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6em; }

.text-sm-h6 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.77778em; }

.text-sm-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-md-h1 {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.5625em; }

.text-md-h2 {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.21429em; }

.text-md-h3 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.20833em; }

.text-md-h4 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.45455em; }

.text-md-h5 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6em; }

.text-md-h6 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.77778em; }

.text-md-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-lg-h1 {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.5625em; }

.text-lg-h2 {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.21429em; }

.text-lg-h3 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.20833em; }

.text-lg-h4 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.45455em; }

.text-lg-h5 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6em; }

.text-lg-h6 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.77778em; }

.text-lg-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em; }

.text-xl-h1 {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.5625em; }

.text-xl-h2 {
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1.21429em; }

.text-xl-h3 {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.20833em; }

.text-xl-h4 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1.45455em; }

.text-xl-h5 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6em; }

.text-xl-h6 {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.77778em; }

.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; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmdzL193cmFwcGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUuY3NzIiwibWFpbi5jc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19jb3JlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hbmltYXRlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hdXRvaGVpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19sYXp5bG9hZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fdmlkZW8uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hb3Mvc3JjL3Nhc3MvX2NvcmUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9hb3Mvc3JjL3Nhc3MvX2Vhc2luZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Fvcy9zcmMvc2Fzcy9fYW5pbWF0aW9ucy5zY3NzIiwiZ2VuZXJpYy9fYmFzZS5zY3NzIiwidG9vbHMvX21peGlucy5zY3NzIiwic2V0dGluZ3MvX3R5cG9ncmFwaHkuc2NzcyIsInRvb2xzL19mdW5jdGlvbnMuc2NzcyIsInNldHRpbmdzL19jb2xvci5zY3NzIiwiZ2VuZXJpYy9fcmVzZXQuc2NzcyIsIm9iamVjdHMvX2J1dHRvbi5zY3NzIiwib2JqZWN0cy9fY29udGFpbmVyLnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIm9iamVjdHMvX2NvbnRlbnQtY29uc3RyYWludC5zY3NzIiwib2JqZWN0cy9fZmxleC5zY3NzIiwib2JqZWN0cy9fc2VjdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fY21zLW91dHB1dC5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19mb3JtLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX3Byb2R1Y3QtaXRlbS5zY3NzIiwiY29tcG9uZW50cy9fcHJvZHVjdC1sYXRlc3Quc2NzcyIsImNvbXBvbmVudHMvX3Byb2R1Y3QtbGlzdC5zY3NzIiwiY29tcG9uZW50cy9fcHJvZHVjdC1zaW5nbGUuc2NzcyIsImNvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJjb21wb25lbnRzL190ZWFzZXItY29udGFjdC5zY3NzIiwidXRpbGl0aWVzL19hbmltYXRpb25zLnNjc3MiLCJ1dGlsaXRpZXMvX2NvbG9yLnNjc3MiLCJ1dGlsaXRpZXMvX2xpZ2h0Ym94LnNjc3MiLCJ1dGlsaXRpZXMvX29iamVjdC1maXQuc2NzcyIsInV0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsInV0aWxpdGllcy9fdGV4dC5zY3NzIiwidXRpbGl0aWVzL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsInV0aWxpdGllcy9fei1pbmRleC5zY3NzIiwic2V0dGluZ3MvX3otaW5kZXguc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTtFQUNFLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1Ysa0JBQWlCO0VBQ2pCLG1CQUFrQjtFQUNsQixrQkFBaUIsRUFDbEI7O0FBRUQ7RUFDRSxtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLGtCQUFpQjtFQUNqQixtQkFBa0I7RUFDbEIsa0JBQWlCLEVBQ2xCOztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLGtCQUFpQixFQUNsQjs7QUMxQkQsNEVBQTRFO0FBRTVFO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDtFQUNFLGtCQUFpQjtFQUFFLE9BQU87RUFDMUIsK0JBQThCO0VBQUUsT0FBTyxFQUN4Qzs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQUVEOzs7R0FHRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCQUFnQixFQUNqQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLFVBQVM7RUFBRSxPQUFPO0VBQ2xCLGtCQUFpQjtFQUFFLE9BQU8sRUFDM0I7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxrQ0FBaUM7RUFBRSxPQUFPO0VBQzFDLGVBQWM7RUFBRSxPQUFPLEVBQ3hCOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsOEJBQTZCLEVBQzlCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0Usb0JBQW1CO0VBQUUsT0FBTztFQUM1QiwyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLDBDQUFpQztVQUFqQyxrQ0FBaUM7RUFBRSxPQUFPLEVBQzNDOztBQUVEOztHQUVHO0FBRUg7O0VBRUUsb0JBQW1CLEVBQ3BCOztBQUVEOzs7R0FHRztBQUVIOzs7RUFHRSxrQ0FBaUM7RUFBRSxPQUFPO0VBQzFDLGVBQWM7RUFBRSxPQUFPLEVBQ3hCOztBQUVEOztHQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBRUQ7OztHQUdHO0FBRUg7O0VBRUUsZUFBYztFQUNkLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIseUJBQXdCLEVBQ3pCOztBQUVEO0VBQ0UsZ0JBQWUsRUFDaEI7O0FBRUQ7RUFDRSxZQUFXLEVBQ1o7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7RUFDRSxtQkFBa0IsRUFDbkI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIOzs7OztFQUtFLHFCQUFvQjtFQUFFLE9BQU87RUFDN0IsZ0JBQWU7RUFBRSxPQUFPO0VBQ3hCLGtCQUFpQjtFQUFFLE9BQU87RUFDMUIsVUFBUztFQUFFLE9BQU8sRUFDbkI7O0FBRUQ7OztHQUdHO0FBRUg7O0VBQ1EsT0FBTztFQUNiLGtCQUFpQixFQUNsQjs7QUFFRDs7O0dBR0c7QUFFSDs7RUFDUyxPQUFPO0VBQ2QscUJBQW9CLEVBQ3JCOztBQUVEOztHQUVHO0FBRUg7Ozs7RUFJRSwyQkFBMEIsRUFDM0I7O0FBRUQ7O0dBRUc7QUFFSDs7OztFQUlFLG1CQUFrQjtFQUNsQixXQUFVLEVBQ1g7O0FBRUQ7O0dBRUc7QUFFSDs7OztFQUlFLCtCQUE4QixFQUMvQjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsK0JBQThCLEVBQy9COztBQUVEOzs7OztHQUtHO0FBRUg7RUFDRSx1QkFBc0I7RUFBRSxPQUFPO0VBQy9CLGVBQWM7RUFBRSxPQUFPO0VBQ3ZCLGVBQWM7RUFBRSxPQUFPO0VBQ3ZCLGdCQUFlO0VBQUUsT0FBTztFQUN4QixXQUFVO0VBQUUsT0FBTztFQUNuQixvQkFBbUI7RUFBRSxPQUFPLEVBQzdCOztBQUVEOztHQUVHO0FBRUg7RUFDRSx5QkFBd0IsRUFDekI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFFRDs7O0dBR0c7QUNUSDs7RURhRSx1QkFBc0I7RUFBRSxPQUFPO0VBQy9CLFdBQVU7RUFBRSxPQUFPLEVBQ3BCOztBQUVEOztHQUVHO0FDVEg7O0VEYUUsYUFBWSxFQUNiOztBQUVEOzs7R0FHRztBQ1hIO0VEY0UsOEJBQTZCO0VBQUUsT0FBTztFQUN0QyxxQkFBb0I7RUFBRSxPQUFPLEVBQzlCOztBQUVEOztHQUVHO0FDWEg7RURjRSx5QkFBd0IsRUFDekI7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSwyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLGNBQWE7RUFBRSxPQUFPLEVBQ3ZCOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQUVEOztHQUVHO0FBRUg7RUFDRSxtQkFBa0IsRUFDbkI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7RUFDRSxjQUFhLEVBQ2Q7O0FBRUQ7O0dBRUc7QUNyQkg7RUR3QkUsY0FBYSxFQUNkOztBRTVWRDs7R0FFRztBQUNIO0VBQ0MsY0FBYTtFQUNiLFlBQVc7RUFDWCx5Q0FBd0M7RUFDeEMsb0VBQW9FO0VBQ3BFLG1CQUFrQjtFQUNsQixXQUFVLEVBK0dWO0VBckhEO0lBU0UsbUJBQWtCO0lBRWxCLDJCQUEwQjtJQUMxQixpQ0FBZ0M7SUFBRSxrQ0FBa0MsRUFDcEU7RUFiRjtJQWdCRSxhQUFZO0lBQ1osZUFBYztJQUNkLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsZUFBYztJQUNkLFVBQVMsRUFDVDtFQXRCRjtJQXlCRSxtQkFBa0I7SUFDbEIsaUJBQWdCO0lBQ2hCLGlDQUFpQztJQUNqQyw4Q0FBNkMsRUFDN0M7RUE3QkY7O0lBaUNFLG9DQUFtQztJQUNuQyxpQ0FBZ0M7SUFDaEMsZ0NBQStCO0lBQy9CLHdDQUFxQztJQUNyQyxxQ0FBa0M7SUFDbEMsb0NBQWlDLEVBQ2pDO0VBdkNGO0lBMENFLG1CQUFrQjtJQUNsQixnQkFBZTtJQUNmLFlBQVc7SUFDWCxvQ0FBbUM7SUFDbkMseUNBQXdDO0lBQ3hDLDRCQUEyQixFQUMzQjtFQWhERjtJQWtERSxlQUFjO0lBQ2QsWUFBVyxFQUNYO0VBcERGOztJQXdERSxjQUFhLEVBQ2I7RUF6REY7OztJQThERSxnQkFBZTtJQUNmLDBCQUF5QjtJQUV6Qix1QkFBc0I7SUFDdEIsc0JBQXFCO0lBQ3JCLGtCQUFpQixFQUNqQjtFQXBFRjs7O0lBeUVFLGlCQUFnQjtJQUNoQixlQUFjO0lBQ2QsYUFBWTtJQUNaLHNCQUFtQjtJQUNuQixjQUFhLEVBQ2I7RUE5RUY7SUFpRkUsZUFBYyxFQUNkO0VBbEZGO0lBcUZFLFdBQVU7SUFDVixlQUFjLEVBQ2Q7RUF2RkY7SUEwRkUsV0FBVSxFQUNWO0VBM0ZGO0lBOEZFLG1CQUFrQixFQUNsQjtFQS9GRjtJQWtHRSxvQkFBbUI7SUFDbkIsMEJBQXlCO0lBQ3pCLHVCQUFzQjtJQUN0QixzQkFBcUI7SUFDckIsa0JBQWlCLEVBQ2pCO0VBdkdGO0lBMEdFLGFBQVk7SUFDWixxQkFBWTtJQUFaLGFBQVksRUFDWjtFQTVHRjtJQStHRSxlQUFjLEVBQ2Q7RUFoSEY7SUFtSEUsYUFBWSxFQUNaOztBQUdGLFdBQVc7QUFDWDtFQUNDLGVBQWMsRUFDZDs7QUM3SEQ7O0dBRUc7QUFDSDtFQUVFLG1DQUEwQjtVQUExQiwyQkFBMEI7RUFDMUIsa0NBQXlCO1VBQXpCLDBCQUF5QixFQUN6Qjs7QUFKRjtFQU1FLFdBQVUsRUFDVjs7QUFQRjtFQVNFLFdBQVUsRUFDVjs7QUFWRjtFQVlFLGdDQUF1QjtVQUF2Qix3QkFBdUIsRUFDdkI7O0FBR0Y7RUFDQztJQUNDLFdBQVUsRUFBQTtFQUdYO0lBQ0MsV0FBVSxFQUFBLEVBQUE7O0FBTlo7RUFDQztJQUNDLFdBQVUsRUFBQTtFQUdYO0lBQ0MsV0FBVSxFQUFBLEVBQUE7O0FDekJaOztHQUVHO0FBRUg7RUFDQyxxQ0FBb0MsRUFDcEM7O0FDTkQ7O0dBRUc7QUFFSDtFQU9FOzs7S0FHRyxFQVFIO0VBbEJGO0lBR0ksV0FBVTtJQUNWLCtCQUE4QixFQUMvQjtFQUxIO0lBWUcsY0FBYSxFQUNiO0VBYkg7SUFnQkcscUNBQTRCO1lBQTVCLDZCQUE0QixFQUM1Qjs7QUNuQkg7O0dBRUc7QUFFSDtFQUVFLG1CQUFrQjtFQUNsQixhQUFZO0VBQ1osaUJBQWdCLEVBQ2hCOztBQUxGO0VBUUUsbUJBQWtCO0VBQ2xCLGFBQVk7RUFDWixZQUFXO0VBQ1gsVUFBUztFQUNULFNBQVE7RUFDUixtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLGdEQUFpRTtFQUNqRSxnQkFBZTtFQUNmLFdBQVU7RUFDVixvQ0FBbUM7RUFDbkMseUNBQWdDO0VBQWhDLGlDQUFnQztFQUFoQywrREFBZ0MsRUFDaEM7O0FBcEJGO0VBdUJFLG1DQUEwQjtVQUExQiwyQkFBMEIsRUFDMUI7O0FBeEJGOztFQTRCRSxjQUFhLEVBQ2I7O0FBN0JGO0VBZ0NFLFdBQVU7RUFDVixhQUFZO0VBQ1osbUNBQWtDO0VBQ2xDLDZCQUE0QjtFQUM1Qix5QkFBd0I7RUFDeEIsK0JBQThCLEVBQzlCOztBQXRDRjtFQXlDRSxtQkFBa0I7RUFDbEIsV0FBVTtFQUNWLGFBQVk7RUFDWixZQUFXLEVBQ1g7O0FDaERFO0VBRUUsMEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx1QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSwyQkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHdCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDJCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0ksd0JBQWtCLEVBQ25COztBQVhIO0VBRUUsMkJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx3QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSwyQkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHdCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDJCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0ksd0JBQWtCLEVBQ25COztBQVhIO0VBRUUsMkJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx3QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSwyQkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHdCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDJCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0ksd0JBQWtCLEVBQ25COztBQVhIO0VBRUUsMkJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx3QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSwyQkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHdCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDJCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0ksd0JBQWtCLEVBQ25COztBQVhIO0VBRUUsMkJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx3QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSwyQkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHdCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDJCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0ksd0JBQWtCLEVBQ25COztBQVhIO0VBRUUsMkJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx3QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSwyQkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHdCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDJCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0ksd0JBQWtCLEVBQ25COztBQVhIO0VBRUUsMkJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx3QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQVhIO0VBRUUsNEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx5QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQVhIO0VBRUUsNEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx5QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQVhIO0VBRUUsNEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx5QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQVhIO0VBRUUsNEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx5QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQVhIO0VBRUUsNEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx5QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQVhIO0VBRUUsNEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx5QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQVhIO0VBRUUsNEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx5QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQVhIO0VBRUUsNEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx5QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQVhIO0VBRUUsNEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx5QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQVhIO0VBRUUsNEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx5QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQVhIO0VBRUUsNEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx5QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQVhIO0VBRUUsNEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx5QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQVhIO0VBRUUsNEJBQXFCLEVBQ3RCOztBQUVEO0VBRUUsb0JBQW1CLEVBS3BCO0VBUEQ7SUFLSSx5QkFBa0IsRUFDbkI7O0FBWEg7RUFFRSw0QkFBcUIsRUFDdEI7O0FBRUQ7RUFFRSxvQkFBbUIsRUFLcEI7RUFQRDtJQUtJLHlCQUFrQixFQUNuQjs7QUFYSDtFQUVFLDRCQUFxQixFQUN0Qjs7QUFFRDtFQUVFLG9CQUFtQixFQUtwQjtFQVBEO0lBS0kseUJBQWtCLEVBQ25COztBQ29CSDtFQUVFLGlFQW5Dd0MsRUFvQ3pDOztBQUhEO0VBRUUsNkRBakNtQyxFQWtDcEM7O0FBSEQ7RUFFRSx3REFoQ2dDLEVBaUNqQzs7QUFIRDtFQUVFLHdEQS9Cb0MsRUFnQ3JDOztBQUhEO0VBRUUsMkRBOUJ1QyxFQStCeEM7O0FBSEQ7RUFFRSxtRUE1QjRDLEVBNkI3Qzs7QUFIRDtFQUVFLG9FQTNCK0MsRUE0QmhEOztBQUhEO0VBRUUsbUVBMUJpRCxFQTJCbEQ7O0FBSEQ7RUFFRSxnRUF4QjBDLEVBeUIzQzs7QUFIRDtFQUVFLGdFQXZCMkMsRUF3QjVDOztBQUhEO0VBRUUsa0VBdEIrQyxFQXVCaEQ7O0FBSEQ7RUFFRSxrRUFwQjJDLEVBcUI1Qzs7QUFIRDtFQUVFLGlFQW5CMkMsRUFvQjVDOztBQUhEO0VBRUUsb0VBbEJpRCxFQW1CbEQ7O0FBSEQ7RUFFRSxrRUFoQjRDLEVBaUI3Qzs7QUFIRDtFQUVFLGlFQWY0QyxFQWdCN0M7O0FBSEQ7RUFFRSxvRUFka0QsRUFlbkQ7O0FBSEQ7RUFFRSxrRUFaNEMsRUFhN0M7O0FBSEQ7RUFFRSxpRUFYNEMsRUFZN0M7O0FBSEQ7RUFFRSxvRUFWa0QsRUFXbkQ7O0FDL0JMOzs7OztHQUtHO0FSaWhDSDtFUTlnQ0UsV0FBVTtFQUNWLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDLEVBTXhDO0VSMGdDQztJUTdnQ0UsV0FBVTtJQUNWLHdDQUErQjtZQUEvQixnQ0FBK0IsRUFDaEM7O0FSK2dDSDtFUTNnQ0UsNENBQTJDO1VBQTNDLG9DQUEyQyxFQUM1Qzs7QVI2Z0NEO0VRMWdDRSw2Q0FBNEM7VUFBNUMscUNBQTRDLEVBQzdDOztBUjRnQ0Q7RVF6Z0NFLDZDQUE0QztVQUE1QyxxQ0FBNEMsRUFDN0M7O0FSMmdDRDtFUXhnQ0UsNENBQTJDO1VBQTNDLG9DQUEyQyxFQUM1Qzs7QVIwZ0NEO0VRdmdDRSxpREFBd0Q7VUFBeEQseUNBQXdELEVBQ3pEOztBUnlnQ0Q7RVF0Z0NFLGdEQUF1RDtVQUF2RCx3Q0FBdUQsRUFDeEQ7O0FSd2dDRDtFUXJnQ0Usa0RBQXlEO1VBQXpELDBDQUF5RCxFQUMxRDs7QVJ1Z0NEO0VRcGdDRSxpREFBd0Q7VUFBeEQseUNBQXdELEVBQ3pEOztBQUtEOzs7O0dBSUc7QVJrZ0NIO0VRLy9CRSxXQUFVO0VBQ1YsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUMsRUFNeEM7RVIyL0JDO0lROS9CRSxXQUFVO0lBQ1YsaURBQXdDO1lBQXhDLHlDQUF3QyxFQUN6Qzs7QVJnZ0NIO0VRNS9CRSw4QkFBb0I7VUFBcEIsc0JBQW9CLEVBQ3JCOztBUjgvQkQ7RVEzL0JFLHVEQUFxRDtVQUFyRCwrQ0FBcUQsRUFDdEQ7O0FSNi9CRDtFUTEvQkUsd0RBQXNEO1VBQXRELGdEQUFzRCxFQUN2RDs7QVI0L0JEO0VRei9CRSx3REFBc0Q7VUFBdEQsZ0RBQXNELEVBQ3ZEOztBUjIvQkQ7RVF4L0JFLHVEQUFxRDtVQUFyRCwrQ0FBcUQsRUFDdEQ7O0FSMC9CRDtFUXYvQkUsOEJBQXFCO1VBQXJCLHNCQUFxQixFQUN0Qjs7QVJ5L0JEO0VRdC9CRSx1REFBc0Q7VUFBdEQsK0NBQXNELEVBQ3ZEOztBUncvQkQ7RVFyL0JFLHdEQUF1RDtVQUF2RCxnREFBdUQsRUFDeEQ7O0FSdS9CRDtFUXAvQkUsd0RBQXVEO1VBQXZELGdEQUF1RCxFQUN4RDs7QVJzL0JEO0VRbi9CRSx1REFBc0Q7VUFBdEQsK0NBQXNELEVBQ3ZEOztBQUtEOztHQUVHO0FSaS9CSDtFUTkrQkUsdUNBQThCO0VBQTlCLCtCQUE4QjtFQUE5QixrREFBOEIsRUFLL0I7RVIyK0JDO0lRNytCRSx3Q0FBK0I7WUFBL0IsZ0NBQStCLEVBQ2hDOztBUisrQkg7RVEzK0JFLDJDQUFrQztVQUFsQyxtQ0FBa0MsRUFDbkM7O0FSNitCRDtFUTErQkUsNENBQW1DO1VBQW5DLG9DQUFtQyxFQUNwQzs7QVI0K0JEO0VReitCRSw0Q0FBbUM7VUFBbkMsb0NBQW1DLEVBQ3BDOztBUjIrQkQ7RVF4K0JFLDJDQUFrQztVQUFsQyxtQ0FBa0MsRUFDbkM7O0FBS0Q7OztHQUdHO0FScytCSDtFUW4rQkUsb0NBQTJCO1VBQTNCLDRCQUEyQjtFQUMzQix1Q0FBOEI7RUFBOUIsK0JBQThCO0VBQTlCLGtEQUE4QixFQUMvQjs7QVJxK0JEO0VRbCtCRSx3REFBK0M7VUFBL0MsZ0RBQStDLEVBRWhEO0VSaytCQztJUW4rQmUsa0RBQXlDO1lBQXpDLDBDQUF5QyxFQUFHOztBUnMrQjdEO0VRbCtCRSx1REFBOEM7VUFBOUMsK0NBQThDLEVBRS9DO0VSaytCQztJUW4rQmUsa0RBQXlDO1lBQXpDLDBDQUF5QyxFQUFHOztBUnMrQjdEO0VRbCtCRSx3REFBK0M7VUFBL0MsZ0RBQStDLEVBRWhEO0VSaytCQztJUW4rQmUsa0RBQXlDO1lBQXpDLDBDQUF5QyxFQUFHOztBUnMrQjdEO0VRbCtCRSx1REFBOEM7VUFBOUMsK0NBQThDLEVBRS9DO0VSaytCQztJUW4rQmUsa0RBQXlDO1lBQXpDLDBDQUF5QyxFQUFHOztBQy9LN0Q7O2dGQUVnRjtBQUVoRjs7Ozs7O0dBTUc7QUFFSDs7O0VBR0UsVUFBUztFQUNULFdBQVU7RUFDVixvQkFBbUI7RUFBRSxPQUFPLEVBQzdCOztBQUdEOzs7O0dBSUc7QUFFSDtFQUNFLGNBQWE7RUFDYixpQkFBZ0I7RUFBRSxPQUFPO0VBQ3pCLHVCQUFzQixFQUV2Qjs7QUFHRDs7Ozs7O0dBTUc7QUFFSDtFQ1NJLGdCQ2xDTztFRG1DUCxrQkU5QitCO0VGbUMvQixtQkFBZ0Q7RURibEQsa0JBQWlCO0VBQ2pCLHdCSXBDNkI7RUpxQzdCLGFJeEMyQjtFSnlDM0Isc0JFMUNtQjtFRjJDbkIsbUNBQWtDO0VBQ2xDLG1DQUFrQztFQUFFLE9BQU87RUFDM0Msb0NBQW1DO0VBQUUsT0FBTztFQUM1QyxzQ0FBNkI7VUFBN0IsOEJBQTZCLEVBQzlCOztBQUdEO0VBQ0Usb0JJcEMrQjtFSnFDL0IsYUloRDZCLEVKaUQ5Qjs7QUFIRDtFQUNFLG9CSXBDK0I7RUpxQy9CLGFJaEQ2QixFSmlEOUI7O0FLM0REOztnRkFFZ0Y7QUFFaEY7Ozs7R0FJRztBQUVIO0VBQ0UsZUFBYztFQUNkLHNCQUFxQixFQUN0Qjs7QUFHRDs7R0FFRztBQUVIO0VBQ0UsVUFBUztFQUNULGlCQUFnQjtFQUFFLE9BQU87RUFDekIsY0FBYTtFQUNiLGlCQUFnQjtFQUNoQixnQkFBZSxFQUNoQjs7QUFFRDtFQUNFLFVBQVM7RUFDVCxXQUFVO0VBQ1YsVUFBUyxFQUNWOztBQUVEO0VBQ0UsVUFBUyxFQUNWOztBQUVEOzs7Ozs7RUFNRSxVQUFTO0VBQ1QsV0FBVTtFQUNWLG1CQUFrQjtFQUNsQixxQkFBb0IsRUFDckI7O0FBRUQ7RUFDRSxVQUFTO0VBQ1QsV0FBVSxFQUNYOztBQUdEOztHQUVHO0FBRUg7RUFDRSxnQkFBZTtFQUNmLGFBQVk7RUFDWix1QkFBc0I7RUFBRSxPQUFPLEVBQ2hDOztBQUdEOztHQUVHO0FBRUg7OztFQUdFLGdCQUFlO0VBQ2YsVUFBUztFQUNULGlCQUFnQjtFQUNoQixjQUFhO0VBQ2IseUJBQWdCO0tBQWhCLHNCQUFnQjtVQUFoQixpQkFBZ0I7RUFBRSxPQUFPLEVBQzFCOztBQUdEOzs7R0FHRztBQUVIO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQUVEOztFQUVFLFVBQVM7RUFDVCxXQUFVO0VBQ1Ysc0JBQXFCLEVBQ3RCOztBQUVEO0VBQ0UsVUFBUyxFQUNWOztBQUdEOztHQUVHO0FBRUg7RUFDRSxnQkFBZTtFQUNmLDBCQUF5QjtFQUFFLE9BQU8sRUFDbkM7O0FBRUQ7RUFDRSxpQkFBZ0IsRUFDakI7O0FDbEhEOztnRkFFZ0Y7QUFHaEY7RUFTRSxtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLG9CRksrQjtFRUovQixhRlA2QjtFRVE3QixnQkFBZTtFQUNmLGlCQUFnQjtFQUNoQix1QkFBc0I7RUFDdEIsaURBbEJxQyxFQW1CdEM7RUx1R0c7SUt4SEo7TUFFSSwwQkFBeUIsRUFlNUI7TUFqQkQ7UUFLTSxhQUFZLEVBQ2IsRUFBQTs7QUFhTDtFQVVFLGVGZCtCO0VFZS9CLGdCQUFlO0VBQ2YsaUJBQWdCO0VBQ2hCLHVCQUFzQjtFQUN0QiwyQkFBMEIsRUFDM0I7RUxzRkc7SUtyR0o7TUFFSSxzQkFBcUIsRUFheEI7TUFmRDtRQUtNLG9CRlQyQjtRRVUzQixhRnBCeUIsRUVxQjFCLEVBQUE7O0FDL0JMOztnRkFFZ0Y7QUFFaEY7O0dBRUc7QUFFSDtFTk1NLHFDQUEwQztFQUMxQyxzQk9NbUU7RVBGckUsWUFBVztFQUNYLGVBQWMsRU1WakI7O0FFVkQ7O2dGQUVnRjtBQUVoRjs7OztHQUlHO0FBRUg7RUFDRSxtQkFBa0I7RUFDbEIsa0JBQWlCLEVBQ2xCOztBQ2JEOztnRkFFZ0Y7QUFFaEY7Ozs7Ozs7Ozs7OztHQVlHO0FBRUg7Ozs7R0FJRztBQUVIO0VBQ0UsY0FBYSxFQUNkOztBQUdEOztHQUVHO0FBRUg7RUFDRSxjQUFhO0VBQ2IsZUFBYztFQUNkLG9CQUFtQjtFQUNuQixzQkFBMkIsRUFDNUI7O0FBR0Q7O0dBRUc7QUFFSDtFQUNFLFFBQU8sRUFDUjs7QUFjSzs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGdCUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0Usc0JQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSx1QlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxXUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsaUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSx1QlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQlBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLHVCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLFdQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSxpQlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQlBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLHVCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsdUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsV1BsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLGlCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsdUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSx1QlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxZUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFzQkQ7O1NBRUc7QUFFSDtFQUNFLHFCQVBtQixFQVFwQjs7QUFORDs7U0FFRztBQUVIO0VBQ0Usb0JBUDJCLEVBUTVCOztBQU5EOztTQUVHO0FBRUg7RUFDRSx3QkFQdUMsRUFReEM7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLHNCQVBpRCxFQVFsRDs7QUFORDs7U0FFRztBQUVIO0VBQ0Usc0JBUDJELEVBUTVEOztBQU9EOztTQUVHO0FBRUg7RUFDRSx1QkFQaUIsRUFRbEI7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLHdCQVB5QixFQVExQjs7QUFORDs7U0FFRztBQUVIO0VBQ0UsK0JBUHdDLEVBUXpDOztBQU5EOztTQUVHO0FBRUg7RUFDRSw4QkFQc0QsRUFRdkQ7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLDhCQVBvRSxFQVFyRTs7QUFPRDs7U0FFRztBQUVIO0VBQ0UsZ0JBQWdDLEVBQ2pDOztBQU5EOztTQUVHO0FBRUg7RUFDRSxpQkFBZ0MsRUFDakM7O0FBSUg7O09BRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFHRDs7T0FFRztBQUVIO0VBQ0UsU0FBUSxFQUNUOztBQUdEOztPQUVHO0FBRUg7RUFDRSw0QkFBMkIsRUFDNUI7O0FBMUZDOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsZ0JQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSxzQlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQlBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLHVCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLFdQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSxpQlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQlBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLHVCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsdUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsV1BsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLGlCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsdUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSx1QlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxXUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsaUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSx1QlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQlBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLHVCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLFlQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQXNCRDs7U0FFRztBQUVIO0VBQ0UscUJBUG1CLEVBUXBCOztBQU5EOztTQUVHO0FBRUg7RUFDRSxvQkFQMkIsRUFRNUI7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLHdCQVB1QyxFQVF4Qzs7QUFORDs7U0FFRztBQUVIO0VBQ0Usc0JBUGlELEVBUWxEOztBQU5EOztTQUVHO0FBRUg7RUFDRSxzQkFQMkQsRUFRNUQ7O0FBT0Q7O1NBRUc7QUFFSDtFQUNFLHVCQVBpQixFQVFsQjs7QUFORDs7U0FFRztBQUVIO0VBQ0Usd0JBUHlCLEVBUTFCOztBQU5EOztTQUVHO0FBRUg7RUFDRSwrQkFQd0MsRUFRekM7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLDhCQVBzRCxFQVF2RDs7QUFORDs7U0FFRztBQUVIO0VBQ0UsOEJBUG9FLEVBUXJFOztBQU9EOztTQUVHO0FBRUg7RUFDRSxnQkFBZ0MsRUFDakM7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLGlCQUFnQyxFQUNqQzs7QUFJSDs7T0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUdEOztPQUVHO0FBRUg7RUFDRSxTQUFRLEVBQ1Q7O0FBR0Q7O09BRUc7QUFFSDtFQUNFLDRCQUEyQixFQUM1Qjs7QUExRkM7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxnQlBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLHNCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsdUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsV1BsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLGlCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsdUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSx1QlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxXUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsaUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSx1QlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQlBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLHVCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLFdQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSxpQlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQlBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLHVCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsdUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsWVBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBc0JEOztTQUVHO0FBRUg7RUFDRSxxQkFQbUIsRUFRcEI7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLG9CQVAyQixFQVE1Qjs7QUFORDs7U0FFRztBQUVIO0VBQ0Usd0JBUHVDLEVBUXhDOztBQU5EOztTQUVHO0FBRUg7RUFDRSxzQkFQaUQsRUFRbEQ7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLHNCQVAyRCxFQVE1RDs7QUFPRDs7U0FFRztBQUVIO0VBQ0UsdUJBUGlCLEVBUWxCOztBQU5EOztTQUVHO0FBRUg7RUFDRSx3QkFQeUIsRUFRMUI7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLCtCQVB3QyxFQVF6Qzs7QUFORDs7U0FFRztBQUVIO0VBQ0UsOEJBUHNELEVBUXZEOztBQU5EOztTQUVHO0FBRUg7RUFDRSw4QkFQb0UsRUFRckU7O0FBT0Q7O1NBRUc7QUFFSDtFQUNFLGdCQUFnQyxFQUNqQzs7QUFORDs7U0FFRztBQUVIO0VBQ0UsaUJBQWdDLEVBQ2pDOztBQUlIOztPQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBR0Q7O09BRUc7QUFFSDtFQUNFLFNBQVEsRUFDVDs7QUFHRDs7T0FFRztBQUVIO0VBQ0UsNEJBQTJCLEVBQzVCOztBQTFGQzs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGdCUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0Usc0JQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSx1QlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxXUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsaUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSx1QlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQlBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLHVCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLFdQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSxpQlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQlBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLHVCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsdUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsV1BsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLGlCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsdUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSx1QlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxZUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFzQkQ7O1NBRUc7QUFFSDtFQUNFLHFCQVBtQixFQVFwQjs7QUFORDs7U0FFRztBQUVIO0VBQ0Usb0JBUDJCLEVBUTVCOztBQU5EOztTQUVHO0FBRUg7RUFDRSx3QkFQdUMsRUFReEM7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLHNCQVBpRCxFQVFsRDs7QUFORDs7U0FFRztBQUVIO0VBQ0Usc0JBUDJELEVBUTVEOztBQU9EOztTQUVHO0FBRUg7RUFDRSx1QkFQaUIsRUFRbEI7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLHdCQVB5QixFQVExQjs7QUFORDs7U0FFRztBQUVIO0VBQ0UsK0JBUHdDLEVBUXpDOztBQU5EOztTQUVHO0FBRUg7RUFDRSw4QkFQc0QsRUFRdkQ7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLDhCQVBvRSxFQVFyRTs7QUFPRDs7U0FFRztBQUVIO0VBQ0UsZ0JBQWdDLEVBQ2pDOztBQU5EOztTQUVHO0FBRUg7RUFDRSxpQkFBZ0MsRUFDakM7O0FBSUg7O09BRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFHRDs7T0FFRztBQUVIO0VBQ0UsU0FBUSxFQUNUOztBQUdEOztPQUVHO0FBRUg7RUFDRSw0QkFBMkIsRUFDNUI7O0FBMUZDOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsZ0JQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSxzQlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQlBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLHVCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLFdQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSxpQlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQlBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLHVCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsdUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsV1BsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLGlCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsdUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSx1QlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxXUGxDOEI7RU9tQzlCLHNCQUF3QixFQUN6Qjs7QUFRQzs7V0FFRztBQUVIO0VBQ0UsaUJQakQ0QixFT2tEN0I7O0FBdEJIOztTQUVHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQVFDOztXQUVHO0FBRUg7RUFDRSx1QlBqRDRCLEVPa0Q3Qjs7QUF0Qkg7O1NBRUc7QUFFSDtFQUNFLGVBQWM7RUFDZCxpQlBsQzhCO0VPbUM5QixzQkFBd0IsRUFDekI7O0FBUUM7O1dBRUc7QUFFSDtFQUNFLHVCUGpENEIsRU9rRDdCOztBQXRCSDs7U0FFRztBQUVIO0VBQ0UsZUFBYztFQUNkLFlQbEM4QjtFT21DOUIsc0JBQXdCLEVBQ3pCOztBQXNCRDs7U0FFRztBQUVIO0VBQ0UscUJBUG1CLEVBUXBCOztBQU5EOztTQUVHO0FBRUg7RUFDRSxvQkFQMkIsRUFRNUI7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLHdCQVB1QyxFQVF4Qzs7QUFORDs7U0FFRztBQUVIO0VBQ0Usc0JBUGlELEVBUWxEOztBQU5EOztTQUVHO0FBRUg7RUFDRSxzQkFQMkQsRUFRNUQ7O0FBT0Q7O1NBRUc7QUFFSDtFQUNFLHVCQVBpQixFQVFsQjs7QUFORDs7U0FFRztBQUVIO0VBQ0Usd0JBUHlCLEVBUTFCOztBQU5EOztTQUVHO0FBRUg7RUFDRSwrQkFQd0MsRUFRekM7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLDhCQVBzRCxFQVF2RDs7QUFORDs7U0FFRztBQUVIO0VBQ0UsOEJBUG9FLEVBUXJFOztBQU9EOztTQUVHO0FBRUg7RUFDRSxnQkFBZ0MsRUFDakM7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLGlCQUFnQyxFQUNqQzs7QUFJSDs7T0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUdEOztPQUVHO0FBRUg7RUFDRSxTQUFRLEVBQ1Q7O0FBR0Q7O09BRUc7QUFFSDtFQUNFLDRCQUEyQixFQUM1Qjs7QUN2Skw7O2dGQUVnRjtBQ0ZoRjs7Z0ZBRWdGO0FBRWhGOzs7O0dBSUc7QUFFSDtFQUtNLG1CQUFrQjtFQUFFLE9BQU8sRUFDNUI7O0FBTkw7RUFVSSxzQkFBcUIsRUFDdEI7O0FBWEg7RUFjSSx5QkFBd0IsRUFDekI7O0FBZkg7RUFrQkksYVJyQnlCLEVRMEIxQjtFQXZCSDtJQXFCTSwyQkFBMEIsRUFDM0I7O0FDNUJMO0VBRUksMEJBQXlCLEVBYzFCO0VBaEJIO0lBS00sK0JBQThCO0lBQzlCLDBCQUFrQztJQUNsQywyQkFBMEI7SUFDMUIsOEJBQTZCO0lBQzdCLDRCQUEyQjtJQUMzQixrQ0FBaUMsRUFLbEM7SUFmTDtNQWFRLDhCQUE2QixFQUM5Qjs7QUFkUDtFQW1CSSxtQkFBa0IsRUFDbkI7O0FDcEJIO0VBQ0UsaUJBQWdCLEVBNFBqQjtFQTdQRDtJQUlJLGNBQWE7SUFDYixnQkFBZTtJQUNmLCtCQUE4QixFQUMvQjtFYmtKQztJYXpKSjtNQVdNLG1CQUFrQixFQTJDckIsRUFBQTtFYitFQztJYXJJSjtNQWVNLHVCQUFzQjtNQUN0QixtQkFBa0IsRUFzQ3JCO01BdERIO1FBbUJRLGlCQUFnQjtRQUNoQixzQkFBcUIsRUFDdEIsRUFBQTtFQXJCUDtJQTJCTSxXQUFVLEVBQ1g7RUE1Qkw7SUErQk0sV0FBVSxFQUNYO0VBaENMO0lBbUNNLFlBQVc7SUFDWCxpQkFBZ0I7SUFDaEIsYUFBWTtJQUNaLGtCQUFpQixFQUNsQjtFQXZDTDtJQThDTSxtQkFBa0I7SUFDbEIsVUFBUztJQUNULDBDQUFpQztZQUFqQyxrQ0FBaUMsRUFDbEM7SWJ3R0Q7TWF6Sko7UUEyQ1EsT0FBTSxFQU1ULEVBQUE7RUFqREw7SUFpRUksb0JBQW1CO0lBQ25CLGVWbEQ2QjtJVW1EN0IsZ0JBQWU7SUFDZixpQkFBZ0I7SUFDaEIsa0JBQWlCLEVBQ2xCO0liK0VDO01hckpKO1FBMERNLG9CQUFtQixFQVl0QixFQUFBO0libUZDO01hekpKO1FBOERNLG9CQUFtQixFQVF0QixFQUFBO0VBdEVIO0lBMEVJLGdCQUFlLEVBQ2hCO0VBM0VIO0lBb0ZJLGlCQUFnQjtJQUNoQixlVnJFNkI7SVVzRTdCLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLHVCQUFzQjtJQUN0QixrQkFBaUIsRUFDbEI7SWIyQ0M7TWFySUo7UUFnRk0saUJBQWdCO1FBQ2hCLGFBQVksRUFTZixFQUFBO0ViK0JDO0lhekhKO01BOEZNLHNCQUFxQjtNQU9yQix1QkFBc0IsRUFFekI7TUF2R0g7UUFpR1Esb0JWakZ5QjtRVWtGekIsYVY1RnVCLEVVNkZ4QixFQUFBO0VBbkdQO0lBZ0pJLGNBQWE7SUFDYixnQkFBZTtJQUVmLG9CQUFtQjtJQUNuQixpQkFBZ0IsRUEyQmpCO0lBckVDO01BMUdKO1FBMkdNLFdBQVU7UUFDVixpQkFBZ0I7UUFDaEIsdUJBQXNCLEVBa0V6QjtRQS9LSDtVQWdIUSx3QkFBdUI7VUFDdkIsdUJBQXNCO1VBQ3RCLHVCQUFzQjtVQUN0QixtQkFBa0IsRUFDbkIsRUFBQTtJQUdIO01BdkhKO1FBd0hNLGtCQUFpQjtRQUNqQixZQUFXO1FBQ1gsaUJBQWdCO1FBQ2hCLHVCQUFzQixFQW9EekI7UUEvS0g7VUE4SFEsNEJBQTJCO1VBQzNCLHVCQUFzQjtVQUN0Qix1QkFBc0I7VUFDdEIsbUJBQWtCLEVBQ25CLEVBQUE7SWJESDtNYWpJSjtRQXVJTSxpQkFBZ0I7UUFDaEIsdUJBQXNCLEVBdUN6QjtRQS9LSDtVQTJJUSxXQUFVO1VBQ1YsbUJBQWtCLEVBQ25CLEVBQUE7SUE3SVA7TUF3Sk0sb0JBQW1CO01BQ25CLFdBQVU7TUFDVixlVjFJMkI7TVUySTNCLGdCQUFlO01BQ2YsbUJBQWtCO01BQ2xCLGlCQUFnQjtNQUNoQix1QkFBc0IsRUFnQnZCO01BOUtMO1FBaUtRLHNCQUFxQjtRQUNyQixtQkFBa0I7UUFDbEIsVUFBUztRQUNULFlBQVc7UUFDWCxhQUFZO1FBQ1osY0FBYTtRQUNiLG1CQUFrQjtRQUNsQixpQkFBZ0IsRUFDakI7TUF6S1A7UUE0S1Esc0JBQXFCLEVBQ3RCO0VBN0tQO0lBMkxJLG1CQUFrQjtJQUNsQixTQUFRO0lBQ1IsV0FBVTtJQUNWLGlCQUFnQixFQWtDakI7SWIzRkM7TWFySUo7UUFtTE0saUJBQWdCO1FBQ2hCLG1CQUFrQixFQTRDckI7UUFoT0g7VUF1TFEsNEJBQTJCLEVBQzVCLEVBQUE7SUF4TFA7TUFxTU0sY0FBYTtNQUNiLG9CQUFtQjtNQUNuQixvQkFBbUI7TUFDbkIsZVZ4TDJCO01VeUwzQixnQkFBZTtNQUNmLG1CQUFrQjtNQUNsQixpQkFBZ0I7TUFDaEIsdUJBQXNCLEVBbUJ2QjtNYjFGRDtRYXJJSjtVQWtNUSxlQUFjLEVBNkJqQixFQUFBO01BL05MO1FBK01RLHNCQUFxQjtRQUNyQixtQkFBa0I7UUFDbEIsVUFBUztRQUNULFlBQVc7UUFDWCxhQUFZO1FBQ1osY0FBYTtRQUNiLG1CQUFrQixFQUNuQjtNQXROUDtRQXlOUSxzQkFBcUIsRUFDdEI7TUExTlA7UUE2TlEsMkJBQTBCLEVBQzNCO0VBOU5QO0lBOE9JLFlBQVc7SUFDWCxhQUFZO0lBQ1osaUJBQWdCO0lBQ2hCLG9CQUFtQjtJQUNuQixrQlY1TzJCO0lVNk8zQixrQkFBaUI7SUFDakIsbUJBQWtCO0lBQ2xCLGdCQUFlLEVBT2hCO0libkdDO01hekpKO1FBb09NLHVCQUFzQixFQXdCekIsRUFBQTtJYnZHQztNYXJKSjtRQXdPTSxpQkFBZ0I7UUFDaEIsbUJBQWtCO1FBQ2xCLG9CQUFtQjtRQUNuQixrQkFBaUIsRUFpQnBCLEVBQUE7SUE1UEg7TUF3UE0sZVZ4TzJCO01VeU8zQixnQkFBZTtNQUNmLDBDQUFpQztjQUFqQyxrQ0FBaUMsRUFDbEM7O0FBSUw7RUFTRSxtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLG1CQUFrQixFQWVuQjtFYmhJRztJYXNHSjtNQUVJLG1CQUFrQixFQXdCckIsRUFBQTtFYnBJRztJYTBHSjtNQU1JLG1CQUFrQixFQW9CckIsRUFBQTs7QUFFRDtFQTRHRSxtQkFBa0I7RUFDbEIsZ0JBQWU7RUFDZixXQUFVO0VBQ1YsNEJBQW1CO1VBQW5CLG9CQUFtQixFQTRIcEI7RWJqWEc7SWFzSUo7TUFHSSxpQkFBZ0IsRUF3T25CLEVBQUE7RWJ6WEc7SWE4SUo7TUFPSSx5QkFBd0IsRUFvTzNCO01BM09EO1FBVU0sV0FBVTtRQUNWLGlCQUFnQjtRQUNoQixVQUFTLEVBQ1YsRUFBQTtFYi9JRDtJYWtJSjtNQWlCSSxzQkFBcUI7TUFDckIsV0FBVSxFQXlOYixFQUFBO0VBbE5DO0lBekJGO01BMkJNLCtCQUE4QixFQWlCL0I7TUE1Q0w7UUE4QlEsWUFBVyxFQVFaO1FBdENQO1VBaUNVLGVBQWM7VUFDZCxtQkFBa0I7VUFDbEIsb0JBQW1CO1VBQ25CLGtCQUFpQixFQUNsQjtNQXJDVDtRQXlDUSxTQUFRO1FBQ1IsOEJBQTZCLEVBQzlCLEVBQUE7RWJyTUg7SWEwSko7TUFnREkseUJBQXdCLEVBMkwzQjtNQTNPRDtRQW1ETSxpQkFBZ0IsRUFPakI7UUExREw7VUFzRFEsY0FBYTtVQUNiLG9CQUFtQjtVQUNuQiwwQkFBeUIsRUFDMUI7TUF6RFA7UUE2RE0sVUFBUyxFQUNWO01BOURMO1FBcUVNLGlCQUFnQixFQUNqQjtNQXRFTDtRQXlFTSxjQUFhO1FBQ2IsaUJBQWdCLEVBQ2pCLEVBQUE7RWI3TkQ7SWFrSko7TUFtRlEsNEJBQTJCLEVBQzVCO0lBcEZQO01BdUZRLGNBQWE7TUFDYixvQkFBbUI7TUFDbkIsMEJBQXlCLEVBQzFCO0lBMUZQO01BOEZNLHlCQUF3QixFQUt6QjtNQW5HTDtRQWlHUSxZQUFXLEVBQ1o7SUFsR1A7TUFzR00sY0FBYTtNQUNiLGlCQUFnQixFQUNqQixFQUFBO0VBeEdMO0lBa0hJLDRCQUFtQjtZQUFuQixvQkFBbUIsRUFDcEI7RUFuSEg7SUFzSEksT0FBTSxFQUNQO0VBdkhIO0lBMEhJLGdCQUFlLEVBQ2hCO0VBM0hIO0lBMklJLGVBQWM7SUFDZCxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLFlBQVc7SUFDWCxjQUFhO0lBQ2IsK0JBQXNCO1lBQXRCLHVCQUFzQjtJQUN0QixvQlZuYTZCO0lVb2E3QixZQUFXLEVBQ1o7SWI3U0M7TWEwSko7UUErSE0sV0FBVSxFQW9CYixFQUFBO0lialNDO01hOElKO1FBbUlNLFdBQVUsRUFnQmIsRUFBQTtJYnJSQztNYWtJSjtRQXVJTSxXQUFVLEVBWWIsRUFBQTtFQW5KSDtJQThKSSxlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLGVBQWM7SUFDZCxZQUFXO0lBQ1gsY0FBYTtJQUNiLGdDQUF1QjtZQUF2Qix3QkFBdUI7SUFDdkIsb0JWdGI2QjtJVXViN0IsWUFBVztJQUNYLFlBQVcsRUFDWjtJYnpTQztNYWtJSjtRQXVKTSxjQUFhLEVBZ0JoQixFQUFBO0liclRDO01hOElKO1FBMkpNLGNBQWEsRUFZaEIsRUFBQTtFQXZLSDtJQW9MSSxtQkFBa0I7SUFDbEIsaUJBQWdCO0lBQ2hCLGVBQWMsRUFDZjtJYnpUQztNYWtJSjtRQTJLTSxpQkFBZ0I7UUFDaEIsdUJBQXNCLEVBV3pCLEVBQUE7SWI3VEM7TWFzSUo7UUFnTE0saUJBQWdCO1FBQ2hCLHlCQUF3QixFQU0zQixFQUFBO0VBdkxIO0lBK0xNLFdBQVU7SUFDVixnQkFBZSxFQUNoQjtJYm5VRDtNYWtJSjtRQTRMUSxZQUFXLEVBS2QsRUFBQTtFQWpNTDtJQXdNTSxXQUFVO0lBQ1YsYUFBWTtJQUNaLGtCQUFpQixFQUNsQjtJYjdVRDtNYWtJSjtRQXFNUSxZQUFXLEVBTWQsRUFBQTtFQTNNTDtJQXlOSSxhQUFZO0lBQ1osY0FBYTtJQUNiLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFDbkIscUJBQWlCO09BQWpCLGtCQUFpQixFQUNsQjtJYnhYQztNYTBKSjtRQWtOTSxnQkFBZSxFQVlsQixFQUFBO0liNVdDO01hOElKO1FBc05NLGdCQUFlLEVBUWxCLEVBQUE7RUE5Tkg7SUFrT00saUJBQWdCLEVBQ2pCO0VBbk9MO0lBd09NLDJCQUEwQixFQUMzQjs7QUFJTDtFQUNFLG9CVmhnQitCLEVVaWdCaEM7O0FBRUQ7RUFDRSxrQlZ2Z0I2QixFVXdnQjlCOztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLGdDQUF1QjtVQUF2Qix3QkFBdUIsRUFLeEI7RUFQRDtJQUtJLCtCQUFzQjtZQUF0Qix1QkFBc0IsRUFDdkI7O0FBK0VIO0VBQ0UsaUNBQWdDLEVBS2pDO0VBTkQ7SUFJSSx5QkFBd0IsRUFDekI7O0FiemVDO0VhNGVKO0lBR00saUJBQWdCLEVBTWpCO0lBVEw7TUFNUSxjQUFhO01BQ2IsbUJBQWtCLEVBQ25CO0VBUlA7SUFZTSxVQUFTLEVBQ1Y7RUFiTDtJQWdCTSx5QkFBd0IsRUFLekI7SUFyQkw7TUFtQlEsdUJBQXNCLEVBQ3ZCLEVBQUE7O0FiaGZIO0VhNGRKO0lBK0JNLHVCQUFzQixFQVV2QjtJQXpDTDtNQXNDUSxtQkFBa0I7TUFDbEIsa0JBQWlCLEVBQ2xCLEVBQUE7O0FBeENQO0VBOENJLGNBQWEsRUFDZDs7QWJ2aEJDO0VhMGhCSjtJQUdNLFlBQVc7SUFDWCxtQkFBa0IsRUFNbkI7SUFWTDtNQU9RLGVBQWM7TUFDZCxZQUFXLEVBQ1osRUFBQTs7QUFUUDtFQWtCSSxtQkFBa0IsRUFLbkI7RWI3akJDO0lhc2lCSjtNQWVNLGNBQWEsRUFRaEIsRUFBQTtFQXZCSDtJQXFCTSxpQkFBZ0IsRUFDakI7O0FBdEJMO0VBMEJJLHNCQUFxQixFQUN0Qjs7QUFHSDtFQUNFLG1CQUFrQjtFQUNsQixpQkFBZ0IsRUE0R2pCO0VBOUdEO0lBU0ksNEJBQTJCO0lBQzNCLGtCQUFpQixFQXVGbEI7SWI3b0JDO01hNGlCSjtRQU1NLCtCQUE4QixFQTJGakMsRUFBQTtJYjdvQkM7TWE0aUJKO1FBZVUsMkJBQTBCLEVBQzNCO01BaEJUO1FBbUJVLGNBQWEsRUFDZCxFQUFBO0lBcEJUO01BOEJRLGVBQWM7TUFDZCxhQUFZO01BQ1osY0FBYTtNQUNiLGlCQUFnQjtNQUNoQixrQkFBaUI7TUFDakIsa0JBQWlCO01BQ2pCLG9CQUFtQjtNQUNuQixxQkFBaUI7U0FBakIsa0JBQWlCLEVBQ2xCO01ibGxCSDtRYTRpQko7VUEwQlUsbUJBQWtCO1VBQ2xCLGtCQUFpQixFQVdwQixFQUFBO0lBdENQO01BMENRLDBCQUF5QjtNQUN6QixXQUFVO01BQ1YsaUJBQWdCLEVBQ2pCO0lBN0NQO01BZ0RRLDBCQUF5QjtNQUN6QixXQUFVLEVBQ1g7SUFsRFA7TUE4RE0sY0FBYTtNQUViLG9CQUFtQjtNQUNuQixpQkFBZ0IsRUErQmpCO01iNW9CRDtRYTRpQko7VUF1RFEsZUFBYyxFQXlDakI7VUFoR0w7WUEwRFUsMEJBQXlCLEVBQzFCLEVBQUE7TUEzRFQ7UUFvRVEsY0FBYTtRQUNiLG9CQUFtQjtRQUNuQixXQUFVO1FBQ1YsZVZwdkJ5QjtRVXF2QnpCLGdCQUFlO1FBQ2YsbUJBQWtCO1FBQ2xCLGlCQUFnQjtRQUNoQix1QkFBc0IsRUFvQnZCO1FBL0ZQO1VBOEVVLHNCQUFxQjtVQUNyQixtQkFBa0I7VUFDbEIsVUFBUztVQUNULFlBQVc7VUFDWCxhQUFZO1VBQ1osY0FBYTtVQUNiLG1CQUFrQjtVQUNsQixpQkFBZ0IsRUFDakI7UUF0RlQ7VUF5RlUsc0JBQXFCLEVBQ3RCO1FBMUZUO1VBNkZVLDJCQUEwQixFQUMzQjtFQTlGVDtJQW9HSSxlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLGVBQWM7SUFDZCxZQUFXO0lBQ1gsY0FBYTtJQUViLG9CVjl4QjZCO0lVK3hCN0IsWUFBVztJQUNYLFlBQVcsRUFDWjs7QUM5eUJIOztnRkFFZ0Y7QUFFaEY7RUFLRSxpQkFBZ0I7RUFDaEIsbUJBQWtCLEVBa0RuQjtFZGlHRztJY3pKSjtNQUVJLGtCQUFpQixFQXNEcEIsRUFBQTtFQXhERDtJQVNJLFdBQVU7SUFDVixpQkFBZ0I7SUFDaEIsWUFBVztJQUNYLHVCQUFzQjtJQUN0QixvQlhINkIsRVdJOUI7RUFkSDtJQWlCSSxXQUFVO0lBQ1YsYUFBWSxFQXdCYjtJQTFDSDtNQTZCTSxrQkFBaUI7TUFDakIsb0JBQW1CO01BQ25CLGdDWGYyQjtNV2dCM0IsZVhoQjJCO01XaUIzQixnQkFBZTtNQUNmLGlCQUFnQjtNQUNoQix1QkFBc0I7TUFDdEIsa0JBQWlCLEVBS2xCO01kZ0ZEO1FjekhKO1VBc0JRLHVCQUFzQixFQW1CekI7VUF6Q0w7WUF5QlUsYUFBWSxFQUNiLEVBQUE7TUExQlQ7UUF1Q1EsZ0JBQWUsRUFDaEI7RUF4Q1A7SUFpREksV0FBVTtJQUNWLHVCQUFzQjtJQUN0QixlWG5DNkI7SVdvQzdCLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLHVCQUFzQixFQUN2QjtJZGtHQztNY3pKSjtRQThDTSxXQUFVLEVBU2IsRUFBQTs7QUFHSDtFQUNFLHVCQUFzQixFQUN2Qjs7QUFFRDtFQUtFLHVCQUFzQixFQUN2QjtFZDZFRztJY25GSjtNQUVJLGlCQUFnQixFQUluQixFQUFBOztBQ25FRDs7RUFNRSxrQkFBaUIsRUFzT2xCO0VmcEZHO0lleEpKOztNQUdJLHFCQUFvQixFQXlPdkIsRUFBQTtFQTVPRDs7SUFTSSxpQkFBZ0IsRUFDakI7RUFWSDs7SUFhSSxvQkFBbUI7SUFDbkIsZVpDNkI7SVlBN0IsZ0JBQWU7SUFDZixpQkFBZ0I7SUFDaEIsdUJBQXNCO0lBQ3RCLG1CQUFrQixFQUNuQjtFQW5CSDs7OztJQXdCSSxtQkFBa0IsRUFtTm5CO0lBM09IOzs7O01Bc0NNLGNBQWE7TUFDYixnQkFBZTtNQUNmLFlBQVcsRUFpRVo7TWYrQ0Q7UWV4Sko7Ozs7VUE4QlUsdUJBQXNCLEVBQ3ZCO1FBL0JUOzs7O1VBa0NVLHVCQUFzQixFQUN2QixFQUFBO01BbkNUOzs7O1FBMkNRLGVBQWM7UUFDZCxXQUFVO1FBQ1YsaUJBQWdCO1FBQ2hCLGVaL0J5QjtRWWdDekIsZ0JBQWU7UUFDZixpQkFBZ0I7UUFDaEIsdUJBQXNCLEVBQ3ZCO01BbERQOzs7O1FBcURRLGNBQWEsRUFDZDtNQXREUDs7OztRQXlEUSxXQUFVLEVBQ1g7TUExRFA7Ozs7UUE2RFEsbUJBQWtCO1FBQ2xCLFlBQVcsRUFDWjtNQS9EUDs7Ozs7Ozs7UUFtRVEsWUFBVztRQUNYLGFBQVk7UUFDWixvQkFBbUI7UUFDbkIsbUJBQWtCO1FBQ2xCLDBCWnJEeUI7UVlzRHpCLG1CQUFrQjtRQUNsQix3QkFBdUI7UUFDdkIsZ0JBQWU7UUFDZixpQkFBZ0I7UUFDaEIsdUJBQXNCLEVBRXZCO01BOUVQOzs7O1FBaUZRLG1CQUFrQjtRQUNsQixVQUFTO1FBQ1QsWUFBVztRQUNYLGVadkRpQjtRWXdEakIsWUFBVyxFQUNaO01BdEZQOzs7O1FBeUZRLGNBQWEsRUFDZDtNQTFGUDs7OztRQTZGUSxZQUFXO1FBQ1gsY0FBYTtRQUNiLG9CQUFtQjtRQUNuQixjQUFhO1FBQ2IsMEJaL0V5QjtRWWdGekIsbUJBQWtCO1FBQ2xCLGdCQUFlO1FBQ2YsaUJBQWdCO1FBQ2hCLHVCQUFzQjtRQUV0QixhQUFZLEVBQ2I7SUF4R1A7Ozs7TUE2R00sY0FBYSxFQUNkO0lBOUdMOzs7O01BcUhNLFdBQVUsRUFDWDtNZmtDRDtRZXhKSjs7OztVQWtIUSxZQUFXLEVBSWQsRUFBQTtJQXRITDs7Ozs7Ozs7TUE2SFEsc0JBQXFCO01BV3ZCLGVBQWM7TUFDZCxtQkFBa0I7TUFDbEIsdUJBQXNCO01BQ3RCLDZCQUE0QjtNQUM1QixtQkFBa0I7TUFDbEIsb0JaN0gyQjtNWThIM0IsYVp6SXlCO01ZMEl6QixnQkFBZTtNQUNmLGlCQUFnQjtNQUNoQix1QkFBc0I7TUFDdEIsaURWcEppQztNVXFKakMsZ0JBQWUsRUFFaEI7TWY3QkQ7UWV4SEo7Ozs7Ozs7O1VBaUlRLDBCQUF5QixFQW9CNUI7VUFySkw7Ozs7Ozs7O1lBb0lVLGFBQVksRUFDYixFQUFBO0lBcklUOzs7O01Bd0pNLGVBQWM7TUFDZCxtQkFBa0I7TUFDbEIsYUFBWSxFQWlCYjtNQTNLTDs7OztRQTZKUSxtQkFBa0I7UUFDbEIsVUFBUztRQUNULFlBQVc7UUFDWCxhWjNKdUIsRVk0SnhCO01BaktQOzs7O1FBb0tRLGNBQWE7UUFDYixZQUFXO1FBQ1gsYUFBWTtRQUNaLGVaL0p5QjtRWWdLekIsbUNBQWtDO1FBQ2xDLGlCQUFnQixFQUNqQjtJQTFLUDs7OztNQStLTSx1QkFBc0IsRUFDdkI7SUFoTEw7Ozs7TUFtTE0sV0FBVTtNQUNWLG9CQUFtQixFQXlCcEI7TUE3TUw7Ozs7UUErTFEsc0JBQXFCO1FBQ3JCLG1CQUFrQjtRQUNsQixXQUFVO1FBQ1YsYUFBWTtRQUNaLGlCQUFnQjtRQUVoQixtQkFBa0I7UUFDbEIsb0JadEx5QjtRWXVMekIsYVpsTXVCO1FZbU12QixnQkFBZTtRQUNmLGlCQUFnQjtRQUNoQix1QkFBc0I7UUFDdEIsaURWN00rQixFVThNaEM7UWZwREg7VWV4Sko7Ozs7WUF3TFUsV0FBVSxFQW9CYixFQUFBO1FmaEVIO1VlNUlKOzs7O1lBNExVLFdBQVUsRUFnQmIsRUFBQTtJQTVNUDs7OztNQXFOTSxZQUFXO01BQ1gsaUJBQWdCLEVBQ2pCO01mL0REO1FleEpKOzs7O1VBaU5RLFlBQVc7VUFDWCxlQUFjLEVBS2pCLEVBQUE7SUF2Tkw7Ozs7TUEwTk0sY0FBYTtNQUNiLGtCQUFpQjtNQUNqQiwrQkFBOEI7TUFDOUIsWUFBVyxFQUtaO01BbE9MOzs7O1FBZ09RLFdBQVUsRUFDWDtJQWpPUDs7OztNQXFPTSxZQUFXLEVBQ1o7SUF0T0w7Ozs7TUF5T00sY0FBYSxFQUNkOztBQUlMO0VBS0UsMEJBQXlCO0VBQ3pCLFlBQVc7RUFDWCxrQkFBaUI7RUFDakIsb0JBQW1CO0VBQ25CLGtCQUFpQjtFQUNqQixlWnZOcUIsRVl3TnRCO0VmakdHO0llc0ZKO01BRUksZ0JBQWUsRUFTbEIsRUFBQTs7QUFFRDtFQUNFLFlBQVc7RUFDWCxvQkFBbUI7RUFDbkIsbUJBQWtCLEVBQ25COztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLG1CQUFrQixFQW1CbkI7RUFyQkQ7SUFLSSxlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxZQUFXO0lBQ1gsY0FBYTtJQUNiLGdDQUF1QjtZQUF2Qix3QkFBdUI7SUFDdkIsb0JacFE2QjtJWXFRN0IsWUFBVztJQUNYLFlBQVcsRUFDWjtFQWRIO0lBa0JNLGNBQWEsRUFDZDs7QUFJTDtFQUNFLGtCQUFpQixFQUNsQjs7QUMzUkQ7RUF3QkUsbUJBQWtCO0VBQ2xCLFlBQVc7RUFDWCxjQUFhO0VBQ2Isb0JibEIrQjtFYW1CL0IsZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsMEJBQXlCO0VBQ3pCLFlBQVcsRUF1SVo7RUFyS0M7SUFERjtNQUdNLDBCQUF5QixFQUMxQixFQUFBO0VBR0g7SUFQRjtNQVNNLGNBQWE7TUFDYixnQkFBZTtNQUNmLE9BQU07TUFDTixTQUFRO01BQ1IsVUFBUztNQUNULFFBQU87TUFDUCxrQmJUeUI7TWFVekIsWUFBVyxFQUNaO0lBakJMO01Bb0JNLDBCQUF5QixFQUMxQixFQUFBO0VBckJMO0lBa0NJLGNBQWE7SUFDYixvQkFBbUI7SUFDbkIsK0JBQThCO0lBQzlCLGtCQUFpQjtJQUNqQixhQUFZLEVBTWI7SUE1Q0g7TUF5Q00sWUFBVztNQUNYLGNBQWEsRUFDZDtFQTNDTDtJQW1ESSxjQUFhO0lBQ2IsbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCxZQUFXO0lBQ1gsZWJ2QzZCO0lhd0M3QixnQkFBZTtJQUNmLGdCQUFlLEVBQ2hCO0lBWEM7TUEvQ0o7UUFnRE0sZUFBYyxFQVVqQixFQUFBO0VBMURIO0lBeUVJLHFCQUFvQjtJQUNwQixvQkFBbUI7SUFDbkIsWUFBVyxFQTBEWjtJQXhFQztNQTdESjtRQStEUSxpQkFBZ0IsRUFPakI7UUF0RVA7VUFrRVUsZUFBYztVQUNkLHVCQUFzQjtVQUN0QixtQkFBa0IsRUFDbkIsRUFBQTtJQXJFVDtNQThFTSxzQkFBcUI7TUFDckIsa0JBQWlCLEVBcURsQjtNQXBJTDtRQTBGUSx1QkFBc0I7UUFDdEIsZWIzRXlCO1FhNEV6Qix1QkFBc0IsRUFDdkI7UWhCNEJIO1VnQnpISjtZQW1GVSxXQUFVLEVBVWI7WUE3RlA7Y0FzRlksYUFBWSxFQUNiLEVBQUE7TUF2Rlg7UUFrR1UsY0FBYTtRQUNiLGtCQUFpQjtRQUNqQixtQ0FBa0M7UUFDbEMsaUJBQWdCLEVBQ2pCO01BdEdUO1FBeUdVLG1CQUFrQjtRQUNsQixnQkFBZSxFQUNoQjtNQTNHVDtRQWlIVSxjQUFhO1FBQ2Isa0JBQWlCO1FBQ2pCLG1DQUFrQztRQUNsQyxpQkFBZ0IsRUFDakI7TUFySFQ7UUF3SFUsbUJBQWtCO1FBQ2xCLGdCQUFlLEVBQ2hCO01BMUhUO1FBK0hVLG1CQUFrQjtRQUNsQixvQkFBbUI7UUFDbkIsa0JiM0hxQixFYTRIdEI7RUFsSVQ7SUF3SUksY0FBYTtJQUNiLFlBQVc7SUFDWCxhQUFZO0lBQ1osbUJBQWtCO0lBQ2xCLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLHVCQUFzQjtJQUN0QixtQkFBa0IsRUFPbkI7SUF0Skg7TUFrSk0sb0JBQW1CO01BQ25CLGVickhtQjtNYXNIbkIsZ0JBQWUsRUFDaEI7RUFJRDtJQXpKSjtNQTBKTSwwQkFBeUIsRUFFNUIsRUFBQTtFQTVKSDtJQStKSSxtQkFBa0IsRUFNbkI7SUFyS0g7TUFrS00sMEJBQWtDO01BQ2xDLGlCQUFnQixFQUNqQjs7QUNwS0w7RUFDRSxZQUFXO0VBQ1gsbUJBQWtCLEVBV25CO0VBYkQ7SUFLSSxlQUFjO0lBQ2QsZWRVNkI7SWNUN0IsZ0JBQWUsRUFDaEI7RUFSSDtJQVdJLGlCQUFnQixFQUNqQjs7QUNoQkg7O2dGQUVnRjtBQUVoRjtFQUNFLG1CQUFrQjtFQW1CbEIsNkJBQTRCO0VBQzVCLG9CQUFtQjtFQTJIbkIsdUJBQXNCLEVBQ3ZCO0VsQnhCRztJa0J6SEo7TUFJSSx1QkFBc0I7TUFDdEIsV0FBVSxFQTRJYjtNQWpKRDtRQVFNLGNBQWEsRUFDZCxFQUFBO0VBR0g7SUFaRjtNQWFJLHVCQUFzQixFQW9JekIsRUFBQTtFbEJoQkc7SWtCaklKO01BaUJJLDZCQUE0QixFQWdJL0IsRUFBQTtFQWpKRDtJQWlDSSxZQUFXO0lBQ1gsY0FBYTtJQUNiLHVCQUFzQjtJQUN0QixpQ0FBZ0M7SUFDaEMscUJBQWlCO09BQWpCLGtCQUFpQixFQUNsQjtJbEJtSEM7TWtCekpKO1FBMEJNLGNBQWEsRUFZaEIsRUFBQTtJbEIyRkM7TWtCaklKO1FBOEJNLGNBQWEsRUFRaEIsRUFBQTtFQXRDSDtJQTZDSSxjQUFhLEVBNEZkO0lsQmdCQztNa0J6Sko7UUEwQ00sbUJBQWtCLEVBK0ZyQixFQUFBO0lBeklIO01Bb0RNLGlCQUFnQjtNQUNoQixlZnJDMkI7TWVzQzNCLGdCQUFlO01BQ2YsaUJBQWdCLEVBQ2pCO01sQjZFRDtRa0JySUo7VUFpRFEsaUJBQWdCLEVBT25CLEVBQUE7SUF4REw7TUEyRE0sb0JBQW1CO01BQ25CLGVmM0MyQjtNZTRDM0IsZ0JBQWU7TUFDZix1QkFBc0IsRUFLdkI7TUFuRUw7UUFpRVEsa0JBQWlCLEVBQ2xCO0lBbEVQO01BMEVNLFlBQVc7TUFDWCxpQkFBZ0IsRUFtQ2pCO01BOUdMO1FBOEVRLGNBQWE7UUFDYixZQUFXO1FBQ1gsZ0JBQWU7UUFDZixpQ2Y5RHlCLEVlMEYxQjtRQTdHUDtVQW9GVSxxQ0FBb0MsRUFDckM7UUFyRlQ7VUFnR1UsV0FBVTtVQUNWLGVmakZ1QjtVZWtGdkIsZ0JBQWU7VUFDZixpQkFBZ0I7VUFDaEIsdUJBQXNCLEVBQ3ZCO1VsQm9ETDtZa0J6Sko7Y0E2RlksV0FBVSxFQVFiLEVBQUE7UUFyR1Q7VUF3R1UsWUFBVztVQUNYLGVmekZ1QjtVZTBGdkIsaUJBQWdCO1VBQ2hCLHVCQUFzQixFQUN2QjtJQTVHVDtNQTBITSxjQUFhO01BQ2Isb0JBQW1CO01BQ25CLCtCQUE4QjtNQUM5QixZQUFXO01BQ1gsaUJBQWdCLEVBVWpCO01sQmlCRDtRa0J6Sko7VUFrSFEsZUFBYyxFQXNCakI7VUF4SUw7WUFxSFUsZUFBYztZQUNkLGtDQUFpQyxFQUNsQyxFQUFBO01BdkhUO1FBcUlRLGtCQUFpQjtRQUNqQixtQkFBa0IsRUFDbkI7UWxCRkg7VWtCcklKO1lBa0lVLGdCQUFlLEVBS2xCLEVBQUE7RUF2SVA7SUE0SUksdUJBQXNCO0lBQ3RCLGlCQUFnQixFQUNqQjs7QUFLSDtFQUtFLHVCQUFzQixFQUN2QjtFbEJoQ0c7SWtCMEJKO01BRUksOEJBQXFCO2NBQXJCLHNCQUFxQixFQUl4QixFQUFBOztBQUVEO0VBaUJFLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sU0FBUTtFQUNSLFFBQU87RUFDUCxjQUFhO0VBQ2IscUNmL0pvQztFZWdLcEMsWUFBVyxFQWFaO0VsQnRDRztJa0JFSjtNQUVJLGNBQWEsRUFrQ2hCO01BcENEO1FBS00sOEJBQTZCLEVBQzlCLEVBQUE7RWxCaENEO0lrQjBCSjtNQVVJLGNBQWEsRUEwQmhCO01BcENEO1FBYU0sOEJBQTZCLEVBQzlCLEVBQUE7RUFkTDtJQTBCSSxZQUFXO0lBQ1gsYUFBWTtJQUNaLGVmdks2QjtJZXdLN0IsZ0JBQWU7SUFDZixpQkFBZ0I7SUFDaEIsdUJBQXNCO0lBQ3RCLG1CQUFrQjtJQUNsQixtQkFBa0I7SUFDbEIsMEJBQXlCLEVBQzFCOztBQ2xNSDs7Z0ZBRWdGO0FBRWhGO0VBS0UsbUJBQWtCO0VBQ2xCLHNCQUFxQjtFQUNyQixZQUFXLEVBOEJaO0VuQjRHRztJbUJqSko7TUFFSSxzQkFBcUIsRUFtQ3hCLEVBQUE7RUFyQ0Q7SUFnQkksY0FBYTtJQUNiLCtCQUE4QixFQW1CL0I7SW5CcUhDO01tQnpKSjtRQVdNLGVBQWM7UUFDZCxhQUFZO1FBQ1osbUJBQWtCLEVBdUJyQixFQUFBO0lBcENIO01Bd0JNLG9CQUFtQjtNQUNuQixlaEJUMkI7TWdCVTNCLGdCQUFlO01BQ2YsaUJBQWdCO01BQ2hCLHVCQUFzQixFQUN2QjtNbkJvSEQ7UW1CakpKO1VBcUJRLCtCQUE4QixFQVFqQyxFQUFBO0lBN0JMO01BZ0NNLGdCQUFlO01BQ2YsdUJBQXNCO01BQ3RCLDJCQUEwQixFQUMzQjs7QUFJTDtFQUNFLFlBQVc7RUFDWCxtQkFBa0IsRUFhbkI7RUFmRDtJQUtJLFlBQVc7SUFDWCxhQUFZO0lBQ1osY0FBYTtJQUNiLG9CQUFtQjtJQUNuQiwrQkFBdUMsRUFDeEM7RUFWSDtJQWFJLCtCQUF1QyxFQUN4Qzs7QUFHSDtFQUNFLGNBQWE7RUFDYixnQkFBZTtFQUNmLCtCQUE4QjtFQUM5QixpQkFBZ0IsRUFDakI7O0FDN0REO0VBQ0UsY0FBYTtFQUNiLG1CQUFrQjtFQUNsQixnQkFBZTtFQUNmLCtCQUE4QjtFQUM5QixxQkFBb0IsRUFrS3JCO0VBdktEO0lBcUNJLHFCQUFvQjtJQUNwQiw0QkFBMkI7SUFDM0IsZ0JBQWUsRUFDaEI7SXBCaUhDO01vQnpKSjtRQWNNLDBCQUF5QixFQTBCNUI7UUF4Q0g7VUFpQlEsb0JBQW1CLEVBaUJwQixFQUFBO0VBbENQO0lBdURJLG9CQUFtQjtJQUNuQixlakJ4QzZCO0lpQnlDN0IsZ0JBQWU7SUFDZixpQkFBZ0I7SUFDaEIsdUJBQXNCO0lBQ3RCLGtCQUFpQixFQUNsQjtFQTdESDtJQWlFSSxtQkFBa0I7SUFDbEIsaUJBQWdCO0lBQ2hCLG1CQUFrQjtJQUNsQixtQkFBa0I7SUFDbEIsdUJBQXNCO0lBQ3RCLDBCakJ0RDZCO0lpQnVEN0IsbUJBQWtCO0lBQ2xCLG9CakIvRDZCO0lpQmlFN0IsZWpCMUQ2QjtJaUIyRDdCLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLHVCQUFzQjtJQUN0QixtQkFBa0I7SUFDbEIsZ0JBQWUsRUEwQmhCO0lBekdIO01Ba0ZNLG9CakJsRTJCO01pQm1FM0IsYWpCN0V5QixFaUI4RTFCO0lBcEZMO01BdUZNLGNBQWE7TUFDYixtQ0FBa0M7TUFDbEMsaUJBQWdCLEVBQ2pCO0lBMUZMO01BZ0dRLGNBQWE7TUFDYixtQ0FBa0M7TUFDbEMsaUJBQWdCLEVBQ2pCO0lBbkdQO01BdUdNLGNBQWEsRUFDZDtFQXhHTDtJQTRISSxlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLFlBQVc7SUFDWCxZQUFXO0lBQ1gsY0FBYTtJQUNiLGdDQUF1QjtZQUF2Qix3QkFBdUI7SUFDdkIsb0JqQnpINkI7SWlCMEg3QixZQUFXO0lBQ1gsWUFBVyxFQUNaO0VBcklIO0lBeUlNLGNBQWEsRUFDZDtFQTFJTDtJQThJSSxvQmpCOUg2QjtJaUIrSDdCLGFqQnpJMkIsRWlCMEk1QjtFQWhKSDtJQW1KSSxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLGFBQVk7SUFDWix3QkFBdUI7SUFDdkIsV0FBVTtJQUNWLGFBQVksRUFDYjtFQXpKSDtJQTRKSSxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFNBQVE7SUFDUixRQUFPO0lBQ1Asa0JBQWlCO0lBQ2pCLHdCQUF1QjtJQUN2QixnQkFBZTtJQUNmLG1CQUFrQjtJQUNsQixzQkFBcUI7SUFDckIsNkNBQW9DO1lBQXBDLHFDQUFvQyxFQUNyQzs7QUFHSDtFQUNFLGtCQUFpQjtFQUNqQix3QkFBdUIsRUFDeEI7O0FBRUQ7RUFFSSxrQkFBaUIsRUFDbEI7O0FBR0g7RUFFSSxjQUFhLEVBQ2Q7O0FDdkxIO0VBQ0UsWUFBVztFQUNYLGFBQVksRUFnUWI7RUFsUUQ7SUFXSSxtQkFBa0I7SUFDbEIsaUJBQWdCO0lBQ2hCLG9CbEJKNkIsRWtCaUI5QjtJckJ1SEM7TXFCakpKO1FBUU0sc0JBQXFCLEVBa0J4QixFQUFBO0lBMUJIO01BZ0JNLGVBQWM7TUFDZCxtQkFBa0I7TUFDbEIsZUFBYztNQUNkLFlBQVc7TUFDWCxjQUFhO01BQ2IsZ0NBQXVCO2NBQXZCLHdCQUF1QjtNQUN2QixvQmxCYjJCO01rQmMzQixZQUFXO01BQ1gsWUFBVyxFQUNaO0VBekJMO0lBMkNJLGNBQWE7SUFDYixtQkFBa0I7SUFDbEIsb0JBQW1CO0lBQ25CLCtCQUE4QixFQVMvQjtJckIwRkM7TXFCakpKO1FBOEJNLGVBQWM7UUFDZCxhQUFZLEVBd0JmO1FBdkRIO1VBa0NRLGVBQWMsRUFFZjtRQXBDUDtVQXVDUSxrQkFBaUIsRUFDbEIsRUFBQTtJQXhDUDtNQWlETSxvQkFBbUI7TUFDbkIsZWxCbEMyQjtNa0JtQzNCLGdCQUFlO01BQ2YsaUJBQWdCO01BQ2hCLHVCQUFzQixFQUN2QjtFQXRETDtJQStESSxnQkFBZTtJQUNmLFdBQVU7SUFDVixXQUFVO0lBQ1Ysb0JBQW1CO0lBQ25CLFlBQVcsRUFDWjtJckI2RUM7TXFCakpKO1FBMkRNLGlCQUFnQjtRQUNoQixXQUFVLEVBUWIsRUFBQTtFQXBFSDtJQXVFSSxpQkFBZ0I7SUFDaEIsZWxCMUNxQjtJa0IyQ3JCLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLHVCQUFzQjtJQUN0QixrQkFBaUIsRUFNbEI7SUFsRkg7TUErRU0sa0JBQWlCO01BQ2pCLGFBQVksRUFDYjtFQWpGTDtJQXVGTSxvQkFBbUI7SUFDbkIsZWxCeEUyQjtJa0J5RTNCLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLHVCQUFzQixFQUN2QjtFQTVGTDtJQStGTSxjQUFhO0lBQ2IsZ0JBQWU7SUFDZixZQUFXO0lBQ1gsZUFBYztJQUNkLDhCbEJoRjJCO0lrQmlGM0IsZWxCcEYyQjtJa0JxRjNCLHVCQUFzQixFQWdCdkI7SUFySEw7TUF3R1EsV0FBVTtNQUNWLGlCQUFnQjtNQUNoQix1QkFBc0IsRUFDdkI7SUEzR1A7TUE4R1EsV0FBVTtNQUNWLGlCQUFnQixFQUNqQjtJQWhIUDtNQW1IUSxpQ2xCaEd5QixFa0JpRzFCO0VBcEhQO0lBeUhJLGlCQUFnQjtJQUNoQixlbEIxRzZCO0lrQjJHN0IsZ0JBQWU7SUFDZixpQkFBZ0I7SUFDaEIsdUJBQXNCO0lBQ3RCLGtCQUFpQixFQVNsQjtJQXZJSDtNQWlJTSxvQkFBbUI7TUFDbkIsZWxCbEgyQjtNa0JtSDNCLGdCQUFlO01BQ2YsaUJBQWdCO01BQ2hCLHVCQUFzQixFQUN2QjtFQXRJTDtJQTJJTSxvQkFBbUI7SUFDbkIsZWxCNUgyQjtJa0I2SDNCLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLHVCQUFzQixFQUN2QjtFQWhKTDtJQW1KTSxjQUFhO0lBQ2IsZ0JBQWU7SUFDZixZQUFXO0lBQ1gsZUFBYztJQUNkLDhCbEJwSTJCO0lrQnFJM0IsZWxCeEkyQjtJa0J5STNCLGlCQUFnQjtJQUNoQix1QkFBc0IsRUFLdkI7SUEvSkw7TUE2SlEsaUNsQjFJeUIsRWtCMkkxQjtFQTlKUDtJQW9LTSxvQkFBbUI7SUFDbkIsZWxCckoyQjtJa0JzSjNCLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLHVCQUFzQixFQUN2QjtFQXpLTDtJQTRLTSxjQUFhO0lBQ2IsZ0JBQWU7SUFDZixZQUFXO0lBQ1gsZUFBYztJQUNkLDhCbEI3SjJCO0lrQjhKM0IsZWxCaksyQjtJa0JrSzNCLGlCQUFnQjtJQUNoQix1QkFBc0IsRUFLdkI7SUF4TEw7TUFzTFEsaUNsQm5LeUIsRWtCb0sxQjtFQXZMUDtJQW1NSSxjQUFhO0lBQ2IsZ0JBQWU7SUFDZixZQUFXO0lBQ1gsaUJBQWdCLEVBWWpCO0lyQmpFQztNcUJqSko7UUErTFEsY0FBYSxFQUNkLEVBQUE7SUFoTVA7TUErTU0sNkJBQTRCO01BQzVCLG1CQUFrQixFQUNuQjtNQVBDO1FBMU1OO1VBMk1RLFlBQVc7VUFDWCxvQkFBbUIsRUFLdEIsRUFBQTtFQWpOTDtJQXFOSSxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsWUFBVyxFQXdDWjtJQWpRSDtNQWdPTSxvQkFBbUI7TUFDbkIsZWxCak4yQjtNa0JrTjNCLGdCQUFlO01BQ2YsaUJBQWdCO01BQ2hCLHVCQUFzQixFQUN2QjtNckJwRkQ7UXFCakpKO1VBNk5RLGlCQUFnQixFQVFuQixFQUFBO0lBck9MO01Bd09NLGNBQWE7TUFDYixnQkFBZTtNQUNmLHdCQUF1QixFQXNCeEI7TUFoUUw7UUF3UFEsNEJBQTJCO1FBQzNCLFlBQVcsRUFDWjtRQWJDO1VBN09SO1lBOE9VLHVCQUFzQjtZQUN0QixvQkFBbUIsRUFXdEIsRUFBQTtRckI3R0g7VXFCN0lKO1lBbVBVLDRCQUEyQixFQU85QixFQUFBO01BMVBQO1FBNlBRLGNBQWE7UUFDYixxQkFBaUI7V0FBakIsa0JBQWlCLEVBQ2xCOztBckJ0SEg7RXFCNEhKO0lBRUkseUJBQXdCLEVBRTNCLEVBQUE7O0FBR0Q7RUFDRSxpQkFBZ0IsRUFDakI7O0FDOVFEO0VBQ0Usa0JBQWlCLEVBQ2xCOztBQUVEO0VBQ0UsbUJBQWtCLEVBMkRuQjtFQTVERDtJQUlJLG9CQUFtQjtJQUNuQixlbkJPNkI7SW1CTjdCLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLHVCQUFzQjtJQUN0QixrQkFBaUIsRUFDbEI7RUFWSDtJQWFJLGlCQUFnQjtJQUNoQix1QkFBc0I7SUFDdEIsZW5CV3FCO0ltQlZyQixnQkFBZTtJQUNmLGlCQUFnQjtJQUNoQix1QkFBc0IsRUFDdkI7RUFuQkg7SUErQkksY0FBYTtJQUNiLGdCQUFlO0lBQ2YsWUFBVztJQUNYLGlCQUFnQjtJQUNoQixhQUFZO0lBQ1osZUFBYztJQUNkLDhCbkJ0QjZCO0ltQnVCN0IsZW5CWnFCO0ltQmFyQixnQkFBZTtJQUNmLGlCQUFnQjtJQUNoQix1QkFBc0I7SUFDdEIsaUJBQWdCLEVBaUJqQjtJdEIwRkM7TXNCckpKOzs7UUEwQlEsdUJBQXNCO1FBQ3RCLG1CQUFrQixFQUNuQixFQUFBO0lBNUJQO01BNkNNLFdBQVUsRUFDWDtJQTlDTDtNQWlETSxXQUFVLEVBQ1g7SUFsREw7TUFxRE0sZUFBYyxFQUNmO0lBdERMO01BeURNLGlDbkIxQzJCLEVtQjJDNUI7O0FDOURMO0VBcUJFLGdCQUFlO0VBQ2YsbUJBQWtCLEVBeUNuQjtFdkJrRUc7SXVCaklKO01BRUkscUJBQW9CLEVBNkR2QixFQUFBO0V2QjhFRztJdUI3SUo7TUFNSSxrQkFBaUIsRUF5RHBCLEVBQUE7RXZCMEZHO0l1QnpKSjtNQVVJLHFCQUFvQixFQXFEdkI7TUEvREQ7O1FBY00sK0JBQThCO1FBQzlCLGdCQUFlO1FBQ2YsdUJBQXNCO1FBQ3RCLGtCQUFpQixFQUNsQixFQUFBO0VBbEJMO0lBeUJJLG9CQUFtQjtJQUNuQixlcEJWNkI7SW9CVzdCLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLGtCQUFpQixFQUNsQjtFQTlCSDtJQWtDSSxXQUFVO0lBQ1YsaUJBQWdCO0lBQ2hCLHVCQUFzQjtJQUN0QixlcEJyQjZCO0lvQnNCN0IsZ0JBQWU7SUFDZixpQkFBZ0I7SUFDaEIsdUJBQXNCO0lBQ3RCLGtCQUFpQixFQUNsQjtFQTFDSDs7SUE4Q0ksb0JBQW1CO0lBQ25CLGVwQi9CNkI7SW9CZ0M3QixnQkFBZTtJQUNmLHVCQUFzQjtJQUN0QixrQkFBaUIsRUFNbEI7SUF4REg7O01BcURNLG1CQUFrQjtNQUNsQixlcEJyQzJCLEVvQnNDNUI7RUF2REw7SUEyREksZUFBYztJQUNkLGFBQVk7SUFDWix1QkFBc0IsRUFDdkI7O0FBR0g7OztFQU9FLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFDckIsb0JwQmpFK0IsRW9CeUZoQztFdkIrQ0c7SXVCaEZKOzs7TUFJSSxzQkFBcUIsRUE2QnhCLEVBQUE7RUFqQ0Q7OztJQVlJLGVBQWM7SUFDZCxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLFlBQVc7SUFDWCxjQUFhO0lBQ2IsK0JBQXNCO1lBQXRCLHVCQUFzQjtJQUN0QixvQnBCMUU2QjtJb0IyRTdCLFlBQVcsRUFDWjtFQXBCSDs7O0lBdUJJLGVBQWM7SUFDZCxtQkFBa0I7SUFDbEIsZUFBYztJQUNkLFlBQVc7SUFDWCxjQUFhO0lBQ2IsZ0NBQXVCO1lBQXZCLHdCQUF1QjtJQUN2QixvQnBCckY2QjtJb0JzRjdCLFlBQVc7SUFDWCxZQUFXLEVBQ1o7O0FDakdIO0VBQ0U7SUFDRSxjQUFhO0lBQ2IsV0FBVSxFQUFBO0VBR1o7SUFDRSxTQUFRO0lBQ1IsV0FBVSxFQUFBLEVBQUE7O0FBUmQ7RUFDRTtJQUNFLGNBQWE7SUFDYixXQUFVLEVBQUE7RUFHWjtJQUNFLFNBQVE7SUFDUixXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFO0lBQ0UsV0FBVSxFQUFBO0VBR1o7SUFDRSxXQUFVLEVBQUEsRUFBQTs7QUFOZDtFQUNFO0lBQ0UsV0FBVSxFQUFBO0VBR1o7SUFDRSxXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFO0lBQ0UsZ0NBQXVCO1lBQXZCLHdCQUF1QixFQUFBO0VBR3pCO0lBQ0Usa0NBQXlCO1lBQXpCLDBCQUF5QixFQUFBO0VBRzNCO0lBQ0Usa0NBQXlCO1lBQXpCLDBCQUF5QixFQUFBLEVBQUE7O0FBVjdCO0VBQ0U7SUFDRSxnQ0FBdUI7WUFBdkIsd0JBQXVCLEVBQUE7RUFHekI7SUFDRSxrQ0FBeUI7WUFBekIsMEJBQXlCLEVBQUE7RUFHM0I7SUFDRSxrQ0FBeUI7WUFBekIsMEJBQXlCLEVBQUEsRUFBQTs7QUFLN0I7RUFDRTtJQUNFLDRCQUFtQjtZQUFuQixvQkFBbUIsRUFBQTtFQUdyQjtJQUNFLDhCQUFxQjtZQUFyQixzQkFBcUIsRUFBQTtFQUd2QjtJQUNFLDRCQUFtQjtZQUFuQixvQkFBbUIsRUFBQSxFQUFBOztBQVZ2QjtFQUNFO0lBQ0UsNEJBQW1CO1lBQW5CLG9CQUFtQixFQUFBO0VBR3JCO0lBQ0UsOEJBQXFCO1lBQXJCLHNCQUFxQixFQUFBO0VBR3ZCO0lBQ0UsNEJBQW1CO1lBQW5CLG9CQUFtQixFQUFBLEVBQUE7O0FDbkR2Qjs7Z0ZBRWdGO0FBRWhGOztHQUVHO0FBZUc7O1NBRUc7QUFFSDtFQUNFLGF0Qm5CcUIsRXNCb0J0Qjs7QUFORDs7U0FFRztBQUVIO0VBQ0Usd0J0Qm5CcUIsRXNCb0J0Qjs7QUFORDs7U0FFRztBQUVIO0VBQ0UsYXRCaEJ1QixFc0JpQnhCOztBQU5EOztTQUVHO0FBRUg7RUFDRSx3QnRCaEJ1QixFc0JpQnhCOztBQU5EOztTQUVHO0FBRUg7RUFDRSxldEJieUIsRXNCYzFCOztBQU5EOztTQUVHO0FBRUg7RUFDRSwwQnRCYnlCLEVzQmMxQjs7QUFORDs7U0FFRztBQUVIO0VBQ0UsZXRCWnlCLEVzQmExQjs7QUFORDs7U0FFRztBQUVIO0VBQ0UsMEJ0Qlp5QixFc0JhMUI7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLGV0QlR5QixFc0JVMUI7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLDBCdEJUeUIsRXNCVTFCOztBQU5EOztTQUVHO0FBRUg7RUFDRSxldEJOeUIsRXNCTzFCOztBQU5EOztTQUVHO0FBRUg7RUFDRSwwQnRCTnlCLEVzQk8xQjs7QUFORDs7U0FFRztBQUVIO0VBQ0UsZXRCTHlCLEVzQk0xQjs7QUFORDs7U0FFRztBQUVIO0VBQ0UsMEJ0Qkx5QixFc0JNMUI7O0FBTkQ7O1NBRUc7QUFFSDtFQUNFLGdDdEJKOEIsRXNCSy9COztBQU5EOztTQUVHO0FBRUg7RUFDRSwyQ3RCSjhCLEVzQksvQjs7QUFORDs7U0FFRztBQUVIO0VBQ0UsZXRCSHlCLEVzQkkxQjs7QUFORDs7U0FFRztBQUVIO0VBQ0UsMEJ0Qkh5QixFc0JJMUI7O0FDMUJQO0VBQ0UsZ0JBQWU7RUFDZixPQUFNO0VBQ04sU0FBUTtFQUNSLFVBQVM7RUFDVCxRQUFPLEVBQ1I7O0FBRUQ7RUFDRSxpQkFBZ0I7RUFDaEIsY0FBYTtFQUNiLHVCQUFzQjtFQUN0QixhQUFZO0VBQ1osbUNBQWtDO0VBRWxDLDJCQUEwQixFQUMzQjs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsY0FBYSxFQUNkOztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxzQkFBcUI7RUFDckIsYUFBWTtFQUNaLHVCQUFzQixFQUN2Qjs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixzQkFBcUI7RUFDckIsdUJBQXNCO0VBQ3RCLGlCQUFnQjtFQUNoQixlQUFjO0VBQ2QsdUJBQXNCO0VBQ3RCLGNBQWE7RUFDYixpQkFBZ0I7RUFDaEIsZ0JBQWUsRUFDaEI7O0FBRUQ7RUFDRSxpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxpQ0FBZ0M7RUFFaEMseUJBQXdCO0VBQ3hCLHVCQUFzQjtFQUN0QiwyQ0FBMEMsRUFDM0M7O0FBRUQ7RUFDRSxpQ0FBZ0M7RUFFaEMseUJBQXdCO0VBQ3hCLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsUUFBTztFQUNQLFNBQVE7RUFDUixTQUFRO0VBQ1IsWUFBVztFQUNYLGVBQWM7RUFDZCxZQUFXO0VBQ1gsMkNBQTBDO0VBQzFDLHVCQUFzQixFQUN2Qjs7QUFFRDtFQUNFLHFDQUFvQztFQUVwQyw2QkFBNEIsRUFDN0I7O0FBRUQ7RUFDRSxxQ0FBb0M7RUFFcEMsNkJBQTRCLEVBQzdCOztBQUVEO0VBQ0UsWUFBVztFQUNYLGdCQUFlO0VBQ2YsYUFBWTtFQUNaLGVBQWM7RUFDZCxlQUFjO0VBQ2QsdUJBQXNCO0VBQ3RCLGVBQWM7RUFDZCxlQUFjLEVBQ2Y7O0FBRUQ7RUFDRSxzQkFBcUI7RUFDckIsZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsd0JBQXVCO0VBQ3ZCLG9CQUFtQjtFQUNuQixrQkFBaUI7RUFDakIsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixRQUFPO0VBQ1AsU0FBUTtFQUNSLFVBQVM7RUFDVCxxQkFBb0I7RUFDcEIsWUFBVztFQUNYLGdDQUErQjtFQUMvQixtQkFBa0IsRUFDbkI7O0FBRUQ7RUFDRSxVQUFTO0VBQ1QsV0FBVTtFQUNWLFVBQVM7RUFDVCxnQkFBZTtFQUNmLGlCQUFnQixFQUNqQjs7QUFFRDtFQUNFLFdBQVU7RUFDVixVQUFTLEVBQ1Y7O0FBRUQ7RUFDRSxhQUFZLEVBQ2I7O0FBRUQ7RUFDRSxhQUFZLEVBQ2I7O0FBRUQ7RUFDRSxpQ0FBZ0M7RUFFaEMseUJBQXdCO0VBQ3hCLGVBQWM7RUFDZCxpQkFBZ0I7RUFDaEIsa0JBQWlCO0VBQ2pCLHVCQUFzQjtFQUN0QixtQkFBa0I7RUFDbEIsa0JBQWlCO0VBQ2pCLE9BQU07RUFDTixZQUFXO0VBQ1gsZ0NBQStCO0VBQy9CLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLGNBQWEsRUFDZDs7QUFFRDtFQUNFLGlCQUFnQjtFQUNoQixZQUFXO0VBQ1gsZ0NBQStCLEVBQ2hDOztBQUVEO0VBQ0UsZ0JBQWU7RUFDZixTQUFRO0VBQ1IsUUFBTztFQUNQLFNBQVEsRUFDVDs7QUFFRDtFQUNFLGNBQWEsRUFDZDs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsaUJBQWdCO0VBQ2hCLFdBQVU7RUFDVixhQUFZO0VBQ1osYUFBWTtFQUNaLG9CQUFtQjtFQUNuQixpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRSxZQUFXO0VBQ1gsbUJBQWtCO0VBQ2xCLFNBQVE7RUFDUixVQUFTO0VBQ1QsMEJBQXlCO0VBQ3pCLGdDQUErQixFQUNoQzs7QUFFRDtFQUNFLFNBQVEsRUFDVDs7QUFFRDtFQUNFLHdCQUF1QixFQUN4Qjs7QUFFRDtFQUNFLFFBQU8sRUFDUjs7QUFFRDtFQUNFLHlCQUF3QixFQUN6Qjs7QUFFRDtFQUNFLFlBQVc7RUFDWCxVQUFTO0VBQ1QsaUJBQWdCO0VBQ2hCLG9CQUFtQjtFQUNuQixjQUFhLEVBQ2Q7O0FBRUQ7RUFDRSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFFBQU87RUFDUCxZQUFXO0VBQ1gsYUFBWTtFQUNaLDJDQUEwQztFQUMxQyxpQkFBZ0IsRUFDakI7O0FBRUQ7RUFDRTtJQUNFLFdBQVUsRUFBQTtFQUVaO0lBQ0UsYUFBWSxFQUFBLEVBQUE7O0FBYWhCO0VBQ0U7SUFDRSxXQUFVLEVBQUE7RUFFWjtJQUNFLGFBQVksRUFBQSxFQUFBOztBQUloQjtFQUNFO0lBQ0UsV0FBVTtJQUNWLDJDQUEwQyxFQUFBO0VBRTVDO0lBQ0UsV0FBVTtJQUNWLHdDQUF1QyxFQUFBLEVBQUE7O0FBZTNDO0VBQ0U7SUFDRSxXQUFVO0lBQ1YsMkNBQTBDO0lBSTFDLG1DQUFrQyxFQUFBO0VBRXBDO0lBQ0UsV0FBVTtJQUNWLHdDQUF1QztJQUl2QyxnQ0FBK0IsRUFBQSxFQUFBOztBQUluQztFQUNFO0lBQ0UsV0FBVTtJQUNWLDBDQUF5QyxFQUFBO0VBRTNDO0lBQ0UsV0FBVTtJQUNWLHdDQUF1QyxFQUFBLEVBQUE7O0FBZTNDO0VBQ0U7SUFDRSxXQUFVO0lBQ1YsMENBQXlDO0lBSXpDLGtDQUFpQyxFQUFBO0VBRW5DO0lBQ0UsV0FBVTtJQUNWLHdDQUF1QztJQUl2QyxnQ0FBK0IsRUFBQSxFQUFBOztBQUluQztFQUNFO0lBQ0UsV0FBVTtJQUNWLDJDQUEwQyxFQUFBO0VBRTVDO0lBQ0UsV0FBVTtJQUNWLHdDQUF1QyxFQUFBLEVBQUE7O0FBZTNDO0VBQ0U7SUFDRSxXQUFVO0lBQ1YsMkNBQTBDO0lBSTFDLG1DQUFrQyxFQUFBO0VBRXBDO0lBQ0UsV0FBVTtJQUNWLHdDQUF1QztJQUl2QyxnQ0FBK0IsRUFBQSxFQUFBOztBQ2hZbkM7O2dGQUVnRjtBQUVoRjs7OztHQUlHO0FBS0Q7O0tBRUc7QUFFSDtFQUNFLGlDQUFxQztFQUFFLE9BQU87RUFDOUMsb0JBQVk7S0FBWixpQkFBWSxFQUNiOztBQVBEOztLQUVHO0FBRUg7RUFDRSxvQ0FBcUM7RUFBRSxPQUFPO0VBQzlDLHVCQUFZO0tBQVosb0JBQVksRUFDYjs7QUFQRDs7S0FFRztBQUVIO0VBQ0Usa0NBQXFDO0VBQUUsT0FBTztFQUM5QyxxQkFBWTtLQUFaLGtCQUFZLEVBQ2I7O0FBUEQ7O0tBRUc7QUFFSDtFQUNFLGlDQUFxQztFQUFFLE9BQU87RUFDOUMsb0JBQVk7S0FBWixpQkFBWSxFQUNiOztBQVBEOztLQUVHO0FBRUg7RUFDRSx1Q0FBcUM7RUFBRSxPQUFPO0VBQzlDLDBCQUFZO0tBQVosdUJBQVksRUFDYjs7QUNwQkg7O2dGQUVnRjtBQUVoRjs7R0FFRztBQUdEO0VBQ0UsaUJBRmtCLEVBR25COztBQUZEO0VBQ0UsbUJBRjRCLEVBRzdCOztBQUZEO0VBQ0UsbUJBRnNDLEVBR3ZDOztBQUZEO0VBQ0UsZ0JBRjZDLEVBRzlDOztBQUZEO0VBQ0UseUJBRnFEO0VBRXJELGlCQUZxRCxFQUd0RDs7QUNYSDs7Z0ZBRWdGO0FBRWhGOztHQUVHO0FBS0c7RUFDRSxzQjVCTmEsRTRCT2Q7O0FBRkQ7RUFDRSxzQjVCTmEsRTRCT2Q7O0FBRkQ7RUFDRSxzQjVCTmEsRTRCT2Q7O0FBRkQ7RUFDRSxzQjVCTmEsRTRCT2Q7O0FBRkQ7RUFDRSxzQjVCTmEsRTRCT2Q7O0FBTVA7O0dBRUc7QUFLRztFN0IwQkYsZ0JDeENRO0VEeUNSLGtCRTlCK0I7RUZtQy9CLHNCQUFnRCxFNkI5QjdDOztBQUZEO0U3QjBCRixnQkN2Q1E7RUR3Q1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEU2QjlCN0M7O0FBRkQ7RTdCMEJGLGdCQ3RDUTtFRHVDUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRTZCOUI3Qzs7QUFGRDtFN0IwQkYsZ0JDckNRO0VEc0NSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFNkI5QjdDOztBQUZEO0U3QjBCRixnQkNwQ1E7RURxQ1IsZ0JFOUIrQjtFRm1DL0IsbUJBQWdELEU2QjlCN0M7O0FBRkQ7RTdCMEJGLGdCQ25DUTtFRG9DUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRTZCOUI3Qzs7QUFGRDtFN0IwQkYsZ0JDbENPO0VEbUNQLGtCRTlCK0I7RUZtQy9CLG1CQUFnRCxFNkI5QjdDOztBQUZEO0U3QjBCRixnQkN4Q1E7RUR5Q1Isa0JFOUIrQjtFRm1DL0Isc0JBQWdELEU2QjlCN0M7O0FBRkQ7RTdCMEJGLGdCQ3ZDUTtFRHdDUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRTZCOUI3Qzs7QUFGRDtFN0IwQkYsZ0JDdENRO0VEdUNSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFNkI5QjdDOztBQUZEO0U3QjBCRixnQkNyQ1E7RURzQ1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEU2QjlCN0M7O0FBRkQ7RTdCMEJGLGdCQ3BDUTtFRHFDUixnQkU5QitCO0VGbUMvQixtQkFBZ0QsRTZCOUI3Qzs7QUFGRDtFN0IwQkYsZ0JDbkNRO0VEb0NSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFNkI5QjdDOztBQUZEO0U3QjBCRixnQkNsQ087RURtQ1Asa0JFOUIrQjtFRm1DL0IsbUJBQWdELEU2QjlCN0M7O0FBRkQ7RTdCMEJGLGdCQ3hDUTtFRHlDUixrQkU5QitCO0VGbUMvQixzQkFBZ0QsRTZCOUI3Qzs7QUFGRDtFN0IwQkYsZ0JDdkNRO0VEd0NSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFNkI5QjdDOztBQUZEO0U3QjBCRixnQkN0Q1E7RUR1Q1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEU2QjlCN0M7O0FBRkQ7RTdCMEJGLGdCQ3JDUTtFRHNDUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRTZCOUI3Qzs7QUFGRDtFN0IwQkYsZ0JDcENRO0VEcUNSLGdCRTlCK0I7RUZtQy9CLG1CQUFnRCxFNkI5QjdDOztBQUZEO0U3QjBCRixnQkNuQ1E7RURvQ1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEU2QjlCN0M7O0FBRkQ7RTdCMEJGLGdCQ2xDTztFRG1DUCxrQkU5QitCO0VGbUMvQixtQkFBZ0QsRTZCOUI3Qzs7QUFGRDtFN0IwQkYsZ0JDeENRO0VEeUNSLGtCRTlCK0I7RUZtQy9CLHNCQUFnRCxFNkI5QjdDOztBQUZEO0U3QjBCRixnQkN2Q1E7RUR3Q1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEU2QjlCN0M7O0FBRkQ7RTdCMEJGLGdCQ3RDUTtFRHVDUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRTZCOUI3Qzs7QUFGRDtFN0IwQkYsZ0JDckNRO0VEc0NSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFNkI5QjdDOztBQUZEO0U3QjBCRixnQkNwQ1E7RURxQ1IsZ0JFOUIrQjtFRm1DL0IsbUJBQWdELEU2QjlCN0M7O0FBRkQ7RTdCMEJGLGdCQ25DUTtFRG9DUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRTZCOUI3Qzs7QUFGRDtFN0IwQkYsZ0JDbENPO0VEbUNQLGtCRTlCK0I7RUZtQy9CLG1CQUFnRCxFNkI5QjdDOztBQUZEO0U3QjBCRixnQkN4Q1E7RUR5Q1Isa0JFOUIrQjtFRm1DL0Isc0JBQWdELEU2QjlCN0M7O0FBRkQ7RTdCMEJGLGdCQ3ZDUTtFRHdDUixrQkU5QitCO0VGbUMvQix1QkFBZ0QsRTZCOUI3Qzs7QUFGRDtFN0IwQkYsZ0JDdENRO0VEdUNSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFNkI5QjdDOztBQUZEO0U3QjBCRixnQkNyQ1E7RURzQ1Isa0JFOUIrQjtFRm1DL0IsdUJBQWdELEU2QjlCN0M7O0FBRkQ7RTdCMEJGLGdCQ3BDUTtFRHFDUixnQkU5QitCO0VGbUMvQixtQkFBZ0QsRTZCOUI3Qzs7QUFGRDtFN0IwQkYsZ0JDbkNRO0VEb0NSLGtCRTlCK0I7RUZtQy9CLHVCQUFnRCxFNkI5QjdDOztBQUZEO0U3QjBCRixnQkNsQ087RURtQ1Asa0JFOUIrQjtFRm1DL0IsbUJBQWdELEU2QjlCN0M7O0FBTVA7O0dBRUc7QUFLRztFQUNFLGlCQUZvQixFQUdyQjs7QUFGRDtFQUNFLGtCQUYyQixFQUc1Qjs7QUFGRDtFQUNFLG1CQUZtQyxFQUdwQzs7QUFGRDtFQUNFLGlCQUZvQixFQUdyQjs7QUFGRDtFQUNFLGtCQUYyQixFQUc1Qjs7QUFGRDtFQUNFLG1CQUZtQyxFQUdwQzs7QUFGRDtFQUNFLGlCQUZvQixFQUdyQjs7QUFGRDtFQUNFLGtCQUYyQixFQUc1Qjs7QUFGRDtFQUNFLG1CQUZtQyxFQUdwQzs7QUFGRDtFQUNFLGlCQUZvQixFQUdyQjs7QUFGRDtFQUNFLGtCQUYyQixFQUc1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RDtFQUNFLG9CQUFlLEVBQ2hCOztBQUZEO0VBQ0Usb0JBQWUsRUFDaEI7O0FBRkQ7RUFDRSxvQkFBZSxFQUNoQjs7QUFGRDtFQUNFLG9CQUFlLEVBQ2hCOztBQUZEO0VBQ0Usb0JBQWUsRUFDaEI7O0FBRkQ7RUFDRSxvQkFBZSxFQUNoQjs7QUFGRDtFQUNFLG9CQUFlLEVBQ2hCOztBQUZEO0VBQ0Usb0JBQWUsRUFDaEI7O0FDVEg7O2dGQUVnRjtBQUVoRjs7R0FFRztBQUdEO0VBQ0UsV0NGSyxFREdOOztBQUZEO0VBQ0UsWUNETSxFREVQOztBQUZEO0VBQ0UsWUNBTSxFRENQOztBQUZEO0VBQ0UsWUNDTSxFREFQOztBQUZEO0VBQ0UsWUNFTSxFRERQOztBQUZEO0VBQ0UsWUNHTSxFREZQOztBQUZEO0VBQ0UsWUNJTSxFREhQOztBQUZEO0VBQ0UsWUNLTSxFREpQOztBQUZEO0VBQ0UsWUNNTSxFRExQOztBQUZEO0VBQ0UsWUNPTSxFRE5QOztBQUZEO0VBQ0UsYUNRTyxFRFBSIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gV3JhcHBlclxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLndyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogOTAlO1xyXG4gIG1heC13aWR0aDogMTE1MHB4O1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuLndyYXBwZXItbGcge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogOTUlO1xyXG4gIG1heC13aWR0aDogMTIwMHB4O1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxufVxyXG5cclxuLndyYXBwZXItc20ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogOTUlO1xyXG4gIG1heC13aWR0aDogOTAwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIud3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDkwJTtcbiAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLndyYXBwZXItbGcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA5NSU7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi53cmFwcGVyLXNtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogOTUlO1xuICBtYXgtd2lkdGg6IDkwMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lOyB9XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5idXR0b24sXG5pbnB1dCB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7IH1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogIE93bCBDYXJvdXNlbCAtIENvcmVcbiAqL1xuLm93bC1jYXJvdXNlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiBwb3NpdGlvbiByZWxhdGl2ZSBhbmQgei1pbmRleCBmaXggd2Via2l0IHJlbmRlcmluZyBmb250cyBpc3N1ZSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLXN0YWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLVk7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLyogZml4IGZpcmVmb3ggYW5pbWF0aW9uIGdsaXRjaCAqLyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZTphZnRlciB7XG4gICAgY29udGVudDogXCIuXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIGhlaWdodDogMDsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2Utb3V0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtd3JhcHBlcixcbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0ge1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTsgfVxuICAub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYuZGlzYWJsZWQsXG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzLmRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgLm93bC1wcmV2LFxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IC5vd2wtbmV4dCxcbiAgLm93bC1jYXJvdXNlbCAub3dsLWRvdCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1wcmV2LFxuICAub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtbmV4dCxcbiAgLm93bC1jYXJvdXNlbCBidXR0b24ub3dsLWRvdCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQ6IGluaGVyaXQ7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtbG9hZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAub3dsLWNhcm91c2VsLm93bC1sb2FkaW5nIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbiB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAub3dsLWNhcm91c2VsLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLWRyYWcgLm93bC1pdGVtIHtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLm93bC1jYXJvdXNlbC5vd2wtZ3JhYiB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIGN1cnNvcjogZ3JhYjsgfVxuICAub3dsLWNhcm91c2VsLm93bC1ydGwge1xuICAgIGRpcmVjdGlvbjogcnRsOyB9XG4gIC5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW0ge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4vKiBObyBKcyAqL1xuLm5vLWpzIC5vd2wtY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogIE93bCBDYXJvdXNlbCAtIEFuaW1hdGUgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLmFuaW1hdGVkIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxMDAwbXM7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLWFuaW1hdGVkLWluIHtcbiAgei1pbmRleDogMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtb3V0IHtcbiAgei1pbmRleDogMTsgfVxuXG4ub3dsLWNhcm91c2VsIC5mYWRlT3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIEF1dG8gSGVpZ2h0IFBsdWdpblxuICovXG4ub3dsLWhlaWdodCB7XG4gIHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDsgfVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBMYXp5IExvYWQgUGx1Z2luXG4gKi9cbi5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIHtcbiAgLyoqXG5cdFx0XHRUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3Jvbmdcblx0XHRcdGNhbGN1bGF0aW9uIG9mIHRoZSBoZWlnaHQgb2YgdGhlIG93bC1pdGVtIHRoYXQgYnJlYWtzIHBhZ2UgbGF5b3V0c1xuXHRcdCAqLyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7IH1cbiAgLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5W3NyY149XCJcIl0sIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC5vd2wtbGF6eTpub3QoW3NyY10pIHtcbiAgICBtYXgtaGVpZ2h0OiAwOyB9XG4gIC5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIGltZy5vd2wtbGF6eSB7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDsgfVxuXG4vKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBWaWRlbyBQbHVnaW5cbiAqL1xuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDgwcHg7XG4gIHdpZHRoOiA4MHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gIG1hcmdpbi10b3A6IC00MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJvd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwbXMgZWFzZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjMsIDEuMyk7IH1cblxuLm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXlpbmcgLm93bC12aWRlby10bixcbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tdG4ge1xuICBvcGFjaXR5OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlOyB9XG5cbi5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1mcmFtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzEwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScxMDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDEwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzEwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxMDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMTAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPScxNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PScxNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzE1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScxNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzIwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMjAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyMDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDIwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzI1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScyNTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzI1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScyNTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nMjUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAyNTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSczMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMzAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAzMDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSczMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMzAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzMwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSczMDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nMzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzM1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nMzUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzM1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSczNTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMzUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDM1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzQwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc0MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDQwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzQwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc0MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nNDAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzQwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA0MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc0NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nNDUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc0NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNDUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzQ1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc0NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNDUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nNTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzUwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nNTAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzUwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc1MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNTAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDUwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzU1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc1NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDU1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzU1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc1NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nNTUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzU1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA1NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc2MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nNjAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA2MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc2MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNjAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzYwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc2MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNjAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nNjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzY1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNjUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nNjUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzY1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc2NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNjUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDY1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzcwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc3MDAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDcwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzcwMCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc3MDAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nNzAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzcwMCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc3NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nNzUwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc3NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nNzUwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9Jzc1MCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc3NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogNzUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nODAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249JzgwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogODAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nODAwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzgwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc4MDAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nODAwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDgwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249Jzg1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPSc4NTAnXSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDg1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9Jzg1MCddIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc4NTAnXSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDA7IH1cbiAgYm9keVtkYXRhLWFvcy1kZWxheT0nODUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9Jzg1MCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiA4NTBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWR1cmF0aW9uPSc5MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nOTAwJ10ge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA5MDBtczsgfVxuXG5ib2R5W2RhdGEtYW9zLWRlbGF5PSc5MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nOTAwJ10ge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwOyB9XG4gIGJvZHlbZGF0YS1hb3MtZGVsYXk9JzkwMCddIFtkYXRhLWFvc10uYW9zLWFuaW1hdGUsIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PSc5MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogOTAwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kdXJhdGlvbj0nOTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZHVyYXRpb249Jzk1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogOTUwbXM7IH1cblxuYm9keVtkYXRhLWFvcy1kZWxheT0nOTUwJ10gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9Jzk1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSc5NTAnXSBbZGF0YS1hb3NdLmFvcy1hbmltYXRlLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nOTUwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDk1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzEwMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTAwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzEwMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTAwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxMDAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEwMDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTAwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzEwNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTA1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTA1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzEwNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTA1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxMDUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEwNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTA1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzExMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTEwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTEwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzExMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTEwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxMTAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzExMDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTEwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzExNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTE1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTE1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzExNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTE1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxMTUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzExNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTE1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzEyMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTIwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTIwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzEyMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTIwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxMjAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEyMDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTIwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzEyNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTI1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTI1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzEyNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTI1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxMjUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEyNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTI1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzEzMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTMwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTMwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzEzMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTMwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxMzAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEzMDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTMwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzEzNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTM1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTM1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzEzNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTM1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxMzUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzEzNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTM1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzE0MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTQwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTQwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzE0MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTQwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxNDAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE0MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTQwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzE0NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTQ1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTQ1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzE0NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTQ1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxNDUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE0NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTQ1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzE1MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTUwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzE1MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTUwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxNTAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE1MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTUwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzE1NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTU1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTU1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzE1NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTU1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxNTUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE1NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTU1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzE2MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTYwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTYwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzE2MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTYwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxNjAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE2MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTYwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzE2NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTY1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTY1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzE2NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTY1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxNjUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE2NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTY1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzE3MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTcwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTcwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzE3MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTcwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxNzAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE3MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTcwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzE3NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTc1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTc1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzE3NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTc1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxNzUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE3NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTc1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzE4MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTgwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTgwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzE4MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTgwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxODAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE4MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTgwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzE4NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTg1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTg1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzE4NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTg1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxODUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE4NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTg1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzE5MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTkwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTkwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzE5MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTkwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxOTAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE5MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTkwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzE5NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMTk1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTk1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzE5NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMTk1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScxOTUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzE5NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMTk1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzIwMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjAwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjAwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzIwMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjAwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyMDAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIwMDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjAwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzIwNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjA1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjA1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzIwNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjA1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyMDUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIwNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjA1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzIxMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjEwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjEwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzIxMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjEwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyMTAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIxMDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjEwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzIxNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjE1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjE1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzIxNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjE1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyMTUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIxNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjE1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzIyMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjIwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjIwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzIyMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjIwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyMjAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIyMDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjIwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzIyNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjI1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjI1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzIyNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjI1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyMjUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIyNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjI1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzIzMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjMwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjMwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzIzMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjMwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyMzAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIzMDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjMwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzIzNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjM1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjM1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzIzNTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjM1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyMzUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzIzNTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjM1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzI0MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjQwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjQwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzI0MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjQwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyNDAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI0MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjQwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzI0NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjQ1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjQ1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzI0NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjQ1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyNDUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI0NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjQ1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzI1MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjUwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzI1MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjUwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyNTAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI1MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjUwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzI1NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjU1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjU1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzI1NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjU1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyNTUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI1NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjU1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzI2MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjYwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjYwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzI2MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjYwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyNjAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI2MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjYwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzI2NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjY1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjY1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzI2NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjY1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyNjUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI2NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjY1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzI3MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjcwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjcwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzI3MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjcwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyNzAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI3MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjcwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzI3NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjc1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjc1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzI3NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjc1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyNzUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI3NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjc1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzI4MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjgwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjgwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzI4MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjgwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyODAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI4MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjgwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzI4NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjg1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjg1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzI4NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjg1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyODUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI4NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjg1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzI5MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjkwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjkwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzI5MDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjkwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyOTAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI5MDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjkwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzI5NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMjk1MCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjk1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzI5NTAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMjk1MCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PScyOTUwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzI5NTAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMjk1MG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZHVyYXRpb249JzMwMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kdXJhdGlvbj0nMzAwMCddIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMzAwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZGVsYXk9JzMwMDAnXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1kZWxheT0nMzAwMCddIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMDsgfVxuICBib2R5W2RhdGEtYW9zLWRlbGF5PSczMDAwJ10gW2RhdGEtYW9zXS5hb3MtYW5pbWF0ZSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZGVsYXk9JzMwMDAnXS5hb3MtYW5pbWF0ZSB7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMzAwMG1zOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwibGluZWFyXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImxpbmVhclwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC4yNSwgMC43NSwgMC43NSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2VcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuMSwgMC4yNSwgMSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW5cIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDEsIDEpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXRcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXRcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuNTgsIDEpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXRcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXRcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1iYWNrXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tYmFja1wiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC42LCAtMC4yOCwgMC43MzUsIDAuMDQ1KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LWJhY2tcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtYmFja1wiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLW91dC1iYWNrXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tb3V0LWJhY2tcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNjgsIC0wLjU1LCAwLjI2NSwgMS41NSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLXNpbmVcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1zaW5lXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtc2luZVwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dC1zaW5lXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtc2luZVwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLW91dC1zaW5lXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLXF1YWRcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1xdWFkXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dC1xdWFkXCJdIFtkYXRhLWFvc10sIFtkYXRhLWFvc11bZGF0YS1hb3NdW2RhdGEtYW9zLWVhc2luZz1cImVhc2Utb3V0LXF1YWRcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtcXVhZFwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLW91dC1xdWFkXCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTsgfVxuXG5ib2R5W2RhdGEtYW9zLWVhc2luZz1cImVhc2UtaW4tY3ViaWNcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1jdWJpY1wiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wODUsIDAuNjgsIDAuNTMpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtY3ViaWNcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1vdXQtY3ViaWNcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtY3ViaWNcIl0gW2RhdGEtYW9zXSwgW2RhdGEtYW9zXVtkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1vdXQtY3ViaWNcIl0ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDU1LCAwLjAzLCAwLjUxNSwgMC45NTUpOyB9XG5cbmJvZHlbZGF0YS1hb3MtZWFzaW5nPVwiZWFzZS1pbi1xdWFydFwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLXF1YXJ0XCJdIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA4NSwgMC42OCwgMC41Myk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dC1xdWFydFwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLW91dC1xdWFydFwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuYm9keVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLW91dC1xdWFydFwiXSBbZGF0YS1hb3NdLCBbZGF0YS1hb3NdW2RhdGEtYW9zXVtkYXRhLWFvcy1lYXNpbmc9XCJlYXNlLWluLW91dC1xdWFydFwiXSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7IH1cblxuLyoqXG4gKiBGYWRlIGFuaW1hdGlvbnM6XG4gKiBmYWRlXG4gKiBmYWRlLXVwLCBmYWRlLWRvd24sIGZhZGUtbGVmdCwgZmFkZS1yaWdodFxuICogZmFkZS11cC1yaWdodCwgZmFkZS11cC1sZWZ0LCBmYWRlLWRvd24tcmlnaHQsIGZhZGUtZG93bi1sZWZ0XG4gKi9cbltkYXRhLWFvc149J2ZhZGUnXVtkYXRhLWFvc149J2ZhZGUnXSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTsgfVxuICBbZGF0YS1hb3NePSdmYWRlJ11bZGF0YS1hb3NePSdmYWRlJ10uYW9zLWFuaW1hdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG5bZGF0YS1hb3M9J2ZhZGUtdXAnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwcHgsIDApOyB9XG5cbltkYXRhLWFvcz0nZmFkZS1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDBweCwgMCk7IH1cblxuW2RhdGEtYW9zPSdmYWRlLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDBweCwgMCwgMCk7IH1cblxuW2RhdGEtYW9zPSdmYWRlLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwcHgsIDAsIDApOyB9XG5cbltkYXRhLWFvcz0nZmFkZS11cC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwcHgsIDEwMHB4LCAwKTsgfVxuXG5bZGF0YS1hb3M9J2ZhZGUtdXAtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDBweCwgMTAwcHgsIDApOyB9XG5cbltkYXRhLWFvcz0nZmFkZS1kb3duLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDBweCwgLTEwMHB4LCAwKTsgfVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93bi1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMHB4LCAtMTAwcHgsIDApOyB9XG5cbi8qKlxuICogWm9vbSBhbmltYXRpb25zOlxuICogem9vbS1pbiwgem9vbS1pbi11cCwgem9vbS1pbi1kb3duLCB6b29tLWluLWxlZnQsIHpvb20taW4tcmlnaHRcbiAqIHpvb20tb3V0LCB6b29tLW91dC11cCwgem9vbS1vdXQtZG93biwgem9vbS1vdXQtbGVmdCwgem9vbS1vdXQtcmlnaHRcbiAqL1xuW2RhdGEtYW9zXj0nem9vbSddW2RhdGEtYW9zXj0nem9vbSddIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtOyB9XG4gIFtkYXRhLWFvc149J3pvb20nXVtkYXRhLWFvc149J3pvb20nXS5hb3MtYW5pbWF0ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlKDEpOyB9XG5cbltkYXRhLWFvcz0nem9vbS1pbiddIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjYpOyB9XG5cbltkYXRhLWFvcz0nem9vbS1pbi11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDBweCwgMCkgc2NhbGUoMC42KTsgfVxuXG5bZGF0YS1hb3M9J3pvb20taW4tZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwcHgsIDApIHNjYWxlKDAuNik7IH1cblxuW2RhdGEtYW9zPSd6b29tLWluLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDBweCwgMCwgMCkgc2NhbGUoMC42KTsgfVxuXG5bZGF0YS1hb3M9J3pvb20taW4tbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDBweCwgMCwgMCkgc2NhbGUoMC42KTsgfVxuXG5bZGF0YS1hb3M9J3pvb20tb3V0J10ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cblxuW2RhdGEtYW9zPSd6b29tLW91dC11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDBweCwgMCkgc2NhbGUoMS4yKTsgfVxuXG5bZGF0YS1hb3M9J3pvb20tb3V0LWRvd24nXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMHB4LCAwKSBzY2FsZSgxLjIpOyB9XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMHB4LCAwLCAwKSBzY2FsZSgxLjIpOyB9XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDBweCwgMCwgMCkgc2NhbGUoMS4yKTsgfVxuXG4vKipcbiAqIFNsaWRlIGFuaW1hdGlvbnNcbiAqL1xuW2RhdGEtYW9zXj0nc2xpZGUnXVtkYXRhLWFvc149J3NsaWRlJ10ge1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cbiAgW2RhdGEtYW9zXj0nc2xpZGUnXVtkYXRhLWFvc149J3NsaWRlJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuW2RhdGEtYW9zPSdzbGlkZS11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfVxuXG5bZGF0YS1hb3M9J3NsaWRlLWRvd24nXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9XG5cbltkYXRhLWFvcz0nc2xpZGUtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG5cbltkYXRhLWFvcz0nc2xpZGUtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuXG4vKipcbiAqIEZsaXAgYW5pbWF0aW9uczpcbiAqIGZsaXAtbGVmdCwgZmxpcC1yaWdodCwgZmxpcC11cCwgZmxpcC1kb3duXG4gKi9cbltkYXRhLWFvc149J2ZsaXAnXVtkYXRhLWFvc149J2ZsaXAnXSB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOyB9XG5cbltkYXRhLWFvcz0nZmxpcC1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgtMTAwZGVnKTsgfVxuICBbZGF0YS1hb3M9J2ZsaXAtbGVmdCddLmFvcy1hbmltYXRlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgwKTsgfVxuXG5bZGF0YS1hb3M9J2ZsaXAtcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKDEwMGRlZyk7IH1cbiAgW2RhdGEtYW9zPSdmbGlwLXJpZ2h0J10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKDApOyB9XG5cbltkYXRhLWFvcz0nZmxpcC11cCddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoLTEwMGRlZyk7IH1cbiAgW2RhdGEtYW9zPSdmbGlwLXVwJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKDApOyB9XG5cbltkYXRhLWFvcz0nZmxpcC1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWCgxMDBkZWcpOyB9XG4gIFtkYXRhLWFvcz0nZmxpcC1kb3duJ10uYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKDApOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEJhc2VcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBSZW1vdmUgbWFyZ2luIGFuZCBwYWRkaW5nIGZyb20gZXZlcnkgc2VsZWN0b3IgaW5jbHVkaW5nIHRoZWlyXHJcbiAqIHBzdWVkbyBzZWxlY3RvcnMuXHJcbiAqXHJcbiAqIDEuIE1vcmUgc2Vuc2libGUgZGVmYXVsdCBib3ggc2l6aW5nLlxyXG4gKiAgICAoY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlKS5cclxuICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIC8qIDEgKi8gfVxuXG4vKipcclxuICogU2V0IGhlaWdodCBvZiB0aGUgZG9jdW1lbnQgdG8gbWF4aXVtIHZpZXdwb3J0IGhlaWdodC5cclxuICpcclxuICogMS4gU2V0IHJvb3QgZm9udCBzaXplIHRvIDEwLlxyXG4gKi9cbmh0bWwge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBmb250LXNpemU6IDYyLjUlO1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyoqXHJcbiAqIFNldCBtaW5pbWFsIGhlaWdodCBvZiB0aGUgYm9keSB0byBtYXhpbXVtIHZpZXdwb3J0IGhlaWdodCB0b1xyXG4gKiBtYXRjaCB0aGUgZG9jdW1lbnQncyBoZWlnaHQuXHJcbiAqXHJcbiAqIDEuIEZpcmVmb3ggMjUrLlxyXG4gKiAyLiBDaHJvbWUgNSsuXHJcbiAqL1xuYm9keSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAvKiAxICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAvKiAyICovXG4gIGFuaW1hdGlvbjogZmFkZUluIDI1MDBtcyBlYXNlOyB9XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzUyOTFhNztcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFJlc2V0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQ3VzdG9tIHVzZXIgYWdlbnQgcmVzZXRzIGFuZCBvdmVycmlkZXMgdGhhdCBhcmUgbm90IHByZXNlbnQgaW5cclxuICogTm9ybWFsaXplIDguMC4wLiBUaGlzIG1vc3RseSByZW1vdmVzIHNvbWUgYW5ub3lpbmcgbWFyZ2luIGFuZCBwYWRkaW5nXHJcbiAqIGRlZmF1bHRzLCBib3JkZXIgcmFkaXVzLCBhbmQgb3V0bGluZXMuXHJcbiAqL1xuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyoqXHJcbiAqIDEuIFJlbW92ZSBib3JkZXIgcmFkaXVzIG9uIENocm9tZSA2Mi4wKyBvbiBtYWNPUy5cclxuICovXG5idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC8qIDEgKi9cbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG5ociB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcclxuICogMS4gUmVtb3ZlIHdoaXRlIHNwYWNlLlxyXG4gKi9cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAxICovIH1cblxuLyoqXHJcbiAqIDEuIFJlbW92ZSBpbmhlcml0ZWQgdXNlciBhZ2VudCBhcHBlYXJhbmNlLlxyXG4gKi9cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogMSAqLyB9XG5cbi8qKlxyXG4gKiAxLiBPbmx5IGFsbG93IHZlcnRpY2FsIHJlc2l6aW5nIHRvIHByZXZlbnQgdGhlIHRleHRhcmVhXHJcbiAqICAgIGZyb20gb3ZlcmZsb3dpbmcgdGhlIGNvbnRhaW5lci5cclxuICovXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogdmVydGljYWw7IH1cblxudWwsXG5vbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG5cbnAge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXHJcbiAqIDEuIENvbGxhcHNlIGJvcmRlcnMgdG8gcHJldmVudCBkb3VibGUgc2lkZWQgYm9yZGVycy5cclxuICovXG50YWJsZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgLyogMSAqLyB9XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQnV0dG9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJ0bi1wcmltYXJ5IHtcbiAgcGFkZGluZzogMTVweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQ6ICM1MjkxYTc7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xuICBib3gtc2hhZG93OiAwIDJweCAxNXB4IDAgcmdiYSg4MiwgMTQ1LCAxNjcsIDAuMyk7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuYnRuLXByaW1hcnkge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtczsgfVxuICAgICAgLmJ0bi1wcmltYXJ5OmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC44OyB9IH1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICBjb2xvcjogIzM3NTM1ZDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5idG4tc2Vjb25kYXJ5IHtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyNTBtczsgfVxuICAgICAgLmJ0bi1zZWNvbmRhcnk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzc1MzVkO1xuICAgICAgICBjb2xvcjogd2hpdGU7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb250YWluZXJcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBUaGUgY29udGFpbmVyIG9iamVjdCBjZW50ZXJzIGFuIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50LlxyXG4gKi9cbi5jb250YWluZXIge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAyNHB4ICsgNTAuNjY2NjdweCk7XG4gIHBhZGRpbmc6IDAgMjUuMzMzMzNweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbnRlbnQgQ29uc3RyYWludFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFRoZSBjb250ZW50IGNvbnN0cmFpbnQgaXMgYSBjb25zdHJhaW50IGZvciBhbGwgdGhlIGNvbnRlbnQgd2l0aGluXHJcbiAqIHRoZSBkb2N1bWVudC4gSXQgY2FuIGJlIG1hbmlwdWxhdGVkIGJ5IENTUyBvciBKYXZhU2NyaXB0IHdpdGhvdXRcclxuICogaW5mbHVlbmNpbmcgdGhlIGJvZHkuXHJcbiAqL1xuLmNvbnRlbnQtY29uc3RyYWludCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTAwdmg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRmxleFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEV4YW1wbGUgb2YgYSBmbGV4IGJhc2VkIGNvbHVtbiBncmlkIGxheW91dCBpbiBwcmFjdGljZTpcclxuICpcclxuICogPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XHJcbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cclxuICogPC9kaXY+XHJcbiAqXHJcbiAqIFRoaXMgZXhhbXBsZSB3aWxsIGNyZWF0ZSBhIHJvdyB3aXRoIHR3byBjb2x1bW5zIGVhY2ggZmlsbGluZyBoYWxmIHRoZSB3aWR0aFxyXG4gKiBvZiB0aGUgcm93IG9uIGFsbCBtZWRpYSwgYnV0IHdpbGwgY29udmVydCB0byBhIGZ1bGwgd2lkdGggY29sdW1uIG9uIHRoZVxyXG4gKiBzbWFsbCBgLXNtYCBicmVha3BvaW50IGFsaWFzLCB3aGljaCBpcyBtb2JpbGUgb25seS4gUmVmZXIgdG9cclxuICogYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYCBmb3IgYWxsIGJyZWFrcG9pbnQgYWxpYXMuXHJcbiAqL1xuLyoqXHJcbiAqIEZsZXggb2JqZWN0LlxyXG4gKlxyXG4gKiBUaXA6IFVzZSBmbGV4IG9uIGEgY29sdW1uIHRvIG1ha2UgdGhlIGJveCB0aGUgc2FtZSBoZWlnaHQgYXMgdGhlIGNvbHVtbi5cclxuICovXG4uZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLyoqXHJcbiAqIEZsZXggb2JqZWN0IHdpdGggYSBjb2x1bW4gYmFzZWQgbGF5b3V0IHN5c3RlbS5cclxuICovXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAxIGF1dG87XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIG1hcmdpbjogMCAtMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICogQm94LCB0aGUgaW5zaWRlIG9mIGEgY29sdW1uLlxyXG4gKi9cbi5ib3gge1xuICBmbGV4OiAxOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAyIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDIgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMyBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTMge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDI1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAzIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDQgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14cy00IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA1IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtNSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNDEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDUgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNiBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTYge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA2IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDcgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14cy03IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1OC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNyBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA4IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtOCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDggZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhzLTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gOSBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTkge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDc1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA5IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDEwIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteHMtMTAge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxMCBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteHMtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTEgZm9yIHRoZSBgeHNgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14cy0xMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOTEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDExIGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14cy0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMiBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhzLTEyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBzdHJldGNoYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhzLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGNlbnRlcmAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi14cy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgZmxleC1zdGFydGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi14cy1mbGV4LXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LWVuZGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi14cy1mbGV4LWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGJhc2VsaW5lYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhzLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzdGFydGAgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhzLXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgY2VudGVyYCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnkteHMtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWJldHdlZW5gIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS14cy1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1hcm91bmRgIGZvciB0aGUgeHMgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS14cy1zcGFjZS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtZXZlbmx5YCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnkteHMtc3BhY2UtZXZlbmx5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cblxuLyoqXHJcbiAgICAgICAqIEJsZWVkIGxlZnQgZm9yIHRoZSB4cyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5ibGVlZC14cy1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qKlxyXG4gICAgICAgKiBCbGVlZCByaWdodCBmb3IgdGhlIHhzIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmJsZWVkLXhzLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKipcclxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICovXG4uZmlyc3QteHMge1xuICBvcmRlcjogLTE7IH1cblxuLyoqXHJcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYHhzYCBicmVha3BvaW50LlxyXG4gICAgICovXG4ubGFzdC14cyB7XG4gIG9yZGVyOiAxOyB9XG5cbi8qKlxyXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGB4c2AgYnJlYWtwb2ludC5cclxuICAgICAqL1xuLnJldmVyc2UteHMge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtc20tMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDIgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1zbS0yIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMiBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAzIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtc20tMyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDMgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXNtLTQge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA0IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDUgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1zbS01IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA0MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA2IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtc20tNiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDYgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNyBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXNtLTcge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA3IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDggZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1zbS04IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgOCBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtc20tOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA5IGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtc20tOSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNzUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDkgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTAgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1zbS0xMCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogODMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEwIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1zbS0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMSBmb3IgdGhlIGBzbWAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXNtLTExIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA5MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMTEgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXNtLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDEyIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtc20tMTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYHN0cmV0Y2hgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24tc20tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgY2VudGVyYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXNtLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LXN0YXJ0YCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXNtLWZsZXgtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGZsZXgtZW5kYCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXNtLWZsZXgtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgYmFzZWxpbmVgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24tc20tYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHN0YXJ0YCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnktc20tc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBjZW50ZXJgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS1zbS1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYmV0d2VlbmAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LXNtLXNwYWNlLWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWFyb3VuZGAgZm9yIHRoZSBzbSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LXNtLXNwYWNlLWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1ldmVubHlgIGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS1zbS1zcGFjZS1ldmVubHkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuXG4vKipcclxuICAgICAgICogQmxlZWQgbGVmdCBmb3IgdGhlIHNtIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmJsZWVkLXNtLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyoqXHJcbiAgICAgICAqIEJsZWVkIHJpZ2h0IGZvciB0aGUgc20gYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYmxlZWQtc20tcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qKlxyXG4gICAgICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbi5maXJzdC1zbSB7XG4gIG9yZGVyOiAtMTsgfVxuXG4vKipcclxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgc21gIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbi5sYXN0LXNtIHtcbiAgb3JkZXI6IDE7IH1cblxuLyoqXHJcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYHNtYCBicmVha3BvaW50LlxyXG4gICAgICovXG4ucmV2ZXJzZS1zbSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDEgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1tZC0xIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMiBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLW1kLTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAyIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDMgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1tZC0zIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAyNSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMyBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA0IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbWQtNCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDQgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLW1kLTUge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA1IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDYgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1tZC02IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNiBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA3IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbWQtNyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDcgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gOCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLW1kLTgge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA4IGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1tZC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDkgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1tZC05IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA3NSU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgOSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLW1kLTEwIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA4My4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMTAgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LW1kLTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDExIGZvciB0aGUgYG1kYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbWQtMTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDkxLjY2NjY3JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxMSBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbWQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTIgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1tZC0xMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgc3RyZXRjaGAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi1tZC1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBjZW50ZXJgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24tbWQtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGZsZXgtc3RhcnRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24tbWQtZmxleC1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgZmxleC1lbmRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24tbWQtZmxleC1lbmQge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBiYXNlbGluZWAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi1tZC1iYXNlbGluZSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3RhcnRgIGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS1tZC1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogc3RhcnQ7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYGNlbnRlcmAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LW1kLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1iZXR3ZWVuYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnktbWQtc3BhY2UtYmV0d2VlbiB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYXJvdW5kYCBmb3IgdGhlIG1kIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnktbWQtc3BhY2UtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWV2ZW5seWAgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LW1kLXNwYWNlLWV2ZW5seSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5OyB9XG5cbi8qKlxyXG4gICAgICAgKiBCbGVlZCBsZWZ0IGZvciB0aGUgbWQgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYmxlZWQtbWQtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKipcclxuICAgICAgICogQmxlZWQgcmlnaHQgZm9yIHRoZSBtZCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5ibGVlZC1tZC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyoqXHJcbiAgICAgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAqL1xuLmZpcnN0LW1kIHtcbiAgb3JkZXI6IC0xOyB9XG5cbi8qKlxyXG4gICAgICogT3JkZXIgbGFzdCBmb3IgdGhlIGBtZGAgYnJlYWtwb2ludC5cclxuICAgICAqL1xuLmxhc3QtbWQge1xuICBvcmRlcjogMTsgfVxuXG4vKipcclxuICAgICAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgbWRgIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbi5yZXZlcnNlLW1kIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLWxnLTEge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDguMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAyIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbGctMiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMTYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDIgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMyBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLWxnLTMge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDI1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAzIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDQgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1sZy00IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA1IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbGctNSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNDEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDUgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNiBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLWxnLTYge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA2IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDcgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1sZy03IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA1OC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNyBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA4IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbGctOCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDggZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LWxnLTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gOSBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLWxnLTkge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDc1JTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA5IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDEwIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wtbGctMTAge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDgzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCAxMCBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQtbGctMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTEgZm9yIHRoZSBgbGdgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC1sZy0xMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOTEuNjY2NjclO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDExIGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC1sZy0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMiBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLWxnLTEyIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBzdHJldGNoYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLWxnLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGNlbnRlcmAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi1sZy1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgZmxleC1zdGFydGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi1sZy1mbGV4LXN0YXJ0IHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LWVuZGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5hbGlnbi1sZy1mbGV4LWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGJhc2VsaW5lYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLWxnLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzdGFydGAgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LWxnLXN0YXJ0IHtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgY2VudGVyYCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnktbGctY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWJldHdlZW5gIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS1sZy1zcGFjZS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1hcm91bmRgIGZvciB0aGUgbGcgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS1sZy1zcGFjZS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtZXZlbmx5YCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnktbGctc3BhY2UtZXZlbmx5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH1cblxuLyoqXHJcbiAgICAgICAqIEJsZWVkIGxlZnQgZm9yIHRoZSBsZyBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5ibGVlZC1sZy1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qKlxyXG4gICAgICAgKiBCbGVlZCByaWdodCBmb3IgdGhlIGxnIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmJsZWVkLWxnLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4vKipcclxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICovXG4uZmlyc3QtbGcge1xuICBvcmRlcjogLTE7IH1cblxuLyoqXHJcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYGxnYCBicmVha3BvaW50LlxyXG4gICAgICovXG4ubGFzdC1sZyB7XG4gIG9yZGVyOiAxOyB9XG5cbi8qKlxyXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGBsZ2AgYnJlYWtwb2ludC5cclxuICAgICAqL1xuLnJldmVyc2UtbGcge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteGwtMSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogOC4zMzMzMyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDIgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14bC0yIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMiBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAzIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteGwtMyB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDMgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhsLTQge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA0IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14bC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDUgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14bC01IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA0MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgNSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA2IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteGwtNiB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDYgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gNyBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhsLTcge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgcGFkZGluZzogMCAxMi42NjY2N3B4OyB9XG5cbi8qKlxyXG4gICAgICAgICAqIE9mZnNldCA3IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14bC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDggZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14bC04IHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA2Ni42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgOCBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICAgKi9cbi5vZmZzZXQteGwtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiA5IGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteGwtOSB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogNzUlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDkgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi8qKlxyXG4gICAgICAgKiBDb2x1bW4gMTAgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmNvbC14bC0xMCB7XG4gIGZsZXg6IDAgMSBhdXRvO1xuICB3aWR0aDogODMuMzMzMzMlO1xuICBwYWRkaW5nOiAwIDEyLjY2NjY3cHg7IH1cblxuLyoqXHJcbiAgICAgICAgICogT2Zmc2V0IDEwIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgICAqL1xuLm9mZnNldC14bC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLyoqXHJcbiAgICAgICAqIENvbHVtbiAxMSBmb3IgdGhlIGB4bGAgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uY29sLXhsLTExIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIHdpZHRoOiA5MS42NjY2NyU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICAgKiBPZmZzZXQgMTEgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXG4ub2Zmc2V0LXhsLTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4vKipcclxuICAgICAgICogQ29sdW1uIDEyIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5jb2wteGwtMTIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMTIuNjY2NjdweDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYHN0cmV0Y2hgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24teGwtc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgY2VudGVyYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhsLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyoqXHJcbiAgICAgICAqIEFsaWduIGBmbGV4LXN0YXJ0YCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhsLWZsZXgtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4vKipcclxuICAgICAgICogQWxpZ24gYGZsZXgtZW5kYCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmFsaWduLXhsLWZsZXgtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi8qKlxyXG4gICAgICAgKiBBbGlnbiBgYmFzZWxpbmVgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYWxpZ24teGwtYmFzZWxpbmUge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHN0YXJ0YCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmp1c3RpZnkteGwtc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBjZW50ZXJgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS14bC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKipcclxuICAgICAgICogSnVzdGlmeSBgc3BhY2UtYmV0d2VlbmAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhsLXNwYWNlLWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLyoqXHJcbiAgICAgICAqIEp1c3RpZnkgYHNwYWNlLWFyb3VuZGAgZm9yIHRoZSB4bCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cbi5qdXN0aWZ5LXhsLXNwYWNlLWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qKlxyXG4gICAgICAgKiBKdXN0aWZ5IGBzcGFjZS1ldmVubHlgIGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uanVzdGlmeS14bC1zcGFjZS1ldmVubHkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuXG4vKipcclxuICAgICAgICogQmxlZWQgbGVmdCBmb3IgdGhlIHhsIGJyZWFrcG9pbnQuXHJcbiAgICAgICAqL1xuLmJsZWVkLXhsLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyoqXHJcbiAgICAgICAqIEJsZWVkIHJpZ2h0IGZvciB0aGUgeGwgYnJlYWtwb2ludC5cclxuICAgICAgICovXG4uYmxlZWQteGwtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qKlxyXG4gICAgICogT3JkZXIgZmlyc3QgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbi5maXJzdC14bCB7XG4gIG9yZGVyOiAtMTsgfVxuXG4vKipcclxuICAgICAqIE9yZGVyIGxhc3QgZm9yIHRoZSBgeGxgIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cbi5sYXN0LXhsIHtcbiAgb3JkZXI6IDE7IH1cblxuLyoqXHJcbiAgICAgKiBSZXZlcnNlIG9yZGVyIGZvciB0aGUgYHhsYCBicmVha3BvaW50LlxyXG4gICAgICovXG4ucmV2ZXJzZS14bCB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBTZWN0aW9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDTVMgT3V0cHV0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogRXZlcnkgY29uY2VpdmFibGUgSFRNTCBlbGVtZW50IHdpdGhpbiBhIGAuY21zLW91dHB1dGAgd3JhcHBlci5cclxuICpcclxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cclxuICovXG4uY21zLW91dHB1dCA+ICo6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgLyogMSAqLyB9XG5cbi5jbXMtb3V0cHV0IHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbi5jbXMtb3V0cHV0IG9sIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsOyB9XG5cbi5jbXMtb3V0cHV0IHAgPiBhIHtcbiAgY29sb3I6IGJsYWNrOyB9XG4gIC5jbXMtb3V0cHV0IHAgPiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY29udGFjdC10ZW1wbGF0ZSAuaXRlbXMtYmVsb3cge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5jb250YWN0LXRlbXBsYXRlIC5pdGVtcy1iZWxvdyAuaXRlbS1iZWxvdyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMzc1MzVkICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxN3B4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjY0cHggIWltcG9ydGFudDsgfVxuICAgIC5jb250YWN0LXRlbXBsYXRlIC5pdGVtcy1iZWxvdyAuaXRlbS1iZWxvdyBpbWcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmNvbnRhY3QtdGVtcGxhdGUgI3JlcXVlc3QtcXVvdGUge1xuICBwYWRkaW5nLXRvcDogMjAwcHg7IH1cblxuLmNvbnRlbnQtaW1hZ2Uge1xuICBwYWRkaW5nOiAxNTBweCAwOyB9XG4gIC5jb250ZW50LWltYWdlIC53cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC5jb250ZW50LWltYWdlIC5jaV9fY29sdW1uIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmNvbnRlbnQtaW1hZ2UgLmNpX19jb2x1bW4ge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmNvbnRlbnQtaW1hZ2UgLmNpX19jb2x1bW4gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTIwMHB4OyB9IH1cbiAgLmNvbnRlbnQtaW1hZ2UgLmNpX19jb2x1bW46bnRoLWNoaWxkKDEpIHtcbiAgICB3aWR0aDogNTUlOyB9XG4gIC5jb250ZW50LWltYWdlIC5jaV9fY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgd2lkdGg6IDQ1JTsgfVxuICAuY29udGVudC1pbWFnZSAuY2lfX2NvbHVtbiBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogNjIwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IC0zMHB4OyB9XG4gIC5jb250ZW50LWltYWdlIC5jaV9fY29sdW1uIC5jaV9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDMwcHg7XG4gICAgYW5pbWF0aW9uOiBzbGlkZVJpZ2h0IDE1MDBtcyBlYXNlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLmNvbnRlbnQtaW1hZ2UgLmNpX19jb2x1bW4gLmNpX19pbWFnZSB7XG4gICAgICAgIHRvcDogMDsgfSB9XG4gIC5jb250ZW50LWltYWdlIC5jaV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgY29sb3I6ICMzNzUzNWQ7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDc4cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuY29udGVudC1pbWFnZSAuY2lfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLmNvbnRlbnQtaW1hZ2UgLmNpX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAuY29udGVudC1pbWFnZSBoMi5jaV9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNDBweDsgfVxuICAuY29udGVudC1pbWFnZSAuY2lfX2VkaXRvciB7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5jb250ZW50LWltYWdlIC5jaV9fZWRpdG9yIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY29udGVudC1pbWFnZSAuY2lfX2xpbmsge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zO1xuICAgICAgdHJhbnNpdGlvbjogMzUwbXMgZWFzZTsgfVxuICAgICAgLmNvbnRlbnQtaW1hZ2UgLmNpX19saW5rOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzM3NTM1ZDtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9IH1cbiAgLmNvbnRlbnQtaW1hZ2UgLml0ZW1zLWJlbG93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzUwcHgpIHtcbiAgICAgIC5jb250ZW50LWltYWdlIC5pdGVtcy1iZWxvdyB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIG1hcmdpbjogMjVweCBhdXRvIGF1dG87IH1cbiAgICAgICAgLmNvbnRlbnQtaW1hZ2UgLml0ZW1zLWJlbG93IC5pdGVtLWJlbG93IHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbjogYXV0byBhdXRvIDE1cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzUwcHgpIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgLmNvbnRlbnQtaW1hZ2UgLml0ZW1zLWJlbG93IHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgICAgICBtYXJnaW46IDQwcHggYXV0byBhdXRvOyB9XG4gICAgICAgIC5jb250ZW50LWltYWdlIC5pdGVtcy1iZWxvdyAuaXRlbS1iZWxvdyB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvIGF1dG8gMzBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5jb250ZW50LWltYWdlIC5pdGVtcy1iZWxvdyB7XG4gICAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAgIG1hcmdpbjogNDBweCBhdXRvIGF1dG87IH1cbiAgICAgICAgLmNvbnRlbnQtaW1hZ2UgLml0ZW1zLWJlbG93IC5pdGVtLWJlbG93IHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgLmNvbnRlbnQtaW1hZ2UgLml0ZW1zLWJlbG93IC5pdGVtLWJlbG93IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgY29sb3I6ICMzNzUzNWQ7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDsgfVxuICAgICAgLmNvbnRlbnQtaW1hZ2UgLml0ZW1zLWJlbG93IC5pdGVtLWJlbG93IGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmNvbnRlbnQtaW1hZ2UgLml0ZW1zLWJlbG93IC5pdGVtLWJlbG93IC5pdGVtLWJlbG93X190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuY29udGVudC1pbWFnZSAuaXRlbXMtcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQwJTtcbiAgICByaWdodDogMTQlO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLmNvbnRlbnQtaW1hZ2UgLml0ZW1zLXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIC5jb250ZW50LWltYWdlIC5pdGVtcy1yaWdodCAuaXRlbS1iZWxvd19fc29jaWFsLWljb24ge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfSB9XG4gICAgLmNvbnRlbnQtaW1hZ2UgLml0ZW1zLXJpZ2h0IC5pdGVtLWJlbG93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIGNvbG9yOiAjMzc1MzVkO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgIC5jb250ZW50LWltYWdlIC5pdGVtcy1yaWdodCAuaXRlbS1iZWxvdyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgLmNvbnRlbnQtaW1hZ2UgLml0ZW1zLXJpZ2h0IC5pdGVtLWJlbG93IGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTFweDsgfVxuICAgICAgLmNvbnRlbnQtaW1hZ2UgLml0ZW1zLXJpZ2h0IC5pdGVtLWJlbG93IC5pdGVtLWJlbG93X190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLmNvbnRlbnQtaW1hZ2UgLml0ZW1zLXJpZ2h0IC5pdGVtLWJlbG93IGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuY29udGVudC1pbWFnZSAuaXRlbS1iZWxvd19faWNvbiB7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIG1hcmdpbi10b3A6IDgzcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLmNvbnRlbnQtaW1hZ2UgLml0ZW0tYmVsb3dfX2ljb24ge1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0byA0MHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuY29udGVudC1pbWFnZSAuaXRlbS1iZWxvd19faWNvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIC5jb250ZW50LWltYWdlIC5pdGVtLWJlbG93X19pY29uIHN2ZyB7XG4gICAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGFuaW1hdGlvbjogcHVsc2UgMXMgZWFzZSBpbmZpbml0ZTsgfVxuXG4uaGVhZGVyICsgLmNvbnRlbnQtaW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IC0yMDBweDtcbiAgcGFkZGluZzogMzUwcHggMCAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAuaGVhZGVyICsgLmNvbnRlbnQtaW1hZ2Uge1xuICAgICAgcGFkZGluZzogMjYwcHggMCAwOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5oZWFkZXIgKyAuY29udGVudC1pbWFnZSB7XG4gICAgICBwYWRkaW5nOiAzMDBweCAwIDA7IH0gfVxuXG4ucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAzMzBweCAwO1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2Zvcm06IHNrZXdZKDApOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLnByb2R1Y3RzLWZlYXR1cmVkICsgLmNvbnRlbnQtaW1hZ2Uge1xuICAgICAgbWFyZ2luOiAzMzBweCBhdXRvIDIwMHB4OyB9XG4gICAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSAuY2lfX2VkaXRvciB7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIG1heC13aWR0aDogMzgwcHg7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSB7XG4gICAgICBtYXJnaW46IDIyNXB4IDAgMTgwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gICAgLnByb2R1Y3RzLWZlYXR1cmVkICsgLmNvbnRlbnQtaW1hZ2UgLndyYXBwZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSAud3JhcHBlciAuY2lfX2NvbHVtbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5wcm9kdWN0cy1mZWF0dXJlZCArIC5jb250ZW50LWltYWdlIC53cmFwcGVyIC5jaV9fY29sdW1uIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAgIC5wcm9kdWN0cy1mZWF0dXJlZCArIC5jb250ZW50LWltYWdlIC53cmFwcGVyIC5pdGVtLWJlbG93X19zb2NpYWwtaWNvbiB7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSB7XG4gICAgICBtYXJnaW46IDMzMHB4IGF1dG8gMjcwcHg7IH1cbiAgICAgIC5wcm9kdWN0cy1mZWF0dXJlZCArIC5jb250ZW50LWltYWdlIC5jaV9fY29sdW1uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSAuY2lfX2NvbHVtbjpudGgtY2hpbGQoMikge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSAuY2lfX2VkaXRvciB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnByb2R1Y3RzLWZlYXR1cmVkICsgLmNvbnRlbnQtaW1hZ2UgLml0ZW0tYmVsb3cge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSAuY2lfX2ltYWdlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSAuY2lfX2NvbHVtbjpudGgtY2hpbGQoMSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnByb2R1Y3RzLWZlYXR1cmVkICsgLmNvbnRlbnQtaW1hZ2UgLmNpX19jb2x1bW46bnRoLWNoaWxkKDIpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5wcm9kdWN0cy1mZWF0dXJlZCArIC5jb250ZW50LWltYWdlIC5pdGVtcy1iZWxvdyB7XG4gICAgICBtYXJnaW46IDUwcHggYXV0byBhdXRvIDA7IH1cbiAgICAgIC5wcm9kdWN0cy1mZWF0dXJlZCArIC5jb250ZW50LWltYWdlIC5pdGVtcy1iZWxvdyAuaXRlbS1iZWxvdyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnByb2R1Y3RzLWZlYXR1cmVkICsgLmNvbnRlbnQtaW1hZ2UgLmNpX19pbWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5wcm9kdWN0cy1mZWF0dXJlZCArIC5jb250ZW50LWltYWdlIC53cmFwcGVyIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdZKDApOyB9XG4gIC5wcm9kdWN0cy1mZWF0dXJlZCArIC5jb250ZW50LWltYWdlIC5jaV9faW1hZ2Uge1xuICAgIHRvcDogMDsgfVxuICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSAuY2lfX2VkaXRvciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5wcm9kdWN0cy1mZWF0dXJlZCArIC5jb250ZW50LWltYWdlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTE4MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzUwcHg7XG4gICAgdHJhbnNmb3JtOiBza2V3WSg5ZGVnKTtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmNmY3O1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnByb2R1Y3RzLWZlYXR1cmVkICsgLmNvbnRlbnQtaW1hZ2U6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAtOTBweDsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZTpiZWZvcmUge1xuICAgICAgICB0b3A6IC02NXB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZTpiZWZvcmUge1xuICAgICAgICB0b3A6IC05MHB4OyB9IH1cbiAgLnByb2R1Y3RzLWZlYXR1cmVkICsgLmNvbnRlbnQtaW1hZ2U6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xODBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDM1MHB4O1xuICAgIHRyYW5zZm9ybTogc2tld1koLTlkZWcpO1xuICAgIGJhY2tncm91bmQ6ICNmM2Y2Zjc7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZTphZnRlciB7XG4gICAgICAgIGJvdHRvbTogLTc1cHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnByb2R1Y3RzLWZlYXR1cmVkICsgLmNvbnRlbnQtaW1hZ2U6YWZ0ZXIge1xuICAgICAgICBib3R0b206IC03MHB4OyB9IH1cbiAgLnByb2R1Y3RzLWZlYXR1cmVkICsgLmNvbnRlbnQtaW1hZ2UgLml0ZW0tYmVsb3dfX2ljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW4tdG9wOiA3MnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLnByb2R1Y3RzLWZlYXR1cmVkICsgLmNvbnRlbnQtaW1hZ2UgLml0ZW0tYmVsb3dfX2ljb24ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBtYXJnaW46IDE1cHggYXV0byBhdXRvOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSAuaXRlbS1iZWxvd19faWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1hcmdpbjogNTBweCBhdXRvIGF1dG8gMDsgfSB9XG4gIC5wcm9kdWN0cy1mZWF0dXJlZCArIC5jb250ZW50LWltYWdlIC5jaV9fY29sdW1uOm50aC1jaGlsZCgxKSB7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSAuY2lfX2NvbHVtbjpudGgtY2hpbGQoMSkge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5wcm9kdWN0cy1mZWF0dXJlZCArIC5jb250ZW50LWltYWdlIC5jaV9fY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSAuY2lfX2NvbHVtbjpudGgtY2hpbGQoMikge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5wcm9kdWN0cy1mZWF0dXJlZCArIC5jb250ZW50LWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDI2MHB4O1xuICAgIGhlaWdodDogMjYwcHg7XG4gICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnByb2R1Y3RzLWZlYXR1cmVkICsgLmNvbnRlbnQtaW1hZ2UgaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAlOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5wcm9kdWN0cy1mZWF0dXJlZCArIC5jb250ZW50LWltYWdlIGltZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1JTsgfSB9XG4gIC5wcm9kdWN0cy1mZWF0dXJlZCArIC5jb250ZW50LWltYWdlIC5pdGVtLWJlbG93X190aXRsZSBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLnByb2R1Y3RzLWZlYXR1cmVkICsgLmNvbnRlbnQtaW1hZ2UgLml0ZW0tYmVsb3cgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmJhY2tncm91bmQtY29sb3ItZ3JleSB7XG4gIGJhY2tncm91bmQ6ICNmM2Y2Zjc7IH1cblxuLmJhY2tncm91bmQtY29sb3Itd2hpdGUge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTsgfVxuXG4uYmFja2dyb3VuZC10b3AtZGVzY2VuZGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiBza2V3WSgtOWRlZyk7IH1cbiAgLmJhY2tncm91bmQtdG9wLWRlc2NlbmRpbmcgLndyYXBwZXIge1xuICAgIHRyYW5zZm9ybTogc2tld1koOWRlZyk7IH1cblxuLmJhY2tncm91bmQtdG9wLWhvcml6b250YWwge1xuICBwYWRkaW5nLWJvdHRvbTogMTEwcHggIWltcG9ydGFudDsgfVxuICAuYmFja2dyb3VuZC10b3AtaG9yaXpvbnRhbDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5zdGFuZGFyZC1wYWdlIC5jaV9fY29sdW1uIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnN0YW5kYXJkLXBhZ2UgLmNpX19jb2x1bW4gaW1nIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgLnN0YW5kYXJkLXBhZ2UgLmNpX19lZGl0b3Ige1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3RhbmRhcmQtcGFnZSAuaXRlbXMtYmVsb3cge1xuICAgIG1hcmdpbjogNDBweCBhdXRvIGF1dG8gMDsgfVxuICAgIC5zdGFuZGFyZC1wYWdlIC5pdGVtcy1iZWxvdyAuaXRlbS1iZWxvdyB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuc3RhbmRhcmQtcGFnZSAuY2lfX2NvbHVtbiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIC5zdGFuZGFyZC1wYWdlIC5jaV9fY29sdW1uIC5jaV9faW1hZ2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuXG4uc3RhbmRhcmQtcGFnZSAuaXRlbS1iZWxvd19faWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmNvbnRhY3QtdGVtcGxhdGUgLml0ZW1zLWJlbG93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY29udGFjdC10ZW1wbGF0ZSAuaXRlbXMtYmVsb3cgLml0ZW0tYmVsb3cge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5jb250YWN0LXRlbXBsYXRlIC5jb250ZW50LWltYWdlIHtcbiAgcGFkZGluZzogMTUwcHggMCAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLmNvbnRhY3QtdGVtcGxhdGUgLmNvbnRlbnQtaW1hZ2Uge1xuICAgICAgaGVpZ2h0OiA0MzBweDsgfSB9XG4gIC5jb250YWN0LXRlbXBsYXRlIC5jb250ZW50LWltYWdlIC5pdGVtLWJlbG93X19pY29uIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4OyB9XG5cbi5jb250YWN0LXRlbXBsYXRlIC5pdGVtLWJlbG93IHtcbiAgd2lkdGg6IDcwJSAhaW1wb3J0YW50OyB9XG5cbi5oZWFkZXIgKyAuaW1hZ2UtcG9zaXRpb24tbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuaGVhZGVyICsgLmltYWdlLXBvc2l0aW9uLWxlZnQgLndyYXBwZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBtYXgtd2lkdGg6IDExMDBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5oZWFkZXIgKyAuaW1hZ2UtcG9zaXRpb24tbGVmdCAud3JhcHBlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLmhlYWRlciArIC5pbWFnZS1wb3NpdGlvbi1sZWZ0IC53cmFwcGVyIC5jaV9fY29sdW1uOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgICAuaGVhZGVyICsgLmltYWdlLXBvc2l0aW9uLWxlZnQgLndyYXBwZXIgLmNpX19jb2x1bW46bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgaGVpZ2h0OiAzNTBweDsgfSB9XG4gICAgLmhlYWRlciArIC5pbWFnZS1wb3NpdGlvbi1sZWZ0IC53cmFwcGVyIC5jaV9fY29sdW1uIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyNjBweDtcbiAgICAgIGhlaWdodDogMjYwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMCU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgICAuaGVhZGVyICsgLmltYWdlLXBvc2l0aW9uLWxlZnQgLndyYXBwZXIgLmNpX19jb2x1bW4gaW1nIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIC5oZWFkZXIgKyAuaW1hZ2UtcG9zaXRpb24tbGVmdCAud3JhcHBlciAuY2lfX2NvbHVtbjpudGgtY2hpbGQoMSkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHdpZHRoOiA2MCU7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4OyB9XG4gICAgLmhlYWRlciArIC5pbWFnZS1wb3NpdGlvbi1sZWZ0IC53cmFwcGVyIC5jaV9fY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgd2lkdGg6IDQwJTsgfVxuICAgIC5oZWFkZXIgKyAuaW1hZ2UtcG9zaXRpb24tbGVmdCAud3JhcHBlciAuaXRlbXMtYmVsb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5oZWFkZXIgKyAuaW1hZ2UtcG9zaXRpb24tbGVmdCAud3JhcHBlciAuaXRlbXMtYmVsb3cge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgLmhlYWRlciArIC5pbWFnZS1wb3NpdGlvbi1sZWZ0IC53cmFwcGVyIC5pdGVtcy1iZWxvdyAuaXRlbS1iZWxvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgICAgIC5oZWFkZXIgKyAuaW1hZ2UtcG9zaXRpb24tbGVmdCAud3JhcHBlciAuaXRlbXMtYmVsb3cgLml0ZW0tYmVsb3cge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7IH1cbiAgICAgICAgLmhlYWRlciArIC5pbWFnZS1wb3NpdGlvbi1sZWZ0IC53cmFwcGVyIC5pdGVtcy1iZWxvdyAuaXRlbS1iZWxvdyBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTFweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAgIC5oZWFkZXIgKyAuaW1hZ2UtcG9zaXRpb24tbGVmdCAud3JhcHBlciAuaXRlbXMtYmVsb3cgLml0ZW0tYmVsb3cgLml0ZW0tYmVsb3dfX3RpdGxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICAgLmhlYWRlciArIC5pbWFnZS1wb3NpdGlvbi1sZWZ0IC53cmFwcGVyIC5pdGVtcy1iZWxvdyAuaXRlbS1iZWxvdyBhIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuaGVhZGVyICsgLmltYWdlLXBvc2l0aW9uLWxlZnQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMTMwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmNmY3O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IC0xOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEZvb3RlclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvb3RlciB7XG4gIHBhZGRpbmc6IDEwMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLmZvb3RlciB7XG4gICAgICBwYWRkaW5nOiAwIDAgNzBweDsgfSB9XG4gIC5mb290ZXIgLmRpdmlkZXIge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiAxNjlweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IGF1dG8gYXV0byA1MHB4O1xuICAgIGJhY2tncm91bmQ6ICNiNmJmYzM7IH1cbiAgLmZvb3RlciAuZm9vdGVyX19saW5rcyB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAuZm9vdGVyIC5mb290ZXJfX2xpbmtzIGEge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzM3NTM1ZDtcbiAgICAgIGNvbG9yOiAjMzc1MzVkO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjA3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgLmZvb3RlciAuZm9vdGVyX19saW5rcyBhIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAzNTBtcyBlYXNlOyB9XG4gICAgICAgICAgLmZvb3RlciAuZm9vdGVyX19saW5rcyBhOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjsgfSB9XG4gICAgICAuZm9vdGVyIC5mb290ZXJfX2xpbmtzIGE6bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmZvb3RlciAuZm9vdGVyX19jb3B5cmlnaHQge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWFyZ2luOiAxNXB4IGF1dG8gYXV0bztcbiAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS4wN3B4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyX19jb3B5cmlnaHQge1xuICAgICAgICB3aWR0aDogNzAlOyB9IH1cblxuLnRlYXNlci1jb250YWN0ICsgLmZvb3RlciB7XG4gIHBhZGRpbmc6IDExNXB4IDAgMTAwcHg7IH1cblxuLmNvbnRhY3QtdGVtcGxhdGUgKyAuZm9vdGVyIHtcbiAgcGFkZGluZzogMjYwcHggMCAxMDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLmNvbnRhY3QtdGVtcGxhdGUgKyAuZm9vdGVyIHtcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDA7IH0gfVxuXG4ucHNfX2Zvcm0sXG4uZm9ybSB7XG4gIG1hcmdpbi10b3A6IDE1MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAucHNfX2Zvcm0sXG4gICAgLmZvcm0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH0gfVxuICAucHNfX2Zvcm0gLndyYXBwZXIsXG4gIC5mb3JtIC53cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDgwMHB4OyB9XG4gIC5wc19fZm9ybSBoMyxcbiAgLmZvcm0gaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG4gICAgY29sb3I6ICMzNzUzNWQ7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuOTJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBzX19mb3JtICNnZm9ybV8xLFxuICAucHNfX2Zvcm0gI2dmb3JtXzMsXG4gIC5mb3JtICNnZm9ybV8xLFxuICAuZm9ybSAjZ2Zvcm1fMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBzX19mb3JtICNnZm9ybV8xIC5nZmllbGQsXG4gICAgLnBzX19mb3JtICNnZm9ybV8zIC5nZmllbGQsXG4gICAgLmZvcm0gI2dmb3JtXzEgLmdmaWVsZCxcbiAgICAuZm9ybSAjZ2Zvcm1fMyAuZ2ZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgICAucHNfX2Zvcm0gI2dmb3JtXzEgLmdmaWVsZCBsYWJlbCxcbiAgICAgICAgLnBzX19mb3JtICNnZm9ybV8zIC5nZmllbGQgbGFiZWwsXG4gICAgICAgIC5mb3JtICNnZm9ybV8xIC5nZmllbGQgbGFiZWwsXG4gICAgICAgIC5mb3JtICNnZm9ybV8zIC5nZmllbGQgbGFiZWwge1xuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLnBzX19mb3JtICNnZm9ybV8xIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIsXG4gICAgICAgIC5wc19fZm9ybSAjZ2Zvcm1fMyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLFxuICAgICAgICAuZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyLFxuICAgICAgICAuZm9ybSAjZ2Zvcm1fMyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cbiAgICAgIC5wc19fZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkIGxhYmVsLFxuICAgICAgLnBzX19mb3JtICNnZm9ybV8zIC5nZmllbGQgbGFiZWwsXG4gICAgICAuZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkIGxhYmVsLFxuICAgICAgLmZvcm0gI2dmb3JtXzMgLmdmaWVsZCBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4yM3B4OyB9XG4gICAgICAucHNfX2Zvcm0gI2dmb3JtXzEgLmdmaWVsZCBsZWdlbmQsXG4gICAgICAucHNfX2Zvcm0gI2dmb3JtXzMgLmdmaWVsZCBsZWdlbmQsXG4gICAgICAuZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkIGxlZ2VuZCxcbiAgICAgIC5mb3JtICNnZm9ybV8zIC5nZmllbGQgbGVnZW5kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnBzX19mb3JtICNnZm9ybV8xIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIsXG4gICAgICAucHNfX2Zvcm0gI2dmb3JtXzMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcixcbiAgICAgIC5mb3JtICNnZm9ybV8xIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIsXG4gICAgICAuZm9ybSAjZ2Zvcm1fMyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDc1JTsgfVxuICAgICAgLnBzX19mb3JtICNnZm9ybV8xIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0LFxuICAgICAgLnBzX19mb3JtICNnZm9ybV8zIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0LFxuICAgICAgLmZvcm0gI2dmb3JtXzEgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3QsXG4gICAgICAuZm9ybSAjZ2Zvcm1fMyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5wc19fZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkIGlucHV0LFxuICAgICAgLnBzX19mb3JtICNnZm9ybV8xIC5nZmllbGQgc2VsZWN0LFxuICAgICAgLnBzX19mb3JtICNnZm9ybV8zIC5nZmllbGQgaW5wdXQsXG4gICAgICAucHNfX2Zvcm0gI2dmb3JtXzMgLmdmaWVsZCBzZWxlY3QsXG4gICAgICAuZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkIGlucHV0LFxuICAgICAgLmZvcm0gI2dmb3JtXzEgLmdmaWVsZCBzZWxlY3QsXG4gICAgICAuZm9ybSAjZ2Zvcm1fMyAuZ2ZpZWxkIGlucHV0LFxuICAgICAgLmZvcm0gI2dmb3JtXzMgLmdmaWVsZCBzZWxlY3Qge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNWUyZTc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuOThweDsgfVxuICAgICAgLnBzX19mb3JtICNnZm9ybV8xIC5nZmllbGQgLmNhcmV0LFxuICAgICAgLnBzX19mb3JtICNnZm9ybV8zIC5nZmllbGQgLmNhcmV0LFxuICAgICAgLmZvcm0gI2dmb3JtXzEgLmdmaWVsZCAuY2FyZXQsXG4gICAgICAuZm9ybSAjZ2Zvcm1fMyAuZ2ZpZWxkIC5jYXJldCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgY29sb3I6ICM1MjkwYTY7XG4gICAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICAucHNfX2Zvcm0gI2dmb3JtXzEgLmdmaWVsZCBzZWxlY3Q6Oi1tcy1leHBhbmQsXG4gICAgICAucHNfX2Zvcm0gI2dmb3JtXzMgLmdmaWVsZCBzZWxlY3Q6Oi1tcy1leHBhbmQsXG4gICAgICAuZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkIHNlbGVjdDo6LW1zLWV4cGFuZCxcbiAgICAgIC5mb3JtICNnZm9ybV8zIC5nZmllbGQgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnBzX19mb3JtICNnZm9ybV8xIC5nZmllbGQgdGV4dGFyZWEsXG4gICAgICAucHNfX2Zvcm0gI2dmb3JtXzMgLmdmaWVsZCB0ZXh0YXJlYSxcbiAgICAgIC5mb3JtICNnZm9ybV8xIC5nZmllbGQgdGV4dGFyZWEsXG4gICAgICAuZm9ybSAjZ2Zvcm1fMyAuZ2ZpZWxkIHRleHRhcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNWUyZTc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC45OHB4O1xuICAgICAgICByZXNpemU6IG5vbmU7IH1cbiAgICAucHNfX2Zvcm0gI2dmb3JtXzEgI2ZpZWxkXzFfNyxcbiAgICAucHNfX2Zvcm0gI2dmb3JtXzMgI2ZpZWxkXzFfNyxcbiAgICAuZm9ybSAjZ2Zvcm1fMSAjZmllbGRfMV83LFxuICAgIC5mb3JtICNnZm9ybV8zICNmaWVsZF8xXzcge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wc19fZm9ybSAjZ2Zvcm1fMSAjaW5wdXRfM18xLFxuICAgIC5wc19fZm9ybSAjZ2Zvcm1fMyAjaW5wdXRfM18xLFxuICAgIC5mb3JtICNnZm9ybV8xICNpbnB1dF8zXzEsXG4gICAgLmZvcm0gI2dmb3JtXzMgI2lucHV0XzNfMSB7XG4gICAgICB3aWR0aDogOTAlOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAgIC5wc19fZm9ybSAjZ2Zvcm1fMSAjaW5wdXRfM18xLFxuICAgICAgICAucHNfX2Zvcm0gI2dmb3JtXzMgI2lucHV0XzNfMSxcbiAgICAgICAgLmZvcm0gI2dmb3JtXzEgI2lucHV0XzNfMSxcbiAgICAgICAgLmZvcm0gI2dmb3JtXzMgI2lucHV0XzNfMSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5wc19fZm9ybSAjZ2Zvcm1fMSAuanMtc3VibWl0LWJ1dHRvbixcbiAgICAucHNfX2Zvcm0gI2dmb3JtXzEgI2dmb3JtX3N1Ym1pdF9idXR0b25fMSxcbiAgICAucHNfX2Zvcm0gI2dmb3JtXzMgLmpzLXN1Ym1pdC1idXR0b24sXG4gICAgLnBzX19mb3JtICNnZm9ybV8zICNnZm9ybV9zdWJtaXRfYnV0dG9uXzEsXG4gICAgLmZvcm0gI2dmb3JtXzEgLmpzLXN1Ym1pdC1idXR0b24sXG4gICAgLmZvcm0gI2dmb3JtXzEgI2dmb3JtX3N1Ym1pdF9idXR0b25fMSxcbiAgICAuZm9ybSAjZ2Zvcm1fMyAuanMtc3VibWl0LWJ1dHRvbixcbiAgICAuZm9ybSAjZ2Zvcm1fMyAjZ2Zvcm1fc3VibWl0X2J1dHRvbl8xIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luOiAxNXB4IGF1dG8gYXV0bztcbiAgICAgIHBhZGRpbmc6IDIwcHggNDVweCAyMHB4IDI1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjNTI5MWE3O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCAxNXB4IDAgcmdiYSg4MiwgMTQ1LCAxNjcsIDAuMyk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgIC5wc19fZm9ybSAjZ2Zvcm1fMSAuanMtc3VibWl0LWJ1dHRvbixcbiAgICAgICAgLnBzX19mb3JtICNnZm9ybV8xICNnZm9ybV9zdWJtaXRfYnV0dG9uXzEsXG4gICAgICAgIC5wc19fZm9ybSAjZ2Zvcm1fMyAuanMtc3VibWl0LWJ1dHRvbixcbiAgICAgICAgLnBzX19mb3JtICNnZm9ybV8zICNnZm9ybV9zdWJtaXRfYnV0dG9uXzEsXG4gICAgICAgIC5mb3JtICNnZm9ybV8xIC5qcy1zdWJtaXQtYnV0dG9uLFxuICAgICAgICAuZm9ybSAjZ2Zvcm1fMSAjZ2Zvcm1fc3VibWl0X2J1dHRvbl8xLFxuICAgICAgICAuZm9ybSAjZ2Zvcm1fMyAuanMtc3VibWl0LWJ1dHRvbixcbiAgICAgICAgLmZvcm0gI2dmb3JtXzMgI2dmb3JtX3N1Ym1pdF9idXR0b25fMSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtczsgfVxuICAgICAgICAgIC5wc19fZm9ybSAjZ2Zvcm1fMSAuanMtc3VibWl0LWJ1dHRvbjpob3ZlcixcbiAgICAgICAgICAucHNfX2Zvcm0gI2dmb3JtXzEgI2dmb3JtX3N1Ym1pdF9idXR0b25fMTpob3ZlcixcbiAgICAgICAgICAucHNfX2Zvcm0gI2dmb3JtXzMgLmpzLXN1Ym1pdC1idXR0b246aG92ZXIsXG4gICAgICAgICAgLnBzX19mb3JtICNnZm9ybV8zICNnZm9ybV9zdWJtaXRfYnV0dG9uXzE6aG92ZXIsXG4gICAgICAgICAgLmZvcm0gI2dmb3JtXzEgLmpzLXN1Ym1pdC1idXR0b246aG92ZXIsXG4gICAgICAgICAgLmZvcm0gI2dmb3JtXzEgI2dmb3JtX3N1Ym1pdF9idXR0b25fMTpob3ZlcixcbiAgICAgICAgICAuZm9ybSAjZ2Zvcm1fMyAuanMtc3VibWl0LWJ1dHRvbjpob3ZlcixcbiAgICAgICAgICAuZm9ybSAjZ2Zvcm1fMyAjZ2Zvcm1fc3VibWl0X2J1dHRvbl8xOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODsgfSB9XG4gICAgLnBzX19mb3JtICNnZm9ybV8xIC5qcy1zdWJtaXQtaWNvbixcbiAgICAucHNfX2Zvcm0gI2dmb3JtXzMgLmpzLXN1Ym1pdC1pY29uLFxuICAgIC5mb3JtICNnZm9ybV8xIC5qcy1zdWJtaXQtaWNvbixcbiAgICAuZm9ybSAjZ2Zvcm1fMyAuanMtc3VibWl0LWljb24ge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgIC5wc19fZm9ybSAjZ2Zvcm1fMSAuanMtc3VibWl0LWljb24gc3ZnLFxuICAgICAgLnBzX19mb3JtICNnZm9ybV8zIC5qcy1zdWJtaXQtaWNvbiBzdmcsXG4gICAgICAuZm9ybSAjZ2Zvcm1fMSAuanMtc3VibWl0LWljb24gc3ZnLFxuICAgICAgLmZvcm0gI2dmb3JtXzMgLmpzLXN1Ym1pdC1pY29uIHN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzNXB4O1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgY29sb3I6IHdoaXRlOyB9XG4gICAgICAucHNfX2Zvcm0gI2dmb3JtXzEgLmpzLXN1Ym1pdC1pY29uOjphZnRlcixcbiAgICAgIC5wc19fZm9ybSAjZ2Zvcm1fMyAuanMtc3VibWl0LWljb246OmFmdGVyLFxuICAgICAgLmZvcm0gI2dmb3JtXzEgLmpzLXN1Ym1pdC1pY29uOjphZnRlcixcbiAgICAgIC5mb3JtICNnZm9ybV8zIC5qcy1zdWJtaXQtaWNvbjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBjb2xvcjogI2YzZjZmNztcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgICAgICAgY29udGVudDogJ1xcZjFkOCc7IH1cbiAgICAucHNfX2Zvcm0gI2dmb3JtXzEgLmdmaWVsZF9yZXBlYXRlcl9pdGVtcyxcbiAgICAucHNfX2Zvcm0gI2dmb3JtXzMgLmdmaWVsZF9yZXBlYXRlcl9pdGVtcyxcbiAgICAuZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkX3JlcGVhdGVyX2l0ZW1zLFxuICAgIC5mb3JtICNnZm9ybV8zIC5nZmllbGRfcmVwZWF0ZXJfaXRlbXMge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICAgIC5wc19fZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkX3JlcGVhdGVyX2J1dHRvbnMsXG4gICAgLnBzX19mb3JtICNnZm9ybV8zIC5nZmllbGRfcmVwZWF0ZXJfYnV0dG9ucyxcbiAgICAuZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkX3JlcGVhdGVyX2J1dHRvbnMsXG4gICAgLmZvcm0gI2dmb3JtXzMgLmdmaWVsZF9yZXBlYXRlcl9idXR0b25zIHtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4OyB9XG4gICAgICAucHNfX2Zvcm0gI2dmb3JtXzEgLmdmaWVsZF9yZXBlYXRlcl9idXR0b25zIGJ1dHRvbixcbiAgICAgIC5wc19fZm9ybSAjZ2Zvcm1fMyAuZ2ZpZWxkX3JlcGVhdGVyX2J1dHRvbnMgYnV0dG9uLFxuICAgICAgLmZvcm0gI2dmb3JtXzEgLmdmaWVsZF9yZXBlYXRlcl9idXR0b25zIGJ1dHRvbixcbiAgICAgIC5mb3JtICNnZm9ybV8zIC5nZmllbGRfcmVwZWF0ZXJfYnV0dG9ucyBidXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDM5JTtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBtYXJnaW46IDExcHggNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICM1MjkxYTc7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCAxNXB4IDAgcmdiYSg4MiwgMTQ1LCAxNjcsIDAuMyk7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgICAgIC5wc19fZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkX3JlcGVhdGVyX2J1dHRvbnMgYnV0dG9uLFxuICAgICAgICAgIC5wc19fZm9ybSAjZ2Zvcm1fMyAuZ2ZpZWxkX3JlcGVhdGVyX2J1dHRvbnMgYnV0dG9uLFxuICAgICAgICAgIC5mb3JtICNnZm9ybV8xIC5nZmllbGRfcmVwZWF0ZXJfYnV0dG9ucyBidXR0b24sXG4gICAgICAgICAgLmZvcm0gI2dmb3JtXzMgLmdmaWVsZF9yZXBlYXRlcl9idXR0b25zIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMzUlOyB9IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgICAgLnBzX19mb3JtICNnZm9ybV8xIC5nZmllbGRfcmVwZWF0ZXJfYnV0dG9ucyBidXR0b24sXG4gICAgICAgICAgLnBzX19mb3JtICNnZm9ybV8zIC5nZmllbGRfcmVwZWF0ZXJfYnV0dG9ucyBidXR0b24sXG4gICAgICAgICAgLmZvcm0gI2dmb3JtXzEgLmdmaWVsZF9yZXBlYXRlcl9idXR0b25zIGJ1dHRvbixcbiAgICAgICAgICAuZm9ybSAjZ2Zvcm1fMyAuZ2ZpZWxkX3JlcGVhdGVyX2J1dHRvbnMgYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAzNyU7IH0gfVxuICAgIC5wc19fZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkX3JlcGVhdGVyX3dyYXBwZXIsXG4gICAgLnBzX19mb3JtICNnZm9ybV8zIC5nZmllbGRfcmVwZWF0ZXJfd3JhcHBlcixcbiAgICAuZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkX3JlcGVhdGVyX3dyYXBwZXIsXG4gICAgLmZvcm0gI2dmb3JtXzMgLmdmaWVsZF9yZXBlYXRlcl93cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgICAucHNfX2Zvcm0gI2dmb3JtXzEgLmdmaWVsZF9yZXBlYXRlcl93cmFwcGVyLFxuICAgICAgICAucHNfX2Zvcm0gI2dmb3JtXzMgLmdmaWVsZF9yZXBlYXRlcl93cmFwcGVyLFxuICAgICAgICAuZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkX3JlcGVhdGVyX3dyYXBwZXIsXG4gICAgICAgIC5mb3JtICNnZm9ybV8zIC5nZmllbGRfcmVwZWF0ZXJfd3JhcHBlciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIC5wc19fZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkX3JlcGVhdGVyX2l0ZW0sXG4gICAgLnBzX19mb3JtICNnZm9ybV8zIC5nZmllbGRfcmVwZWF0ZXJfaXRlbSxcbiAgICAuZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkX3JlcGVhdGVyX2l0ZW0sXG4gICAgLmZvcm0gI2dmb3JtXzMgLmdmaWVsZF9yZXBlYXRlcl9pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucHNfX2Zvcm0gI2dmb3JtXzEgLmdmaWVsZF9yZXBlYXRlcl9pdGVtIC5nZmllbGRfcmVwZWF0ZXJfY2VsbCxcbiAgICAgIC5wc19fZm9ybSAjZ2Zvcm1fMyAuZ2ZpZWxkX3JlcGVhdGVyX2l0ZW0gLmdmaWVsZF9yZXBlYXRlcl9jZWxsLFxuICAgICAgLmZvcm0gI2dmb3JtXzEgLmdmaWVsZF9yZXBlYXRlcl9pdGVtIC5nZmllbGRfcmVwZWF0ZXJfY2VsbCxcbiAgICAgIC5mb3JtICNnZm9ybV8zIC5nZmllbGRfcmVwZWF0ZXJfaXRlbSAuZ2ZpZWxkX3JlcGVhdGVyX2NlbGwge1xuICAgICAgICB3aWR0aDogODElOyB9XG4gICAgLnBzX19mb3JtICNnZm9ybV8xIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCxcbiAgICAucHNfX2Zvcm0gI2dmb3JtXzMgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0LFxuICAgIC5mb3JtICNnZm9ybV8xIC5naW5wdXRfY29udGFpbmVyX3NlbGVjdCxcbiAgICAuZm9ybSAjZ2Zvcm1fMyAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucHNfX2Zvcm0gI2dmb3JtXzEgLmdmaWVsZF9kZXNjcmlwdGlvbixcbiAgICAucHNfX2Zvcm0gI2dmb3JtXzMgLmdmaWVsZF9kZXNjcmlwdGlvbixcbiAgICAuZm9ybSAjZ2Zvcm1fMSAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLFxuICAgIC5mb3JtICNnZm9ybV8zIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4udmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi10b3A6IC0yMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDI1JTtcbiAgY29sb3I6ICNmZjAwMDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnZhbGlkYXRpb25fZXJyb3Ige1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jb250ZW50LWltYWdlICsgLmZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiAyMDBweDsgfVxuICAuY29udGVudC1pbWFnZSArIC5mb3JtOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zMDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIHRyYW5zZm9ybTogc2tld1koLTlkZWcpO1xuICAgIGJhY2tncm91bmQ6ICNmM2Y2Zjc7XG4gICAgY29udGVudDogJyc7XG4gICAgei1pbmRleDogLTE7IH1cbiAgLmNvbnRlbnQtaW1hZ2UgKyAuZm9ybTpudGgtY2hpbGQoMSk6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4jcmVxdWVzdC1xdW90ZSB7XG4gIHBhZGRpbmctdG9wOiAyNXB4OyB9XG5cbi5oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE2MHB4O1xuICBiYWNrZ3JvdW5kOiAjZjNmNmY3O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHotaW5kZXg6IDUwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuaGVhZGVyIC5tYWluLW1lbnUtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgLmhlYWRlciAubWFpbi1tZW51LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICB6LWluZGV4OiA1MDsgfVxuICAgIC5oZWFkZXIgLmpzLW1haW4tbWVudS1idXR0b24ge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIC5oZWFkZXIgLndyYXBwZXItbGcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWF4LXdpZHRoOiAxMzUwcHg7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmhlYWRlciAud3JhcHBlci1sZyBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IDE0MHB4OyB9XG4gIC5oZWFkZXIgLmNsb3NlLWJ0biB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIGNvbG9yOiAjMzc1MzVkO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAuaGVhZGVyIC5jbG9zZS1idG4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5oZWFkZXIgLmpzLW5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogNDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAuaGVhZGVyIC5qcy1uYXZpZ2F0aW9uIHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAgICAgICAuaGVhZGVyIC5qcy1uYXZpZ2F0aW9uIHVsIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IGF1dG8gYXV0byA1MHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgLmhlYWRlciAuanMtbmF2aWdhdGlvbiBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogNDBweDsgfVxuICAgICAgLmhlYWRlciAuanMtbmF2aWdhdGlvbiBsaSBhIHtcbiAgICAgICAgdHJhbnNpdGlvbjogMTUwbXMgZWFzZTtcbiAgICAgICAgY29sb3I6ICMzNzUzNWQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjA3cHg7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAuaGVhZGVyIC5qcy1uYXZpZ2F0aW9uIGxpIGEge1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAgICAgLmhlYWRlciAuanMtbmF2aWdhdGlvbiBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC42OyB9IH1cbiAgICAgIC5oZWFkZXIgLmpzLW5hdmlnYXRpb24gbGk6bnRoLWNoaWxkKDIpOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICAgICAgICBjb250ZW50OiAnXFxmMDZkJzsgfVxuICAgICAgLmhlYWRlciAuanMtbmF2aWdhdGlvbiBsaTpudGgtY2hpbGQoMikgc3ZnIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgIC5oZWFkZXIgLmpzLW5hdmlnYXRpb24gbGk6bnRoLWNoaWxkKDMpOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xuICAgICAgICBjb250ZW50OiAnXFxmNTJmJzsgfVxuICAgICAgLmhlYWRlciAuanMtbmF2aWdhdGlvbiBsaTpudGgtY2hpbGQoMykgc3ZnIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgIC5oZWFkZXIgLmpzLW5hdmlnYXRpb24gbGk6bnRoLWxhc3QtY2hpbGQoMSkgYSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7IH1cbiAgLmhlYWRlciAuanMtbWFpbi1tZW51LWJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmhlYWRlciAuanMtbWFpbi1tZW51LWJ1dHRvbiBzdmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGNvbG9yOiAjNTI5MGE2O1xuICAgICAgZm9udC1zaXplOiAzNXB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuaGVhZGVyIC5qcy1tYWluLW1lbnUtYnV0dG9uLXRleHQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIC5oZWFkZXIgLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuaGVhZGVyIC5jdXJyZW50LW1lbnUtaXRlbSBhIHtcbiAgICAgIGNvbG9yOiAjNTI5MGE2ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGFnaW5hdGlvbiAucGFnZS1udW1iZXJzIHtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUHJvZHVjdCBJdGVtXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucHJvZHVjdC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDMwcHgpO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB0cmFuc2l0aW9uOiAzNTBtcyBlYXNlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLnByb2R1Y3QtaXRlbSB7XG4gICAgICB0cmFuc2l0aW9uOiAzNTBtcyBlYXNlO1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnByb2R1Y3QtaXRlbTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuODU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gICAgLnByb2R1Y3QtaXRlbSB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wcm9kdWN0LWl0ZW0ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSAxMHB4KTsgfSB9XG4gIC5wcm9kdWN0LWl0ZW0gaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIHRyYW5zaXRpb246IDM1MG1zIGVhc2U7XG4gICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3Zlcic7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICAucHJvZHVjdC1pdGVtIGltZyB7XG4gICAgICAgIGhlaWdodDogMjAwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5wcm9kdWN0LWl0ZW0gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAzMzBweDsgfSB9XG4gIC5wcm9kdWN0LWl0ZW0gLnBpX19ib2R5IHtcbiAgICBwYWRkaW5nOiAyNXB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLnByb2R1Y3QtaXRlbSAucGlfX2JvZHkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIC5wcm9kdWN0LWl0ZW0gLnBpX19ib2R5IC5waV9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgIGNvbG9yOiAjMzc1MzVkO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgICAgLnByb2R1Y3QtaXRlbSAucGlfX2JvZHkgLnBpX190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG4gICAgLnByb2R1Y3QtaXRlbSAucGlfX2JvZHkgLnBpX19jYXRlZ29yeSB7XG4gICAgICBtYXJnaW46IDE1cHggMCAxMHB4O1xuICAgICAgY29sb3I6ICM1MjkxYTc7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS4xNXB4OyB9XG4gICAgICAucHJvZHVjdC1pdGVtIC5waV9fYm9keSAucGlfX2NhdGVnb3J5IHN2ZyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgLnByb2R1Y3QtaXRlbSAucGlfX2JvZHkgLnBpX19zcGVjcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAgIC5wcm9kdWN0LWl0ZW0gLnBpX19ib2R5IC5waV9fc3BlY3MgLnBpX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNWUyZTc7IH1cbiAgICAgICAgLnByb2R1Y3QtaXRlbSAucGlfX2JvZHkgLnBpX19zcGVjcyAucGlfX2l0ZW06bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICAucHJvZHVjdC1pdGVtIC5waV9fYm9keSAucGlfX3NwZWNzIC5waV9faXRlbSAucGlfX3NwZWMge1xuICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgY29sb3I6ICMzNzUzNWQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDsgfVxuICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LWl0ZW0gLnBpX19ib2R5IC5waV9fc3BlY3MgLnBpX19pdGVtIC5waV9fc3BlYyB7XG4gICAgICAgICAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICAgICAgICAucHJvZHVjdC1pdGVtIC5waV9fYm9keSAucGlfX3NwZWNzIC5waV9faXRlbSAucGlfX3ZhbHVlIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7IH1cbiAgICAucHJvZHVjdC1pdGVtIC5waV9fYm9keSAucGlfX2J1dHRvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDE4cHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgICAgLnByb2R1Y3QtaXRlbSAucGlfX2JvZHkgLnBpX19idXR0b25zIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIC5wcm9kdWN0LWl0ZW0gLnBpX19ib2R5IC5waV9fYnV0dG9ucyBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICAgICAgbWFyZ2luOiAyN3B4IGF1dG8gYXV0byAhaW1wb3J0YW50OyB9IH1cbiAgICAgIC5wcm9kdWN0LWl0ZW0gLnBpX19ib2R5IC5waV9fYnV0dG9ucyAucGlfX21vcmVpbmZvIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxOCU7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAgIC5wcm9kdWN0LWl0ZW0gLnBpX19ib2R5IC5waV9fYnV0dG9ucyAucGlfX21vcmVpbmZvIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC5wcm9kdWN0LWl0ZW0gLnBpX19pbWFnZSB7XG4gICAgdHJhbnNpdGlvbjogMzUwbXMgZWFzZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5wcm9kdWN0LWl0ZW06aG92ZXIgLnBpX19pbWFnZSBpbWcge1xuICB0cmFuc2l0aW9uOiAzNTBtcyBlYXNlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLnByb2R1Y3QtaXRlbTpob3ZlciAucGlfX2ltYWdlIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH0gfVxuXG4ucHJvZHVjdC1pdGVtX19zb2xkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDQwMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIxMywgMjI2LCAyMzEsIDAuNyk7XG4gIHotaW5kZXg6IDQ1OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAucHJvZHVjdC1pdGVtX19zb2xkIHtcbiAgICAgIGhlaWdodDogMjAwcHg7IH1cbiAgICAgIC5wcm9kdWN0LWl0ZW1fX3NvbGQgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMDBweCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5wcm9kdWN0LWl0ZW1fX3NvbGQge1xuICAgICAgaGVpZ2h0OiAzMzBweDsgfVxuICAgICAgLnByb2R1Y3QtaXRlbV9fc29sZCBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMzMHB4ICFpbXBvcnRhbnQ7IH0gfVxuICAucHJvZHVjdC1pdGVtX19zb2xkIHAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICBmb250LXNpemU6IDUwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS42NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQcm9kdWN0IExhdGVzdFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2R1Y3RzLWZlYXR1cmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDIyMHB4IDAgMTUwcHg7XG4gIHotaW5kZXg6IDQ5OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAucHJvZHVjdHMtZmVhdHVyZWQge1xuICAgICAgbWFyZ2luOiAyNDBweCAwIC01MHB4OyB9IH1cbiAgLnByb2R1Y3RzLWZlYXR1cmVkIC53cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5wcm9kdWN0cy1mZWF0dXJlZCAud3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgLnByb2R1Y3RzLWZlYXR1cmVkIC53cmFwcGVyIC5wZl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIGNvbG9yOiAjMzc1MzVkO1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjkycHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgICAgLnByb2R1Y3RzLWZlYXR1cmVkIC53cmFwcGVyIC5wZl9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDsgfSB9XG4gICAgLnByb2R1Y3RzLWZlYXR1cmVkIC53cmFwcGVyIGEge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5vd2wtZG90cyB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm93bC1kb3RzIC5vd2wtZG90IHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJhY2tncm91bmQ6ICNkNWUyZTcgIWltcG9ydGFudDsgfVxuICAub3dsLWRvdHMgLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogIzUyOTFhNyAhaW1wb3J0YW50OyB9XG5cbi5wcm9kdWN0LWxhdGVzdF9fbG9vcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tdG9wOiA1MHB4OyB9XG5cbi5wcm9kdWN0LWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAucHJvZHVjdC1saXN0IC5wbF9fZm9ybSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTk5cHgpIHtcbiAgICAgIC5wcm9kdWN0LWxpc3QgLnBsX19mb3JtIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgICAgICAucHJvZHVjdC1saXN0IC5wbF9fZm9ybSAucGxfX2J1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gIC5wcm9kdWN0LWxpc3QgLnBsX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS42NHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gIC5wcm9kdWN0LWxpc3QgLnBsX19idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4td2lkdGg6IDE4MHB4O1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogMzUwbXMgZWFzZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMzc1MzVkO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmNmY3O1xuICAgIGNvbG9yOiAjMzc1MzVkO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5wcm9kdWN0LWxpc3QgLnBsX19idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzM3NTM1ZDtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5wcm9kdWN0LWxpc3QgLnBsX19idXR0b246OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgICAgIGNvbnRlbnQ6ICdcXGYwNmQnOyB9XG4gICAgLnByb2R1Y3QtbGlzdCAucGxfX2J1dHRvbjpudGgtY2hpbGQoMik6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcbiAgICAgIGNvbnRlbnQ6ICdcXGY1MmYnOyB9XG4gICAgLnByb2R1Y3QtbGlzdCAucGxfX2J1dHRvbiBpbnB1dFt0eXBlPSdyYWRpbyddIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnByb2R1Y3QtbGlzdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMjYwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1NTBweDtcbiAgICB0cmFuc2Zvcm06IHNrZXdZKC05ZGVnKTtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmNmY3O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC5wcm9kdWN0LWxpc3Q6bnRoLWNoaWxkKDEpOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnByb2R1Y3QtbGlzdCAuaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzc1MzVkO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAucHJvZHVjdC1saXN0IC5pcy1sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IDEwMDBtcyBlYXNlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogOTk5OyB9XG4gIC5wcm9kdWN0LWxpc3QgLmlzLWxvYWRpbmctc3Bpbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMzBweCBhdXRvO1xuICAgIHRyYW5zaXRpb246IDEwMDBtcyBlYXNlO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbjogcm90YXRlIDJzIGluZmluaXRlIGxpbmVhcjsgfVxuXG4uanMtcHJvZHVjdC1saXN0IHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7XG4gIHRyYW5zaXRpb246IDEwMDBtcyBlYXNlOyB9XG5cbi5jb250ZW50LWltYWdlICsgLnByb2R1Y3QtbGlzdCAud3JhcHBlci1sZyB7XG4gIG1heC13aWR0aDogMTMwMHB4OyB9XG5cbi5wcm9kdWN0LXRlbXBsYXRlIC5pdGVtLWJlbG93X19pY29uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZHVjdC1zaW5nbGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5wcm9kdWN0LXNpbmdsZSAucHNfX2luZm9ybWF0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTMwcHggMDtcbiAgICBiYWNrZ3JvdW5kOiAjZjNmNmY3OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnByb2R1Y3Qtc2luZ2xlIC5wc19faW5mb3JtYXRpb24ge1xuICAgICAgICBwYWRkaW5nOiAxMzBweCAwIDIycHg7IH0gfVxuICAgIC5wcm9kdWN0LXNpbmdsZSAucHNfX2luZm9ybWF0aW9uOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogLTE1MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgdHJhbnNmb3JtOiBza2V3WSgtOWRlZyk7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjNmNmY3O1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAucHJvZHVjdC1zaW5nbGUgLnBzX191cHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAucHJvZHVjdC1zaW5nbGUgLnBzX191cHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgICAgLnByb2R1Y3Qtc2luZ2xlIC5wc19fdXBwZXIgYSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAgICAgLnByb2R1Y3Qtc2luZ2xlIC5wc19fdXBwZXIgLnBzX190aXRsZSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDc5cHg7IH0gfVxuICAgIC5wcm9kdWN0LXNpbmdsZSAucHNfX3VwcGVyIC5wc19fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIGNvbG9yOiAjMzc1MzVkO1xuICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjY5cHg7IH1cbiAgLnByb2R1Y3Qtc2luZ2xlIC5wc19fcmVxdWVzdHF1b3RlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAyNjBweDtcbiAgICByaWdodDogMTAlO1xuICAgIG1hcmdpbjogMTVweCAwIDI1cHg7XG4gICAgei1pbmRleDogNTA7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAucHJvZHVjdC1zaW5nbGUgLnBzX19yZXF1ZXN0cXVvdGUge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB0b3A6IDI5MHB4OyB9IH1cbiAgLnByb2R1Y3Qtc2luZ2xlIC5wc19fcHJvZHVjdGNvZGUge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgY29sb3I6ICM1MjkwYTY7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNTdweDtcbiAgICBsaW5lLWhlaWdodDogMzNweDsgfVxuICAgIC5wcm9kdWN0LXNpbmdsZSAucHNfX3Byb2R1Y3Rjb2RlOjpiZWZvcmUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBjb250ZW50OiAnIyc7IH1cbiAgLnByb2R1Y3Qtc2luZ2xlIC5wc19fc3BlY3MgLnBzX19zcGVjcy10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC42OXB4OyB9XG4gIC5wcm9kdWN0LXNpbmdsZSAucHNfX3NwZWNzIC5zcGVjc19fcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA2cHggMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q1ZTJlNztcbiAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS4yM3B4OyB9XG4gICAgLnByb2R1Y3Qtc2luZ2xlIC5wc19fc3BlY3MgLnNwZWNzX19yb3cgLnNwZWNzX19jYXRlZ29yeSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7IH1cbiAgICAucHJvZHVjdC1zaW5nbGUgLnBzX19zcGVjcyAuc3BlY3NfX3JvdyAuc3BlY3NfX3ZhbHVlIHtcbiAgICAgIHdpZHRoOiA3MCU7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnByb2R1Y3Qtc2luZ2xlIC5wc19fc3BlY3MgLnNwZWNzX19yb3c6bnRoLWxhc3QtY2hpbGQoMSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNWUyZTc7IH1cbiAgLnByb2R1Y3Qtc2luZ2xlIC5wc19fZGVzY3Ige1xuICAgIG1heC13aWR0aDogNDc0cHg7XG4gICAgY29sb3I6ICMzNzUzNWQ7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAgIC5wcm9kdWN0LXNpbmdsZSAucHNfX2Rlc2NyIC5wc19fZGVzY3ItdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIGNvbG9yOiAjMzc1MzVkO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjY5cHg7IH1cbiAgLnByb2R1Y3Qtc2luZ2xlIC5wc19fc29zIC5wc19fc29zLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGNvbG9yOiAjMzc1MzVkO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjY5cHg7IH1cbiAgLnByb2R1Y3Qtc2luZ2xlIC5wc19fc29zIC5wc19fc29zLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDVlMmU3O1xuICAgIGNvbG9yOiAjMzc1MzVkO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDsgfVxuICAgIC5wcm9kdWN0LXNpbmdsZSAucHNfX3NvcyAucHNfX3Nvcy1pdGVtOm50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDVlMmU3OyB9XG4gIC5wcm9kdWN0LXNpbmdsZSAucHNfX29wdGlvbmFsIC5wc19fb3B0aW9uYWwtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgY29sb3I6ICMzNzUzNWQ7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNjlweDsgfVxuICAucHJvZHVjdC1zaW5nbGUgLnBzX19vcHRpb25hbCAucHNfX29wdGlvbmFsLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDVlMmU3O1xuICAgIGNvbG9yOiAjMzc1MzVkO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDsgfVxuICAgIC5wcm9kdWN0LXNpbmdsZSAucHNfX29wdGlvbmFsIC5wc19fb3B0aW9uYWwtaXRlbTpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q1ZTJlNzsgfVxuICAucHJvZHVjdC1zaW5nbGUgLnBzX19yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAucHJvZHVjdC1zaW5nbGUgLnBzX19yb3c6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgLnByb2R1Y3Qtc2luZ2xlIC5wc19fcm93IC5wc19fY29sdW1uIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMzBweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICAgICAgICAucHJvZHVjdC1zaW5nbGUgLnBzX19yb3cgLnBzX19jb2x1bW4ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0gfVxuICAucHJvZHVjdC1zaW5nbGUgLnBzX19pbWFnZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiA0NDsgfVxuICAgIC5wcm9kdWN0LXNpbmdsZSAucHNfX2ltYWdlcyAucHNfX2ltYWdlcy10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgY29sb3I6ICMzNzUzNWQ7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgICAucHJvZHVjdC1zaW5nbGUgLnBzX19pbWFnZXMgLnBzX19pbWFnZXMtdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICAgIC5wcm9kdWN0LXNpbmdsZSAucHNfX2ltYWdlcyAucHNfX2ltYWdlcy1yb3cge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAucHJvZHVjdC1zaW5nbGUgLnBzX19pbWFnZXMgLnBzX19pbWFnZXMtcm93IGEge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtIDRweCk7XG4gICAgICAgIG1hcmdpbjogMnB4OyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MTZweCkge1xuICAgICAgICAgIC5wcm9kdWN0LXNpbmdsZSAucHNfX2ltYWdlcyAucHNfX2ltYWdlcy1yb3cgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjAwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgICAgIC5wcm9kdWN0LXNpbmdsZSAucHNfX2ltYWdlcyAucHNfX2ltYWdlcy1yb3cgYSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDRweCk7IH0gfVxuICAgICAgLnByb2R1Y3Qtc2luZ2xlIC5wc19faW1hZ2VzIC5wc19faW1hZ2VzLXJvdyAucHNfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAzNTBweDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MDBweCkge1xuICAuc2xiSW1hZ2Uge1xuICAgIGhlaWdodDogNzAwcHggIWltcG9ydGFudDsgfSB9XG5cbi5wc19fcHJvZHVjdGNvZGUgKyAucHNfX3JvdyB7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cblxuLmNvbnRlbnQtaW1hZ2UgKyAudGFibGUge1xuICBtYXJnaW4tdG9wOiAzNTBweDsgfVxuXG4udGFibGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRhYmxlIC50X190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC45MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1M3B4OyB9XG4gIC50YWJsZSAudF9fZWRpdG9yIHtcbiAgICBtYXgtd2lkdGg6IDYyOXB4O1xuICAgIG1hcmdpbjogYXV0byBhdXRvIDYwcHg7XG4gICAgY29sb3I6ICM1MjkwYTY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDsgfVxuICAudGFibGUgLnRfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogOHB4IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNWUyZTc7XG4gICAgY29sb3I6ICM1MjkwYTY7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1OTlweCkge1xuICAgICAgLnRhYmxlIC50X19yb3cgLnRfX3llYXJzLFxuICAgICAgLnRhYmxlIC50X19yb3cgLnRfX2NvbXBhbnksXG4gICAgICAudGFibGUgLnRfX3JvdyAudF9fZnVuY3Rpb24ge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIC50YWJsZSAudF9fcm93IC50X195ZWFycyB7XG4gICAgICB3aWR0aDogMjYlOyB9XG4gICAgLnRhYmxlIC50X19yb3cgLnRfX2NvbXBhbnkge1xuICAgICAgd2lkdGg6IDM4JTsgfVxuICAgIC50YWJsZSAudF9fcm93IC50X19mdW5jdGlvbiB7XG4gICAgICBtaW4td2lkdGg6IDMwJTsgfVxuICAgIC50YWJsZSAudF9fcm93Om50aC1sYXN0LWNoaWxkKDEpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDVlMmU3OyB9XG5cbi50ZWFzZXItY29udGFjdCB7XG4gIG1hcmdpbjogMTAwcHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAudGVhc2VyLWNvbnRhY3Qge1xuICAgICAgbWFyZ2luOiAxMDBweCAwIDMwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGVhc2VyLWNvbnRhY3Qge1xuICAgICAgbWFyZ2luOiAxMDBweCAwIDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgLnRlYXNlci1jb250YWN0IHtcbiAgICAgIG1hcmdpbjogMTAwcHggMCA3MHB4OyB9XG4gICAgICAudGVhc2VyLWNvbnRhY3QgLnRjX19waG9uZSxcbiAgICAgIC50ZWFzZXItY29udGFjdCAudGNfX2VtYWlsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjM5cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9IH1cbiAgLnRlYXNlci1jb250YWN0IC50Y19fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDM3cHg7XG4gICAgY29sb3I6ICMzNzUzNWQ7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDUzcHg7IH1cbiAgLnRlYXNlci1jb250YWN0IC50Y19fZWRpdG9yIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogNjUycHg7XG4gICAgbWFyZ2luOiBhdXRvIGF1dG8gNDBweDtcbiAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gIC50ZWFzZXItY29udGFjdCAudGNfX3Bob25lLFxuICAudGVhc2VyLWNvbnRhY3QgLnRjX19lbWFpbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBjb2xvcjogIzM3NTM1ZDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNjRweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAgIC50ZWFzZXItY29udGFjdCAudGNfX3Bob25lIHN2ZyxcbiAgICAudGVhc2VyLWNvbnRhY3QgLnRjX19lbWFpbCBzdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgY29sb3I6ICM1MjkxYTc7IH1cbiAgLnRlYXNlci1jb250YWN0IC5idG4tcHJpbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE2MnB4O1xuICAgIG1hcmdpbjogNTBweCBhdXRvIGF1dG87IH1cblxuLnRhYmxlICsgLnRlYXNlci1jb250YWN0LFxuLnByb2R1Y3Qtc2luZ2xlICsgLnRlYXNlci1jb250YWN0LFxuLnByb2R1Y3QtbGlzdCArIC50ZWFzZXItY29udGFjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAzNTBweCAwIDE3MHB4O1xuICBiYWNrZ3JvdW5kOiAjZjNmNmY3OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAudGFibGUgKyAudGVhc2VyLWNvbnRhY3QsXG4gICAgLnByb2R1Y3Qtc2luZ2xlICsgLnRlYXNlci1jb250YWN0LFxuICAgIC5wcm9kdWN0LWxpc3QgKyAudGVhc2VyLWNvbnRhY3Qge1xuICAgICAgbWFyZ2luOiAyNTBweCAwIDIwMHB4OyB9IH1cbiAgLnRhYmxlICsgLnRlYXNlci1jb250YWN0OjpiZWZvcmUsXG4gIC5wcm9kdWN0LXNpbmdsZSArIC50ZWFzZXItY29udGFjdDo6YmVmb3JlLFxuICAucHJvZHVjdC1saXN0ICsgLnRlYXNlci1jb250YWN0OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xNzBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIHRyYW5zZm9ybTogc2tld1koOWRlZyk7XG4gICAgYmFja2dyb3VuZDogI2YzZjZmNztcbiAgICBjb250ZW50OiAnJzsgfVxuICAudGFibGUgKyAudGVhc2VyLWNvbnRhY3Q6OmFmdGVyLFxuICAucHJvZHVjdC1zaW5nbGUgKyAudGVhc2VyLWNvbnRhY3Q6OmFmdGVyLFxuICAucHJvZHVjdC1saXN0ICsgLnRlYXNlci1jb250YWN0OjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTE3MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgdHJhbnNmb3JtOiBza2V3WSgtOWRlZyk7XG4gICAgYmFja2dyb3VuZDogI2YzZjZmNztcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAtMTsgfVxuXG5Aa2V5ZnJhbWVzIHNsaWRlUmlnaHQge1xuICAwJSB7XG4gICAgcmlnaHQ6IC0xMDBweDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHJpZ2h0OiAwO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29sb3JcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBDb2xvciB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgYmxhY2stMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWJsYWNrLTEwMCB7XG4gIGNvbG9yOiBibGFjazsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgIGJsYWNrLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJsYWNrLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgIHdoaXRlLTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci13aGl0ZS0xMDAge1xuICBjb2xvcjogd2hpdGU7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCB3aGl0ZS0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci13aGl0ZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjZjNmNmY3LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ncmV5LTEwMCB7XG4gIGNvbG9yOiAjZjNmNmY3OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2YzZjZmNy0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ncmV5LTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2Y2Zjc7IH1cblxuLyoqXHJcbiAgICAgICAqIGBjb2xvcmAgI2I2YmZjMy0yMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uY29sb3ItZ3JleS0yMDAge1xuICBjb2xvcjogI2I2YmZjMzsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICNiNmJmYzMtMjAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JleS0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjZiZmMzOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICM1MjkxYTctMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWJsdWUtMTAwIHtcbiAgY29sb3I6ICM1MjkxYTc7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCAjNTI5MWE3LTEwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5iYWNrZ3JvdW5kLWNvbG9yLWJsdWUtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUyOTFhNzsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjMzc1MzVkLTQwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ncmVlbi00MDAge1xuICBjb2xvcjogIzM3NTM1ZDsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICMzNzUzNWQtNDAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JlZW4tNDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM3NTM1ZDsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCAjNTI5MWE3LTMwMCBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cbi5jb2xvci1ncmVlbi0zMDAge1xuICBjb2xvcjogIzUyOTFhNzsgfVxuXG4vKipcclxuICAgICAgICogYGJhY2tncm91bmQtY29sb3JgICM1MjkxYTctMzAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JlZW4tMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzUyOTFhNzsgfVxuXG4vKipcclxuICAgICAgICogYGNvbG9yYCByZ2JhKDIxMywgMjI2LCAyMzEsIDAuNyktMTAwLTA3IGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWdyZWVuLTEwMC0wNyB7XG4gIGNvbG9yOiByZ2JhKDIxMywgMjI2LCAyMzEsIDAuNyk7IH1cblxuLyoqXHJcbiAgICAgICAqIGBiYWNrZ3JvdW5kLWNvbG9yYCByZ2JhKDIxMywgMjI2LCAyMzEsIDAuNyktMTAwLTA3IGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmJhY2tncm91bmQtY29sb3ItZ3JlZW4tMTAwLTA3IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTMsIDIyNiwgMjMxLCAwLjcpOyB9XG5cbi8qKlxyXG4gICAgICAgKiBgY29sb3JgICNkNWUyZTctMTAwIGNvbG9yIHV0aWxpdHkuXHJcbiAgICAgICAqL1xuLmNvbG9yLWdyZWVuLTEwMCB7XG4gIGNvbG9yOiAjZDVlMmU3OyB9XG5cbi8qKlxyXG4gICAgICAgKiBgYmFja2dyb3VuZC1jb2xvcmAgI2Q1ZTJlNy0xMDAgY29sb3IgdXRpbGl0eS5cclxuICAgICAgICovXG4uYmFja2dyb3VuZC1jb2xvci1ncmVlbi0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVlMmU3OyB9XG5cbi5zbGJPdmVybGF5LCAuc2xiV3JhcE91dGVyLCAuc2xiV3JhcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi5zbGJPdmVybGF5IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMjAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgb3BhY2l0eTogMC43O1xuICAtd2Via2l0LWFuaW1hdGlvbjogc2xiT3ZlcmxheSAwLjVzO1xuICAtbW96LWFuaW1hdGlvbjogc2xiT3ZlcmxheSAwLjVzO1xuICBhbmltYXRpb246IHNsYk92ZXJsYXkgMC41czsgfVxuXG4uc2xiV3JhcE91dGVyIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB6LWluZGV4OiAyMDEwOyB9XG5cbi5zbGJXcmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnNsYldyYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnNsYkNvbnRlbnRPdXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDBweCBhdXRvO1xuICBwYWRkaW5nOiAwIDFlbTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMjAyMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbGJDb250ZW50RWwgLnNsYkNvbnRlbnRPdXRlciB7XG4gIHBhZGRpbmc6IDVlbSAxZW07IH1cblxuLnNsYkNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNsYkNvbnRlbnRFbCAuc2xiQ29udGVudCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzbGJFbnRlciAwLjNzO1xuICAtbW96LWFuaW1hdGlvbjogc2xiRW50ZXIgMC4zcztcbiAgYW5pbWF0aW9uOiBzbGJFbnRlciAwLjNzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAuMmVtIDFlbSByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cblxuLnNsYkltYWdlV3JhcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzbGJFbnRlciAwLjNzO1xuICAtbW96LWFuaW1hdGlvbjogc2xiRW50ZXIgMC4zcztcbiAgYW5pbWF0aW9uOiBzbGJFbnRlciAwLjNzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNsYkltYWdlV3JhcDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogNWVtO1xuICBib3R0b206IDVlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IC0xO1xuICBib3gtc2hhZG93OiAwIDAuMmVtIDFlbSByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRkY7IH1cblxuLnNsYkRpcmVjdGlvbk5leHQgLnNsYkltYWdlV3JhcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzbGJFbnRlck5leHQgMC40cztcbiAgLW1vei1hbmltYXRpb246IHNsYkVudGVyTmV4dCAwLjRzO1xuICBhbmltYXRpb246IHNsYkVudGVyTmV4dCAwLjRzOyB9XG5cbi5zbGJEaXJlY3Rpb25QcmV2IC5zbGJJbWFnZVdyYXAge1xuICAtd2Via2l0LWFuaW1hdGlvbjogc2xiRW50ZXJQcmV2IDAuNHM7XG4gIC1tb3otYW5pbWF0aW9uOiBzbGJFbnRlclByZXYgMC40cztcbiAgYW5pbWF0aW9uOiBzbGJFbnRlclByZXYgMC40czsgfVxuXG4uc2xiSW1hZ2Uge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNWVtIDA7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5zbGJDYXB0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjcxNDI5ZW0gMDtcbiAgY29sb3I6ICNmZmY7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2xiQ2xvc2VCdG4sIC5zbGJBcnJvdyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLnNsYkNsb3NlQnRuOjotbW96LWZvY3VzLWlubmVyLCAuc2xiQXJyb3c6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLnNsYkNsb3NlQnRuOmhvdmVyLCAuc2xiQXJyb3c6aG92ZXIge1xuICBvcGFjaXR5OiAwLjU7IH1cblxuLnNsYkNsb3NlQnRuOmFjdGl2ZSwgLnNsYkFycm93OmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDAuODsgfVxuXG4uc2xiQ2xvc2VCdG4ge1xuICAtd2Via2l0LWFuaW1hdGlvbjogc2xiRW50ZXIgMC4zcztcbiAgLW1vei1hbmltYXRpb246IHNsYkVudGVyIDAuM3M7XG4gIGFuaW1hdGlvbjogc2xiRW50ZXIgMC4zcztcbiAgZm9udC1zaXplOiAzZW07XG4gIHdpZHRoOiAxLjY2NjY3ZW07XG4gIGhlaWdodDogMS42NjY2N2VtO1xuICBsaW5lLWhlaWdodDogMS42NjY2N2VtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtMC4zMzMzM2VtO1xuICB0b3A6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnNsYkxvYWRpbmcgLnNsYkNsb3NlQnRuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2xiTG9hZGluZ1RleHQge1xuICBmb250LXNpemU6IDEuNGVtO1xuICBjb2xvcjogI2ZmZjtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsgfVxuXG4uc2xiQXJyb3dzIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLnNsYkxvYWRpbmcgLnNsYkFycm93cyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNsYkFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTVlbTtcbiAgd2lkdGg6IDVlbTtcbiAgaGVpZ2h0OiAxMGVtO1xuICBvcGFjaXR5OiAwLjc7XG4gIHRleHQtaW5kZW50OiAtOTk5ZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnNsYkFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAtMC44ZW0gMCAwIC0wLjhlbTtcbiAgYm9yZGVyOiAwLjhlbSBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xiQXJyb3cubmV4dCB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5zbGJBcnJvdy5uZXh0OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmOyB9XG5cbi5zbGJBcnJvdy5wcmV2IHtcbiAgbGVmdDogMDsgfVxuXG4uc2xiQXJyb3cucHJldjpiZWZvcmUge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7IH1cblxuLnNsYklmcmFtZUNvbnQge1xuICB3aWR0aDogODBlbTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuICBtYXJnaW46IDVlbSAwOyB9XG5cbi5zbGJJZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAwLjJlbSAxZW0gcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGJPdmVybGF5IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHNsYk92ZXJsYXkge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsYk92ZXJsYXkge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xiRW50ZXIge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMWVtLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgc2xiRW50ZXIge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMWVtLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNsYkVudGVyIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTFlbSwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xZW0sIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xZW0sIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTFlbSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMWVtLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGJFbnRlck5leHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0ZW0sIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBzbGJFbnRlck5leHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0ZW0sIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xiRW50ZXJOZXh0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNGVtLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNGVtLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0ZW0sIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNGVtLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDRlbSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xiRW50ZXJQcmV2IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTRlbSwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHNsYkVudGVyUHJldiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00ZW0sIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xiRW50ZXJQcmV2IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTRlbSwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00ZW0sIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00ZW0sIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTRlbSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNGVtLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE9iamVjdCBGaXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBPYmplY3QgZml0LlxyXG4gKlxyXG4gKiAxLiBGb250IGZhbWlseSBwb2x5ZmlsbCB3aXRoIChodHRwczovL2dpdGh1Yi5jb20vYmZyZWQtaXQvb2JqZWN0LWZpdC1pbWFnZXMpLlxyXG4gKi9cbi8qKlxyXG4gICAqIGBvYmplY3QtZml0YCBmaWxsIHV0aWxpdHkgY2xhc3MuXHJcbiAgICovXG4uZmlsbCB7XG4gIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IGZpbGw7XCI7XG4gIC8qIDEgKi9cbiAgb2JqZWN0LWZpdDogZmlsbDsgfVxuXG4vKipcclxuICAgKiBgb2JqZWN0LWZpdGAgY29udGFpbiB1dGlsaXR5IGNsYXNzLlxyXG4gICAqL1xuLmNvbnRhaW4ge1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBjb250YWluO1wiO1xuICAvKiAxICovXG4gIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cblxuLyoqXHJcbiAgICogYG9iamVjdC1maXRgIGNvdmVyIHV0aWxpdHkgY2xhc3MuXHJcbiAgICovXG4uY292ZXIge1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBjb3ZlcjtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4vKipcclxuICAgKiBgb2JqZWN0LWZpdGAgbm9uZSB1dGlsaXR5IGNsYXNzLlxyXG4gICAqL1xuLm5vbmUge1xuICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBub25lO1wiO1xuICAvKiAxICovXG4gIG9iamVjdC1maXQ6IG5vbmU7IH1cblxuLyoqXHJcbiAgICogYG9iamVjdC1maXRgIHNjYWxlLWRvd24gdXRpbGl0eSBjbGFzcy5cclxuICAgKi9cbi5zY2FsZS1kb3duIHtcbiAgZm9udC1mYW1pbHk6IFwib2JqZWN0LWZpdDogc2NhbGUtZG93bjtcIjtcbiAgLyogMSAqL1xuICBvYmplY3QtZml0OiBzY2FsZS1kb3duOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIFBvc2l0aW9uXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogUG9zaXRpb24gdXRpbGl0eSBjbGFzcy5cclxuICovXG4uc3RhdGljIHtcbiAgcG9zaXRpb246IHN0YXRpYzsgfVxuXG4ucmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHN0aWNreTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUZXh0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogRm9udCBmYW1pbHkgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cbi50ZXh0LXhzLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjsgfVxuXG4udGV4dC1zbS1kZWZhdWx0IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7IH1cblxuLnRleHQtbWQtZGVmYXVsdCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiOyB9XG5cbi50ZXh0LWxnLWRlZmF1bHQge1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjsgfVxuXG4udGV4dC14bC1kZWZhdWx0IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7IH1cblxuLyoqXHJcbiAqIFRleHQgc2l6ZSB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xuLnRleHQteHMtaDEge1xuICBmb250LXNpemU6IDMycHg7XG4gIGZvbnQtc2l6ZTogMy4ycmVtO1xuICBsaW5lLWhlaWdodDogMS41NjI1ZW07IH1cblxuLnRleHQteHMtaDIge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtc2l6ZTogMi44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMTQyOWVtOyB9XG5cbi50ZXh0LXhzLWgzIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjA4MzNlbTsgfVxuXG4udGV4dC14cy1oNCB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1NDU1ZW07IH1cblxuLnRleHQteHMtaDUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNmVtOyB9XG5cbi50ZXh0LXhzLWg2IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzc3NzhlbTsgfVxuXG4udGV4dC14cy1wIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtOyB9XG5cbi50ZXh0LXNtLWgxIHtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBmb250LXNpemU6IDMuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTYyNWVtOyB9XG5cbi50ZXh0LXNtLWgyIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXNpemU6IDIuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0MjllbTsgfVxuXG4udGV4dC1zbS1oMyB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIwODMzZW07IH1cblxuLnRleHQtc20taDQge1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBsaW5lLWhlaWdodDogMS40NTQ1NWVtOyB9XG5cbi50ZXh0LXNtLWg1IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfVxuXG4udGV4dC1zbS1oNiB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc3Nzc4ZW07IH1cblxuLnRleHQtc20tcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTsgfVxuXG4udGV4dC1tZC1oMSB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgZm9udC1zaXplOiAzLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU2MjVlbTsgfVxuXG4udGV4dC1tZC1oMiB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1zaXplOiAyLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIxNDI5ZW07IH1cblxuLnRleHQtbWQtaDMge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtc2l6ZTogMi40cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMDgzM2VtOyB9XG5cbi50ZXh0LW1kLWg0IHtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXNpemU6IDIuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDU0NTVlbTsgfVxuXG4udGV4dC1tZC1oNSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS42ZW07IH1cblxuLnRleHQtbWQtaDYge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBsaW5lLWhlaWdodDogMS43Nzc3OGVtOyB9XG5cbi50ZXh0LW1kLXAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS41ZW07IH1cblxuLnRleHQtbGctaDEge1xuICBmb250LXNpemU6IDMycHg7XG4gIGZvbnQtc2l6ZTogMy4ycmVtO1xuICBsaW5lLWhlaWdodDogMS41NjI1ZW07IH1cblxuLnRleHQtbGctaDIge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtc2l6ZTogMi44cmVtO1xuICBsaW5lLWhlaWdodDogMS4yMTQyOWVtOyB9XG5cbi50ZXh0LWxnLWgzIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXNpemU6IDIuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjA4MzNlbTsgfVxuXG4udGV4dC1sZy1oNCB7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC1zaXplOiAyLjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1NDU1ZW07IH1cblxuLnRleHQtbGctaDUge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNmVtOyB9XG5cbi50ZXh0LWxnLWg2IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzc3NzhlbTsgfVxuXG4udGV4dC1sZy1wIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtOyB9XG5cbi50ZXh0LXhsLWgxIHtcbiAgZm9udC1zaXplOiAzMnB4O1xuICBmb250LXNpemU6IDMuMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTYyNWVtOyB9XG5cbi50ZXh0LXhsLWgyIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LXNpemU6IDIuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjE0MjllbTsgfVxuXG4udGV4dC14bC1oMyB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1zaXplOiAyLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjIwODMzZW07IH1cblxuLnRleHQteGwtaDQge1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBsaW5lLWhlaWdodDogMS40NTQ1NWVtOyB9XG5cbi50ZXh0LXhsLWg1IHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbTsgfVxuXG4udGV4dC14bC1oNiB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc3Nzc4ZW07IH1cblxuLnRleHQteGwtcCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTsgfVxuXG4vKipcclxuICogVGV4dCBhbGlnbm1lbnQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cbi50ZXh0LXhzLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXhzLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQteHMtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LXNtLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXNtLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtc20tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LW1kLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LW1kLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtbWQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWxnLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LWxnLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtbGctY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LXhsLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXhsLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQteGwtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qKlxyXG4gKiBGb250IHdlaWdodCB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqXHJcbiAqIDEuIE11bHRpcGx5IGxvb3BlZCBpbnRlZ2VyIGJ5IDEwMCBmb3IgY29ycmVjdCBmb250IHdlaWdodCB2YWx1ZS5cclxuICovXG4udGV4dC14cy0xMDAge1xuICBmb250LXdlaWdodDogMTAwOyB9XG5cbi50ZXh0LXhzLTIwMCB7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7IH1cblxuLnRleHQteHMtMzAwIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4udGV4dC14cy00MDAge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi50ZXh0LXhzLTUwMCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLnRleHQteHMtNjAwIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4udGV4dC14cy03MDAge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50ZXh0LXhzLTgwMCB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuLnRleHQteHMtOTAwIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG4udGV4dC1zbS0xMDAge1xuICBmb250LXdlaWdodDogMTAwOyB9XG5cbi50ZXh0LXNtLTIwMCB7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7IH1cblxuLnRleHQtc20tMzAwIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4udGV4dC1zbS00MDAge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi50ZXh0LXNtLTUwMCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLnRleHQtc20tNjAwIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4udGV4dC1zbS03MDAge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50ZXh0LXNtLTgwMCB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuLnRleHQtc20tOTAwIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG4udGV4dC1tZC0xMDAge1xuICBmb250LXdlaWdodDogMTAwOyB9XG5cbi50ZXh0LW1kLTIwMCB7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7IH1cblxuLnRleHQtbWQtMzAwIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4udGV4dC1tZC00MDAge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi50ZXh0LW1kLTUwMCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLnRleHQtbWQtNjAwIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4udGV4dC1tZC03MDAge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50ZXh0LW1kLTgwMCB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuLnRleHQtbWQtOTAwIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG4udGV4dC1sZy0xMDAge1xuICBmb250LXdlaWdodDogMTAwOyB9XG5cbi50ZXh0LWxnLTIwMCB7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7IH1cblxuLnRleHQtbGctMzAwIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4udGV4dC1sZy00MDAge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi50ZXh0LWxnLTUwMCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLnRleHQtbGctNjAwIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4udGV4dC1sZy03MDAge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50ZXh0LWxnLTgwMCB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuLnRleHQtbGctOTAwIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG4udGV4dC14bC0xMDAge1xuICBmb250LXdlaWdodDogMTAwOyB9XG5cbi50ZXh0LXhsLTIwMCB7XG4gIGZvbnQtd2VpZ2h0OiAyMDA7IH1cblxuLnRleHQteGwtMzAwIHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4udGV4dC14bC00MDAge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi50ZXh0LXhsLTUwMCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLnRleHQteGwtNjAwIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4udGV4dC14bC03MDAge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi50ZXh0LXhsLTgwMCB7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7IH1cblxuLnRleHQteGwtOTAwIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG4vKipcclxuICogVGV4dCB0cmFuc2Zvcm0gdWl0bGl0eSBjbGFzc2VzLlxyXG4gKi9cbi50ZXh0LXhzLWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4udGV4dC14cy11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50ZXh0LXhzLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLnRleHQteHMtbm9uZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi50ZXh0LXhzLWZ1bGwtd2lkdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogZnVsbC13aWR0aDsgfVxuXG4udGV4dC1zbS1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQtc20tdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC1zbS1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi50ZXh0LXNtLW5vbmUge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4udGV4dC1zbS1mdWxsLXdpZHRoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH1cblxuLnRleHQtbWQtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi50ZXh0LW1kLXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRleHQtbWQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuXG4udGV4dC1tZC1ub25lIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnRleHQtbWQtZnVsbC13aWR0aCB7XG4gIHRleHQtdHJhbnNmb3JtOiBmdWxsLXdpZHRoOyB9XG5cbi50ZXh0LWxnLWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4udGV4dC1sZy11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50ZXh0LWxnLWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLnRleHQtbGctbm9uZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi50ZXh0LWxnLWZ1bGwtd2lkdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogZnVsbC13aWR0aDsgfVxuXG4udGV4dC14bC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnRleHQteGwtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC14bC1sb3dlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOyB9XG5cbi50ZXh0LXhsLW5vbmUge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4udGV4dC14bC1mdWxsLXdpZHRoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGZ1bGwtd2lkdGg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgVmVydGljYWwgUmh5dGhtXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udnItMCB7XG4gIG1hcmdpbi1ib3R0b206IDBweDsgfVxuXG4udnItOCB7XG4gIG1hcmdpbi1ib3R0b206IDhweDsgfVxuXG4udnItMTYge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbi52ci0yNCB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cblxuLnZyLTMyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuXG4udnItNDAge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbi52ci00OCB7XG4gIG1hcmdpbi1ib3R0b206IDQ4cHg7IH1cblxuLnZyLTU2IHtcbiAgbWFyZ2luLWJvdHRvbTogNTZweDsgfVxuXG4udnItNjQge1xuICBtYXJnaW4tYm90dG9tOiA2NHB4OyB9XG5cbi52ci03MiB7XG4gIG1hcmdpbi1ib3R0b206IDcycHg7IH1cblxuLnZyLTgwIHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBaLWluZGV4XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogVXRpbGl0eSBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgc3RhY2tpbmcgb3JkZXIgaW4gSFRNTC5cclxuICovXG4uei1pbmRleC0wIHtcbiAgei1pbmRleDogMDsgfVxuXG4uei1pbmRleC0xIHtcbiAgei1pbmRleDogMTA7IH1cblxuLnotaW5kZXgtMiB7XG4gIHotaW5kZXg6IDIwOyB9XG5cbi56LWluZGV4LTMge1xuICB6LWluZGV4OiAzMDsgfVxuXG4uei1pbmRleC00IHtcbiAgei1pbmRleDogNDA7IH1cblxuLnotaW5kZXgtNSB7XG4gIHotaW5kZXg6IDUwOyB9XG5cbi56LWluZGV4LTYge1xuICB6LWluZGV4OiA2MDsgfVxuXG4uei1pbmRleC03IHtcbiAgei1pbmRleDogNzA7IH1cblxuLnotaW5kZXgtOCB7XG4gIHotaW5kZXg6IDgwOyB9XG5cbi56LWluZGV4LTkge1xuICB6LWluZGV4OiA5MDsgfVxuXG4uei1pbmRleC0xMCB7XG4gIHotaW5kZXg6IDEwMDsgfVxuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBub25lO1xuXHR3aWR0aDogMTAwJTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0LyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXG5cdC5vd2wtc3RhZ2Uge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcblx0XHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogZml4IGZpcmVmb3ggYW5pbWF0aW9uIGdsaXRjaCAqL1xuXHR9XG5cblx0Lm93bC1zdGFnZTphZnRlciB7XG5cdFx0Y29udGVudDogXCIuXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogMDtcblx0fVxuXG5cdC5vd2wtc3RhZ2Utb3V0ZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcblx0fVxuXG5cdC5vd2wtd3JhcHBlcixcblx0Lm93bC1pdGVte1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0fVxuXG5cdC5vd2wtaXRlbSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1pbi1oZWlnaHQ6IDFweDtcblx0XHRmbG9hdDogbGVmdDtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcblx0fVxuXHQub3dsLWl0ZW0gaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5vd2wtbmF2LmRpc2FibGVkLFxuXHQub3dsLWRvdHMuZGlzYWJsZWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiAub3dsLXByZXYsXG5cdC5vd2wtbmF2IC5vd2wtbmV4dCxcblx0Lm93bC1kb3Qge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcblx0Lm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LFxuXHRidXR0b24ub3dsLWRvdCB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cGFkZGluZzowIWltcG9ydGFudDtcblx0XHRmb250OiBpbmhlcml0O1xuXHR9XG5cblx0Ji5vd2wtbG9hZGVkIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWxvYWRpbmcge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1oaWRkZW4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG5cblx0Ji5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuXHRcdHRvdWNoLWFjdGlvbjogcGFuLXk7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdCYub3dsLWdyYWIge1xuXHRcdGN1cnNvcjogbW92ZTtcblx0XHRjdXJzb3I6IGdyYWI7XG5cdH1cblxuXHQmLm93bC1ydGwge1xuXHRcdGRpcmVjdGlvbjogcnRsO1xuXHR9XG5cblx0Ji5vd2wtcnRsIC5vd2wtaXRlbSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG59XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2Vse1xuXHQuYW5pbWF0ZWQge1xuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuXHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1pbiB7XG5cdFx0ei1pbmRleDogMDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLW91dCB7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXHQuZmFkZU91dCB7XG5cdFx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuXG4ub3dsLWhlaWdodCB7XG5cdHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2VsIHtcblx0Lm93bC1pdGVtIHtcblx0XHQub3dsLWxhenkge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0XHRUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3Jvbmdcblx0XHRcdGNhbGN1bGF0aW9uIG9mIHRoZSBoZWlnaHQgb2YgdGhlIG93bC1pdGVtIHRoYXQgYnJlYWtzIHBhZ2UgbGF5b3V0c1xuXHRcdCAqL1xuXHRcdC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWxhenk6bm90KFtzcmNdKSB7XG5cdFx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdGltZy5vd2wtbGF6eSB7XG5cdFx0XHR0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXHRcdH1cblx0fVxufVxuXG4iLCIkb3dsLWltYWdlLXBhdGg6IFwiXCIgIWRlZmF1bHQ7XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWx7XG5cdC5vd2wtdmlkZW8td3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0d2lkdGg6IDgwcHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNDBweDtcblx0XHRtYXJnaW4tdG9wOiAtNDBweDtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyRvd2wtaW1hZ2UtcGF0aH1vd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR6LWluZGV4OiAxO1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tdG4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1mcmFtZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCIvLyBHZW5lcmF0ZSBEdXJhdGlvbiAmJiBEZWxheVxuW2RhdGEtYW9zXSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNjAge1xuICAgIGJvZHlbZGF0YS1hb3MtZHVyYXRpb249JyN7JGkgKiA1MH0nXSAmLFxuICAgICZbZGF0YS1hb3NdW2RhdGEtYW9zLWR1cmF0aW9uPScjeyRpICogNTB9J10ge1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogI3skaSAqIDUwfW1zO1xuICAgIH1cblxuICAgIGJvZHlbZGF0YS1hb3MtZGVsYXk9JyN7JGkgKiA1MH0nXSAmLFxuICAgICZbZGF0YS1hb3NdW2RhdGEtYW9zLWRlbGF5PScjeyRpICogNTB9J10ge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMDtcblxuICAgICAgJi5hb3MtYW5pbWF0ZSB7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICN7JGkgKiA1MH1tcztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIiRhb3MtZWFzaW5nOiAoXG4gIGxpbmVhcjogY3ViaWMtYmV6aWVyKC4yNTAsIC4yNTAsIC43NTAsIC43NTApLFxuXG4gIGVhc2U6IGN1YmljLWJlemllciguMjUwLCAuMTAwLCAuMjUwLCAxKSxcbiAgZWFzZS1pbjogY3ViaWMtYmV6aWVyKC40MjAsIDAsIDEsIDEpLFxuICBlYXNlLW91dDogY3ViaWMtYmV6aWVyKC4wMDAsIDAsIC41ODAsIDEpLFxuICBlYXNlLWluLW91dDogY3ViaWMtYmV6aWVyKC40MjAsIDAsIC41ODAsIDEpLFxuXG4gIGVhc2UtaW4tYmFjazogY3ViaWMtYmV6aWVyKC42LCAtLjI4LCAuNzM1LCAuMDQ1KSxcbiAgZWFzZS1vdXQtYmFjazogY3ViaWMtYmV6aWVyKC4xNzUsIC44ODUsIC4zMiwgMS4yNzUpLFxuICBlYXNlLWluLW91dC1iYWNrOiBjdWJpYy1iZXppZXIoLjY4LCAtLjU1LCAuMjY1LCAxLjU1KSxcblxuICBlYXNlLWluLXNpbmU6IGN1YmljLWJlemllciguNDcsIDAsIC43NDUsIC43MTUpLFxuICBlYXNlLW91dC1zaW5lOiBjdWJpYy1iZXppZXIoLjM5LCAuNTc1LCAuNTY1LCAxKSxcbiAgZWFzZS1pbi1vdXQtc2luZTogY3ViaWMtYmV6aWVyKC40NDUsIC4wNSwgLjU1LCAuOTUpLFxuXG4gIGVhc2UtaW4tcXVhZDogY3ViaWMtYmV6aWVyKC41NSwgLjA4NSwgLjY4LCAuNTMpLFxuICBlYXNlLW91dC1xdWFkOiBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KSxcbiAgZWFzZS1pbi1vdXQtcXVhZDogY3ViaWMtYmV6aWVyKC40NTUsIC4wMywgLjUxNSwgLjk1NSksXG5cbiAgZWFzZS1pbi1jdWJpYzogY3ViaWMtYmV6aWVyKC41NSwgLjA4NSwgLjY4LCAuNTMpLFxuICBlYXNlLW91dC1jdWJpYzogY3ViaWMtYmV6aWVyKC4yNSwgLjQ2LCAuNDUsIC45NCksXG4gIGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoLjQ1NSwgLjAzLCAuNTE1LCAuOTU1KSxcblxuICBlYXNlLWluLXF1YXJ0OiBjdWJpYy1iZXppZXIoLjU1LCAuMDg1LCAuNjgsIC41MyksXG4gIGVhc2Utb3V0LXF1YXJ0OiBjdWJpYy1iZXppZXIoLjI1LCAuNDYsIC40NSwgLjk0KSxcbiAgZWFzZS1pbi1vdXQtcXVhcnQ6IGN1YmljLWJlemllciguNDU1LCAuMDMsIC41MTUsIC45NTUpXG4pO1xuXG4vLyBFYXNpbmdzIGltcGxlbWVudGF0aW9uc1xuLy8gRGVmYXVsdCB0aW1pbmcgZnVuY3Rpb246ICdlYXNlJ1xuXG5bZGF0YS1hb3NdIHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYW9zLWVhc2luZyB7XG4gICAgYm9keVtkYXRhLWFvcy1lYXNpbmc9XCIjeyRrZXl9XCJdICYsXG4gICAgJltkYXRhLWFvc11bZGF0YS1hb3MtZWFzaW5nPVwiI3ska2V5fVwiXSB7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEFuaW1hdGlvbnMgdmFyaWFibGVzXG4kYW9zLWRpc3RhbmNlOiAxMDBweCAhZGVmYXVsdDtcblxuXG5cblxuLyoqXG4gKiBGYWRlIGFuaW1hdGlvbnM6XG4gKiBmYWRlXG4gKiBmYWRlLXVwLCBmYWRlLWRvd24sIGZhZGUtbGVmdCwgZmFkZS1yaWdodFxuICogZmFkZS11cC1yaWdodCwgZmFkZS11cC1sZWZ0LCBmYWRlLWRvd24tcmlnaHQsIGZhZGUtZG93bi1sZWZ0XG4gKi9cblxuW2RhdGEtYW9zXj0nZmFkZSddW2RhdGEtYW9zXj0nZmFkZSddIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuXG4gICYuYW9zLWFuaW1hdGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuXG5bZGF0YS1hb3M9J2ZhZGUtdXAnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgJGFvcy1kaXN0YW5jZSwgMCk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0kYW9zLWRpc3RhbmNlLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0kYW9zLWRpc3RhbmNlLCAwLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdmYWRlLWxlZnQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJGFvcy1kaXN0YW5jZSwgMCwgMCk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS11cC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJGFvcy1kaXN0YW5jZSwgJGFvcy1kaXN0YW5jZSwgMCk7XG59XG5cbltkYXRhLWFvcz0nZmFkZS11cC1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRhb3MtZGlzdGFuY2UsICRhb3MtZGlzdGFuY2UsIDApO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93bi1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJGFvcy1kaXN0YW5jZSwgLSRhb3MtZGlzdGFuY2UsIDApO1xufVxuXG5bZGF0YS1hb3M9J2ZhZGUtZG93bi1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRhb3MtZGlzdGFuY2UsIC0kYW9zLWRpc3RhbmNlLCAwKTtcbn1cblxuXG5cblxuLyoqXG4gKiBab29tIGFuaW1hdGlvbnM6XG4gKiB6b29tLWluLCB6b29tLWluLXVwLCB6b29tLWluLWRvd24sIHpvb20taW4tbGVmdCwgem9vbS1pbi1yaWdodFxuICogem9vbS1vdXQsIHpvb20tb3V0LXVwLCB6b29tLW91dC1kb3duLCB6b29tLW91dC1sZWZ0LCB6b29tLW91dC1yaWdodFxuICovXG5cbltkYXRhLWFvc149J3pvb20nXVtkYXRhLWFvc149J3pvb20nXSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcblxuICAmLmFvcy1hbmltYXRlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUoMSk7XG4gIH1cbn1cblxuW2RhdGEtYW9zPSd6b29tLWluJ10ge1xuICB0cmFuc2Zvcm06IHNjYWxlKC42KTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLWluLXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRhb3MtZGlzdGFuY2UsIDApIHNjYWxlKC42KTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLWluLWRvd24nXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLSRhb3MtZGlzdGFuY2UsIDApIHNjYWxlKC42KTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLWluLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0kYW9zLWRpc3RhbmNlLCAwLCAwKSBzY2FsZSguNik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1pbi1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRhb3MtZGlzdGFuY2UsIDAsIDApIHNjYWxlKC42KTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dCddIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xufVxuXG5bZGF0YS1hb3M9J3pvb20tb3V0LXVwJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsICRhb3MtZGlzdGFuY2UsIDApIHNjYWxlKDEuMik7XG59XG5cbltkYXRhLWFvcz0nem9vbS1vdXQtZG93biddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtJGFvcy1kaXN0YW5jZSwgMCkgc2NhbGUoMS4yKTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dC1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtJGFvcy1kaXN0YW5jZSwgMCwgMCkgc2NhbGUoMS4yKTtcbn1cblxuW2RhdGEtYW9zPSd6b29tLW91dC1sZWZ0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRhb3MtZGlzdGFuY2UsIDAsIDApIHNjYWxlKDEuMik7XG59XG5cblxuXG5cbi8qKlxuICogU2xpZGUgYW5pbWF0aW9uc1xuICovXG5cbltkYXRhLWFvc149J3NsaWRlJ11bZGF0YS1hb3NePSdzbGlkZSddIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuXG4gICYuYW9zLWFuaW1hdGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cblxuW2RhdGEtYW9zPSdzbGlkZS11cCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdzbGlkZS1kb3duJ10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbn1cblxuW2RhdGEtYW9zPSdzbGlkZS1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG59XG5cbltkYXRhLWFvcz0nc2xpZGUtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbn1cblxuXG5cblxuLyoqXG4gKiBGbGlwIGFuaW1hdGlvbnM6XG4gKiBmbGlwLWxlZnQsIGZsaXAtcmlnaHQsIGZsaXAtdXAsIGZsaXAtZG93blxuICovXG5cbltkYXRhLWFvc149J2ZsaXAnXVtkYXRhLWFvc149J2ZsaXAnXSB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xufVxuXG5bZGF0YS1hb3M9J2ZsaXAtbGVmdCddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVkoLTEwMGRlZyk7XG4gICYuYW9zLWFuaW1hdGUge3RyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVZKDApO31cbn1cblxuW2RhdGEtYW9zPSdmbGlwLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgxMDBkZWcpO1xuICAmLmFvcy1hbmltYXRlIHt0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDI1MDBweCkgcm90YXRlWSgwKTt9XG59XG5cbltkYXRhLWFvcz0nZmxpcC11cCddIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyNTAwcHgpIHJvdGF0ZVgoLTEwMGRlZyk7XG4gICYuYW9zLWFuaW1hdGUge3RyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKDApO31cbn1cblxuW2RhdGEtYW9zPSdmbGlwLWRvd24nXSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKDEwMGRlZyk7XG4gICYuYW9zLWFuaW1hdGUge3RyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjUwMHB4KSByb3RhdGVYKDApO31cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEJhc2VcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmUgbWFyZ2luIGFuZCBwYWRkaW5nIGZyb20gZXZlcnkgc2VsZWN0b3IgaW5jbHVkaW5nIHRoZWlyXHJcbiAqIHBzdWVkbyBzZWxlY3RvcnMuXHJcbiAqXHJcbiAqIDEuIE1vcmUgc2Vuc2libGUgZGVmYXVsdCBib3ggc2l6aW5nLlxyXG4gKiAgICAoY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlKS5cclxuICovXHJcblxyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3gtc2l6aW5nOiBpbmhlcml0OyAvKiAxICovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2V0IGhlaWdodCBvZiB0aGUgZG9jdW1lbnQgdG8gbWF4aXVtIHZpZXdwb3J0IGhlaWdodC5cclxuICpcclxuICogMS4gU2V0IHJvb3QgZm9udCBzaXplIHRvIDEwLlxyXG4gKi9cclxuXHJcbmh0bWwge1xyXG4gIGhlaWdodDogMTAwdmg7XHJcbiAgZm9udC1zaXplOiA2Mi41JTsgLyogMSAqL1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLy9vdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2V0IG1pbmltYWwgaGVpZ2h0IG9mIHRoZSBib2R5IHRvIG1heGltdW0gdmlld3BvcnQgaGVpZ2h0IHRvXHJcbiAqIG1hdGNoIHRoZSBkb2N1bWVudCdzIGhlaWdodC5cclxuICpcclxuICogMS4gRmlyZWZveCAyNSsuXHJcbiAqIDIuIENocm9tZSA1Ky5cclxuICovXHJcblxyXG5ib2R5IHtcclxuICBAaW5jbHVkZSB0ZXh0KCRib2R5LXRleHQpO1xyXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQtY29sb3I7XHJcbiAgY29sb3I6ICRib2R5LWNvbG9yO1xyXG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IC8qIDEgKi9cclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLyogMiAqL1xyXG4gIGFuaW1hdGlvbjogZmFkZUluIDI1MDBtcyBlYXNlO1xyXG59XHJcblxyXG5cclxuOjpzZWxlY3Rpb24geyBcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW4tMzAwOyBcclxuICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBNaXhpbnNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIFdyYXBwZXJcclxuLy8gQ2VudGVyIGFsaWducyBlbGVtZW50IHdpdGggZ2l2ZW4gbWF4aW11bSB3aWR0aCwgcGFkZGluZywgYW5kIG1hcmdpbnMgdG9wXHJcbi8vIGFuZCBib3R0b20uXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGdhcCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgd3JhcHBlcigxMDI0cHgsIDIwcHgpO1xyXG5AbWl4aW4gY29udGFpbmVyKCR3aWR0aDogJGdyaWQtd2lkdGgsICRnYXA6ICRncmlkLWdhcCkge1xyXG4gIEBpZiAodHlwZS1vZigkd2lkdGgpID09IG51bWJlciBhbmQgdHlwZS1vZigkZ2FwKSA9PSBudW1iZXIpIHtcclxuICAgIEBpZiAoJGdhcCAhPSAwKSB7XHJcbiAgICAgIG1heC13aWR0aDogY2FsYygjeyR3aWR0aH0gKyAjeygkZ2FwICogMil9KTtcclxuICAgICAgcGFkZGluZzogMCAkZ2FwO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIG1heC13aWR0aDogJHdpZHRoO1xyXG4gICAgfVxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciAnQXJndW1lbnRzIGAkd2lkdGhgIGFuZCBgJGdhcGAgc2hvdWxkIGJlIGEgbnVtYmVyJztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBTZWN0aW9uXHJcbi8vIEFkZCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIHRvIGVsZW1lbnQgdXNpbmcgcGFkZGluZ3MuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkdG9wIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRib3R0b20gLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4vLyBAZXhhbXBsZVxyXG4vLyAgIEBpbmNsdWRlIHNlY3Rpb24oMTAwcHgsIDEwMHB4KTtcclxuQG1peGluIHNlY3Rpb24oJHRvcDogMCwgJGJvdHRvbTogMCkge1xyXG4gIEBpZiAodHlwZS1vZigkdG9wKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJGJvdHRvbSkgPT0gbnVtYmVyKSB7XHJcbiAgICBwYWRkaW5nOiAkdG9wIDAgJGJvdHRvbTtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciAnQXJndW1lbnRzIGAkdG9wYCBhbmQgYGJvdHRvbWAgc2hvdWxkIGJlIGEgbnVtYmVyJztcclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBGb250XHJcbi8vIEFkZHMgYHJlbWAgdW5pdCBiYXNlZCBmb250IHNpemUgcHJvcGVydHksIGEgZmFsbGJhY2tcclxuLy8gYHB4YCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYW5kIGEgYGVtYCB1bml0IGJhc2VkIGxpbmUgaGVpZ2h0XHJcbi8vIHByb3BlcnR5IHRvIGFueSBydWxlLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGZvbnQtc2l6ZSAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkbGluZS1oZWlnaHQgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4vLyBAZXhhbXBsZVxyXG4vLyAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4LCAyNHB4KTtcclxuQG1peGluIGZvbnQoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XHJcbiAgQGlmICh0eXBlLW9mKCRmb250LXNpemUpID09IG51bWJlciBhbmQgdW5pdCgkZm9udC1zaXplKSA9PSAncHgnKSB7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XHJcbiAgICBmb250LXNpemU6IHJlbSgkZm9udC1zaXplKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdWYWx1ZSBmb3IgYCN7JGZvbnQtc2l6ZX1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XHJcbiAgfVxyXG4gIEBpZiAodHlwZS1vZigkbGluZS1oZWlnaHQpID09IG51bWJlciBhbmQgdW5pdCgkbGluZS1oZWlnaHQpID09ICdweCcpIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAoKCRsaW5lLWhlaWdodCAvICRmb250LXNpemUpICogMWVtKTtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciAnVmFsdWUgZm9yIGAjeyRsaW5lLWhlaWdodH1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gVGV4dFxyXG4vLyBTaG9ydGhhbmQgZm9yIHRoZSBmb250IG1peGluLCBydW5zIHRoZSBmb250IG1peGluIGJhc2VkIG9uIGEgY29tbW9uXHJcbi8vIGRlbWVhbm91ciBleGlzdGluZyBib3RoIGluIHRoZSBgJGZvbnQtc2l6ZWAgYW5kIHRoZSBgJGxpbmUtaGVpZ2h0YCBtYXBzLlxyXG4vLyBAcGFyYW0ge3N0cmluZ30gJHZhbHVlIC0gU3RyaW5nXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgdGV4dCgncCcpO1xyXG5AbWl4aW4gdGV4dCgkdmFsdWUpIHtcclxuICBAaWYgKHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcpIHtcclxuICAgIEBpbmNsdWRlIGZvbnQobWFwLWdldCgkZm9udC1zaXplLCAkdmFsdWUpLCBtYXAtZ2V0KCRsaW5lLWhlaWdodCwgJHZhbHVlKSk7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAZXJyb3IgJ1ZhbHVlIHNob3VsZCBiZSBhIHN0cmluZyc7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gRm9udCBBd2Vzb21lXHJcbi8vIEFkZCBGb250IEF3ZXNvbWUgaWNvbnMgYXMgcHN1ZWRvIGVsZW1lbnRzIGJ5IHVzaW5nIHRoZWlyIHVuaWNvZGUuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkY29udGVudCAtIFVuaWNvZGUgc3RyaW5nLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGZhbWlseSAtIEZvbnQgQXdlc29tZSBmb250IGZhbWlseSBzdHJpbmcuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgZm9udGF3ZXNvbWUoJ2YxMDAnLCAnTGlnaHQnKTtcclxuQG1peGluIGZvbnRhd2Vzb21lKCRjb250ZW50LCAkZmFtaWx5KSB7XHJcbiAgQGlmICh0eXBlLW9mKCRmYW1pbHkpID09IHN0cmluZykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgI3skZmFtaWx5fSc7XHJcbiAgICBjb250ZW50OiB1bmljb2RlKCRjb250ZW50KTtcclxuICB9IEBlbHNlIHtcclxuICAgIEBlcnJvciAnQXJndW1lbnQgYCRmYW1pbHlgIHNob3VsZCBiZSBhIHN0cmluZyc7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gTWVkaWFcclxuLy8gTWVkaWEgcXVlcmllcyBhY2NvcmRpbmcgdG8gXCJUaGUgMTAwJSBDb3JyZWN0IFdheSBUbyBEbyBDU1MgQnJlYWtwb2ludHNcIlxyXG4vLyAoaHR0cHM6Ly9tZWRpdW0uZnJlZWNvZGVjYW1wLmNvbS90aGUtMTAwLWNvcnJlY3Qtd2F5LXRvLWRvLWNzcy1icmVha3BvaW50cy04OGQ2YTViYTE4NjIpLlxyXG4vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBCcmVha3BvaW50IHBpeGVsIHVuaXQgdmFsdWUuXHJcbi8vIEBleGFtcGxlXHJcbi8vICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge31cclxuQG1peGluIG1lZGlhKCRicmVha3BvaW50KSB7XHJcbiAgQGlmIChtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xyXG4gICAgQGlmIChtYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpID09IDApIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCkpIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVycm9yICdWYWx1ZSBpcyBub3QgaW4gbWFwIGAkYnJlYWtwb2ludHNgJztcclxuICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhXHJcbi8vIE1lZGlhIHF1ZXJpZXMgYWNjb3JkaW5nIHRvIFwiVGhlIDEwMCUgQ29ycmVjdCBXYXkgVG8gRG8gQ1NTIEJyZWFrcG9pbnRzXCJcclxuLy8gKGh0dHBzOi8vbWVkaXVtLmZyZWVjb2RlY2FtcC5jb20vdGhlLTEwMC1jb3JyZWN0LXdheS10by1kby1jc3MtYnJlYWtwb2ludHMtODhkNmE1YmExODYyKS5cclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzaXplIC0gQnJlYWtwb2ludCBwaXhlbCB1bml0IHZhbHVlLlxyXG4vLyBAZXhhbXBsZVxyXG4vLyAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHt9XHJcbkBtaXhpbiBtZWRpYSgkc2l6ZSkge1xyXG4gIEBpZiAoJHNpemUgPT0gJ2Rlc2t0b3AnKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogMTIwMHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlLXVwJykge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDkwMHB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDkwMHB4KSBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdC11cCcpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSBhbmQobWF4LXdpZHRoOiA4OTlweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogODk5cHgpIHtcclxuICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgfSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldCcpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkgYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XHJcbiAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG4gIH0gQGVsc2UgaWYgKCRzaXplID09ICdwaG9uZScpIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiA1OTlweCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBUeXBvZ3JhcGh5XHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBGb250IGZhbWlseSBtYXAuXHJcbiRmb250LWZhbWlseTogKFxyXG4gICdkZWZhdWx0JzogJ1JvYm90bydcclxuKTtcclxuXHJcblxyXG4vLyBGb250IHNpemUgbWFwLlxyXG4kZm9udC1zaXplOiAoXHJcbiAgJ2gxJzogMzJweCxcclxuICAnaDInOiAyOHB4LFxyXG4gICdoMyc6IDI0cHgsXHJcbiAgJ2g0JzogMjJweCxcclxuICAnaDUnOiAyMHB4LFxyXG4gICdoNic6IDE4cHgsXHJcbiAgJ3AnOiAxNnB4XHJcbik7XHJcblxyXG5cclxuLy8gTGluZSBoZWlnaHQgbWFwLlxyXG4kbGluZS1oZWlnaHQ6IChcclxuICAnaDEnOiA1MHB4LFxyXG4gICdoMic6IDM0cHgsXHJcbiAgJ2gzJzogMjlweCxcclxuICAnaDQnOiAzMnB4LFxyXG4gICdoNSc6IDMycHgsXHJcbiAgJ2g2JzogMzJweCxcclxuICAncCc6IDI0cHhcclxuKTtcclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gRnVuY3Rpb25zXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBVbmljb2RlXHJcbi8vIFByZXNlcnZlIGVzY2FwZWQgdW5pY29kZSBzdHJpbmcuXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gQW4gdW5pY29kZSBzdHJpbmcuXHJcbi8vIEByZXR1cm4ge1N0cmluZ30gQSBwcmVzZXJ2ZWQgZXNjYXBlZCB1bmljb2RlIHN0cmluZ1xyXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBxdW90ZXNcclxuQGZ1bmN0aW9uIHVuaWNvZGUoJHN0cmluZykge1xyXG4gIEByZXR1cm4gdW5xdW90ZShcIlxcJ1wiKSArIHVucXVvdGUoc3RyLWluc2VydCgkc3RyaW5nLCAnXFxcXCcsIDEpKSArIHVucXVvdGUoXCJcXCdcIik7XHJcbn1cclxuLy8gc2Fzcy1saW50OmVuYWJsZSBxdW90ZXNcclxuXHJcblxyXG4vLyBSRU1cclxuLy8gQ29udmVydCBwaXhlbCB1bml0cyB0byBSRU0gdW5pdHMuXHJcbi8vIEBwYXJhbSB7TnVtYmVyfSAkcGl4ZWxzIC0gUGl4ZWwgdmFsdWUuXHJcbi8vIEByZXR1cm4geyp9IC0gQSBjb252ZXJ0ZWQgYHJlbWAgdW5pdC5cclxuQGZ1bmN0aW9uIHJlbSgkcGl4ZWxzKSB7XHJcbiAgQGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG4gICAgQGVycm9yICdWYWx1ZSBmb3IgYCN7JHBpeGVsc31gIHNob3VsZCBiZSBhIGBweGAgdW5pdC4nO1xyXG4gIH1cclxuICBAcmV0dXJuICgoJHBpeGVscyAvIDEwcHgpICogMXJlbSk7XHJcbn1cclxuXHJcblxyXG4vLyBDb2x1bW5cclxuLy8gQ2FsY3VsYXRlIGdpdmVuIGNvbHVtbiB3aWR0aC5cclxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW4gLSBUaGUgYW1vdW50IG9mIGNvbHVtbnMgdG8gc3Bhbi5cclxuLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gVGhlIGFtb3VudCBvZiBjb2x1bW5zIHRoYXQgY2FuIGJlIHNwYW5uZWQuXHJcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBQZXJjZW50YWdlIHZhbHVlLlxyXG5AZnVuY3Rpb24gY29sdW1uKCRjb2x1bW4sICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XHJcbiAgQHJldHVybiAoJGNvbHVtbiAgKiAxMDAlIC8gJGNvbHVtbnMpO1xyXG59XHJcblxyXG5cclxuLy8gQ29sb3JcclxuLy8gR2V0IGEgY29sb3IgdmFsdWUgZnJvbSB0d28gbGV2ZWxzIGRlZXAgaW4gdGhlIGAkY29sb3JgIG1hcC5cclxuLy8gQHBhcmFtIHskc3RyaW5nfSAka2V5IC0gS2V5IG9mIHRoZSBjb2xvciB0byBnZXQgZnJvbSB0aGUgbWFwLlxyXG4vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgb2YgdGhlIGtleSB0byBnZXQgZnJvbSB0aGUgbWFwLlxyXG4vLyBAcmV0dXJuIHsqfSBBIEhTTEEgY29sb3IgdmFsdWUuXHJcbkBmdW5jdGlvbiBjb2xvcigka2V5LCAkdmFsdWUpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAka2V5KSwgJHZhbHVlKTtcclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBDb2xvclxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gQ29sb3IgbWFwLlxyXG4kY29sb3JzOiAoXHJcbiAgJ2JsYWNrJzogKFxyXG4gICAgJzEwMCc6IGhzbGEoMCwgMCUsIDAlLCAxKVxyXG4gICksXHJcbiAgJ3doaXRlJzogKFxyXG4gICAgJzEwMCc6IGhzbGEoMCwgMCUsIDEwMCUsIDEpLFxyXG4gICksXHJcbiAgJ2dyZXknOiAoXHJcbiAgICAnMTAwJzogaHNsYSgxOTUsIDIyJSwgOTYlLCAxKSxcclxuICAgICcyMDAnOiBoc2xhKDE5OCwgMTAlLCA3NCUsIDEpXHJcbiAgKSxcclxuICAnYmx1ZSc6IChcclxuICAgICcxMDAnOiBoc2xhKDE5NiwgMzQlLCA0OSUsIDEpXHJcbiAgKSxcclxuICAnZ3JlZW4nOiAoXHJcbiAgICAnNDAwJzogaHNsYSgxOTYsIDI2JSwgMjklLCAxKSxcclxuICAgICczMDAnOiBoc2xhKDE5NiwgMzQlLCA0OSUsIDEpLFxyXG4gICAgJzEwMC0wNyc6IGhzbGEoMTk3LCAyOCUsIDg3JSwgMC43KSxcclxuICAgICcxMDAnOiBoc2xhKDE5NywgMjglLCA4NyUsIDEpXHJcbiAgKVxyXG4pO1xyXG5cclxuLy8gQ29sb3Igc2hvcnRoYW5kIHZhcmlhYmxlcy5cclxuJGNvbG9yLWJsYWNrLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnMTAwJyk7XHJcbiRjb2xvci13aGl0ZS0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnd2hpdGUnKSwgJzEwMCcpO1xyXG4kY29sb3ItZ3JleS0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JleScpLCAnMTAwJyk7XHJcbiRjb2xvci1ncmV5LTIwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmV5JyksICcyMDAnKTtcclxuJGNvbG9yLWdyZWVuLTQwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmVlbicpLCAnNDAwJyk7XHJcbiRjb2xvci1ncmVlbi0zMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JlZW4nKSwgJzMwMCcpO1xyXG4kY29sb3ItZ3JlZW4tMjAwOiAjNTI5MGE2O1xyXG4kY29sb3ItZ3JlZW4tMTAwLTA3OiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2dyZWVuJyksICcxMDAtMDcnKTtcclxuJGNvbG9yLWdyZWVuLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmVlbicpLCAnMTAwJyk7XHJcbiRjb2xvci1ibHVlLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibHVlJyksICcxMDAnKTtcclxuJGNvbG9yLXJlZC00MDA6ICNmZjAwMDA7XHJcblxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBSZXNldFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEN1c3RvbSB1c2VyIGFnZW50IHJlc2V0cyBhbmQgb3ZlcnJpZGVzIHRoYXQgYXJlIG5vdCBwcmVzZW50IGluXHJcbiAqIE5vcm1hbGl6ZSA4LjAuMC4gVGhpcyBtb3N0bHkgcmVtb3ZlcyBzb21lIGFubm95aW5nIG1hcmdpbiBhbmQgcGFkZGluZ1xyXG4gKiBkZWZhdWx0cywgYm9yZGVyIHJhZGl1cywgYW5kIG91dGxpbmVzLlxyXG4gKi9cclxuXHJcbmEge1xyXG4gIGNvbG9yOiBpbmhlcml0O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHJhZGl1cyBvbiBDaHJvbWUgNjIuMCsgb24gbWFjT1MuXHJcbiAqL1xyXG5cclxuYnV0dG9uIHtcclxuICBib3JkZXI6IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMDsgLyogMSAqL1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbmZpZ3VyZSB7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmhyIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgd2hpdGUgc3BhY2UuXHJcbiAqL1xyXG5cclxuaW1nIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDEgKi9cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgaW5oZXJpdGVkIHVzZXIgYWdlbnQgYXBwZWFyYW5jZS5cclxuICovXHJcblxyXG5pbnB1dCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgYXBwZWFyYW5jZTogbm9uZTsgLyogMSAqL1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIE9ubHkgYWxsb3cgdmVydGljYWwgcmVzaXppbmcgdG8gcHJldmVudCB0aGUgdGV4dGFyZWFcclxuICogICAgZnJvbSBvdmVyZmxvd2luZyB0aGUgY29udGFpbmVyLlxyXG4gKi9cclxuXHJcbnRleHRhcmVhIHtcclxuICByZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG51bCxcclxub2wge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxufVxyXG5cclxucCB7XHJcbiAgbWFyZ2luOiAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIENvbGxhcHNlIGJvcmRlcnMgdG8gcHJldmVudCBkb3VibGUgc2lkZWQgYm9yZGVycy5cclxuICovXHJcblxyXG50YWJsZSB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDEgKi9cclxufVxyXG5cclxuc3Ryb25nIHtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIEJ1dHRvbnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJHNoYWRvd2xpZ2h0OiAgaHNsYSgxOTYsIDM0JSwgNDklLCAwLjMpO1xyXG5cclxuLmJ0bi1wcmltYXJ5IHtcclxuICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXM7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHBhZGRpbmc6IDE1cHggMjBweDtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTMwMDtcclxuICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICBmb250LXNpemU6IDE1cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xyXG4gIGJveC1zaGFkb3c6IDAgMnB4IDE1cHggMCAkc2hhZG93bGlnaHQ7XHJcbn1cclxuXHJcbi5idG4tc2Vjb25kYXJ5IHtcclxuICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcztcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29udGFpbmVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogVGhlIGNvbnRhaW5lciBvYmplY3QgY2VudGVycyBhbiBlbGVtZW50IGluIHRoZSBkb2N1bWVudC5cclxuICovXHJcblxyXG4uY29udGFpbmVyIHtcclxuICBAaW5jbHVkZSBjb250YWluZXI7XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gRGVmaW5pdGlvbnNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIEdyaWRcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIEdyaWQgd2lkdGguXHJcbi8vIE1heGltdW0gY29udGFpbmVyIHdpZHRoLlxyXG4kZ3JpZC13aWR0aDogMTAyNHB4O1xyXG5cclxuLy8gR3JpZCBjb2x1bW5zLlxyXG4vLyBBbW91bnQgb2YgZ3JpZCBjb2x1bW5zIHRvIGNhbGN1bGF0ZSBhIGNvbHVtbiB3aWR0aCB3aXRoLlxyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuXHJcbi8vIEdyaWQgY29sdW1uLlxyXG4vLyBDb2x1bW4gd2lkdGggaW4gcGl4ZWxzLlxyXG4kZ3JpZC1jb2x1bW46IDYwcHg7XHJcblxyXG4vLyBHcmlkIGdhcC5cclxuLy8gU3BhY2UgYmV0d2VlbiBncmlkIGNvbHVtbnMsIGF1dG9tYXRlZC5cclxuJGdyaWQtZ2FwOiAoJGdyaWQtd2lkdGggLSAoJGdyaWQtY29sdW1uICogJGdyaWQtY29sdW1ucykpIC8gJGdyaWQtY29sdW1ucztcclxuXHJcblxyXG4vLyBBc3NldHNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIEltYWdlIHBhdGguXHJcbiRpbWFnZS1wYXRoOiAnLi4vaW1hZ2VzLyc7XHJcblxyXG5cclxuLy8gQm9keVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gQm9keSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG4kYm9keS1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGUtMTAwO1xyXG5cclxuLy8gQm9keSBjb2xvci5cclxuJGJvZHktY29sb3I6ICRjb2xvci1ibGFjay0xMDA7XHJcblxyXG4vLyBCb2R5IGZvbnQgZmFtaWx5LlxyXG4kYm9keS1mb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdkZWZhdWx0Jyk7XHJcblxyXG4vLyBCb2R5IHRleHQuXHJcbiRib2R5LXRleHQ6ICdwJztcclxuXHJcblxyXG4vLyBPdGhlclxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gTGluayBjb2xvci5cclxuJGxpbmstY29sb3I6ICRjb2xvci1ibGFjay0xMDA7XHJcblxyXG5cclxuLy8gUmVzcG9uc2l2ZVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gR3JpZCBicmVha3BvaW50IGFsaWFzLlxyXG4kYnJlYWtwb2ludHM6IChcclxuICB4czogMCxcclxuICBzbTogNjAwcHgsXHJcbiAgbWQ6IDc2OHB4LFxyXG4gIGxnOiAxMDI0cHgsXHJcbiAgeGw6IDEyMDBweFxyXG4pO1xyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb250ZW50IENvbnN0cmFpbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBUaGUgY29udGVudCBjb25zdHJhaW50IGlzIGEgY29uc3RyYWludCBmb3IgYWxsIHRoZSBjb250ZW50IHdpdGhpblxyXG4gKiB0aGUgZG9jdW1lbnQuIEl0IGNhbiBiZSBtYW5pcHVsYXRlZCBieSBDU1Mgb3IgSmF2YVNjcmlwdCB3aXRob3V0XHJcbiAqIGluZmx1ZW5jaW5nIHRoZSBib2R5LlxyXG4gKi9cclxuXHJcbi5jb250ZW50LWNvbnN0cmFpbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtaW4taGVpZ2h0OiAxMDB2aDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBGbGV4XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogRXhhbXBsZSBvZiBhIGZsZXggYmFzZWQgY29sdW1uIGdyaWQgbGF5b3V0IGluIHByYWN0aWNlOlxyXG4gKlxyXG4gKiA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAqICAgPGRpdiBjbGFzcz1cImNvbCBjb2wteHMtNiBjb2wtc20tMTJcIj48L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiA8L2Rpdj5cclxuICpcclxuICogVGhpcyBleGFtcGxlIHdpbGwgY3JlYXRlIGEgcm93IHdpdGggdHdvIGNvbHVtbnMgZWFjaCBmaWxsaW5nIGhhbGYgdGhlIHdpZHRoXHJcbiAqIG9mIHRoZSByb3cgb24gYWxsIG1lZGlhLCBidXQgd2lsbCBjb252ZXJ0IHRvIGEgZnVsbCB3aWR0aCBjb2x1bW4gb24gdGhlXHJcbiAqIHNtYWxsIGAtc21gIGJyZWFrcG9pbnQgYWxpYXMsIHdoaWNoIGlzIG1vYmlsZSBvbmx5LiBSZWZlciB0b1xyXG4gKiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgIGZvciBhbGwgYnJlYWtwb2ludCBhbGlhcy5cclxuICovXHJcblxyXG4vKipcclxuICogRmxleCBvYmplY3QuXHJcbiAqXHJcbiAqIFRpcDogVXNlIGZsZXggb24gYSBjb2x1bW4gdG8gbWFrZSB0aGUgYm94IHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgY29sdW1uLlxyXG4gKi9cclxuXHJcbi5mbGV4IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZsZXggb2JqZWN0IHdpdGggYSBjb2x1bW4gYmFzZWQgbGF5b3V0IHN5c3RlbS5cclxuICovXHJcblxyXG4ucm93IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXg6IDAgMSBhdXRvO1xyXG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgbWFyZ2luOiAwIC0jeygkZ3JpZC1nYXAvMil9O1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEJveCwgdGhlIGluc2lkZSBvZiBhIGNvbHVtbi5cclxuICovXHJcblxyXG4uYm94IHtcclxuICBmbGV4OiAxO1xyXG59XHJcblxyXG5cclxuLy8gTG9vcCB0aHJvdWdoIGFsbCB0aGUga2V5cyBpbiB0aGUgYCRicmVha3BvaW50c2AgdmFyaWFibGUgbWFwIGRlZmluZWQgaW5cclxuLy8gYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYC5cclxuQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XHJcblxyXG4gIC8vIENyZWF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBldmVyeSBrZXkgaW4gYCRicmVha3BvaW50c2AuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xyXG5cclxuICAgIC8vIEl0ZXJhdGUgZnJvbSAxIHRocm91Z2ggdGhlIGFtb3VudCBvZiBncmlkIGNvbHVtbnMgZGVmaW5lZCBieVxyXG4gICAgLy8gYCRncmlkLWNvbHVtbnNgIGluIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xyXG5cclxuICAgICAgLyoqXHJcbiAgICAgICAqIENvbHVtbiAjeyRpfSBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG4gICAgICAgKi9cclxuXHJcbiAgICAgIC5jb2wtI3ska2V5fS0jeyRpfSB7XHJcbiAgICAgICAgZmxleDogMCAxIGF1dG87XHJcbiAgICAgICAgd2lkdGg6IGNvbHVtbigkaSk7XHJcbiAgICAgICAgcGFkZGluZzogMCAoJGdyaWQtZ2FwLzIpO1xyXG4gICAgICB9XHJcblxyXG5cclxuICAgICAgLy8gT3V0cHV0IGFuIG9mZnNldCB1dGlsaXR5IGNsYXNzIGlmIHRoZSBpdGVyYXRvciBpcyBsZXNzIHRoYW4gdGhlIGFtb3VudFxyXG4gICAgICAvLyBvZiBncmlkIGNvbHVtbnMgZGVmaW5lZCBieSBgJGdyaWQtY29sdW1uc2AgaW5cclxuICAgICAgLy8gYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYC5cclxuICAgICAgQGlmICgkaSA8ICRncmlkLWNvbHVtbnMpIHtcclxuXHJcbiAgICAgICAgLyoqXHJcbiAgICAgICAgICogT2Zmc2V0ICN7JGl9IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcbiAgICAgICAgICovXHJcblxyXG4gICAgICAgIC5vZmZzZXQtI3ska2V5fS0jeyRpfSB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogY29sdW1uKCRpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gTG9vcCB0aHJvdWdoIGFsbCB2YWx1ZXMgZm9yIHRoZSBgYWxpZ24taXRlbXNgIHByb3BlcnR5LlxyXG4gICAgQGVhY2ggJHZhbHVlIGluIHN0cmV0Y2gsIGNlbnRlciwgZmxleC1zdGFydCwgZmxleC1lbmQsIGJhc2VsaW5lIHtcclxuXHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBBbGlnbiBgI3skdmFsdWV9YCBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuICAgICAgICovXHJcblxyXG4gICAgICAuYWxpZ24tI3ska2V5fS0jeyR2YWx1ZX0ge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gTG9vcCB0aHJvdWdoIGFsbCB2YWx1ZXMgZm9yIHRoZSBganVzdGlmeS1jb250ZW50YCBwcm9wZXJ0eS5cclxuICAgIEBlYWNoICR2YWx1ZSBpbiBzdGFydCwgY2VudGVyLCBzcGFjZS1iZXR3ZWVuLCBzcGFjZS1hcm91bmQsIHNwYWNlLWV2ZW5seSB7XHJcblxyXG4gICAgICAvKipcclxuICAgICAgICogSnVzdGlmeSBgI3skdmFsdWV9YCBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuICAgICAgICovXHJcblxyXG4gICAgICAuanVzdGlmeS0jeyRrZXl9LSN7JHZhbHVlfSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLy8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGRpcmVjdGlvbiBmcm9tIGxlZnQgdG8gcmlnaHQuXHJcbiAgICBAZWFjaCAkZGlyZWN0aW9uIGluIGxlZnQsIHJpZ2h0IHtcclxuXHJcbiAgICAgIC8qKlxyXG4gICAgICAgKiBCbGVlZCAjeyRkaXJlY3Rpb259IGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxyXG4gICAgICAgKi9cclxuXHJcbiAgICAgIC5ibGVlZC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xyXG4gICAgICAgIHBhZGRpbmctI3skZGlyZWN0aW9ufTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cclxuXHJcbiAgICAuZmlyc3QtI3ska2V5fSB7XHJcbiAgICAgIG9yZGVyOiAtMTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPcmRlciBsYXN0IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcbiAgICAgKi9cclxuXHJcbiAgICAubGFzdC0jeyRrZXl9IHtcclxuICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG4gICAgICovXHJcblxyXG4gICAgLnJldmVyc2UtI3ska2V5fSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgU2VjdGlvblxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDTVMgT3V0cHV0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogRXZlcnkgY29uY2VpdmFibGUgSFRNTCBlbGVtZW50IHdpdGhpbiBhIGAuY21zLW91dHB1dGAgd3JhcHBlci5cclxuICpcclxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cclxuICovXHJcblxyXG4uY21zLW91dHB1dCB7XHJcblxyXG4gID4gKiB7XHJcblxyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtOyAvKiAxICovXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bCB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiAgfVxyXG5cclxuICBvbCB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XHJcbiAgfVxyXG5cclxuICBwID4gYSB7XHJcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBDb250YWN0XHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uY29udGFjdC10ZW1wbGF0ZSB7XHJcbiAgLml0ZW1zLWJlbG93IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLml0ZW0tYmVsb3cge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50O1xyXG4gICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMS42NHB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAjcmVxdWVzdC1xdW90ZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjAwcHg7XHJcbiAgfVxyXG59XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIENvbnRlbnQgaW1hZ2VcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jb250ZW50LWltYWdlIHtcclxuICBwYWRkaW5nOiAxNTBweCAwO1xyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIH1cclxuXHJcbiAgLmNpX19jb2x1bW4ge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0yMDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vd2lkdGg6IDUwJTtcclxuXHJcbiAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgIHdpZHRoOiA1NSU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICB3aWR0aDogNDUlO1xyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDYyMHB4O1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIG1hcmdpbi10b3A6IC0zMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jaV9faW1hZ2Uge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRvcDogMzBweDtcclxuICAgICAgYW5pbWF0aW9uOiBzbGlkZVJpZ2h0IDE1MDBtcyBlYXNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vICY6bnRoLWNoaWxkKDEpIHtcclxuICAgIC8vICAgbWF4LXdpZHRoOiA1NjBweDtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIC5jaV9fdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldCcpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgZm9udC1zaXplOiA2MHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiA3OHB4O1xyXG4gIH1cclxuXHJcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG4gIGgyLmNpX190aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgfVxyXG4gIC8vIHNhc3MtbGludDplbmFibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xyXG5cclxuICAuY2lfX2VkaXRvciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgbWF4LXdpZHRoOiA1NTBweDtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjhweDtcclxuICB9XHJcblxyXG4gIC5jaV9fbGluayB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDI1MG1zO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdHJhbnNpdGlvbjogMzUwbXMgZWFzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pdGVtcy1iZWxvdyB7XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiA3NTBweCkge1xyXG4gICAgICB3aWR0aDogOTAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gICAgICBtYXJnaW46IDI1cHggYXV0byBhdXRvO1xyXG5cclxuICAgICAgLml0ZW0tYmVsb3cge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIGF1dG8gMTVweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEobWluLXdpZHRoOiA3NTBweCkgYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XHJcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcclxuICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gYXV0bztcclxuXHJcbiAgICAgIC5pdGVtLWJlbG93IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IGF1dG8gYXV0byAzMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICAvL3dpZHRoOiA2MiU7XHJcbiAgICAgIG1heC13aWR0aDogODAwcHg7XHJcbiAgICAgIG1hcmdpbjogNDBweCBhdXRvIGF1dG87XHJcblxyXG4gICAgICAuaXRlbS1iZWxvdyB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxuXHJcbiAgICAuaXRlbS1iZWxvdyB7XHJcbiAgICAgIC8vZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi00MDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xyXG5cclxuICAgICAgaW1nIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHRvcDogLTJweDtcclxuICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDExcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLml0ZW0tYmVsb3dfX3RpdGxlIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5pdGVtcy1yaWdodCB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAuaXRlbS1iZWxvd19fc29jaWFsLWljb24ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNDAlO1xyXG4gICAgcmlnaHQ6IDE0JTtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcblxyXG4gICAgLml0ZW0tYmVsb3cge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAtMnB4O1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTFweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLml0ZW0tYmVsb3dfX3RpdGxlIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaXRlbS1iZWxvd19faWNvbiB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIG1hcmdpbjogMzBweCBhdXRvIDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldCcpIHtcclxuICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICB3aWR0aDogNDVweDtcclxuICAgIGhlaWdodDogNDVweDtcclxuICAgIG1hcmdpbi10b3A6IDgzcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGFuaW1hdGlvbjogcHVsc2UgMXMgZWFzZSBpbmZpbml0ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oZWFkZXIgKyAuY29udGVudC1pbWFnZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgcGFkZGluZzogMjYwcHggMCAwO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldCcpIHtcclxuICAgIHBhZGRpbmc6IDMwMHB4IDAgMDtcclxuICB9XHJcblxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tdG9wOiAtMjAwcHg7XHJcbiAgcGFkZGluZzogMzUwcHggMCAwO1xyXG5cclxuICAvLyAmOjphZnRlciB7XHJcbiAgLy8gICBkaXNwbGF5OiBibG9jaztcclxuICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAvLyAgIGJvdHRvbTogLTE4MHB4O1xyXG4gIC8vICAgd2lkdGg6IDEwMCU7XHJcbiAgLy8gICBoZWlnaHQ6IDM1MHB4O1xyXG4gIC8vICAgdHJhbnNmb3JtOiBza2V3WSgtOWRlZyk7XHJcbiAgLy8gICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0xMDA7XHJcbiAgLy8gICBjb250ZW50OiAnJztcclxuICAvLyAgIHotaW5kZXg6IC0xO1xyXG4gIC8vIH1cclxuXHJcblxyXG59XHJcblxyXG4ucHJvZHVjdHMtZmVhdHVyZWQgKyAuY29udGVudC1pbWFnZSB7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQnKSAge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbiAgXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIG1hcmdpbjogMzMwcHggYXV0byAyMDBweDtcclxuXHJcbiAgICAuY2lfX2VkaXRvciB7XHJcbiAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgIG1heC13aWR0aDogMzgwcHg7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgIG1hcmdpbjogMjI1cHggMCAxODBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgLy8gLml0ZW1zLWJlbG93IHtcclxuICAgIC8vICAgLy9tYXJnaW46IDEwcHggMCAwICFpbXBvcnRhbnQ7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gICAgLndyYXBwZXIge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcblxyXG4gICAgICAuY2lfX2NvbHVtbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pdGVtLWJlbG93X19zb2NpYWwtaWNvbiB7XHJcbiAgICAgICAgdG9wOiA0cHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgbWFyZ2luOiAzMzBweCBhdXRvIDI3MHB4O1xyXG5cclxuICAgIC5jaV9fY29sdW1uIHtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jaV9fZWRpdG9yIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC5pdGVtcy1iZWxvdyB7XHJcbiAgICAvLyAgIC8vbWFyZ2luOiA1MHB4IDAgMCAhaW1wb3J0YW50O1xyXG4gICAgLy8gfVxyXG5cclxuICAgIC5pdGVtLWJlbG93IHtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuXHJcbiAgICAuY2lfX2ltYWdlIHtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtdXAnKSB7XHJcblxyXG4gICAgLmNpX19jb2x1bW4ge1xyXG5cclxuICAgICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW1zLWJlbG93IHtcclxuICAgICAgbWFyZ2luOiA1MHB4IGF1dG8gYXV0byAwO1xyXG5cclxuICAgICAgLml0ZW0tYmVsb3cge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNpX19pbWFnZSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMzMwcHggMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHRyYW5zZm9ybTogc2tld1koMCk7XHJcblxyXG4gIC53cmFwcGVyIHtcclxuICAgIHRyYW5zZm9ybTogc2tld1koMCk7XHJcbiAgfVxyXG5cclxuICAuY2lfX2ltYWdlIHtcclxuICAgIHRvcDogMDtcclxuICB9XHJcblxyXG4gIC5jaV9fZWRpdG9yIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gICY6YmVmb3JlIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICB0b3A6IC05MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcbiAgICAgIHRvcDogLTY1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICB0b3A6IC05MHB4O1xyXG5cclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTE4MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WSg5ZGVnKTtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTEwMDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gIH1cclxuXHJcbiAgJjphZnRlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIGJvdHRvbTogLTc1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgICAgYm90dG9tOiAtNzBweDtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogLTE4MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WSgtOWRlZyk7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0xMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gIH1cclxuXHJcbiAgLml0ZW0tYmVsb3dfX2ljb24ge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICBtYXJnaW46IDE1cHggYXV0byBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQnKSB7XHJcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgIG1hcmdpbjogNTBweCBhdXRvIGF1dG8gMDtcclxuICAgIH1cclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBtYXJnaW4tdG9wOiA3MnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICAuY2lfX2NvbHVtbiB7XHJcbiAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB3aWR0aDogNDAlO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW1nIHtcclxuXHJcbiAgICAvL1RlbXBvcmFyeSBmaXguIE5vdCBwcm9kdWN0aW9uIHJlYWR5IHlldCFcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMCU7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgICAgbWFyZ2luLXRvcDogMzUlO1xyXG4gICAgfVxyXG5cclxuICAgIHdpZHRoOiAyNjBweDtcclxuICAgIGhlaWdodDogMjYwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxM3B4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgLml0ZW0tYmVsb3dfX3RpdGxlIHtcclxuICAgIGltZyB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaXRlbS1iZWxvdyB7XHJcbiAgICBhIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYmFja2dyb3VuZC1jb2xvci1ncmV5IHtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0xMDA7XHJcbn1cclxuXHJcbi5iYWNrZ3JvdW5kLWNvbG9yLXdoaXRlIHtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUtMTAwO1xyXG59XHJcblxyXG4uYmFja2dyb3VuZC10b3AtZGVzY2VuZGluZyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRyYW5zZm9ybTogc2tld1koLTlkZWcpO1xyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdZKDlkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gLmhlYWRlciArIC5pbWFnZS1wb3NpdGlvbi1yaWdodCB7XHJcbi8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4vLyAgIG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG4vLyAgIC53cmFwcGVyIHtcclxuLy8gICAgIG1heC13aWR0aDogMTEwMHB4O1xyXG5cclxuLy8gICAgIC5jaV9fY29sdW1uIHtcclxuLy8gICAgICAgaW1nIHtcclxuLy8gICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8gICAgICAgICB3aWR0aDogMjYwcHg7XHJcbi8vICAgICAgICAgaGVpZ2h0OiAyNjBweDtcclxuLy8gICAgICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xyXG4vLyAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4vLyAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbi8vICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbi8vICAgICAgIH1cclxuXHJcbi8vICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuLy8gICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4vLyAgICAgICAgIHdpZHRoOiA0MCU7XHJcbi8vICAgICAgIH1cclxuLy8gICAgIH1cclxuXHJcbi8vICAgICAuaXRlbXMtYmVsb3cge1xyXG4vLyAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4vLyAgICAgICAvL2p1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuLy8gICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuLy8gICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuXHJcbi8vICAgICAgIC5pdGVtLWJlbG93IHtcclxuLy8gICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4vLyAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbi8vICAgICAgICAgd2lkdGg6IDUwJTtcclxuLy8gICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTQwMDtcclxuLy8gICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbi8vICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4vLyAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbi8vICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDtcclxuXHJcbi8vICAgICAgICAgaW1nIHtcclxuLy8gICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuLy8gICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLy8gICAgICAgICAgIHRvcDogLTJweDtcclxuLy8gICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4vLyAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4vLyAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuLy8gICAgICAgICAgIG1hcmdpbi1yaWdodDogMTFweDtcclxuLy8gICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbi8vICAgICAgICAgfVxyXG5cclxuLy8gICAgICAgICAuaXRlbS1iZWxvd19fdGl0bGUge1xyXG4vLyAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cclxuLy8gICAgICAgICAgIGEge1xyXG4vLyAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuLy8gICAgICAgICAgIH1cclxuXHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG5cclxuLy8gICAmOjphZnRlciB7XHJcbi8vICAgICBkaXNwbGF5OiBibG9jaztcclxuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICAgIGJvdHRvbTogLTEzMHB4O1xyXG4vLyAgICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgICBoZWlnaHQ6IDMwMHB4O1xyXG4vLyAgICAgdHJhbnNmb3JtOiBza2V3WSgtOWRlZyk7XHJcbi8vICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0xMDA7XHJcbi8vICAgICBjb250ZW50OiAnJztcclxuLy8gICAgIHotaW5kZXg6IC0xO1xyXG4vLyAgIH1cclxuLy8gfVxyXG5cclxuLmJhY2tncm91bmQtdG9wLWhvcml6b250YWwge1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMTBweCAhaW1wb3J0YW50O1xyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uc3RhbmRhcmQtcGFnZSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcbiAgICAuY2lfX2NvbHVtbiB7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNpX19lZGl0b3Ige1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW1zLWJlbG93IHtcclxuICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gYXV0byAwO1xyXG5cclxuICAgICAgLml0ZW0tYmVsb3cge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIFxyXG4gICAgLy8gLndyYXBwZXIge1xyXG4gICAgLy8gICAvL2ZsZXgtZGlyZWN0aW9uOiByb3cgIWltcG9ydGFudDtcclxuICAgIC8vIH1cclxuXHJcbiAgICAuY2lfX2NvbHVtbiB7XHJcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIC8vIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIC8vIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAuY2lfX2ltYWdlIHtcclxuICAgICAgICAvL2Rpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAuaXRlbS1iZWxvd19faWNvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhY3QtdGVtcGxhdGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICAuaXRlbXMtYmVsb3cge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgLml0ZW0tYmVsb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY29udGVudC1pbWFnZSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgICAgaGVpZ2h0OiA0MzBweDtcclxuICAgIH1cclxuXHJcbiAgICBwYWRkaW5nOiAxNTBweCAwIDA7XHJcblxyXG4gICAgLml0ZW0tYmVsb3dfX2ljb24ge1xyXG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLml0ZW0tYmVsb3cge1xyXG4gICAgd2lkdGg6IDcwJSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmhlYWRlciArIC5pbWFnZS1wb3NpdGlvbi1sZWZ0IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgLndyYXBwZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICB9XHJcblxyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgbWF4LXdpZHRoOiAxMTAwcHg7XHJcblxyXG4gICAgLmNpX19jb2x1bW4ge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgICBoZWlnaHQ6IDM1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMjYwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNjBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTAlO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuXHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaXRlbXMtYmVsb3cge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgIC5pdGVtLWJlbG93IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAvL2p1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuXHJcbiAgICAgIC5pdGVtLWJlbG93IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIHRvcDogLTJweDtcclxuICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTFweDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaXRlbS1iZWxvd19fdGl0bGUge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6OmFmdGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAtMTMwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAvL3RyYW5zZm9ybTogc2tld1koLTlkZWcpO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktMTAwO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgRm9vdGVyXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZm9vdGVyIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBwYWRkaW5nOiAwIDAgNzBweDtcclxuICB9XHJcblxyXG4gIHBhZGRpbmc6IDEwMHB4IDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAuZGl2aWRlciB7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWF4LXdpZHRoOiAxNjlweDtcclxuICAgIGhlaWdodDogMXB4O1xyXG4gICAgbWFyZ2luOiBhdXRvIGF1dG8gNTBweDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTIwMDtcclxuICB9XHJcblxyXG4gIC5mb290ZXJfX2xpbmtzIHtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgICAgIHRyYW5zaXRpb246IDM1MG1zIGVhc2U7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1ncmVlbi00MDA7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjA3cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyAgICAgIFxyXG5cclxuICAgICAgJjpudGgtbGFzdC1jaGlsZCgxKSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZm9vdGVyX19jb3B5cmlnaHQge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICB3aWR0aDogNzAlO1xyXG4gICAgfVxyXG5cclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBtYXJnaW46IDE1cHggYXV0byBhdXRvO1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmVlbi00MDA7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMDdweDtcclxuICB9XHJcbn1cclxuXHJcbi50ZWFzZXItY29udGFjdCArIC5mb290ZXIge1xyXG4gIHBhZGRpbmc6IDExNXB4IDAgMTAwcHg7XHJcbn1cclxuXHJcbi5jb250YWN0LXRlbXBsYXRlICsgLmZvb3RlciB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgcGFkZGluZzogMTAwcHggMDtcclxuICB9XHJcblxyXG4gIHBhZGRpbmc6IDI2MHB4IDAgMTAwcHg7XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gRm9ybXNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIHNhc3MtbGludDpkaXNhYmxlIGNsYXNzLW5hbWUtZm9ybWF0IGlkLW5hbWUtZm9ybWF0IG5vLWlkc1xyXG4ucHNfX2Zvcm0sXHJcbi5mb3JtIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuICB9XHJcblxyXG4gIG1hcmdpbi10b3A6IDE1MHB4O1xyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjkycHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1pZHNcclxuICAjZ2Zvcm1fMSxcclxuICAjZ2Zvcm1fMyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyBzYXNzLWxpbnQ6ZW5hYmxlIG5vLWlkc1xyXG5cclxuICAgIC5nZmllbGQge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5naW5wdXRfY29udGFpbmVyIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZWdlbmQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5naW5wdXRfY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogNzUlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaW5wdXQsXHJcbiAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmVlbi0xMDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjk4cHg7XHJcbiAgICAgICAgLy9ib3gtc2hhZG93OiAwIDJweCAxMnB4IDAgJHNoYWRvd2xpZ2h0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2FyZXQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi0yMDA7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNlbGVjdDo6LW1zLWV4cGFuZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGV4dGFyZWEge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmVlbi0xMDA7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjk4cHg7XHJcbiAgICAgICAgLy9ib3gtc2hhZG93OiAwIDJweCAxMnB4IDAgJHNoYWRvd2xpZ2h0O1xyXG4gICAgICAgIHJlc2l6ZTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWlkc1xyXG4gICAgI2ZpZWxkXzFfNyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgI2lucHV0XzNfMSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgd2lkdGg6IDkwJTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBzYXNzLWxpbnQ6ZW5hYmxlIG5vLWlkc1xyXG5cclxuICAgIC5qcy1zdWJtaXQtYnV0dG9uLFxyXG4gICAgI2dmb3JtX3N1Ym1pdF9idXR0b25fMSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCdtb2JpbGUnKSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnZGVza3RvcCcpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1hcmdpbjogMTVweCBhdXRvIGF1dG87XHJcbiAgICAgIHBhZGRpbmc6IDIwcHggNDVweCAyMHB4IDI1cHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTMwMDtcclxuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDtcclxuICAgICAgYm94LXNoYWRvdzogMCAycHggMTVweCAwICRzaGFkb3dsaWdodDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICAuanMtc3VibWl0LWljb24ge1xyXG4gICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcblxyXG4gICAgICBzdmcge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDM1cHg7XHJcbiAgICAgICAgcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZXktMTAwO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XHJcbiAgICAgICAgY29udGVudDogJ1xcZjFkOCc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZ2ZpZWxkX3JlcGVhdGVyX2l0ZW1zIHtcclxuICAgICAgLy9kaXNwbGF5OiBmbGV4O1xyXG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5nZmllbGRfcmVwZWF0ZXJfYnV0dG9ucyB7XHJcbiAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XHJcblxyXG4gICAgICBidXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgICAgICAgd2lkdGg6IDM3JTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IDM5JTtcclxuICAgICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAxMXB4IDVweDtcclxuICAgICAgICAvL3BhZGRpbmc6IDE1cHggMjBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTMwMDtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgICAgICBmb250LXNpemU6IDI1cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDE1cHggMCAkc2hhZG93bGlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZ2ZpZWxkX3JlcGVhdGVyX3dyYXBwZXIge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW4tbGVmdDogMjUlO1xyXG4gICAgfVxyXG5cclxuICAgIC5nZmllbGRfcmVwZWF0ZXJfaXRlbSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgLmdmaWVsZF9yZXBlYXRlcl9jZWxsIHtcclxuICAgICAgICB3aWR0aDogODElO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udmFsaWRhdGlvbl9tZXNzYWdlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgfVxyXG5cclxuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi10b3A6IC0yMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAyNSU7XHJcbiAgY29sb3I6ICRjb2xvci1yZWQtNDAwO1xyXG59XHJcblxyXG4udmFsaWRhdGlvbl9lcnJvciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb250ZW50LWltYWdlICsgLmZvcm0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBwYWRkaW5nLXRvcDogMjAwcHg7XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLTMwMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WSgtOWRlZyk7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0xMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gIH1cclxuXHJcbiAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNyZXF1ZXN0LXF1b3RlIHtcclxuICBwYWRkaW5nLXRvcDogMjVweDtcclxufVxyXG5cclxuLy8gc2Fzcy1saW50OmVuYWJsZSBjbGFzcy1uYW1lLWZvcm1hdCBpZC1uYW1lLWZvcm1hdCBuby1pZHNcclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gSGVhZGVyXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uaGVhZGVyIHtcclxuICBAbWVkaWEobWluLXdpZHRoOiAxMTAwcHgpIHtcclxuICAgIC5tYWluLW1lbnUtY29udGFpbmVyIHtcclxuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYShtYXgtd2lkdGg6IDExMDBweCkge1xyXG4gICAgLm1haW4tbWVudS1jb250YWluZXIge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAgICAgei1pbmRleDogNTA7XHJcbiAgICB9XHJcblxyXG4gICAgLmpzLW1haW4tbWVudS1idXR0b24ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTYwcHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktMTAwO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgei1pbmRleDogNTA7XHJcblxyXG4gIC53cmFwcGVyLWxnIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgbWF4LXdpZHRoOiAxMzUwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGhlaWdodDogMTQwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY2xvc2UtYnRuIHtcclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDExMDBweCkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAyMHB4O1xyXG4gICAgcmlnaHQ6IDIwcHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gIC5qcy1uYXZpZ2F0aW9uIHtcclxuICAgIEBtZWRpYShtYXgtd2lkdGg6IDExMDBweCkge1xyXG4gICAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBtYXJnaW46IGF1dG8gYXV0byA1MHB4O1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHotaW5kZXg6IDQwO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC42O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdHJhbnNpdGlvbjogMTUwbXMgZWFzZTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4wN3B4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XHJcbiAgICAgICAgICBjb250ZW50OiAnXFxmMDZkJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm50aC1jaGlsZCgzKSB7XHJcblxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XHJcbiAgICAgICAgICBjb250ZW50OiAnXFxmNTJmJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm50aC1sYXN0LWNoaWxkKDEpIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjJweDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUtMTAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmpzLW1haW4tbWVudS1idXR0b24ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi0yMDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzVweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5qcy1tYWluLW1lbnUtYnV0dG9uLXRleHQge1xyXG4gICAgQG1lZGlhKG1heC13aWR0aDogMTEwMHB4KSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3VycmVudC1tZW51LWl0ZW0ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTIwMCAhaW1wb3J0YW50O1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBQcGFnaW5hdGlvblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnBhZ2luYXRpb24ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgLnBhZ2UtbnVtYmVycyB7XHJcbiAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLmN1cnJlbnQge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUHJvZHVjdCBJdGVtXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ucHJvZHVjdC1pdGVtIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgdHJhbnNpdGlvbjogMzUwbXMgZWFzZTtcclxuICAgIG9wYWNpdHk6IDE7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIG9wYWNpdHk6IDAuODU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEobWF4LXdpZHRoOiAxMDAwcHgpIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gMTBweCk7XHJcbiAgfVxyXG5cclxuICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDMwcHgpO1xyXG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcblxyXG4gIGltZyB7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlJykge1xyXG4gICAgICBoZWlnaHQ6IDMzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0MDBweDtcclxuICAgIHRyYW5zaXRpb246IDM1MG1zIGVhc2U7XHJcbiAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyJztcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIH1cclxuXHJcbiAgLnBpX19ib2R5IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgIHBhZGRpbmc6IDI1cHg7XHJcblxyXG4gICAgLnBpX190aXRsZSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi00MDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxuXHJcbiAgICAucGlfX2NhdGVnb3J5IHtcclxuICAgICAgbWFyZ2luOiAxNXB4IDAgMTBweDtcclxuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi0zMDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMTVweDtcclxuXHJcbiAgICAgIHN2ZyB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGlfX3NwZWNzIHtcclxuICAgICAgLy8gQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgLy8gICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuXHJcbiAgICAgIC5waV9faXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmVlbi0xMDA7XHJcblxyXG4gICAgICAgICY6bnRoLWxhc3QtY2hpbGQoMSkge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gZGl2IHtcclxuICAgICAgICAvLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIC5waV9fc3BlYyB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucGlfX3ZhbHVlIHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi00MDA7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucGlfX2J1dHRvbnMge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICBtYXJnaW46IDI3cHggYXV0byBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXJnaW4tdG9wOiAxOHB4O1xyXG5cclxuICAgICAgLnBpX19tb3JlaW5mbyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTglO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnBpX19pbWFnZSB7XHJcbiAgICB0cmFuc2l0aW9uOiAzNTBtcyBlYXNlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gIHRyYW5zaXRpb246IDM1MG1zIGVhc2U7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWl0ZW06aG92ZXIgLnBpX19pbWFnZSBpbWcge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCdkZXNrdG9wJykge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gIH1cclxuXHJcbiAgdHJhbnNpdGlvbjogMzUwbXMgZWFzZTtcclxufVxyXG5cclxuLnByb2R1Y3QtaXRlbV9fc29sZCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgaGVpZ2h0OiAyMDBweDtcclxuXHJcbiAgICBwIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIGhlaWdodDogMzMwcHg7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMzBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGhlaWdodDogNDAwcHg7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTEwMC0wNztcclxuICB6LWluZGV4OiA0NTtcclxuXHJcbiAgcCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgZm9udC1zaXplOiA1MHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxLjY0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogNDAwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBQcm9kdWN0IExhdGVzdFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnByb2R1Y3RzLWZlYXR1cmVkIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBtYXJnaW46IDI0MHB4IDAgLTUwcHg7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAyMjBweCAwIDE1MHB4O1xyXG4gIHotaW5kZXg6IDQ5O1xyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIC5wZl9fdGl0bGUge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMC45MnB4O1xyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm93bC1kb3RzIHtcclxuICB3aWR0aDogMTAwJTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gIC5vd2wtZG90IHtcclxuICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgbWFyZ2luOiAwIDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW4tMTAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbi0zMDAgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWxhdGVzdF9fbG9vcCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIG1hcmdpbi10b3A6IDUwcHg7XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gUHJvZHVjdCBMaXN0XHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ucHJvZHVjdC1saXN0IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gIC8vYmFja2dyb3VuZDogJGNvbG9yLWdyZXktMTAwO1xyXG5cclxuICAvLyAud3JhcHBlci1sZyB7XHJcbiAgLy8gICBtYXgtd2lkdGg6IDEzMDBweDtcclxuICAvLyB9XHJcblxyXG4gIC5wbF9fZm9ybSB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG4gICAgICAucGxfX2J1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICAgLy8gaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCB7XHJcbiAgICAgICAgLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLy8gICBtaW4td2lkdGg6IDE4MHB4O1xyXG4gICAgICAgIC8vICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIC8vICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgICAgIC8vICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgICAgICAvLyAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgICAgICAvLyAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTEwMDtcclxuICAgICAgICAvLyAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgICAgIC8vICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIC8vICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAvLyAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7XHJcbiAgICAgICAgLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgLy8gICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgfVxyXG5cclxuICAvLyAmOjphZnRlciB7XHJcbiAgLy8gICBkaXNwbGF5OiBibG9jaztcclxuICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAvLyAgIGJvdHRvbTogLTEzMHB4O1xyXG4gIC8vICAgd2lkdGg6IDEwMCU7XHJcbiAgLy8gICBoZWlnaHQ6IDM1MHB4O1xyXG4gIC8vICAgdHJhbnNmb3JtOiBza2V3WSgtOWRlZyk7XHJcbiAgLy8gICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0xMDA7XHJcbiAgLy8gICBjb250ZW50OiAnJztcclxuICAvLyAgIHotaW5kZXg6IC0xO1xyXG4gIC8vIH1cclxuXHJcbiAgLnBsX190aXRsZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmVlbi00MDA7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNjRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gIH1cclxuXHJcbiAgLnBsX19idXR0b24ge1xyXG4gICAgLy9kaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1pbi13aWR0aDogMTgwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiAzNTBtcyBlYXNlO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTEwMDtcclxuICAgIFxyXG4gICAgY29sb3I6ICRjb2xvci1ncmVlbi00MDA7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBGcmVlJztcclxuICAgICAgY29udGVudDogJ1xcZjA2ZCc7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICBcclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXGY1MmYnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5wdXRbdHlwZT0ncmFkaW8nXSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLy8gICBtaW4td2lkdGg6IDE4MHB4O1xyXG4gIC8vICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gIC8vICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gIC8vICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWdyZWVuLTQwMDtcclxuICAvLyAgIGJvcmRlci1yYWRpdXM6IDhweDtcclxuICAvLyAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbi00MDA7XHJcbiAgLy8gICBjb2xvcjogJGNvbG9yLXdoaXRlLTEwMDtcclxuICAvLyAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAvLyAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgLy8gICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xyXG4gIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIC8vICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIC8vIH1cclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMjYwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNTUwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdZKC05ZGVnKTtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTEwMDtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgfVxyXG5cclxuICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmlzLWFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZS0xMDA7XHJcbiAgfVxyXG5cclxuICAuaXMtbG9hZGluZyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRyYW5zaXRpb246IDEwMDBtcyBlYXNlO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHotaW5kZXg6IDk5OTtcclxuICB9XHJcblxyXG4gIC5pcy1sb2FkaW5nLXNwaW5uZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiAzMHB4IGF1dG87XHJcbiAgICB0cmFuc2l0aW9uOiAxMDAwbXMgZWFzZTtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgIGFuaW1hdGlvbjogcm90YXRlIDJzIGluZmluaXRlIGxpbmVhcjtcclxuICB9XHJcbn1cclxuXHJcbi5qcy1wcm9kdWN0LWxpc3Qge1xyXG4gIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gIHRyYW5zaXRpb246IDEwMDBtcyBlYXNlO1xyXG59XHJcblxyXG4uY29udGVudC1pbWFnZSArIC5wcm9kdWN0LWxpc3Qge1xyXG4gIC53cmFwcGVyLWxnIHtcclxuICAgIG1heC13aWR0aDogMTMwMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLnByb2R1Y3QtdGVtcGxhdGUge1xyXG4gIC5pdGVtLWJlbG93X19pY29uIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIFByb2R1Y3QgU2luZ2xlXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ucHJvZHVjdC1zaW5nbGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICAvL3BhZGRpbmc6IDIwMHB4IDA7XHJcbiAgLy9iYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0xMDA7XHJcblxyXG4gIC5wc19faW5mb3JtYXRpb24ge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBwYWRkaW5nOiAxMzBweCAwIDIycHg7XHJcbiAgICB9XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMTMwcHggMDtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTEwMDtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogLTE1MHB4O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAzMDBweDtcclxuICAgICAgdHJhbnNmb3JtOiBza2V3WSgtOWRlZyk7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTEwMDsgXHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICB6LWluZGV4OiAtMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wc19fdXBwZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgLy9tYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAucHNfX3RpdGxlIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogNzlweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIC5wc19fdGl0bGUge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgICAgZm9udC1zaXplOiA2MHB4O1xyXG4gICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMC42OXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnBzX19yZXF1ZXN0cXVvdGUge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICB0b3A6IDI5MHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDI2MHB4O1xyXG4gICAgcmlnaHQ6IDEwJTtcclxuICAgIG1hcmdpbjogMTVweCAwIDI1cHg7XHJcbiAgICB6LWluZGV4OiA1MDtcclxuICB9XHJcblxyXG4gIC5wc19fcHJvZHVjdGNvZGUge1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG4gICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjU3cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzNweDtcclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcclxuICAgICAgY29udGVudDogJyMnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnBzX19zcGVjcyB7XHJcblxyXG4gICAgLnBzX19zcGVjcy10aXRsZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjY5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnNwZWNzX19yb3cge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiA2cHggMDtcclxuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmVlbi0xMDA7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xyXG5cclxuICAgICAgLnNwZWNzX19jYXRlZ29yeSB7XHJcbiAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zcGVjc19fdmFsdWUge1xyXG4gICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtbGFzdC1jaGlsZCgxKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmVlbi0xMDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wc19fZGVzY3Ige1xyXG4gICAgbWF4LXdpZHRoOiA0NzRweDtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4OyBcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcblxyXG4gICAgLnBzX19kZXNjci10aXRsZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjY5cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHNfX3NvcyB7XHJcbiAgICAucHNfX3Nvcy10aXRsZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjY5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnBzX19zb3MtaXRlbSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6IDZweCAwO1xyXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLWdyZWVuLTEwMDtcclxuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi00MDA7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7XHJcblxyXG4gICAgICAmOm50aC1sYXN0LWNoaWxkKDEpIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyZWVuLTEwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnBzX19vcHRpb25hbCB7XHJcbiAgICAucHNfX29wdGlvbmFsLXRpdGxlIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi00MDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNjlweDtcclxuICAgIH1cclxuXHJcbiAgICAucHNfX29wdGlvbmFsLWl0ZW0ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBwYWRkaW5nOiA2cHggMDtcclxuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvci1ncmVlbi0xMDA7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tNDAwO1xyXG4gICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xyXG5cclxuICAgICAgJjpudGgtbGFzdC1jaGlsZCgxKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmVlbi0xMDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5wc19fcm93IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIC8vanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIC5wc19fY29sdW1uIHtcclxuICAgICAgQG1lZGlhKG1heC13aWR0aDogODAwcHgpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMiAtIDMwcHgpO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucHNfX2ltYWdlcyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IC01cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB6LWluZGV4OiA0NDtcclxuXHJcbiAgICAucHNfX2ltYWdlcy10aXRsZSB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMS4yM3B4O1xyXG4gICAgfVxyXG5cclxuICAgIC5wc19faW1hZ2VzLXJvdyB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA2MTZweCkge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0Jykge1xyXG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIgLSA0cHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSA0cHgpO1xyXG4gICAgICAgIG1hcmdpbjogMnB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAucHNfX2ltYWdlIHsgICAgICAgXHJcbiAgICAgICAgaGVpZ2h0OiAzNTBweDtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gc2Fzcy1saW50OmRpc2FibGUgY2xhc3MtbmFtZS1mb3JtYXRcclxuLnNsYkltYWdlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG4gICAgaGVpZ2h0OiA3MDBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIGNsYXNzLW5hbWUtZm9ybWF0XHJcblxyXG4ucHNfX3Byb2R1Y3Rjb2RlICsgLnBzX19yb3cge1xyXG4gIG1hcmdpbi10b3A6IDUwcHg7XHJcbn1cclxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gVGFibGVcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jb250ZW50LWltYWdlICsgLnRhYmxlIHtcclxuICBtYXJnaW4tdG9wOiAzNTBweDtcclxufVxyXG5cclxuLnRhYmxlIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gIC50X190aXRsZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmVlbi00MDA7XHJcbiAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuOTJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA1M3B4O1xyXG4gIH1cclxuXHJcbiAgLnRfX2VkaXRvciB7XHJcbiAgICBtYXgtd2lkdGg6IDYyOXB4O1xyXG4gICAgbWFyZ2luOiBhdXRvIGF1dG8gNjBweDtcclxuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tMjAwO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxLjIzcHg7XHJcbiAgfVxyXG5cclxuICAudF9fcm93IHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuICAgICAgLnRfX3llYXJzLFxyXG4gICAgICAudF9fY29tcGFueSxcclxuICAgICAgLnRfX2Z1bmN0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogNTYwcHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiA4cHggMDtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItZ3JlZW4tMTAwO1xyXG4gICAgY29sb3I6ICRjb2xvci1ncmVlbi0yMDA7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgLnRfX3llYXJzIHtcclxuICAgICAgd2lkdGg6IDI2JTtcclxuICAgIH1cclxuXHJcbiAgICAudF9fY29tcGFueSB7XHJcbiAgICAgIHdpZHRoOiAzOCU7XHJcbiAgICB9XHJcblxyXG4gICAgLnRfX2Z1bmN0aW9uIHtcclxuICAgICAgbWluLXdpZHRoOiAzMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJjpudGgtbGFzdC1jaGlsZCgxKSB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JlZW4tMTAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBUZWFzZXIgQ29udGFjdFxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLnRlYXNlci1jb250YWN0IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZScpIHtcclxuICAgIG1hcmdpbjogMTAwcHggMCAzMHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdCcpIHtcclxuICAgIG1hcmdpbjogMTAwcHggMCAwO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG4gICAgbWFyZ2luOiAxMDBweCAwIDcwcHg7XHJcblxyXG4gICAgLnRjX19waG9uZSxcclxuICAgIC50Y19fZW1haWwge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMzlweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtYXJnaW46IDEwMHB4IDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAudGNfX3RpdGxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDM3cHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBsaW5lLWhlaWdodDogNTNweDtcclxuICB9XHJcblxyXG4gIC50Y19fZWRpdG9yIHtcclxuXHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWF4LXdpZHRoOiA2NTJweDtcclxuICAgIG1hcmdpbjogYXV0byBhdXRvIDQwcHg7IFxyXG4gICAgY29sb3I6ICRjb2xvci1ncmVlbi00MDA7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMjNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gIH1cclxuXHJcbiAgLnRjX19waG9uZSxcclxuICAudGNfX2VtYWlsIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuLTQwMDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxLjY0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjhweDtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tMzAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJ0bi1wcmltYXJ5IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDE2MnB4O1xyXG4gICAgbWFyZ2luOiA1MHB4IGF1dG8gYXV0bztcclxuICB9XHJcbn1cclxuXHJcbi50YWJsZSArIC50ZWFzZXItY29udGFjdCxcclxuLnByb2R1Y3Qtc2luZ2xlICsgLnRlYXNlci1jb250YWN0LFxyXG4ucHJvZHVjdC1saXN0ICsgLnRlYXNlci1jb250YWN0IHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBtYXJnaW46IDI1MHB4IDAgMjAwcHg7XHJcbiAgfVxyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAzNTBweCAwIDE3MHB4O1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmV5LTEwMDtcclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMTcwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHNrZXdZKDlkZWcpO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyZXktMTAwO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgfVxyXG5cclxuICAmOjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGJvdHRvbTogLTE3MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgdHJhbnNmb3JtOiBza2V3WSgtOWRlZyk7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JleS0xMDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gIH1cclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBBbmltYXRpb25zXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5Aa2V5ZnJhbWVzIHNsaWRlUmlnaHQge1xyXG4gIDAlIHtcclxuICAgIHJpZ2h0OiAtMTAwcHg7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICByaWdodDogMDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcblxyXG4gIDEwMCUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlIHtcclxuICAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICB9XHJcblxyXG4gIDUwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcHVsc2Uge1xyXG4gIDAlIHtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgfVxyXG5cclxuICA1MCUge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb2xvclxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIENvbG9yIHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG4vLyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBjb2xvciBhbmQgYmFja2dyb3VuZCBjb2xvciB1dGlsaXR5IGNsYXNzZXMgYmFzZWQgb25cclxuLy8gZXZlcnkgY29sb3IgZGVmaW5pdGlvbiBpbiBgc2V0dGluZ3MvX2NvbG9yLnNjc3NgLlxyXG4vL1xyXG4vLyBMb29wIHRocm91Z2ggZXZlcnkgYCRrZXlgIGFuZCBgJG1hcGAgaW4gdGhlIGAkY29sb3JzYCB2YXJpYWJsZSBtYXAgZGVmaW5lZCBpblxyXG4vLyBgc2V0dGluZ3MvX2NvbG9yLnNjc3NgLlxyXG5AZWFjaCAka2V5LCAkbWFwIGluICRjb2xvcnMge1xyXG5cclxuICAvLyBMb29wIHRocm91Z2ggZXZlcnkgYCRzaGFkZWAgYW5kIGAkcmdiYCBpbiBgJG1hcGAuXHJcbiAgQGVhY2ggJHNoYWRlLCAkcmdiIGluICRtYXAge1xyXG5cclxuICAgIC8vIExvb3AgdGhyb3VnaCBldmVyeSBgY29sb3JgIGFuZCBgYmFja2dyb3VuZC1jb2xvcmAgcnVsZXMuXHJcbiAgICBAZWFjaCAkcnVsZSBpbiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciB7XHJcblxyXG4gICAgICAvKipcclxuICAgICAgICogYCN7JHJ1bGV9YCAjeyRyZ2J9LSN7JHNoYWRlfSBjb2xvciB1dGlsaXR5LlxyXG4gICAgICAgKi9cclxuXHJcbiAgICAgIC4jeyRydWxlfS0je3VucXVvdGUoJGtleSl9LSN7dW5xdW90ZSgkc2hhZGUpfSB7XHJcbiAgICAgICAgI3skcnVsZX06ICRyZ2I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLy8gc2Fzcy1saW50OmRpc2FibGUgY2xhc3MtbmFtZS1mb3JtYXQgc2luZ2xlLWxpbmUtcGVyLXNlbGVjdG9yIHByb3BlcnR5LXNvcnQtb3JkZXIgbm8tY29sb3ItbGl0ZXJhbHMgcXVvdGVzIGVtcHR5LWxpbmUtYmV0d2Vlbi1ibG9ja3MgemVyby11bml0IGhleC1ub3RhdGlvblxyXG4uc2xiT3ZlcmxheSwgLnNsYldyYXBPdXRlciwgLnNsYldyYXAge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5zbGJPdmVybGF5IHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHotaW5kZXg6IDIwMDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuICBvcGFjaXR5OiAwLjc7XHJcbiAgLXdlYmtpdC1hbmltYXRpb246IHNsYk92ZXJsYXkgMC41cztcclxuICAtbW96LWFuaW1hdGlvbjogc2xiT3ZlcmxheSAwLjVzO1xyXG4gIGFuaW1hdGlvbjogc2xiT3ZlcmxheSAwLjVzO1xyXG59XHJcblxyXG4uc2xiV3JhcE91dGVyIHtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgb3ZlcmZsb3cteTogYXV0bztcclxuICB6LWluZGV4OiAyMDEwO1xyXG59XHJcblxyXG4uc2xiV3JhcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnNsYldyYXA6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlwiO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLnNsYkNvbnRlbnRPdXRlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIG1hcmdpbjogMHB4IGF1dG87XHJcbiAgcGFkZGluZzogMCAxZW07XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB6LWluZGV4OiAyMDIwO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uc2xiQ29udGVudEVsIC5zbGJDb250ZW50T3V0ZXIge1xyXG4gIHBhZGRpbmc6IDVlbSAxZW07XHJcbn1cclxuXHJcbi5zbGJDb250ZW50IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5zbGJDb250ZW50RWwgLnNsYkNvbnRlbnQge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzbGJFbnRlciAwLjNzO1xyXG4gIC1tb3otYW5pbWF0aW9uOiBzbGJFbnRlciAwLjNzO1xyXG4gIGFuaW1hdGlvbjogc2xiRW50ZXIgMC4zcztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGJveC1zaGFkb3c6IDAgMC4yZW0gMWVtIHJnYmEoMCwgMCwgMCwgMC40KTtcclxufVxyXG5cclxuLnNsYkltYWdlV3JhcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb246IHNsYkVudGVyIDAuM3M7XHJcbiAgLW1vei1hbmltYXRpb246IHNsYkVudGVyIDAuM3M7XHJcbiAgYW5pbWF0aW9uOiBzbGJFbnRlciAwLjNzO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLnNsYkltYWdlV3JhcDphZnRlciB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICB0b3A6IDVlbTtcclxuICBib3R0b206IDVlbTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB6LWluZGV4OiAtMTtcclxuICBib3gtc2hhZG93OiAwIDAuMmVtIDFlbSByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxufVxyXG5cclxuLnNsYkRpcmVjdGlvbk5leHQgLnNsYkltYWdlV3JhcCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb246IHNsYkVudGVyTmV4dCAwLjRzO1xyXG4gIC1tb3otYW5pbWF0aW9uOiBzbGJFbnRlck5leHQgMC40cztcclxuICBhbmltYXRpb246IHNsYkVudGVyTmV4dCAwLjRzO1xyXG59XHJcblxyXG4uc2xiRGlyZWN0aW9uUHJldiAuc2xiSW1hZ2VXcmFwIHtcclxuICAtd2Via2l0LWFuaW1hdGlvbjogc2xiRW50ZXJQcmV2IDAuNHM7XHJcbiAgLW1vei1hbmltYXRpb246IHNsYkVudGVyUHJldiAwLjRzO1xyXG4gIGFuaW1hdGlvbjogc2xiRW50ZXJQcmV2IDAuNHM7XHJcbn1cclxuXHJcbi5zbGJJbWFnZSB7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHBhZGRpbmc6IDVlbSAwO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uc2xiQ2FwdGlvbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgd29yZC13cmFwOiBub3JtYWw7XHJcbiAgZm9udC1zaXplOiAxLjRlbTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbiAgcGFkZGluZzogMC43MTQyOWVtIDA7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5zbGJDbG9zZUJ0biwgLnNsYkFycm93IHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbn1cclxuXHJcbi5zbGJDbG9zZUJ0bjo6LW1vei1mb2N1cy1pbm5lciwgLnNsYkFycm93OjotbW96LWZvY3VzLWlubmVyIHtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuLnNsYkNsb3NlQnRuOmhvdmVyLCAuc2xiQXJyb3c6aG92ZXIge1xyXG4gIG9wYWNpdHk6IDAuNTtcclxufVxyXG5cclxuLnNsYkNsb3NlQnRuOmFjdGl2ZSwgLnNsYkFycm93OmFjdGl2ZSB7XHJcbiAgb3BhY2l0eTogMC44O1xyXG59XHJcblxyXG4uc2xiQ2xvc2VCdG4ge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzbGJFbnRlciAwLjNzO1xyXG4gIC1tb3otYW5pbWF0aW9uOiBzbGJFbnRlciAwLjNzO1xyXG4gIGFuaW1hdGlvbjogc2xiRW50ZXIgMC4zcztcclxuICBmb250LXNpemU6IDNlbTtcclxuICB3aWR0aDogMS42NjY2N2VtO1xyXG4gIGhlaWdodDogMS42NjY2N2VtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjY2NjY3ZW07XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAtMC4zMzMzM2VtO1xyXG4gIHRvcDogMDtcclxuICBjb2xvcjogI2ZmZjtcclxuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnNsYkxvYWRpbmcgLnNsYkNsb3NlQnRuIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uc2xiTG9hZGluZ1RleHQge1xyXG4gIGZvbnQtc2l6ZTogMS40ZW07XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcclxufVxyXG5cclxuLnNsYkFycm93cyB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5zbGJMb2FkaW5nIC5zbGJBcnJvd3Mge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5zbGJBcnJvdyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6IC01ZW07XHJcbiAgd2lkdGg6IDVlbTtcclxuICBoZWlnaHQ6IDEwZW07XHJcbiAgb3BhY2l0eTogMC43O1xyXG4gIHRleHQtaW5kZW50OiAtOTk5ZW07XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnNsYkFycm93OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcIjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIG1hcmdpbjogLTAuOGVtIDAgMCAtMC44ZW07XHJcbiAgYm9yZGVyOiAwLjhlbSBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnNsYkFycm93Lm5leHQge1xyXG4gIHJpZ2h0OiAwO1xyXG59XHJcblxyXG4uc2xiQXJyb3cubmV4dDpiZWZvcmUge1xyXG4gIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uc2xiQXJyb3cucHJldiB7XHJcbiAgbGVmdDogMDtcclxufVxyXG5cclxuLnNsYkFycm93LnByZXY6YmVmb3JlIHtcclxuICBib3JkZXItcmlnaHQtY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5zbGJJZnJhbWVDb250IHtcclxuICB3aWR0aDogODBlbTtcclxuICBoZWlnaHQ6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwYWRkaW5nLXRvcDogNTYuMjUlO1xyXG4gIG1hcmdpbjogNWVtIDA7XHJcbn1cclxuXHJcbi5zbGJJZnJhbWUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYm94LXNoYWRvdzogMCAwLjJlbSAxZW0gcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gIGJhY2tncm91bmQ6ICMwMDA7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGJPdmVybGF5IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuICB9XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyBzbGJPdmVybGF5IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIHRvIHtcclxuICAgIG9wYWNpdHk6IDAuNztcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xiT3ZlcmxheSB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAwLjc7XHJcbiAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xiRW50ZXIge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMWVtLCAwKTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyBzbGJFbnRlciB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xZW0sIDApO1xyXG4gIH1cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGJFbnRlciB7XHJcbiAgZnJvbSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xZW0sIDApO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xZW0sIDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTFlbSwgMCk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xZW0sIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMWVtLCAwKTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xiRW50ZXJOZXh0IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNGVtLCAwLCAwKTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyBzbGJFbnRlck5leHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0ZW0sIDAsIDApO1xyXG4gIH1cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBzbGJFbnRlck5leHQge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0ZW0sIDAsIDApO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDRlbSwgMCwgMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0ZW0sIDAsIDApO1xyXG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0ZW0sIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0ZW0sIDAsIDApO1xyXG4gIH1cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBzbGJFbnRlclByZXYge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNGVtLCAwLCAwKTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkAtbW96LWtleWZyYW1lcyBzbGJFbnRlclByZXYge1xyXG4gIGZyb20ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNGVtLCAwLCAwKTtcclxuICB9XHJcbiAgdG8ge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2xiRW50ZXJQcmV2IHtcclxuICBmcm9tIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTRlbSwgMCwgMCk7XHJcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTRlbSwgMCwgMCk7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNGVtLCAwLCAwKTtcclxuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTRlbSwgMCwgMCk7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC00ZW0sIDAsIDApO1xyXG4gIH1cclxuICB0byB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICB9XHJcbn1cclxuLy8gc2Fzcy1saW50OmVuYWJsZSBjbGFzcy1uYW1lLWZvcm1hdCBzaW5nbGUtbGluZS1wZXItc2VsZWN0b3IgcHJvcGVydHktc29ydC1vcmRlciBuby1jb2xvci1saXRlcmFscyBxdW90ZXMgZW1wdHktbGluZS1iZXR3ZWVuLWJsb2NrcyB6ZXJvLXVuaXQgaGV4LW5vdGF0aW9uXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIE9iamVjdCBGaXRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBPYmplY3QgZml0LlxyXG4gKlxyXG4gKiAxLiBGb250IGZhbWlseSBwb2x5ZmlsbCB3aXRoIChodHRwczovL2dpdGh1Yi5jb20vYmZyZWQtaXQvb2JqZWN0LWZpdC1pbWFnZXMpLlxyXG4gKi9cclxuXHJcbi8vIExvb3AgdGhyb3VnaCBldmVyeSB2YWx1ZSBmb3IgdGhlIGBvYmplY3QtZml0YCBwcm9wZXJ0eS5cclxuQGVhY2ggJHZhbHVlIGluIGZpbGwsIGNvbnRhaW4sIGNvdmVyLCBub25lLCBzY2FsZS1kb3duIHtcclxuXHJcbiAgLyoqXHJcbiAgICogYG9iamVjdC1maXRgICN7JHZhbHVlfSB1dGlsaXR5IGNsYXNzLlxyXG4gICAqL1xyXG5cclxuICAuI3skdmFsdWV9IHtcclxuICAgIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogI3skdmFsdWV9Oyc7IC8qIDEgKi9cclxuICAgIG9iamVjdC1maXQ6ICN7JHZhbHVlfTtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgUG9zaXRpb25cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBQb3NpdGlvbiB1dGlsaXR5IGNsYXNzLlxyXG4gKi9cclxuXHJcbkBlYWNoICR2YWx1ZSBpbiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreSB7XHJcbiAgLiN7JHZhbHVlfSB7XHJcbiAgICBwb3NpdGlvbjogJHZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBUZXh0XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogRm9udCBmYW1pbHkgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xyXG4gICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGZvbnQtZmFtaWx5IHtcclxuICAgICAgLnRleHQtI3ska2V5fS0jeyRwcm9wZXJ0eX0ge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJHByb3BlcnR5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHNpemUgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xyXG4gICAgQGVhY2ggJHByb3BlcnR5LCAkdmFsdWUgaW4gJGZvbnQtc2l6ZSB7XHJcbiAgICAgIC50ZXh0LSN7JGtleX0tI3skcHJvcGVydHl9IHtcclxuICAgICAgICBAaW5jbHVkZSB0ZXh0KCRwcm9wZXJ0eSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dCBhbGlnbm1lbnQgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xyXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiBsZWZ0LCByaWdodCwgY2VudGVyIHtcclxuICAgICAgLnRleHQtI3ska2V5fS0jeyRkaXJlY3Rpb259IHtcclxuICAgICAgICB0ZXh0LWFsaWduOiAkZGlyZWN0aW9uO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQgd2VpZ2h0IHV0aWxpdHkgY2xhc3Nlcy5cclxuICpcclxuICogMS4gTXVsdGlwbHkgbG9vcGVkIGludGVnZXIgYnkgMTAwIGZvciBjb3JyZWN0IGZvbnQgd2VpZ2h0IHZhbHVlLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJGtleSkge1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcclxuICAgICAgJGk6ICRpICogMTAwOyAvLyBbMV1cclxuXHJcbiAgICAgIC50ZXh0LSN7JGtleX0tI3skaX0ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAjeyRpfTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgka2V5KSB7XHJcbiAgICBAZWFjaCAkdHJhbnNmb3JtIGluIGNhcGl0YWxpemUsIHVwcGVyY2FzZSwgbG93ZXJjYXNlLCBub25lLCBmdWxsLXdpZHRoIHtcclxuICAgICAgLnRleHQtI3ska2V5fS0jeyR0cmFuc2Zvcm19IHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHRyYW5zZm9ybTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBWZXJ0aWNhbCBSaHl0aG1cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTAge1xyXG4gICRpOiAkaSAqIDg7XHJcblxyXG4gIC52ci0jeyRpfSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAjeyRpfXB4O1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBaLWluZGV4XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vKipcclxuICogVXRpbGl0eSBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgc3RhY2tpbmcgb3JkZXIgaW4gSFRNTC5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJHotaW5kZXgge1xyXG4gIC56LWluZGV4LSN7JGtleX0ge1xyXG4gICAgei1pbmRleDogJHZhbHVlO1xyXG4gIH1cclxufVxyXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBaLWluZGV4XHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBBIGxpbWl0ZWQgYXJyYXkgb2YgdmFsdWVzIGZvciB0aGUgYHotaW5kZXhgIHByb3BlcnR5IHRvIHByZXZlbnRcclxuLy8gZXhhZ2dlcmF0ZWQgYW1vdW50cyBhbmQgdWdseSBoYWNrcy5cclxuXHJcbiR6LWluZGV4OiAoXHJcbiAgJzAnOiAgMCxcclxuICAnMSc6ICAxMCxcclxuICAnMic6ICAyMCxcclxuICAnMyc6ICAzMCxcclxuICAnNCc6ICA0MCxcclxuICAnNSc6ICA1MCxcclxuICAnNic6ICA2MCxcclxuICAnNyc6ICA3MCxcclxuICAnOCc6ICA4MCxcclxuICAnOSc6ICA5MCxcclxuICAnMTAnOiAxMDBcclxuKTtcclxuIl19 */
