

/* Start:/local/templates/ETIKA_TYPICAL_PAGE/assets/css/style.573125dd45a52dd9e0d54a439c22975c.css?16188783971073489*/
/* Base
 ========================================================================== */
/* Font weights
 ========================================================================== */
/* Font families
 ========================================================================== */
/* Font sizes
 ========================================================================== */
/* Colors
 ========================================================================== */
/* Transition
 ========================================================================== */
/* Counters
 ========================================================================== */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0; }
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0; }
html {
  scroll-behavior: smooth; }
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto; }
img {
  max-width: 100%;
  display: block; }
input,
button,
textarea,
select {
  font: inherit; }
button {
  background: none;
  border: none;
  margin: 0;
  padding: 0; }
@media (prefers-reduced-motion: reduce) {
  * {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
         -o-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important; } }
textarea {
  resize: vertical; }
iframe {
  max-width: 100%; }
fieldset {
  min-width: 0; }
th {
  font-weight: inherit;
  text-align: inherit; }
:root {
  --swiper-theme-color: #3b65cf; }
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1; }
.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }
.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0); }
.swiper-container-multirow > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
.swiper-container-multirow-column > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
       -o-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  margin: 0 auto; }
.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }
.swiper-slide-invisible-blank {
  visibility: hidden; }
/* Auto Height */
.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto; }
.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  -o-transition-property: transform, height;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform; }
/* 3D Effects */
.swiper-container-3d {
  -webkit-perspective: 1200px;
          perspective: 1200px; }
.swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow {
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d; }
.swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10; }
.swiper-container-3d .swiper-slide-shadow-left {
    background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
.swiper-container-3d .swiper-slide-shadow-right {
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
.swiper-container-3d .swiper-slide-shadow-top {
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
  -webkit-overflow-scrolling: touch; }
.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none; }
.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start; }
.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      -webkit-scroll-snap-type: x mandatory;
          scroll-snap-type: x mandatory; }
.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      -webkit-scroll-snap-type: y mandatory;
          scroll-snap-type: y mandatory; }
/* Base
 ========================================================================== */
/* Global
 ========================================================================== */
/* Container
 ========================================================================== */
/* Font
 ========================================================================== */
/* Link default
 ========================================================================== */
/* Button base
 ========================================================================== */
/* Button primary
 ========================================================================== */
/* Button default
 ========================================================================== */
/* Button secondary
 ========================================================================== */
/* Button disabled
 ========================================================================== */
/* Breadcrumbs
 ========================================================================== */
/* Form
 ========================================================================== */
/* Modal
 ========================================================================== */
/* Offcanvas
 ========================================================================== */
/* Notification
 ========================================================================== */
/* Animation
 ========================================================================== */
/* Misc
 ========================================================================== */
/* Link base
 ========================================================================== */
/* Button base
 ========================================================================== */
/* Button default
 ========================================================================== */
/* Button default
 ========================================================================== */
/* Form single line
 ========================================================================== */
/* Notification message
 ========================================================================== */
/* Notification message primary
 ========================================================================== */
/* Notification message success
 ========================================================================== */
/* Notification message warning
 ========================================================================== */
/* Notification message danger
 ========================================================================== */
/* Notification close
 ========================================================================== */
.swiper-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
.swiper-button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #3b65cf;
  -webkit-border-radius: 50%;
          border-radius: 50%;
  color: white;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 27px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  outline: none;
  -webkit-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  -webkit-transition-property: color, opacity, background-color;
  -o-transition-property: color, opacity, background-color;
  transition-property: color, opacity, background-color;
  width: 27px;
  z-index: 1; }
.swiper-button:not(:last-child) {
    margin-right: 10px; }
@media (max-width: 899px) {
      .swiper-button:not(:last-child) {
        margin-right: 8px; } }
@media (hover: hover) and (pointer: fine) {
    .swiper-button:not(.swiper-button-disabled):hover, .swiper-button:not(.swiper-button-disabled):active, .swiper-button:not(.swiper-button-disabled):focus-within {
      background-color: #2a4fad; } }
.swiper-button svg {
    max-width: 19px;
    -webkit-transition: stroke 0.2s ease-out;
    -o-transition: stroke 0.2s ease-out;
    transition: stroke 0.2s ease-out; }
.swiper-button-prev svg {
    -webkit-transform: rotateZ(180deg);
        -ms-transform: rotate(180deg);
            transform: rotateZ(180deg); }
.swiper-button-disabled {
    background-color: #dcdfe5;
    color: #3d475f; }
.swiper-button-large {
    width: 50px;
    height: 50px; }
@media (max-width: 899px) {
      .swiper-button-large {
        width: 40px;
        height: 40px; } }
@media (max-width: 639px) {
      .swiper-button-large {
        width: 32px;
        height: 32px; } }
.swiper-button-large:not(:last-child) {
      margin-right: 20px; }
@media (max-width: 899px) {
        .swiper-button-large:not(:last-child) {
          margin-right: 16px; } }
@media (max-width: 639px) {
        .swiper-button-large:not(:last-child) {
          margin-right: 12px; } }
.swiper-button-white {
    background-color: white; }
@media (hover: hover) and (pointer: fine) {
      .swiper-button-white:not(.swiper-button-white-disabled):hover, .swiper-button-white:not(.swiper-button-white-disabled):active, .swiper-button-white:not(.swiper-button-white-disabled):focus-within {
        background-color: #2a4fad; }
        .swiper-button-white:not(.swiper-button-white-disabled):hover svg, .swiper-button-white:not(.swiper-button-white-disabled):active svg, .swiper-button-white:not(.swiper-button-white-disabled):focus-within svg {
          stroke: white; } }
.swiper-button-white svg {
      stroke: #3b65cf; }
/* ========================================================================
   Component: Base
 ========================================================================== */
/*
 * 1. Set `font-size` to support `rem` units
 *    Not using `font` property because a leading hyphen (e.g. -apple-system) causes the font to break in IE11 and Edge
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Style
 */
html {
  /* 1 */
  font-family: "Manrope", sans-serif;
  font-size: 100%;
  font-weight: 400;
  line-height: 1.5;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
  background: #f8f8f8;
  color: #3d475f; }
/*
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }
/* Links
 ========================================================================== */
/*
 * Remove the outline on focused links when they are also active or hovered
 */
a:active,
a:hover {
  outline: none; }
/*
 * Style
 */
a,
.uk-link {
  color: #3d475f;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: color 0.2s ease-out;
  -o-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out; }
a:hover,
.uk-link:hover,
.uk-link-toggle:hover .uk-link,
.uk-link-toggle:focus .uk-link {
  color: #3b65cf;
  text-decoration: none; }
/* Text-level semantics
 ========================================================================== */
/*
 * 1. Add the correct text decoration in Edge.
 * 2. The shorthand declaration `underline dotted` is not supported in Safari.
 */
abbr[title] {
  /* 1 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
  -webkit-text-decoration-style: dotted; }
/*
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }
/*
 * 1. Consolas has a better baseline in running text compared to `Courier`
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Style
 */
:not(pre) > code,
:not(pre) > kbd,
:not(pre) > samp {
  /* 1 */
  font-family: Consolas, monaco, monospace;
  /* 2 */
  font-size: 0.875rem;
  /* 3 */
  color: #f25d50;
  white-space: nowrap; }
/*
 * Emphasize
 */
em {
  color: inherit; }
/*
 * Insert
 */
ins {
  background: #ffd;
  color: #666;
  text-decoration: none; }
/*
 * Mark
 */
mark {
  background: #ffd;
  color: #666; }
/*
 * Quote
 */
q {
  font-style: italic; }
/*
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }
/*
 * Prevents `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }
sup {
  top: -0.5em; }
sub {
  bottom: -0.25em; }
/* Embedded content
 ========================================================================== */
/*
 * Remove the gap between embedded content and the bottom of their containers.
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }
/*
 * 1. Add responsiveness.
 * 2. Auto-scale the height. Only needed if `height` attribute is present.
 * 3. Corrects responsive `max-width` behavior if padding and border are used.
 * 4. Exclude SVGs for IE11 because they don't preserve their aspect ratio.
 */
canvas,
img,
video {
  /* 1 */
  max-width: 100%;
  /* 2 */
  height: auto;
  /* 3 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
/* 4 */
@supports (display: block) {
  svg {
    max-width: 100%;
    height: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; } }
/*
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }
/*
 * 1. Fix lazy loading images if parent element is set to `display: inline` and has `overflow: hidden`.
 * 2. Hide `alt` text for lazy loading images.
 * Note: Selector for background while loading img[data-src*='.jpg'][src*='data:image'] { background: grey; }
 */
img:not([src]) {
  /* 1 */
  min-width: 1px;
  /* 2 */
  visibility: hidden; }
/*
 * Iframe
 * Remove border in all browsers
 */
iframe {
  border: 0; }
/* Block elements
 ========================================================================== */
/*
 * Margins
 */
p,
ul,
ol,
dl,
pre,
address,
fieldset,
figure {
  margin: 0 0 0 0; }
/* Add margin if adjacent element */
* + p,
* + ul,
* + ol,
* + dl,
* + pre,
* + address,
* + fieldset,
* + figure {
  margin-top: 0; }
/* Headings
 ========================================================================== */
h1, .uk-h1,
h2, .uk-h2,
h3, .uk-h3,
h4, .uk-h4,
h5, .uk-h5,
h6, .uk-h6,
.uk-heading-small,
.uk-heading-medium,
.uk-heading-large,
.uk-heading-xlarge,
.uk-heading-2xlarge {
  margin: 0 0 0 0;
  font-family: "Bebas Neue", cursive;
  font-weight: 700;
  color: #3d475f;
  text-transform: none; }
/* Add margin if adjacent element */
* + h1, * + .uk-h1,
* + h2, * + .uk-h2,
* + h3, * + .uk-h3,
* + h4, * + .uk-h4,
* + h5, * + .uk-h5,
* + h6, * + .uk-h6,
* + .uk-heading-small,
* + .uk-heading-medium,
* + .uk-heading-large,
* + .uk-heading-xlarge,
* + .uk-heading-2xlarge {
  margin-top: 0; }
/*
 * Sizes
 */
h1, .uk-h1 {
  font-size: 2.23125rem;
  line-height: 1.2; }
h2, .uk-h2 {
  font-size: 1.7rem;
  line-height: 1.3; }
h3, .uk-h3 {
  font-size: 1.5rem;
  line-height: 1.4; }
h4, .uk-h4 {
  font-size: 1.25rem;
  line-height: 1.4; }
h5, .uk-h5 {
  font-size: 16px;
  line-height: 1.4; }
h6, .uk-h6 {
  font-size: 0.875rem;
  line-height: 1.4; }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  h1, .uk-h1 {
    font-size: 2.625rem; }
  h2, .uk-h2 {
    font-size: 2rem; } }
/* Lists
 ========================================================================== */
ul,
ol {
  padding-left: 0; }
/*
 * Reset margin for nested lists
 */
ul > li > ul,
ul > li > ol,
ol > li > ol,
ol > li > ul {
  margin: 0; }
/* Description lists
 ========================================================================== */
dt {
  font-weight: 700; }
dd {
  margin-left: 0; }
/* Horizontal rules
 ========================================================================== */
/*
 * 1. Show the overflow in Chrome, Edge and IE.
 * 2. Add the correct text-align in Edge and IE.
 * 3. Style
 */
hr, .uk-hr {
  /* 1 */
  overflow: visible;
  /* 2 */
  text-align: inherit;
  /* 3 */
  margin: 0 0 20px 0;
  border: 0;
  border-top: 1px solid #e5e5e5; }
/* Add margin if adjacent element */
* + hr,
* + .uk-hr {
  margin-top: 20px; }
/* Address
 ========================================================================== */
address {
  font-style: normal; }
/* Blockquotes
 ========================================================================== */
blockquote {
  margin: 0 0 20px 0;
  font-size: 1.25rem;
  line-height: 1.5;
  font-style: italic; }
/* Add margin if adjacent element */
* + blockquote {
  margin-top: 20px; }
/*
 * Content
 */
blockquote p:last-of-type {
  margin-bottom: 0; }
blockquote footer {
  margin-top: 10px;
  font-size: 0.875rem;
  line-height: 1.5; }
/* Preformatted text
 ========================================================================== */
/*
 * 1. Contain overflow in all browsers.
 */
pre {
  font: 0.875rem / 1.5 Consolas, monaco, monospace;
  color: #666;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  /* 1 */
  overflow: auto;
  -webkit-overflow-scrolling: touch; }
pre code {
  font-family: Consolas, monaco, monospace; }
/* Selection pseudo-element
 ========================================================================== */
::-moz-selection {
  background: #39f;
  color: #fff;
  text-shadow: none; }
::selection {
  background: #39f;
  color: #fff;
  text-shadow: none; }
/* HTML5 elements
 ========================================================================== */
/*
 * 1. Add the correct display in Edge, IE 10+, and Firefox.
 * 2. Add the correct display in IE.
 */
details,
main {
  /* 2 */
  display: block; }
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }
/*
 * Add the correct display in IE.
 */
template {
  display: none; }
/* Pass media breakpoints to JS
 ========================================================================== */
/*
 * Breakpoints
 */
.uk-breakpoint-s::before {
  content: "640px"; }
.uk-breakpoint-m::before {
  content: "900px"; }
.uk-breakpoint-l::before {
  content: "1000px"; }
.uk-breakpoint-xl::before {
  content: "1200px"; }
:root {
  --uk-breakpoint-s: 640px;
  --uk-breakpoint-m: 900px;
  --uk-breakpoint-l: 1000px;
  --uk-breakpoint-xl: 1200px; }
/* ========================================================================
   Component: Icon
 ========================================================================== */
/*
 * Note: 1. - 7. is required for `button` elements. Needed for Close and Form Icon component.
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Remove border-radius in Chrome.
 * 4. Address `overflow` set to `hidden` in IE.
 * 5. Correct `font` properties and `color` not being inherited for `button`.
 * 6. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 7. Remove default `button` padding and background color
 * 8. Style
 * 9. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 10. Let the container fit the height of the icon
 */
.uk-icon {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  -webkit-border-radius: 0;
          border-radius: 0;
  /* 4 */
  overflow: visible;
  /* 5 */
  font: inherit;
  color: inherit;
  /* 6 */
  text-transform: none;
  /* 7. */
  padding: 0;
  background-color: transparent;
  /* 8 */
  display: inline-block;
  /* 9 */
  fill: currentcolor;
  /* 10 */
  line-height: 0; }
/* Required for `button`. */
button.uk-icon:not(:disabled) {
  cursor: pointer; }
/*
 * Remove the inner border and padding in Firefox.
 */
.uk-icon::-moz-focus-inner {
  border: 0;
  padding: 0; }
/*
 * Set the fill and stroke color of all SVG elements to the current text color
 */
.uk-icon:not(.uk-preserve) [fill*='#']:not(.uk-preserve) {
  fill: currentcolor; }
.uk-icon:not(.uk-preserve) [stroke*='#']:not(.uk-preserve) {
  stroke: currentcolor; }
/*
 * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
 */
.uk-icon > * {
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0); }
/* Image modifier
 ========================================================================== */
/*
 * Display images in icon dimensions
 */
.uk-icon-image {
  width: 20px;
  height: 20px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  -webkit-background-size: contain;
          background-size: contain;
  vertical-align: middle; }
/* Style modifiers
 ========================================================================== */
/*
 * Link
 */
.uk-icon-link {
  color: #999; }
.uk-icon-link:hover,
.uk-icon-link:focus {
  color: #666;
  outline: none; }
/* OnClick + Active */
.uk-icon-link:active,
.uk-active > .uk-icon-link {
  color: #595959; }
/*
 * Button
 * 1. Center icon vertically and horizontally
 */
.uk-icon-button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 36px;
  height: 36px;
  -webkit-border-radius: 500px;
          border-radius: 500px;
  background: #f8f8f8;
  color: #999;
  vertical-align: middle;
  /* 1 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
/* Hover + Focus */
.uk-icon-button:hover,
.uk-icon-button:focus {
  background-color: #ebebeb;
  color: #666;
  outline: none; }
/* OnClick + Active */
.uk-icon-button:active,
.uk-active > .uk-icon-button {
  background-color: #dfdfdf;
  color: #666; }
/* ========================================================================
   Component: Form
 ========================================================================== */
/*
 * 1. Define consistent box sizing.
 *    Default is `content-box` with following exceptions set to `border-box`
 *    `select`, `input[type="checkbox"]` and `input[type="radio"]`
 *    `input[type="search"]` in Chrome, Safari and Opera
 *    `input[type="color"]` in Firefox
 * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
 * 3. Remove `border-radius` in iOS.
 * 4. Change font properties to `inherit` in all browsers.
 */
.uk-input, .SiteForm__input,
.uk-select,
.uk-textarea,
.SiteForm__textarea,
.uk-radio,
.uk-checkbox,
.SiteForm__checkbox {
  /* 1 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  -webkit-border-radius: 0;
          border-radius: 0;
  /* 4 */
  font: inherit; }
/*
 * Show the overflow in Edge.
 */
.uk-input, .SiteForm__input {
  overflow: visible; }
/*
 * Remove the inheritance of text transform in Firefox.
 */
.uk-select {
  text-transform: none; }
/*
 * 1. Change font properties to `inherit` in all browsers
 * 2. Don't inherit the `font-weight` and use `bold` instead.
 * NOTE: Both declarations don't work in Chrome, Safari and Opera.
 */
.uk-select optgroup {
  /* 1 */
  font: inherit;
  /* 2 */
  font-weight: 700; }
/*
 * Remove the default vertical scrollbar in IE 10+.
 */
.uk-textarea,
.SiteForm__textarea {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }
/*
 * Remove the inner padding and cancel buttons in Chrome on OS X and Safari on OS X.
 */
.uk-input[type="search"]::-webkit-search-cancel-button, .SiteForm__input[type="search"]::-webkit-search-cancel-button,
.uk-input[type="search"]::-webkit-search-decoration,
.SiteForm__input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }
/*
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
.uk-input[type="number"]::-webkit-inner-spin-button, .SiteForm__input[type="number"]::-webkit-inner-spin-button,
.uk-input[type="number"]::-webkit-outer-spin-button,
.SiteForm__input[type="number"]::-webkit-outer-spin-button {
  height: auto; }
/*
 * Removes placeholder transparency in Firefox.
 */
.uk-input::-moz-placeholder, .SiteForm__input::-moz-placeholder,
.uk-textarea::-moz-placeholder,
.SiteForm__textarea::-moz-placeholder {
  opacity: 1; }
/*
 * Improves consistency of cursor style for clickable elements
 */
.uk-radio:not(:disabled),
.uk-checkbox:not(:disabled),
.SiteForm__checkbox:not(:disabled) {
  cursor: pointer; }
/*
 * Define consistent border, margin, and padding.
 */
.uk-fieldset {
  border: none;
  margin: 0;
  padding: 0; }
/* Input, select and textarea
 * Allowed: `text`, `password`, `datetime`, `datetime-local`, `date`,  `month`,
            `time`, `week`, `number`, `email`, `url`, `search`, `tel`, `color`
 * Disallowed: `range`, `radio`, `checkbox`, `file`, `submit`, `reset` and `image`
 ========================================================================== */
/*
 * Remove default style in iOS.
 */
.uk-input, .SiteForm__input,
.uk-textarea,
.SiteForm__textarea {
  -webkit-appearance: none; }
/*
 * 1. Prevent content overflow if a fixed width is used
 * 2. Take the full width
 * 3. Reset default
 * 4. Style
 */
.uk-input, .SiteForm__input,
.uk-select,
.uk-textarea,
.SiteForm__textarea {
  /* 1 */
  max-width: 100%;
  /* 2 */
  width: 100%;
  /* 3 */
  border: 0 none;
  /* 4 */
  padding: 0 20px;
  background: white;
  color: #3d475f; }
/*
 * Single-line
 * 1. Allow any element to look like an `input` or `select` element
 * 2. Make sure line-height is not larger than height
 *    Also needed to center the text vertically
 */
.uk-input, .SiteForm__input,
.uk-select:not([multiple]):not([size]) {
  height: 48px;
  vertical-align: middle;
  /* 1 */
  display: inline-block;
  border: 1px solid #d3d5d9;
  caret-color: #3b65cf;
  -webkit-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  -webkit-transition-property: border-color, background-color;
  -o-transition-property: border-color, background-color;
  transition-property: border-color, background-color; }
/* 2 */
.uk-input:not(input), .SiteForm__input:not(input),
.uk-select:not(select) {
  line-height: 1.5; }
/*
 * Multi-line
 */
.uk-select[multiple],
.uk-select[size],
.uk-textarea,
.SiteForm__textarea {
  padding-top: 12px;
  padding-bottom: 12px;
  vertical-align: top; }
/* Focus */
.uk-input:focus, .SiteForm__input:focus,
.uk-select:focus,
.uk-textarea:focus,
.SiteForm__textarea:focus {
  outline: none;
  background-color: white;
  color: #3d475f; }
/* Disabled */
.uk-input:disabled, .SiteForm__input:disabled,
.uk-select:disabled,
.uk-textarea:disabled,
.SiteForm__textarea:disabled {
  background-color: #f8f8f8;
  color: #868686; }
/*
 * Placeholder
 */
.uk-input::-ms-input-placeholder, .SiteForm__input::-ms-input-placeholder {
  color: rgba(61, 71, 95, 0.8) !important; }
.uk-input::-moz-placeholder, .SiteForm__input::-moz-placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-input:-ms-input-placeholder, .SiteForm__input:-ms-input-placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-input::-webkit-input-placeholder, .SiteForm__input::-webkit-input-placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-input::placeholder, .SiteForm__input::placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-textarea::-ms-input-placeholder, .SiteForm__textarea::-ms-input-placeholder {
  color: rgba(61, 71, 95, 0.8) !important; }
.uk-textarea::-moz-placeholder, .SiteForm__textarea::-moz-placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-textarea:-ms-input-placeholder, .SiteForm__textarea:-ms-input-placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-textarea::-webkit-input-placeholder, .SiteForm__textarea::-webkit-input-placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-textarea::placeholder, .SiteForm__textarea::placeholder {
  color: rgba(61, 71, 95, 0.8); }
/* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Small
 */
.uk-form-small {
  font-size: 0.875rem; }
.uk-form-small:not(textarea):not([multiple]):not([size]) {
  height: 30px;
  padding-left: 8px;
  padding-right: 8px; }
.uk-form-small:not(select):not(input):not(textarea) {
  line-height: 30px; }
/*
 * Large
 */
.uk-form-large {
  font-size: 1.25rem; }
.uk-form-large:not(textarea):not([multiple]):not([size]) {
  height: 55px;
  padding-left: 12px;
  padding-right: 12px; }
.uk-form-large:not(select):not(input):not(textarea) {
  line-height: 55px; }
/* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Error
 */
.uk-form-danger,
.uk-form-danger:focus {
  color: #f25d50; }
/*
 * Success
 */
.uk-form-success,
.uk-form-success:focus {
  color: #57a749; }
/*
 * Blank
 */
.uk-form-blank {
  background: none; }
/* Width modifiers (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Fixed widths
 * Different widths for mini sized `input` and `select` elements
 */
input.uk-form-width-xsmall {
  width: 50px; }
select.uk-form-width-xsmall {
  width: 75px; }
.uk-form-width-small {
  width: 130px; }
.uk-form-width-medium {
  width: 200px; }
.uk-form-width-large {
  width: 500px; }
/* Select
 ========================================================================== */
/*
 * 1. Remove default style. Also works in Firefox
 * 2. Style
 * 3. Remove default style in IE 10/11
 * 4. Set `color` for options in the select dropdown, because the inherited `color` might be too light.
 */
.uk-select:not([multiple]):not([size]) {
  /* 1 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 2 */
  padding-right: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: 100% 50%; }
/* 3 */
.uk-select:not([multiple]):not([size])::-ms-expand {
  display: none; }
/* 4 */
.uk-select:not([multiple]):not([size]) option {
  color: #444; }
/*
 * Disabled
 */
.uk-select:not([multiple]):not([size]):disabled {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
/* Datalist
 ========================================================================== */
/*
 * 1. Remove default style in Chrome
 */
.uk-input[list], .SiteForm__input[list] {
  padding-right: 20px;
  background-repeat: no-repeat;
  background-position: 100% 50%; }
.uk-input[list]:hover, .SiteForm__input[list]:hover,
.uk-input[list]:focus,
.SiteForm__input[list]:focus {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2012%208%206%2016%206%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
/* 1 */
.uk-input[list]::-webkit-calendar-picker-indicator, .SiteForm__input[list]::-webkit-calendar-picker-indicator {
  display: none; }
/* Radio and checkbox
 * Note: Does not work in IE11
 ========================================================================== */
/*
 * 1. Style
 * 2. Make box more robust so it clips the child element
 * 3. Vertical alignment
 * 4. Remove default style
 * 5. Fix black background on iOS
 * 6. Center icons
 */
.uk-radio,
.uk-checkbox,
.SiteForm__checkbox {
  /* 1 */
  display: inline-block;
  height: 16px;
  width: 16px;
  /* 2 */
  overflow: hidden;
  /* 3 */
  margin-top: -4px;
  vertical-align: middle;
  /* 4 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 5 */
  background-color: #3b65cf;
  /* 6 */
  background-repeat: no-repeat;
  background-position: 50% 50%; }
.uk-radio {
  -webkit-border-radius: 50%;
          border-radius: 50%; }
/* Focus */
.uk-radio:focus,
.uk-checkbox:focus,
.SiteForm__checkbox:focus {
  outline: none; }
/*
 * Checked
 */
.uk-radio:checked,
.uk-checkbox:checked,
.SiteForm__checkbox:checked,
.uk-checkbox:indeterminate,
.SiteForm__checkbox:indeterminate {
  background-color: #3b65cf; }
/* Focus */
.uk-radio:checked:focus,
.uk-checkbox:checked:focus,
.SiteForm__checkbox:checked:focus,
.uk-checkbox:indeterminate:focus,
.SiteForm__checkbox:indeterminate:focus {
  background-color: #3b65cf; }
/*
 * Icons
 */
.uk-radio:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23fff%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.uk-checkbox:checked,
.SiteForm__checkbox:checked {
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.21981 0.469811L3.50006 5.18956L1.78031 3.46981C1.48603 3.18558 1.01825 3.18965 0.728947 3.47895C0.439647 3.76825 0.435582 4.23603 0.719811 4.53031L2.96981 6.78031C3.26269 7.0731 3.73744 7.0731 4.03031 6.78031L9.28031 1.53031C9.56454 1.23603 9.56047 0.768248 9.27117 0.478947C8.98187 0.189647 8.5141 0.185582 8.21981 0.469811Z' fill='white'/%3E%3C/svg%3E%0A"); }
.uk-checkbox:indeterminate,
.SiteForm__checkbox:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23fff%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
/*
 * Disabled
 */
.uk-radio:disabled,
.uk-checkbox:disabled,
.SiteForm__checkbox:disabled {
  background-color: #8da5e3; }
.uk-radio:disabled:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23999%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.uk-checkbox:disabled:checked, .SiteForm__checkbox:disabled:checked {
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.21981 0.469811L3.50006 5.18956L1.78031 3.46981C1.48603 3.18558 1.01825 3.18965 0.728947 3.47895C0.439647 3.76825 0.435582 4.23603 0.719811 4.53031L2.96981 6.78031C3.26269 7.0731 3.73744 7.0731 4.03031 6.78031L9.28031 1.53031C9.56454 1.23603 9.56047 0.768248 9.27117 0.478947C8.98187 0.189647 8.5141 0.185582 8.21981 0.469811Z' fill='white'/%3E%3C/svg%3E%0A"); }
.uk-checkbox:disabled:indeterminate, .SiteForm__checkbox:disabled:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23999%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
/* Legend
 ========================================================================== */
/*
 * Legend
 * 1. Behave like block element
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove padding so people aren't caught out if they zero out fieldsets.
 * 4. Style
 */
.uk-legend {
  /* 1 */
  width: 100%;
  /* 2 */
  color: inherit;
  /* 3 */
  padding: 0;
  /* 4 */
  font-size: 1.5rem;
  line-height: 1.4; }
/* Custom controls
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Behave like most inline-block elements
 */
.uk-form-custom {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle; }
/*
 * 1. Position and resize the form control to always cover its container
 * 2. Required for Firefox for positioning to the left
 * 3. Required for Webkit to make `height` work
 * 4. Hide controle and show cursor
 * 5. Needed for the cursor
 * 6. Clip height caused by 5. Needed for Webkit only
 */
.uk-form-custom select,
.uk-form-custom input[type="file"] {
  /* 1 */
  position: absolute;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  /* 2 */
  left: 0;
  /* 3 */
  -webkit-appearance: none;
  /* 4 */
  opacity: 0;
  cursor: pointer; }
.uk-form-custom input[type="file"] {
  /* 5 */
  font-size: 500px;
  /* 6 */
  overflow: hidden; }
/* Label
 ========================================================================== */
/* Layout
 ========================================================================== */
/*
 * Stacked
 */
.uk-form-stacked .uk-form-label {
  display: block;
  margin-bottom: 10px; }
/*
 * Horizontal
 */
/* Tablet portrait and smaller */
@media (max-width: 899px) {
  /* Behave like `uk-form-stacked` */
  .uk-form-horizontal .uk-form-label {
    display: block;
    margin-bottom: 10px; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-form-horizontal .uk-form-label {
    width: 200px;
    margin-top: 7px;
    float: left; }
  .uk-form-horizontal .uk-form-controls {
    margin-left: 215px; }
  /* Better vertical alignment if controls are checkboxes and radio buttons with text */
  .uk-form-horizontal .uk-form-controls-text {
    padding-top: 7px; } }
/* Icons
 ========================================================================== */
/*
 * 1. Set position
 * 2. Set width
 * 3. Center icon vertically and horizontally
 * 4. Style
 */
.uk-form-icon {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  width: 48px;
  /* 3 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 4 */
  color: #999; }
/*
 * Required for `a`.
 */
.uk-form-icon:hover {
  color: #666; }
/*
 * Make `input` element clickable through icon, e.g. if it's a `span`
 */
.uk-form-icon:not(a):not(button):not(input) {
  pointer-events: none; }
/*
 * Input padding
 */
.uk-form-icon:not(.uk-form-icon-flip) ~ .uk-input, .uk-form-icon:not(.uk-form-icon-flip) ~ .SiteForm__input {
  padding-left: 48px !important; }
/*
 * Position modifier
 */
.uk-form-icon-flip {
  right: 0;
  left: auto; }
.uk-form-icon-flip ~ .uk-input, .uk-form-icon-flip ~ .SiteForm__input {
  padding-right: 48px !important; }
/* ========================================================================
   Component: Button
 ========================================================================== */
/*
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Address `overflow` set to `hidden` in IE.
 * 4. Correct `font` properties and `color` not being inherited for `button`.
 * 5. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 6. Remove default style for `input type="submit"`in iOS.
 * 7. Style
 * 8. `line-height` is used to create a height because it also centers the text vertically for `a` elements.
 *    Better would be to use height and flexbox to center the text vertically but flexbox doesn't work in Firefox on `button` elements.
 * 9. Align text if button has a width
 * 10. Required for `a`.
 */
.uk-button, .SiteHeader__button, .SiteHeader__hamburger, .SiteOffCanvas__close, .SiteForm__button, .Consultation__button, .ServiceCard__button, .ErrorPage__button {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  overflow: visible;
  /* 4 */
  font: inherit;
  color: inherit;
  /* 5 */
  text-transform: none;
  /* 6 */
  -webkit-appearance: none;
  -webkit-border-radius: 0;
          border-radius: 0;
  /* 7 */
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 24px;
  vertical-align: middle;
  font-size: 0.8125rem;
  /* 8 */
  line-height: 42px;
  /* 9 */
  text-align: center;
  /* 10 */
  text-decoration: none;
  font-weight: 600;
  -webkit-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  -webkit-transition-property: background-color, color, border-color;
  -o-transition-property: background-color, color, border-color;
  transition-property: background-color, color, border-color; }
.uk-button:not(:disabled), .SiteHeader__button:not(:disabled), .SiteHeader__hamburger:not(:disabled), .SiteOffCanvas__close:not(:disabled), .SiteForm__button:not(:disabled), .Consultation__button:not(:disabled), .ServiceCard__button:not(:disabled), .ErrorPage__button:not(:disabled) {
  cursor: pointer; }
/*
 * Remove the inner border and padding in Firefox.
 */
.uk-button::-moz-focus-inner, .SiteHeader__button::-moz-focus-inner, .SiteHeader__hamburger::-moz-focus-inner, .SiteOffCanvas__close::-moz-focus-inner, .SiteForm__button::-moz-focus-inner, .Consultation__button::-moz-focus-inner, .ServiceCard__button::-moz-focus-inner, .ErrorPage__button::-moz-focus-inner {
  border: 0;
  padding: 0; }
/* Hover */
.uk-button:hover, .SiteHeader__button:hover, .SiteHeader__hamburger:hover, .SiteOffCanvas__close:hover, .SiteForm__button:hover, .Consultation__button:hover, .ServiceCard__button:hover, .ErrorPage__button:hover {
  /* 9 */
  text-decoration: none; }
/* Focus */
.uk-button:focus, .SiteHeader__button:focus, .SiteHeader__hamburger:focus, .SiteOffCanvas__close:focus, .SiteForm__button:focus, .Consultation__button:focus, .ServiceCard__button:focus, .ErrorPage__button:focus {
  outline: none; }
/* OnClick + Active */
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-button-default {
  background-color: white;
  color: #3d475f;
  border: 1px solid #bfbfbf;
  -webkit-border-radius: 100px;
          border-radius: 100px; }
/* Hover + Focus */
.uk-button-default:hover,
.uk-button-default:focus {
  background-color: #3b65cf;
  color: white;
  border-color: #3b65cf; }
/* OnClick + Active */
.uk-button-default:active,
.uk-button-default.uk-active {
  background-color: #3b65cf;
  color: white; }
/*
 * Primary
 */
.uk-button-primary, .SiteHeader__button, .SiteHeader__hamburger, .SiteOffCanvas__close, .SiteForm__button, .Consultation__button, .ServiceCard__button, .ErrorPage__button {
  background-color: #3b65cf;
  color: white; }
/* Hover + Focus */
.uk-button-primary:hover, .SiteHeader__button:hover, .SiteHeader__hamburger:hover, .SiteOffCanvas__close:hover, .SiteForm__button:hover, .Consultation__button:hover, .ServiceCard__button:hover, .ErrorPage__button:hover,
.uk-button-primary:focus,
.SiteHeader__button:focus,
.SiteHeader__hamburger:focus,
.SiteOffCanvas__close:focus,
.SiteForm__button:focus,
.Consultation__button:focus,
.ServiceCard__button:focus,
.ErrorPage__button:focus {
  background-color: #2f59c1;
  color: white; }
/* OnClick + Active */
.uk-button-primary:active, .SiteHeader__button:active, .SiteHeader__hamburger:active, .SiteOffCanvas__close:active, .SiteForm__button:active, .Consultation__button:active, .ServiceCard__button:active, .ErrorPage__button:active,
.uk-button-primary.uk-active,
.uk-active.SiteHeader__button,
.uk-active.SiteHeader__hamburger,
.uk-active.SiteOffCanvas__close,
.uk-active.SiteForm__button,
.uk-active.Consultation__button,
.uk-active.ServiceCard__button,
.uk-active.ErrorPage__button {
  background-color: #2a4fad;
  color: white; }
/*
 * Secondary
 */
.uk-button-secondary {
  background-color: white;
  color: #868686; }
/* Hover + Focus */
.uk-button-secondary:hover,
.uk-button-secondary:focus {
  background-color: #f2f2f2;
  color: #fff; }
/* OnClick + Active */
.uk-button-secondary:active,
.uk-button-secondary.uk-active {
  background-color: #e6e6e6;
  color: #fff; }
/*
 * Danger
 */
.uk-button-danger {
  background-color: #f25d50;
  color: #fff; }
/* Hover + Focus */
.uk-button-danger:hover,
.uk-button-danger:focus {
  background-color: #f04738;
  color: #fff; }
/* OnClick + Active */
.uk-button-danger:active,
.uk-button-danger.uk-active {
  background-color: #ee3120;
  color: #fff; }
/*
 * Disabled
 * The same for all style modifiers
 */
.uk-button-default:disabled,
.uk-button-primary:disabled,
.SiteHeader__button:disabled,
.SiteHeader__hamburger:disabled,
.SiteOffCanvas__close:disabled,
.SiteForm__button:disabled,
.Consultation__button:disabled,
.ServiceCard__button:disabled,
.ErrorPage__button:disabled,
.uk-button-secondary:disabled,
.uk-button-danger:disabled {
  background-color: #3b65cf;
  color: white; }
/* Size modifiers
 ========================================================================== */
.uk-button-small {
  padding: 0 15px;
  line-height: 30px;
  font-size: 0.875rem; }
.uk-button-large, .SiteHeader__button, .SiteHeader__hamburger, .SiteOffCanvas__close {
  padding: 0 24px;
  line-height: 47px;
  font-size: 0.8125rem; }
/* Text modifiers
 ========================================================================== */
/*
 * Text
 * 1. Reset
 * 2. Style
 */
.uk-button-text {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #999; }
/* Hover + Focus */
.uk-button-text:hover,
.uk-button-text:focus {
  color: #666; }
/* Disabled */
.uk-button-text:disabled {
  color: #999; }
/*
 * Link
 * 1. Reset
 * 2. Style
 */
.uk-button-link {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #1e87f0; }
/* Hover + Focus */
.uk-button-link:hover,
.uk-button-link:focus {
  color: #0f6ecd;
  text-decoration: underline; }
/* Disabled */
.uk-button-link:disabled {
  color: #999;
  text-decoration: none; }
/* Group
 ========================================================================== */
/*
 * 1. Using `flex` instead of `inline-block` to prevent whitespace betweent child elements
 * 2. Behave like button
 * 3. Create position context
 */
.uk-button-group {
  /* 1 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  /* 2 */
  vertical-align: middle;
  /* 3 */
  position: relative; }
/* ========================================================================
   Component: Container
 ========================================================================== */
/*
 * 1. Box sizing has to be `content-box` so the max-width is always the same and
 *    unaffected by the padding on different breakpoints. It's important for the size modifiers.
 */
.uk-container, .Layout__container {
  display: flow-root;
  /* 1 */
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  max-width: 1260px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container, .Layout__container {
    padding-left: 24px;
    padding-right: 24px; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-container, .Layout__container {
    padding-left: 32px;
    padding-right: 32px; } }
/*
 * Remove margin from the last-child
 */
.uk-container > :last-child, .Layout__container > :last-child {
  margin-bottom: 0; }
/*
 * Remove padding from nested containers
 */
.uk-container .uk-container, .Layout__container .uk-container, .uk-container .Layout__container, .Layout__container .Layout__container {
  padding-left: 0;
  padding-right: 0; }
/* Size modifier
 ========================================================================== */
.uk-container-xsmall {
  max-width: 750px; }
.uk-container-small, .Layout__container--small {
  max-width: 808px; }
.uk-container-large {
  max-width: 1400px; }
.uk-container-xlarge, .Layout__container--xlarge {
  max-width: 1920px; }
.uk-container-expand {
  max-width: none; }
/* Expand modifier
 ========================================================================== */
/*
 * Expand one side only
 */
.uk-container-expand-left {
  margin-left: 0; }
.uk-container-expand-right {
  margin-right: 0; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container-expand-left.uk-container-xsmall,
  .uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (750px / 2) - 24px); }
  .uk-container-expand-left.uk-container-small, .uk-container-expand-left.Layout__container--small,
  .uk-container-expand-right.uk-container-small,
  .uk-container-expand-right.Layout__container--small {
    max-width: calc(50% + (808px / 2) - 24px); } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-container-expand-left,
  .uk-container-expand-right {
    max-width: calc(50% + (1260px / 2) - 32px); }
  .uk-container-expand-left.uk-container-xsmall,
  .uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (750px / 2) - 32px); }
  .uk-container-expand-left.uk-container-small, .uk-container-expand-left.Layout__container--small,
  .uk-container-expand-right.uk-container-small,
  .uk-container-expand-right.Layout__container--small {
    max-width: calc(50% + (808px / 2) - 32px); }
  .uk-container-expand-left.uk-container-large,
  .uk-container-expand-right.uk-container-large {
    max-width: calc(50% + (1400px / 2) - 32px); }
  .uk-container-expand-left.uk-container-xlarge, .uk-container-expand-left.Layout__container--xlarge,
  .uk-container-expand-right.uk-container-xlarge,
  .uk-container-expand-right.Layout__container--xlarge {
    max-width: calc(50% + (1920px / 2) - 32px); } }
/* Item
 ========================================================================== */
/*
 * Utility classes to reset container padding on the left or right side
 * Note: It has to be negative margin on the item, because it's specific to the item.
 */
.uk-container-item-padding-remove-left,
.uk-container-item-padding-remove-right {
  width: calc(100% + 16px); }
.uk-container-item-padding-remove-left {
  margin-left: -16px; }
.uk-container-item-padding-remove-right {
  margin-right: -16px; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container-item-padding-remove-left,
  .uk-container-item-padding-remove-right {
    width: calc(100% + 24px); }
  .uk-container-item-padding-remove-left {
    margin-left: -24px; }
  .uk-container-item-padding-remove-right {
    margin-right: -24px; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-container-item-padding-remove-left,
  .uk-container-item-padding-remove-right {
    width: calc(100% + 32px); }
  .uk-container-item-padding-remove-left {
    margin-left: -32px; }
  .uk-container-item-padding-remove-right {
    margin-right: -32px; } }
/* ========================================================================
   Component: Close
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-close {
  color: #999; }
/* Hover + Focus */
.uk-close:hover,
.uk-close:focus {
  color: #666;
  outline: none; }
/* ========================================================================
   Component: Spinner
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
/* SVG
 ========================================================================== */
.uk-spinner > * {
  -webkit-animation: uk-spinner-rotate 1.4s linear infinite;
          animation: uk-spinner-rotate 1.4s linear infinite; }
@-webkit-keyframes uk-spinner-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); } }
@keyframes uk-spinner-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); } }
/*
 * Circle
 */
.uk-spinner > * > * {
  stroke-dasharray: 88px;
  stroke-dashoffset: 0;
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-animation: uk-spinner-dash 1.4s ease-in-out infinite;
          animation: uk-spinner-dash 1.4s ease-in-out infinite;
  stroke-width: 1;
  stroke-linecap: round; }
@-webkit-keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px; }
  50% {
    stroke-dashoffset: 22px;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); }
  100% {
    stroke-dashoffset: 88px;
    -webkit-transform: rotate(450deg);
            transform: rotate(450deg); } }
@keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px; }
  50% {
    stroke-dashoffset: 22px;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); }
  100% {
    stroke-dashoffset: 88px;
    -webkit-transform: rotate(450deg);
            transform: rotate(450deg); } }
/* ========================================================================
   Component: Modal
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 */
.uk-modal {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1001;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* 4 */
  padding: 15px 15px;
  /* 5 */
  background: rgba(0, 0, 0, 0.6);
  /* 6 */
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-modal {
    padding: 50px 30px; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-modal {
    padding-left: 40px;
    padding-right: 40px; } }
/*
 * Open
 */
.uk-modal.uk-open {
  opacity: 1; }
/* Page
 ========================================================================== */
/*
 * Prevent scrollbars
 */
.uk-modal-page {
  overflow: hidden; }
/* Dialog
 ========================================================================== */
/*
 * 1. Create position context for spinner and close button
 * 2. Dimensions
 * 3. Fix `max-width: 100%` not working in combination with flex and responsive images in IE11
 *    `!important` needed to overwrite `uk-width-auto`. See `#modal-media-image` in tests
 * 4. Style
 * 5. Slide-in transition
 */
.uk-modal-dialog {
  /* 1 */
  position: relative;
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto;
  width: 600px;
  /* 3 */
  max-width: calc(100% - 0.01px) !important;
  /* 4 */
  background: #fff;
  /* 5 */
  opacity: 0;
  -webkit-transform: translateY(-100px);
      -ms-transform: translateY(-100px);
          transform: translateY(-100px);
  -webkit-transition: 0.3s linear;
  -o-transition: 0.3s linear;
  transition: 0.3s linear;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  -o-transition-property: opacity, transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
/*
 * Open
 */
.uk-open > .uk-modal-dialog {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }
/* Size modifier
 ========================================================================== */
/*
 * Container size
 * Take the same size as the Container component
 */
.uk-modal-container .uk-modal-dialog {
  width: 1200px; }
/*
 * Full size
 * 1. Remove padding and background from modal
 * 2. Reset all default declarations from modal dialog
 */
/* 1 */
.uk-modal-full {
  padding: 0;
  background: none; }
/* 2 */
.uk-modal-full .uk-modal-dialog {
  margin: 0;
  width: 100%;
  max-width: 100%;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }
/* Sections
 ========================================================================== */
.uk-modal-body {
  display: flow-root;
  padding: 0 0; }
.uk-modal-header {
  display: flow-root;
  padding: 15px 30px;
  background: #f8f8f8; }
.uk-modal-footer {
  display: flow-root;
  padding: 15px 30px;
  background: #f8f8f8; }
/*
 * Remove margin from the last-child
 */
.uk-modal-body > :last-child,
.uk-modal-header > :last-child,
.uk-modal-footer > :last-child {
  margin-bottom: 0; }
/* Title
 ========================================================================== */
.uk-modal-title {
  font-size: 2rem;
  line-height: 1.3; }
/* Close
 * Adopts `uk-close`
 ========================================================================== */
[class*='uk-modal-close-'] {
  position: absolute;
  z-index: 1001;
  top: 10px;
  right: 10px;
  padding: 5px; }
/*
 * Remove margin from adjacent element
 */
[class*='uk-modal-close-']:first-child + * {
  margin-top: 0; }
/*
 * Hover
 */
/*
 * Default
 */
/*
 * Outside
 * 1. Prevent scrollbar on small devices
 */
.uk-modal-close-outside {
  top: 0;
  /* 1 */
  right: -5px;
  -webkit-transform: translate(0, -100%);
      -ms-transform: translate(0, -100%);
          transform: translate(0, -100%);
  color: white; }
.uk-modal-close-outside:hover {
  color: #fff; }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  /* 1 */
  .uk-modal-close-outside {
    right: 0;
    -webkit-transform: translate(100%, -100%);
        -ms-transform: translate(100%, -100%);
            transform: translate(100%, -100%); } }
/*
 * Full
 */
/* ========================================================================
   Component: Lightbox
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 * 7. Prevent cancellation of pointer events while dragging
 */
.uk-lightbox {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1010;
  /* 5 */
  background: #000;
  /* 6 */
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
  /* 7 */
  -ms-touch-action: pinch-zoom;
      touch-action: pinch-zoom; }
/*
 * Open
 * 1. Center child
 * 2. Fade-in
 */
.uk-lightbox.uk-open {
  display: block;
  /* 2 */
  opacity: 1; }
/* Page
 ========================================================================== */
/*
 * Prevent scrollbars
 */
.uk-lightbox-page {
  overflow: hidden; }
/* Item
 ========================================================================== */
/*
 * 1. Center child within the viewport
 * 2. Not visible by default
 * 3. Color needed for spinner icon
 * 4. Optimize animation
 * 5. Responsiveness
 *    Using `vh` for `max-height` to fix image proportions after resize in Safari and Opera
 *    Using `vh` and `vw` to make responsive image work in IE11
 * 6. Suppress outline on focus
 */
.uk-lightbox-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  display: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 3 */
  color: rgba(255, 255, 255, 0.7);
  /* 4 */
  will-change: transform, opacity; }
/* 5 */
.uk-lightbox-items > * > * {
  max-width: 100vw;
  max-height: 100vh; }
/* 6 */
.uk-lightbox-items > :focus {
  outline: none; }
.uk-lightbox-items > * > :not(iframe) {
  width: auto;
  height: auto; }
.uk-lightbox-items > .uk-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
/* Toolbar
 ========================================================================== */
.uk-lightbox-toolbar {
  padding: 10px 10px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7); }
.uk-lightbox-toolbar > * {
  color: rgba(255, 255, 255, 0.7); }
/* Toolbar Icon (Close)
 ========================================================================== */
.uk-lightbox-toolbar-icon {
  padding: 5px;
  color: rgba(255, 255, 255, 0.7); }
/*
 * Hover
 */
.uk-lightbox-toolbar-icon:hover {
  color: #fff; }
/* Button (Slidenav)
 ========================================================================== */
/*
 * 1. Center icon vertically and horizontally
 */
.uk-lightbox-button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7);
  /* 1 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
/*
 * Hover
 */
.uk-lightbox-button:hover {
  color: #fff; }
/* Caption
 ========================================================================== */
.uk-lightbox-caption:empty {
  display: none; }
/* Iframe
 ========================================================================== */
.uk-lightbox-iframe {
  width: 80%;
  height: 80%; }
/* ========================================================================
   Component: Notification
 ========================================================================== */
/*
 * 1. Set position
 * 2. Dimensions
 */
.uk-notification {
  /* 1 */
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 20041;
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 350px; }
/* Position modifiers
========================================================================== */
.uk-notification-top-right,
.uk-notification-bottom-right {
  left: auto;
  right: 10px; }
.uk-notification-top-center,
.uk-notification-bottom-center {
  left: 50%;
  margin-left: -175px; }
.uk-notification-bottom-left,
.uk-notification-bottom-right,
.uk-notification-bottom-center {
  top: auto;
  bottom: 10px; }
/* Responsiveness
========================================================================== */
/* Phones portrait and smaller */
@media (max-width: 639px) {
  .uk-notification {
    left: 10px;
    right: 10px;
    width: auto;
    margin: 0; } }
/* Message
========================================================================== */
.uk-notification-message {
  position: relative;
  padding: 12px;
  background: #cc9966;
  color: white;
  font-size: 0.875rem;
  line-height: 1.5;
  cursor: pointer;
  -webkit-border-radius: 5px;
          border-radius: 5px;
  padding-right: 24px; }
* + .uk-notification-message {
  margin-top: 15px; }
/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-notification-close {
  display: none;
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
.uk-notification-close, .uk-notification-close:hover {
    color: white; }
.uk-notification-message:hover .uk-notification-close {
  display: block; }
/* Style modifiers
 ========================================================================== */
/*
 * Primary
 */
.uk-notification-message-primary {
  color: white;
  background-color: #cc9966; }
/*
 * Success
 */
.uk-notification-message-success {
  color: white;
  background-color: #57a749; }
/*
 * Warning
 */
.uk-notification-message-warning {
  color: white;
  background-color: #f6bb31; }
/*
 * Danger
 */
.uk-notification-message-danger {
  color: white;
  background-color: #f25d50; }
/* ========================================================================
   Component: Animation
 ========================================================================== */
[class*='uk-animation-'] {
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }
/* Animations
 ========================================================================== */
/*
 * Fade
 */
.uk-animation-fade {
  -webkit-animation-name: uk-fade;
          animation-name: uk-fade;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear; }
/*
 * Scale
 */
.uk-animation-scale-up {
  -webkit-animation-name: uk-fade-scale-02;
          animation-name: uk-fade-scale-02; }
.uk-animation-scale-down {
  -webkit-animation-name: uk-fade-scale-18;
          animation-name: uk-fade-scale-18; }
/*
 * Slide
 */
.uk-animation-slide-top {
  -webkit-animation-name: uk-fade-top;
          animation-name: uk-fade-top; }
.uk-animation-slide-bottom {
  -webkit-animation-name: uk-fade-bottom;
          animation-name: uk-fade-bottom; }
.uk-animation-slide-left {
  -webkit-animation-name: uk-fade-left;
          animation-name: uk-fade-left; }
.uk-animation-slide-right {
  -webkit-animation-name: uk-fade-right;
          animation-name: uk-fade-right; }
/*
 * Slide Small
 */
.uk-animation-slide-top-small {
  -webkit-animation-name: uk-fade-top-small;
          animation-name: uk-fade-top-small; }
.uk-animation-slide-bottom-small {
  -webkit-animation-name: uk-fade-bottom-small;
          animation-name: uk-fade-bottom-small; }
.uk-animation-slide-left-small {
  -webkit-animation-name: uk-fade-left-small;
          animation-name: uk-fade-left-small; }
.uk-animation-slide-right-small {
  -webkit-animation-name: uk-fade-right-small;
          animation-name: uk-fade-right-small; }
/*
 * Slide Medium
 */
.uk-animation-slide-top-medium {
  -webkit-animation-name: uk-fade-top-medium;
          animation-name: uk-fade-top-medium; }
.uk-animation-slide-bottom-medium {
  -webkit-animation-name: uk-fade-bottom-medium;
          animation-name: uk-fade-bottom-medium; }
.uk-animation-slide-left-medium {
  -webkit-animation-name: uk-fade-left-medium;
          animation-name: uk-fade-left-medium; }
.uk-animation-slide-right-medium {
  -webkit-animation-name: uk-fade-right-medium;
          animation-name: uk-fade-right-medium; }
/*
 * Kenburns
 */
.uk-animation-kenburns {
  -webkit-animation-name: uk-scale-kenburns;
          animation-name: uk-scale-kenburns;
  -webkit-animation-duration: 15s;
          animation-duration: 15s; }
/*
 * Shake
 */
.uk-animation-shake {
  -webkit-animation-name: uk-shake;
          animation-name: uk-shake; }
/*
 * SVG Stroke
 * The `--uk-animation-stroke` custom property contains the longest path length.
 * Set it manually or use `uk-svg="stroke-animation: true"` to set it automatically.
 * All strokes are animated by the same pace and doesn't end simultaneously.
 * To end simultaneously, `pathLength="1"` could be used, but it's not working in Safari yet.
 */
.uk-animation-stroke {
  -webkit-animation-name: uk-stroke;
          animation-name: uk-stroke;
  stroke-dasharray: var(--uk-animation-stroke);
  -webkit-animation-duration: 2s;
          animation-duration: 2s; }
/* Direction modifier
 ========================================================================== */
.uk-animation-reverse {
  animation-direction: reverse;
  -webkit-animation-timing-function: ease-in;
          animation-timing-function: ease-in; }
/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
  -webkit-animation-duration: 0.25s;
          animation-duration: 0.25s; }
/* Toggle (Hover + Focus)
========================================================================== */
/*
 * The toggle is triggered on touch devices using `:focus` and tabindex
 */
.uk-animation-toggle:not(:hover):not(:focus) [class*='uk-animation-'] {
  -webkit-animation-name: none;
          animation-name: none; }
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-animation-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent; }
/*
 * Remove outline for `tabindex`
 */
.uk-animation-toggle:focus {
  outline: none; }
/* Keyframes used by animation classes
 ========================================================================== */
/*
 * Fade
 */
@-webkit-keyframes uk-fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes uk-fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*
 * Slide Top
 */
@-webkit-keyframes uk-fade-top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
/*
 * Slide Bottom
 */
@-webkit-keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
/*
 * Slide Left
 */
@-webkit-keyframes uk-fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
/*
 * Slide Right
 */
@-webkit-keyframes uk-fade-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
/*
 * Slide Top Small
 */
@-webkit-keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
/*
 * Slide Bottom Small
 */
@-webkit-keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
/*
 * Slide Left Small
 */
@-webkit-keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
/*
 * Slide Right Small
 */
@-webkit-keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
/*
 * Slide Top Medium
 */
@-webkit-keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
/*
 * Slide Bottom Medium
 */
@-webkit-keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
/*
 * Slide Left Medium
 */
@-webkit-keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
/*
 * Slide Right Medium
 */
@-webkit-keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
/*
 * Scale Up
 */
@-webkit-keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.2);
            transform: scale(0.2); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
@keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.2);
            transform: scale(0.2); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
/*
 * Scale Down
 */
@-webkit-keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.8);
            transform: scale(1.8); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
@keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.8);
            transform: scale(1.8); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
/*
 * Kenburns
 */
@-webkit-keyframes uk-scale-kenburns {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); } }
@keyframes uk-scale-kenburns {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); } }
/*
 * Shake
 */
@-webkit-keyframes uk-shake {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-9px);
            transform: translateX(-9px); }
  20% {
    -webkit-transform: translateX(8px);
            transform: translateX(8px); }
  30% {
    -webkit-transform: translateX(-7px);
            transform: translateX(-7px); }
  40% {
    -webkit-transform: translateX(6px);
            transform: translateX(6px); }
  50% {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px); }
  60% {
    -webkit-transform: translateX(4px);
            transform: translateX(4px); }
  70% {
    -webkit-transform: translateX(-3px);
            transform: translateX(-3px); }
  80% {
    -webkit-transform: translateX(2px);
            transform: translateX(2px); }
  90% {
    -webkit-transform: translateX(-1px);
            transform: translateX(-1px); } }
@keyframes uk-shake {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-9px);
            transform: translateX(-9px); }
  20% {
    -webkit-transform: translateX(8px);
            transform: translateX(8px); }
  30% {
    -webkit-transform: translateX(-7px);
            transform: translateX(-7px); }
  40% {
    -webkit-transform: translateX(6px);
            transform: translateX(6px); }
  50% {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px); }
  60% {
    -webkit-transform: translateX(4px);
            transform: translateX(4px); }
  70% {
    -webkit-transform: translateX(-3px);
            transform: translateX(-3px); }
  80% {
    -webkit-transform: translateX(2px);
            transform: translateX(2px); }
  90% {
    -webkit-transform: translateX(-1px);
            transform: translateX(-1px); } }
/*
 * Stroke
 */
@-webkit-keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke); }
  100% {
    stroke-dashoffset: 0; } }
@keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke); }
  100% {
    stroke-dashoffset: 0; } }
/* ========================================================================
   Component: Text
 ========================================================================== */
/* Style modifiers
 ========================================================================== */
.uk-text-lead {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #333; }
.uk-text-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999; }
/* Size modifiers
 ========================================================================== */
.uk-text-small {
  font-size: 0.875rem;
  line-height: 1.5; }
.uk-text-large {
  font-size: 1.5rem;
  line-height: 1.5; }
.uk-text-default {
  font-size: 16px;
  line-height: 1.5; }
/* Weight modifier
 ========================================================================== */
.uk-text-light {
  font-weight: 300; }
.uk-text-normal {
  font-weight: 400; }
.uk-text-bold {
  font-weight: 700; }
.uk-text-lighter {
  font-weight: lighter; }
.uk-text-bolder {
  font-weight: bolder; }
/* Style modifier
 ========================================================================== */
.uk-text-italic {
  font-style: italic; }
/* Transform modifier
 ========================================================================== */
.uk-text-capitalize {
  text-transform: capitalize !important; }
.uk-text-uppercase {
  text-transform: uppercase !important; }
.uk-text-lowercase {
  text-transform: lowercase !important; }
/* Color modifiers
 ========================================================================== */
.uk-text-muted {
  color: #999 !important; }
.uk-text-emphasis {
  color: #333 !important; }
.uk-text-primary {
  color: #cc9966 !important; }
.uk-text-secondary {
  color: #222 !important; }
.uk-text-success {
  color: #57a749 !important; }
.uk-text-warning {
  color: #f6bb31 !important; }
.uk-text-danger {
  color: #f25d50 !important; }
/* Background modifier
 ========================================================================== */
/*
 * 1. The background clips to the foreground text. Works in Chrome, Firefox, Safari, Edge and Opera
 *    Default color is set to transparent
 * 2. Container fits the text
 * 3. Fallback color for IE11
 */
.uk-text-background {
  /* 1 */
  -webkit-background-clip: text;
  /* 2 */
  display: inline-block;
  /* 3 */
  color: #cc9966 !important; }
@supports (-webkit-background-clip: text) {
  .uk-text-background {
    background-color: #cc9966;
    color: transparent !important; } }
/* Alignment modifiers
 ========================================================================== */
.uk-text-left {
  text-align: left !important; }
.uk-text-right {
  text-align: right !important; }
.uk-text-center {
  text-align: center !important; }
.uk-text-justify {
  text-align: justify !important; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-text-left\@s {
    text-align: left !important; }
  .uk-text-right\@s {
    text-align: right !important; }
  .uk-text-center\@s {
    text-align: center !important; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-text-left\@m {
    text-align: left !important; }
  .uk-text-right\@m {
    text-align: right !important; }
  .uk-text-center\@m {
    text-align: center !important; } }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-text-left\@l {
    text-align: left !important; }
  .uk-text-right\@l {
    text-align: right !important; }
  .uk-text-center\@l {
    text-align: center !important; } }
/* Large screen and bigger */
@media (min-width: 1200px) {
  .uk-text-left\@xl {
    text-align: left !important; }
  .uk-text-right\@xl {
    text-align: right !important; }
  .uk-text-center\@xl {
    text-align: center !important; } }
/*
 * Vertical
 */
.uk-text-top {
  vertical-align: top !important; }
.uk-text-middle {
  vertical-align: middle !important; }
.uk-text-bottom {
  vertical-align: bottom !important; }
.uk-text-baseline {
  vertical-align: baseline !important; }
/* Wrap modifiers
 ========================================================================== */
/*
 * Prevent text from wrapping onto multiple lines
 */
.uk-text-nowrap {
  white-space: nowrap; }
/*
 * 1. Make sure a max-width is set after which truncation can occur
 * 2. Prevent text from wrapping onto multiple lines, and truncate with an ellipsis
 * 3. Fix for table cells
 */
.uk-text-truncate {
  /* 1 */
  max-width: 100%;
  /* 2 */
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  white-space: nowrap; }
/* 2 */
th.uk-text-truncate,
td.uk-text-truncate {
  max-width: 0; }
/*
 * 1. Wrap long words onto the next line and break them if they are too long to fit
 * 2. Legacy `word-wrap` as fallback for `overflow-wrap`
 * 3. Fix `overflow-wrap` which doesn't work with table cells in Chrome, Opera, IE11 and Edge
 *    Must use `break-all` to support IE11 and Edge
 * Note: Not using `hyphens: auto;` because it hyphenates text even if not needed
 */
.uk-text-break {
  /* 1 */
  overflow-wrap: break-word;
  /* 2 */
  word-wrap: break-word; }
/* 3 */
th.uk-text-break,
td.uk-text-break {
  word-break: break-all; }
/* ========================================================================
   Component: Flex
 ========================================================================== */
.uk-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
.uk-flex-inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; }
/*
 * Remove pseudo elements created by micro clearfix as precaution
 */
.uk-flex::before,
.uk-flex::after,
.uk-flex-inline::before,
.uk-flex-inline::after {
  display: none; }
/* Alignment
 ========================================================================== */
/*
 * Align items along the main axis of the current line of the flex container
 * Row: Horizontal
 */
.uk-flex-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
.uk-flex-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
.uk-flex-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
.uk-flex-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
.uk-flex-around {
  -ms-flex-pack: distribute;
      justify-content: space-around; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-flex-left\@s {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@s {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .uk-flex-right\@s {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@s {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@s {
    -ms-flex-pack: distribute;
        justify-content: space-around; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-flex-left\@m {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@m {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .uk-flex-right\@m {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@m {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@m {
    -ms-flex-pack: distribute;
        justify-content: space-around; } }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-flex-left\@l {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@l {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .uk-flex-right\@l {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@l {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@l {
    -ms-flex-pack: distribute;
        justify-content: space-around; } }
/* Large screen and bigger */
@media (min-width: 1200px) {
  .uk-flex-left\@xl {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@xl {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .uk-flex-right\@xl {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@xl {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@xl {
    -ms-flex-pack: distribute;
        justify-content: space-around; } }
/*
 * Align items in the cross axis of the current line of the flex container
 * Row: Vertical
 */
.uk-flex-stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
.uk-flex-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
.uk-flex-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
.uk-flex-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }
/* Direction
 ========================================================================== */
.uk-flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
.uk-flex-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }
.uk-flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
.uk-flex-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
/* Wrap
 ========================================================================== */
.uk-flex-nowrap {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
.uk-flex-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
.uk-flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse;
      flex-wrap: wrap-reverse; }
/*
 * Aligns items within the flex container when there is extra space in the cross-axis
 * Only works if there is more than one line of flex items
 */
.uk-flex-wrap-stretch {
  -ms-flex-line-pack: stretch;
      align-content: stretch; }
.uk-flex-wrap-top {
  -ms-flex-line-pack: start;
      align-content: flex-start; }
.uk-flex-wrap-middle {
  -ms-flex-line-pack: center;
      align-content: center; }
.uk-flex-wrap-bottom {
  -ms-flex-line-pack: end;
      align-content: flex-end; }
.uk-flex-wrap-between {
  -ms-flex-line-pack: justify;
      align-content: space-between; }
.uk-flex-wrap-around {
  -ms-flex-line-pack: distribute;
      align-content: space-around; }
/* Item ordering
 ========================================================================== */
/*
 * Default is 0
 */
.uk-flex-first {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1; }
.uk-flex-last {
  -webkit-box-ordinal-group: 100;
      -ms-flex-order: 99;
          order: 99; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-flex-first\@s {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .uk-flex-last\@s {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-flex-first\@m {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .uk-flex-last\@m {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99; } }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-flex-first\@l {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .uk-flex-last\@l {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99; } }
/* Large screen and bigger */
@media (min-width: 1200px) {
  .uk-flex-first\@xl {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .uk-flex-last\@xl {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99; } }
/* Item dimensions
 ========================================================================== */
/*
 * Initial: 0 1 auto
 * Content dimensions, but shrinks
 */
/*
 * No Flex: 0 0 auto
 * Content dimensions
 */
.uk-flex-none {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none; }
/*
 * Relative Flex: 1 1 auto
 * Space is allocated considering content
 */
.uk-flex-auto {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto; }
/*
 * Absolute Flex: 1 1 0%
 * Space is allocated solely based on flex
 */
.uk-flex-1 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }
/* ========================================================================
   Component: Margin
 ========================================================================== */
/*
 * Default
 */
.uk-margin {
  margin-bottom: 20px; }
* + .uk-margin {
  margin-top: 20px !important; }
.uk-margin-top {
  margin-top: 20px !important; }
.uk-margin-bottom {
  margin-bottom: 20px !important; }
.uk-margin-left {
  margin-left: 20px !important; }
.uk-margin-right {
  margin-right: 20px !important; }
/* Small
 ========================================================================== */
.uk-margin-small {
  margin-bottom: 10px; }
* + .uk-margin-small {
  margin-top: 10px !important; }
.uk-margin-small-top {
  margin-top: 10px !important; }
.uk-margin-small-bottom {
  margin-bottom: 10px !important; }
.uk-margin-small-left {
  margin-left: 10px !important; }
.uk-margin-small-right {
  margin-right: 10px !important; }
/* Medium
 ========================================================================== */
.uk-margin-medium {
  margin-bottom: 40px; }
* + .uk-margin-medium {
  margin-top: 40px !important; }
.uk-margin-medium-top {
  margin-top: 40px !important; }
.uk-margin-medium-bottom {
  margin-bottom: 40px !important; }
.uk-margin-medium-left {
  margin-left: 40px !important; }
.uk-margin-medium-right {
  margin-right: 40px !important; }
/* Large
 ========================================================================== */
.uk-margin-large {
  margin-bottom: 40px; }
* + .uk-margin-large {
  margin-top: 40px !important; }
.uk-margin-large-top {
  margin-top: 40px !important; }
.uk-margin-large-bottom {
  margin-bottom: 40px !important; }
.uk-margin-large-left {
  margin-left: 40px !important; }
.uk-margin-large-right {
  margin-right: 40px !important; }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-margin-large {
    margin-bottom: 70px; }
  * + .uk-margin-large {
    margin-top: 70px !important; }
  .uk-margin-large-top {
    margin-top: 70px !important; }
  .uk-margin-large-bottom {
    margin-bottom: 70px !important; }
  .uk-margin-large-left {
    margin-left: 70px !important; }
  .uk-margin-large-right {
    margin-right: 70px !important; } }
/* XLarge
 ========================================================================== */
.uk-margin-xlarge {
  margin-bottom: 70px; }
* + .uk-margin-xlarge {
  margin-top: 70px !important; }
.uk-margin-xlarge-top {
  margin-top: 70px !important; }
.uk-margin-xlarge-bottom {
  margin-bottom: 70px !important; }
.uk-margin-xlarge-left {
  margin-left: 70px !important; }
.uk-margin-xlarge-right {
  margin-right: 70px !important; }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-margin-xlarge {
    margin-bottom: 140px; }
  * + .uk-margin-xlarge {
    margin-top: 140px !important; }
  .uk-margin-xlarge-top {
    margin-top: 140px !important; }
  .uk-margin-xlarge-bottom {
    margin-bottom: 140px !important; }
  .uk-margin-xlarge-left {
    margin-left: 140px !important; }
  .uk-margin-xlarge-right {
    margin-right: 140px !important; } }
/* Auto
 ========================================================================== */
.uk-margin-auto {
  margin-left: auto !important;
  margin-right: auto !important; }
.uk-margin-auto-top {
  margin-top: auto !important; }
.uk-margin-auto-bottom {
  margin-bottom: auto !important; }
.uk-margin-auto-left {
  margin-left: auto !important; }
.uk-margin-auto-right {
  margin-right: auto !important; }
.uk-margin-auto-vertical {
  margin-top: auto !important;
  margin-bottom: auto !important; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-margin-auto\@s {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@s {
    margin-left: auto !important; }
  .uk-margin-auto-right\@s {
    margin-right: auto !important; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-margin-auto\@m {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@m {
    margin-left: auto !important; }
  .uk-margin-auto-right\@m {
    margin-right: auto !important; } }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-margin-auto\@l {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@l {
    margin-left: auto !important; }
  .uk-margin-auto-right\@l {
    margin-right: auto !important; } }
/* Large screen and bigger */
@media (min-width: 1200px) {
  .uk-margin-auto\@xl {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@xl {
    margin-left: auto !important; }
  .uk-margin-auto-right\@xl {
    margin-right: auto !important; } }
/* Remove
 ========================================================================== */
.uk-margin-remove {
  margin: 0 !important; }
.uk-margin-remove-top {
  margin-top: 0 !important; }
.uk-margin-remove-bottom {
  margin-bottom: 0 !important; }
.uk-margin-remove-left {
  margin-left: 0 !important; }
.uk-margin-remove-right {
  margin-right: 0 !important; }
.uk-margin-remove-vertical {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }
.uk-margin-remove-adjacent + *,
.uk-margin-remove-first-child > :first-child {
  margin-top: 0 !important; }
.uk-margin-remove-last-child > :last-child {
  margin-bottom: 0 !important; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-margin-remove-left\@s {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@s {
    margin-right: 0 !important; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-margin-remove-left\@m {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@m {
    margin-right: 0 !important; } }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-margin-remove-left\@l {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@l {
    margin-right: 0 !important; } }
/* Large screen and bigger */
@media (min-width: 1200px) {
  .uk-margin-remove-left\@xl {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@xl {
    margin-right: 0 !important; } }
/* ========================================================================
   Component: Position
 ========================================================================== */
/* Directions
 ========================================================================== */
/*
 * 1. Prevent content overflow if `max-width: 100%` is used inside position container.
 */
[class*='uk-position-top'],
[class*='uk-position-bottom'],
[class*='uk-position-left'],
[class*='uk-position-right'],
[class*='uk-position-center'] {
  position: absolute !important;
  /* 1 */
  max-width: 100%; }
/* Edges
 ========================================================================== */
/* Don't use `width: 100%` because it is wrong if the parent has padding. */
.uk-position-top {
  top: 0;
  left: 0;
  right: 0; }
.uk-position-bottom {
  bottom: 0;
  left: 0;
  right: 0; }
.uk-position-left {
  top: 0;
  bottom: 0;
  left: 0; }
.uk-position-right {
  top: 0;
  bottom: 0;
  right: 0; }
/* Corners
 ========================================================================== */
.uk-position-top-left {
  top: 0;
  left: 0; }
.uk-position-top-right {
  top: 0;
  right: 0; }
.uk-position-bottom-left {
  bottom: 0;
  left: 0; }
.uk-position-bottom-right {
  bottom: 0;
  right: 0; }
/*
 * Center
 * 1. Fix text wrapping if content is larger than 50% of the container.
 */
.uk-position-center {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  /* 1 */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
/* Vertical */
[class*='uk-position-center-left'],
[class*='uk-position-center-right'] {
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
.uk-position-center-left {
  left: 0; }
.uk-position-center-right {
  right: 0; }
.uk-position-center-left-out {
  right: 100%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content; }
.uk-position-center-right-out {
  left: 100%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content; }
/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center {
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  /* 1 */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
.uk-position-top-center {
  top: 0; }
.uk-position-bottom-center {
  bottom: 0; }
/* Cover
 ========================================================================== */
.uk-position-cover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }
/* Utility
 ========================================================================== */
.uk-position-relative {
  position: relative !important; }
.uk-position-absolute {
  position: absolute !important; }
.uk-position-fixed {
  position: fixed !important; }
.uk-position-z-index {
  z-index: 1; }
/* Margin modifier
 ========================================================================== */
/*
 * Small
 */
.uk-position-small {
  max-width: calc(100% - (15px * 2));
  margin: 15px; }
.uk-position-small.uk-position-center {
  -webkit-transform: translate(-50%, -50%) translate(-15px, -15px);
      -ms-transform: translate(-50%, -50%) translate(-15px, -15px);
          transform: translate(-50%, -50%) translate(-15px, -15px); }
.uk-position-small[class*='uk-position-center-left'],
.uk-position-small[class*='uk-position-center-right'] {
  -webkit-transform: translateY(-50%) translateY(-15px);
      -ms-transform: translateY(-50%) translateY(-15px);
          transform: translateY(-50%) translateY(-15px); }
.uk-position-small.uk-position-top-center,
.uk-position-small.uk-position-bottom-center {
  -webkit-transform: translateX(-50%) translateX(-15px);
      -ms-transform: translateX(-50%) translateX(-15px);
          transform: translateX(-50%) translateX(-15px); }
/*
 * Medium
 */
.uk-position-medium {
  max-width: calc(100% - (30px * 2));
  margin: 30px; }
.uk-position-medium.uk-position-center {
  -webkit-transform: translate(-50%, -50%) translate(-30px, -30px);
      -ms-transform: translate(-50%, -50%) translate(-30px, -30px);
          transform: translate(-50%, -50%) translate(-30px, -30px); }
.uk-position-medium[class*='uk-position-center-left'],
.uk-position-medium[class*='uk-position-center-right'] {
  -webkit-transform: translateY(-50%) translateY(-30px);
      -ms-transform: translateY(-50%) translateY(-30px);
          transform: translateY(-50%) translateY(-30px); }
.uk-position-medium.uk-position-top-center,
.uk-position-medium.uk-position-bottom-center {
  -webkit-transform: translateX(-50%) translateX(-30px);
      -ms-transform: translateX(-50%) translateX(-30px);
          transform: translateX(-50%) translateX(-30px); }
/*
 * Large
 */
.uk-position-large {
  max-width: calc(100% - (30px * 2));
  margin: 30px; }
.uk-position-large.uk-position-center {
  -webkit-transform: translate(-50%, -50%) translate(-30px, -30px);
      -ms-transform: translate(-50%, -50%) translate(-30px, -30px);
          transform: translate(-50%, -50%) translate(-30px, -30px); }
.uk-position-large[class*='uk-position-center-left'],
.uk-position-large[class*='uk-position-center-right'] {
  -webkit-transform: translateY(-50%) translateY(-30px);
      -ms-transform: translateY(-50%) translateY(-30px);
          transform: translateY(-50%) translateY(-30px); }
.uk-position-large.uk-position-top-center,
.uk-position-large.uk-position-bottom-center {
  -webkit-transform: translateX(-50%) translateX(-30px);
      -ms-transform: translateX(-50%) translateX(-30px);
          transform: translateX(-50%) translateX(-30px); }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-position-large {
    max-width: calc(100% - (50px * 2));
    margin: 50px; }
  .uk-position-large.uk-position-center {
    -webkit-transform: translate(-50%, -50%) translate(-50px, -50px);
        -ms-transform: translate(-50%, -50%) translate(-50px, -50px);
            transform: translate(-50%, -50%) translate(-50px, -50px); }
  .uk-position-large[class*='uk-position-center-left'],
  .uk-position-large[class*='uk-position-center-right'] {
    -webkit-transform: translateY(-50%) translateY(-50px);
        -ms-transform: translateY(-50%) translateY(-50px);
            transform: translateY(-50%) translateY(-50px); }
  .uk-position-large.uk-position-top-center,
  .uk-position-large.uk-position-bottom-center {
    -webkit-transform: translateX(-50%) translateX(-50px);
        -ms-transform: translateX(-50%) translateX(-50px);
            transform: translateX(-50%) translateX(-50px); } }
/* ========================================================================
   Component: Transition
 ========================================================================== */
/* Toggle (Hover + Focus)
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-transition-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent; }
/*
 * Remove outline for `tabindex`
 */
.uk-transition-toggle:focus {
  outline: none; }
/* Transitions
 ========================================================================== */
/*
 * The toggle is triggered on touch devices by two methods:
 * 1. Using `:focus` and tabindex
 * 2. Using `:hover` and a `touchstart` event listener registered on the document
 *    (Doesn't work on Surface touch devices)
 *
 * Note: Transitions don't work with `uk-postion-center-*` classes because they also use `transform`,
 *       therefore it's recommended to use an extra `div` for the transition.
 */
.uk-transition-fade,
[class*='uk-transition-scale'],
[class*='uk-transition-slide'] {
  -webkit-transition: 0.3s ease-out;
  -o-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  transition-property: opacity, transform, -webkit-filter;
  -webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, -webkit-transform, -webkit-filter;
  -o-transition-property: opacity, transform, filter;
  transition-property: opacity, transform, filter;
  transition-property: opacity, transform, filter, -webkit-transform, -webkit-filter;
  transition-property: opacity, transform, filter, -webkit-filter;
  opacity: 0; }
/*
 * Fade
 */
.uk-transition-toggle:hover .uk-transition-fade,
.uk-transition-toggle:focus .uk-transition-fade,
.uk-transition-active.uk-active .uk-transition-fade {
  opacity: 1; }
/*
 * Scale
 */
.uk-transition-scale-up {
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1); }
.uk-transition-scale-down {
  -webkit-transform: scale(1.1, 1.1);
      -ms-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1); }
/* Show */
.uk-transition-toggle:hover .uk-transition-scale-up,
.uk-transition-toggle:focus .uk-transition-scale-up,
.uk-transition-active.uk-active .uk-transition-scale-up {
  opacity: 1;
  -webkit-transform: scale(1.1, 1.1);
      -ms-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1); }
.uk-transition-toggle:hover .uk-transition-scale-down,
.uk-transition-toggle:focus .uk-transition-scale-down,
.uk-transition-active.uk-active .uk-transition-scale-down {
  opacity: 1;
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1); }
/*
 * Slide
 */
.uk-transition-slide-top {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }
.uk-transition-slide-bottom {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%); }
.uk-transition-slide-left {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }
.uk-transition-slide-right {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }
.uk-transition-slide-top-small {
  -webkit-transform: translateY(-10px);
      -ms-transform: translateY(-10px);
          transform: translateY(-10px); }
.uk-transition-slide-bottom-small {
  -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
          transform: translateY(10px); }
.uk-transition-slide-left-small {
  -webkit-transform: translateX(-10px);
      -ms-transform: translateX(-10px);
          transform: translateX(-10px); }
.uk-transition-slide-right-small {
  -webkit-transform: translateX(10px);
      -ms-transform: translateX(10px);
          transform: translateX(10px); }
.uk-transition-slide-top-medium {
  -webkit-transform: translateY(-50px);
      -ms-transform: translateY(-50px);
          transform: translateY(-50px); }
.uk-transition-slide-bottom-medium {
  -webkit-transform: translateY(50px);
      -ms-transform: translateY(50px);
          transform: translateY(50px); }
.uk-transition-slide-left-medium {
  -webkit-transform: translateX(-50px);
      -ms-transform: translateX(-50px);
          transform: translateX(-50px); }
.uk-transition-slide-right-medium {
  -webkit-transform: translateX(50px);
      -ms-transform: translateX(50px);
          transform: translateX(50px); }
/* Show */
.uk-transition-toggle:hover [class*='uk-transition-slide'],
.uk-transition-toggle:focus [class*='uk-transition-slide'],
.uk-transition-active.uk-active [class*='uk-transition-slide'] {
  opacity: 1;
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0); }
/* Opacity modifier
 ========================================================================== */
.uk-transition-opaque {
  opacity: 1; }
/* Duration modifiers
 ========================================================================== */
.uk-transition-slow {
  -webkit-transition-duration: 0.7s;
       -o-transition-duration: 0.7s;
          transition-duration: 0.7s; }
/* ========================================================================
   Component: Print
 ========================================================================== */
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: black !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }
.TheContent h3, .OrderedCard__title, .FeaturedCard__title, .TheContent h2, .FooterNav__inner, .FooterServices__heading, .Modal__heading--default, .AboutDocuments__heading, .ProjectPage__subHeading, .ContactsPage__subtitle, .TheContent h1, .SiteOffCanvasNavigation__inner, .ProjectCard__title, .HomeSection__title, .ServiceCard__heading, .AboutOrganizationsItem__title, .ProjectPage__heading, .ServicePage__heading, .ContactsPage__title, .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large, .AboutCertificates__title, .HomeAbout__title, .HomeProject__title, .HomeMap__title, .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading, .FeaturedSliderPanel__text {
  font-family: "Bebas Neue", cursive;
  font-weight: 700;
  text-transform: uppercase; }
.HomeAbout__heading, .HomeSections__heading, .HomeProjects__heading, .HomeMap__heading, .WrappedPartners__heading, .AboutHero__heading--small, .ProjectsPage__heading, .ServicesPage__heading, .ContactsPage__heading {
  color: #3d475f;
  font-family: "Manrope", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 2.15;
  text-transform: uppercase; }
.TheContent h3 {
  font-size: 1.125rem; }
@media (max-width: 899px) {
    .TheContent h3 {
      font-size: 1rem; } }
@media (max-width: 639px) {
    .TheContent h3 {
      font-size: 0.875rem; } }
.OrderedCard__title, .FeaturedCard__title, .TheContent h2, .FooterNav__inner, .FooterServices__heading {
  font-size: 1.375rem;
  line-height: 1; }
.Modal__heading--default, .AboutDocuments__heading, .ProjectPage__subHeading, .ContactsPage__subtitle {
  font-size: 1.75rem;
  line-height: 1.25; }
@media (max-width: 999px) {
  .OrderedCard__title, .FeaturedCard__title {
    font-size: 1.25rem; } }
@media (max-width: 899px) {
  .OrderedCard__title, .FeaturedCard__title {
    font-size: 1.125rem; } }
@media (max-width: 639px) {
  .OrderedCard__title, .FeaturedCard__title {
    font-size: 1rem; } }
.TheContent h1, .SiteOffCanvasNavigation__inner, .ProjectCard__title, .HomeSection__title, .ServiceCard__heading, .AboutOrganizationsItem__title, .ProjectPage__heading, .ServicePage__heading, .ContactsPage__title {
  font-size: 2.375rem;
  line-height: 1.11765; }
@media (max-width: 1199px) {
    .TheContent h1, .SiteOffCanvasNavigation__inner, .ProjectCard__title, .HomeSection__title, .ServiceCard__heading, .AboutOrganizationsItem__title, .ProjectPage__heading, .ServicePage__heading, .ContactsPage__title {
      font-size: 2.25rem; } }
@media (max-width: 999px) {
    .TheContent h1, .SiteOffCanvasNavigation__inner, .ProjectCard__title, .HomeSection__title, .ServiceCard__heading, .AboutOrganizationsItem__title, .ProjectPage__heading, .ServicePage__heading, .ContactsPage__title {
      font-size: 2.125rem; } }
@media (max-width: 899px) {
    .TheContent h1, .SiteOffCanvasNavigation__inner, .ProjectCard__title, .HomeSection__title, .ServiceCard__heading, .AboutOrganizationsItem__title, .ProjectPage__heading, .ServicePage__heading, .ContactsPage__title {
      font-size: 2rem; } }
@media (max-width: 639px) {
    .TheContent h1, .SiteOffCanvasNavigation__inner, .ProjectCard__title, .HomeSection__title, .ServiceCard__heading, .AboutOrganizationsItem__title, .ProjectPage__heading, .ServicePage__heading, .ContactsPage__title {
      font-size: 1.875rem; } }
.Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large, .AboutCertificates__title {
  line-height: 0.865;
  font-size: 3rem; }
@media (max-width: 1199px) {
    .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large, .AboutCertificates__title {
      font-size: 2.875rem; } }
@media (max-width: 999px) {
    .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large, .AboutCertificates__title {
      font-size: 2.75rem; } }
@media (max-width: 899px) {
    .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large, .AboutCertificates__title {
      font-size: 2.5rem; } }
@media (max-width: 639px) {
    .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large, .AboutCertificates__title {
      font-size: 2.375rem; } }
.HomeAbout__title, .HomeProject__title, .HomeMap__title, .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading {
  font-size: 3.75rem;
  line-height: 0.9166; }
@media (max-width: 1199px) {
    .HomeAbout__title, .HomeProject__title, .HomeMap__title, .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading {
      font-size: 3.4375rem; } }
@media (max-width: 999px) {
    .HomeAbout__title, .HomeProject__title, .HomeMap__title, .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading {
      font-size: 3.125rem; } }
@media (max-width: 899px) {
    .HomeAbout__title, .HomeProject__title, .HomeMap__title, .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading {
      font-size: 2.8125rem; } }
@media (max-width: 639px) {
    .HomeAbout__title, .HomeProject__title, .HomeMap__title, .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading {
      font-size: 2.5rem; } }
.HomeAbout__title strong, .HomeMap__title strong, .AboutMap__heading strong {
  color: #3b65cf;
  font-weight: 700; }
.FeaturedSlider__description, .AboutHero__description {
  color: white;
  font-size: 1.375rem;
  line-height: 1.182; }
@media (max-width: 999px) {
    .FeaturedSlider__description, .AboutHero__description {
      font-size: 1.25rem;
      line-height: 1.25; } }
@media (max-width: 899px) {
    .FeaturedSlider__description, .AboutHero__description {
      font-size: 1.125rem; } }
@media (max-width: 639px) {
    .FeaturedSlider__description, .AboutHero__description {
      font-size: 1rem; } }
.HomeAbout__description, .HomeMap__description, .Modal__description, .AboutCertificates__description, .AboutMap__description, .ErrorPage__description {
  color: rgba(61, 71, 95, 0.8);
  font-size: 1.125rem;
  line-height: 1.777; }
@media (max-width: 899px) {
    .HomeAbout__description, .HomeMap__description, .Modal__description, .AboutCertificates__description, .AboutMap__description, .ErrorPage__description {
      font-size: 1rem;
      line-height: 1.8; } }
@media (max-width: 639px) {
    .HomeAbout__description, .HomeMap__description, .Modal__description, .AboutCertificates__description, .AboutMap__description, .ErrorPage__description {
      font-size: 0.875rem;
      line-height: 1.855; } }
.HomeProject__description, .AboutNumbersItem__description {
  color: rgba(61, 71, 95, 0.8);
  font-size: 0.875rem;
  line-height: 1.285; }
@media (max-width: 639px) {
    .HomeProject__description, .AboutNumbersItem__description {
      font-size: 0.75rem;
      line-height: 1.5; } }
.TheContent {
  color: rgba(61, 71, 95, 0.8);
  font-size: 1.125rem;
  line-height: 1.7777; }
@media (max-width: 639px) {
    .TheContent {
      font-size: 1rem; } }
.TheContent > *:first-child {
    margin-top: 0; }
.TheContent > *:last-child {
    margin-bottom: 0; }
.TheContent h2 {
    margin-top: 80px; }
@media (max-width: 999px) {
      .TheContent h2 {
        margin-top: 64px; } }
@media (max-width: 899px) {
      .TheContent h2 {
        margin-top: 48px; } }
@media (max-width: 639px) {
      .TheContent h2 {
        margin-top: 40px; } }
.TheContent h3 {
    margin-top: 60px; }
@media (max-width: 999px) {
      .TheContent h3 {
        margin-top: 52px; } }
@media (max-width: 899px) {
      .TheContent h3 {
        margin-top: 40px; } }
@media (max-width: 639px) {
      .TheContent h3 {
        margin-top: 24px; } }
.TheContent a {
    color: #3b65cf;
    -webkit-text-decoration: underline transparent;
            text-decoration: underline transparent;
    transition: -webkit-text-decoration-color 0.2s ease-out;
    -webkit-transition: -webkit-text-decoration-color 0.2s ease-out;
    -o-transition: text-decoration-color 0.2s ease-out;
    transition: text-decoration-color 0.2s ease-out;
    transition: text-decoration-color 0.2s ease-out, -webkit-text-decoration-color 0.2s ease-out; }
.TheContent a:hover, .TheContent a:focus {
      -webkit-text-decoration-color: inherit;
              text-decoration-color: inherit; }
.TheContent img {
    margin-top: 20px;
    width: 100%; }
@media (max-width: 899px) {
      .TheContent img {
        margin-top: 16px; } }
.TheContent img + img {
    margin-top: 40px; }
@media (max-width: 899px) {
      .TheContent img + img {
        margin-top: 32px; } }
@media (max-width: 639px) {
      .TheContent img + img {
        margin-top: 24px; } }
.TheContent p {
    margin: 20px 0; }
@media (max-width: 899px) {
      .TheContent p {
        margin: 16px 0; } }
.TheContent ul,
  .TheContent ol {
    margin-top: 20px; }
@media (max-width: 899px) {
      .TheContent ul,
      .TheContent ol {
        margin-top: 16px; } }
.TheContent ul li,
    .TheContent ol li {
      margin-bottom: 10px;
      padding-left: 29px;
      position: relative; }
.TheContent ul li::before,
      .TheContent ol li::before {
        left: 0;
        position: absolute; }
.TheContent ul li:last-of-type,
      .TheContent ol li:last-of-type {
        margin-bottom: 0; }
.TheContent ul {
    --unordered-list-bullet-color: #3b65cf;
    --unordered-list-bullet-border-color: #3b65cf; }
.TheContent ul li::before {
      background-color: var(--unordered-list-bullet-color);
      border: 1px solid var(--unordered-list-bullet-border-color);
      -webkit-border-radius: 50%;
              border-radius: 50%;
      content: "";
      width: 9px;
      height: 9px;
      top: 12px; }
.TheContent ul li > ul {
      --unordered-list-bullet-color: white;
      --unordered-list-bullet-border-color: #3b65cf;
      margin-left: 12px; }
.TheContent ol {
    counter-reset: list-counter; }
.TheContent ol li {
      counter-increment: list-counter; }
.TheContent ol li::before {
        color: inherit;
        content: counter(list-counter) ".";
        font-size: inherit;
        font-weight: 700;
        top: 0; }
.TheContent strong,
  .TheContent b {
    color: inherit;
    font-weight: 700; }
.TheContent .responsiveEmbed {
    margin: 30px 0 80px; }
@media (max-width: 899px) {
      .TheContent .responsiveEmbed {
        margin: 24px 0 64px; } }
@media (max-width: 639px) {
      .TheContent .responsiveEmbed {
        margin: 20px 0 48px; } }
.SiteForm__button {
  position: relative; }
.SiteForm__button:disabled:not(.is-all-loaded) .SiteForm__spinner {
    opacity: 1; }
.SiteForm__button:disabled:not(.is-all-loaded) .SiteForm__buttonText {
    opacity: 0; }
.is-all-loaded.SiteForm__button {
    background-color: #3b65cf;
    color: white;
    cursor: default;
    opacity: 0.8; }
.SiteForm__buttonText {
  -webkit-transition: opacity 0.2s ease-out;
  -o-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out; }
.SiteForm__spinner {
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.2s ease-out;
  -o-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out; }
.Layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  min-height: 100vh; }
.Layout__header, .Layout__body {
    position: relative; }
.Layout__header {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    z-index: 2; }
.Layout__body {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    z-index: 1; }
.Layout__footer {
    -ms-flex-negative: 0;
        flex-shrink: 0; }
.Layout__container--medium {
    max-width: 1045px; }
.Layout__container--noPadding {
    padding: 0; }
.SiteOffCanvas__image, .SiteGallery__image img, .ProjectCard__image img, .Consultation__image, .FeaturedSlider__image, .HomeSection__image img, .FeaturedCard__image, .ServiceCard__image img, .Modal__background img, .AboutHero__image img, .AboutFeatures__image img, .ProjectPage__hero img, .ErrorPage__image, .ProjectCard__image::before, .ProjectCard__overlay, .Consultation__overlay, .FeaturedCard__overlay, .FeaturedCard__content, .HomeProject__imageInner::before, .Modal__background, .Modal__background::before, .AboutHero__image, .AboutHero__image::before, .AboutFeatures__image, .AboutFeatures__image::before, .AboutMap::before, .ContactsMap__map {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }
.SiteOffCanvas__image, .SiteGallery__image img, .ProjectCard__image img, .Consultation__image, .FeaturedSlider__image, .HomeSection__image img, .FeaturedCard__image, .ServiceCard__image img, .Modal__background img, .AboutHero__image img, .AboutFeatures__image img, .ProjectPage__hero img, .ErrorPage__image {
  -o-object-fit: cover;
     object-fit: cover; }
.SiteGallery__image, .ProjectCard__image, .ServiceCard__image, .ProjectPage__hero {
  background-color: rgba(13, 100, 172, 0.1);
  position: relative; }
.FeaturedSliderScroll__circle, .HomeProjectsMore__circle, .ButtonArrow__circle, .BackButton__circle, .FeaturedSliderScroll__circleInner, .FeaturedCard__circle, .HomeProjectsMore__circleInner, .SiteHeader__hamburger, .HeaderNav, .SiteOffCanvas__close, .SiteOffCanvasNavigation__chevron, .Partners__slide, .Modal__body.--center, .Modal__close, .ErrorPage {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
.ProjectPage, .ProjectsPage, .ServicesPage, .ServicePage, .ArticlePage__main, .ContactsPage {
  padding-top: 60px;
  padding-bottom: 140px; }
@media (max-width: 999px) {
    .ProjectPage, .ProjectsPage, .ServicesPage, .ServicePage, .ArticlePage__main, .ContactsPage {
      padding-top: 48px;
      padding-bottom: 120px; } }
@media (max-width: 899px) {
    .ProjectPage, .ProjectsPage, .ServicesPage, .ServicePage, .ArticlePage__main, .ContactsPage {
      padding-top: 36px;
      padding-bottom: 90px; } }
@media (max-width: 639px) {
    .ProjectPage, .ProjectsPage, .ServicesPage, .ServicePage, .ArticlePage__main, .ContactsPage {
      padding-top: 24px;
      padding-bottom: 65px; } }
.HeaderNav__dropdown::after, .Consultation::after, .OrderedCard::before, .Modal__body--small::before {
  background-color: #3b65cf;
  bottom: -1px;
  content: "";
  height: 4px;
  left: -1px;
  position: absolute;
  width: calc(100% + 1px); }
.FeaturedSliderScroll__circle, .HomeProjectsMore__circle {
  background-color: rgba(59, 101, 207, 0.2);
  -webkit-border-radius: 50%;
          border-radius: 50%;
  padding: 9px;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: -webkit-transform 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  -o-transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out; }
.ButtonArrow__circle, .BackButton__circle, .FeaturedSliderScroll__circleInner, .FeaturedCard__circle, .HomeProjectsMore__circleInner {
  background-color: #3b65cf;
  -webkit-border-radius: 50%;
          border-radius: 50%;
  color: white;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 27px;
  height: 27px;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  -webkit-transition-property: color, -webkit-transform;
  transition-property: color, -webkit-transform;
  -o-transition-property: transform, color;
  transition-property: transform, color;
  transition-property: transform, color, -webkit-transform; }
.FeaturedCard--noImage .ButtonArrow__circle, .FeaturedCard--noImage .BackButton__circle, .FeaturedCard--noImage .FeaturedSliderScroll__circleInner, .FeaturedCard--noImage .FeaturedCard__circle, .FeaturedCard--noImage .HomeProjectsMore__circleInner {
  background-color: white;
  color: #3b65cf; }
@media (min-width: 1366px) {
  .ProjectPage__back, .ServicePage__back {
    margin-left: -68px;
    position: absolute;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); } }
@media (max-width: 1365px) {
  .ProjectPage__back, .ServicePage__back {
    margin-bottom: 16px; } }
.ProjectCard__image img, .HomeProject__imageInner img, .ProjectPage__galleryItem img {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 0.375s ease-out;
  transition: -webkit-transform 0.375s ease-out;
  -o-transition: transform 0.375s ease-out;
  transition: transform 0.375s ease-out;
  transition: transform 0.375s ease-out, -webkit-transform 0.375s ease-out; }
.HomeSection__number, .ServiceCard__number {
  color: #3b65cf;
  font-family: "Bebas Neue", cursive;
  font-size: 10.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 0.2295;
  position: absolute; }
@media (max-width: 1199px) {
    .HomeSection__number, .ServiceCard__number {
      font-size: 8.75rem; } }
@media (max-width: 999px) {
    .HomeSection__number, .ServiceCard__number {
      font-size: 6.875rem; } }
@media (max-width: 899px) {
    .HomeSection__number, .ServiceCard__number {
      font-size: 5.625rem; } }
@media (max-width: 639px) {
    .HomeSection__number, .ServiceCard__number {
      font-size: 4.375rem; } }
.no-js .show-for-js {
  display: none; }
.js .hide-for-js {
  display: none; }
.responsiveEmbed {
  position: relative;
  padding: 0;
    padding-bottom: 56.25%; }
.responsiveEmbed iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100% !important;
    height: 100% !important; }
.visually-hidden {
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  white-space: nowrap;
  width: 1px; }
[hidden] {
  display: none !important; }
.SiteHeader {
  padding-top: 16px; }
@media (max-width: 999px) {
    .SiteHeader {
      padding-top: 15px; } }
.SiteHeader--fixed {
    position: absolute;
    width: 100%; }
.SiteHeader--light .SiteHeader__logo {
    color: white; }
.SiteHeader--light .SiteHeader__logo:hover, .SiteHeader--light .SiteHeader__logo:focus {
      color: #e6e6e6; }
.SiteHeader--light .HeaderNav__link, .SiteHeader--light .HeaderNav__label,
  .SiteHeader--light .HeaderNav__chevron {
    color: white; }
.SiteHeader--light .HeaderNav__link:hover, .SiteHeader--light .HeaderNav__link:focus {
    color: #e6e6e6; }
.SiteHeader--light .HeaderNav__item--dropdown:hover .HeaderNav__link, .SiteHeader--light .HeaderNav__item--dropdown:hover .HeaderNav__label,
  .SiteHeader--light .HeaderNav__item--dropdown:hover .HeaderNav__chevron, .SiteHeader--light .HeaderNav__item--dropdown:focus-within .HeaderNav__link, .SiteHeader--light .HeaderNav__item--dropdown:focus-within .HeaderNav__label,
  .SiteHeader--light .HeaderNav__item--dropdown:focus-within .HeaderNav__chevron {
    color: #e6e6e6; }
.SiteHeader__grid {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
.SiteHeader__logo {
    color: #3d475f;
    margin-right: auto;
    outline: none; }
.SiteHeader__logo:hover, .SiteHeader__logo:focus {
      color: #3b65cf; }
.SiteHeader__nav {
    margin-right: 40px; }
@media (max-width: 999px) {
      .SiteHeader__nav {
        display: none; } }
.SiteHeader__button {
    height: 100%; }
@media (max-width: 639px) {
      .SiteHeader__button {
        display: none; } }
.SiteHeader__hamburger {
    font-size: 0;
    min-width: auto;
    padding: 0;
    width: 47px;
    height: 47px; }
@media (min-width: 1000px) {
      .SiteHeader__hamburger {
        display: none; } }
@media (min-width: 640px) {
      .SiteHeader__hamburger {
        margin-left: 16px; } }
.HeaderNav__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative; }
.HeaderNav__item:not(:last-child) {
    margin-right: 36px; }
@media (max-width: 1199px) {
      .HeaderNav__item:not(:last-child) {
        margin-right: 32px; } }
.HeaderNav__item--dropdown {
    cursor: default; }
.HeaderNav__item--dropdown:hover .HeaderNav__link, .HeaderNav__item--dropdown:hover .HeaderNav__label, .HeaderNav__item--dropdown:focus-within .HeaderNav__link, .HeaderNav__item--dropdown:focus-within .HeaderNav__label {
      color: #2a4fad; }
.HeaderNav__item--dropdown:hover .HeaderNav__dropdown, .HeaderNav__item--dropdown:focus-within .HeaderNav__dropdown {
      opacity: 1;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0);
      -webkit-transition-delay: 0s;
           -o-transition-delay: 0s;
              transition-delay: 0s;
      visibility: visible; }
.HeaderNav__item--dropdown:hover .HeaderNav__chevron, .HeaderNav__item--dropdown:focus-within .HeaderNav__chevron {
      color: #3d475f;
      -webkit-transition-delay: 0s;
           -o-transition-delay: 0s;
              transition-delay: 0s;
      -webkit-transform: rotateZ(180deg);
          -ms-transform: rotate(180deg);
              transform: rotateZ(180deg); }
.HeaderNav__item--active .HeaderNav__link, .HeaderNav__item--active .HeaderNav__label {
    color: #3b65cf; }
.HeaderNav__link, .HeaderNav__label {
  color: #3d475f;
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.0715;
  padding: 16px 0;
  -webkit-transition: color 0.2s ease-out;
  -o-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out; }
.HeaderNav__link:hover, .HeaderNav__link:focus {
  color: #2a4fad; }
.HeaderNav__chevron {
  color: #868686;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 8px;
  -webkit-transition: color 0.2s ease-out, -webkit-transform 0.275s 0.35s ease-out;
  transition: color 0.2s ease-out, -webkit-transform 0.275s 0.35s ease-out;
  -o-transition: transform 0.275s 0.35s ease-out, color 0.2s ease-out;
  transition: transform 0.275s 0.35s ease-out, color 0.2s ease-out;
  transition: transform 0.275s 0.35s ease-out, color 0.2s ease-out, -webkit-transform 0.275s 0.35s ease-out; }
.HeaderNav__dropdown {
  left: 0;
  min-width: 450px;
  opacity: 0;
  padding-top: 10px;
  position: absolute;
  top: 100%;
  -webkit-transform: translateY(-5px);
      -ms-transform: translateY(-5px);
          transform: translateY(-5px);
  -webkit-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  -webkit-transition-delay: 0.35s;
       -o-transition-delay: 0.35s;
          transition-delay: 0.35s;
  -webkit-transition-property: opacity, visibility, -webkit-transform;
  transition-property: opacity, visibility, -webkit-transform;
  -o-transition-property: opacity, transform, visibility;
  transition-property: opacity, transform, visibility;
  transition-property: opacity, transform, visibility, -webkit-transform;
  visibility: hidden;
  width: 100%;
  z-index: 1; }
.HeaderNav__dropdownInner {
  border: 1px solid #dcdfe4;
  background-color: white;
  -webkit-box-shadow: 0 20px 31px rgba(88, 92, 177, 0.13);
          box-shadow: 0 20px 31px rgba(88, 92, 177, 0.13);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 24px; }
.HeaderNav__dropdownItem:not(:last-child) {
  margin-bottom: 24px; }
.HeaderNav__dropdownItem--active .HeaderNav__dropdownLink, .HeaderNav__dropdownItem--active .HeaderNav__dropdownLabel {
  color: #3b65cf; }
.HeaderNav__dropdownLink, .HeaderNav__dropdownLabel {
  color: rgba(61, 71, 95, 0.8);
  display: block;
  font-size: 0.875rem;
  line-height: 1.25;
  outline: none; }
.HeaderNav__dropdownLink:hover, .HeaderNav__dropdownLink:focus {
  color: #3d475f; }
.SiteFooter {
  background-color: #eaebed;
  padding: 45px 0 30px; }
@media (max-width: 639px) {
    .SiteFooter {
      padding-bottom: 24px;
      padding-top: 60px; } }
.SiteFooter__grid {
    display: grid;
    grid-template-areas: "first nav services last";
    grid-template-columns: repeat(2, auto) 1fr auto; }
@media (max-width: 999px) {
      .SiteFooter__grid {
        grid-column-gap: 24px;
        grid-template-columns: auto auto 1fr;
        grid-template-areas: "first services last" "nav services last"; } }
@media (max-width: 899px) {
      .SiteFooter__grid {
        grid-column-gap: 16px; } }
@media (max-width: 639px) {
      .SiteFooter__grid {
        grid-template-columns: 1fr;
        grid-template-areas: "first" "nav" "services" "last"; } }
.SiteFooter__grid--bottom {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin-top: 20px; }
@media (max-width: 639px) {
        .SiteFooter__grid--bottom {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          margin-top: 50px; } }
.SiteFooter__column--first {
    grid-area: first; }
.SiteFooter__column--last {
    grid-area: last;
    margin-left: auto;
    max-width: 280px;
    padding-left: 32px;
    text-align: right; }
@media (max-width: 1199px) {
      .SiteFooter__column--last {
        padding-left: 24px; } }
@media (max-width: 999px) {
      .SiteFooter__column--last {
        padding-left: 0; } }
@media (max-width: 639px) {
      .SiteFooter__column--last {
        margin-left: 0;
        max-width: none;
        margin-top: 66px;
        text-align: left; } }
.SiteFooter__logo {
    color: #3d475f;
    display: block; }
.SiteFooter__logo:hover, .SiteFooter__logo:focus {
      color: #3b65cf; }
.SiteFooter__copyright {
    color: rgba(61, 71, 95, 0.8);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.3075;
    margin-top: 8px;
    max-width: 160px; }
@media (max-width: 639px) {
      .SiteFooter__copyright {
        margin-top: 4px; } }
.SiteFooter__nav {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    grid-area: nav;
    padding-left: 75px;
    padding-right: 85px; }
@media (max-width: 1199px) {
      .SiteFooter__nav {
        padding-left: 50px;
        padding-right: 60px; } }
@media (max-width: 999px) {
      .SiteFooter__nav {
        padding-left: 0;
        padding-right: 40px; } }
@media (max-width: 899px) {
      .SiteFooter__nav {
        padding-right: 0; } }
@media (max-width: 639px) {
      .SiteFooter__nav {
        margin-top: 45px; } }
.SiteFooter__services {
    grid-area: services;
    max-width: 480px; }
@media (max-width: 999px) {
      .SiteFooter__services {
        max-width: none; } }
@media (max-width: 639px) {
      .SiteFooter__services {
        margin-top: 20px; } }
.SiteFooter__phone:not(:last-child) {
    margin-bottom: 4px; }
.SiteFooter__phone a {
    display: block;
    font-family: "Bebas Neue", cursive;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap; }
.SiteFooter__emails {
    margin-top: 5px; }
@media (max-width: 639px) {
      .SiteFooter__emails {
        margin-top: 8px; } }
.SiteFooter__email:not(:last-child) {
    margin-bottom: 4px; }
.SiteFooter__email a {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.125; }
.SiteFooter__address {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.125;
    margin-top: 30px; }
@media (max-width: 639px) {
      .SiteFooter__address {
        margin-top: 20px; } }
.SiteFooter__developer {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: rgba(61, 71, 95, 0.8);
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.3075; }
@media (max-width: 639px) {
      .SiteFooter__developer {
        margin-top: 16px; } }
.SiteFooter__developer span {
      margin-right: 4px;
      padding-top: 5px; }
.SiteFooter__links {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
.SiteFooter__link:not(:last-child) {
    margin-bottom: 5px; }
.SiteFooter__link a {
    color: rgba(61, 71, 95, 0.8);
    display: block;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.3075; }
.SiteFooter__link a:hover, .SiteFooter__link a:focus {
      color: #3b65cf; }
.FooterNav__item:not(:last-child) {
  margin-bottom: 15px; }
.FooterNav__item--active .FooterNav__inner {
  color: #3b65cf; }
a.FooterNav__inner:hover, a.FooterNav__inner:focus {
  color: #254698; }
.FooterServices__list {
  display: grid;
  grid-gap: 15px 52px;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 15px; }
@media (max-width: 1199px) {
    .FooterServices__list {
      grid-column-gap: 32px; } }
@media (max-width: 999px) {
    .FooterServices__list {
      grid-column-gap: 24px; } }
@media (max-width: 899px) {
    .FooterServices__list {
      grid-template-columns: 1fr; } }
@media (max-width: 639px) {
    .FooterServices__list {
      margin-top: 10px; } }
.FooterServices__inner {
  color: rgba(61, 71, 95, 0.8);
  display: block;
  font-size: 0.75rem;
  line-height: 1.166; }
.offCanvas-model[id="off-canvas"]:checked ~ .offCanvas-layer, .offCanvas-model[id="off-canvas"]:checked ~ * .offCanvas-layer {
  visibility: visible;
  pointer-events: auto;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }
.offCanvas-model[id="off-canvas"]:checked ~ .offCanvas-backgroundLayer, .offCanvas-model[id="off-canvas"]:checked ~ * .offCanvas-backgroundLayer {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  pointer-events: none; }
.offCanvas-model {
  display: none; }
.offCanvas-model[id="off-canvas"]:checked ~ .offCanvas-backdrop[for="off-canvas"] {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    cursor: pointer; }
.offCanvas-layer {
  position: fixed;
  right: 0;
  top: 0;
  height: 100%;
  overflow: auto;
  width: 280px;
  z-index: 11;
  -webkit-overflow-scrolling: touch;
  visibility: hidden;
  pointer-events: none;
  background-color: white;
  -webkit-transform: translateX(280px);
      -ms-transform: translateX(280px);
          transform: translateX(280px);
  -webkit-transition-property: visibility, -webkit-transform;
  transition-property: visibility, -webkit-transform;
  -o-transition-property: transform, visibility;
  transition-property: transform, visibility;
  transition-property: transform, visibility, -webkit-transform;
  -webkit-transition-duration: 0.5s;
       -o-transition-duration: 0.5s;
          transition-duration: 0.5s;
  will-change: transform; }
@media (max-width: 424px) {
    .offCanvas-layer {
      width: 100%; } }
@media (max-width: 424px) {
    .offCanvas-layer {
      -webkit-transform: translateX(100%);
          -ms-transform: translateX(100%);
              transform: translateX(100%); } }
.offCanvas-backdrop {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  -webkit-transition-property: opacity, visibility;
  -o-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-duration: 0.5s;
       -o-transition-duration: 0.5s;
          transition-duration: 0.5s; }
.offCanvas-backgroundLayer {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  -o-transition: transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s; }
.SiteOffCanvas {
  position: relative; }
.SiteOffCanvas__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
.SiteOffCanvas__navigation {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin-top: 78px; }
.SiteOffCanvas__close {
    font-size: 0;
    min-width: auto;
    padding: 0;
    width: 47px;
    height: 47px; }
.SiteOffCanvas__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    overflow-y: auto;
    position: relative;
    z-index: 2;
    -webkit-overflow-scrolling: touch; }
.SiteOffCanvas__image {
    z-index: 1; }
.SiteOffCanvasNavigation__item:not(:last-child) {
  margin-bottom: 30px; }
.SiteOffCanvasNavigation__item--active .SiteOffCanvasNavigation__inner {
  color: #3b65cf; }
.SiteOffCanvasNavigation__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
.SiteOffCanvasNavigation__checkbox:checked ~ .SiteOffCanvasNavigation__dropdown {
  display: block; }
.SiteOffCanvasNavigation__checkbox:checked + .SiteOffCanvasNavigation__inner .SiteOffCanvasNavigation__chevron {
  -webkit-transform: rotateZ(180deg);
      -ms-transform: rotate(180deg);
          transform: rotateZ(180deg); }
.SiteOffCanvasNavigation__dropdown {
  display: none;
  margin-top: 15px; }
.SiteOffCanvasNavigation__dropdownItem:not(:last-child) {
  margin-bottom: 15px; }
.SiteOffCanvasNavigation__dropdownItem--active .SiteOffCanvasNavigation__dropdownInner {
  color: #3b65cf; }
.SiteOffCanvasNavigation__dropdownInner {
  color: rgba(61, 71, 95, 0.8);
  display: block;
  font-size: 0.75rem;
  line-height: 1.1666; }
.SiteOffCanvasNavigation__chevron {
  margin-left: 9px;
  margin-top: -4px;
  -webkit-transform: rotateZ(0deg);
      -ms-transform: rotate(0deg);
          transform: rotateZ(0deg);
  -webkit-transition: -webkit-transform 0.275s ease-out;
  transition: -webkit-transform 0.275s ease-out;
  -o-transition: transform 0.275s ease-out;
  transition: transform 0.275s ease-out;
  transition: transform 0.275s ease-out, -webkit-transform 0.275s ease-out; }
.offCanvas-model {
  display: initial;
  left: 0;
  position: absolute;
  top: 0; }
.offCanvas-layer {
  padding: 15px 16px 40px;
  position: fixed;
  top: 0; }
@media (max-width: 424px) {
    .offCanvas-layer {
      width: 100%; } }
.SiteForm__grid {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  display: grid;
  grid-gap: 16px 32px;
  grid-template-columns: repeat(2, 1fr); }
@media (max-width: 999px) {
    .SiteForm__grid {
      grid-column-gap: 24px; } }
@media (max-width: 899px) {
    .SiteForm__grid {
      grid-column-gap: 16px; } }
@media (max-width: 639px) {
    .SiteForm__grid {
      grid-template-columns: 1fr; } }
.SiteForm__grid--vertical {
    grid-gap: 16px;
    grid-template-columns: 1fr; }
.SiteForm__grid > * {
    min-width: 0; }
.SiteForm__control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
.SiteForm__control--single {
    height: 100%; }
@media (min-width: 640px) {
      .SiteForm__control--single {
        grid-column-end: -1;
        grid-row: 1 / -1; } }
@media (max-width: 639px) {
      .SiteForm__control--single {
        height: auto; } }
.SiteForm__label {
  color: #868686;
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1.5;
  margin-bottom: 9px;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  -webkit-transition: color 0.2s ease-out;
  -o-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out; }
@media (max-width: 639px) {
    .SiteForm__label {
      font-size: 0.75rem;
      margin-bottom: 11px; } }
.SiteForm__input {
  font-size: 0.875rem; }
@media (max-width: 639px) {
    .SiteForm__input {
      padding-left: 16px;
      padding-right: 16px; } }
.SiteForm__input:focus {
    border-color: #3b65cf; }
.SiteForm__input:focus + .SiteForm__label {
      color: #3b65cf; }
.SiteForm__input:disabled::-moz-placeholder {
    color: #868686; }
.SiteForm__input:disabled:-ms-input-placeholder {
    color: #868686; }
.SiteForm__input:disabled::-ms-input-placeholder {
    color: #868686; }
.SiteForm__input:disabled::-webkit-input-placeholder {
    color: #868686; }
.SiteForm__input:disabled::placeholder {
    color: #868686; }
.SiteForm__input.is-invalid {
    border-color: #eb6262; }
.SiteForm__checkboxWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
.SiteForm__checkbox {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 10px;
  margin-top: 4px; }
.SiteForm__footer {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 16px; }
.SiteForm__agreement {
  color: rgba(21, 42, 71, 0.7);
  font-size: 0.75rem;
  line-height: 1.333;
  max-width: 480px;
  padding-top: 2px; }
.SiteForm__agreement a {
    color: inherit;
    text-decoration: underline; }
.SiteForm__agreement a:hover, .SiteForm__agreement a:focus {
      color: #3b65cf; }
.SiteForm__button {
  margin-top: 30px;
  min-width: auto;
  padding: 0 32px; }
.SiteForm__textarea {
  max-height: 520px;
  min-height: 130px; }
@media (max-width: 639px) {
    .SiteForm__textarea {
      min-height: 150px; } }
.SiteForm__textarea--full {
    min-height: 100%; }
@media (max-width: 639px) {
      .SiteForm__textarea--full {
        min-height: 150px; } }
.ButtonArrow {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #3d475f;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.15385;
  -webkit-transition: color 0.2s ease-out;
  -o-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out; }
a.ButtonArrow:hover, a.ButtonArrow:focus {
    color: #3b65cf; }
a.ButtonArrow:hover .ButtonArrow__circle, a.ButtonArrow:focus .ButtonArrow__circle {
      -webkit-transform: translateX(5px);
          -ms-transform: translateX(5px);
              transform: translateX(5px); }
.ButtonArrow__circle {
    margin-left: 15px; }
@media (max-width: 639px) {
      .ButtonArrow__circle {
        margin-left: 10px; } }
.BackButton {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #3d475f;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.15385;
  -webkit-transition: color 0.2s ease-out;
  -o-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out; }
.BackButton:hover .BackButton__circle, .BackButton:focus .BackButton__circle {
    color: #3b65cf;
    -webkit-transform: translateX(-5px);
        -ms-transform: translateX(-5px);
            transform: translateX(-5px); }
.BackButton__circle {
    background-color: #eaebed;
    color: #3d475f;
    margin-right: 15px; }
@media (max-width: 639px) {
      .BackButton__circle {
        margin-right: 10px; } }
.BackButton__circle svg {
      -webkit-transform: scaleX(-1);
          -ms-transform: scaleX(-1);
              transform: scaleX(-1); }
.SiteGallery {
  position: relative; }
.SiteGallery__slide {
    width: 100%; }
.SiteGallery__image {
    overflow: hidden;
    padding-bottom: 56.2069%;
    width: 100%; }
.SiteGallery__controls {
    bottom: 50px;
    position: absolute;
    right: 0;
    width: 100%; }
@media (max-width: 999px) {
      .SiteGallery__controls {
        bottom: 40px; } }
@media (max-width: 899px) {
      .SiteGallery__controls {
        bottom: 30px; } }
@media (max-width: 639px) {
      .SiteGallery__controls {
        bottom: 20px; } }
@media (max-width: 424px) {
      .SiteGallery__controls {
        bottom: 16px; } }
.SiteGallery__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
.ProjectCard {
  display: block; }
.ProjectCard:hover .ProjectCard__title,
  .ProjectCard:hover .ButtonArrow, .ProjectCard:focus .ProjectCard__title,
  .ProjectCard:focus .ButtonArrow {
    color: #3b65cf; }
.ProjectCard:hover .ButtonArrow__circle, .ProjectCard:focus .ButtonArrow__circle {
    -webkit-transform: translateX(5px);
        -ms-transform: translateX(5px);
            transform: translateX(5px); }
.ProjectCard:hover .ProjectCard__image img, .ProjectCard:focus .ProjectCard__image img {
    -webkit-transform: scale(1.04);
        -ms-transform: scale(1.04);
            transform: scale(1.04); }
.ProjectCard__image {
    margin-bottom: 40px;
    overflow: hidden;
    padding-bottom: 71.89542%; }
@media (max-width: 999px) {
      .ProjectCard__image {
        margin-bottom: 35px; } }
@media (max-width: 899px) {
      .ProjectCard__image {
        margin-bottom: 30px; } }
@media (max-width: 639px) {
      .ProjectCard__image {
        margin-bottom: 25px; } }
.ProjectCard__image::before {
      -webkit-box-shadow: 0 30px 100px rgba(88, 92, 177, 0.3);
              box-shadow: 0 30px 100px rgba(88, 92, 177, 0.3);
      content: "";
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      width: 91.15%;
      z-index: 1; }
.ProjectCard__image img {
      z-index: 2; }
.ProjectCard__overlay {
    background-color: rgba(13, 100, 172, 0.1);
    z-index: 3; }
.ProjectCard__description {
    color: rgba(61, 71, 95, 0.8);
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    line-height: 1.285; }
.ProjectCard__title {
    margin-top: 20px;
    -webkit-transition: color 0.2s ease-out;
    -o-transition: color 0.2s ease-out;
    transition: color 0.2s ease-out; }
.ProjectCard__button {
    margin-top: 20px; }
.PageFilters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -15px;
  margin-bottom: -18px; }
@media (max-width: 639px) {
    .PageFilters {
      margin-left: -16px;
      margin-right: -16px; } }
@media (max-width: 639px) {
    .PageFilters {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      margin-bottom: -16px;
      padding-bottom: 16px;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch; } }
.PageFilters__item {
    margin-bottom: 18px;
    padding-left: 15px; }
@media (max-width: 639px) {
      .PageFilters__item {
        margin-bottom: 0;
        white-space: nowrap; } }
@media (max-width: 639px) {
      .PageFilters__item:last-child {
        padding-right: 16px; } }
.PageFilters__item--active .PageFilters__inner {
      background-color: #3b65cf;
      color: white; }
.PageFilters__inner {
    background-color: #eaebed;
    -webkit-backdrop-filter: blur(20px);
            backdrop-filter: blur(20px);
    -webkit-border-radius: 100px;
            border-radius: 100px;
    color: rgba(61, 71, 95, 0.8);
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.15;
    padding: 10px 15px; }
a.PageFilters__inner:hover, a.PageFilters__inner:focus {
      color: #3b65cf; }
.Consultation {
  background: #fafafa;
  border: 1px solid #d3d5d9;
  padding: 60px 50px;
  position: relative; }
@media (max-width: 899px) {
    .Consultation {
      padding: 50px 35px; } }
@media (max-width: 639px) {
    .Consultation {
      padding: 40px 20px; } }
.Consultation::after {
    z-index: 4; }
.Consultation::before {
    bottom: 0;
    -webkit-box-shadow: 0 30px 40px rgba(88, 92, 177, 0.08);
            box-shadow: 0 30px 40px rgba(88, 92, 177, 0.08);
    content: "";
    height: 88.5%;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 95%;
    z-index: -1; }
.Consultation__overlay {
    background-image: -webkit-linear-gradient(355deg, #fafafa 0%, #fafafa 52.5%, rgba(250, 250, 250, 0) 100%);
    background-image: -o-linear-gradient(355deg, #fafafa 0%, #fafafa 52.5%, rgba(250, 250, 250, 0) 100%);
    background-image: linear-gradient(95deg, #fafafa 0%, #fafafa 52.5%, rgba(250, 250, 250, 0) 100%);
    z-index: 2; }
.Consultation__content {
    position: relative;
    z-index: 3; }
.Consultation__description {
    color: rgba(61, 71, 95, 0.8);
    font-size: 1.125rem;
    line-height: 1.4444;
    margin-top: 10px; }
@media (max-width: 899px) {
      .Consultation__description {
        font-size: 1rem; } }
@media (max-width: 639px) {
      .Consultation__description {
        font-size: 0.875rem;
        line-height: 1.4285; } }
.Consultation__button {
    margin-top: 40px; }
@media (max-width: 899px) {
      .Consultation__button {
        margin-top: 30px; } }
.Consultation__image {
    z-index: 1; }
.LocalePicker {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: white;
  -webkit-box-shadow: 0 4px 32px rgba(88, 92, 177, 0.25);
          box-shadow: 0 4px 32px rgba(88, 92, 177, 0.25);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  outline: none;
  padding: 11px; }
@media (max-width: 999px) {
    .LocalePicker {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      overflow: hidden;
      padding: 0;
      width: 47px;
      height: 47px; } }
@media (min-width: 640px) {
    .LocalePicker:hover, .LocalePicker:focus-within {
      overflow: visible; }
      .LocalePicker:hover .LocalePicker__item, .LocalePicker:focus-within .LocalePicker__item {
        opacity: 1;
        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0); } }
@media (max-width: 639px) {
    .LocalePicker.--active {
      overflow: visible; }
      .LocalePicker.--active .LocalePicker__item {
        opacity: 1;
        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0); } }
.LocalePicker__item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    -webkit-transition: 0.2s ease-out;
    -o-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    -o-transition-property: opacity, transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    white-space: nowrap;
    width: 100%; }
@media (max-width: 999px) {
      .LocalePicker__item {
        background-color: #f8f8f8;
        border: 1px solid #d3d5d9;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        text-align: center; } }
@media (max-width: 999px) {
      .LocalePicker__item:first-child {
        height: 100%;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
        .LocalePicker__item:first-child .LocalePicker__inner {
          padding-right: 3px; } }
@media (max-width: 999px) {
      .LocalePicker__item:not(:first-child) {
        border-top: none;
        opacity: 0;
        -webkit-transform: translateY(8px);
            -ms-transform: translateY(8px);
                transform: translateY(8px); }
        .LocalePicker__item:not(:first-child) .LocalePicker__inner {
          padding: 8px;
          width: 100%; } }
.LocalePicker__item--active .LocalePicker__inner {
      color: #3d475f; }
.LocalePicker__inner {
    color: rgba(61, 71, 95, 0.5);
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.0715;
    padding: 5px; }
.LocalePicker__arrow {
    color: #3d475f; }
@media (min-width: 1000px) {
      .LocalePicker__arrow {
        display: none; } }
@media (max-width: 999px) {
      .LocalePicker__arrow {
        padding-right: 2px; } }
.FeaturedSlider {
  position: relative; }
.FeaturedSlider__image {
    z-index: 1; }
.FeaturedSlider__content {
    background-color: rgba(13, 100, 172, 0.1);
    height: 100vh;
    padding: 160px 0;
    position: relative;
    z-index: 2; }
.FeaturedSlider__container, .FeaturedSlider__grid {
    height: 100%; }
.FeaturedSlider__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
.FeaturedSlider__title {
    color: white;
    font-size: 5.625rem;
    line-height: 0.9;
    max-width: 812px; }
@media (max-width: 999px) {
      .FeaturedSlider__title {
        font-size: 4.5rem; } }
@media (max-width: 899px) {
      .FeaturedSlider__title {
        font-size: 3.5rem; } }
@media (max-width: 639px) {
      .FeaturedSlider__title {
        font-size: 2.625rem;
        line-height: 0.85715; } }
.FeaturedSlider__description {
    margin-top: 20px; }
.FeaturedSlider__panel {
    bottom: 52px;
    left: 0;
    position: absolute;
    z-index: 3; }
.FeaturedSliderPanel {
  width: 100%; }
.FeaturedSliderPanel__grid {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
.FeaturedSliderPanel__inner {
    background-color: white;
    -webkit-clip-path: polygon(calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0 20px, 0 0);
            clip-path: polygon(calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0 20px, 0 0);
    counter-reset: featured-slider;
    display: inline-grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: hidden;
    position: relative; }
@media (max-width: 639px) {
      .FeaturedSliderPanel__inner {
        -webkit-clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 0 0);
                clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 0 0); } }
.FeaturedSliderPanel__item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    counter-increment: featured-slider;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    outline: none;
    padding: 26px 59px 20px 23px;
    z-index: 2; }
@media (max-width: 999px) {
      .FeaturedSliderPanel__item {
        padding: 20px; } }
@media (max-width: 899px) {
      .FeaturedSliderPanel__item {
        padding: 16px; } }
@media (max-width: 639px) {
      .FeaturedSliderPanel__item {
        padding: 12px 16px; } }
@media (max-width: 374px) {
      .FeaturedSliderPanel__item {
        padding: 11px 12px 10px; } }
.FeaturedSliderPanel__item:not(:first-child).--active ~ .FeaturedSliderPanel__runner {
      -webkit-clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 10px 50%, 0 0);
              clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 10px 50%, 0 0); }
@media (max-width: 639px) {
        .FeaturedSliderPanel__item:not(:first-child).--active ~ .FeaturedSliderPanel__runner {
          -webkit-clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 5px 50%, 0 0);
                  clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 5px 50%, 0 0); } }
.FeaturedSliderPanel__item:nth-child(2).--active ~ .FeaturedSliderPanel__runner {
      -webkit-transform: translateX(100%);
          -ms-transform: translateX(100%);
              transform: translateX(100%); }
.FeaturedSliderPanel__item:nth-child(3).--active ~ .FeaturedSliderPanel__runner {
      -webkit-transform: translateX(200%);
          -ms-transform: translateX(200%);
              transform: translateX(200%); }
.FeaturedSliderPanel__item.--active .FeaturedSliderPanel__number {
      color: rgba(255, 255, 255, 0.8); }
.FeaturedSliderPanel__item.--active .FeaturedSliderPanel__text {
      color: white; }
.FeaturedSliderPanel__number {
    color: rgba(61, 71, 95, 0.8);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.85715;
    text-transform: uppercase;
    margin-right: 14px;
    margin-top: -4px;
    -webkit-transition: color 0.2s ease-out;
    -o-transition: color 0.2s ease-out;
    transition: color 0.2s ease-out; }
@media (max-width: 639px) {
      .FeaturedSliderPanel__number {
        display: none; } }
.FeaturedSliderPanel__number::before {
      content: "0" counter(featured-slider); }
.FeaturedSliderPanel__text {
    color: #3d475f;
    font-size: 1.75rem;
    line-height: 1.0715;
    text-transform: uppercase;
    -webkit-transition: color 0.2s ease-out;
    -o-transition: color 0.2s ease-out;
    transition: color 0.2s ease-out; }
@media (max-width: 999px) {
      .FeaturedSliderPanel__text {
        font-size: 1.5rem;
        line-height: 1.5; } }
@media (max-width: 899px) {
      .FeaturedSliderPanel__text {
        font-size: 1.25rem; } }
@media (max-width: 639px) {
      .FeaturedSliderPanel__text {
        font-size: 1rem; } }
@media (max-width: 374px) {
      .FeaturedSliderPanel__text {
        font-size: 0.875rem; } }
.FeaturedSliderPanel__runner {
    background-color: #3b65cf;
    -webkit-clip-path: polygon(calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0 20px, 0 0);
            clip-path: polygon(calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0 20px, 0 0);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transition: 0.2s ease-out;
    -o-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
    transition-property: transform, -webkit-clip-path;
    -webkit-transition-property: -webkit-transform, -webkit-clip-path;
    transition-property: -webkit-transform, -webkit-clip-path;
    -o-transition-property: transform, clip-path;
    transition-property: transform, clip-path;
    transition-property: transform, clip-path, -webkit-transform, -webkit-clip-path;
    transition-property: transform, clip-path, -webkit-clip-path;
    width: 33.33333%;
    z-index: 1; }
@media (max-width: 639px) {
      .FeaturedSliderPanel__runner {
        -webkit-clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 0 0);
                clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 0 0); } }
.FeaturedSliderScroll {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.15385;
  text-align: right; }
@media (max-width: 899px) {
    .FeaturedSliderScroll {
      display: none; } }
.FeaturedSliderScroll:hover .FeaturedSliderScroll__circle, .FeaturedSliderScroll:focus .FeaturedSliderScroll__circle {
    -webkit-transform: translateY(5px);
        -ms-transform: translateY(5px);
            transform: translateY(5px); }
.FeaturedSliderScroll__circle {
    margin-left: 10px; }
.FeaturedSliderScroll__circleInner {
    -webkit-transform: rotateZ(90deg);
        -ms-transform: rotate(90deg);
            transform: rotateZ(90deg); }
@media (max-width: 639px) {
  .Partners__container {
    margin-left: -16px;
    margin-right: -16px; } }
.Partners__slide {
  padding-right: 16px;
  width: calc(100% / 6 + 2.66667px);
  height: auto; }
.Partners__slide:last-child {
    margin-right: -16px; }
@media (max-width: 999px) {
    .Partners__slide {
      padding-right: 16px;
      width: calc(100% / 5 + 3.2px); }
      .Partners__slide:last-child {
        margin-right: -16px; } }
@media (max-width: 899px) {
    .Partners__slide {
      padding-right: 16px;
      width: calc(100% / 4 + 4px); }
      .Partners__slide:last-child {
        margin-right: -16px; } }
@media (max-width: 639px) {
    .Partners__slide {
      padding-right: 16px;
      width: calc(100% / 3 + 5.33333px); }
      .Partners__slide:last-child {
        margin-right: -16px; } }
@media (min-width: 425px) {
    .Partners__slide::before {
      background-color: #d3d5d9;
      content: "";
      height: 100%;
      left: -2px;
      position: absolute;
      top: 0;
      width: 1px; } }
@media (max-width: 424px) {
    .Partners__slide {
      -webkit-box-sizing: content-box;
              box-sizing: content-box;
      max-width: 96px;
      padding-left: 16px;
      padding-right: 0; } }
@media (min-width: 425px) {
    .Partners__slide:not(:first-child) .Partners__image {
      margin-left: 16px; } }
@media (max-width: 424px) {
    .Partners__slide:last-child {
      margin-right: 16px; } }
.Partners__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 12px; }
.HomeAbout {
  position: relative; }
@media (max-width: 639px) {
    .HomeAbout {
      padding-bottom: 48px; } }
.HomeAbout__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 40px; }
@media (max-width: 1199px) {
      .HomeAbout__grid {
        margin-top: 35px; } }
@media (max-width: 999px) {
      .HomeAbout__grid {
        margin-top: 30px; } }
@media (max-width: 899px) {
      .HomeAbout__grid {
        margin-top: 25px; } }
@media (max-width: 639px) {
      .HomeAbout__grid {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-top: 20px; } }
.HomeAbout__column--left {
    padding-right: 64px; }
@media (max-width: 1199px) {
      .HomeAbout__column--left {
        padding-right: 32px; } }
@media (max-width: 999px) {
      .HomeAbout__column--left {
        padding-right: 24px; } }
@media (max-width: 899px) {
      .HomeAbout__column--left {
        padding-right: 16px; } }
@media (max-width: 639px) {
      .HomeAbout__column--left {
        padding-right: 0; } }
.HomeAbout__column--right {
    padding-right: 108px; }
@media (max-width: 1199px) {
      .HomeAbout__column--right {
        padding-right: 64px; } }
@media (max-width: 999px) {
      .HomeAbout__column--right {
        padding-right: 0; } }
.HomeAbout__title {
    font-weight: 400; }
.HomeAbout__button {
    margin-top: 36px; }
@media (max-width: 639px) {
      .HomeAbout__button {
        bottom: 0;
        left: 0;
        margin: 0;
        position: absolute; } }
.HomeAbout__description {
    max-width: 614px; }
@media (max-width: 639px) {
      .HomeAbout__description {
        margin-top: 20px; } }
.HomeNumbers__grid {
  display: grid;
  grid-gap: 32px;
  grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1199px) {
    .HomeNumbers__grid {
      grid-gap: 24px; } }
@media (max-width: 999px) {
    .HomeNumbers__grid {
      grid-gap: 20px;
      grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px) {
    .HomeNumbers__grid {
      grid-gap: 20px 16px; } }
.HomeNumbers__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%; }
.HomeNumbers__item .OrderedCard {
    width: 100%;
    height: 100%; }
.OrderedCard {
  background-color: white;
  border: 1px solid #d3d5d9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px;
  padding-top: 12px;
  position: relative; }
@media (max-width: 639px) {
    .OrderedCard {
      padding: 10px; } }
a.OrderedCard:hover .OrderedCard__title, a.OrderedCard:focus .OrderedCard__title {
    color: #3b65cf; }
a.OrderedCard:hover .OrderedCard__buttonIcon, a.OrderedCard:focus .OrderedCard__buttonIcon {
    -webkit-transform: translateX(5px);
        -ms-transform: translateX(5px);
            transform: translateX(5px); }
.OrderedCard::after {
    border: 7px solid transparent;
    border-right-color: #3b65cf;
    border-top-color: #3b65cf;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 14px;
    height: 14px; }
.OrderedCard__number {
    color: rgba(61, 71, 95, 0.8);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.85715;
    text-transform: uppercase; }
.OrderedCard__title {
    margin-top: auto;
    padding-right: 28px;
    padding-top: 32px;
    -webkit-transition: color 0.2s ease-out;
    -o-transition: color 0.2s ease-out;
    transition: color 0.2s ease-out; }
@media (max-width: 639px) {
      .OrderedCard__title {
        padding-right: 0;
        padding-top: 6px; } }
.OrderedCard__button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #3d475f;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.15385;
    margin-top: 10px; }
.OrderedCard__buttonIcon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 4px;
    max-width: 9px;
    padding-top: 2px;
    -webkit-transition: -webkit-transform 0.2s ease-out;
    transition: -webkit-transform 0.2s ease-out;
    -o-transition: transform 0.2s ease-out;
    transition: transform 0.2s ease-out;
    transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out; }
.HomeSections__items {
  counter-reset: home-sections;
  margin-top: 30px; }
@media (max-width: 639px) {
    .HomeSections__items {
      margin-top: 20px; } }
.HomeSections__item {
  counter-increment: home-sections; }
.HomeSections__item:not(:last-child) {
    margin-bottom: 140px; }
@media (max-width: 999px) {
      .HomeSections__item:not(:last-child) {
        margin-bottom: 120px; } }
@media (max-width: 899px) {
      .HomeSections__item:not(:last-child) {
        margin-bottom: 100px; } }
@media (max-width: 639px) {
      .HomeSections__item:not(:last-child) {
        margin-bottom: 74px; } }
@media (max-width: 639px) {
  .HomeSection {
    position: relative; } }
.HomeSection--left .HomeSection__imageContainer {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1; }
.HomeSection--left .HomeSection__imageContainer::before {
    left: 80px; }
@media (max-width: 1199px) {
      .HomeSection--left .HomeSection__imageContainer::before {
        left: 60px; } }
@media (max-width: 999px) {
      .HomeSection--left .HomeSection__imageContainer::before {
        left: 40px; } }
@media (max-width: 639px) {
      .HomeSection--left .HomeSection__imageContainer::before {
        left: auto;
        right: 0; } }
.HomeSection--left .HomeSection__title {
  margin-left: auto;
  padding-left: 20px;
  padding-right: 0;
  text-align: right; }
@media (max-width: 639px) {
    .HomeSection--left .HomeSection__title {
      padding-left: 0;
      text-align: left; } }
.HomeSection--left .HomeSection__cards {
  margin-left: -84px;
  margin-right: 0; }
@media (max-width: 1365px) {
    .HomeSection--left .HomeSection__cards {
      margin-left: -140px; } }
@media (max-width: 1199px) {
    .HomeSection--left .HomeSection__cards {
      margin-left: -200px; } }
@media (max-width: 639px) {
    .HomeSection--left .HomeSection__cards {
      margin-left: -16px;
      margin-right: -16px; } }
.HomeSection__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
.HomeSection__info {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  z-index: 2; }
@media (max-width: 639px) {
    .HomeSection__info {
      width: 100%; } }
.HomeSection__title {
  max-width: 720px;
  padding-right: 20px; }
.HomeSection__cards {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(4, 1fr);
  margin-right: -84px;
  margin-top: 34px;
  max-width: 832px; }
@media (max-width: 1365px) {
    .HomeSection__cards {
      grid-gap: 24px;
      margin-right: -140px; } }
@media (max-width: 1199px) {
    .HomeSection__cards {
      margin-right: -200px; } }
@media (max-width: 899px) {
    .HomeSection__cards {
      margin-top: 20px; } }
@media (max-width: 639px) {
    .HomeSection__cards {
      grid-gap: 0;
      margin-bottom: -16px;
      margin-left: -16px;
      margin-right: -16px;
      overflow-x: auto;
      padding-bottom: 16px;
      -ms-scroll-snap-type: x mandatory;
          -webkit-scroll-snap-type: x mandatory;
              scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch; } }
.HomeSection__cards::after {
    content: "";
    display: block;
    width: 16px; }
@media (min-width: 640px) {
      .HomeSection__cards::after {
        display: none; } }
@media (max-width: 639px) {
  .HomeSection__card {
    padding-left: 16px;
    scroll-snap-align: start; } }
@media (max-width: 639px) {
  .HomeSection__card:last-child {
    padding-right: 16px; } }
@media (max-width: 639px) {
  .HomeSection__card .FeaturedCard {
    min-width: 120px; } }
.HomeSection__imageContainer {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  max-width: 514px;
  position: relative;
  width: 100%;
  z-index: 1; }
@media (max-width: 1365px) {
    .HomeSection__imageContainer {
      max-width: 420px; } }
@media (max-width: 1199px) {
    .HomeSection__imageContainer {
      max-width: 340px; } }
@media (max-width: 999px) {
    .HomeSection__imageContainer {
      max-width: 290px; } }
@media (max-width: 899px) {
    .HomeSection__imageContainer {
      max-width: 240px; } }
@media (max-width: 639px) {
    .HomeSection__imageContainer {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      position: static;
      width: auto; } }
.HomeSection__imageContainer.uk-scrollspy-inview .HomeSection__number {
    opacity: 1; }
.HomeSection__number {
  margin-top: -8px;
  opacity: 0;
  right: 80px;
  top: 0;
  -webkit-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s;
  -webkit-transition-delay: 0.75s;
       -o-transition-delay: 0.75s;
          transition-delay: 0.75s;
  z-index: 1; }
@media (max-width: 1199px) {
    .HomeSection__number {
      right: 60px; } }
@media (max-width: 999px) {
    .HomeSection__number {
      right: 40px; } }
@media (max-width: 639px) {
    .HomeSection__number {
      color: rgba(59, 101, 207, 0.1);
      margin-top: 0;
      right: 0; } }
.HomeSection__number::before {
    content: "0" counter(home-sections); }
.HomeSection__image {
  padding-bottom: 92.02335%;
  position: relative; }
@media (max-width: 639px) {
    .HomeSection__image {
      display: none; } }
.FeaturedCard {
  display: block;
  padding-bottom: 145.35519%;
  position: relative; }
a.FeaturedCard:hover .FeaturedCard__title, a.FeaturedCard:focus .FeaturedCard__title {
    color: #3b65cf; }
a.FeaturedCard:hover .FeaturedCard__circle, a.FeaturedCard:focus .FeaturedCard__circle {
    -webkit-transform: translateX(5px);
        -ms-transform: translateX(5px);
            transform: translateX(5px); }
a.FeaturedCard--noImage:hover .FeaturedCard__title, a.FeaturedCard--noImage:focus .FeaturedCard__title {
    color: white; }
.FeaturedCard--noImage .FeaturedCard__overlay {
    background: #3b65cf; }
.FeaturedCard--noImage .FeaturedCard__title {
    color: white; }
.FeaturedCard__image {
    z-index: 1; }
.FeaturedCard__overlay {
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(16.91%, rgba(255, 255, 255, 0)), color-stop(63.94%, rgba(255, 255, 255, 0.95)), color-stop(82.63%, rgba(255, 255, 255, 0.92)), to(white));
    background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 16.91%, rgba(255, 255, 255, 0.95) 63.94%, rgba(255, 255, 255, 0.92) 82.63%, white 100%);
    background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0) 16.91%, rgba(255, 255, 255, 0.95) 63.94%, rgba(255, 255, 255, 0.92) 82.63%, white 100%);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 16.91%, rgba(255, 255, 255, 0.95) 63.94%, rgba(255, 255, 255, 0.92) 82.63%, white 100%);
    z-index: 2; }
.FeaturedCard__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 12px 14px;
    z-index: 3; }
@media (max-width: 899px) {
      .FeaturedCard__content {
        padding: 12px; } }
@media (max-width: 639px) {
      .FeaturedCard__content {
        padding: 10px; } }
.FeaturedCard__title {
    margin-bottom: 11px;
    -webkit-transition: color 0.2s ease-out;
    -o-transition: color 0.2s ease-out;
    transition: color 0.2s ease-out; }
@media (max-width: 639px) {
      .FeaturedCard__title {
        font-size: 0.875rem; } }
.FeaturedCard__circle {
    -ms-flex-item-align: end;
        align-self: flex-end; }
.HomeProjects__items {
  margin-top: 90px; }
@media (max-width: 999px) {
    .HomeProjects__items {
      margin-top: 75px; } }
@media (max-width: 899px) {
    .HomeProjects__items {
      margin-top: 40px; } }
@media (max-width: 639px) {
    .HomeProjects__items {
      margin-top: 20px; } }
.HomeProjects__item:not(:last-child) {
  margin-bottom: 80px; }
@media (max-width: 899px) {
    .HomeProjects__item:not(:last-child) {
      margin-bottom: 70px; } }
@media (max-width: 639px) {
    .HomeProjects__item:not(:last-child) {
      margin-bottom: 60px; } }
.HomeProjects__more {
  margin-top: 110px; }
@media (max-width: 1199px) {
    .HomeProjects__more {
      margin-top: 100px; } }
@media (max-width: 999px) {
    .HomeProjects__more {
      margin-top: 90px; } }
@media (max-width: 899px) {
    .HomeProjects__more {
      margin-top: 70px; } }
@media (max-width: 639px) {
    .HomeProjects__more {
      margin-top: 0;
      -webkit-transform: translateY(50%);
          -ms-transform: translateY(50%);
              transform: translateY(50%); } }
.HomeProjectsMore {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center; }
@media (max-width: 639px) {
    .HomeProjectsMore {
      background-color: white;
      border: 1px solid #d3d5d9;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      padding: 40px 26px;
      padding-left: 34px; } }
@media (min-width: 640px) {
    .HomeProjectsMore:hover .HomeProjectsMore__circle, .HomeProjectsMore:focus .HomeProjectsMore__circle {
      -webkit-transform: translateY(5px);
          -ms-transform: translateY(5px);
              transform: translateY(5px); } }
@media (min-width: 640px) {
    .HomeProjectsMore__heading {
      margin-bottom: 20px; } }
@media (max-width: 639px) {
    .HomeProjectsMore__heading {
      margin-right: 20px; } }
.HomeProjectsMore__link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
@media (max-width: 639px) {
      .HomeProjectsMore__link {
        margin-top: -4px; } }
.HomeProjectsMore__text {
    color: #3d475f;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.15385;
    margin-bottom: 9px; }
@media (max-width: 639px) {
      .HomeProjectsMore__text {
        display: none; } }
@media (min-width: 640px) {
    .HomeProjectsMore__circleInner {
      -webkit-transform: rotateZ(90deg);
          -ms-transform: rotate(90deg);
              transform: rotateZ(90deg); } }
.HomeProject {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 32px;
  padding-right: 32px; }
@media (max-width: 899px) {
    .HomeProject {
      padding: 0; } }
@media (max-width: 639px) {
    .HomeProject {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
.HomeProject--left .HomeProject__imageContainer {
    margin-left: 0;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
.HomeProject--left .HomeProject__content {
    padding-left: 145px;
    padding-right: 0; }
@media (max-width: 1199px) {
      .HomeProject--left .HomeProject__content {
        padding-left: 120px; } }
@media (max-width: 999px) {
      .HomeProject--left .HomeProject__content {
        padding-left: 92px; } }
@media (max-width: 899px) {
      .HomeProject--left .HomeProject__content {
        padding-left: 48px; } }
@media (max-width: 639px) {
      .HomeProject--left .HomeProject__content {
        padding: 0; } }
.HomeProject__imageContainer {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-left: auto;
    max-width: 506px;
    padding-right: 40px;
    padding-top: 40px;
    width: 100%; }
@media (max-width: 1199px) {
      .HomeProject__imageContainer {
        max-width: 420px; } }
@media (max-width: 999px) {
      .HomeProject__imageContainer {
        max-width: 350px; } }
@media (max-width: 899px) {
      .HomeProject__imageContainer {
        max-width: 260px;
        padding-right: 24px;
        padding-top: 24px; } }
@media (max-width: 639px) {
      .HomeProject__imageContainer {
        margin-bottom: 20px;
        margin-left: 0;
        max-width: 288px;
        -webkit-box-ordinal-group: 0;
            -ms-flex-order: -1;
                order: -1;
        padding: 0; } }
@media (max-width: 424px) {
      .HomeProject__imageContainer {
        max-width: none; } }
.HomeProject__image {
    background-color: #f8f8f8;
    padding-bottom: 104.74308%;
    position: relative; }
.HomeProject__image::before {
      background-color: #eaebed;
      content: "";
      bottom: 20px;
      left: 20px;
      position: absolute;
      right: 20px;
      top: 20px; }
@media (max-width: 899px) {
        .HomeProject__image::before {
          bottom: 12px;
          left: 12px;
          right: 12px;
          top: 12px; } }
@media (max-width: 639px) {
        .HomeProject__image::before {
          display: none; } }
.HomeProject__image:hover .HomeProject__imageInner img, .HomeProject__image:focus .HomeProject__imageInner img {
      -webkit-transform: scale(1.04);
          -ms-transform: scale(1.04);
              transform: scale(1.04); }
.HomeProject__imageInner {
    position: absolute;
    right: -40px;
    width: 100%;
    height: 100%;
    top: -40px; }
@media (max-width: 899px) {
      .HomeProject__imageInner {
        right: -24px;
        top: -24px; } }
@media (max-width: 639px) {
      .HomeProject__imageInner {
        right: 0;
        top: 0;
        -webkit-transform: none !important;
            -ms-transform: none !important;
                transform: none !important; } }
.HomeProject__imageInner img {
      -o-object-fit: cover;
         object-fit: cover;
      position: relative;
      width: 100%;
      height: 100%;
      z-index: 1; }
.HomeProject__imageInner::before {
      background-color: rgba(13, 100, 172, 0.1);
      content: "";
      z-index: 2; }
.HomeProject__imageInner::after {
      bottom: 1.5%;
      -webkit-box-shadow: 0 30px 100px rgba(88, 92, 177, 0.3);
              box-shadow: 0 30px 100px rgba(88, 92, 177, 0.3);
      content: "";
      left: 50%;
      position: absolute;
      width: 89%;
      height: 89%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); }
@media (max-width: 639px) {
        .HomeProject__imageInner::after {
          display: none; } }
.HomeProject__content {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    max-width: 506px;
    padding-left: 74px;
    padding-right: 16px; }
@media (max-width: 1199px) {
      .HomeProject__content {
        padding-left: 64px; } }
@media (max-width: 999px) {
      .HomeProject__content {
        padding-left: 48px; } }
@media (max-width: 899px) {
      .HomeProject__content {
        padding-left: 20px;
        padding-right: 8px; } }
@media (max-width: 639px) {
      .HomeProject__content {
        padding: 0; } }
.HomeProject__title {
    display: inline-block;
    margin-top: 30px;
    margin-bottom: 30px; }
@media (max-width: 899px) {
      .HomeProject__title {
        margin-top: 20px;
        margin-bottom: 20px; } }
@media (max-width: 639px) {
      .HomeProject__title {
        margin-top: 10px; } }
.HomeMap__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 40px; }
@media (max-width: 899px) {
    .HomeMap__grid {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin-top: 30px; } }
@media (max-width: 639px) {
    .HomeMap__grid {
      margin-top: 20px; } }
.HomeMap__title {
  font-weight: 400;
  max-width: 450px; }
.HomeMap__description {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-left: auto;
  max-width: 614px;
  padding-left: 24px;
  padding-right: 108px; }
@media (max-width: 1365px) {
    .HomeMap__description {
      padding-right: 72px; } }
@media (max-width: 1199px) {
    .HomeMap__description {
      padding-right: 48px; } }
@media (max-width: 999px) {
    .HomeMap__description {
      padding-left: 0;
      padding-right: 32px; } }
@media (max-width: 899px) {
    .HomeMap__description {
      margin-left: 0;
      margin-top: 30px;
      padding-right: 0; } }
.HomeMap__mapContainer {
  position: relative; }
@media (max-width: 899px) {
    .HomeMap__mapContainer {
      margin-top: 30px; } }
@media (max-width: 899px) {
  .HomeMap__map {
    height: 400px;
    position: relative; } }
@media (max-width: 424px) {
  .HomeMap__map {
    height: auto;
    padding-bottom: 112.5%; } }
@media (min-width: 900px) {
  .HomeMap__map,
  .HomeMap__map svg {
    width: 100%; } }
@media (max-width: 899px) {
  .HomeMap__map svg {
    max-width: 720px;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); } }
.HomeMap__cards {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) {
    .HomeMap__cards {
      left: 0;
      max-width: 536px;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); } }
@media (max-width: 899px) {
    .HomeMap__cards {
      margin-top: 30px; } }
@media (max-width: 639px) {
    .HomeMap__cards {
      grid-gap: 16px; } }
.HomeMap__card,
.HomeMap__card .OrderedCard {
  height: 100%; }
.HomeMap__card .OrderedCard {
  min-height: 190px; }
@media (max-width: 639px) {
    
    .HomeMap__card .OrderedCard {
      min-height: 168px; } }
.WrappedPartners__items {
  margin-top: 20px; }
.ServiceCard {
  display: grid;
  grid-column-gap: 24px;
  grid-template-areas: "heading image" "content image" "button image";
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
@media (max-width: 899px) {
    .ServiceCard {
      grid-template-areas: "image" "heading" "content" "button";
      grid-template-columns: 1fr; } }
@media (min-width: 640px) and (max-width: 899px) {
    .ServiceCard {
      height: 100%; } }
.ServiceCard .TheContent ul li, .TheContent ul .ServiceCard li,
  .ServiceCard .TheContent ol li, .TheContent ol .ServiceCard li {
    font-size: 0.875rem;
    line-height: 1.85715; }
@media (max-width: 639px) {
      .ServiceCard .TheContent ul li, .TheContent ul .ServiceCard li,
      .ServiceCard .TheContent ol li, .TheContent ol .ServiceCard li {
        line-height: 1.375; } }
.ServiceCard .TheContent ul li::before, .TheContent ul .ServiceCard li::before,
    .ServiceCard .TheContent ol li::before, .TheContent ol .ServiceCard li::before {
      top: 9px; }
.ServiceCard__info {
    padding-right: 32px; }
.ServiceCard__heading {
    grid-area: heading; }
.ServiceCard__content {
    grid-area: content;
    margin-top: 20px; }
.ServiceCard__button {
    -ms-flex-item-align: end;
        align-self: end;
    grid-area: button;
    justify-self: start;
    margin-top: 50px; }
@media (max-width: 999px) {
      .ServiceCard__button {
        margin-top: 40px; } }
@media (max-width: 899px) {
      .ServiceCard__button {
        margin-top: 20px; } }
@media (min-width: 640px) and (max-width: 899px) {
      .ServiceCard__button {
        -ms-flex-item-align: end;
            align-self: end; } }
.ServiceCard__imageContainer {
    grid-area: image;
    max-width: 614px;
    position: relative;
    width: 100%; }
@media (max-width: 899px) {
      .ServiceCard__imageContainer {
        margin-bottom: 24px;
        max-width: none; } }
.ServiceCard__image {
    padding-bottom: 45.27687%; }
.ServiceCard__image img {
      z-index: 1; }
.ServiceCard__number {
    position: absolute;
    right: 76px;
    top: 0;
    z-index: 2; }
@media (max-width: 999px) {
      .ServiceCard__number {
        right: 64px; } }
@media (max-width: 899px) {
      .ServiceCard__number {
        right: 16px; } }
.ServiceCard__number::before {
      content: "0" counter(services); }
.Modal__dialog {
  width: 1044px; }
.Modal__dialog--small {
    width: 398px; }
.Modal__body {
  padding: 90px 108px 70px; }
@media (max-width: 1199px) {
    .Modal__body {
      padding: 70px 92px; } }
@media (max-width: 999px) {
    .Modal__body {
      padding: 55px 64px; } }
@media (max-width: 899px) {
    .Modal__body {
      padding: 40px 48px; } }
@media (max-width: 639px) {
    .Modal__body {
      padding: 24px 32px; } }
@media (max-width: 424px) {
    .Modal__body {
      padding: 24px 16px; } }
.Modal__body--fixedHeight {
    min-height: 520px; }
.Modal__body--small {
    padding: 62px 20px 50px 36px; }
@media (max-width: 999px) {
      .Modal__body--small {
        padding: 50px 20px; } }
@media (max-width: 899px) {
      .Modal__body--small {
        padding: 32px 16px; } }
@media (max-width: 639px) {
      .Modal__body--small {
        padding: 24px 16px; } }
.Modal__body.--center {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
.Modal__close {
  background-color: #3b65cf;
  -webkit-border-radius: 50%;
          border-radius: 50%;
  position: absolute;
  right: 25px;
  width: 45px;
  height: 45px;
  top: 25px;
  -webkit-transform: rotateZ(0);
      -ms-transform: rotate(0);
          transform: rotateZ(0);
  -webkit-transition: -webkit-transform 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  -o-transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
  z-index: 3; }
@media (max-width: 899px) {
    .Modal__close {
      width: 32px;
      height: 32px;
      top: 24px; } }
@media (max-width: 639px) {
    .Modal__close {
      right: 16px; } }
.Modal__close, .Modal__close:hover, .Modal__close:focus {
    color: white; }
.Modal__close:hover, .Modal__close:focus {
    -webkit-transform: rotateZ(90deg);
        -ms-transform: rotate(90deg);
            transform: rotateZ(90deg); }
.Modal__close--small {
    background-color: transparent;
    right: 0;
    width: 50px;
    height: 50px;
    top: 0; }
.Modal__close--small, .Modal__close--small:hover, .Modal__close--small:focus {
      color: #3d475f; }
@media (max-width: 639px) {
  .Modal__heading {
    padding-right: 32px; } }
.Modal__description:not(:first-child) {
  margin-top: 10px; }
.Modal__description--small {
  font-size: 1rem;
  line-height: 1.625; }
.Modal__form {
  margin-top: 30px; }
@media (max-width: 899px) {
    .Modal__form {
      margin-top: 24px; } }
@media (max-width: 639px) {
    .Modal__form {
      margin-top: 16px; } }
.Modal__background {
  z-index: 1; }
.Modal__background::before {
    background-image: -webkit-linear-gradient(355deg, #fafafa 0%, #fafafa 35%, rgba(250, 250, 250, 0) 100%);
    background-image: -o-linear-gradient(355deg, #fafafa 0%, #fafafa 35%, rgba(250, 250, 250, 0) 100%);
    background-image: linear-gradient(95deg, #fafafa 0%, #fafafa 35%, rgba(250, 250, 250, 0) 100%);
    content: "";
    z-index: 2; }
.Modal__content {
  position: relative;
  z-index: 2; }
.Modal__content--center {
    text-align: center; }
.Modal__content.--hidden {
    display: none; }
.AboutHero {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 470px;
  position: relative; }
@media (max-width: 999px) {
    .AboutHero {
      min-height: 400px; } }
@media (max-width: 899px) {
    .AboutHero {
      min-height: 320px; } }
@media (max-width: 639px) {
    .AboutHero {
      min-height: 240px; } }
.AboutHero__content {
    padding-bottom: 24px;
    padding-top: 134px;
    position: relative;
    width: 100%;
    z-index: 2; }
@media (max-width: 999px) {
      .AboutHero__content {
        padding-top: 112px; } }
@media (max-width: 899px) {
      .AboutHero__content {
        padding-top: 92px; } }
.AboutHero__heading {
    color: white; }
.AboutHero__heading + .AboutHero__heading {
      margin-top: 50px; }
@media (max-width: 999px) {
        .AboutHero__heading + .AboutHero__heading {
          margin-top: 32px; } }
@media (max-width: 899px) {
        .AboutHero__heading + .AboutHero__heading {
          margin-top: 24px; } }
@media (max-width: 639px) {
        .AboutHero__heading + .AboutHero__heading {
          margin-top: 16px; } }
.AboutHero__description {
    margin-top: 20px; }
@media (max-width: 899px) {
      .AboutHero__description {
        margin-top: 16px; } }
.AboutHero__image {
    z-index: 1; }
.AboutHero__image::before {
      background-color: rgba(11, 15, 47, 0.5);
      content: "";
      z-index: 1; }
.AboutNumbers__items {
  counter-reset: about-numbers;
  display: grid;
  grid-gap: 108px 32px;
  grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1199px) {
    .AboutNumbers__items {
      grid-gap: 92px 24px; } }
@media (max-width: 999px) {
    .AboutNumbers__items {
      grid-gap: 72px 20px;
      grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 899px) {
    .AboutNumbers__items {
      grid-gap: 64px 16px;
      grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 424px) {
    .AboutNumbers__items {
      grid-gap: 48px;
      grid-template-columns: 1fr; } }
.AboutNumbers__item {
  counter-increment: about-numbers; }
.AboutNumbersItem::before {
  color: #3b65cf;
  content: "0" counter(about-numbers);
  font-family: "Bebas Neue", cursive;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1; }
@media (max-width: 999px) {
    .AboutNumbersItem::before {
      font-size: 5.75rem; } }
@media (max-width: 899px) {
    .AboutNumbersItem::before {
      font-size: 4.5rem; } }
.AboutNumbersItem__title {
  color: #3d475f;
  font-family: "Manrope", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3125;
  margin-top: 10px; }
@media (max-width: 899px) {
    .AboutNumbersItem__title {
      margin-top: 4px; } }
.AboutNumbersItem__description {
  margin-top: 20px; }
@media (max-width: 899px) {
    .AboutNumbersItem__description {
      margin-top: 12px; } }
.AboutFeatures__card {
  padding: 64px 56px;
  position: relative; }
@media (max-width: 1199px) {
    .AboutFeatures__card {
      padding: 56px 40px; } }
@media (max-width: 999px) {
    .AboutFeatures__card {
      padding: 40px; } }
@media (max-width: 899px) {
    .AboutFeatures__card {
      padding: 24px; } }
.AboutFeatures__items {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: grid;
  grid-template-columns: 1fr 1.25fr 1fr;
  position: relative;
  z-index: 2; }
@media (max-width: 999px) {
    .AboutFeatures__items {
      grid-gap: 8px; } }
@media (max-width: 899px) {
    .AboutFeatures__items {
      grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px) {
    .AboutFeatures__items {
      grid-template-columns: 1fr; } }
.AboutFeatures__item:not(:last-child) {
  margin-right: 48px; }
@media (max-width: 999px) {
    .AboutFeatures__item:not(:last-child) {
      margin-right: 0; } }
.AboutFeatures__item:not(:first-child) {
  padding-left: 48px;
  position: relative; }
@media (max-width: 999px) {
    .AboutFeatures__item:not(:first-child) {
      padding-left: 0; } }
.AboutFeatures__item:not(:first-child)::before {
    background-color: white;
    content: "";
    height: 65px;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1px; }
@media (max-width: 999px) {
      .AboutFeatures__item:not(:first-child)::before {
        display: none; } }
.AboutFeatures__image {
  z-index: 1; }
.AboutFeatures__image::before {
    background-color: rgba(11, 15, 47, 0.5);
    content: "";
    z-index: 1; }
.AboutFeaturesItem {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
.AboutFeaturesItem__number {
    color: white;
    font-family: "Bebas Neue", cursive;
    font-size: 7.5rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    padding-top: 12px; }
@media (max-width: 1199px) {
      .AboutFeaturesItem__number {
        font-size: 6.25rem; } }
@media (max-width: 999px) {
      .AboutFeaturesItem__number {
        font-size: 5rem; } }
@media (max-width: 899px) {
      .AboutFeaturesItem__number {
        font-size: 4.375rem; } }
@media (max-width: 639px) {
      .AboutFeaturesItem__number {
        font-size: 3.5rem; } }
.AboutFeaturesItem__description {
    color: rgba(255, 255, 255, 0.9);
    font-family: "Bebas Neue", cursive;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 0.955;
    margin-left: 30px; }
@media (max-width: 1199px) {
      .AboutFeaturesItem__description {
        margin-left: 24px; } }
@media (max-width: 999px) {
      .AboutFeaturesItem__description {
        font-size: 1.25rem;
        margin-left: 20px; } }
@media (max-width: 899px) {
      .AboutFeaturesItem__description {
        font-size: 1.125rem; } }
@media (max-width: 639px) {
      .AboutFeaturesItem__description {
        font-size: 1rem;
        margin-left: 12px; } }
.AboutDocuments {
  background-color: #eaebed;
  padding: 90px 0; }
@media (max-width: 999px) {
    .AboutDocuments {
      padding: 72px 0; } }
@media (max-width: 899px) {
    .AboutDocuments {
      padding: 64px 0; } }
@media (max-width: 639px) {
    .AboutDocuments {
      padding: 56px 0; } }
.AboutDocuments__section:not(:last-child) {
    margin-bottom: 90px; }
@media (max-width: 999px) {
      .AboutDocuments__section:not(:last-child) {
        margin-bottom: 72px; } }
@media (max-width: 899px) {
      .AboutDocuments__section:not(:last-child) {
        margin-bottom: 64px; } }
@media (max-width: 639px) {
      .AboutDocuments__section:not(:last-child) {
        margin-bottom: 56px; } }
.AboutDocuments__heading {
    margin-bottom: 20px; }
.AboutDocuments__number {
    color: #3d475f;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3125; }
.AboutCertificates__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
@media (max-width: 639px) {
    .AboutCertificates__item {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
.AboutCertificates__item + .AboutCertificates__item {
    margin-top: 50px; }
@media (max-width: 639px) {
      .AboutCertificates__item + .AboutCertificates__item {
        margin-top: 40px; } }
.AboutCertificates__column {
  padding-right: 32px; }
.AboutCertificates__title {
  line-height: 1; }
.AboutCertificates__number {
  margin-top: 10px; }
@media (max-width: 639px) {
    .AboutCertificates__number {
      margin-top: 4px; } }
.AboutCertificates__description {
  max-width: 722px; }
@media (max-width: 1199px) {
    .AboutCertificates__description {
      max-width: 640px; } }
@media (max-width: 999px) {
    .AboutCertificates__description {
      max-width: 560px; } }
@media (max-width: 899px) {
    .AboutCertificates__description {
      max-width: 420px; } }
@media (max-width: 639px) {
    .AboutCertificates__description {
      max-width: none;
      margin-top: 12px; } }
.AboutOrganizations__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr); }
@media (max-width: 899px) {
    .AboutOrganizations__items {
      grid-gap: 40px 16px;
      grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px) {
    .AboutOrganizations__items {
      grid-gap: 32px;
      grid-template-columns: 1fr; } }
.AboutOrganizations__item:not(:last-child) {
  margin-right: 24px; }
@media (max-width: 999px) {
    .AboutOrganizations__item:not(:last-child) {
      margin-right: 20px; } }
@media (max-width: 899px) {
    .AboutOrganizations__item:not(:last-child) {
      margin-right: 0; } }
.AboutOrganizations__item:not(:first-child) {
  padding-left: 64px;
  position: relative; }
@media (max-width: 1199px) {
    .AboutOrganizations__item:not(:first-child) {
      padding-left: 56px; } }
@media (max-width: 999px) {
    .AboutOrganizations__item:not(:first-child) {
      padding-left: 48px; } }
@media (max-width: 899px) {
    .AboutOrganizations__item:not(:first-child) {
      padding-left: 0; } }
.AboutOrganizations__item:not(:first-child)::before {
    background-color: #d3d5d9;
    content: "";
    height: 106px;
    left: 0;
    position: absolute;
    top: 0;
    width: 1px; }
@media (max-width: 899px) {
      .AboutOrganizations__item:not(:first-child)::before {
        display: none; } }
.AboutOrganizationsItem__number {
  margin-top: 8px; }
@media (max-width: 639px) {
    .AboutOrganizationsItem__number {
      margin-top: 2px; } }
.AboutMap {
  padding-top: 90px;
  position: relative; }
@media (max-width: 999px) {
    .AboutMap {
      padding-top: 72px; } }
@media (max-width: 899px) {
    .AboutMap {
      padding-top: 56px; } }
@media (max-width: 639px) {
    .AboutMap {
      padding-top: 32px; } }
.AboutMap::before {
    background-image: -webkit-gradient(linear, left top, right top, from(#C4C4C4), color-stop(0%, #f8f8f8), color-stop(48.99%, rgba(248, 248, 248, 0)));
    background-image: -webkit-linear-gradient(left, #C4C4C4 0%, #f8f8f8 0%, rgba(248, 248, 248, 0) 48.99%);
    background-image: -o-linear-gradient(left, #C4C4C4 0%, #f8f8f8 0%, rgba(248, 248, 248, 0) 48.99%);
    background-image: linear-gradient(90deg, #C4C4C4 0%, #f8f8f8 0%, rgba(248, 248, 248, 0) 48.99%);
    content: "";
    z-index: 2; }
@media (max-width: 424px) {
      .AboutMap::before {
        display: none; } }
.AboutMap__content {
    padding-top: 90px;
    position: absolute;
    z-index: 3; }
@media (max-width: 999px) {
      .AboutMap__content {
        padding-top: 72px; } }
@media (max-width: 899px) {
      .AboutMap__content {
        padding-top: 56px; } }
@media (max-width: 639px) {
      .AboutMap__content {
        padding-top: 0;
        position: relative; } }
.AboutMap__heading {
    font-weight: 400;
    max-width: 614px; }
.AboutMap__description {
    margin-top: 40px; }
@media (max-width: 899px) {
      .AboutMap__description {
        margin-top: 32px; } }
@media (max-width: 639px) {
      .AboutMap__description {
        margin-top: 24px; } }
@media (min-width: 640px) {
      .AboutMap__description {
        max-width: 536px; } }
.AboutMap__mapContainer {
    position: relative;
    z-index: 1; }
@media (max-width: 639px) {
      .AboutMap__mapContainer {
        margin-top: -90px; } }
@media (max-width: 899px) {
    .AboutMap__map {
      height: 400px;
      position: relative; } }
@media (max-width: 424px) {
    .AboutMap__map {
      height: auto;
      padding-bottom: 112.5%; } }
@media (min-width: 900px) {
    .AboutMap__map,
    .AboutMap__map svg {
      width: 100%; } }
@media (max-width: 899px) {
    .AboutMap__map svg {
      max-width: 720px;
      position: absolute;
      right: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); } }
.HomePage {
  padding-bottom: 60px; }
@media (max-width: 899px) {
    .HomePage {
      padding-bottom: 70px; } }
@media (max-width: 639px) {
    .HomePage {
      padding-bottom: 80px; } }
.HomePage__about {
    padding-top: 102px; }
@media (max-width: 1199px) {
      .HomePage__about {
        padding-top: 95px; } }
@media (max-width: 999px) {
      .HomePage__about {
        padding-top: 90px; } }
@media (max-width: 899px) {
      .HomePage__about {
        padding-top: 85px; } }
@media (max-width: 639px) {
      .HomePage__about {
        padding-top: 80px; } }
.HomePage__numbers {
    margin-top: 65px; }
@media (max-width: 999px) {
      .HomePage__numbers {
        margin-top: 60px; } }
@media (max-width: 899px) {
      .HomePage__numbers {
        margin-top: 55px; } }
@media (max-width: 639px) {
      .HomePage__numbers {
        margin-top: 50px; } }
.HomePage__sections {
    margin-top: 145px; }
@media (max-width: 999px) {
      .HomePage__sections {
        margin-top: 120px; } }
@media (max-width: 899px) {
      .HomePage__sections {
        margin-top: 100px; } }
@media (max-width: 639px) {
      .HomePage__sections {
        margin-top: 80px; } }
.HomePage__consultation {
    -webkit-transform: translateY(50%);
        -ms-transform: translateY(50%);
            transform: translateY(50%); }
@media (max-width: 639px) {
      .HomePage__consultation {
        margin-top: -65px; } }
.HomePage__projects {
    background-color: #eaebed;
    padding-bottom: 70px;
    padding-top: 238px; }
@media (max-width: 1199px) {
      .HomePage__projects {
        padding-bottom: 60px;
        padding-top: 228px; } }
@media (max-width: 999px) {
      .HomePage__projects {
        padding-bottom: 50px;
        padding-top: 218px; } }
@media (max-width: 899px) {
      .HomePage__projects {
        padding-bottom: 40px;
        padding-top: 208px; } }
@media (max-width: 639px) {
      .HomePage__projects {
        padding-bottom: 0;
        padding-top: 198px; } }
@media (max-width: 424px) {
      .HomePage__projects {
        padding-top: 224px; } }
.HomePage__map {
    padding-top: 110px; }
@media (max-width: 639px) {
      .HomePage__map {
        padding-top: 140px; } }
.HomePage__partners {
    padding-top: 16px; }
@media (max-width: 899px) {
      .HomePage__partners {
        padding-top: 50px; } }
@media (max-width: 639px) {
      .HomePage__partners {
        padding-top: 80px; } }
.ProjectPage {
  margin-top: 60px; }
@media (max-width: 999px) {
    .ProjectPage {
      margin-top: 50px; } }
@media (max-width: 899px) {
    .ProjectPage {
      margin-top: 40px; } }
@media (max-width: 639px) {
    .ProjectPage {
      margin-top: 20px; } }
@media (max-width: 424px) {
    .ProjectPage {
      margin-top: 10px; } }
.ProjectPage__hero {
    margin-top: 30px;
    padding-bottom: 39.23445%; }
@media (max-width: 899px) {
      .ProjectPage__hero {
        margin-top: 20px; } }
.ProjectPage__hero::before {
      bottom: 34px;
      -webkit-box-shadow: 0 30px 150px rgba(88, 92, 177, 0.3);
              box-shadow: 0 30px 150px rgba(88, 92, 177, 0.3);
      content: "";
      left: 50px;
      position: absolute;
      top: 34px;
      right: 50px; }
.ProjectPage__list, .ProjectPage__info, .ProjectPage__image, .ProjectPage__gallery {
    margin-top: 80px; }
@media (max-width: 1199px) {
      .ProjectPage__list, .ProjectPage__info, .ProjectPage__image, .ProjectPage__gallery {
        margin-top: 70px; } }
@media (max-width: 999px) {
      .ProjectPage__list, .ProjectPage__info, .ProjectPage__image, .ProjectPage__gallery {
        margin-top: 60px; } }
@media (max-width: 899px) {
      .ProjectPage__list, .ProjectPage__info, .ProjectPage__image, .ProjectPage__gallery {
        margin-top: 50px; } }
.ProjectPage__list {
    display: grid;
    grid-gap: 50px 32px;
    grid-template-columns: repeat(2, 1fr); }
@media (max-width: 999px) {
      .ProjectPage__list {
        grid-gap: 40px 24px; } }
@media (max-width: 899px) {
      .ProjectPage__list {
        grid-gap: 30px 16px; } }
@media (max-width: 639px) {
      .ProjectPage__list {
        grid-template-columns: 1fr;
        grid-row-gap: 20px; } }
.ProjectPage__listLabel {
    color: rgba(61, 71, 95, 0.8);
    font-family: "Manrope", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.285715; }
.ProjectPage__listValue {
    color: #3d475f;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3125;
    margin-top: 15px; }
@media (max-width: 899px) {
      .ProjectPage__listValue {
        margin-top: 12px; } }
@media (max-width: 639px) {
      .ProjectPage__listValue {
        margin-top: 8px; } }
@media (max-width: 424px) {
      .ProjectPage__listValue {
        margin-top: 4px; } }
.ProjectPage__info {
    max-width: 937px; }
.ProjectPage__content, .ProjectPage__imageCaption {
    margin-top: 20px; }
@media (max-width: 899px) {
      .ProjectPage__content, .ProjectPage__imageCaption {
        margin-top: 16px; } }
@media (max-width: 639px) {
      .ProjectPage__content, .ProjectPage__imageCaption {
        margin-top: 12px; } }
@media (max-width: 424px) {
      .ProjectPage__content, .ProjectPage__imageCaption {
        margin-top: 8px; } }
@media (max-width: 639px) {
    .ProjectPage__content.wrap {
      max-height: 200px;
      overflow: hidden;
      position: relative; }
      .ProjectPage__content.wrap::after {
        background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(248, 248, 248, 0.9)), to(rgba(255, 255, 255, 0)));
        background-image: -webkit-linear-gradient(bottom, rgba(248, 248, 248, 0.9), rgba(255, 255, 255, 0));
        background-image: -o-linear-gradient(bottom, rgba(248, 248, 248, 0.9), rgba(255, 255, 255, 0));
        background-image: linear-gradient(0deg, rgba(248, 248, 248, 0.9), rgba(255, 255, 255, 0));
        bottom: 0;
        height: 60px;
        content: "";
        left: 0;
        position: absolute;
        width: 100%; } }
.ProjectPage__button {
    border-bottom: 1px dashed #3d475f;
    margin-top: 8px; }
@media (min-width: 640px) {
      .ProjectPage__button {
        display: none; } }
.ProjectPage__content:not(.wrap) + .ProjectPage__button {
      display: none; }
.ProjectPage__image img {
    margin: 0 auto;
    width: 100%; }
.ProjectPage__imageCaption {
    color: rgba(61, 71, 95, 0.8);
    font-size: 1.125rem;
    line-height: 1.7777; }
@media (max-width: 899px) {
      .ProjectPage__imageCaption {
        font-size: 1rem;
        line-height: 1.5; } }
.ProjectPage__galleryItems {
    margin-bottom: -20px;
    margin-top: 30px; }
@media (max-width: 899px) {
      .ProjectPage__galleryItems {
        margin-top: 20px; } }
@media (max-width: 639px) {
      .ProjectPage__galleryItems {
        margin-bottom: -12px; } }
.ProjectPage__galleryItem {
    display: block;
    margin-bottom: 20px;
    max-width: 100%;
    overflow: hidden; }
@media (max-width: 639px) {
      .ProjectPage__galleryItem {
        margin-bottom: 12px;
        position: static !important; } }
@media (min-width: 640px) {
      .ProjectPage__galleryItem:hover img {
        -webkit-transform: scale(1.04);
            -ms-transform: scale(1.04);
                transform: scale(1.04); } }
.ProjectPage__galleryItem img {
      width: 100%; }
.ProjectPage__consultation {
    margin-top: 140px; }
@media (max-width: 999px) {
      .ProjectPage__consultation {
        margin-top: 120px; } }
@media (max-width: 899px) {
      .ProjectPage__consultation {
        margin-top: 100px; } }
@media (max-width: 639px) {
      .ProjectPage__consultation {
        margin-top: 80px; } }
.ProjectsPage__heading {
  margin-bottom: 0.78947em; }
.ProjectsPage__filters {
  margin-top: 20px; }
.ProjectsPage__items {
  display: grid;
  grid-gap: 70px 32px;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 70px; }
@media (max-width: 999px) {
    .ProjectsPage__items {
      grid-gap: 60px 24px;
      margin-top: 60px; } }
@media (max-width: 899px) {
    .ProjectsPage__items {
      grid-gap: 50px 16px;
      margin-top: 50px; } }
@media (max-width: 639px) {
    .ProjectsPage__items {
      grid-template-columns: 1fr;
      margin-top: 40px; } }
@media (max-width: 424px) {
    .ProjectsPage__items {
      margin-top: 30px; } }
.ProjectsPage__consultation {
  margin-top: 130px; }
@media (max-width: 999px) {
    .ProjectsPage__consultation {
      margin-top: 110px; } }
@media (max-width: 899px) {
    .ProjectsPage__consultation {
      margin-top: 90px; } }
@media (max-width: 639px) {
    .ProjectsPage__consultation {
      margin-top: 70px; } }
.ServicesPage__heading {
  margin-bottom: 0.78947em; }
.ServicesPage__filters {
  margin-top: 20px; }
.ServicesPage__items {
  counter-reset: services;
  margin-top: 50px; }
@media (max-width: 999px) {
    .ServicesPage__items {
      margin-top: 40px; } }
@media (min-width: 640px) and (max-width: 899px) {
    .ServicesPage__items {
      display: grid;
      grid-gap: 60px 20px;
      grid-template-columns: repeat(2, 1fr);
      margin-top: 30px; } }
.ServicesPage__item {
  counter-increment: services; }
.ServicesPage__item:not(:last-child) {
    margin-bottom: 150px; }
@media (max-width: 1199px) {
      .ServicesPage__item:not(:last-child) {
        margin-bottom: 135px; } }
@media (max-width: 999px) {
      .ServicesPage__item:not(:last-child) {
        margin-bottom: 120px; } }
@media (min-width: 640px) and (max-width: 899px) {
      .ServicesPage__item:not(:last-child) {
        margin-bottom: 0; } }
@media (max-width: 639px) {
      .ServicesPage__item:not(:last-child) {
        margin-bottom: 70px; } }
@media (max-width: 424px) {
      .ServicesPage__item:not(:last-child) {
        margin-bottom: 60px; } }
.ServicesPage__consultation {
  margin-top: 140px; }
@media (max-width: 999px) {
    .ServicesPage__consultation {
      margin-top: 120px; } }
@media (max-width: 899px) {
    .ServicesPage__consultation {
      margin-top: 100px; } }
@media (max-width: 639px) {
    .ServicesPage__consultation {
      margin-top: 80px; } }
.ServicePage {
  margin-top: 30px; }
@media (max-width: 899px) {
    .ServicePage {
      margin-top: 20px; } }
@media (max-width: 639px) {
    .ServicePage {
      margin-top: 10px; } }
.ServicePage__heading {
    margin-bottom: 0.52632em; }
.ServicePage__consultation {
    margin-top: 80px; }
@media (max-width: 1199px) {
      .ServicePage__consultation {
        margin-top: 70px; } }
@media (max-width: 999px) {
      .ServicePage__consultation {
        margin-top: 60px; } }
@media (max-width: 899px) {
      .ServicePage__consultation {
        margin-top: 50px; } }
.ErrorPage {
  background-color: rgba(61, 71, 95, 0.5);
  padding: 72px 0;
  position: relative; }
@media (max-width: 639px) {
    .ErrorPage {
      padding: 64px 0; } }
.ErrorPage__container {
    width: 100%; }
.ErrorPage__heading {
    color: white;
    max-width: 540px; }
.ErrorPage__grid {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative;
    z-index: 2; }
@media (max-width: 899px) {
      .ErrorPage__grid {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        text-align: center; } }
.ErrorPage__code {
    color: rgba(255, 255, 255, 0.5);
    font-family: "Bebas Neue", cursive;
    font-size: 31.25rem;
    font-weight: 700;
    line-height: 1;
    margin-top: 72px; }
@media (max-width: 1199px) {
      .ErrorPage__code {
        font-size: 25rem; } }
@media (max-width: 999px) {
      .ErrorPage__code {
        font-size: 20rem; } }
@media (max-width: 899px) {
      .ErrorPage__code {
        font-size: 15rem;
        margin-top: 0;
        -webkit-box-ordinal-group: 0;
            -ms-flex-order: -1;
                order: -1; } }
@media (max-width: 639px) {
      .ErrorPage__code {
        font-size: 9.375rem; } }
.ErrorPage__description {
    color: white;
    font-weight: 500;
    line-height: 1.1111;
    margin-top: 15px;
    max-width: 435px; }
@media (max-width: 899px) {
      .ErrorPage__description {
        margin-top: 10px; } }
.ErrorPage__button {
    margin-top: 50px; }
@media (max-width: 899px) {
      .ErrorPage__button {
        margin-top: 40px; } }
@media (max-width: 639px) {
      .ErrorPage__button {
        margin-top: 30px; } }
.ErrorPage__image {
    z-index: 1; }
.ContactsPage__title {
  margin-top: 20px; }
@media (max-width: 899px) {
    .ContactsPage__title {
      margin-top: 16px; } }
.ContactsPage__formContainer {
  margin-left: 0; }
.ContactsPage__list, .ContactsPage__form {
  margin-top: 30px; }
@media (max-width: 899px) {
    .ContactsPage__list, .ContactsPage__form {
      margin-top: 24px; } }
@media (max-width: 639px) {
    .ContactsPage__list, .ContactsPage__form {
      margin-top: 16px; } }
.ContactsPage__section:not(:first-child) {
  margin-top: 80px; }
@media (max-width: 999px) {
    .ContactsPage__section:not(:first-child) {
      margin-top: 70px; } }
@media (max-width: 899px) {
    .ContactsPage__section:not(:first-child) {
      margin-top: 60px; } }
@media (max-width: 639px) {
    .ContactsPage__section:not(:first-child) {
      margin-top: 50px; } }
.ContactsList {
  display: inline-grid;
  grid-gap: 30px 139px;
  grid-template-columns: repeat(2, auto); }
@media (max-width: 999px) {
    .ContactsList {
      grid-gap: 24px 100px; } }
@media (max-width: 899px) {
    .ContactsList {
      grid-gap: 20px 72px; } }
@media (max-width: 639px) {
    .ContactsList {
      grid-gap: 32px;
      grid-template-columns: 1fr; } }
.ContactsList__column {
    max-width: 291px; }
@media (min-width: 900px) {
      .ContactsList__column--phones {
        grid-column-end: -1;
        grid-row: 1 / 3; } }
.ContactsList__items {
    margin-top: 15px; }
@media (max-width: 899px) {
      .ContactsList__items {
        margin-top: 8px; } }
@media (max-width: 639px) {
      .ContactsList__items {
        margin-top: 4px; } }
.ContactsList__item:not(:last-child) {
    margin-bottom: 27px; }
@media (max-width: 899px) {
      .ContactsList__item:not(:last-child) {
        margin-bottom: 20px; } }
@media (max-width: 639px) {
      .ContactsList__item:not(:last-child) {
        margin-bottom: 12px; } }
.ContactsList__heading {
    color: rgba(61, 71, 95, 0.8);
    font-family: "Manrope", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.285; }
.ContactsList__value {
    color: #3d475f;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3125; }
.ContactsList__label {
    color: rgba(61, 71, 95, 0.8);
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-top: 6px; }
@media (max-width: 639px) {
      .ContactsList__label {
        margin-top: 2px; } }
.ContactsMap__container {
  background-color: rgba(13, 100, 172, 0.1);
  min-height: 280px;
  padding-bottom: 42.5%;
  position: relative; }
.AboutPage {
  padding-bottom: 120px; }
@media (max-width: 999px) {
    .AboutPage {
      padding-bottom: 100px; } }
@media (max-width: 899px) {
    .AboutPage {
      padding-bottom: 80px; } }
@media (max-width: 639px) {
    .AboutPage {
      padding-bottom: 60px; } }
.AboutPage__primaryInfo, .AboutPage__features, .AboutPage__numbers, .AboutPage__documents, .AboutPage__partners {
    margin-top: 90px; }
@media (max-width: 999px) {
      .AboutPage__primaryInfo, .AboutPage__features, .AboutPage__numbers, .AboutPage__documents, .AboutPage__partners {
        margin-top: 72px; } }
@media (max-width: 899px) {
      .AboutPage__primaryInfo, .AboutPage__features, .AboutPage__numbers, .AboutPage__documents, .AboutPage__partners {
        margin-top: 64px; } }
@media (max-width: 639px) {
      .AboutPage__primaryInfo, .AboutPage__features, .AboutPage__numbers, .AboutPage__documents, .AboutPage__partners {
        margin-top: 56px; } }
.AboutPage__consultation {
    margin-top: 130px; }
@media (max-width: 999px) {
      .AboutPage__consultation {
        margin-top: 110px; } }
@media (max-width: 899px) {
      .AboutPage__consultation {
        margin-top: 90px; } }
@media (max-width: 639px) {
      .AboutPage__consultation {
        margin-top: 70px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy9zZXR0aW5ncy5zY3NzIiwibWFpbi5jc3MiLCJzdHlsZXMvZXNzZW50aWFscy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3N3aXBlci9jb21wb25lbnRzL2NvcmUvY29yZS5zY3NzIiwiPG5vIHNvdXJjZT4iLCJ2ZW5kb3IvdWlraXQvdmFyaWFibGVzLXRoZW1lLnNjc3MiLCJ2ZW5kb3IvdWlraXQvbWl4aW5zLXRoZW1lLnNjc3MiLCJ2ZW5kb3Ivc3dpcGVyL2NvbXBvbmVudHMvbmF2aWdhdGlvbi5zY3NzIiwidmVuZG9yL3N3aXBlci9zd2lwZXItc2V0dGluZ3Muc2NzcyIsInN0eWxlcy9tZWRpYS5zY3NzIiwic3R5bGVzL3V0aWxzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9iYXNlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3IvdWlraXQvbm9ybWFsaXplLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9pY29uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9mb3JtLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9taXhpbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYnV0dG9uLnNjc3MiLCJzdHlsZXMvZnVuY3Rpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb250YWluZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Nsb3NlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zcGlubmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9tb2RhbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGlnaHRib3guc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYW5pbWF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9mbGV4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9tYXJnaW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Bvc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wcmludC5zY3NzIiwic3R5bGVzL2VsZW1lbnRzL2hlYWRpbmcuc2NzcyIsInN0eWxlcy9lbGVtZW50cy90ZXh0LnNjc3MiLCJzdHlsZXMvZWxlbWVudHMvY29udGVudC5zY3NzIiwic3R5bGVzL2VsZW1lbnRzL2xhenktbG9hZGluZy5zY3NzIiwic3R5bGVzL2xheW91dC9iYXNlLnNjc3MiLCJzdHlsZXMvbWlzYy5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvb2ZmLWNhbnZhcy9vZmYtY2FudmFzLWJhc2Uuc2NzcyIsImNvbXBvbmVudHMvb2ZmLWNhbnZhcy9vZmYtY2FudmFzLXRoZW1lLWRlZmF1bHQuc2NzcyIsImNvbXBvbmVudHMvb2ZmLWNhbnZhcy9vZmYtY2FudmFzLXNldHRpbmdzLnNjc3MiLCJjb21wb25lbnRzL29mZi1jYW52YXMvb2ZmLWNhbnZhcy5zY3NzIiwiY29tcG9uZW50cy9mb3JtL2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvYnV0dG9uLWFycm93L2J1dHRvbi1hcnJvdy5zY3NzIiwiY29tcG9uZW50cy9iYWNrLWJ1dHRvbi9iYWNrLWJ1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9nYWxsZXJ5L2dhbGxlcnkuc2NzcyIsImNvbXBvbmVudHMvcHJvamVjdC1jYXJkL3Byb2plY3QtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlcnMuc2NzcyIsImNvbXBvbmVudHMvY29uc3VsdGF0aW9uL2NvbnN1bHRhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9sb2NhbGUtcGlja2VyL2xvY2FsZS1waWNrZXIuc2NzcyIsImNvbXBvbmVudHMvZmVhdHVyZWQtc2xpZGVyL2ZlYXR1cmVkLXNsaWRlci5zY3NzIiwiY29tcG9uZW50cy9wYXJ0bmVycy9wYXJ0bmVycy5zY3NzIiwidmVuZG9yL3N3aXBlci9zd2lwZXItaGVscGVycy5zY3NzIiwiY29tcG9uZW50cy9ob21lLWFib3V0L2hvbWUtYWJvdXQuc2NzcyIsImNvbXBvbmVudHMvaG9tZS1udW1iZXJzL2hvbWUtbnVtYmVycy5zY3NzIiwiY29tcG9uZW50cy9vcmRlcmVkLWNhcmQvb3JkZXJlZC1jYXJkLnNjc3MiLCJjb21wb25lbnRzL2hvbWUtc2VjdGlvbnMvaG9tZS1zZWN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9ob21lLXNlY3Rpb24vaG9tZS1zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL2ZlYXR1cmVkLWNhcmQvZmVhdHVyZWQtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9ob21lLXByb2plY3RzL2hvbWUtcHJvamVjdHMuc2NzcyIsImNvbXBvbmVudHMvaG9tZS1wcm9qZWN0L2hvbWUtcHJvamVjdC5zY3NzIiwiY29tcG9uZW50cy9ob21lLW1hcC9ob21lLW1hcC5zY3NzIiwiY29tcG9uZW50cy93cmFwcGVkLXBhcnRuZXJzL3dyYXBwZWQtcGFydG5lcnMuc2NzcyIsImNvbXBvbmVudHMvc2VydmljZS1jYXJkL3NlcnZpY2UtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9tb2RhbC9tb2RhbC5zY3NzIiwiY29tcG9uZW50cy9hYm91dC1oZXJvL2Fib3V0LWhlcm8uc2NzcyIsImNvbXBvbmVudHMvYWJvdXQtbnVtYmVycy9hYm91dC1udW1iZXJzLnNjc3MiLCJjb21wb25lbnRzL2Fib3V0LWZlYXR1cmVzL2Fib3V0LWZlYXR1cmVzLnNjc3MiLCJjb21wb25lbnRzL2Fib3V0LWRvY3VtZW50cy9hYm91dC1kb2N1bWVudHMuc2NzcyIsImNvbXBvbmVudHMvYWJvdXQtbWFwL2Fib3V0LW1hcC5zY3NzIiwicGFnZXMvaG9tZS9ob21lLnNjc3MiLCJwYWdlcy9wcm9qZWN0L3Byb2plY3Quc2NzcyIsInBhZ2VzL3Byb2plY3RzL3Byb2plY3RzLnNjc3MiLCJwYWdlcy9zZXJ2aWNlcy9zZXJ2aWNlcy5zY3NzIiwicGFnZXMvc2VydmljZS9zZXJ2aWNlLnNjc3MiLCJwYWdlcy9lcnJvci9lcnJvci5zY3NzIiwicGFnZXMvY29udGFjdHMvY29udGFjdHMuc2NzcyIsInBhZ2VzL2Fib3V0L2Fib3V0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OEVDRDZFO0FESzdFOzhFQ0g2RTtBRFU3RTs4RUNSNkU7QURjN0U7OEVDWjZFO0FEc0I3RTs4RUNwQjZFO0FEZ0M3RTs4RUM5QjZFO0FEb0M3RTs4RUNsQzZFO0FDVDdFOzs7RUFHSSwrQkFBc0I7VUFBdEIsdUJBQXNCLEVBQUE7QUFHMUI7O0VBR0ksaUJBQWdCO0VBRWhCLFVBQVM7RUFFVCxXQUFVLEVBQUE7QUFJZDs7Ozs7Ozs7Ozs7Ozs7RUFjSSxVQUFTLEVBQUE7QUFJYjtFQUNJLHdCQUF1QixFQUFBO0FBSTNCO0VBQ0ksa0JBQWlCO0VBQ2pCLDhCQUE2QjtFQUM3QixpQkFBZ0I7RUFDaEIsb0NBQW1DO0VBQ25DLG1DQUFrQyxFQUFBO0FBSXRDO0VBQ0ksa0NBQThCO1VBQTlCLCtCQUE4QixFQUFBO0FBSWxDO0VBQ0ksZ0JBQWU7RUFDZixlQUFjLEVBQUE7QUFJbEI7Ozs7RUFJSSxjQUFhLEVBQUE7QUFHakI7RUFDSSxpQkFBZ0I7RUFDaEIsYUFBWTtFQUNaLFVBQVM7RUFDVCxXQUFVLEVBQUE7QUFJZDtFQUNJO0lBRUksOENBQXFDO1lBQXJDLHNDQUFxQztJQUNyQyxnREFBdUM7WUFBdkMsd0NBQXVDO0lBQ3ZDLCtDQUFzQztTQUF0QywwQ0FBc0M7WUFBdEMsdUNBQXNDO0lBQ3RDLGlDQUFnQyxFQUFBLEVBQ25DO0FBSUw7RUFDSSxpQkFBZ0IsRUFBQTtBQUlwQjtFQUNJLGdCQUFlLEVBQUE7QUFJbkI7RUFDSSxhQUFZLEVBQUE7QUFJaEI7RUFDSSxxQkFBb0I7RUFDcEIsb0JBQW1CLEVBQUE7QUMzR3ZCO0VBQ0UsOEJBQXFCLEVBQUE7QUFFdkI7RUFDRSxrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLFdBQVU7RUFDViw4QkFBQTtFQUNBLFdBQVMsRUFBQTtBQUVYO0VBQ0UsNkJBQXNCO0VBQXRCLDhCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCLEVBQUE7QUFFeEI7RUFDRSxtQkFBaUI7RUFDakIsWUFBVztFQUNYLGFBQVk7RUFDWixXQUFVO0VBQ1YscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwrQ0FBNkI7RUFBN0IsdUNBQTZCO0VBQTdCLGtDQUE2QjtFQUE3QiwrQkFBNkI7RUFBN0Isa0RBQTZCO0VBQzdCLGdDQUF1QjtVQUF2Qix3QkFBdUIsRUFBQTtBQUV6Qjs7RUFFRSwwQ0FBOEI7VUFBOUIsa0NBQThCLEVBQUE7QUFFaEM7RUFDRSxvQkFBZTtNQUFmLGdCQUFlLEVBQUE7QUFFakI7RUFDRSxvQkFBZTtNQUFmLGdCQUFlO0VBQ2YsNkJBQXNCO0VBQXRCLDhCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCLEVBQUE7QUFFeEI7RUFDRSw2Q0FBb0M7T0FBcEMsd0NBQW9DO1VBQXBDLHFDQUFvQztFQUNwQyxlQUFjLEVBQUE7QUFFaEI7RUFDRSxxQkFBYztNQUFkLGVBQWM7RUFDZCxZQUFXO0VBQ1gsYUFBWTtFQUNaLG1CQUFrQjtFQUNsQiwrQ0FBOEI7RUFBOUIsdUNBQThCO0VBQTlCLGtDQUE4QjtFQUE5QiwrQkFBOEI7RUFBOUIsa0RBQThCLEVBQUE7QUFFaEM7RUFDRSxtQkFBa0IsRUFBQTtBQUVwQixpQkFBQTtBQUNBO0VBRUksYUFBWSxFQUFBO0FBRmhCO0VBTUkseUJBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsdURBQXNDO0VBQXRDLCtDQUFzQztFQUF0QywwQ0FBc0M7RUFBdEMsdUNBQXNDO0VBQXRDLDBEQUFzQyxFQUFBO0FBSTFDLGdCQUFBO0FBQ0E7RUFDRSw0QkFBbUI7VUFBbkIsb0JBQW1CLEVBQUE7QUFEckI7SUFHSSxxQ0FBNEI7WUFBNUIsNkJBQTRCLEVBQUE7QUFIaEM7SUFNSSxtQkFBa0I7SUFDbEIsUUFBTztJQUNQLE9BQU07SUFDTixZQUFXO0lBQ1gsYUFBWTtJQUNaLHFCQUFvQjtJQUNwQixZQUFXLEVBQUE7QUFaZjtJQWVJLGdIQUEwRTtJQUExRSx1RkFBMEU7SUFBMUUsa0ZBQTBFO0lBQTFFLGlGQUEwRSxFQUFBO0FBZjlFO0lBa0JJLGdIQUEyRTtJQUEzRSxzRkFBMkU7SUFBM0UsaUZBQTJFO0lBQTNFLGtGQUEyRSxFQUFBO0FBbEIvRTtJQXFCSSxrSEFBeUU7SUFBekUsd0ZBQXlFO0lBQXpFLG1GQUF5RTtJQUF6RSxnRkFBeUUsRUFBQTtBQXJCN0U7SUF3Qkksa0hBQTRFO0lBQTVFLHFGQUE0RTtJQUE1RSxnRkFBNEU7SUFBNUUsbUZBQTRFLEVBQUE7QUFJaEYsY0FBQTtBQUNBO0VBRUksZUFBYztFQUNkLHNCQUFxQjtFQUFFLGlCQUFBO0VBQ3ZCLHlCQUF3QjtFQUFFLG9DQUFBO0VDaEc5QixrQ0FBQSxFRGdHa0U7QUFKbEU7SUFNTSxjQUFhLEVBQUE7QUFObkI7RUFVSSwrQkFBOEIsRUFBQTtBQUdsQztFQUVJLGtDQUE2QjtNQUE3QixzQ0FBNkI7VUFBN0IsOEJBQTZCLEVBQUE7QUFHakM7RUFFSSxrQ0FBNkI7TUFBN0Isc0NBQTZCO1VBQTdCLDhCQUE2QixFQUFBO0FFaEhqQzs4RUo4TDZFO0FJckw3RTs4RUp1TDZFO0FJaEw3RTs4RUprTDZFO0FJeEs3RTs4RUowSzZFO0FJcks3RTs4RUp1SzZFO0FJaEs3RTs4RUprSzZFO0FJeko3RTs4RUoySjZFO0FJcEo3RTs4RUpzSjZFO0FJN0k3RTs4RUorSTZFO0FJMUk3RTs4RUo0STZFO0FJdkk3RTs4RUp5STZFO0FJaEk3RTs4RUprSTZFO0FJL0c3RTs4RUppSDZFO0FJMUc3RTs4RUo0RzZFO0FJbkc3RTs4RUpxRzZFO0FJbEY3RTs4RUpvRjZFO0FJaEY3RTs4RUprRjZFO0FLOU43RTs4RUxnTzZFO0FLMU43RTs4RUw0TjZFO0FLcE43RTs4RUxzTjZFO0FLL003RTs4RUxpTjZFO0FLM003RTs4RUw2TTZFO0FLcE03RTs4RUxzTTZFO0FLL0w3RTs4RUxpTTZFO0FLM0w3RTs4RUw2TDZFO0FLdkw3RTs4RUx5TDZFO0FLbkw3RTs4RUxxTDZFO0FLL0s3RTs4RUxpTDZFO0FNL096RTtFQUNJLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhLEVBQUE7QUFHakI7RUFLSSwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQix5QkFBZ0I7S0FBaEIsc0JBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQiwwQlBrQnNCO0VPakJ0QiwyQkFBa0I7VUFBbEIsbUJBQWtCO0VBQ2xCLGFDTmtCO0VET2xCLGdCQUFlO0VBQ2YscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixhQ1BpQjtFRFFqQix5QkFBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QixjQUFhO0VBQ2Isa0NQb0I0QjtFT3BCNUIsNkJQb0I0QjtFT3BCNUIsMEJQb0I0QjtFT25CNUIsOERBQXFEO0VBQXJELHlEQUFxRDtFQUFyRCxz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O0VBQTRCLDZCZnJSaUIsRUFBQTtBZXFSN0M7RUFBNEIsNkJmclJpQixFQUFBO0Fld1I3Qzs4RWRndkI2RTtBYzd1QjdFOztHZGd2QkU7QWM1dUJGO0VBQWlCLG9CSHpRZ0IsRUFBQTtBRzJRakM7RUFDSSxhSHRKOEI7RUd1SjlCLGtCSG1FK0I7RUdsRS9CLG1CSGtFK0IsRUFBQTtBRy9EbkM7RUFBc0Qsa0JIM0pwQixFQUFBO0FHNkpsQzs7R2RndkJFO0FjNXVCRjtFQUFpQixtQkgzVWdCLEVBQUE7QUc2VWpDO0VBQ0ksYUhsSzhCO0VHbUs5QixtQkh5RGdDO0VHeERoQyxvQkh3RGdDLEVBQUE7QUdyRHBDO0VBQXNELGtCSHZLcEIsRUFBQTtBRzBLbEM7OEVkOHVCNkU7QWMzdUI3RTs7R2Q4dUJFO0FjMXVCRjs7RUFFSSxlVm5WdUMsRUFBQTtBVXVWM0M7O0dkMnVCRTtBY3Z1QkY7O0VBRUksZVYvVjBDLEVBQUE7QVVtVzlDOztHZHd1QkU7QWNwdUJGO0VBQ0ksaUJBQWdCLEVBQUE7QUFTcEI7OEVkK3RCNkU7QWM1dEI3RTs7O0dkZ3VCRTtBYzN0QkY7RUFBNkIsWUhVTCxFQUFBO0FHUnhCO0VBQThCLFlBQWtDLEVBQUE7QUFFaEU7RUFBdUIsYUhPQyxFQUFBO0FHTHhCO0VBQXdCLGFITUMsRUFBQTtBR0p6QjtFQUF1QixhSEtDLEVBQUE7QUdGeEI7OEVkaXVCNkU7QWM5dEI3RTs7Ozs7R2RvdUJFO0FjN3RCRjtFQUNJLE9BQUE7RUFDQSx5QkFBd0I7RUFDeEIsc0JBQXFCO0VBQ3JCLE9BQUE7RUFDQSxvQkhaNEI7RUlyWDVCLHVaQUEwQztFRG1ZMUMsNkJBQTRCO0VBQzVCLDhCQUE2QixFQUFBO0FBR2pDLE9BQUE7QUFDQTtFQUFxRCxjQUFhLEVBQUE7QUFFbEUsT0FBQTtBQUNBO0VBQWdELFlIcEJqQixFQUFBO0FHc0IvQjs7R2RpdUJFO0FjN3RCRjtFQ2paSSx1WkFBMEMsRUFBQTtBRG9aOUM7OEVkK3RCNkU7QWM1dEI3RTs7R2QrdEJFO0FjM3RCRDtFQUNHLG9CSG5DOEI7RUdvQzlCLDZCQUE0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LDZCQUFvQjtVQUFwQixxQkFBb0IsRUFBQTtBV3lKeEIsbUJBQUE7QUFDQTs7RUFFSSwwQmpCNUkwQjtFaUI2STFCLGFabkg4QjtFQ3BDOUIsc0JOVTBCLEVBQUE7QWlCaUo5QixzQkFBQTtBQUNBOztFQUVJLDBCakJwSjBCO0VpQnFKMUIsYVoxSCtCLEVBQUE7QVk4SG5DOztHaEJ5ekNFO0FnQnJ6Q0Y7RUFDSSwwQmpCOUowQjtFaUIrSjFCLGFaL0l3QixFQUFBO0FZbUo1QixtQkFBQTtBQUNBOzs7Ozs7Ozs7RUFFSSwwQkxWb0U7RUtXcEUsYVp2SndCLEVBQUE7QVkySjVCLHNCQUFBO0FBQ0E7Ozs7Ozs7OztFQUVJLDBCTGhCc0U7RUtpQnRFLGFaL0p3QixFQUFBO0FZbUs1Qjs7R2hCZzBDRTtBZ0I1ekNGO0VBQ0ksd0JaekorQjtFWTBKL0IsZWpCdEx5QixFQUFBO0FpQjBMN0IsbUJBQUE7QUFDQTs7RUFFSSwwQkw5QndFO0VLK0J4RSxZTHpOdUIsRUFBQTtBSzZOM0Isc0JBQUE7QUFDQTs7RUFFSSwwQkxwQzBFO0VLcUMxRSxZTGpPdUIsRUFBQTtBS3FPM0I7O0doQnl6Q0U7QWdCcnpDRjtFQUNJLDBCWnRPdUM7RVl1T3ZDLFlMM091QixFQUFBO0FLK08zQixtQkFBQTtBQUNBOztFQUVJLDBCTGxEa0U7RUttRGxFLFlMblB1QixFQUFBO0FLdVAzQixzQkFBQTtBQUNBOztFQUVJLDBCTHhEb0U7RUt5RHBFLFlMM1B1QixFQUFBO0FLK1AzQjs7O0doQm16Q0U7QWdCOXlDRjs7Ozs7Ozs7Ozs7RUFJSSwwQmpCaFAwQjtFaUJpUDFCLGFaNU15QixFQUFBO0FZaU43Qjs4RWhCb3pDNkU7QWdCanpDN0U7RUFDSSxnQkw1UXNCO0VLNlF0QixrQkxqSDhCO0VLa0g5QixvQkx4TzZCLEVBQUE7QUs0T2pDO0VBQ0ksZ0JaelA0QjtFWTBQNUIsa0JaelAyQjtFWTBQM0IscUJDblNzQyxFQUFBO0FEd1MxQzs4RWhCOHlDNkU7QWdCM3lDN0U7Ozs7R2hCZ3pDRTtBZ0IxeUNGO0VBQ0ksT0FBQTtFQUNBLFdBQVU7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QixFQUFBO0FBRzdCO0VBQ0ksZWhDeUIyQjtFZ0N4QjNCLG1DaENPdUM7RWdDTnZDLG1CZFJzQztFY1N0QyxpQmhDRHVCO0VnQ0V2Qix1QkFBc0I7RUFDdEIsa0JBQWlCO0VBQ2pCLDBCQUF5QixFQUFBO0FBRzdCO0VBR0ksb0JkbEJzQyxFQUFBO0FUaUV0QztJdUJsREo7TUFNUSxnQmRyQmtDLEVBQUEsRWMyQnpDO0F2Qm9CRztJdUJoQ0o7TUFVUSxvQmR6QmtDLEVBQUEsRWMyQnpDO0FBRUQ7RUFHSSxvQmRoQ3NDO0VjaUN0QyxlQUFjLEVBQUE7QUFHbEI7RUFHSSxtQmR2Q3NDO0Vjd0N0QyxrQkFBaUIsRUFBQTtBdkIyQ2pCO0V1QnhDSjtJQUlRLG1CZC9Da0MsRUFBQSxFY3lEekM7QXZCUUc7RXVCdEJKO0lBUVEsb0JkbkRrQyxFQUFBLEVjeUR6QztBdkJWRztFdUJKSjtJQVlRLGdCZHZEa0MsRUFBQSxFY3lEekM7QUFFRDtFQUdJLG9CZDlEc0M7RWMrRHRDLHFCQUFvQixFQUFBO0F2QjRDcEI7SXVCaERKO01BT1EsbUJkbEVrQyxFQUFBLEVjZ0Z6QztBdkJHRztJdUJ4Qko7TUFXUSxvQmR0RWtDLEVBQUEsRWNnRnpDO0F2QmZHO0l1Qk5KO01BZVEsZ0JkMUVrQyxFQUFBLEVjZ0Z6QztBdkJqQ0c7SXVCWUo7TUFtQlEsb0JkOUVrQyxFQUFBLEVjZ0Z6QztBQUVEO0VBR0ksbUJBQWtCO0VBQ2xCLGdCZHRGc0MsRUFBQTtBVDJHdEM7SXVCekJKO01BT1Esb0JkekZrQyxFQUFBLEVjdUd6QztBdkJwQkc7SXVCREo7TUFXUSxtQmQ3RmtDLEVBQUEsRWN1R3pDO0F2QnRDRztJdUJpQko7TUFlUSxrQmRqR2tDLEVBQUEsRWN1R3pDO0F2QnhERztJdUJtQ0o7TUFtQlEsb0JkckdrQyxFQUFBLEVjdUd6QztBQUVEO0VBR0ksbUJkNUdzQztFYzZHdEMsb0JBQW1CLEVBQUE7QXZCRm5CO0l1QkZKO01BT1EscUJkaEhrQyxFQUFBLEVjOEh6QztBdkIzQ0c7SXVCc0JKO01BV1Esb0JkcEhrQyxFQUFBLEVjOEh6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ZS41NzMxMjVkZDQ1YTUyZGQ5ZTBkNTRhNDM5YzIyOTc1Yy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgaXMgZm9yIFNhc3NTY3JpcHQgZWxlbWVudHMgeW91IHdhbnQgdG8gdXNlIGluIGFueSBvdGhlciBzdHlsZXNoZWV0XHJcblxyXG4vKiBCYXNlXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kcm9vdC1mb250LXNpemU6IDE2cHg7XHJcblxyXG4vKiBGb250IHdlaWdodHNcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiRmb250LXdlaWdodC1yZWd1bGFyOiA0MDA7XHJcbiRmb250LXdlaWdodC1tZWRpdW06IDUwMDtcclxuJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDogNjAwO1xyXG4kZm9udC13ZWlnaHQtYm9sZDogNzAwO1xyXG5cclxuLyogRm9udCBmYW1pbGllc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGZvbnQtZmFtaWx5LWJlYmFzOiBcIkJlYmFzIE5ldWVcIiwgY3Vyc2l2ZTtcclxuJGZvbnQtZmFtaWx5LW1hbnJvcGU6IFwiTWFucm9wZVwiLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1mYW1pbHktaGVhZGluZzogJGZvbnQtZmFtaWx5LWJlYmFzO1xyXG5cclxuLyogRm9udCBzaXplc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGZvbnQtc2l6ZS1oZWFkaW5nLXBhZ2U6IDEycHg7XHJcbiRmb250LXNpemUtaGVhZGluZy14c21hbGw6IDE4cHg7XHJcbiRmb250LXNpemUtaGVhZGluZy1zbWFsbDogMjJweDtcclxuJGZvbnQtc2l6ZS1oZWFkaW5nLXNlbWktc21hbGw6IDI4cHg7XHJcbiRmb250LXNpemUtaGVhZGluZy1tZWRpdW06IDM4cHg7XHJcbiRmb250LXNpemUtaGVhZGluZy1sYXJnZTogNDhweDtcclxuJGZvbnQtc2l6ZS1oZWFkaW5nLXhsYXJnZTogNjBweDtcclxuXHJcbi8qIENvbG9yc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGNvbG9yLXByaW1hcnktZXh0cmEtbGlnaHRlbjogcmdiYSg2MSwgNzEsIDk1LCAwLjUpO1xyXG4kY29sb3ItcHJpbWFyeS1saWdodGVuOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7XHJcbiRjb2xvci1wcmltYXJ5LWRlZmF1bHQ6ICMzZDQ3NWY7XHJcbiRjb2xvci1hY2NlbnQtZGVmYXVsdDogIzNiNjVjZjtcclxuJGNvbG9yLW11dGVkLWV4dHJhLWxpZ2h0ZW46ICNmYWZhZmE7XHJcbiRjb2xvci1tdXRlZC1saWdodGVuOiAjZWFlYmVkO1xyXG4kY29sb3ItbXV0ZWQtZGVmYXVsdDogIzg2ODY4NjtcclxuJGNvbG9yLXBsYWNlaG9sZGVyOiByZ2JhKDEzLCAxMDAsIDE3MiwgMC4xKTtcclxuJGNvbG9yLWRhbmdlcjogI2ViNjI2MjtcclxuXHJcbi8qIFRyYW5zaXRpb25cclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZTogMC4ycztcclxuJHRyYW5zaXRpb24tZGVmYXVsdC1lYXNpbmc6IGVhc2Utb3V0O1xyXG4kdHJhbnNpdGlvbi1kZWZhdWx0OiAkdHJhbnNpdGlvbi1kZWZhdWx0LXRpbWUgJHRyYW5zaXRpb24tZGVmYXVsdC1lYXNpbmc7XHJcblxyXG4vKiBDb3VudGVyc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGNvdW50ZXItaG9tZS1zZWN0aW9uOiBob21lLXNlY3Rpb25zO1xyXG4kY291bnRlci1mZWF0dXJlZC1zbGlkZXI6IGZlYXR1cmVkLXNsaWRlcjtcclxuJGNvdW50ZXItc2VydmljZXM6IHNlcnZpY2VzO1xyXG4kY291bnRlci1hYm91dC1udW1iZXJzOiBhYm91dC1udW1iZXJzO1xyXG4iLCIvKiBCYXNlXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRm9udCB3ZWlnaHRzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRm9udCBmYW1pbGllc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEZvbnQgc2l6ZXNcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDb2xvcnNcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUcmFuc2l0aW9uXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ291bnRlcnNcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbnVsLFxub2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuYm9keSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxucCxcbnVsLFxub2wsXG5saSxcbmZpZ3VyZSxcbmZpZ2NhcHRpb24sXG5ibG9ja3F1b3RlLFxuZGwsXG5kZCB7XG4gIG1hcmdpbjogMDsgfVxuXG5odG1sIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7IH1cblxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuYTpub3QoW2NsYXNzXSkge1xuICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IGF1dG87IH1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5pbnB1dCxcbmJ1dHRvbixcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5idXR0b24ge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAqIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG5pZnJhbWUge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDA7IH1cblxudGgge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgdGV4dC1hbGlnbjogaW5oZXJpdDsgfVxuXG46cm9vdCB7XG4gIC0tc3dpcGVyLXRoZW1lLWNvbG9yOiAjM2I2NWNmOyB9XG5cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdy1jb2x1bW4gPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7IH1cblxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4OyB9XG4gIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG4gIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuICAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG4gIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuICAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLyogQ1NTIE1vZGUgKi9cbi5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgLyogRm9yIEZpcmVmb3ggKi9cbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xuICAvKiBGb3IgSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEVkZ2UgKi8gfVxuICAuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IHN0YXJ0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTsgfVxuXG4vKiBCYXNlXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogR2xvYmFsXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQ29udGFpbmVyXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRm9udFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIExpbmsgZGVmYXVsdFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJ1dHRvbiBiYXNlXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQnV0dG9uIHByaW1hcnlcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCdXR0b24gZGVmYXVsdFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJ1dHRvbiBzZWNvbmRhcnlcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCdXR0b24gZGlzYWJsZWRcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCcmVhZGNydW1ic1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEZvcm1cclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBNb2RhbFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE9mZmNhbnZhc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE5vdGlmaWNhdGlvblxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEFuaW1hdGlvblxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE1pc2NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBMaW5rIGJhc2VcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCdXR0b24gYmFzZVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJ1dHRvbiBkZWZhdWx0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQnV0dG9uIGRlZmF1bHRcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBGb3JtIHNpbmdsZSBsaW5lXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTm90aWZpY2F0aW9uIG1lc3NhZ2VcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBOb3RpZmljYXRpb24gbWVzc2FnZSBwcmltYXJ5XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTm90aWZpY2F0aW9uIG1lc3NhZ2Ugc3VjY2Vzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE5vdGlmaWNhdGlvbiBtZXNzYWdlIHdhcm5pbmdcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBOb3RpZmljYXRpb24gbWVzc2FnZSBkYW5nZXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBOb3RpZmljYXRpb24gY2xvc2VcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc3dpcGVyLWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5zd2lwZXItYnV0dG9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNiNjVjZjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAyN3B4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIG9wYWNpdHksIGJhY2tncm91bmQtY29sb3I7XG4gIHdpZHRoOiAyN3B4O1xuICB6LWluZGV4OiAxOyB9XG4gIC5zd2lwZXItYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLnN3aXBlci1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4OyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgIC5zd2lwZXItYnV0dG9uOm5vdCguc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCk6aG92ZXIsIC5zd2lwZXItYnV0dG9uOm5vdCguc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCk6YWN0aXZlLCAuc3dpcGVyLWJ1dHRvbjpub3QoLnN3aXBlci1idXR0b24tZGlzYWJsZWQpOmZvY3VzLXdpdGhpbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmE0ZmFkOyB9IH1cbiAgLnN3aXBlci1idXR0b24gc3ZnIHtcbiAgICBtYXgtd2lkdGg6IDE5cHg7XG4gICAgdHJhbnNpdGlvbjogc3Ryb2tlIDAuMnMgZWFzZS1vdXQ7IH1cbiAgLnN3aXBlci1idXR0b24tcHJldiBzdmcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpOyB9XG4gIC5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkZmU1O1xuICAgIGNvbG9yOiAjM2Q0NzVmOyB9XG4gIC5zd2lwZXItYnV0dG9uLWxhcmdlIHtcbiAgICBzaXplOiA1MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc3dpcGVyLWJ1dHRvbi1sYXJnZSB7XG4gICAgICAgIHNpemU6IDQwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLnN3aXBlci1idXR0b24tbGFyZ2Uge1xuICAgICAgICBzaXplOiAzMnB4OyB9IH1cbiAgICAuc3dpcGVyLWJ1dHRvbi1sYXJnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5zd2lwZXItYnV0dG9uLWxhcmdlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTZweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgICAgLnN3aXBlci1idXR0b24tbGFyZ2U6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9IH1cbiAgLnN3aXBlci1idXR0b24td2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xuICAgICAgLnN3aXBlci1idXR0b24td2hpdGU6bm90KC5zd2lwZXItYnV0dG9uLXdoaXRlLWRpc2FibGVkKTpob3ZlciwgLnN3aXBlci1idXR0b24td2hpdGU6bm90KC5zd2lwZXItYnV0dG9uLXdoaXRlLWRpc2FibGVkKTphY3RpdmUsIC5zd2lwZXItYnV0dG9uLXdoaXRlOm5vdCguc3dpcGVyLWJ1dHRvbi13aGl0ZS1kaXNhYmxlZCk6Zm9jdXMtd2l0aGluIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJhNGZhZDsgfVxuICAgICAgICAuc3dpcGVyLWJ1dHRvbi13aGl0ZTpub3QoLnN3aXBlci1idXR0b24td2hpdGUtZGlzYWJsZWQpOmhvdmVyIHN2ZywgLnN3aXBlci1idXR0b24td2hpdGU6bm90KC5zd2lwZXItYnV0dG9uLXdoaXRlLWRpc2FibGVkKTphY3RpdmUgc3ZnLCAuc3dpcGVyLWJ1dHRvbi13aGl0ZTpub3QoLnN3aXBlci1idXR0b24td2hpdGUtZGlzYWJsZWQpOmZvY3VzLXdpdGhpbiBzdmcge1xuICAgICAgICAgIHN0cm9rZTogd2hpdGU7IH0gfVxuICAgIC5zd2lwZXItYnV0dG9uLXdoaXRlIHN2ZyB7XG4gICAgICBzdHJva2U6ICMzYjY1Y2Y7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFNldCBgZm9udC1zaXplYCB0byBzdXBwb3J0IGByZW1gIHVuaXRzXG4gKiAgICBOb3QgdXNpbmcgYGZvbnRgIHByb3BlcnR5IGJlY2F1c2UgYSBsZWFkaW5nIGh5cGhlbiAoZS5nLiAtYXBwbGUtc3lzdGVtKSBjYXVzZXMgdGhlIGZvbnQgdG8gYnJlYWsgaW4gSUUxMSBhbmQgRWRnZVxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKiAzLiBTdHlsZVxuICovXG5odG1sIHtcbiAgLyogMSAqL1xuICBmb250LWZhbWlseTogXCJNYW5yb3BlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgY29sb3I6ICMzZDQ3NWY7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBMaW5rc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKi9cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFN0eWxlXG4gKi9cbmEsXG4udWstbGluayB7XG4gIGNvbG9yOiAjM2Q0NzVmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dDsgfVxuXG5hOmhvdmVyLFxuLnVrLWxpbms6aG92ZXIsXG4udWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmssXG4udWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmsge1xuICBjb2xvcjogIzNiNjVjZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIEVkZ2UuXG4gKiAyLiBUaGUgc2hvcnRoYW5kIGRlY2xhcmF0aW9uIGB1bmRlcmxpbmUgZG90dGVkYCBpcyBub3Qgc3VwcG9ydGVkIGluIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1zdHlsZTogZG90dGVkOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKlxuICogMS4gQ29uc29sYXMgaGFzIGEgYmV0dGVyIGJhc2VsaW5lIGluIHJ1bm5pbmcgdGV4dCBjb21wYXJlZCB0byBgQ291cmllcmBcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIFN0eWxlXG4gKi9cbjpub3QocHJlKSA+IGNvZGUsXG46bm90KHByZSkgPiBrYmQsXG46bm90KHByZSkgPiBzYW1wIHtcbiAgLyogMSAqL1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlO1xuICAvKiAyICovXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIC8qIDMgKi9cbiAgY29sb3I6ICNmMjVkNTA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLypcbiAqIEVtcGhhc2l6ZVxuICovXG5lbSB7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qXG4gKiBJbnNlcnRcbiAqL1xuaW5zIHtcbiAgYmFja2dyb3VuZDogI2ZmZDtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKlxuICogTWFya1xuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmZDtcbiAgY29sb3I6ICM2NjY7IH1cblxuLypcbiAqIFF1b3RlXG4gKi9cbnEge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qXG4gKiBQcmV2ZW50cyBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGVtYmVkZGVkIGNvbnRlbnQgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVycy5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLypcbiAqIDEuIEFkZCByZXNwb25zaXZlbmVzcy5cbiAqIDIuIEF1dG8tc2NhbGUgdGhlIGhlaWdodC4gT25seSBuZWVkZWQgaWYgYGhlaWdodGAgYXR0cmlidXRlIGlzIHByZXNlbnQuXG4gKiAzLiBDb3JyZWN0cyByZXNwb25zaXZlIGBtYXgtd2lkdGhgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZC5cbiAqIDQuIEV4Y2x1ZGUgU1ZHcyBmb3IgSUUxMSBiZWNhdXNlIHRoZXkgZG9uJ3QgcHJlc2VydmUgdGhlaXIgYXNwZWN0IHJhdGlvLlxuICovXG5jYW52YXMsXG5pbWcsXG52aWRlbyB7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAyICovXG4gIGhlaWdodDogYXV0bztcbiAgLyogMyAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qIDQgKi9cbkBzdXBwb3J0cyAoZGlzcGxheTogYmxvY2spIHtcbiAgc3ZnIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH0gfVxuXG4vKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogMS4gRml4IGxhenkgbG9hZGluZyBpbWFnZXMgaWYgcGFyZW50IGVsZW1lbnQgaXMgc2V0IHRvIGBkaXNwbGF5OiBpbmxpbmVgIGFuZCBoYXMgYG92ZXJmbG93OiBoaWRkZW5gLlxuICogMi4gSGlkZSBgYWx0YCB0ZXh0IGZvciBsYXp5IGxvYWRpbmcgaW1hZ2VzLlxuICogTm90ZTogU2VsZWN0b3IgZm9yIGJhY2tncm91bmQgd2hpbGUgbG9hZGluZyBpbWdbZGF0YS1zcmMqPScuanBnJ11bc3JjKj0nZGF0YTppbWFnZSddIHsgYmFja2dyb3VuZDogZ3JleTsgfVxuICovXG5pbWc6bm90KFtzcmNdKSB7XG4gIC8qIDEgKi9cbiAgbWluLXdpZHRoOiAxcHg7XG4gIC8qIDIgKi9cbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXG4gKiBJZnJhbWVcbiAqIFJlbW92ZSBib3JkZXIgaW4gYWxsIGJyb3dzZXJzXG4gKi9cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKiBCbG9jayBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTWFyZ2luc1xuICovXG5wLFxudWwsXG5vbCxcbmRsLFxucHJlLFxuYWRkcmVzcyxcbmZpZWxkc2V0LFxuZmlndXJlIHtcbiAgbWFyZ2luOiAwIDAgMCAwOyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIHAsXG4qICsgdWwsXG4qICsgb2wsXG4qICsgZGwsXG4qICsgcHJlLFxuKiArIGFkZHJlc3MsXG4qICsgZmllbGRzZXQsXG4qICsgZmlndXJlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKiBIZWFkaW5nc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5oMSwgLnVrLWgxLFxuaDIsIC51ay1oMixcbmgzLCAudWstaDMsXG5oNCwgLnVrLWg0LFxuaDUsIC51ay1oNSxcbmg2LCAudWstaDYsXG4udWstaGVhZGluZy1zbWFsbCxcbi51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1oZWFkaW5nLWxhcmdlLFxuLnVrLWhlYWRpbmcteGxhcmdlLFxuLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gIG1hcmdpbjogMCAwIDAgMDtcbiAgZm9udC1mYW1pbHk6IFwiQmViYXMgTmV1ZVwiLCBjdXJzaXZlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzNkNDc1ZjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaDEsICogKyAudWstaDEsXG4qICsgaDIsICogKyAudWstaDIsXG4qICsgaDMsICogKyAudWstaDMsXG4qICsgaDQsICogKyAudWstaDQsXG4qICsgaDUsICogKyAudWstaDUsXG4qICsgaDYsICogKyAudWstaDYsXG4qICsgLnVrLWhlYWRpbmctc21hbGwsXG4qICsgLnVrLWhlYWRpbmctbWVkaXVtLFxuKiArIC51ay1oZWFkaW5nLWxhcmdlLFxuKiArIC51ay1oZWFkaW5nLXhsYXJnZSxcbiogKyAudWstaGVhZGluZy0yeGxhcmdlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogU2l6ZXNcbiAqL1xuaDEsIC51ay1oMSB7XG4gIGZvbnQtc2l6ZTogMi4yMzEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG5oMiwgLnVrLWgyIHtcbiAgZm9udC1zaXplOiAxLjdyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuaDMsIC51ay1oMyB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbmg0LCAudWstaDQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuaDUsIC51ay1oNSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5oNiwgLnVrLWg2IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICBoMSwgLnVrLWgxIHtcbiAgICBmb250LXNpemU6IDIuNjI1cmVtOyB9XG4gIGgyLCAudWstaDIge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfSB9XG5cbi8qIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnVsLFxub2wge1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLypcbiAqIFJlc2V0IG1hcmdpbiBmb3IgbmVzdGVkIGxpc3RzXG4gKi9cbnVsID4gbGkgPiB1bCxcbnVsID4gbGkgPiBvbCxcbm9sID4gbGkgPiBvbCxcbm9sID4gbGkgPiB1bCB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBEZXNjcmlwdGlvbiBsaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLyogSG9yaXpvbnRhbCBydWxlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gQ2hyb21lLCBFZGdlIGFuZCBJRS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0LWFsaWduIGluIEVkZ2UgYW5kIElFLlxuICogMy4gU3R5bGVcbiAqL1xuaHIsIC51ay1ociB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi9cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgLyogMyAqL1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaHIsXG4qICsgLnVrLWhyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKiBBZGRyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLyogQmxvY2txdW90ZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgYmxvY2txdW90ZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLypcbiAqIENvbnRlbnRcbiAqL1xuYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuYmxvY2txdW90ZSBmb290ZXIge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi8qIFByZWZvcm1hdHRlZCB0ZXh0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udDogMC44NzVyZW0gLyAxLjUgQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlO1xuICBjb2xvcjogIzY2NjtcbiAgLW1vei10YWItc2l6ZTogNDtcbiAgdGFiLXNpemU6IDQ7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxucHJlIGNvZGUge1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlOyB9XG5cbi8qIFNlbGVjdGlvbiBwc2V1ZG8tZWxlbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMzOWY7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG4vKiBIVE1MNSBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5kZXRhaWxzLFxubWFpbiB7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBQYXNzIG1lZGlhIGJyZWFrcG9pbnRzIHRvIEpTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBCcmVha3BvaW50c1xuICovXG4udWstYnJlYWtwb2ludC1zOjpiZWZvcmUge1xuICBjb250ZW50OiBcIjY0MHB4XCI7IH1cblxuLnVrLWJyZWFrcG9pbnQtbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCI5MDBweFwiOyB9XG5cbi51ay1icmVha3BvaW50LWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiMTAwMHB4XCI7IH1cblxuLnVrLWJyZWFrcG9pbnQteGw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiMTIwMHB4XCI7IH1cblxuOnJvb3Qge1xuICAtLXVrLWJyZWFrcG9pbnQtczogNjQwcHg7XG4gIC0tdWstYnJlYWtwb2ludC1tOiA5MDBweDtcbiAgLS11ay1icmVha3BvaW50LWw6IDEwMDBweDtcbiAgLS11ay1icmVha3BvaW50LXhsOiAxMjAwcHg7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIE5vdGU6IDEuIC0gNy4gaXMgcmVxdWlyZWQgZm9yIGBidXR0b25gIGVsZW1lbnRzLiBOZWVkZWQgZm9yIENsb3NlIGFuZCBGb3JtIEljb24gY29tcG9uZW50LlxuICogMS4gUmVtb3ZlIG1hcmdpbnMgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICogMi4gUmVtb3ZlIGJvcmRlcnMgZm9yIGBidXR0b25gLlxuICogMy4gUmVtb3ZlIGJvcmRlci1yYWRpdXMgaW4gQ2hyb21lLlxuICogNC4gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRS5cbiAqIDUuIENvcnJlY3QgYGZvbnRgIHByb3BlcnRpZXMgYW5kIGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBmb3IgYGJ1dHRvbmAuXG4gKiA2LiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDcuIFJlbW92ZSBkZWZhdWx0IGBidXR0b25gIHBhZGRpbmcgYW5kIGJhY2tncm91bmQgY29sb3JcbiAqIDguIFN0eWxlXG4gKiA5LiBGaWxsIGFsbCBTVkcgZWxlbWVudHMgd2l0aCB0aGUgY3VycmVudCB0ZXh0IGNvbG9yIGlmIG5vIGBmaWxsYCBhdHRyaWJ1dGUgaXMgc2V0XG4gKiAxMC4gTGV0IHRoZSBjb250YWluZXIgZml0IHRoZSBoZWlnaHQgb2YgdGhlIGljb25cbiAqL1xuLnVrLWljb24ge1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDMgKi9cbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLyogNCAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogNSAqL1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogNiAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgLyogNy4gKi9cbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDggKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiA5ICovXG4gIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgLyogMTAgKi9cbiAgbGluZS1oZWlnaHQ6IDA7IH1cblxuLyogUmVxdWlyZWQgZm9yIGBidXR0b25gLiAqL1xuYnV0dG9uLnVrLWljb246bm90KDpkaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbi51ay1pY29uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qXG4gKiBTZXQgdGhlIGZpbGwgYW5kIHN0cm9rZSBjb2xvciBvZiBhbGwgU1ZHIGVsZW1lbnRzIHRvIHRoZSBjdXJyZW50IHRleHQgY29sb3JcbiAqL1xuLnVrLWljb246bm90KC51ay1wcmVzZXJ2ZSkgW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkge1xuICBmaWxsOiBjdXJyZW50Y29sb3I7IH1cblxuLnVrLWljb246bm90KC51ay1wcmVzZXJ2ZSkgW3N0cm9rZSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7XG4gIHN0cm9rZTogY3VycmVudGNvbG9yOyB9XG5cbi8qXG4gKiBGaXggRmlyZWZveCBibHVycnkgU1ZHIHJlbmRlcmluZzogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgzNVxuICovXG4udWstaWNvbiA+ICoge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4vKiBJbWFnZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGlzcGxheSBpbWFnZXMgaW4gaWNvbiBkaW1lbnNpb25zXG4gKi9cbi51ay1pY29uLWltYWdlIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTGlua1xuICovXG4udWstaWNvbi1saW5rIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLnVrLWljb24tbGluazpob3Zlcixcbi51ay1pY29uLWxpbms6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1saW5rOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgY29sb3I6ICM1OTU5NTk7IH1cblxuLypcbiAqIEJ1dHRvblxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cbi51ay1pY29uLWJ1dHRvbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBjb2xvcjogIzk5OTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tYnV0dG9uOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gRGVmaW5lIGNvbnNpc3RlbnQgYm94IHNpemluZy5cbiAqICAgIERlZmF1bHQgaXMgYGNvbnRlbnQtYm94YCB3aXRoIGZvbGxvd2luZyBleGNlcHRpb25zIHNldCB0byBgYm9yZGVyLWJveGBcbiAqICAgIGBzZWxlY3RgLCBgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdYCBhbmQgYGlucHV0W3R5cGU9XCJyYWRpb1wiXWBcbiAqICAgIGBpbnB1dFt0eXBlPVwic2VhcmNoXCJdYCBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmFcbiAqICAgIGBpbnB1dFt0eXBlPVwiY29sb3JcIl1gIGluIEZpcmVmb3hcbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveC9JRSBhbmQgQ2hyb21lL1NhZmFyaS9PcGVyYS5cbiAqIDMuIFJlbW92ZSBgYm9yZGVyLXJhZGl1c2AgaW4gaU9TLlxuICogNC4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG4udWstaW5wdXQsIC5TaXRlRm9ybV9faW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhLFxuLlNpdGVGb3JtX190ZXh0YXJlYSxcbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCxcbi5TaXRlRm9ybV9fY2hlY2tib3gge1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovXG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC8qIDQgKi9cbiAgZm9udDogaW5oZXJpdDsgfVxuXG4vKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuLnVrLWlucHV0LCAuU2l0ZUZvcm1fX2lucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuLnVrLXNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDIuIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgYW5kIHVzZSBgYm9sZGAgaW5zdGVhZC5cbiAqIE5PVEU6IEJvdGggZGVjbGFyYXRpb25zIGRvbid0IHdvcmsgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICovXG4udWstc2VsZWN0IG9wdGdyb3VwIHtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG4udWstdGV4dGFyZWEsXG4uU2l0ZUZvcm1fX3RleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgLlNpdGVGb3JtX19pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG4uU2l0ZUZvcm1fX2lucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIC5TaXRlRm9ybV9faW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuLlNpdGVGb3JtX19pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG4udWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC5TaXRlRm9ybV9faW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsXG4udWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIsXG4uU2l0ZUZvcm1fX3RleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuLnVrLXJhZGlvOm5vdCg6ZGlzYWJsZWQpLFxuLnVrLWNoZWNrYm94Om5vdCg6ZGlzYWJsZWQpLFxuLlNpdGVGb3JtX19jaGVja2JveDpub3QoOmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG4udWstZmllbGRzZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBJbnB1dCwgc2VsZWN0IGFuZCB0ZXh0YXJlYVxuICogQWxsb3dlZDogYHRleHRgLCBgcGFzc3dvcmRgLCBgZGF0ZXRpbWVgLCBgZGF0ZXRpbWUtbG9jYWxgLCBgZGF0ZWAsICBgbW9udGhgLFxuICAgICAgICAgICAgYHRpbWVgLCBgd2Vla2AsIGBudW1iZXJgLCBgZW1haWxgLCBgdXJsYCwgYHNlYXJjaGAsIGB0ZWxgLCBgY29sb3JgXG4gKiBEaXNhbGxvd2VkOiBgcmFuZ2VgLCBgcmFkaW9gLCBgY2hlY2tib3hgLCBgZmlsZWAsIGBzdWJtaXRgLCBgcmVzZXRgIGFuZCBgaW1hZ2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBpT1MuXG4gKi9cbi51ay1pbnB1dCwgLlNpdGVGb3JtX19pbnB1dCxcbi51ay10ZXh0YXJlYSxcbi5TaXRlRm9ybV9fdGV4dGFyZWEge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIFJlc2V0IGRlZmF1bHRcbiAqIDQuIFN0eWxlXG4gKi9cbi51ay1pbnB1dCwgLlNpdGVGb3JtX19pbnB1dCxcbi51ay1zZWxlY3QsXG4udWstdGV4dGFyZWEsXG4uU2l0ZUZvcm1fX3RleHRhcmVhIHtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgYm9yZGVyOiAwIG5vbmU7XG4gIC8qIDQgKi9cbiAgcGFkZGluZzogMCAyMHB4O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6ICMzZDQ3NWY7IH1cblxuLypcbiAqIFNpbmdsZS1saW5lXG4gKiAxLiBBbGxvdyBhbnkgZWxlbWVudCB0byBsb29rIGxpa2UgYW4gYGlucHV0YCBvciBgc2VsZWN0YCBlbGVtZW50XG4gKiAyLiBNYWtlIHN1cmUgbGluZS1oZWlnaHQgaXMgbm90IGxhcmdlciB0aGFuIGhlaWdodFxuICogICAgQWxzbyBuZWVkZWQgdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHlcbiAqL1xuLnVrLWlucHV0LCAuU2l0ZUZvcm1fX2lucHV0LFxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDNkNWQ5O1xuICBjYXJldC1jb2xvcjogIzNiNjVjZjtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yOyB9XG5cbi8qIDIgKi9cbi51ay1pbnB1dDpub3QoaW5wdXQpLCAuU2l0ZUZvcm1fX2lucHV0Om5vdChpbnB1dCksXG4udWstc2VsZWN0Om5vdChzZWxlY3QpIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4vKlxuICogTXVsdGktbGluZVxuICovXG4udWstc2VsZWN0W211bHRpcGxlXSxcbi51ay1zZWxlY3Rbc2l6ZV0sXG4udWstdGV4dGFyZWEsXG4uU2l0ZUZvcm1fX3RleHRhcmVhIHtcbiAgcGFkZGluZy10b3A6IDEycHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG5cbi8qIEZvY3VzICovXG4udWstaW5wdXQ6Zm9jdXMsIC5TaXRlRm9ybV9faW5wdXQ6Zm9jdXMsXG4udWstc2VsZWN0OmZvY3VzLFxuLnVrLXRleHRhcmVhOmZvY3VzLFxuLlNpdGVGb3JtX190ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzNkNDc1ZjsgfVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWlucHV0OmRpc2FibGVkLCAuU2l0ZUZvcm1fX2lucHV0OmRpc2FibGVkLFxuLnVrLXNlbGVjdDpkaXNhYmxlZCxcbi51ay10ZXh0YXJlYTpkaXNhYmxlZCxcbi5TaXRlRm9ybV9fdGV4dGFyZWE6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBjb2xvcjogIzg2ODY4NjsgfVxuXG4vKlxuICogUGxhY2Vob2xkZXJcbiAqL1xuLnVrLWlucHV0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5TaXRlRm9ybV9faW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCkgIWltcG9ydGFudDsgfVxuXG4udWstaW5wdXQ6OnBsYWNlaG9sZGVyLCAuU2l0ZUZvcm1fX2lucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7IH1cblxuLnVrLXRleHRhcmVhOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC5TaXRlRm9ybV9fdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCkgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyLCAuU2l0ZUZvcm1fX3RleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7IH1cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogU21hbGxcbiAqL1xuLnVrLWZvcm0tc21hbGwge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi51ay1mb3JtLXNtYWxsOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4OyB9XG5cbi51ay1mb3JtLXNtYWxsOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG4udWstZm9ybS1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4udWstZm9ybS1sYXJnZTpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gIGhlaWdodDogNTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMnB4OyB9XG5cbi51ay1mb3JtLWxhcmdlOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7XG4gIGxpbmUtaGVpZ2h0OiA1NXB4OyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEVycm9yXG4gKi9cbi51ay1mb3JtLWRhbmdlcixcbi51ay1mb3JtLWRhbmdlcjpmb2N1cyB7XG4gIGNvbG9yOiAjZjI1ZDUwOyB9XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cbi51ay1mb3JtLXN1Y2Nlc3MsXG4udWstZm9ybS1zdWNjZXNzOmZvY3VzIHtcbiAgY29sb3I6ICM1N2E3NDk7IH1cblxuLypcbiAqIEJsYW5rXG4gKi9cbi51ay1mb3JtLWJsYW5rIHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4vKiBXaWR0aCBtb2RpZmllcnMgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRml4ZWQgd2lkdGhzXG4gKiBEaWZmZXJlbnQgd2lkdGhzIGZvciBtaW5pIHNpemVkIGBpbnB1dGAgYW5kIGBzZWxlY3RgIGVsZW1lbnRzXG4gKi9cbmlucHV0LnVrLWZvcm0td2lkdGgteHNtYWxsIHtcbiAgd2lkdGg6IDUwcHg7IH1cblxuc2VsZWN0LnVrLWZvcm0td2lkdGgteHNtYWxsIHtcbiAgd2lkdGg6IDc1cHg7IH1cblxuLnVrLWZvcm0td2lkdGgtc21hbGwge1xuICB3aWR0aDogMTMwcHg7IH1cblxuLnVrLWZvcm0td2lkdGgtbWVkaXVtIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi51ay1mb3JtLXdpZHRoLWxhcmdlIHtcbiAgd2lkdGg6IDUwMHB4OyB9XG5cbi8qIFNlbGVjdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUuIEFsc28gd29ya3MgaW4gRmlyZWZveFxuICogMi4gU3R5bGVcbiAqIDMuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIElFIDEwLzExXG4gKiA0LiBTZXQgYGNvbG9yYCBmb3Igb3B0aW9ucyBpbiB0aGUgc2VsZWN0IGRyb3Bkb3duLCBiZWNhdXNlIHRoZSBpbmhlcml0ZWQgYGNvbG9yYCBtaWdodCBiZSB0b28gbGlnaHQuXG4gKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgLyogMSAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogMiAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlOyB9XG5cbi8qIDMgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiA0ICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSBvcHRpb24ge1xuICBjb2xvcjogIzQ0NDsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk5OSUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7IH1cblxuLyogRGF0YWxpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIENocm9tZVxuICovXG4udWstaW5wdXRbbGlzdF0sIC5TaXRlRm9ybV9faW5wdXRbbGlzdF0ge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTsgfVxuXG4udWstaW5wdXRbbGlzdF06aG92ZXIsIC5TaXRlRm9ybV9faW5wdXRbbGlzdF06aG92ZXIsXG4udWstaW5wdXRbbGlzdF06Zm9jdXMsXG4uU2l0ZUZvcm1fX2lucHV0W2xpc3RdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEyJTIwOCUyMDYlMjAxNiUyMDYlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7IH1cblxuLyogMSAqL1xuLnVrLWlucHV0W2xpc3RdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IsIC5TaXRlRm9ybV9faW5wdXRbbGlzdF06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogUmFkaW8gYW5kIGNoZWNrYm94XG4gKiBOb3RlOiBEb2VzIG5vdCB3b3JrIGluIElFMTFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBNYWtlIGJveCBtb3JlIHJvYnVzdCBzbyBpdCBjbGlwcyB0aGUgY2hpbGQgZWxlbWVudFxuICogMy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA0LiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogNS4gRml4IGJsYWNrIGJhY2tncm91bmQgb24gaU9TXG4gKiA2LiBDZW50ZXIgaWNvbnNcbiAqL1xuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94LFxuLlNpdGVGb3JtX19jaGVja2JveCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICAvKiAyICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDMgKi9cbiAgbWFyZ2luLXRvcDogLTRweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogNCAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogNSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I2NWNmO1xuICAvKiA2ICovXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cblxuLnVrLXJhZGlvIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Zm9jdXMsXG4udWstY2hlY2tib3g6Zm9jdXMsXG4uU2l0ZUZvcm1fX2NoZWNrYm94OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogQ2hlY2tlZFxuICovXG4udWstcmFkaW86Y2hlY2tlZCxcbi51ay1jaGVja2JveDpjaGVja2VkLFxuLlNpdGVGb3JtX19jaGVja2JveDpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4uU2l0ZUZvcm1fX2NoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I2NWNmOyB9XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLlNpdGVGb3JtX19jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMsXG4uU2l0ZUZvcm1fX2NoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I2NWNmOyB9XG5cbi8qXG4gKiBJY29uc1xuICovXG4udWstcmFkaW86Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG5cbi51ay1jaGVja2JveDpjaGVja2VkLFxuLlNpdGVGb3JtX19jaGVja2JveDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTAnIGhlaWdodD0nNycgdmlld0JveD0nMCAwIDEwIDcnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgY2xpcC1ydWxlPSdldmVub2RkJyBkPSdNOC4yMTk4MSAwLjQ2OTgxMUwzLjUwMDA2IDUuMTg5NTZMMS43ODAzMSAzLjQ2OTgxQzEuNDg2MDMgMy4xODU1OCAxLjAxODI1IDMuMTg5NjUgMC43Mjg5NDcgMy40Nzg5NUMwLjQzOTY0NyAzLjc2ODI1IDAuNDM1NTgyIDQuMjM2MDMgMC43MTk4MTEgNC41MzAzMUwyLjk2OTgxIDYuNzgwMzFDMy4yNjI2OSA3LjA3MzEgMy43Mzc0NCA3LjA3MzEgNC4wMzAzMSA2Ljc4MDMxTDkuMjgwMzEgMS41MzAzMUM5LjU2NDU0IDEuMjM2MDMgOS41NjA0NyAwLjc2ODI0OCA5LjI3MTE3IDAuNDc4OTQ3QzguOTgxODcgMC4xODk2NDcgOC41MTQxIDAuMTg1NTgyIDguMjE5ODEgMC40Njk4MTFaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL3N2ZyUzRSUwQVwiKTsgfVxuXG5cbi51ay1jaGVja2JveDppbmRldGVybWluYXRlLFxuLlNpdGVGb3JtX19jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cbi51ay1yYWRpbzpkaXNhYmxlZCxcbi51ay1jaGVja2JveDpkaXNhYmxlZCxcbi5TaXRlRm9ybV9fY2hlY2tib3g6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGRhNWUzOyB9XG5cbi51ay1yYWRpbzpkaXNhYmxlZDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiUyMzk5OSUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi51ay1jaGVja2JveDpkaXNhYmxlZDpjaGVja2VkLCAuU2l0ZUZvcm1fX2NoZWNrYm94OmRpc2FibGVkOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMCcgaGVpZ2h0PSc3JyB2aWV3Qm94PScwIDAgMTAgNycgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J004LjIxOTgxIDAuNDY5ODExTDMuNTAwMDYgNS4xODk1NkwxLjc4MDMxIDMuNDY5ODFDMS40ODYwMyAzLjE4NTU4IDEuMDE4MjUgMy4xODk2NSAwLjcyODk0NyAzLjQ3ODk1QzAuNDM5NjQ3IDMuNzY4MjUgMC40MzU1ODIgNC4yMzYwMyAwLjcxOTgxMSA0LjUzMDMxTDIuOTY5ODEgNi43ODAzMUMzLjI2MjY5IDcuMDczMSAzLjczNzQ0IDcuMDczMSA0LjAzMDMxIDYuNzgwMzFMOS4yODAzMSAxLjUzMDMxQzkuNTY0NTQgMS4yMzYwMyA5LjU2MDQ3IDAuNzY4MjQ4IDkuMjcxMTcgMC40Nzg5NDdDOC45ODE4NyAwLjE4OTY0NyA4LjUxNDEgMC4xODU1ODIgOC4yMTk4MSAwLjQ2OTgxMVonIGZpbGw9J3doaXRlJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpOyB9XG5cbi51ay1jaGVja2JveDpkaXNhYmxlZDppbmRldGVybWluYXRlLCAuU2l0ZUZvcm1fX2NoZWNrYm94OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiUyMzk5OSUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4vKiBMZWdlbmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIExlZ2VuZFxuICogMS4gQmVoYXZlIGxpa2UgYmxvY2sgZWxlbWVudFxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICogNC4gU3R5bGVcbiAqL1xuLnVrLWxlZ2VuZCB7XG4gIC8qIDEgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDIgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDMgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogNCAqL1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG4vKiBDdXN0b20gY29udHJvbHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICovXG4udWstZm9ybS1jdXN0b20ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIDMgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiA0ICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLypcbiAqIDEuIFBvc2l0aW9uIGFuZCByZXNpemUgdGhlIGZvcm0gY29udHJvbCB0byBhbHdheXMgY292ZXIgaXRzIGNvbnRhaW5lclxuICogMi4gUmVxdWlyZWQgZm9yIEZpcmVmb3ggZm9yIHBvc2l0aW9uaW5nIHRvIHRoZSBsZWZ0XG4gKiAzLiBSZXF1aXJlZCBmb3IgV2Via2l0IHRvIG1ha2UgYGhlaWdodGAgd29ya1xuICogNC4gSGlkZSBjb250cm9sZSBhbmQgc2hvdyBjdXJzb3JcbiAqIDUuIE5lZWRlZCBmb3IgdGhlIGN1cnNvclxuICogNi4gQ2xpcCBoZWlnaHQgY2F1c2VkIGJ5IDUuIE5lZWRlZCBmb3IgV2Via2l0IG9ubHlcbiAqL1xuLnVrLWZvcm0tY3VzdG9tIHNlbGVjdCxcbi51ay1mb3JtLWN1c3RvbSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8qIDIgKi9cbiAgbGVmdDogMDtcbiAgLyogMyAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIDQgKi9cbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi51ay1mb3JtLWN1c3RvbSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIC8qIDUgKi9cbiAgZm9udC1zaXplOiA1MDBweDtcbiAgLyogNiAqL1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIExheW91dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogU3RhY2tlZFxuICovXG4udWstZm9ybS1zdGFja2VkIC51ay1mb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLypcbiAqIEhvcml6b250YWxcbiAqL1xuLyogVGFibGV0IHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLyogQmVoYXZlIGxpa2UgYHVrLWZvcm0tc3RhY2tlZGAgKi9cbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tbGFiZWwge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scyB7XG4gICAgbWFyZ2luLWxlZnQ6IDIxNXB4OyB9XG4gIC8qIEJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQgaWYgY29udHJvbHMgYXJlIGNoZWNrYm94ZXMgYW5kIHJhZGlvIGJ1dHRvbnMgd2l0aCB0ZXh0ICovXG4gIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMtdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDdweDsgfSB9XG5cbi8qIEljb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIFNldCB3aWR0aFxuICogMy4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiA0LiBTdHlsZVxuICovXG4udWstZm9ybS1pY29uIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICAvKiAyICovXG4gIHdpZHRoOiA0OHB4O1xuICAvKiAzICovXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLyogNCAqL1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuLnVrLWZvcm0taWNvbjpob3ZlciB7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qXG4gKiBNYWtlIGBpbnB1dGAgZWxlbWVudCBjbGlja2FibGUgdGhyb3VnaCBpY29uLCBlLmcuIGlmIGl0J3MgYSBgc3BhbmBcbiAqL1xuLnVrLWZvcm0taWNvbjpub3QoYSk6bm90KGJ1dHRvbik6bm90KGlucHV0KSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qXG4gKiBJbnB1dCBwYWRkaW5nXG4gKi9cbi51ay1mb3JtLWljb246bm90KC51ay1mb3JtLWljb24tZmxpcCkgfiAudWstaW5wdXQsIC51ay1mb3JtLWljb246bm90KC51ay1mb3JtLWljb24tZmxpcCkgfiAuU2l0ZUZvcm1fX2lucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiA0OHB4ICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cbi51ay1mb3JtLWljb24tZmxpcCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi51ay1mb3JtLWljb24tZmxpcCB+IC51ay1pbnB1dCwgLnVrLWZvcm0taWNvbi1mbGlwIH4gLlNpdGVGb3JtX19pbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDQ4cHggIWltcG9ydGFudDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnV0dG9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNC4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDUuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgZm9yIGBpbnB1dCB0eXBlPVwic3VibWl0XCJgaW4gaU9TLlxuICogNy4gU3R5bGVcbiAqIDguIGBsaW5lLWhlaWdodGAgaXMgdXNlZCB0byBjcmVhdGUgYSBoZWlnaHQgYmVjYXVzZSBpdCBhbHNvIGNlbnRlcnMgdGhlIHRleHQgdmVydGljYWxseSBmb3IgYGFgIGVsZW1lbnRzLlxuICogICAgQmV0dGVyIHdvdWxkIGJlIHRvIHVzZSBoZWlnaHQgYW5kIGZsZXhib3ggdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHkgYnV0IGZsZXhib3ggZG9lc24ndCB3b3JrIGluIEZpcmVmb3ggb24gYGJ1dHRvbmAgZWxlbWVudHMuXG4gKiA5LiBBbGlnbiB0ZXh0IGlmIGJ1dHRvbiBoYXMgYSB3aWR0aFxuICogMTAuIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cbi51ay1idXR0b24sIC5TaXRlSGVhZGVyX19idXR0b24sIC5TaXRlSGVhZGVyX19oYW1idXJnZXIsIC5TaXRlT2ZmQ2FudmFzX19jbG9zZSwgLlNpdGVGb3JtX19idXR0b24sIC5Db25zdWx0YXRpb25fX2J1dHRvbiwgLlNlcnZpY2VDYXJkX19idXR0b24sIC5FcnJvclBhZ2VfX2J1dHRvbiB7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMyAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogNCAqL1xuICBmb250OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogNSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgLyogNiAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC8qIDcgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAvKiA4ICovXG4gIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICAvKiA5ICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogMTAgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBjb2xvciwgYm9yZGVyLWNvbG9yOyB9XG5cbi51ay1idXR0b246bm90KDpkaXNhYmxlZCksIC5TaXRlSGVhZGVyX19idXR0b246bm90KDpkaXNhYmxlZCksIC5TaXRlSGVhZGVyX19oYW1idXJnZXI6bm90KDpkaXNhYmxlZCksIC5TaXRlT2ZmQ2FudmFzX19jbG9zZTpub3QoOmRpc2FibGVkKSwgLlNpdGVGb3JtX19idXR0b246bm90KDpkaXNhYmxlZCksIC5Db25zdWx0YXRpb25fX2J1dHRvbjpub3QoOmRpc2FibGVkKSwgLlNlcnZpY2VDYXJkX19idXR0b246bm90KDpkaXNhYmxlZCksIC5FcnJvclBhZ2VfX2J1dHRvbjpub3QoOmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuLnVrLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgLlNpdGVIZWFkZXJfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgLlNpdGVIZWFkZXJfX2hhbWJ1cmdlcjo6LW1vei1mb2N1cy1pbm5lciwgLlNpdGVPZmZDYW52YXNfX2Nsb3NlOjotbW96LWZvY3VzLWlubmVyLCAuU2l0ZUZvcm1fX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgLkNvbnN1bHRhdGlvbl9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCAuU2VydmljZUNhcmRfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgLkVycm9yUGFnZV9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uOmhvdmVyLCAuU2l0ZUhlYWRlcl9fYnV0dG9uOmhvdmVyLCAuU2l0ZUhlYWRlcl9faGFtYnVyZ2VyOmhvdmVyLCAuU2l0ZU9mZkNhbnZhc19fY2xvc2U6aG92ZXIsIC5TaXRlRm9ybV9fYnV0dG9uOmhvdmVyLCAuQ29uc3VsdGF0aW9uX19idXR0b246aG92ZXIsIC5TZXJ2aWNlQ2FyZF9fYnV0dG9uOmhvdmVyLCAuRXJyb3JQYWdlX19idXR0b246aG92ZXIge1xuICAvKiA5ICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLWJ1dHRvbjpmb2N1cywgLlNpdGVIZWFkZXJfX2J1dHRvbjpmb2N1cywgLlNpdGVIZWFkZXJfX2hhbWJ1cmdlcjpmb2N1cywgLlNpdGVPZmZDYW52YXNfX2Nsb3NlOmZvY3VzLCAuU2l0ZUZvcm1fX2J1dHRvbjpmb2N1cywgLkNvbnN1bHRhdGlvbl9fYnV0dG9uOmZvY3VzLCAuU2VydmljZUNhcmRfX2J1dHRvbjpmb2N1cywgLkVycm9yUGFnZV9fYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjM2Q0NzVmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYmZiZmJmO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4udWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I2NWNmO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1jb2xvcjogIzNiNjVjZjsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjY1Y2Y7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstYnV0dG9uLXByaW1hcnksIC5TaXRlSGVhZGVyX19idXR0b24sIC5TaXRlSGVhZGVyX19oYW1idXJnZXIsIC5TaXRlT2ZmQ2FudmFzX19jbG9zZSwgLlNpdGVGb3JtX19idXR0b24sIC5Db25zdWx0YXRpb25fX2J1dHRvbiwgLlNlcnZpY2VDYXJkX19idXR0b24sIC5FcnJvclBhZ2VfX2J1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjY1Y2Y7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC5TaXRlSGVhZGVyX19idXR0b246aG92ZXIsIC5TaXRlSGVhZGVyX19oYW1idXJnZXI6aG92ZXIsIC5TaXRlT2ZmQ2FudmFzX19jbG9zZTpob3ZlciwgLlNpdGVGb3JtX19idXR0b246aG92ZXIsIC5Db25zdWx0YXRpb25fX2J1dHRvbjpob3ZlciwgLlNlcnZpY2VDYXJkX19idXR0b246aG92ZXIsIC5FcnJvclBhZ2VfX2J1dHRvbjpob3Zlcixcbi51ay1idXR0b24tcHJpbWFyeTpmb2N1cyxcbi5TaXRlSGVhZGVyX19idXR0b246Zm9jdXMsXG4uU2l0ZUhlYWRlcl9faGFtYnVyZ2VyOmZvY3VzLFxuLlNpdGVPZmZDYW52YXNfX2Nsb3NlOmZvY3VzLFxuLlNpdGVGb3JtX19idXR0b246Zm9jdXMsXG4uQ29uc3VsdGF0aW9uX19idXR0b246Zm9jdXMsXG4uU2VydmljZUNhcmRfX2J1dHRvbjpmb2N1cyxcbi5FcnJvclBhZ2VfX2J1dHRvbjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZjU5YzE7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAuU2l0ZUhlYWRlcl9fYnV0dG9uOmFjdGl2ZSwgLlNpdGVIZWFkZXJfX2hhbWJ1cmdlcjphY3RpdmUsIC5TaXRlT2ZmQ2FudmFzX19jbG9zZTphY3RpdmUsIC5TaXRlRm9ybV9fYnV0dG9uOmFjdGl2ZSwgLkNvbnN1bHRhdGlvbl9fYnV0dG9uOmFjdGl2ZSwgLlNlcnZpY2VDYXJkX19idXR0b246YWN0aXZlLCAuRXJyb3JQYWdlX19idXR0b246YWN0aXZlLFxuLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSxcbi51ay1hY3RpdmUuU2l0ZUhlYWRlcl9fYnV0dG9uLFxuLnVrLWFjdGl2ZS5TaXRlSGVhZGVyX19oYW1idXJnZXIsXG4udWstYWN0aXZlLlNpdGVPZmZDYW52YXNfX2Nsb3NlLFxuLnVrLWFjdGl2ZS5TaXRlRm9ybV9fYnV0dG9uLFxuLnVrLWFjdGl2ZS5Db25zdWx0YXRpb25fX2J1dHRvbixcbi51ay1hY3RpdmUuU2VydmljZUNhcmRfX2J1dHRvbixcbi51ay1hY3RpdmUuRXJyb3JQYWdlX19idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmE0ZmFkO1xuICBjb2xvcjogd2hpdGU7IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG4udWstYnV0dG9uLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzg2ODY4NjsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXNlY29uZGFyeTpob3Zlcixcbi51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY29sb3I6ICNmZmY7IH1cblxuLypcbiAqIERhbmdlclxuICovXG4udWstYnV0dG9uLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMjVkNTA7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tZGFuZ2VyOmhvdmVyLFxuLnVrLWJ1dHRvbi1kYW5nZXI6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA0NzM4O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRhbmdlcjphY3RpdmUsXG4udWstYnV0dG9uLWRhbmdlci51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWUzMTIwO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gKi9cbi51ay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZCxcbi51ay1idXR0b24tcHJpbWFyeTpkaXNhYmxlZCxcbi5TaXRlSGVhZGVyX19idXR0b246ZGlzYWJsZWQsXG4uU2l0ZUhlYWRlcl9faGFtYnVyZ2VyOmRpc2FibGVkLFxuLlNpdGVPZmZDYW52YXNfX2Nsb3NlOmRpc2FibGVkLFxuLlNpdGVGb3JtX19idXR0b246ZGlzYWJsZWQsXG4uQ29uc3VsdGF0aW9uX19idXR0b246ZGlzYWJsZWQsXG4uU2VydmljZUNhcmRfX2J1dHRvbjpkaXNhYmxlZCxcbi5FcnJvclBhZ2VfX2J1dHRvbjpkaXNhYmxlZCxcbi51ay1idXR0b24tc2Vjb25kYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1kYW5nZXI6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I2NWNmO1xuICBjb2xvcjogd2hpdGU7IH1cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJ1dHRvbi1zbWFsbCB7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnVrLWJ1dHRvbi1sYXJnZSwgLlNpdGVIZWFkZXJfX2J1dHRvbiwgLlNpdGVIZWFkZXJfX2hhbWJ1cmdlciwgLlNpdGVPZmZDYW52YXNfX2Nsb3NlIHtcbiAgcGFkZGluZzogMCAyNHB4O1xuICBsaW5lLWhlaWdodDogNDdweDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuLyogVGV4dCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFRleHRcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG4udWstYnV0dG9uLXRleHQge1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIC8qIDIgKi9cbiAgY29sb3I6ICM5OTk7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLFxuLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tdGV4dDpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuLnVrLWJ1dHRvbi1saW5rIHtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvKiAyICovXG4gIGNvbG9yOiAjMWU4N2YwOyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tbGluazpob3Zlcixcbi51ay1idXR0b24tbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjMGY2ZWNkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi1saW5rOmRpc2FibGVkIHtcbiAgY29sb3I6ICM5OTk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKiBHcm91cFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gVXNpbmcgYGZsZXhgIGluc3RlYWQgb2YgYGlubGluZS1ibG9ja2AgdG8gcHJldmVudCB3aGl0ZXNwYWNlIGJldHdlZW50IGNoaWxkIGVsZW1lbnRzXG4gKiAyLiBCZWhhdmUgbGlrZSBidXR0b25cbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKi9cbi51ay1idXR0b24tZ3JvdXAge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAvKiAyICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDMgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEJveCBzaXppbmcgaGFzIHRvIGJlIGBjb250ZW50LWJveGAgc28gdGhlIG1heC13aWR0aCBpcyBhbHdheXMgdGhlIHNhbWUgYW5kXG4gKiAgICB1bmFmZmVjdGVkIGJ5IHRoZSBwYWRkaW5nIG9uIGRpZmZlcmVudCBicmVha3BvaW50cy4gSXQncyBpbXBvcnRhbnQgZm9yIHRoZSBzaXplIG1vZGlmaWVycy5cbiAqL1xuLnVrLWNvbnRhaW5lciwgLkxheW91dF9fY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxvdy1yb290O1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBtYXgtd2lkdGg6IDEyNjBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWNvbnRhaW5lciwgLkxheW91dF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMjRweDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC51ay1jb250YWluZXIsIC5MYXlvdXRfX2NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH0gfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1jb250YWluZXIgPiA6bGFzdC1jaGlsZCwgLkxheW91dF9fY29udGFpbmVyID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgcGFkZGluZyBmcm9tIG5lc3RlZCBjb250YWluZXJzXG4gKi9cbi51ay1jb250YWluZXIgLnVrLWNvbnRhaW5lciwgLkxheW91dF9fY29udGFpbmVyIC51ay1jb250YWluZXIsIC51ay1jb250YWluZXIgLkxheW91dF9fY29udGFpbmVyLCAuTGF5b3V0X19jb250YWluZXIgLkxheW91dF9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNvbnRhaW5lci14c21hbGwge1xuICBtYXgtd2lkdGg6IDc1MHB4OyB9XG5cbi51ay1jb250YWluZXItc21hbGwsIC5MYXlvdXRfX2NvbnRhaW5lci0tc21hbGwge1xuICBtYXgtd2lkdGg6IDgwOHB4OyB9XG5cbi51ay1jb250YWluZXItbGFyZ2Uge1xuICBtYXgtd2lkdGg6IDE0MDBweDsgfVxuXG4udWstY29udGFpbmVyLXhsYXJnZSwgLkxheW91dF9fY29udGFpbmVyLS14bGFyZ2Uge1xuICBtYXgtd2lkdGg6IDE5MjBweDsgfVxuXG4udWstY29udGFpbmVyLWV4cGFuZCB7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuXG4vKiBFeHBhbmQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEV4cGFuZCBvbmUgc2lkZSBvbmx5XG4gKi9cbi51ay1jb250YWluZXItZXhwYW5kLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4udWstY29udGFpbmVyLWV4cGFuZC1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhzbWFsbCxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhzbWFsbCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArICg3NTBweCAvIDIpIC0gMjRweCk7IH1cbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItc21hbGwsIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQuTGF5b3V0X19jb250YWluZXItLXNtYWxsLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXItc21hbGwsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LkxheW91dF9fY29udGFpbmVyLS1zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArICg4MDhweCAvIDIpIC0gMjRweCk7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArICgxMjYwcHggLyAyKSAtIDMycHgpOyB9XG4gIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhzbWFsbCxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhzbWFsbCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArICg3NTBweCAvIDIpIC0gMzJweCk7IH1cbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItc21hbGwsIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQuTGF5b3V0X19jb250YWluZXItLXNtYWxsLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXItc21hbGwsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LkxheW91dF9fY29udGFpbmVyLS1zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArICg4MDhweCAvIDIpIC0gMzJweCk7IH1cbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItbGFyZ2UsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1sYXJnZSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArICgxNDAwcHggLyAyKSAtIDMycHgpOyB9XG4gIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhsYXJnZSwgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC5MYXlvdXRfX2NvbnRhaW5lci0teGxhcmdlLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteGxhcmdlLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC5MYXlvdXRfX2NvbnRhaW5lci0teGxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDE5MjBweCAvIDIpIC0gMzJweCk7IH0gfVxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBVdGlsaXR5IGNsYXNzZXMgdG8gcmVzZXQgY29udGFpbmVyIHBhZGRpbmcgb24gdGhlIGxlZnQgb3IgcmlnaHQgc2lkZVxuICogTm90ZTogSXQgaGFzIHRvIGJlIG5lZ2F0aXZlIG1hcmdpbiBvbiB0aGUgaXRlbSwgYmVjYXVzZSBpdCdzIHNwZWNpZmljIHRvIHRoZSBpdGVtLlxuICovXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxNnB4KTsgfVxuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDsgfVxuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IC0xNnB4OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDI0cHgpOyB9XG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTI0cHg7IH1cbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNHB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDMycHgpOyB9XG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTMycHg7IH1cbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zMnB4OyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENsb3NlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cbi51ay1jbG9zZSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1jbG9zZTpob3Zlcixcbi51ay1jbG9zZTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTcGlubmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cbi8qIFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc3Bpbm5lciA+ICoge1xuICBhbmltYXRpb246IHVrLXNwaW5uZXItcm90YXRlIDEuNHMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1yb3RhdGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfSB9XG5cbi8qXG4gKiBDaXJjbGVcbiAqL1xuLnVrLXNwaW5uZXIgPiAqID4gKiB7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDg4cHg7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIGFuaW1hdGlvbjogdWstc3Bpbm5lci1kYXNoIDEuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIHN0cm9rZS13aWR0aDogMTtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOyB9XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1kYXNoIHtcbiAgMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA4OHB4OyB9XG4gIDUwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDIycHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTsgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogODhweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NTBkZWcpOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1vZGFsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cbi51ay1tb2RhbCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMTtcbiAgLyogMyAqL1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC8qIDQgKi9cbiAgcGFkZGluZzogMTVweCAxNXB4O1xuICAvKiA1ICovXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgLyogNiAqL1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1tb2RhbCB7XG4gICAgcGFkZGluZzogNTBweCAzMHB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnVrLW1vZGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG5cbi8qXG4gKiBPcGVuXG4gKi9cbi51ay1tb2RhbC51ay1vcGVuIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiBQYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuLnVrLW1vZGFsLXBhZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIERpYWxvZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIHNwaW5uZXIgYW5kIGNsb3NlIGJ1dHRvblxuICogMi4gRGltZW5zaW9uc1xuICogMy4gRml4IGBtYXgtd2lkdGg6IDEwMCVgIG5vdCB3b3JraW5nIGluIGNvbWJpbmF0aW9uIHdpdGggZmxleCBhbmQgcmVzcG9uc2l2ZSBpbWFnZXMgaW4gSUUxMVxuICogICAgYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVyd3JpdGUgYHVrLXdpZHRoLWF1dG9gLiBTZWUgYCNtb2RhbC1tZWRpYS1pbWFnZWAgaW4gdGVzdHNcbiAqIDQuIFN0eWxlXG4gKiA1LiBTbGlkZS1pbiB0cmFuc2l0aW9uXG4gKi9cbi51ay1tb2RhbC1kaWFsb2cge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDYwMHB4O1xuICAvKiAzICovXG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gMC4wMXB4KSAhaW1wb3J0YW50O1xuICAvKiA0ICovXG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC8qIDUgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDBweCk7XG4gIHRyYW5zaXRpb246IDAuM3MgbGluZWFyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07IH1cblxuLypcbiAqIE9wZW5cbiAqL1xuLnVrLW9wZW4gPiAudWstbW9kYWwtZGlhbG9nIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIENvbnRhaW5lciBzaXplXG4gKiBUYWtlIHRoZSBzYW1lIHNpemUgYXMgdGhlIENvbnRhaW5lciBjb21wb25lbnRcbiAqL1xuLnVrLW1vZGFsLWNvbnRhaW5lciAudWstbW9kYWwtZGlhbG9nIHtcbiAgd2lkdGg6IDEyMDBweDsgfVxuXG4vKlxuICogRnVsbCBzaXplXG4gKiAxLiBSZW1vdmUgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBmcm9tIG1vZGFsXG4gKiAyLiBSZXNldCBhbGwgZGVmYXVsdCBkZWNsYXJhdGlvbnMgZnJvbSBtb2RhbCBkaWFsb2dcbiAqL1xuLyogMSAqL1xuLnVrLW1vZGFsLWZ1bGwge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi8qIDIgKi9cbi51ay1tb2RhbC1mdWxsIC51ay1tb2RhbC1kaWFsb2cge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbW9kYWwtYm9keSB7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgcGFkZGluZzogMCAwOyB9XG5cbi51ay1tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuXG4udWstbW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxvdy1yb290O1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstbW9kYWwtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWZvb3RlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbW9kYWwtdGl0bGUge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAxO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddOmZpcnN0LWNoaWxkICsgKiB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi8qXG4gKiBPdXRzaWRlXG4gKiAxLiBQcmV2ZW50IHNjcm9sbGJhciBvbiBzbWFsbCBkZXZpY2VzXG4gKi9cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlIHtcbiAgdG9wOiAwO1xuICAvKiAxICovXG4gIHJpZ2h0OiAtNXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAwJSk7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4udWstbW9kYWwtY2xvc2Utb3V0c2lkZTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC8qIDEgKi9cbiAgLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC0xMDAlKTsgfSB9XG5cbi8qXG4gKiBGdWxsXG4gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaWdodGJveFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICogNy4gUHJldmVudCBjYW5jZWxsYXRpb24gb2YgcG9pbnRlciBldmVudHMgd2hpbGUgZHJhZ2dpbmdcbiAqL1xuLnVrLWxpZ2h0Ym94IHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDEwO1xuICAvKiA1ICovXG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIC8qIDYgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gIC8qIDcgKi9cbiAgdG91Y2gtYWN0aW9uOiBwaW5jaC16b29tOyB9XG5cbi8qXG4gKiBPcGVuXG4gKiAxLiBDZW50ZXIgY2hpbGRcbiAqIDIuIEZhZGUtaW5cbiAqL1xuLnVrLWxpZ2h0Ym94LnVrLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgLyogMiAqL1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG4udWstbGlnaHRib3gtcGFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ2VudGVyIGNoaWxkIHdpdGhpbiB0aGUgdmlld3BvcnRcbiAqIDIuIE5vdCB2aXNpYmxlIGJ5IGRlZmF1bHRcbiAqIDMuIENvbG9yIG5lZWRlZCBmb3Igc3Bpbm5lciBpY29uXG4gKiA0LiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqIDUuIFJlc3BvbnNpdmVuZXNzXG4gKiAgICBVc2luZyBgdmhgIGZvciBgbWF4LWhlaWdodGAgdG8gZml4IGltYWdlIHByb3BvcnRpb25zIGFmdGVyIHJlc2l6ZSBpbiBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBVc2luZyBgdmhgIGFuZCBgdndgIHRvIG1ha2UgcmVzcG9uc2l2ZSBpbWFnZSB3b3JrIGluIElFMTFcbiAqIDYuIFN1cHByZXNzIG91dGxpbmUgb24gZm9jdXNcbiAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIDMgKi9cbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgLyogNCAqL1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5OyB9XG5cbi8qIDUgKi9cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiAqIHtcbiAgbWF4LXdpZHRoOiAxMDB2dztcbiAgbWF4LWhlaWdodDogMTAwdmg7IH1cblxuLyogNiAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4udWstbGlnaHRib3gtaXRlbXMgPiAqID4gOm5vdChpZnJhbWUpIHtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bzsgfVxuXG4udWstbGlnaHRib3gtaXRlbXMgPiAudWstYWN0aXZlIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4vKiBUb29sYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saWdodGJveC10b29sYmFyIHtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXIgPiAqIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuXG4vKiBUb29sYmFyIEljb24gKENsb3NlKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uIHtcbiAgcGFkZGluZzogNXB4O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogQnV0dG9uIChTbGlkZW5hdilcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG4udWstbGlnaHRib3gtYnV0dG9uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuLnVrLWxpZ2h0Ym94LWJ1dHRvbjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxpZ2h0Ym94LWNhcHRpb246ZW1wdHkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIElmcmFtZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGlnaHRib3gtaWZyYW1lIHtcbiAgd2lkdGg6IDgwJTtcbiAgaGVpZ2h0OiA4MCU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5vdGlmaWNhdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBEaW1lbnNpb25zXG4gKi9cbi51ay1ub3RpZmljYXRpb24ge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxMHB4O1xuICBsZWZ0OiAxMHB4O1xuICB6LWluZGV4OiAyMDA0MTtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMzUwcHg7IH1cblxuLyogUG9zaXRpb24gbW9kaWZpZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMHB4OyB9XG5cbi51ay1ub3RpZmljYXRpb24tdG9wLWNlbnRlcixcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlciB7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0xNzVweDsgfVxuXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1sZWZ0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMTBweDsgfVxuXG4vKiBSZXNwb25zaXZlbmVzc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBob25lcyBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC51ay1ub3RpZmljYXRpb24ge1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwOyB9IH1cblxuLyogTWVzc2FnZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTJweDtcbiAgYmFja2dyb3VuZDogI2NjOTk2NjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDsgfVxuXG4qICsgLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5vdGlmaWNhdGlvbi1jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAxMnB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnVrLW5vdGlmaWNhdGlvbi1jbG9zZSwgLnVrLW5vdGlmaWNhdGlvbi1jbG9zZTpob3ZlciB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZTpob3ZlciAudWstbm90aWZpY2F0aW9uLWNsb3NlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmltYXJ5XG4gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5IHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M5OTY2OyB9XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTdhNzQ5OyB9XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZiYjMxOyB9XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlciB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNWQ1MDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQW5pbWF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbltjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLyogQW5pbWF0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRmFkZVxuICovXG4udWstYW5pbWF0aW9uLWZhZGUge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjhzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7IH1cblxuLypcbiAqIFNjYWxlXG4gKi9cbi51ay1hbmltYXRpb24tc2NhbGUtdXAge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0wMjsgfVxuXG4udWstYW5pbWF0aW9uLXNjYWxlLWRvd24ge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0xODsgfVxuXG4vKlxuICogU2xpZGVcbiAqL1xuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3Age1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3A7IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20ge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b207IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdDsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQ7IH1cblxuLypcbiAqIFNsaWRlIFNtYWxsXG4gKi9cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLXNtYWxsIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLXNtYWxsOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLXNtYWxsOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtc21hbGw7IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LXNtYWxsOyB9XG5cbi8qXG4gKiBTbGlkZSBNZWRpdW1cbiAqL1xuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AtbWVkaXVtIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLW1lZGl1bTsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0ge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tbWVkaXVtOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1tZWRpdW0ge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LW1lZGl1bTsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LW1lZGl1bTsgfVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuLnVrLWFuaW1hdGlvbi1rZW5idXJucyB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1zY2FsZS1rZW5idXJucztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxNXM7IH1cblxuLypcbiAqIFNoYWtlXG4gKi9cbi51ay1hbmltYXRpb24tc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogdWstc2hha2U7IH1cblxuLypcbiAqIFNWRyBTdHJva2VcbiAqIFRoZSBgLS11ay1hbmltYXRpb24tc3Ryb2tlYCBjdXN0b20gcHJvcGVydHkgY29udGFpbnMgdGhlIGxvbmdlc3QgcGF0aCBsZW5ndGguXG4gKiBTZXQgaXQgbWFudWFsbHkgb3IgdXNlIGB1ay1zdmc9XCJzdHJva2UtYW5pbWF0aW9uOiB0cnVlXCJgIHRvIHNldCBpdCBhdXRvbWF0aWNhbGx5LlxuICogQWxsIHN0cm9rZXMgYXJlIGFuaW1hdGVkIGJ5IHRoZSBzYW1lIHBhY2UgYW5kIGRvZXNuJ3QgZW5kIHNpbXVsdGFuZW91c2x5LlxuICogVG8gZW5kIHNpbXVsdGFuZW91c2x5LCBgcGF0aExlbmd0aD1cIjFcImAgY291bGQgYmUgdXNlZCwgYnV0IGl0J3Mgbm90IHdvcmtpbmcgaW4gU2FmYXJpIHlldC5cbiAqL1xuLnVrLWFuaW1hdGlvbi1zdHJva2Uge1xuICBhbmltYXRpb24tbmFtZTogdWstc3Ryb2tlO1xuICBzdHJva2UtZGFzaGFycmF5OiB2YXIoLS11ay1hbmltYXRpb24tc3Ryb2tlKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsgfVxuXG4vKiBEaXJlY3Rpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuXG4vKiBEdXJhdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYW5pbWF0aW9uLWZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuMjVzOyB9XG5cbi8qIFRvZ2dsZSAoSG92ZXIgKyBGb2N1cylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogVGhlIHRvZ2dsZSBpcyB0cmlnZ2VyZWQgb24gdG91Y2ggZGV2aWNlcyB1c2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqL1xuLnVrLWFuaW1hdGlvbi10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykgW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cbi51ay1hbmltYXRpb24tdG9nZ2xlIHtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG4udWstYW5pbWF0aW9uLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogS2V5ZnJhbWVzIHVzZWQgYnkgYW5pbWF0aW9uIGNsYXNzZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEZhZGVcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBUb3BcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLXRvcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgQm90dG9tXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgTGVmdFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgUmlnaHRcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIFRvcCBTbWFsbFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBCb3R0b20gU21hbGxcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1zbWFsbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IFNtYWxsXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0LXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBTbWFsbFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgVG9wIE1lZGl1bVxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLW1lZGl1bSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgQm90dG9tIE1lZGl1bVxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLW1lZGl1bSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IE1lZGl1bVxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1tZWRpdW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIFJpZ2h0IE1lZGl1bVxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtbWVkaXVtIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbiAqIFNjYWxlIFVwXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0wMiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4vKlxuICogU2NhbGUgRG93blxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMTgge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IH1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cbkBrZXlmcmFtZXMgdWstc2NhbGUta2VuYnVybnMge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH0gfVxuXG4vKlxuICogU2hha2VcbiAqL1xuQGtleWZyYW1lcyB1ay1zaGFrZSB7XG4gIDAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTlweCk7IH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtN3B4KTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTsgfSB9XG5cbi8qXG4gKiBTdHJva2VcbiAqL1xuQGtleWZyYW1lcyB1ay1zdHJva2Uge1xuICAwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IHZhcigtLXVrLWFuaW1hdGlvbi1zdHJva2UpOyB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwOyB9IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LWxlYWQge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMzMzM7IH1cblxuLnVrLXRleHQtbWV0YSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LXNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4udWstdGV4dC1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi51ay10ZXh0LWRlZmF1bHQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLyogV2VpZ2h0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuXG4udWstdGV4dC1ub3JtYWwge1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi51ay10ZXh0LWJvbGQge1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi51ay10ZXh0LWxpZ2h0ZXIge1xuICBmb250LXdlaWdodDogbGlnaHRlcjsgfVxuXG4udWstdGV4dC1ib2xkZXIge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiBUcmFuc2Zvcm0gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtbXV0ZWQge1xuICBjb2xvcjogIzk5OSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWVtcGhhc2lzIHtcbiAgY29sb3I6ICMzMzMgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICNjYzk5NjYgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1zZWNvbmRhcnkge1xuICBjb2xvcjogIzIyMiAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXN1Y2Nlc3Mge1xuICBjb2xvcjogIzU3YTc0OSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogI2Y2YmIzMSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWRhbmdlciB7XG4gIGNvbG9yOiAjZjI1ZDUwICFpbXBvcnRhbnQ7IH1cblxuLyogQmFja2dyb3VuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gVGhlIGJhY2tncm91bmQgY2xpcHMgdG8gdGhlIGZvcmVncm91bmQgdGV4dC4gV29ya3MgaW4gQ2hyb21lLCBGaXJlZm94LCBTYWZhcmksIEVkZ2UgYW5kIE9wZXJhXG4gKiAgICBEZWZhdWx0IGNvbG9yIGlzIHNldCB0byB0cmFuc3BhcmVudFxuICogMi4gQ29udGFpbmVyIGZpdHMgdGhlIHRleHRcbiAqIDMuIEZhbGxiYWNrIGNvbG9yIGZvciBJRTExXG4gKi9cbi51ay10ZXh0LWJhY2tncm91bmQge1xuICAvKiAxICovXG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMyAqL1xuICBjb2xvcjogI2NjOTk2NiAhaW1wb3J0YW50OyB9XG5cbkBzdXBwb3J0cyAoLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQpIHtcbiAgLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOTk2NjtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfSB9XG5cbi8qIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay10ZXh0LWxlZnRcXEBzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtcmlnaHRcXEBzIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LWNlbnRlclxcQHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnVrLXRleHQtbGVmdFxcQG0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1yaWdodFxcQG0ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtY2VudGVyXFxAbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLnVrLXRleHQtbGVmdFxcQGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1yaWdodFxcQGwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtY2VudGVyXFxAbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstdGV4dC1sZWZ0XFxAeGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1yaWdodFxcQHhsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LWNlbnRlclxcQHhsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG5cbi8qXG4gKiBWZXJ0aWNhbFxuICovXG4udWstdGV4dC10b3Age1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtbWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1iYXNlbGluZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG5cbi8qIFdyYXAgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmV2ZW50IHRleHQgZnJvbSB3cmFwcGluZyBvbnRvIG11bHRpcGxlIGxpbmVzXG4gKi9cbi51ay10ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLypcbiAqIDEuIE1ha2Ugc3VyZSBhIG1heC13aWR0aCBpcyBzZXQgYWZ0ZXIgd2hpY2ggdHJ1bmNhdGlvbiBjYW4gb2NjdXJcbiAqIDIuIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXMsIGFuZCB0cnVuY2F0ZSB3aXRoIGFuIGVsbGlwc2lzXG4gKiAzLiBGaXggZm9yIHRhYmxlIGNlbGxzXG4gKi9cbi51ay10ZXh0LXRydW5jYXRlIHtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDIgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyogMiAqL1xudGgudWstdGV4dC10cnVuY2F0ZSxcbnRkLnVrLXRleHQtdHJ1bmNhdGUge1xuICBtYXgtd2lkdGg6IDA7IH1cblxuLypcbiAqIDEuIFdyYXAgbG9uZyB3b3JkcyBvbnRvIHRoZSBuZXh0IGxpbmUgYW5kIGJyZWFrIHRoZW0gaWYgdGhleSBhcmUgdG9vIGxvbmcgdG8gZml0XG4gKiAyLiBMZWdhY3kgYHdvcmQtd3JhcGAgYXMgZmFsbGJhY2sgZm9yIGBvdmVyZmxvdy13cmFwYFxuICogMy4gRml4IGBvdmVyZmxvdy13cmFwYCB3aGljaCBkb2Vzbid0IHdvcmsgd2l0aCB0YWJsZSBjZWxscyBpbiBDaHJvbWUsIE9wZXJhLCBJRTExIGFuZCBFZGdlXG4gKiAgICBNdXN0IHVzZSBgYnJlYWstYWxsYCB0byBzdXBwb3J0IElFMTEgYW5kIEVkZ2VcbiAqIE5vdGU6IE5vdCB1c2luZyBgaHlwaGVuczogYXV0bztgIGJlY2F1c2UgaXQgaHlwaGVuYXRlcyB0ZXh0IGV2ZW4gaWYgbm90IG5lZWRlZFxuICovXG4udWstdGV4dC1icmVhayB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgLyogMiAqL1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cblxuLyogMyAqL1xudGgudWstdGV4dC1icmVhayxcbnRkLnVrLXRleHQtYnJlYWsge1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZsZXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi51ay1mbGV4LWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi8qXG4gKiBSZW1vdmUgcHNldWRvIGVsZW1lbnRzIGNyZWF0ZWQgYnkgbWljcm8gY2xlYXJmaXggYXMgcHJlY2F1dGlvblxuICovXG4udWstZmxleDo6YmVmb3JlLFxuLnVrLWZsZXg6OmFmdGVyLFxuLnVrLWZsZXgtaW5saW5lOjpiZWZvcmUsXG4udWstZmxleC1pbmxpbmU6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBBbGlnbm1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFsaWduIGl0ZW1zIGFsb25nIHRoZSBtYWluIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogSG9yaXpvbnRhbFxuICovXG4udWstZmxleC1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG5cbi51ay1mbGV4LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi51ay1mbGV4LXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4udWstZmxleC1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi51ay1mbGV4LWFyb3VuZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWZsZXgtbGVmdFxcQHMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAudWstZmxleC1jZW50ZXJcXEBzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAudWstZmxleC1yaWdodFxcQHMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLnVrLWZsZXgtYmV0d2VlblxcQHMge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAudWstZmxleC1hcm91bmRcXEBzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC51ay1mbGV4LWxlZnRcXEBtIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnVrLWZsZXgtY2VudGVyXFxAbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnVrLWZsZXgtcmlnaHRcXEBtIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC51ay1mbGV4LWJldHdlZW5cXEBtIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLnVrLWZsZXgtYXJvdW5kXFxAbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLnVrLWZsZXgtbGVmdFxcQGwge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAudWstZmxleC1jZW50ZXJcXEBsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAudWstZmxleC1yaWdodFxcQGwge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLnVrLWZsZXgtYmV0d2VlblxcQGwge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAudWstZmxleC1hcm91bmRcXEBsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1mbGV4LWxlZnRcXEB4bCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC51ay1mbGV4LWNlbnRlclxcQHhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAudWstZmxleC1yaWdodFxcQHhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC51ay1mbGV4LWJldHdlZW5cXEB4bCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC51ay1mbGV4LWFyb3VuZFxcQHhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG5cbi8qXG4gKiBBbGlnbiBpdGVtcyBpbiB0aGUgY3Jvc3MgYXhpcyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmbGV4IGNvbnRhaW5lclxuICogUm93OiBWZXJ0aWNhbFxuICovXG4udWstZmxleC1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLnVrLWZsZXgtdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLnVrLWZsZXgtbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4udWstZmxleC1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLyogRGlyZWN0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1mbGV4LXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLnVrLWZsZXgtcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLnVrLWZsZXgtY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4udWstZmxleC1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG4vKiBXcmFwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1mbGV4LW5vd3JhcCB7XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG5cbi51ay1mbGV4LXdyYXAge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnVrLWZsZXgtd3JhcC1yZXZlcnNlIHtcbiAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7IH1cblxuLypcbiAqIEFsaWducyBpdGVtcyB3aXRoaW4gdGhlIGZsZXggY29udGFpbmVyIHdoZW4gdGhlcmUgaXMgZXh0cmEgc3BhY2UgaW4gdGhlIGNyb3NzLWF4aXNcbiAqIE9ubHkgd29ya3MgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBsaW5lIG9mIGZsZXggaXRlbXNcbiAqL1xuLnVrLWZsZXgtd3JhcC1zdHJldGNoIHtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDsgfVxuXG4udWstZmxleC13cmFwLXRvcCB7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLnVrLWZsZXgtd3JhcC1taWRkbGUge1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnVrLWZsZXgtd3JhcC1ib3R0b20ge1xuICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4udWstZmxleC13cmFwLWJldHdlZW4ge1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi51ay1mbGV4LXdyYXAtYXJvdW5kIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qIEl0ZW0gb3JkZXJpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHQgaXMgMFxuICovXG4udWstZmxleC1maXJzdCB7XG4gIG9yZGVyOiAtMTsgfVxuXG4udWstZmxleC1sYXN0IHtcbiAgb3JkZXI6IDk5OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWZsZXgtZmlyc3RcXEBzIHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLnVrLWZsZXgtbGFzdFxcQHMge1xuICAgIG9yZGVyOiA5OTsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC51ay1mbGV4LWZpcnN0XFxAbSB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC51ay1mbGV4LWxhc3RcXEBtIHtcbiAgICBvcmRlcjogOTk7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLnVrLWZsZXgtZmlyc3RcXEBsIHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLnVrLWZsZXgtbGFzdFxcQGwge1xuICAgIG9yZGVyOiA5OTsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1mbGV4LWZpcnN0XFxAeGwge1xuICAgIG9yZGVyOiAtMTsgfVxuICAudWstZmxleC1sYXN0XFxAeGwge1xuICAgIG9yZGVyOiA5OTsgfSB9XG5cbi8qIEl0ZW0gZGltZW5zaW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSW5pdGlhbDogMCAxIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3NcbiAqL1xuLypcbiAqIE5vIEZsZXg6IDAgMCBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnNcbiAqL1xuLnVrLWZsZXgtbm9uZSB7XG4gIGZsZXg6IG5vbmU7IH1cblxuLypcbiAqIFJlbGF0aXZlIEZsZXg6IDEgMSBhdXRvXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgY29uc2lkZXJpbmcgY29udGVudFxuICovXG4udWstZmxleC1hdXRvIHtcbiAgZmxleDogYXV0bzsgfVxuXG4vKlxuICogQWJzb2x1dGUgRmxleDogMSAxIDAlXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGZsZXhcbiAqL1xuLnVrLWZsZXgtMSB7XG4gIGZsZXg6IDE7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1hcmdpblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICovXG4udWstbWFyZ2luIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4qICsgLnVrLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMjBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDsgfVxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLXNtYWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4qICsgLnVrLW1hcmdpbi1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXNtYWxsLXRvcCB7XG4gIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXNtYWxsLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXNtYWxsLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDsgfVxuXG4vKiBNZWRpdW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1tZWRpdW0ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG5cbiogKyAudWstbWFyZ2luLW1lZGl1bSB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS10b3Age1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1tZWRpdW0tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLWxlZnQge1xuICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1sYXJnZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuKiArIC51ay1tYXJnaW4tbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS10b3Age1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC51ay1tYXJnaW4tbGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7IH1cbiAgKiArIC51ay1tYXJnaW4tbGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWxhcmdlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogNzBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tbGFyZ2UtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogNzBweCAhaW1wb3J0YW50OyB9IH1cblxuLyogWExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4teGxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogNzBweDsgfVxuXG4qICsgLnVrLW1hcmdpbi14bGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHtcbiAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDcwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXhsYXJnZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXhsYXJnZS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogNzBweCAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAudWstbWFyZ2luLXhsYXJnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTQwcHg7IH1cbiAgKiArIC51ay1tYXJnaW4teGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiAxNDBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4teGxhcmdlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMTQwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLXhsYXJnZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMTQwcHggIWltcG9ydGFudDsgfSB9XG5cbi8qIEF1dG9cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1hdXRvIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1hdXRvLXRvcCB7XG4gIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1tYXJnaW4tYXV0b1xcQHMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQHMge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnVrLW1hcmdpbi1hdXRvXFxAbSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQG0ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLnVrLW1hcmdpbi1hdXRvXFxAbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQGwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstbWFyZ2luLWF1dG9cXEB4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQHhsIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQHhsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbi8qIFJlbW92ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLXJlbW92ZSB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLXRvcCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS12ZXJ0aWNhbCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLWFkamFjZW50ICsgKixcbi51ay1tYXJnaW4tcmVtb3ZlLWZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLWxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEBzIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAcyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQG0ge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEBsIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAeGwge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEB4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRGlyZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGBtYXgtd2lkdGg6IDEwMCVgIGlzIHVzZWQgaW5zaWRlIHBvc2l0aW9uIGNvbnRhaW5lci5cbiAqL1xuW2NsYXNzKj0ndWstcG9zaXRpb24tdG9wJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1ib3R0b20nXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWxlZnQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLXJpZ2h0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXInXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKiBFZGdlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEb24ndCB1c2UgYHdpZHRoOiAxMDAlYCBiZWNhdXNlIGl0IGlzIHdyb25nIGlmIHRoZSBwYXJlbnQgaGFzIHBhZGRpbmcuICovXG4udWstcG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4udWstcG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4udWstcG9zaXRpb24tbGVmdCB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDsgfVxuXG4vKiBDb3JuZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wb3NpdGlvbi10b3AtbGVmdCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDsgfVxuXG4udWstcG9zaXRpb24tdG9wLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDsgfVxuXG4udWstcG9zaXRpb24tYm90dG9tLWxlZnQge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1yaWdodCB7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7IH1cblxuLypcbiAqIENlbnRlclxuICogMS4gRml4IHRleHQgd3JhcHBpbmcgaWYgY29udGVudCBpcyBsYXJnZXIgdGhhbiA1MCUgb2YgdGhlIGNvbnRhaW5lci5cbiAqL1xuLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAvKiAxICovXG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qIFZlcnRpY2FsICovXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdCB7XG4gIGxlZnQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdC1vdXQge1xuICByaWdodDogMTAwJTtcbiAgd2lkdGg6IG1heC1jb250ZW50OyB9XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQtb3V0IHtcbiAgbGVmdDogMTAwJTtcbiAgd2lkdGg6IG1heC1jb250ZW50OyB9XG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLyogMSAqL1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4udWstcG9zaXRpb24tdG9wLWNlbnRlciB7XG4gIHRvcDogMDsgfVxuXG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIGJvdHRvbTogMDsgfVxuXG4vKiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcG9zaXRpb24tY292ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDsgfVxuXG4vKiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1maXhlZCB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi16LWluZGV4IHtcbiAgei1pbmRleDogMTsgfVxuXG4vKiBNYXJnaW4gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFNtYWxsXG4gKi9cbi51ay1wb3NpdGlvbi1zbWFsbCB7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDE1cHggKiAyKSk7XG4gIG1hcmdpbjogMTVweDsgfVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0xNXB4LCAtMTVweCk7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTE1cHgpOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtMTVweCk7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG4udWstcG9zaXRpb24tbWVkaXVtIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoMzBweCAqIDIpKTtcbiAgbWFyZ2luOiAzMHB4OyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0zMHB4LCAtMzBweCk7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tbWVkaXVtW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtMzBweCk7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG4udWstcG9zaXRpb24tbGFyZ2Uge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgzMHB4ICogMikpO1xuICBtYXJnaW46IDMwcHg7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtMzBweCwgLTMwcHgpOyB9XG5cbi51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0zMHB4KTsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAudWstcG9zaXRpb24tbGFyZ2Uge1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDUwcHggKiAyKSk7XG4gICAgbWFyZ2luOiA1MHB4OyB9XG4gIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1jZW50ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtNTBweCwgLTUwcHgpOyB9XG4gIC51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4gIC51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtNTBweCk7IH1cbiAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4gIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtNTBweCk7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVHJhbnNpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUb2dnbGUgKEhvdmVyICsgRm9jdXMpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG4udWstdHJhbnNpdGlvbi10b2dnbGUge1xuICAvKiAxICovXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLypcbiAqIFJlbW92ZSBvdXRsaW5lIGZvciBgdGFiaW5kZXhgXG4gKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogVHJhbnNpdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFRoZSB0b2dnbGUgaXMgdHJpZ2dlcmVkIG9uIHRvdWNoIGRldmljZXMgYnkgdHdvIG1ldGhvZHM6XG4gKiAxLiBVc2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqIDIuIFVzaW5nIGA6aG92ZXJgIGFuZCBhIGB0b3VjaHN0YXJ0YCBldmVudCBsaXN0ZW5lciByZWdpc3RlcmVkIG9uIHRoZSBkb2N1bWVudFxuICogICAgKERvZXNuJ3Qgd29yayBvbiBTdXJmYWNlIHRvdWNoIGRldmljZXMpXG4gKlxuICogTm90ZTogVHJhbnNpdGlvbnMgZG9uJ3Qgd29yayB3aXRoIGB1ay1wb3N0aW9uLWNlbnRlci0qYCBjbGFzc2VzIGJlY2F1c2UgdGhleSBhbHNvIHVzZSBgdHJhbnNmb3JtYCxcbiAqICAgICAgIHRoZXJlZm9yZSBpdCdzIHJlY29tbWVuZGVkIHRvIHVzZSBhbiBleHRyYSBgZGl2YCBmb3IgdGhlIHRyYW5zaXRpb24uXG4gKi9cbi51ay10cmFuc2l0aW9uLWZhZGUsXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNjYWxlJ10sXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIGZpbHRlcjtcbiAgb3BhY2l0eTogMDsgfVxuXG4vKlxuICogRmFkZVxuICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tZmFkZSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1mYWRlLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1mYWRlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogU2NhbGVcbiAqL1xuLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKTsgfVxuXG4vKiBTaG93ICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEsIDEuMSk7IH1cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7IH1cblxuLypcbiAqIFNsaWRlXG4gKi9cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1zbWFsbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtc21hbGwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LXNtYWxsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1tZWRpdW0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTBweCk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC1tZWRpdW0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwcHgpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTsgfVxuXG4vKiBTaG93ICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLyogT3BhY2l0eSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdHJhbnNpdGlvbi1vcGFxdWUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIER1cmF0aW9uIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdHJhbnNpdGlvbi1zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC43czsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJpbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4uVGhlQ29udGVudCBoMywgLk9yZGVyZWRDYXJkX190aXRsZSwgLkZlYXR1cmVkQ2FyZF9fdGl0bGUsIC5UaGVDb250ZW50IGgyLCAuRm9vdGVyTmF2X19pbm5lciwgLkZvb3RlclNlcnZpY2VzX19oZWFkaW5nLCAuTW9kYWxfX2hlYWRpbmctLWRlZmF1bHQsIC5BYm91dERvY3VtZW50c19faGVhZGluZywgLlByb2plY3RQYWdlX19zdWJIZWFkaW5nLCAuQ29udGFjdHNQYWdlX19zdWJ0aXRsZSwgLlRoZUNvbnRlbnQgaDEsIC5TaXRlT2ZmQ2FudmFzTmF2aWdhdGlvbl9faW5uZXIsIC5Qcm9qZWN0Q2FyZF9fdGl0bGUsIC5Ib21lU2VjdGlvbl9fdGl0bGUsIC5TZXJ2aWNlQ2FyZF9faGVhZGluZywgLkFib3V0T3JnYW5pemF0aW9uc0l0ZW1fX3RpdGxlLCAuUHJvamVjdFBhZ2VfX2hlYWRpbmcsIC5TZXJ2aWNlUGFnZV9faGVhZGluZywgLkNvbnRhY3RzUGFnZV9fdGl0bGUsIC5Db25zdWx0YXRpb25fX2hlYWRpbmcsIC5Ib21lUHJvamVjdHNNb3JlX19oZWFkaW5nLCAuTW9kYWxfX2hlYWRpbmctLWxhcmdlLCAuQWJvdXRDZXJ0aWZpY2F0ZXNfX3RpdGxlLCAuSG9tZUFib3V0X190aXRsZSwgLkhvbWVQcm9qZWN0X190aXRsZSwgLkhvbWVNYXBfX3RpdGxlLCAuQWJvdXRIZXJvX19oZWFkaW5nLS1sYXJnZSwgLkFib3V0TWFwX19oZWFkaW5nLCAuRXJyb3JQYWdlX19oZWFkaW5nLCAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkJlYmFzIE5ldWVcIiwgY3Vyc2l2ZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uSG9tZUFib3V0X19oZWFkaW5nLCAuSG9tZVNlY3Rpb25zX19oZWFkaW5nLCAuSG9tZVByb2plY3RzX19oZWFkaW5nLCAuSG9tZU1hcF9faGVhZGluZywgLldyYXBwZWRQYXJ0bmVyc19faGVhZGluZywgLkFib3V0SGVyb19faGVhZGluZy0tc21hbGwsIC5Qcm9qZWN0c1BhZ2VfX2hlYWRpbmcsIC5TZXJ2aWNlc1BhZ2VfX2hlYWRpbmcsIC5Db250YWN0c1BhZ2VfX2hlYWRpbmcge1xuICBjb2xvcjogIzNkNDc1ZjtcbiAgZm9udC1mYW1pbHk6IFwiTWFucm9wZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE1O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5UaGVDb250ZW50IGgzIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuVGhlQ29udGVudCBoMyB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuVGhlQ29udGVudCBoMyB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cblxuLk9yZGVyZWRDYXJkX190aXRsZSwgLkZlYXR1cmVkQ2FyZF9fdGl0bGUsIC5UaGVDb250ZW50IGgyLCAuRm9vdGVyTmF2X19pbm5lciwgLkZvb3RlclNlcnZpY2VzX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLk1vZGFsX19oZWFkaW5nLS1kZWZhdWx0LCAuQWJvdXREb2N1bWVudHNfX2hlYWRpbmcsIC5Qcm9qZWN0UGFnZV9fc3ViSGVhZGluZywgLkNvbnRhY3RzUGFnZV9fc3VidGl0bGUge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAuT3JkZXJlZENhcmRfX3RpdGxlLCAuRmVhdHVyZWRDYXJkX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5PcmRlcmVkQ2FyZF9fdGl0bGUsIC5GZWF0dXJlZENhcmRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5PcmRlcmVkQ2FyZF9fdGl0bGUsIC5GZWF0dXJlZENhcmRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4uVGhlQ29udGVudCBoMSwgLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19pbm5lciwgLlByb2plY3RDYXJkX190aXRsZSwgLkhvbWVTZWN0aW9uX190aXRsZSwgLlNlcnZpY2VDYXJkX19oZWFkaW5nLCAuQWJvdXRPcmdhbml6YXRpb25zSXRlbV9fdGl0bGUsIC5Qcm9qZWN0UGFnZV9faGVhZGluZywgLlNlcnZpY2VQYWdlX19oZWFkaW5nLCAuQ29udGFjdHNQYWdlX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMi4zNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjExNzY1OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuVGhlQ29udGVudCBoMSwgLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19pbm5lciwgLlByb2plY3RDYXJkX190aXRsZSwgLkhvbWVTZWN0aW9uX190aXRsZSwgLlNlcnZpY2VDYXJkX19oZWFkaW5nLCAuQWJvdXRPcmdhbml6YXRpb25zSXRlbV9fdGl0bGUsIC5Qcm9qZWN0UGFnZV9faGVhZGluZywgLlNlcnZpY2VQYWdlX19oZWFkaW5nLCAuQ29udGFjdHNQYWdlX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIuMjVyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuVGhlQ29udGVudCBoMSwgLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19pbm5lciwgLlByb2plY3RDYXJkX190aXRsZSwgLkhvbWVTZWN0aW9uX190aXRsZSwgLlNlcnZpY2VDYXJkX19oZWFkaW5nLCAuQWJvdXRPcmdhbml6YXRpb25zSXRlbV9fdGl0bGUsIC5Qcm9qZWN0UGFnZV9faGVhZGluZywgLlNlcnZpY2VQYWdlX19oZWFkaW5nLCAuQ29udGFjdHNQYWdlX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLlRoZUNvbnRlbnQgaDEsIC5TaXRlT2ZmQ2FudmFzTmF2aWdhdGlvbl9faW5uZXIsIC5Qcm9qZWN0Q2FyZF9fdGl0bGUsIC5Ib21lU2VjdGlvbl9fdGl0bGUsIC5TZXJ2aWNlQ2FyZF9faGVhZGluZywgLkFib3V0T3JnYW5pemF0aW9uc0l0ZW1fX3RpdGxlLCAuUHJvamVjdFBhZ2VfX2hlYWRpbmcsIC5TZXJ2aWNlUGFnZV9faGVhZGluZywgLkNvbnRhY3RzUGFnZV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAycmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlRoZUNvbnRlbnQgaDEsIC5TaXRlT2ZmQ2FudmFzTmF2aWdhdGlvbl9faW5uZXIsIC5Qcm9qZWN0Q2FyZF9fdGl0bGUsIC5Ib21lU2VjdGlvbl9fdGl0bGUsIC5TZXJ2aWNlQ2FyZF9faGVhZGluZywgLkFib3V0T3JnYW5pemF0aW9uc0l0ZW1fX3RpdGxlLCAuUHJvamVjdFBhZ2VfX2hlYWRpbmcsIC5TZXJ2aWNlUGFnZV9faGVhZGluZywgLkNvbnRhY3RzUGFnZV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfSB9XG5cbi5Db25zdWx0YXRpb25fX2hlYWRpbmcsIC5Ib21lUHJvamVjdHNNb3JlX19oZWFkaW5nLCAuTW9kYWxfX2hlYWRpbmctLWxhcmdlLCAuQWJvdXRDZXJ0aWZpY2F0ZXNfX3RpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IDAuODY1O1xuICBmb250LXNpemU6IDNyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5Db25zdWx0YXRpb25fX2hlYWRpbmcsIC5Ib21lUHJvamVjdHNNb3JlX19oZWFkaW5nLCAuTW9kYWxfX2hlYWRpbmctLWxhcmdlLCAuQWJvdXRDZXJ0aWZpY2F0ZXNfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuQ29uc3VsdGF0aW9uX19oZWFkaW5nLCAuSG9tZVByb2plY3RzTW9yZV9faGVhZGluZywgLk1vZGFsX19oZWFkaW5nLS1sYXJnZSwgLkFib3V0Q2VydGlmaWNhdGVzX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIuNzVyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQ29uc3VsdGF0aW9uX19oZWFkaW5nLCAuSG9tZVByb2plY3RzTW9yZV9faGVhZGluZywgLk1vZGFsX19oZWFkaW5nLS1sYXJnZSwgLkFib3V0Q2VydGlmaWNhdGVzX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Db25zdWx0YXRpb25fX2hlYWRpbmcsIC5Ib21lUHJvamVjdHNNb3JlX19oZWFkaW5nLCAuTW9kYWxfX2hlYWRpbmctLWxhcmdlLCAuQWJvdXRDZXJ0aWZpY2F0ZXNfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4zNzVyZW07IH0gfVxuXG4uSG9tZUFib3V0X190aXRsZSwgLkhvbWVQcm9qZWN0X190aXRsZSwgLkhvbWVNYXBfX3RpdGxlLCAuQWJvdXRIZXJvX19oZWFkaW5nLS1sYXJnZSwgLkFib3V0TWFwX19oZWFkaW5nLCAuRXJyb3JQYWdlX19oZWFkaW5nIHtcbiAgZm9udC1zaXplOiAzLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMC45MTY2OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuSG9tZUFib3V0X190aXRsZSwgLkhvbWVQcm9qZWN0X190aXRsZSwgLkhvbWVNYXBfX3RpdGxlLCAuQWJvdXRIZXJvX19oZWFkaW5nLS1sYXJnZSwgLkFib3V0TWFwX19oZWFkaW5nLCAuRXJyb3JQYWdlX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMy40Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkhvbWVBYm91dF9fdGl0bGUsIC5Ib21lUHJvamVjdF9fdGl0bGUsIC5Ib21lTWFwX190aXRsZSwgLkFib3V0SGVyb19faGVhZGluZy0tbGFyZ2UsIC5BYm91dE1hcF9faGVhZGluZywgLkVycm9yUGFnZV9faGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDMuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkhvbWVBYm91dF9fdGl0bGUsIC5Ib21lUHJvamVjdF9fdGl0bGUsIC5Ib21lTWFwX190aXRsZSwgLkFib3V0SGVyb19faGVhZGluZy0tbGFyZ2UsIC5BYm91dE1hcF9faGVhZGluZywgLkVycm9yUGFnZV9faGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDIuODEyNXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lQWJvdXRfX3RpdGxlLCAuSG9tZVByb2plY3RfX3RpdGxlLCAuSG9tZU1hcF9fdGl0bGUsIC5BYm91dEhlcm9fX2hlYWRpbmctLWxhcmdlLCAuQWJvdXRNYXBfX2hlYWRpbmcsIC5FcnJvclBhZ2VfX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuXG4uSG9tZUFib3V0X190aXRsZSBzdHJvbmcsIC5Ib21lTWFwX190aXRsZSBzdHJvbmcsIC5BYm91dE1hcF9faGVhZGluZyBzdHJvbmcge1xuICBjb2xvcjogIzNiNjVjZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uRmVhdHVyZWRTbGlkZXJfX2Rlc2NyaXB0aW9uLCAuQWJvdXRIZXJvX19kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTgyOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5GZWF0dXJlZFNsaWRlcl9fZGVzY3JpcHRpb24sIC5BYm91dEhlcm9fX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkZlYXR1cmVkU2xpZGVyX19kZXNjcmlwdGlvbiwgLkFib3V0SGVyb19fZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5GZWF0dXJlZFNsaWRlcl9fZGVzY3JpcHRpb24sIC5BYm91dEhlcm9fX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi5Ib21lQWJvdXRfX2Rlc2NyaXB0aW9uLCAuSG9tZU1hcF9fZGVzY3JpcHRpb24sIC5Nb2RhbF9fZGVzY3JpcHRpb24sIC5BYm91dENlcnRpZmljYXRlc19fZGVzY3JpcHRpb24sIC5BYm91dE1hcF9fZGVzY3JpcHRpb24sIC5FcnJvclBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzc3OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Ib21lQWJvdXRfX2Rlc2NyaXB0aW9uLCAuSG9tZU1hcF9fZGVzY3JpcHRpb24sIC5Nb2RhbF9fZGVzY3JpcHRpb24sIC5BYm91dENlcnRpZmljYXRlc19fZGVzY3JpcHRpb24sIC5BYm91dE1hcF9fZGVzY3JpcHRpb24sIC5FcnJvclBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuSG9tZUFib3V0X19kZXNjcmlwdGlvbiwgLkhvbWVNYXBfX2Rlc2NyaXB0aW9uLCAuTW9kYWxfX2Rlc2NyaXB0aW9uLCAuQWJvdXRDZXJ0aWZpY2F0ZXNfX2Rlc2NyaXB0aW9uLCAuQWJvdXRNYXBfX2Rlc2NyaXB0aW9uLCAuRXJyb3JQYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuODU1OyB9IH1cblxuLkhvbWVQcm9qZWN0X19kZXNjcmlwdGlvbiwgLkFib3V0TnVtYmVyc0l0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjg1OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lUHJvamVjdF9fZGVzY3JpcHRpb24sIC5BYm91dE51bWJlcnNJdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41OyB9IH1cblxuLlRoZUNvbnRlbnQge1xuICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS43Nzc3OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5UaGVDb250ZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC5UaGVDb250ZW50ID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuVGhlQ29udGVudCA+ICo6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuVGhlQ29udGVudCBoMiB7XG4gICAgbWFyZ2luLXRvcDogODBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLlRoZUNvbnRlbnQgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiA2NHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5UaGVDb250ZW50IGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDhweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuVGhlQ29udGVudCBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICAuVGhlQ29udGVudCBoMyB7XG4gICAgbWFyZ2luLXRvcDogNjBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLlRoZUNvbnRlbnQgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5UaGVDb250ZW50IGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuVGhlQ29udGVudCBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH0gfVxuICAuVGhlQ29udGVudCBhIHtcbiAgICBjb2xvcjogIzNiNjVjZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiB0ZXh0LWRlY29yYXRpb24tY29sb3IgMC4ycyBlYXNlLW91dDsgfVxuICAgIC5UaGVDb250ZW50IGE6aG92ZXIsIC5UaGVDb250ZW50IGE6Zm9jdXMge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBpbmhlcml0OyB9XG4gIC5UaGVDb250ZW50IGltZyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlRoZUNvbnRlbnQgaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG4gIC5UaGVDb250ZW50IGltZyArIGltZyB7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlRoZUNvbnRlbnQgaW1nICsgaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzJweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuVGhlQ29udGVudCBpbWcgKyBpbWcge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9IH1cbiAgLlRoZUNvbnRlbnQgcCB7XG4gICAgbWFyZ2luOiAyMHB4IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5UaGVDb250ZW50IHAge1xuICAgICAgICBtYXJnaW46IDE2cHggMDsgfSB9XG4gIC5UaGVDb250ZW50IHVsLFxuICAuVGhlQ29udGVudCBvbCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlRoZUNvbnRlbnQgdWwsXG4gICAgICAuVGhlQ29udGVudCBvbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH0gfVxuICAgIC5UaGVDb250ZW50IHVsIGxpLFxuICAgIC5UaGVDb250ZW50IG9sIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI5cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5UaGVDb250ZW50IHVsIGxpOjpiZWZvcmUsXG4gICAgICAuVGhlQ29udGVudCBvbCBsaTo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgICAuVGhlQ29udGVudCB1bCBsaTpsYXN0LW9mLXR5cGUsXG4gICAgICAuVGhlQ29udGVudCBvbCBsaTpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5UaGVDb250ZW50IHVsIHtcbiAgICAtLXVub3JkZXJlZC1saXN0LWJ1bGxldC1jb2xvcjogIzNiNjVjZjtcbiAgICAtLXVub3JkZXJlZC1saXN0LWJ1bGxldC1ib3JkZXItY29sb3I6ICMzYjY1Y2Y7IH1cbiAgICAuVGhlQ29udGVudCB1bCBsaTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVub3JkZXJlZC1saXN0LWJ1bGxldC1jb2xvcik7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS11bm9yZGVyZWQtbGlzdC1idWxsZXQtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBzaXplOiA5cHg7XG4gICAgICB0b3A6IDEycHg7IH1cbiAgICAuVGhlQ29udGVudCB1bCBsaSA+IHVsIHtcbiAgICAgIC0tdW5vcmRlcmVkLWxpc3QtYnVsbGV0LWNvbG9yOiB3aGl0ZTtcbiAgICAgIC0tdW5vcmRlcmVkLWxpc3QtYnVsbGV0LWJvcmRlci1jb2xvcjogIzNiNjVjZjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9XG4gIC5UaGVDb250ZW50IG9sIHtcbiAgICBjb3VudGVyLXJlc2V0OiBsaXN0LWNvdW50ZXI7IH1cbiAgICAuVGhlQ29udGVudCBvbCBsaSB7XG4gICAgICBjb3VudGVyLWluY3JlbWVudDogbGlzdC1jb3VudGVyOyB9XG4gICAgICAuVGhlQ29udGVudCBvbCBsaTo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC1jb3VudGVyKSBcIi5cIjtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0b3A6IDA7IH1cbiAgLlRoZUNvbnRlbnQgc3Ryb25nLFxuICAuVGhlQ29udGVudCBiIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5UaGVDb250ZW50IC5yZXNwb25zaXZlRW1iZWQge1xuICAgIG1hcmdpbjogMzBweCAwIDgwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5UaGVDb250ZW50IC5yZXNwb25zaXZlRW1iZWQge1xuICAgICAgICBtYXJnaW46IDI0cHggMCA2NHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5UaGVDb250ZW50IC5yZXNwb25zaXZlRW1iZWQge1xuICAgICAgICBtYXJnaW46IDIwcHggMCA0OHB4OyB9IH1cblxuLlNpdGVGb3JtX19idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLlNpdGVGb3JtX19idXR0b246ZGlzYWJsZWQ6bm90KC5pcy1hbGwtbG9hZGVkKSAuU2l0ZUZvcm1fX3NwaW5uZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLlNpdGVGb3JtX19idXR0b246ZGlzYWJsZWQ6bm90KC5pcy1hbGwtbG9hZGVkKSAuU2l0ZUZvcm1fX2J1dHRvblRleHQge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmlzLWFsbC1sb2FkZWQuU2l0ZUZvcm1fX2J1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNiNjVjZjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIG9wYWNpdHk6IDAuODsgfVxuXG4uU2l0ZUZvcm1fX2J1dHRvblRleHQge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7IH1cblxuLlNpdGVGb3JtX19zcGlubmVyIHtcbiAgbGVmdDogNTAlO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0OyB9XG5cbi5MYXlvdXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgbWluLWhlaWdodDogMTAwdmg7IH1cbiAgLkxheW91dF9faGVhZGVyLCAuTGF5b3V0X19ib2R5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLkxheW91dF9faGVhZGVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5MYXlvdXRfX2JvZHkge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5MYXlvdXRfX2Zvb3RlciB7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cbiAgLkxheW91dF9fY29udGFpbmVyLS1tZWRpdW0ge1xuICAgIG1heC13aWR0aDogMTA0NXB4OyB9XG4gIC5MYXlvdXRfX2NvbnRhaW5lci0tbm9QYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5TaXRlT2ZmQ2FudmFzX19pbWFnZSwgLlNpdGVHYWxsZXJ5X19pbWFnZSBpbWcsIC5Qcm9qZWN0Q2FyZF9faW1hZ2UgaW1nLCAuQ29uc3VsdGF0aW9uX19pbWFnZSwgLkZlYXR1cmVkU2xpZGVyX19pbWFnZSwgLkhvbWVTZWN0aW9uX19pbWFnZSBpbWcsIC5GZWF0dXJlZENhcmRfX2ltYWdlLCAuU2VydmljZUNhcmRfX2ltYWdlIGltZywgLk1vZGFsX19iYWNrZ3JvdW5kIGltZywgLkFib3V0SGVyb19faW1hZ2UgaW1nLCAuQWJvdXRGZWF0dXJlc19faW1hZ2UgaW1nLCAuUHJvamVjdFBhZ2VfX2hlcm8gaW1nLCAuRXJyb3JQYWdlX19pbWFnZSwgLlByb2plY3RDYXJkX19pbWFnZTo6YmVmb3JlLCAuUHJvamVjdENhcmRfX292ZXJsYXksIC5Db25zdWx0YXRpb25fX292ZXJsYXksIC5GZWF0dXJlZENhcmRfX292ZXJsYXksIC5GZWF0dXJlZENhcmRfX2NvbnRlbnQsIC5Ib21lUHJvamVjdF9faW1hZ2VJbm5lcjo6YmVmb3JlLCAuTW9kYWxfX2JhY2tncm91bmQsIC5Nb2RhbF9fYmFja2dyb3VuZDo6YmVmb3JlLCAuQWJvdXRIZXJvX19pbWFnZSwgLkFib3V0SGVyb19faW1hZ2U6OmJlZm9yZSwgLkFib3V0RmVhdHVyZXNfX2ltYWdlLCAuQWJvdXRGZWF0dXJlc19faW1hZ2U6OmJlZm9yZSwgLkFib3V0TWFwOjpiZWZvcmUsIC5Db250YWN0c01hcF9fbWFwIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLlNpdGVPZmZDYW52YXNfX2ltYWdlLCAuU2l0ZUdhbGxlcnlfX2ltYWdlIGltZywgLlByb2plY3RDYXJkX19pbWFnZSBpbWcsIC5Db25zdWx0YXRpb25fX2ltYWdlLCAuRmVhdHVyZWRTbGlkZXJfX2ltYWdlLCAuSG9tZVNlY3Rpb25fX2ltYWdlIGltZywgLkZlYXR1cmVkQ2FyZF9faW1hZ2UsIC5TZXJ2aWNlQ2FyZF9faW1hZ2UgaW1nLCAuTW9kYWxfX2JhY2tncm91bmQgaW1nLCAuQWJvdXRIZXJvX19pbWFnZSBpbWcsIC5BYm91dEZlYXR1cmVzX19pbWFnZSBpbWcsIC5Qcm9qZWN0UGFnZV9faGVybyBpbWcsIC5FcnJvclBhZ2VfX2ltYWdlIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7IH1cblxuLlNpdGVHYWxsZXJ5X19pbWFnZSwgLlByb2plY3RDYXJkX19pbWFnZSwgLlNlcnZpY2VDYXJkX19pbWFnZSwgLlByb2plY3RQYWdlX19oZXJvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTAwLCAxNzIsIDAuMSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uRmVhdHVyZWRTbGlkZXJTY3JvbGxfX2NpcmNsZSwgLkhvbWVQcm9qZWN0c01vcmVfX2NpcmNsZSwgLkJ1dHRvbkFycm93X19jaXJjbGUsIC5CYWNrQnV0dG9uX19jaXJjbGUsIC5GZWF0dXJlZFNsaWRlclNjcm9sbF9fY2lyY2xlSW5uZXIsIC5GZWF0dXJlZENhcmRfX2NpcmNsZSwgLkhvbWVQcm9qZWN0c01vcmVfX2NpcmNsZUlubmVyLCAuU2l0ZUhlYWRlcl9faGFtYnVyZ2VyLCAuSGVhZGVyTmF2LCAuU2l0ZU9mZkNhbnZhc19fY2xvc2UsIC5TaXRlT2ZmQ2FudmFzTmF2aWdhdGlvbl9fY2hldnJvbiwgLlBhcnRuZXJzX19zbGlkZSwgLk1vZGFsX19ib2R5Li0tY2VudGVyLCAuTW9kYWxfX2Nsb3NlLCAuRXJyb3JQYWdlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLlByb2plY3RQYWdlLCAuUHJvamVjdHNQYWdlLCAuU2VydmljZXNQYWdlLCAuU2VydmljZVBhZ2UsIC5BcnRpY2xlUGFnZV9fbWFpbiwgLkNvbnRhY3RzUGFnZSB7XG4gIHBhZGRpbmcteTogNjBweCAxNDBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuUHJvamVjdFBhZ2UsIC5Qcm9qZWN0c1BhZ2UsIC5TZXJ2aWNlc1BhZ2UsIC5TZXJ2aWNlUGFnZSwgLkFydGljbGVQYWdlX19tYWluLCAuQ29udGFjdHNQYWdlIHtcbiAgICAgIHBhZGRpbmcteTogNDhweCAxMjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Qcm9qZWN0UGFnZSwgLlByb2plY3RzUGFnZSwgLlNlcnZpY2VzUGFnZSwgLlNlcnZpY2VQYWdlLCAuQXJ0aWNsZVBhZ2VfX21haW4sIC5Db250YWN0c1BhZ2Uge1xuICAgICAgcGFkZGluZy15OiAzNnB4IDkwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuUHJvamVjdFBhZ2UsIC5Qcm9qZWN0c1BhZ2UsIC5TZXJ2aWNlc1BhZ2UsIC5TZXJ2aWNlUGFnZSwgLkFydGljbGVQYWdlX19tYWluLCAuQ29udGFjdHNQYWdlIHtcbiAgICAgIHBhZGRpbmcteTogMjRweCA2NXB4OyB9IH1cblxuLkhlYWRlck5hdl9fZHJvcGRvd246OmFmdGVyLCAuQ29uc3VsdGF0aW9uOjphZnRlciwgLk9yZGVyZWRDYXJkOjpiZWZvcmUsIC5Nb2RhbF9fYm9keS0tc21hbGw6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjY1Y2Y7XG4gIGJvdHRvbTogLTFweDtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IC0xcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDFweCk7IH1cblxuLkZlYXR1cmVkU2xpZGVyU2Nyb2xsX19jaXJjbGUsIC5Ib21lUHJvamVjdHNNb3JlX19jaXJjbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU5LCAxMDEsIDIwNywgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwYWRkaW5nOiA5cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0OyB9XG5cbi5CdXR0b25BcnJvd19fY2lyY2xlLCAuQmFja0J1dHRvbl9fY2lyY2xlLCAuRmVhdHVyZWRTbGlkZXJTY3JvbGxfX2NpcmNsZUlubmVyLCAuRmVhdHVyZWRDYXJkX19jaXJjbGUsIC5Ib21lUHJvamVjdHNNb3JlX19jaXJjbGVJbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjY1Y2Y7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY29sb3I6IHdoaXRlO1xuICBmbGV4LXNocmluazogMDtcbiAgc2l6ZTogMjdweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBjb2xvcjsgfVxuXG4uRmVhdHVyZWRDYXJkLS1ub0ltYWdlIC5CdXR0b25BcnJvd19fY2lyY2xlLCAuRmVhdHVyZWRDYXJkLS1ub0ltYWdlIC5CYWNrQnV0dG9uX19jaXJjbGUsIC5GZWF0dXJlZENhcmQtLW5vSW1hZ2UgLkZlYXR1cmVkU2xpZGVyU2Nyb2xsX19jaXJjbGVJbm5lciwgLkZlYXR1cmVkQ2FyZC0tbm9JbWFnZSAuRmVhdHVyZWRDYXJkX19jaXJjbGUsIC5GZWF0dXJlZENhcmQtLW5vSW1hZ2UgLkhvbWVQcm9qZWN0c01vcmVfX2NpcmNsZUlubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjM2I2NWNmOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzY2cHgpIHtcbiAgLlByb2plY3RQYWdlX19iYWNrLCAuU2VydmljZVBhZ2VfX2JhY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAtNjhweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgLlByb2plY3RQYWdlX19iYWNrLCAuU2VydmljZVBhZ2VfX2JhY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH0gfVxuXG4uUHJvamVjdENhcmRfX2ltYWdlIGltZywgLkhvbWVQcm9qZWN0X19pbWFnZUlubmVyIGltZywgLlByb2plY3RQYWdlX19nYWxsZXJ5SXRlbSBpbWcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zNzVzIGVhc2Utb3V0OyB9XG5cbi5Ib21lU2VjdGlvbl9fbnVtYmVyLCAuU2VydmljZUNhcmRfX251bWJlciB7XG4gIGNvbG9yOiAjM2I2NWNmO1xuICBmb250LWZhbWlseTogXCJCZWJhcyBOZXVlXCIsIGN1cnNpdmU7XG4gIGZvbnQtc2l6ZTogMTAuNjI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICBsaW5lLWhlaWdodDogMC4yMjk1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9fbnVtYmVyLCAuU2VydmljZUNhcmRfX251bWJlciB7XG4gICAgICBmb250LXNpemU6IDguNzVyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuSG9tZVNlY3Rpb25fX251bWJlciwgLlNlcnZpY2VDYXJkX19udW1iZXIge1xuICAgICAgZm9udC1zaXplOiA2Ljg3NXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9fbnVtYmVyLCAuU2VydmljZUNhcmRfX251bWJlciB7XG4gICAgICBmb250LXNpemU6IDUuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uX19udW1iZXIsIC5TZXJ2aWNlQ2FyZF9fbnVtYmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogNC4zNzVyZW07IH0gfVxuXG4ubm8tanMgLnNob3ctZm9yLWpzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uanMgLmhpZGUtZm9yLWpzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucmVzcG9uc2l2ZUVtYmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgLnJlc3BvbnNpdmVFbWJlZCBpZnJhbWUge1xuICAgIGFic29sdXRlOiB0b3AgbGVmdDtcbiAgICBzaXplOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgLyogSUU2LCBJRTcgKi9cbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxcHg7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLlNpdGVIZWFkZXIge1xuICBwYWRkaW5nLXRvcDogMTZweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuU2l0ZUhlYWRlciB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDsgfSB9XG4gIC5TaXRlSGVhZGVyLS1maXhlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5TaXRlSGVhZGVyLS1saWdodCAuU2l0ZUhlYWRlcl9fbG9nbyB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLlNpdGVIZWFkZXItLWxpZ2h0IC5TaXRlSGVhZGVyX19sb2dvOmhvdmVyLCAuU2l0ZUhlYWRlci0tbGlnaHQgLlNpdGVIZWFkZXJfX2xvZ286Zm9jdXMge1xuICAgICAgY29sb3I6ICNlNmU2ZTY7IH1cbiAgLlNpdGVIZWFkZXItLWxpZ2h0IC5IZWFkZXJOYXZfX2xpbmssIC5TaXRlSGVhZGVyLS1saWdodCAuSGVhZGVyTmF2X19sYWJlbCxcbiAgLlNpdGVIZWFkZXItLWxpZ2h0IC5IZWFkZXJOYXZfX2NoZXZyb24ge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuU2l0ZUhlYWRlci0tbGlnaHQgLkhlYWRlck5hdl9fbGluazpob3ZlciwgLlNpdGVIZWFkZXItLWxpZ2h0IC5IZWFkZXJOYXZfX2xpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAjZTZlNmU2OyB9XG4gIC5TaXRlSGVhZGVyLS1saWdodCAuSGVhZGVyTmF2X19pdGVtLS1kcm9wZG93bjpob3ZlciAuSGVhZGVyTmF2X19saW5rLCAuU2l0ZUhlYWRlci0tbGlnaHQgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd246aG92ZXIgLkhlYWRlck5hdl9fbGFiZWwsXG4gIC5TaXRlSGVhZGVyLS1saWdodCAuSGVhZGVyTmF2X19pdGVtLS1kcm9wZG93bjpob3ZlciAuSGVhZGVyTmF2X19jaGV2cm9uLCAuU2l0ZUhlYWRlci0tbGlnaHQgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd246Zm9jdXMtd2l0aGluIC5IZWFkZXJOYXZfX2xpbmssIC5TaXRlSGVhZGVyLS1saWdodCAuSGVhZGVyTmF2X19pdGVtLS1kcm9wZG93bjpmb2N1cy13aXRoaW4gLkhlYWRlck5hdl9fbGFiZWwsXG4gIC5TaXRlSGVhZGVyLS1saWdodCAuSGVhZGVyTmF2X19pdGVtLS1kcm9wZG93bjpmb2N1cy13aXRoaW4gLkhlYWRlck5hdl9fY2hldnJvbiB7XG4gICAgY29sb3I6ICNlNmU2ZTY7IH1cbiAgLlNpdGVIZWFkZXJfX2dyaWQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuU2l0ZUhlYWRlcl9fbG9nbyB7XG4gICAgY29sb3I6ICMzZDQ3NWY7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAuU2l0ZUhlYWRlcl9fbG9nbzpob3ZlciwgLlNpdGVIZWFkZXJfX2xvZ286Zm9jdXMge1xuICAgICAgY29sb3I6ICMzYjY1Y2Y7IH1cbiAgLlNpdGVIZWFkZXJfX25hdiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuU2l0ZUhlYWRlcl9fbmF2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5TaXRlSGVhZGVyX19idXR0b24ge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlNpdGVIZWFkZXJfX2J1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuU2l0ZUhlYWRlcl9faGFtYnVyZ2VyIHtcbiAgICBmb250LXNpemU6IDA7XG4gICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgc2l6ZTogNDdweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5TaXRlSGVhZGVyX19oYW1idXJnZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5TaXRlSGVhZGVyX19oYW1idXJnZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTZweDsgfSB9XG5cbi5IZWFkZXJOYXZfX2l0ZW0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLkhlYWRlck5hdl9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM2cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuSGVhZGVyTmF2X19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMycHg7IH0gfVxuICAuSGVhZGVyTmF2X19pdGVtLS1kcm9wZG93biB7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gICAgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd246aG92ZXIgLkhlYWRlck5hdl9fbGluaywgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd246aG92ZXIgLkhlYWRlck5hdl9fbGFiZWwsIC5IZWFkZXJOYXZfX2l0ZW0tLWRyb3Bkb3duOmZvY3VzLXdpdGhpbiAuSGVhZGVyTmF2X19saW5rLCAuSGVhZGVyTmF2X19pdGVtLS1kcm9wZG93bjpmb2N1cy13aXRoaW4gLkhlYWRlck5hdl9fbGFiZWwge1xuICAgICAgY29sb3I6ICMyYTRmYWQ7IH1cbiAgICAuSGVhZGVyTmF2X19pdGVtLS1kcm9wZG93bjpob3ZlciAuSGVhZGVyTmF2X19kcm9wZG93biwgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd246Zm9jdXMtd2l0aGluIC5IZWFkZXJOYXZfX2Ryb3Bkb3duIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAuSGVhZGVyTmF2X19pdGVtLS1kcm9wZG93bjpob3ZlciAuSGVhZGVyTmF2X19jaGV2cm9uLCAuSGVhZGVyTmF2X19pdGVtLS1kcm9wZG93bjpmb2N1cy13aXRoaW4gLkhlYWRlck5hdl9fY2hldnJvbiB7XG4gICAgICBjb2xvcjogIzNkNDc1ZjtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZyk7IH1cbiAgLkhlYWRlck5hdl9faXRlbS0tYWN0aXZlIC5IZWFkZXJOYXZfX2xpbmssIC5IZWFkZXJOYXZfX2l0ZW0tLWFjdGl2ZSAuSGVhZGVyTmF2X19sYWJlbCB7XG4gICAgY29sb3I6ICMzYjY1Y2Y7IH1cblxuLkhlYWRlck5hdl9fbGluaywgLkhlYWRlck5hdl9fbGFiZWwge1xuICBjb2xvcjogIzNkNDc1ZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA3MTU7XG4gIHBhZGRpbmc6IDE2cHggMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dDsgfVxuXG4uSGVhZGVyTmF2X19saW5rOmhvdmVyLCAuSGVhZGVyTmF2X19saW5rOmZvY3VzIHtcbiAgY29sb3I6ICMyYTRmYWQ7IH1cblxuLkhlYWRlck5hdl9fY2hldnJvbiB7XG4gIGNvbG9yOiAjODY4Njg2O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNzVzIDAuMzVzIGVhc2Utb3V0LCBjb2xvciAwLjJzIGVhc2Utb3V0OyB9XG5cbi5IZWFkZXJOYXZfX2Ryb3Bkb3duIHtcbiAgbGVmdDogMDtcbiAgbWluLXdpZHRoOiA0NTBweDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XG4gIHRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMzVzO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIHZpc2liaWxpdHk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7IH1cblxuLkhlYWRlck5hdl9fZHJvcGRvd25Jbm5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkY2RmZTQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDIwcHggMzFweCByZ2JhKDg4LCA5MiwgMTc3LCAwLjEzKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMjRweDsgfVxuXG4uSGVhZGVyTmF2X19kcm9wZG93bkl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cblxuLkhlYWRlck5hdl9fZHJvcGRvd25JdGVtLS1hY3RpdmUgLkhlYWRlck5hdl9fZHJvcGRvd25MaW5rLCAuSGVhZGVyTmF2X19kcm9wZG93bkl0ZW0tLWFjdGl2ZSAuSGVhZGVyTmF2X19kcm9wZG93bkxhYmVsIHtcbiAgY29sb3I6ICMzYjY1Y2Y7IH1cblxuLkhlYWRlck5hdl9fZHJvcGRvd25MaW5rLCAuSGVhZGVyTmF2X19kcm9wZG93bkxhYmVsIHtcbiAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5IZWFkZXJOYXZfX2Ryb3Bkb3duTGluazpob3ZlciwgLkhlYWRlck5hdl9fZHJvcGRvd25MaW5rOmZvY3VzIHtcbiAgY29sb3I6ICMzZDQ3NWY7IH1cblxuLlNpdGVGb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYmVkO1xuICBwYWRkaW5nOiA0NXB4IDAgMzBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuU2l0ZUZvb3RlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4OyB9IH1cbiAgLlNpdGVGb290ZXJfX2dyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJmaXJzdCBuYXYgc2VydmljZXMgbGFzdFwiO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIGF1dG8pIDFmciBhdXRvOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuU2l0ZUZvb3Rlcl9fZ3JpZCB7XG4gICAgICAgIGdyaWQtY29sdW1uLWdhcDogMjRweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImZpcnN0IHNlcnZpY2VzIGxhc3RcIiBcIm5hdiBzZXJ2aWNlcyBsYXN0XCI7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlNpdGVGb290ZXJfX2dyaWQge1xuICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDE2cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlNpdGVGb290ZXJfX2dyaWQge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJmaXJzdFwiIFwibmF2XCIgXCJzZXJ2aWNlc1wiIFwibGFzdFwiOyB9IH1cbiAgICAuU2l0ZUZvb3Rlcl9fZ3JpZC0tYm90dG9tIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgICAgLlNpdGVGb290ZXJfX2dyaWQtLWJvdHRvbSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cbiAgLlNpdGVGb290ZXJfX2NvbHVtbi0tZmlyc3Qge1xuICAgIGdyaWQtYXJlYTogZmlyc3Q7IH1cbiAgLlNpdGVGb290ZXJfX2NvbHVtbi0tbGFzdCB7XG4gICAgZ3JpZC1hcmVhOiBsYXN0O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLlNpdGVGb290ZXJfX2NvbHVtbi0tbGFzdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuU2l0ZUZvb3Rlcl9fY29sdW1uLS1sYXN0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5TaXRlRm9vdGVyX19jb2x1bW4tLWxhc3Qge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOiA2NnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLlNpdGVGb290ZXJfX2xvZ28ge1xuICAgIGNvbG9yOiAjM2Q0NzVmO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLlNpdGVGb290ZXJfX2xvZ286aG92ZXIsIC5TaXRlRm9vdGVyX19sb2dvOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjM2I2NWNmOyB9XG4gIC5TaXRlRm9vdGVyX19jb3B5cmlnaHQge1xuICAgIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMwNzU7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIG1heC13aWR0aDogMTYwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5TaXRlRm9vdGVyX19jb3B5cmlnaHQge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH0gfVxuICAuU2l0ZUZvb3Rlcl9fbmF2IHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBncmlkLWFyZWE6IG5hdjtcbiAgICBwYWRkaW5nLXg6IDc1cHggODVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5TaXRlRm9vdGVyX19uYXYge1xuICAgICAgICBwYWRkaW5nLXg6IDUwcHggNjBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuU2l0ZUZvb3Rlcl9fbmF2IHtcbiAgICAgICAgcGFkZGluZy14OiAwIDQwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlNpdGVGb290ZXJfX25hdiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlNpdGVGb290ZXJfX25hdiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7IH0gfVxuICAuU2l0ZUZvb3Rlcl9fc2VydmljZXMge1xuICAgIGdyaWQtYXJlYTogc2VydmljZXM7XG4gICAgbWF4LXdpZHRoOiA0ODBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLlNpdGVGb290ZXJfX3NlcnZpY2VzIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5TaXRlRm9vdGVyX19zZXJ2aWNlcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICAuU2l0ZUZvb3Rlcl9fcGhvbmU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG4gIC5TaXRlRm9vdGVyX19waG9uZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogXCJCZWJhcyBOZXVlXCIsIGN1cnNpdmU7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLlNpdGVGb290ZXJfX2VtYWlscyB7XG4gICAgbWFyZ2luLXRvcDogNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuU2l0ZUZvb3Rlcl9fZW1haWxzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cbiAgLlNpdGVGb290ZXJfX2VtYWlsOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAuU2l0ZUZvb3Rlcl9fZW1haWwgYSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1OyB9XG4gIC5TaXRlRm9vdGVyX19hZGRyZXNzIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xMjU7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlNpdGVGb290ZXJfX2FkZHJlc3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgLlNpdGVGb290ZXJfX2RldmVsb3BlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMDc1OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuU2l0ZUZvb3Rlcl9fZGV2ZWxvcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG4gICAgLlNpdGVGb290ZXJfX2RldmVsb3BlciBzcGFuIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuICAuU2l0ZUZvb3Rlcl9fbGlua3Mge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuU2l0ZUZvb3Rlcl9fbGluazpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLlNpdGVGb290ZXJfX2xpbmsgYSB7XG4gICAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMwNzU7IH1cbiAgICAuU2l0ZUZvb3Rlcl9fbGluayBhOmhvdmVyLCAuU2l0ZUZvb3Rlcl9fbGluayBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjM2I2NWNmOyB9XG5cbi5Gb290ZXJOYXZfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLkZvb3Rlck5hdl9faXRlbS0tYWN0aXZlIC5Gb290ZXJOYXZfX2lubmVyIHtcbiAgY29sb3I6ICMzYjY1Y2Y7IH1cblxuYS5Gb290ZXJOYXZfX2lubmVyOmhvdmVyLCBhLkZvb3Rlck5hdl9faW5uZXI6Zm9jdXMge1xuICBjb2xvcjogIzI1NDY5ODsgfVxuXG4uRm9vdGVyU2VydmljZXNfX2xpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMTVweCA1MnB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuRm9vdGVyU2VydmljZXNfX2xpc3Qge1xuICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAzMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkZvb3RlclNlcnZpY2VzX19saXN0IHtcbiAgICAgIGdyaWQtY29sdW1uLWdhcDogMjRweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Gb290ZXJTZXJ2aWNlc19fbGlzdCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Gb290ZXJTZXJ2aWNlc19fbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cblxuLkZvb3RlclNlcnZpY2VzX19pbm5lciB7XG4gIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE2NjsgfVxuXG4ub2ZmQ2FudmFzLW1vZGVsW2lkPVwib2ZmLWNhbnZhc1wiXTpjaGVja2VkIH4gLm9mZkNhbnZhcy1sYXllciwgLm9mZkNhbnZhcy1tb2RlbFtpZD1cIm9mZi1jYW52YXNcIl06Y2hlY2tlZCB+ICogLm9mZkNhbnZhcy1sYXllciB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLm9mZkNhbnZhcy1tb2RlbFtpZD1cIm9mZi1jYW52YXNcIl06Y2hlY2tlZCB+IC5vZmZDYW52YXMtYmFja2dyb3VuZExheWVyLCAub2ZmQ2FudmFzLW1vZGVsW2lkPVwib2ZmLWNhbnZhc1wiXTpjaGVja2VkIH4gKiAub2ZmQ2FudmFzLWJhY2tncm91bmRMYXllciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5vZmZDYW52YXMtbW9kZWwge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5vZmZDYW52YXMtbW9kZWxbaWQ9XCJvZmYtY2FudmFzXCJdOmNoZWNrZWQgfiAub2ZmQ2FudmFzLWJhY2tkcm9wW2Zvcj1cIm9mZi1jYW52YXNcIl0ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLm9mZkNhbnZhcy1sYXllciB7XG4gIGZpeGVkOiB0b3AgcmlnaHQ7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHdpZHRoOiAyODBweDtcbiAgei1pbmRleDogMTE7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyODBweCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgdmlzaWJpbGl0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAub2ZmQ2FudmFzLWxheWVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gICAgLm9mZkNhbnZhcy1sYXllciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH0gfVxuXG4ub2ZmQ2FudmFzLWJhY2tkcm9wIHtcbiAgZml4ZWQ6IHRvcCBsZWZ0O1xuICBzaXplOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB2aXNpYmlsaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzOyB9XG5cbi5vZmZDYW52YXMtYmFja2dyb3VuZExheWVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41czsgfVxuXG4uU2l0ZU9mZkNhbnZhcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuU2l0ZU9mZkNhbnZhc19faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLlNpdGVPZmZDYW52YXNfX25hdmlnYXRpb24ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW4tdG9wOiA3OHB4OyB9XG4gIC5TaXRlT2ZmQ2FudmFzX19jbG9zZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHNpemU6IDQ3cHg7IH1cbiAgLlNpdGVPZmZDYW52YXNfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjsgfVxuICAuU2l0ZU9mZkNhbnZhc19faW1hZ2Uge1xuICAgIHotaW5kZXg6IDE7IH1cblxuLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5TaXRlT2ZmQ2FudmFzTmF2aWdhdGlvbl9faXRlbS0tYWN0aXZlIC5TaXRlT2ZmQ2FudmFzTmF2aWdhdGlvbl9faW5uZXIge1xuICBjb2xvcjogIzNiNjVjZjsgfVxuXG4uU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2lubmVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2NoZWNrYm94OmNoZWNrZWQgfiAuU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2Ryb3Bkb3duIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19jaGVja2JveDpjaGVja2VkICsgLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19pbm5lciAuU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2NoZXZyb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTsgfVxuXG4uU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2Ryb3Bkb3duIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4uU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2Ryb3Bkb3duSXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4uU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2Ryb3Bkb3duSXRlbS0tYWN0aXZlIC5TaXRlT2ZmQ2FudmFzTmF2aWdhdGlvbl9fZHJvcGRvd25Jbm5lciB7XG4gIGNvbG9yOiAjM2I2NWNmOyB9XG5cbi5TaXRlT2ZmQ2FudmFzTmF2aWdhdGlvbl9fZHJvcGRvd25Jbm5lciB7XG4gIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE2NjY7IH1cblxuLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19jaGV2cm9uIHtcbiAgbWFyZ2luLWxlZnQ6IDlweDtcbiAgbWFyZ2luLXRvcDogLTRweDtcbiAgdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNzVzIGVhc2Utb3V0OyB9XG5cbi5vZmZDYW52YXMtbW9kZWwge1xuICBkaXNwbGF5OiBpbml0aWFsO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDsgfVxuXG4ub2ZmQ2FudmFzLWxheWVyIHtcbiAgcGFkZGluZzogMTVweCAxNnB4IDQwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MjRweCkge1xuICAgIC5vZmZDYW52YXMtbGF5ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uU2l0ZUZvcm1fX2dyaWQge1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxNnB4IDMycHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLlNpdGVGb3JtX19ncmlkIHtcbiAgICAgIGdyaWQtY29sdW1uLWdhcDogMjRweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5TaXRlRm9ybV9fZ3JpZCB7XG4gICAgICBncmlkLWNvbHVtbi1nYXA6IDE2cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuU2l0ZUZvcm1fX2dyaWQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfVxuICAuU2l0ZUZvcm1fX2dyaWQtLXZlcnRpY2FsIHtcbiAgICBncmlkLWdhcDogMTZweDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfVxuICAuU2l0ZUZvcm1fX2dyaWQgPiAqIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cblxuLlNpdGVGb3JtX19jb250cm9sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuU2l0ZUZvcm1fX2NvbnRyb2wtLXNpbmdsZSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuU2l0ZUZvcm1fX2NvbnRyb2wtLXNpbmdsZSB7XG4gICAgICAgIGdyaWQtY29sdW1uLWVuZDogLTE7XG4gICAgICAgIGdyaWQtcm93OiAxIC8gLTE7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlNpdGVGb3JtX19jb250cm9sLS1zaW5nbGUge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG4uU2l0ZUZvcm1fX2xhYmVsIHtcbiAgY29sb3I6ICM4Njg2ODY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gIG9yZGVyOiAtMTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuU2l0ZUZvcm1fX2xhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7IH0gfVxuXG4uU2l0ZUZvcm1fX2lucHV0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuU2l0ZUZvcm1fX2lucHV0IHtcbiAgICAgIHBhZGRpbmcteDogMTZweDsgfSB9XG4gIC5TaXRlRm9ybV9faW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzNiNjVjZjsgfVxuICAgIC5TaXRlRm9ybV9faW5wdXQ6Zm9jdXMgKyAuU2l0ZUZvcm1fX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAjM2I2NWNmOyB9XG4gIC5TaXRlRm9ybV9faW5wdXQ6ZGlzYWJsZWQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzg2ODY4NjsgfVxuICAuU2l0ZUZvcm1fX2lucHV0LmlzLWludmFsaWQge1xuICAgIGJvcmRlci1jb2xvcjogI2ViNjI2MjsgfVxuXG4uU2l0ZUZvcm1fX2NoZWNrYm94V3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLlNpdGVGb3JtX19jaGVja2JveCB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDRweDsgfVxuXG4uU2l0ZUZvcm1fX2Zvb3RlciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tdG9wOiAxNnB4OyB9XG5cbi5TaXRlRm9ybV9fYWdyZWVtZW50IHtcbiAgY29sb3I6IHJnYmEoMjEsIDQyLCA3MSwgMC43KTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zMzM7XG4gIG1heC13aWR0aDogNDgwcHg7XG4gIHBhZGRpbmctdG9wOiAycHg7IH1cbiAgLlNpdGVGb3JtX19hZ3JlZW1lbnQgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuU2l0ZUZvcm1fX2FncmVlbWVudCBhOmhvdmVyLCAuU2l0ZUZvcm1fX2FncmVlbWVudCBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjM2I2NWNmOyB9XG5cbi5TaXRlRm9ybV9fYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAgbWluLXdpZHRoOiBhdXRvO1xuICBwYWRkaW5nOiAwIDMycHg7IH1cblxuLlNpdGVGb3JtX190ZXh0YXJlYSB7XG4gIG1heC1oZWlnaHQ6IDUyMHB4O1xuICBtaW4taGVpZ2h0OiAxMzBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuU2l0ZUZvcm1fX3RleHRhcmVhIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4OyB9IH1cbiAgLlNpdGVGb3JtX190ZXh0YXJlYS0tZnVsbCB7XG4gICAgbWluLWhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlNpdGVGb3JtX190ZXh0YXJlYS0tZnVsbCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4OyB9IH1cblxuLkJ1dHRvbkFycm93IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICMzZDQ3NWY7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTUzODU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7IH1cbiAgYS5CdXR0b25BcnJvdzpob3ZlciwgYS5CdXR0b25BcnJvdzpmb2N1cyB7XG4gICAgY29sb3I6ICMzYjY1Y2Y7IH1cbiAgICBhLkJ1dHRvbkFycm93OmhvdmVyIC5CdXR0b25BcnJvd19fY2lyY2xlLCBhLkJ1dHRvbkFycm93OmZvY3VzIC5CdXR0b25BcnJvd19fY2lyY2xlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOyB9XG4gIC5CdXR0b25BcnJvd19fY2lyY2xlIHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkJ1dHRvbkFycm93X19jaXJjbGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfSB9XG5cbi5CYWNrQnV0dG9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICMzZDQ3NWY7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTUzODU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7IH1cbiAgLkJhY2tCdXR0b246aG92ZXIgLkJhY2tCdXR0b25fX2NpcmNsZSwgLkJhY2tCdXR0b246Zm9jdXMgLkJhY2tCdXR0b25fX2NpcmNsZSB7XG4gICAgY29sb3I6ICMzYjY1Y2Y7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XG4gIC5CYWNrQnV0dG9uX19jaXJjbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWViZWQ7XG4gICAgY29sb3I6ICMzZDQ3NWY7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuQmFja0J1dHRvbl9fY2lyY2xlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IH1cbiAgICAuQmFja0J1dHRvbl9fY2lyY2xlIHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7IH1cblxuLlNpdGVHYWxsZXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5TaXRlR2FsbGVyeV9fc2xpZGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5TaXRlR2FsbGVyeV9faW1hZ2Uge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjIwNjklO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5TaXRlR2FsbGVyeV9fY29udHJvbHMge1xuICAgIGJvdHRvbTogNTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5TaXRlR2FsbGVyeV9fY29udHJvbHMge1xuICAgICAgICBib3R0b206IDQwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlNpdGVHYWxsZXJ5X19jb250cm9scyB7XG4gICAgICAgIGJvdHRvbTogMzBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuU2l0ZUdhbGxlcnlfX2NvbnRyb2xzIHtcbiAgICAgICAgYm90dG9tOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAgIC5TaXRlR2FsbGVyeV9fY29udHJvbHMge1xuICAgICAgICBib3R0b206IDE2cHg7IH0gfVxuICAuU2l0ZUdhbGxlcnlfX2J1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uUHJvamVjdENhcmQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuUHJvamVjdENhcmQ6aG92ZXIgLlByb2plY3RDYXJkX190aXRsZSxcbiAgLlByb2plY3RDYXJkOmhvdmVyIC5CdXR0b25BcnJvdywgLlByb2plY3RDYXJkOmZvY3VzIC5Qcm9qZWN0Q2FyZF9fdGl0bGUsXG4gIC5Qcm9qZWN0Q2FyZDpmb2N1cyAuQnV0dG9uQXJyb3cge1xuICAgIGNvbG9yOiAjM2I2NWNmOyB9XG4gIC5Qcm9qZWN0Q2FyZDpob3ZlciAuQnV0dG9uQXJyb3dfX2NpcmNsZSwgLlByb2plY3RDYXJkOmZvY3VzIC5CdXR0b25BcnJvd19fY2lyY2xlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsgfVxuICAuUHJvamVjdENhcmQ6aG92ZXIgLlByb2plY3RDYXJkX19pbWFnZSBpbWcsIC5Qcm9qZWN0Q2FyZDpmb2N1cyAuUHJvamVjdENhcmRfX2ltYWdlIGltZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTsgfVxuICAuUHJvamVjdENhcmRfX2ltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDcxLjg5NTQyJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLlByb2plY3RDYXJkX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlByb2plY3RDYXJkX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlByb2plY3RDYXJkX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH0gfVxuICAgIC5Qcm9qZWN0Q2FyZF9faW1hZ2U6OmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDMwcHggMTAwcHggcmdiYSg4OCwgOTIsIDE3NywgMC4zKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICB3aWR0aDogOTEuMTUlO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5Qcm9qZWN0Q2FyZF9faW1hZ2UgaW1nIHtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgLlByb2plY3RDYXJkX19vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzLCAxMDAsIDE3MiwgMC4xKTtcbiAgICB6LWluZGV4OiAzOyB9XG4gIC5Qcm9qZWN0Q2FyZF9fZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI4NTsgfVxuICAuUHJvamVjdENhcmRfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7IH1cbiAgLlByb2plY3RDYXJkX19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLlBhZ2VGaWx0ZXJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gIG1hcmdpbi1ib3R0b206IC0xOHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5QYWdlRmlsdGVycyB7XG4gICAgICBtYXJnaW4teDogLTE2cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuUGFnZUZpbHRlcnMge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMTZweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfSB9XG4gIC5QYWdlRmlsdGVyc19faXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5QYWdlRmlsdGVyc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlBhZ2VGaWx0ZXJzX19pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9IH1cbiAgICAuUGFnZUZpbHRlcnNfX2l0ZW0tLWFjdGl2ZSAuUGFnZUZpbHRlcnNfX2lubmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjY1Y2Y7XG4gICAgICBjb2xvcjogd2hpdGU7IH1cbiAgLlBhZ2VGaWx0ZXJzX19pbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWJlZDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuICAgIGEuUGFnZUZpbHRlcnNfX2lubmVyOmhvdmVyLCBhLlBhZ2VGaWx0ZXJzX19pbm5lcjpmb2N1cyB7XG4gICAgICBjb2xvcjogIzNiNjVjZjsgfVxuXG4uQ29uc3VsdGF0aW9uIHtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QzZDVkOTtcbiAgcGFkZGluZzogNjBweCA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkNvbnN1bHRhdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDM1cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuQ29uc3VsdGF0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMjBweDsgfSB9XG4gIC5Db25zdWx0YXRpb246OmFmdGVyIHtcbiAgICB6LWluZGV4OiA0OyB9XG4gIC5Db25zdWx0YXRpb246OmJlZm9yZSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgMzBweCA0MHB4IHJnYmEoODgsIDkyLCAxNzcsIDAuMDgpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiA4OC41JTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogOTUlO1xuICAgIHotaW5kZXg6IC0xOyB9XG4gIC5Db25zdWx0YXRpb25fX292ZXJsYXkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5NWRlZywgI2ZhZmFmYSAwJSwgI2ZhZmFmYSA1Mi41JSwgcmdiYSgyNTAsIDI1MCwgMjUwLCAwKSAxMDAlKTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5Db25zdWx0YXRpb25fX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzOyB9XG4gIC5Db25zdWx0YXRpb25fX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDQ0NDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuQ29uc3VsdGF0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuQ29uc3VsdGF0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU7IH0gfVxuICAuQ29uc3VsdGF0aW9uX19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Db25zdWx0YXRpb25fX2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuICAuQ29uc3VsdGF0aW9uX19pbWFnZSB7XG4gICAgei1pbmRleDogMTsgfVxuXG4uTG9jYWxlUGlja2VyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDMycHggcmdiYSg4OCwgOTIsIDE3NywgMC4yNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDExcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkxvY2FsZVBpY2tlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBzaXplOiA0N3B4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLkxvY2FsZVBpY2tlcjpob3ZlciwgLkxvY2FsZVBpY2tlcjpmb2N1cy13aXRoaW4ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAgIC5Mb2NhbGVQaWNrZXI6aG92ZXIgLkxvY2FsZVBpY2tlcl9faXRlbSwgLkxvY2FsZVBpY2tlcjpmb2N1cy13aXRoaW4gLkxvY2FsZVBpY2tlcl9faXRlbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Mb2NhbGVQaWNrZXIuLS1hY3RpdmUge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAgIC5Mb2NhbGVQaWNrZXIuLS1hY3RpdmUgLkxvY2FsZVBpY2tlcl9faXRlbSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG4gIC5Mb2NhbGVQaWNrZXJfX2l0ZW0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Mb2NhbGVQaWNrZXJfX2l0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNkNWQ5O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Mb2NhbGVQaWNrZXJfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgICAgIC5Mb2NhbGVQaWNrZXJfX2l0ZW06Zmlyc3QtY2hpbGQgLkxvY2FsZVBpY2tlcl9faW5uZXIge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuTG9jYWxlUGlja2VyX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7IH1cbiAgICAgICAgLkxvY2FsZVBpY2tlcl9faXRlbTpub3QoOmZpcnN0LWNoaWxkKSAuTG9jYWxlUGlja2VyX19pbm5lciB7XG4gICAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuTG9jYWxlUGlja2VyX19pdGVtLS1hY3RpdmUgLkxvY2FsZVBpY2tlcl9faW5uZXIge1xuICAgICAgY29sb3I6ICMzZDQ3NWY7IH1cbiAgLkxvY2FsZVBpY2tlcl9faW5uZXIge1xuICAgIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuNSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA3MTU7XG4gICAgcGFkZGluZzogNXB4OyB9XG4gIC5Mb2NhbGVQaWNrZXJfX2Fycm93IHtcbiAgICBjb2xvcjogIzNkNDc1ZjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgICAgIC5Mb2NhbGVQaWNrZXJfX2Fycm93IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuTG9jYWxlUGlja2VyX19hcnJvdyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDsgfSB9XG5cbi5GZWF0dXJlZFNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuRmVhdHVyZWRTbGlkZXJfX2ltYWdlIHtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5GZWF0dXJlZFNsaWRlcl9fY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTAwLCAxNzIsIDAuMSk7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBwYWRkaW5nOiAxNjBweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5GZWF0dXJlZFNsaWRlcl9fY29udGFpbmVyLCAuRmVhdHVyZWRTbGlkZXJfX2dyaWQge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuRmVhdHVyZWRTbGlkZXJfX2dyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuRmVhdHVyZWRTbGlkZXJfX3RpdGxlIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiA1LjYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMC45O1xuICAgIG1heC13aWR0aDogODEycHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5GZWF0dXJlZFNsaWRlcl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDQuNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuRmVhdHVyZWRTbGlkZXJfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkZlYXR1cmVkU2xpZGVyX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg1NzE1OyB9IH1cbiAgLkZlYXR1cmVkU2xpZGVyX19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuRmVhdHVyZWRTbGlkZXJfX3BhbmVsIHtcbiAgICBib3R0b206IDUycHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMzsgfVxuXG4uRmVhdHVyZWRTbGlkZXJQYW5lbCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5GZWF0dXJlZFNsaWRlclBhbmVsX19ncmlkIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5GZWF0dXJlZFNsaWRlclBhbmVsX19pbm5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKGNhbGMoMTAwJSAtIDIwcHgpIDAsIDEwMCUgNTAlLCBjYWxjKDEwMCUgLSAyMHB4KSAxMDAlLCAwIDEwMCUsIDAgMjBweCwgMCAwKTtcbiAgICBjb3VudGVyLXJlc2V0OiBmZWF0dXJlZC1zbGlkZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX2lubmVyIHtcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKGNhbGMoMTAwJSAtIDEwcHgpIDAsIDEwMCUgNTAlLCBjYWxjKDEwMCUgLSAxMHB4KSAxMDAlLCAwIDEwMCUsIDAgMCk7IH0gfVxuICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9faXRlbSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb3VudGVyLWluY3JlbWVudDogZmVhdHVyZWQtc2xpZGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMjZweCA1OXB4IDIwcHggMjNweDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAxNnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5GZWF0dXJlZFNsaWRlclBhbmVsX19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzc0cHgpIHtcbiAgICAgIC5GZWF0dXJlZFNsaWRlclBhbmVsX19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMTFweCAxMnB4IDEwcHg7IH0gfVxuICAgIC5GZWF0dXJlZFNsaWRlclBhbmVsX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpLi0tYWN0aXZlIH4gLkZlYXR1cmVkU2xpZGVyUGFuZWxfX3J1bm5lciB7XG4gICAgICBjbGlwLXBhdGg6IHBvbHlnb24oY2FsYygxMDAlIC0gMTBweCkgMCwgMTAwJSA1MCUsIGNhbGMoMTAwJSAtIDEwcHgpIDEwMCUsIDAgMTAwJSwgMTBweCA1MCUsIDAgMCk7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9faXRlbTpub3QoOmZpcnN0LWNoaWxkKS4tLWFjdGl2ZSB+IC5GZWF0dXJlZFNsaWRlclBhbmVsX19ydW5uZXIge1xuICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbihjYWxjKDEwMCUgLSAxMHB4KSAwLCAxMDAlIDUwJSwgY2FsYygxMDAlIC0gMTBweCkgMTAwJSwgMCAxMDAlLCA1cHggNTAlLCAwIDApOyB9IH1cbiAgICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9faXRlbTpudGgtY2hpbGQoMikuLS1hY3RpdmUgfiAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fcnVubmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAgIC5GZWF0dXJlZFNsaWRlclBhbmVsX19pdGVtOm50aC1jaGlsZCgzKS4tLWFjdGl2ZSB+IC5GZWF0dXJlZFNsaWRlclBhbmVsX19ydW5uZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMCUpOyB9XG4gICAgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX2l0ZW0uLS1hY3RpdmUgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX251bWJlciB7XG4gICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOyB9XG4gICAgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX2l0ZW0uLS1hY3RpdmUgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX3RleHQge1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gIC5GZWF0dXJlZFNsaWRlclBhbmVsX19udW1iZXIge1xuICAgIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODU3MTU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fbnVtYmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX251bWJlcjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiMFwiIGNvdW50ZXIoZmVhdHVyZWQtc2xpZGVyKTsgfVxuICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fdGV4dCB7XG4gICAgY29sb3I6ICMzZDQ3NWY7XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA3MTU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5GZWF0dXJlZFNsaWRlclBhbmVsX190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5GZWF0dXJlZFNsaWRlclBhbmVsX190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMzc0cHgpIHtcbiAgICAgIC5GZWF0dXJlZFNsaWRlclBhbmVsX190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIC5GZWF0dXJlZFNsaWRlclBhbmVsX19ydW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjY1Y2Y7XG4gICAgY2xpcC1wYXRoOiBwb2x5Z29uKGNhbGMoMTAwJSAtIDIwcHgpIDAsIDEwMCUgNTAlLCBjYWxjKDEwMCUgLSAyMHB4KSAxMDAlLCAwIDEwMCUsIDAgMjBweCwgMCAwKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBjbGlwLXBhdGg7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fcnVubmVyIHtcbiAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKGNhbGMoMTAwJSAtIDEwcHgpIDAsIDEwMCUgNTAlLCBjYWxjKDEwMCUgLSAxMHB4KSAxMDAlLCAwIDEwMCUsIDAgMCk7IH0gfVxuXG4uRmVhdHVyZWRTbGlkZXJTY3JvbGwge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4xNTM4NTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkZlYXR1cmVkU2xpZGVyU2Nyb2xsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuRmVhdHVyZWRTbGlkZXJTY3JvbGw6aG92ZXIgLkZlYXR1cmVkU2xpZGVyU2Nyb2xsX19jaXJjbGUsIC5GZWF0dXJlZFNsaWRlclNjcm9sbDpmb2N1cyAuRmVhdHVyZWRTbGlkZXJTY3JvbGxfX2NpcmNsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCk7IH1cbiAgLkZlYXR1cmVkU2xpZGVyU2Nyb2xsX19jaXJjbGUge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gIC5GZWF0dXJlZFNsaWRlclNjcm9sbF9fY2lyY2xlSW5uZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWig5MGRlZyk7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5QYXJ0bmVyc19fY29udGFpbmVyIHtcbiAgICBtYXJnaW4teDogLTE2cHg7IH0gfVxuXG4uUGFydG5lcnNfX3NsaWRlIHtcbiAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDYgKyAyLjY2NjY3cHgpO1xuICBoZWlnaHQ6IGF1dG87IH1cbiAgLlBhcnRuZXJzX19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5QYXJ0bmVyc19fc2xpZGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA1ICsgMy4ycHgpOyB9XG4gICAgICAuUGFydG5lcnNfX3NsaWRlOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLlBhcnRuZXJzX19zbGlkZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQgKyA0cHgpOyB9XG4gICAgICAuUGFydG5lcnNfX3NsaWRlOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlBhcnRuZXJzX19zbGlkZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgKyA1LjMzMzMzcHgpOyB9XG4gICAgICAuUGFydG5lcnNfX3NsaWRlOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQyNXB4KSB7XG4gICAgLlBhcnRuZXJzX19zbGlkZTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2Q1ZDk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogLTJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAuUGFydG5lcnNfX3NsaWRlIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgbWF4LXdpZHRoOiA5NnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MjVweCkge1xuICAgIC5QYXJ0bmVyc19fc2xpZGU6bm90KDpmaXJzdC1jaGlsZCkgLlBhcnRuZXJzX19pbWFnZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTZweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MjRweCkge1xuICAgIC5QYXJ0bmVyc19fc2xpZGU6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7IH0gfVxuXG4uUGFydG5lcnNfX25hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW4tdG9wOiAxMnB4OyB9XG5cbi5Ib21lQWJvdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVBYm91dCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDhweDsgfSB9XG4gIC5Ib21lQWJvdXRfX2dyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5Ib21lQWJvdXRfX2dyaWQge1xuICAgICAgICBtYXJnaW4tdG9wOiAzNXB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Ib21lQWJvdXRfX2dyaWQge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Ib21lQWJvdXRfX2dyaWQge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Ib21lQWJvdXRfX2dyaWQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgLkhvbWVBYm91dF9fY29sdW1uLS1sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLkhvbWVBYm91dF9fY29sdW1uLS1sZWZ0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzJweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuSG9tZUFib3V0X19jb2x1bW4tLWxlZnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Ib21lQWJvdXRfX2NvbHVtbi0tbGVmdCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVBYm91dF9fY29sdW1uLS1sZWZ0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC5Ib21lQWJvdXRfX2NvbHVtbi0tcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwOHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLkhvbWVBYm91dF9fY29sdW1uLS1yaWdodCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkhvbWVBYm91dF9fY29sdW1uLS1yaWdodCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAuSG9tZUFib3V0X190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuSG9tZUFib3V0X19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Ib21lQWJvdXRfX2J1dHRvbiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfVxuICAuSG9tZUFib3V0X19kZXNjcmlwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiA2MTRweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVBYm91dF9fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cblxuLkhvbWVOdW1iZXJzX19ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IDMycHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5Ib21lTnVtYmVyc19fZ3JpZCB7XG4gICAgICBncmlkLWdhcDogMjRweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5Ib21lTnVtYmVyc19fZ3JpZCB7XG4gICAgICBncmlkLWdhcDogMjBweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuSG9tZU51bWJlcnNfX2dyaWQge1xuICAgICAgZ3JpZC1nYXA6IDIwcHggMTZweDsgfSB9XG5cbi5Ib21lTnVtYmVyc19faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuSG9tZU51bWJlcnNfX2l0ZW0gLk9yZGVyZWRDYXJkIHtcbiAgICBzaXplOiAxMDAlOyB9XG5cbi5PcmRlcmVkQ2FyZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDNkNWQ5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMTJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5PcmRlcmVkQ2FyZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgYS5PcmRlcmVkQ2FyZDpob3ZlciAuT3JkZXJlZENhcmRfX3RpdGxlLCBhLk9yZGVyZWRDYXJkOmZvY3VzIC5PcmRlcmVkQ2FyZF9fdGl0bGUge1xuICAgIGNvbG9yOiAjM2I2NWNmOyB9XG4gIGEuT3JkZXJlZENhcmQ6aG92ZXIgLk9yZGVyZWRDYXJkX19idXR0b25JY29uLCBhLk9yZGVyZWRDYXJkOmZvY3VzIC5PcmRlcmVkQ2FyZF9fYnV0dG9uSWNvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7IH1cbiAgLk9yZGVyZWRDYXJkOjphZnRlciB7XG4gICAgYm9yZGVyOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjM2I2NWNmO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMzYjY1Y2Y7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHNpemU6IDE0cHg7IH1cbiAgLk9yZGVyZWRDYXJkX19udW1iZXIge1xuICAgIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODU3MTU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuT3JkZXJlZENhcmRfX3RpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7XG4gICAgcGFkZGluZy10b3A6IDMycHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLk9yZGVyZWRDYXJkX190aXRsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2cHg7IH0gfVxuICAuT3JkZXJlZENhcmRfX2J1dHRvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogIzNkNDc1ZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTUzODU7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuT3JkZXJlZENhcmRfX2J1dHRvbkljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICBtYXgtd2lkdGg6IDlweDtcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2Utb3V0OyB9XG5cbi5Ib21lU2VjdGlvbnNfX2l0ZW1zIHtcbiAgY291bnRlci1yZXNldDogaG9tZS1zZWN0aW9ucztcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuSG9tZVNlY3Rpb25zX19pdGVtcyB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cblxuLkhvbWVTZWN0aW9uc19faXRlbSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBob21lLXNlY3Rpb25zOyB9XG4gIC5Ib21lU2VjdGlvbnNfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTQwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Ib21lU2VjdGlvbnNfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Ib21lU2VjdGlvbnNfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Ib21lU2VjdGlvbnNfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDc0cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLkhvbWVTZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG4uSG9tZVNlY3Rpb24tLWxlZnQgLkhvbWVTZWN0aW9uX19pbWFnZUNvbnRhaW5lciB7XG4gIG9yZGVyOiAtMTsgfVxuICAuSG9tZVNlY3Rpb24tLWxlZnQgLkhvbWVTZWN0aW9uX19pbWFnZUNvbnRhaW5lcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiA4MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLkhvbWVTZWN0aW9uLS1sZWZ0IC5Ib21lU2VjdGlvbl9faW1hZ2VDb250YWluZXI6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDYwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkhvbWVTZWN0aW9uLS1sZWZ0IC5Ib21lU2VjdGlvbl9faW1hZ2VDb250YWluZXI6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDQwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVTZWN0aW9uLS1sZWZ0IC5Ib21lU2VjdGlvbl9faW1hZ2VDb250YWluZXI6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwOyB9IH1cblxuLkhvbWVTZWN0aW9uLS1sZWZ0IC5Ib21lU2VjdGlvbl9fdGl0bGUge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuSG9tZVNlY3Rpb24tLWxlZnQgLkhvbWVTZWN0aW9uX190aXRsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLkhvbWVTZWN0aW9uLS1sZWZ0IC5Ib21lU2VjdGlvbl9fY2FyZHMge1xuICBtYXJnaW4tbGVmdDogLTg0cHg7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uLS1sZWZ0IC5Ib21lU2VjdGlvbl9fY2FyZHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuSG9tZVNlY3Rpb24tLWxlZnQgLkhvbWVTZWN0aW9uX19jYXJkcyB7XG4gICAgICBtYXJnaW4tbGVmdDogLTIwMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uLS1sZWZ0IC5Ib21lU2VjdGlvbl9fY2FyZHMge1xuICAgICAgbWFyZ2luLXg6IC0xNnB4OyB9IH1cblxuLkhvbWVTZWN0aW9uX19ncmlkIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uSG9tZVNlY3Rpb25fX2luZm8ge1xuICBmbGV4LWdyb3c6IDE7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uX19pbmZvIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLkhvbWVTZWN0aW9uX190aXRsZSB7XG4gIG1heC13aWR0aDogNzIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cblxuLkhvbWVTZWN0aW9uX19jYXJkcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAzMHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBtYXJnaW4tcmlnaHQ6IC04NHB4O1xuICBtYXJnaW4tdG9wOiAzNHB4O1xuICBtYXgtd2lkdGg6IDgzMnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgICAuSG9tZVNlY3Rpb25fX2NhcmRzIHtcbiAgICAgIGdyaWQtZ2FwOiAyNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTQwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uX19jYXJkcyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0yMDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9fY2FyZHMge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9fY2FyZHMge1xuICAgICAgZ3JpZC1nYXA6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMTZweDtcbiAgICAgIG1hcmdpbi14OiAtMTZweDtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5OyB9IH1cbiAgLkhvbWVTZWN0aW9uX19jYXJkczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE2cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5Ib21lU2VjdGlvbl9fY2FyZHM6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuSG9tZVNlY3Rpb25fX2NhcmQge1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLkhvbWVTZWN0aW9uX19jYXJkOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLkhvbWVTZWN0aW9uX19jYXJkIC5GZWF0dXJlZENhcmQge1xuICAgIG1pbi13aWR0aDogMTIwcHg7IH0gfVxuXG4uSG9tZVNlY3Rpb25fX2ltYWdlQ29udGFpbmVyIHtcbiAgZmxleC1ncm93OiAxO1xuICBtYXgtd2lkdGg6IDUxNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgICAuSG9tZVNlY3Rpb25fX2ltYWdlQ29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uX19pbWFnZUNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDM0MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uX19pbWFnZUNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDI5MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uX19pbWFnZUNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDI0MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uX19pbWFnZUNvbnRhaW5lciB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAuSG9tZVNlY3Rpb25fX2ltYWdlQ29udGFpbmVyLnVrLXNjcm9sbHNweS1pbnZpZXcgLkhvbWVTZWN0aW9uX19udW1iZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLkhvbWVTZWN0aW9uX19udW1iZXIge1xuICBtYXJnaW4tdG9wOiAtOHB4O1xuICBvcGFjaXR5OiAwO1xuICByaWdodDogODBweDtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuNzVzO1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuSG9tZVNlY3Rpb25fX251bWJlciB7XG4gICAgICByaWdodDogNjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9fbnVtYmVyIHtcbiAgICAgIHJpZ2h0OiA0MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uX19udW1iZXIge1xuICAgICAgY29sb3I6IHJnYmEoNTksIDEwMSwgMjA3LCAwLjEpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgLkhvbWVTZWN0aW9uX19udW1iZXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIwXCIgY291bnRlcihob21lLXNlY3Rpb25zKTsgfVxuXG4uSG9tZVNlY3Rpb25fX2ltYWdlIHtcbiAgcGFkZGluZy1ib3R0b206IDkyLjAyMzM1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9faW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5GZWF0dXJlZENhcmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDE0NS4zNTUxOSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBhLkZlYXR1cmVkQ2FyZDpob3ZlciAuRmVhdHVyZWRDYXJkX190aXRsZSwgYS5GZWF0dXJlZENhcmQ6Zm9jdXMgLkZlYXR1cmVkQ2FyZF9fdGl0bGUge1xuICAgIGNvbG9yOiAjM2I2NWNmOyB9XG4gIGEuRmVhdHVyZWRDYXJkOmhvdmVyIC5GZWF0dXJlZENhcmRfX2NpcmNsZSwgYS5GZWF0dXJlZENhcmQ6Zm9jdXMgLkZlYXR1cmVkQ2FyZF9fY2lyY2xlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsgfVxuICBhLkZlYXR1cmVkQ2FyZC0tbm9JbWFnZTpob3ZlciAuRmVhdHVyZWRDYXJkX190aXRsZSwgYS5GZWF0dXJlZENhcmQtLW5vSW1hZ2U6Zm9jdXMgLkZlYXR1cmVkQ2FyZF9fdGl0bGUge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuRmVhdHVyZWRDYXJkLS1ub0ltYWdlIC5GZWF0dXJlZENhcmRfX292ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6ICMzYjY1Y2Y7IH1cbiAgLkZlYXR1cmVkQ2FyZC0tbm9JbWFnZSAuRmVhdHVyZWRDYXJkX190aXRsZSB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC5GZWF0dXJlZENhcmRfX2ltYWdlIHtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5GZWF0dXJlZENhcmRfX292ZXJsYXkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTYuOTElLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpIDYzLjk0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKSA4Mi42MyUsIHdoaXRlIDEwMCUpO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLkZlYXR1cmVkQ2FyZF9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5GZWF0dXJlZENhcmRfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxMnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5GZWF0dXJlZENhcmRfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgLkZlYXR1cmVkQ2FyZF9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkZlYXR1cmVkQ2FyZF9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgLkZlYXR1cmVkQ2FyZF9fY2lyY2xlIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uSG9tZVByb2plY3RzX19pdGVtcyB7XG4gIG1hcmdpbi10b3A6IDkwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkhvbWVQcm9qZWN0c19faXRlbXMge1xuICAgICAgbWFyZ2luLXRvcDogNzVweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Ib21lUHJvamVjdHNfX2l0ZW1zIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuSG9tZVByb2plY3RzX19pdGVtcyB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cblxuLkhvbWVQcm9qZWN0c19faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuSG9tZVByb2plY3RzX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lUHJvamVjdHNfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9IH1cblxuLkhvbWVQcm9qZWN0c19fbW9yZSB7XG4gIG1hcmdpbi10b3A6IDExMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuSG9tZVByb2plY3RzX19tb3JlIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkhvbWVQcm9qZWN0c19fbW9yZSB7XG4gICAgICBtYXJnaW4tdG9wOiA5MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkhvbWVQcm9qZWN0c19fbW9yZSB7XG4gICAgICBtYXJnaW4tdG9wOiA3MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVQcm9qZWN0c19fbW9yZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7IH0gfVxuXG4uSG9tZVByb2plY3RzTW9yZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuSG9tZVByb2plY3RzTW9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkM2Q1ZDk7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiA0MHB4IDI2cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDM0cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuSG9tZVByb2plY3RzTW9yZTpob3ZlciAuSG9tZVByb2plY3RzTW9yZV9fY2lyY2xlLCAuSG9tZVByb2plY3RzTW9yZTpmb2N1cyAuSG9tZVByb2plY3RzTW9yZV9fY2lyY2xlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLkhvbWVQcm9qZWN0c01vcmVfX2hlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lUHJvamVjdHNNb3JlX19oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfSB9XG4gIC5Ib21lUHJvamVjdHNNb3JlX19saW5rIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVQcm9qZWN0c01vcmVfX2xpbmsge1xuICAgICAgICBtYXJnaW4tdG9wOiAtNHB4OyB9IH1cbiAgLkhvbWVQcm9qZWN0c01vcmVfX3RleHQge1xuICAgIGNvbG9yOiAjM2Q0NzVmO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTUzODU7XG4gICAgbWFyZ2luLWJvdHRvbTogOXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuSG9tZVByb2plY3RzTW9yZV9fdGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAuSG9tZVByb2plY3RzTW9yZV9fY2lyY2xlSW5uZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDkwZGVnKTsgfSB9XG5cbi5Ib21lUHJvamVjdCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmcteDogMzJweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuSG9tZVByb2plY3Qge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lUHJvamVjdCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAuSG9tZVByb2plY3QtLWxlZnQgLkhvbWVQcm9qZWN0X19pbWFnZUNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC5Ib21lUHJvamVjdC0tbGVmdCAuSG9tZVByb2plY3RfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogMTQ1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5Ib21lUHJvamVjdC0tbGVmdCAuSG9tZVByb2plY3RfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Ib21lUHJvamVjdC0tbGVmdCAuSG9tZVByb2plY3RfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDkycHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkhvbWVQcm9qZWN0LS1sZWZ0IC5Ib21lUHJvamVjdF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDhweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuSG9tZVByb2plY3QtLWxlZnQgLkhvbWVQcm9qZWN0X19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5Ib21lUHJvamVjdF9faW1hZ2VDb250YWluZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1heC13aWR0aDogNTA2cHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5Ib21lUHJvamVjdF9faW1hZ2VDb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Ib21lUHJvamVjdF9faW1hZ2VDb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Ib21lUHJvamVjdF9faW1hZ2VDb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDI2MHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMjRweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuSG9tZVByb2plY3RfX2ltYWdlQ29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1heC13aWR0aDogMjg4cHg7XG4gICAgICAgIG9yZGVyOiAtMTtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gICAgICAuSG9tZVByb2plY3RfX2ltYWdlQ29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyB9IH1cbiAgLkhvbWVQcm9qZWN0X19pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTA0Ljc0MzA4JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuSG9tZVByb2plY3RfX2ltYWdlOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWJlZDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3R0b206IDIwcHg7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB0b3A6IDIwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgICAuSG9tZVByb2plY3RfX2ltYWdlOjpiZWZvcmUge1xuICAgICAgICAgIGJvdHRvbTogMTJweDtcbiAgICAgICAgICBsZWZ0OiAxMnB4O1xuICAgICAgICAgIHJpZ2h0OiAxMnB4O1xuICAgICAgICAgIHRvcDogMTJweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgICAgLkhvbWVQcm9qZWN0X19pbWFnZTo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuSG9tZVByb2plY3RfX2ltYWdlOmhvdmVyIC5Ib21lUHJvamVjdF9faW1hZ2VJbm5lciBpbWcsIC5Ib21lUHJvamVjdF9faW1hZ2U6Zm9jdXMgLkhvbWVQcm9qZWN0X19pbWFnZUlubmVyIGltZyB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDQpOyB9XG4gIC5Ib21lUHJvamVjdF9faW1hZ2VJbm5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtNDBweDtcbiAgICBzaXplOiAxMDAlO1xuICAgIHRvcDogLTQwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Ib21lUHJvamVjdF9faW1hZ2VJbm5lciB7XG4gICAgICAgIHJpZ2h0OiAtMjRweDtcbiAgICAgICAgdG9wOiAtMjRweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuSG9tZVByb2plY3RfX2ltYWdlSW5uZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgLkhvbWVQcm9qZWN0X19pbWFnZUlubmVyIGltZyB7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHNpemU6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLkhvbWVQcm9qZWN0X19pbWFnZUlubmVyOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTAwLCAxNzIsIDAuMSk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgIC5Ib21lUHJvamVjdF9faW1hZ2VJbm5lcjo6YWZ0ZXIge1xuICAgICAgYm90dG9tOiAxLjUlO1xuICAgICAgYm94LXNoYWRvdzogMCAzMHB4IDEwMHB4IHJnYmEoODgsIDkyLCAxNzcsIDAuMyk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgc2l6ZTogODklO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgICAgLkhvbWVQcm9qZWN0X19pbWFnZUlubmVyOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5Ib21lUHJvamVjdF9fY29udGVudCB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgbWF4LXdpZHRoOiA1MDZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDc0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTZweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5Ib21lUHJvamVjdF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNjRweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuSG9tZVByb2plY3RfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkhvbWVQcm9qZWN0X19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVQcm9qZWN0X19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5Ib21lUHJvamVjdF9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4teTogMzBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkhvbWVQcm9qZWN0X190aXRsZSB7XG4gICAgICAgIG1hcmdpbi15OiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Ib21lUHJvamVjdF9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cblxuLkhvbWVNYXBfX2dyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Ib21lTWFwX19ncmlkIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVNYXBfX2dyaWQge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG5cbi5Ib21lTWFwX190aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1heC13aWR0aDogNDUwcHg7IH1cblxuLkhvbWVNYXBfX2Rlc2NyaXB0aW9uIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDYxNHB4O1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwOHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMzY1cHgpIHtcbiAgICAuSG9tZU1hcF9fZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogNzJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuSG9tZU1hcF9fZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogNDhweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5Ib21lTWFwX19kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkhvbWVNYXBfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4uSG9tZU1hcF9fbWFwQ29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Ib21lTWFwX19tYXBDb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAuSG9tZU1hcF9fbWFwIHtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0MjRweCkge1xuICAuSG9tZU1hcF9fbWFwIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IDExMi41JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAuSG9tZU1hcF9fbWFwLFxuICAuSG9tZU1hcF9fbWFwIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLkhvbWVNYXBfX21hcCBzdmcge1xuICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG5cbi5Ib21lTWFwX19jYXJkcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAyMHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgIC5Ib21lTWFwX19jYXJkcyB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWF4LXdpZHRoOiA1MzZweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkhvbWVNYXBfX2NhcmRzIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuSG9tZU1hcF9fY2FyZHMge1xuICAgICAgZ3JpZC1nYXA6IDE2cHg7IH0gfVxuXG4uSG9tZU1hcF9fY2FyZCxcbi5Ib21lTWFwX19jYXJkIC5PcmRlcmVkQ2FyZCB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG5cbi5Ib21lTWFwX19jYXJkIC5PcmRlcmVkQ2FyZCB7XG4gIG1pbi1oZWlnaHQ6IDE5MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIFxuICAgIC5Ib21lTWFwX19jYXJkIC5PcmRlcmVkQ2FyZCB7XG4gICAgICBtaW4taGVpZ2h0OiAxNjhweDsgfSB9XG5cbi5XcmFwcGVkUGFydG5lcnNfX2l0ZW1zIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uU2VydmljZUNhcmQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWNvbHVtbi1nYXA6IDI0cHg7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiaGVhZGluZyBpbWFnZVwiIFwiY29udGVudCBpbWFnZVwiIFwiYnV0dG9uIGltYWdlXCI7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuU2VydmljZUNhcmQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJpbWFnZVwiIFwiaGVhZGluZ1wiIFwiY29udGVudFwiIFwiYnV0dG9uXCI7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLlNlcnZpY2VDYXJkIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfSB9XG4gIC5TZXJ2aWNlQ2FyZCAuVGhlQ29udGVudCB1bCBsaSwgLlRoZUNvbnRlbnQgdWwgLlNlcnZpY2VDYXJkIGxpLFxuICAuU2VydmljZUNhcmQgLlRoZUNvbnRlbnQgb2wgbGksIC5UaGVDb250ZW50IG9sIC5TZXJ2aWNlQ2FyZCBsaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44NTcxNTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlNlcnZpY2VDYXJkIC5UaGVDb250ZW50IHVsIGxpLCAuVGhlQ29udGVudCB1bCAuU2VydmljZUNhcmQgbGksXG4gICAgICAuU2VydmljZUNhcmQgLlRoZUNvbnRlbnQgb2wgbGksIC5UaGVDb250ZW50IG9sIC5TZXJ2aWNlQ2FyZCBsaSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NTsgfSB9XG4gICAgLlNlcnZpY2VDYXJkIC5UaGVDb250ZW50IHVsIGxpOjpiZWZvcmUsIC5UaGVDb250ZW50IHVsIC5TZXJ2aWNlQ2FyZCBsaTo6YmVmb3JlLFxuICAgIC5TZXJ2aWNlQ2FyZCAuVGhlQ29udGVudCBvbCBsaTo6YmVmb3JlLCAuVGhlQ29udGVudCBvbCAuU2VydmljZUNhcmQgbGk6OmJlZm9yZSB7XG4gICAgICB0b3A6IDlweDsgfVxuICAuU2VydmljZUNhcmRfX2luZm8ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cbiAgLlNlcnZpY2VDYXJkX19oZWFkaW5nIHtcbiAgICBncmlkLWFyZWE6IGhlYWRpbmc7IH1cbiAgLlNlcnZpY2VDYXJkX19jb250ZW50IHtcbiAgICBncmlkLWFyZWE6IGNvbnRlbnQ7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuU2VydmljZUNhcmRfX2J1dHRvbiB7XG4gICAgYWxpZ24tc2VsZjogZW5kO1xuICAgIGdyaWQtYXJlYTogYnV0dG9uO1xuICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gICAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLlNlcnZpY2VDYXJkX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5TZXJ2aWNlQ2FyZF9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5TZXJ2aWNlQ2FyZF9fYnV0dG9uIHtcbiAgICAgICAgYWxpZ24tc2VsZjogZW5kOyB9IH1cbiAgLlNlcnZpY2VDYXJkX19pbWFnZUNvbnRhaW5lciB7XG4gICAgZ3JpZC1hcmVhOiBpbWFnZTtcbiAgICBtYXgtd2lkdGg6IDYxNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlNlcnZpY2VDYXJkX19pbWFnZUNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gIC5TZXJ2aWNlQ2FyZF9faW1hZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiA0NS4yNzY4NyU7IH1cbiAgICAuU2VydmljZUNhcmRfX2ltYWdlIGltZyB7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gIC5TZXJ2aWNlQ2FyZF9fbnVtYmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDc2cHg7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5TZXJ2aWNlQ2FyZF9fbnVtYmVyIHtcbiAgICAgICAgcmlnaHQ6IDY0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlNlcnZpY2VDYXJkX19udW1iZXIge1xuICAgICAgICByaWdodDogMTZweDsgfSB9XG4gICAgLlNlcnZpY2VDYXJkX19udW1iZXI6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIjBcIiBjb3VudGVyKHNlcnZpY2VzKTsgfVxuXG4uTW9kYWxfX2RpYWxvZyB7XG4gIHdpZHRoOiAxMDQ0cHg7IH1cbiAgLk1vZGFsX19kaWFsb2ctLXNtYWxsIHtcbiAgICB3aWR0aDogMzk4cHg7IH1cblxuLk1vZGFsX19ib2R5IHtcbiAgcGFkZGluZzogOTBweCAxMDhweCA3MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuTW9kYWxfX2JvZHkge1xuICAgICAgcGFkZGluZzogNzBweCA5MnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLk1vZGFsX19ib2R5IHtcbiAgICAgIHBhZGRpbmc6IDU1cHggNjRweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Nb2RhbF9fYm9keSB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDQ4cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuTW9kYWxfX2JvZHkge1xuICAgICAgcGFkZGluZzogMjRweCAzMnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gICAgLk1vZGFsX19ib2R5IHtcbiAgICAgIHBhZGRpbmc6IDI0cHggMTZweDsgfSB9XG4gIC5Nb2RhbF9fYm9keS0tZml4ZWRIZWlnaHQge1xuICAgIG1pbi1oZWlnaHQ6IDUyMHB4OyB9XG4gIC5Nb2RhbF9fYm9keS0tc21hbGwge1xuICAgIHBhZGRpbmc6IDYycHggMjBweCA1MHB4IDM2cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Nb2RhbF9fYm9keS0tc21hbGwge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLk1vZGFsX19ib2R5LS1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmc6IDMycHggMTZweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuTW9kYWxfX2JvZHktLXNtYWxsIHtcbiAgICAgICAgcGFkZGluZzogMjRweCAxNnB4OyB9IH1cbiAgLk1vZGFsX19ib2R5Li0tY2VudGVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5Nb2RhbF9fY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I2NWNmO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDI1cHg7XG4gIHNpemU6IDQ1cHg7XG4gIHRvcDogMjVweDtcbiAgdHJhbnNmb3JtOiByb3RhdGVaKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDtcbiAgei1pbmRleDogMzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuTW9kYWxfX2Nsb3NlIHtcbiAgICAgIHNpemU6IDMycHg7XG4gICAgICB0b3A6IDI0cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuTW9kYWxfX2Nsb3NlIHtcbiAgICAgIHJpZ2h0OiAxNnB4OyB9IH1cbiAgLk1vZGFsX19jbG9zZSwgLk1vZGFsX19jbG9zZTpob3ZlciwgLk1vZGFsX19jbG9zZTpmb2N1cyB7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gIC5Nb2RhbF9fY2xvc2U6aG92ZXIsIC5Nb2RhbF9fY2xvc2U6Zm9jdXMge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWig5MGRlZyk7IH1cbiAgLk1vZGFsX19jbG9zZS0tc21hbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiAwO1xuICAgIHNpemU6IDUwcHg7XG4gICAgdG9wOiAwOyB9XG4gICAgLk1vZGFsX19jbG9zZS0tc21hbGwsIC5Nb2RhbF9fY2xvc2UtLXNtYWxsOmhvdmVyLCAuTW9kYWxfX2Nsb3NlLS1zbWFsbDpmb2N1cyB7XG4gICAgICBjb2xvcjogIzNkNDc1ZjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLk1vZGFsX19oZWFkaW5nIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9IH1cblxuLk1vZGFsX19kZXNjcmlwdGlvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLk1vZGFsX19kZXNjcmlwdGlvbi0tc21hbGwge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNTsgfVxuXG4uTW9kYWxfX2Zvcm0ge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Nb2RhbF9fZm9ybSB7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLk1vZGFsX19mb3JtIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH0gfVxuXG4uTW9kYWxfX2JhY2tncm91bmQge1xuICB6LWluZGV4OiAxOyB9XG4gIC5Nb2RhbF9fYmFja2dyb3VuZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTVkZWcsICNmYWZhZmEgMCUsICNmYWZhZmEgMzUlLCByZ2JhKDI1MCwgMjUwLCAyNTAsIDApIDEwMCUpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgei1pbmRleDogMjsgfVxuXG4uTW9kYWxfX2NvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cbiAgLk1vZGFsX19jb250ZW50LS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuTW9kYWxfX2NvbnRlbnQuLS1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLkFib3V0SGVybyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IDQ3MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkFib3V0SGVybyB7XG4gICAgICBtaW4taGVpZ2h0OiA0MDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5BYm91dEhlcm8ge1xuICAgICAgbWluLWhlaWdodDogMzIwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuQWJvdXRIZXJvIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDI0MHB4OyB9IH1cbiAgLkFib3V0SGVyb19fY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gICAgcGFkZGluZy10b3A6IDEzNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuQWJvdXRIZXJvX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDExMnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5BYm91dEhlcm9fX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogOTJweDsgfSB9XG4gIC5BYm91dEhlcm9fX2hlYWRpbmcge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5BYm91dEhlcm9fX2hlYWRpbmcgKyAuQWJvdXRIZXJvX19oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgICAuQWJvdXRIZXJvX19oZWFkaW5nICsgLkFib3V0SGVyb19faGVhZGluZyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMzJweDsgfSB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgICAgLkFib3V0SGVyb19faGVhZGluZyArIC5BYm91dEhlcm9fX2hlYWRpbmcge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAgIC5BYm91dEhlcm9fX2hlYWRpbmcgKyAuQWJvdXRIZXJvX19oZWFkaW5nIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9IH1cbiAgLkFib3V0SGVyb19fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5BYm91dEhlcm9fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG4gIC5BYm91dEhlcm9fX2ltYWdlIHtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLkFib3V0SGVyb19faW1hZ2U6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExLCAxNSwgNDcsIDAuNSk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgei1pbmRleDogMTsgfVxuXG4uQWJvdXROdW1iZXJzX19pdGVtcyB7XG4gIGNvdW50ZXItcmVzZXQ6IGFib3V0LW51bWJlcnM7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAxMDhweCAzMnB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuQWJvdXROdW1iZXJzX19pdGVtcyB7XG4gICAgICBncmlkLWdhcDogOTJweCAyNHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkFib3V0TnVtYmVyc19faXRlbXMge1xuICAgICAgZ3JpZC1nYXA6IDcycHggMjBweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQWJvdXROdW1iZXJzX19pdGVtcyB7XG4gICAgICBncmlkLWdhcDogNjRweCAxNnB4O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MjRweCkge1xuICAgIC5BYm91dE51bWJlcnNfX2l0ZW1zIHtcbiAgICAgIGdyaWQtZ2FwOiA0OHB4O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfVxuXG4uQWJvdXROdW1iZXJzX19pdGVtIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGFib3V0LW51bWJlcnM7IH1cblxuLkFib3V0TnVtYmVyc0l0ZW06OmJlZm9yZSB7XG4gIGNvbG9yOiAjM2I2NWNmO1xuICBjb250ZW50OiBcIjBcIiBjb3VudGVyKGFib3V0LW51bWJlcnMpO1xuICBmb250LWZhbWlseTogXCJCZWJhcyBOZXVlXCIsIGN1cnNpdmU7XG4gIGZvbnQtc2l6ZTogNi4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkFib3V0TnVtYmVyc0l0ZW06OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDUuNzVyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQWJvdXROdW1iZXJzSXRlbTo6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogNC41cmVtOyB9IH1cblxuLkFib3V0TnVtYmVyc0l0ZW1fX3RpdGxlIHtcbiAgY29sb3I6ICMzZDQ3NWY7XG4gIGZvbnQtZmFtaWx5OiBcIk1hbnJvcGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4zMTI1O1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5BYm91dE51bWJlcnNJdGVtX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH0gfVxuXG4uQWJvdXROdW1iZXJzSXRlbV9fZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5BYm91dE51bWJlcnNJdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4OyB9IH1cblxuLkFib3V0RmVhdHVyZXNfX2NhcmQge1xuICBwYWRkaW5nOiA2NHB4IDU2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLkFib3V0RmVhdHVyZXNfX2NhcmQge1xuICAgICAgcGFkZGluZzogNTZweCA0MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkFib3V0RmVhdHVyZXNfX2NhcmQge1xuICAgICAgcGFkZGluZzogNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5BYm91dEZlYXR1cmVzX19jYXJkIHtcbiAgICAgIHBhZGRpbmc6IDI0cHg7IH0gfVxuXG4uQWJvdXRGZWF0dXJlc19faXRlbXMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxLjI1ZnIgMWZyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkFib3V0RmVhdHVyZXNfX2l0ZW1zIHtcbiAgICAgIGdyaWQtZ2FwOiA4cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQWJvdXRGZWF0dXJlc19faXRlbXMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5BYm91dEZlYXR1cmVzX19pdGVtcyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG5cbi5BYm91dEZlYXR1cmVzX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDQ4cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkFib3V0RmVhdHVyZXNfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uQWJvdXRGZWF0dXJlc19faXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmctbGVmdDogNDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5BYm91dEZlYXR1cmVzX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIC5BYm91dEZlYXR1cmVzX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuQWJvdXRGZWF0dXJlc19faXRlbTpub3QoOmZpcnN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5BYm91dEZlYXR1cmVzX19pbWFnZSB7XG4gIHotaW5kZXg6IDE7IH1cbiAgLkFib3V0RmVhdHVyZXNfX2ltYWdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTEsIDE1LCA0NywgMC41KTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHotaW5kZXg6IDE7IH1cblxuLkFib3V0RmVhdHVyZXNJdGVtIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuQWJvdXRGZWF0dXJlc0l0ZW1fX251bWJlciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkJlYmFzIE5ldWVcIiwgY3Vyc2l2ZTtcbiAgICBmb250LXNpemU6IDcuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcGFkZGluZy10b3A6IDEycHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuQWJvdXRGZWF0dXJlc0l0ZW1fX251bWJlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogNi4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuQWJvdXRGZWF0dXJlc0l0ZW1fX251bWJlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuQWJvdXRGZWF0dXJlc0l0ZW1fX251bWJlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogNC4zNzVyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkFib3V0RmVhdHVyZXNJdGVtX19udW1iZXIge1xuICAgICAgICBmb250LXNpemU6IDMuNXJlbTsgfSB9XG4gIC5BYm91dEZlYXR1cmVzSXRlbV9fZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgZm9udC1mYW1pbHk6IFwiQmViYXMgTmV1ZVwiLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMC45NTU7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuQWJvdXRGZWF0dXJlc0l0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkFib3V0RmVhdHVyZXNJdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkFib3V0RmVhdHVyZXNJdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkFib3V0RmVhdHVyZXNJdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7IH0gfVxuXG4uQWJvdXREb2N1bWVudHMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYmVkO1xuICBwYWRkaW5nOiA5MHB4IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkFib3V0RG9jdW1lbnRzIHtcbiAgICAgIHBhZGRpbmc6IDcycHggMDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5BYm91dERvY3VtZW50cyB7XG4gICAgICBwYWRkaW5nOiA2NHB4IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuQWJvdXREb2N1bWVudHMge1xuICAgICAgcGFkZGluZzogNTZweCAwOyB9IH1cbiAgLkFib3V0RG9jdW1lbnRzX19zZWN0aW9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDkwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5BYm91dERvY3VtZW50c19fc2VjdGlvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzJweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuQWJvdXREb2N1bWVudHNfX3NlY3Rpb246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkFib3V0RG9jdW1lbnRzX19zZWN0aW9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1NnB4OyB9IH1cbiAgLkFib3V0RG9jdW1lbnRzX19oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5BYm91dERvY3VtZW50c19fbnVtYmVyIHtcbiAgICBjb2xvcjogIzNkNDc1ZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zMTI1OyB9XG5cbi5BYm91dENlcnRpZmljYXRlc19faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuQWJvdXRDZXJ0aWZpY2F0ZXNfX2l0ZW0ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5BYm91dENlcnRpZmljYXRlc19faXRlbSArIC5BYm91dENlcnRpZmljYXRlc19faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkFib3V0Q2VydGlmaWNhdGVzX19pdGVtICsgLkFib3V0Q2VydGlmaWNhdGVzX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG5cbi5BYm91dENlcnRpZmljYXRlc19fY29sdW1uIHtcbiAgcGFkZGluZy1yaWdodDogMzJweDsgfVxuXG4uQWJvdXRDZXJ0aWZpY2F0ZXNfX3RpdGxlIHtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLkFib3V0Q2VydGlmaWNhdGVzX19udW1iZXIge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5BYm91dENlcnRpZmljYXRlc19fbnVtYmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDRweDsgfSB9XG5cbi5BYm91dENlcnRpZmljYXRlc19fZGVzY3JpcHRpb24ge1xuICBtYXgtd2lkdGg6IDcyMnB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuQWJvdXRDZXJ0aWZpY2F0ZXNfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIG1heC13aWR0aDogNjQwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuQWJvdXRDZXJ0aWZpY2F0ZXNfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIG1heC13aWR0aDogNTYwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQWJvdXRDZXJ0aWZpY2F0ZXNfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuQWJvdXRDZXJ0aWZpY2F0ZXNfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IDEycHg7IH0gfVxuXG4uQWJvdXRPcmdhbml6YXRpb25zX19pdGVtcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkFib3V0T3JnYW5pemF0aW9uc19faXRlbXMge1xuICAgICAgZ3JpZC1nYXA6IDQwcHggMTZweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuQWJvdXRPcmdhbml6YXRpb25zX19pdGVtcyB7XG4gICAgICBncmlkLWdhcDogMzJweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH1cblxuLkFib3V0T3JnYW5pemF0aW9uc19faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5BYm91dE9yZ2FuaXphdGlvbnNfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQWJvdXRPcmdhbml6YXRpb25zX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLkFib3V0T3JnYW5pemF0aW9uc19faXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIHBhZGRpbmctbGVmdDogNjRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuQWJvdXRPcmdhbml6YXRpb25zX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNTZweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5BYm91dE9yZ2FuaXphdGlvbnNfX2l0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkFib3V0T3JnYW5pemF0aW9uc19faXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAuQWJvdXRPcmdhbml6YXRpb25zX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2Q1ZDk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDEwNnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuQWJvdXRPcmdhbml6YXRpb25zX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLkFib3V0T3JnYW5pemF0aW9uc0l0ZW1fX251bWJlciB7XG4gIG1hcmdpbi10b3A6IDhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuQWJvdXRPcmdhbml6YXRpb25zSXRlbV9fbnVtYmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDJweDsgfSB9XG5cbi5BYm91dE1hcCB7XG4gIHBhZGRpbmctdG9wOiA5MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkFib3V0TWFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiA3MnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkFib3V0TWFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1NnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkFib3V0TWFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMnB4OyB9IH1cbiAgLkFib3V0TWFwOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI0M0QzRDNCAwJSwgI2Y4ZjhmOCAwJSwgcmdiYSgyNDgsIDI0OCwgMjQ4LCAwKSA0OC45OSUpO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MjRweCkge1xuICAgICAgLkFib3V0TWFwOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLkFib3V0TWFwX19jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogOTBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkFib3V0TWFwX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDcycHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkFib3V0TWFwX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDU2cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkFib3V0TWFwX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gIC5BYm91dE1hcF9faGVhZGluZyB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXgtd2lkdGg6IDYxNHB4OyB9XG4gIC5BYm91dE1hcF9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5BYm91dE1hcF9fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5BYm91dE1hcF9fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5BYm91dE1hcF9fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXgtd2lkdGg6IDUzNnB4OyB9IH1cbiAgLkFib3V0TWFwX19tYXBDb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuQWJvdXRNYXBfX21hcENvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi10b3A6IC05MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkFib3V0TWFwX19tYXAge1xuICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MjRweCkge1xuICAgIC5BYm91dE1hcF9fbWFwIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMTIuNSU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuQWJvdXRNYXBfX21hcCxcbiAgICAuQWJvdXRNYXBfX21hcCBzdmcge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQWJvdXRNYXBfX21hcCBzdmcge1xuICAgICAgbWF4LXdpZHRoOiA3MjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH0gfVxuXG4uSG9tZVBhZ2Uge1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuSG9tZVBhZ2Uge1xuICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuSG9tZVBhZ2Uge1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7IH0gfVxuICAuSG9tZVBhZ2VfX2Fib3V0IHtcbiAgICBwYWRkaW5nLXRvcDogMTAycHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX2Fib3V0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDk1cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkhvbWVQYWdlX19hYm91dCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA5MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Ib21lUGFnZV9fYWJvdXQge1xuICAgICAgICBwYWRkaW5nLXRvcDogODVweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX2Fib3V0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDgwcHg7IH0gfVxuICAuSG9tZVBhZ2VfX251bWJlcnMge1xuICAgIG1hcmdpbi10b3A6IDY1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Ib21lUGFnZV9fbnVtYmVycyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkhvbWVQYWdlX19udW1iZXJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTVweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX251bWJlcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cbiAgLkhvbWVQYWdlX19zZWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMTQ1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Ib21lUGFnZV9fc2VjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMjBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX3NlY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVQYWdlX19zZWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7IH0gfVxuICAuSG9tZVBhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Ib21lUGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTY1cHg7IH0gfVxuICAuSG9tZVBhZ2VfX3Byb2plY3RzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYmVkO1xuICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMzhweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5Ib21lUGFnZV9fcHJvamVjdHMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDIyOHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Ib21lUGFnZV9fcHJvamVjdHMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDIxOHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Ib21lUGFnZV9fcHJvamVjdHMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwOHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Ib21lUGFnZV9fcHJvamVjdHMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDE5OHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAgIC5Ib21lUGFnZV9fcHJvamVjdHMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjI0cHg7IH0gfVxuICAuSG9tZVBhZ2VfX21hcCB7XG4gICAgcGFkZGluZy10b3A6IDExMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX21hcCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNDBweDsgfSB9XG4gIC5Ib21lUGFnZV9fcGFydG5lcnMge1xuICAgIHBhZGRpbmctdG9wOiAxNnB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX3BhcnRuZXJzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVQYWdlX19wYXJ0bmVycyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4MHB4OyB9IH1cblxuLlByb2plY3RQYWdlIHtcbiAgbWFyZ2luLXRvcDogNjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuUHJvamVjdFBhZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Qcm9qZWN0UGFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlByb2plY3RQYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAuUHJvamVjdFBhZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG4gIC5Qcm9qZWN0UGFnZV9faGVybyB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzkuMjM0NDUlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2hlcm8ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgICAuUHJvamVjdFBhZ2VfX2hlcm86OmJlZm9yZSB7XG4gICAgICBib3R0b206IDM0cHg7XG4gICAgICBib3gtc2hhZG93OiAwIDMwcHggMTUwcHggcmdiYSg4OCwgOTIsIDE3NywgMC4zKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBsZWZ0OiA1MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzNHB4O1xuICAgICAgcmlnaHQ6IDUwcHg7IH1cbiAgLlByb2plY3RQYWdlX19saXN0LCAuUHJvamVjdFBhZ2VfX2luZm8sIC5Qcm9qZWN0UGFnZV9faW1hZ2UsIC5Qcm9qZWN0UGFnZV9fZ2FsbGVyeSB7XG4gICAgbWFyZ2luLXRvcDogODBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fbGlzdCwgLlByb2plY3RQYWdlX19pbmZvLCAuUHJvamVjdFBhZ2VfX2ltYWdlLCAuUHJvamVjdFBhZ2VfX2dhbGxlcnkge1xuICAgICAgICBtYXJnaW4tdG9wOiA3MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fbGlzdCwgLlByb2plY3RQYWdlX19pbmZvLCAuUHJvamVjdFBhZ2VfX2ltYWdlLCAuUHJvamVjdFBhZ2VfX2dhbGxlcnkge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fbGlzdCwgLlByb2plY3RQYWdlX19pbmZvLCAuUHJvamVjdFBhZ2VfX2ltYWdlLCAuUHJvamVjdFBhZ2VfX2dhbGxlcnkge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cbiAgLlByb2plY3RQYWdlX19saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiA1MHB4IDMycHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLlByb2plY3RQYWdlX19saXN0IHtcbiAgICAgICAgZ3JpZC1nYXA6IDQwcHggMjRweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2xpc3Qge1xuICAgICAgICBncmlkLWdhcDogMzBweCAxNnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fbGlzdCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBncmlkLXJvdy1nYXA6IDIwcHg7IH0gfVxuICAuUHJvamVjdFBhZ2VfX2xpc3RMYWJlbCB7XG4gICAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KTtcbiAgICBmb250LWZhbWlseTogXCJNYW5yb3BlXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjg1NzE1OyB9XG4gIC5Qcm9qZWN0UGFnZV9fbGlzdFZhbHVlIHtcbiAgICBjb2xvcjogIzNkNDc1ZjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zMTI1O1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fbGlzdFZhbHVlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2xpc3RWYWx1ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2xpc3RWYWx1ZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDRweDsgfSB9XG4gIC5Qcm9qZWN0UGFnZV9faW5mbyB7XG4gICAgbWF4LXdpZHRoOiA5MzdweDsgfVxuICAuUHJvamVjdFBhZ2VfX2NvbnRlbnQsIC5Qcm9qZWN0UGFnZV9faW1hZ2VDYXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2NvbnRlbnQsIC5Qcm9qZWN0UGFnZV9faW1hZ2VDYXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2NvbnRlbnQsIC5Qcm9qZWN0UGFnZV9faW1hZ2VDYXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2NvbnRlbnQsIC5Qcm9qZWN0UGFnZV9faW1hZ2VDYXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlByb2plY3RQYWdlX19jb250ZW50LndyYXAge1xuICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuUHJvamVjdFBhZ2VfX2NvbnRlbnQud3JhcDo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNDgsIDI0OCwgMjQ4LCAwLjkpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuUHJvamVjdFBhZ2VfX2J1dHRvbiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjM2Q0NzVmO1xuICAgIG1hcmdpbi10b3A6IDhweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLlByb2plY3RQYWdlX19idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuUHJvamVjdFBhZ2VfX2NvbnRlbnQ6bm90KC53cmFwKSArIC5Qcm9qZWN0UGFnZV9fYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLlByb2plY3RQYWdlX19pbWFnZSBpbWcge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5Qcm9qZWN0UGFnZV9faW1hZ2VDYXB0aW9uIHtcbiAgICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzc3NzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlByb2plY3RQYWdlX19pbWFnZUNhcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH0gfVxuICAuUHJvamVjdFBhZ2VfX2dhbGxlcnlJdGVtcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTIwcHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlByb2plY3RQYWdlX19nYWxsZXJ5SXRlbXMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fZ2FsbGVyeUl0ZW1zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEycHg7IH0gfVxuICAuUHJvamVjdFBhZ2VfX2dhbGxlcnlJdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2dhbGxlcnlJdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fZ2FsbGVyeUl0ZW06aG92ZXIgaW1nIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTsgfSB9XG4gICAgLlByb2plY3RQYWdlX19nYWxsZXJ5SXRlbSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLlByb2plY3RQYWdlX19jb25zdWx0YXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDE0MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlByb2plY3RQYWdlX19jb25zdWx0YXRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4OyB9IH1cblxuLlByb2plY3RzUGFnZV9faGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzg5NDdlbTsgfVxuXG4uUHJvamVjdHNQYWdlX19maWx0ZXJzIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uUHJvamVjdHNQYWdlX19pdGVtcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiA3MHB4IDMycHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIG1hcmdpbi10b3A6IDcwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLlByb2plY3RzUGFnZV9faXRlbXMge1xuICAgICAgZ3JpZC1nYXA6IDYwcHggMjRweDtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuUHJvamVjdHNQYWdlX19pdGVtcyB7XG4gICAgICBncmlkLWdhcDogNTBweCAxNnB4O1xuICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Qcm9qZWN0c1BhZ2VfX2l0ZW1zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MjRweCkge1xuICAgIC5Qcm9qZWN0c1BhZ2VfX2l0ZW1zIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuXG4uUHJvamVjdHNQYWdlX19jb25zdWx0YXRpb24ge1xuICBtYXJnaW4tdG9wOiAxMzBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuUHJvamVjdHNQYWdlX19jb25zdWx0YXRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMTEwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuUHJvamVjdHNQYWdlX19jb25zdWx0YXRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogOTBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Qcm9qZWN0c1BhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiA3MHB4OyB9IH1cblxuLlNlcnZpY2VzUGFnZV9faGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzg5NDdlbTsgfVxuXG4uU2VydmljZXNQYWdlX19maWx0ZXJzIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uU2VydmljZXNQYWdlX19pdGVtcyB7XG4gIGNvdW50ZXItcmVzZXQ6IHNlcnZpY2VzO1xuICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5TZXJ2aWNlc1BhZ2VfX2l0ZW1zIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5TZXJ2aWNlc1BhZ2VfX2l0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWdhcDogNjBweCAyMHB4O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuXG4uU2VydmljZXNQYWdlX19pdGVtIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IHNlcnZpY2VzOyB9XG4gIC5TZXJ2aWNlc1BhZ2VfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuU2VydmljZXNQYWdlX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMzVweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuU2VydmljZXNQYWdlX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMjBweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5TZXJ2aWNlc1BhZ2VfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlNlcnZpY2VzUGFnZV9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gICAgICAuU2VydmljZXNQYWdlX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OyB9IH1cblxuLlNlcnZpY2VzUGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgbWFyZ2luLXRvcDogMTQwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLlNlcnZpY2VzUGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEyMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLlNlcnZpY2VzUGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlNlcnZpY2VzUGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDgwcHg7IH0gfVxuXG4uU2VydmljZVBhZ2Uge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5TZXJ2aWNlUGFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlNlcnZpY2VQYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuICAuU2VydmljZVBhZ2VfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNTI2MzJlbTsgfVxuICAuU2VydmljZVBhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogODBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5TZXJ2aWNlUGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNzBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuU2VydmljZVBhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlNlcnZpY2VQYWdlX19jb25zdWx0YXRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cblxuLkVycm9yUGFnZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC41KTtcbiAgcGFkZGluZzogNzJweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkVycm9yUGFnZSB7XG4gICAgICBwYWRkaW5nOiA2NHB4IDA7IH0gfVxuICAuRXJyb3JQYWdlX19jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5FcnJvclBhZ2VfX2hlYWRpbmcge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBtYXgtd2lkdGg6IDU0MHB4OyB9XG4gIC5FcnJvclBhZ2VfX2dyaWQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5FcnJvclBhZ2VfX2dyaWQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAuRXJyb3JQYWdlX19jb2RlIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIGZvbnQtZmFtaWx5OiBcIkJlYmFzIE5ldWVcIiwgY3Vyc2l2ZTtcbiAgICBmb250LXNpemU6IDMxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLXRvcDogNzJweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5FcnJvclBhZ2VfX2NvZGUge1xuICAgICAgICBmb250LXNpemU6IDI1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5FcnJvclBhZ2VfX2NvZGUge1xuICAgICAgICBmb250LXNpemU6IDIwcmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5FcnJvclBhZ2VfX2NvZGUge1xuICAgICAgICBmb250LXNpemU6IDE1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBvcmRlcjogLTE7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkVycm9yUGFnZV9fY29kZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogOS4zNzVyZW07IH0gfVxuICAuRXJyb3JQYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTExMTtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1heC13aWR0aDogNDM1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5FcnJvclBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG4gIC5FcnJvclBhZ2VfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkVycm9yUGFnZV9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuRXJyb3JQYWdlX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cbiAgLkVycm9yUGFnZV9faW1hZ2Uge1xuICAgIHotaW5kZXg6IDE7IH1cblxuLkNvbnRhY3RzUGFnZV9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Db250YWN0c1BhZ2VfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH0gfVxuXG4uQ29udGFjdHNQYWdlX19mb3JtQ29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLkNvbnRhY3RzUGFnZV9fbGlzdCwgLkNvbnRhY3RzUGFnZV9fZm9ybSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkNvbnRhY3RzUGFnZV9fbGlzdCwgLkNvbnRhY3RzUGFnZV9fZm9ybSB7XG4gICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkNvbnRhY3RzUGFnZV9fbGlzdCwgLkNvbnRhY3RzUGFnZV9fZm9ybSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9IH1cblxuLkNvbnRhY3RzUGFnZV9fc2VjdGlvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IDgwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkNvbnRhY3RzUGFnZV9fc2VjdGlvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tdG9wOiA3MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkNvbnRhY3RzUGFnZV9fc2VjdGlvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkNvbnRhY3RzUGFnZV9fc2VjdGlvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cblxuLkNvbnRhY3RzTGlzdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICBncmlkLWdhcDogMzBweCAxMzlweDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgYXV0byk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkNvbnRhY3RzTGlzdCB7XG4gICAgICBncmlkLWdhcDogMjRweCAxMDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Db250YWN0c0xpc3Qge1xuICAgICAgZ3JpZC1nYXA6IDIwcHggNzJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Db250YWN0c0xpc3Qge1xuICAgICAgZ3JpZC1nYXA6IDMycHg7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG4gIC5Db250YWN0c0xpc3RfX2NvbHVtbiB7XG4gICAgbWF4LXdpZHRoOiAyOTFweDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgLkNvbnRhY3RzTGlzdF9fY29sdW1uLS1waG9uZXMge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IC0xO1xuICAgICAgICBncmlkLXJvdzogMSAvIDM7IH0gfVxuICAuQ29udGFjdHNMaXN0X19pdGVtcyB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkNvbnRhY3RzTGlzdF9faXRlbXMge1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkNvbnRhY3RzTGlzdF9faXRlbXMge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7IH0gfVxuICAuQ29udGFjdHNMaXN0X19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDI3cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Db250YWN0c0xpc3RfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkNvbnRhY3RzTGlzdF9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsgfSB9XG4gIC5Db250YWN0c0xpc3RfX2hlYWRpbmcge1xuICAgIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7XG4gICAgZm9udC1mYW1pbHk6IFwiTWFucm9wZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI4NTsgfVxuICAuQ29udGFjdHNMaXN0X192YWx1ZSB7XG4gICAgY29sb3I6ICMzZDQ3NWY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNTsgfVxuICAuQ29udGFjdHNMaXN0X19sYWJlbCB7XG4gICAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi10b3A6IDZweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkNvbnRhY3RzTGlzdF9fbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAycHg7IH0gfVxuXG4uQ29udGFjdHNNYXBfX2NvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTMsIDEwMCwgMTcyLCAwLjEpO1xuICBtaW4taGVpZ2h0OiAyODBweDtcbiAgcGFkZGluZy1ib3R0b206IDQyLjUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLkFib3V0UGFnZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuQWJvdXRQYWdlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5BYm91dFBhZ2Uge1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuQWJvdXRQYWdlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9IH1cbiAgLkFib3V0UGFnZV9fcHJpbWFyeUluZm8sIC5BYm91dFBhZ2VfX2ZlYXR1cmVzLCAuQWJvdXRQYWdlX19udW1iZXJzLCAuQWJvdXRQYWdlX19kb2N1bWVudHMsIC5BYm91dFBhZ2VfX3BhcnRuZXJzIHtcbiAgICBtYXJnaW4tdG9wOiA5MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuQWJvdXRQYWdlX19wcmltYXJ5SW5mbywgLkFib3V0UGFnZV9fZmVhdHVyZXMsIC5BYm91dFBhZ2VfX251bWJlcnMsIC5BYm91dFBhZ2VfX2RvY3VtZW50cywgLkFib3V0UGFnZV9fcGFydG5lcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiA3MnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5BYm91dFBhZ2VfX3ByaW1hcnlJbmZvLCAuQWJvdXRQYWdlX19mZWF0dXJlcywgLkFib3V0UGFnZV9fbnVtYmVycywgLkFib3V0UGFnZV9fZG9jdW1lbnRzLCAuQWJvdXRQYWdlX19wYXJ0bmVycyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDY0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkFib3V0UGFnZV9fcHJpbWFyeUluZm8sIC5BYm91dFBhZ2VfX2ZlYXR1cmVzLCAuQWJvdXRQYWdlX19udW1iZXJzLCAuQWJvdXRQYWdlX19kb2N1bWVudHMsIC5BYm91dFBhZ2VfX3BhcnRuZXJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTZweDsgfSB9XG4gIC5BYm91dFBhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMTMwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5BYm91dFBhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDExMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5BYm91dFBhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDkwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkFib3V0UGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNzBweDsgfSB9XG4iLCIvLyBJdCdzIGxpa2Ugwqtub3JtYWxpemXCuyBvciDCq3Jlc2V0wrtcclxuLy8gU29tZSBpZGVhcyBoZXJlIGdvdCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9oYW5rY2hpemxqYXcvbW9kZXJuLWNzcy1yZXNldFxyXG5cclxuLy8gQm94IHNpemluZyBydWxlc1xyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbnVsLFxyXG5vbCB7XHJcbiAgICAvLyBSZW1vdmUgbGlzdCBzdHlsZXMgb24gPHVsPiBhbmQgPG9sPiB3aXRoIGEgW2NsYXNzXSBhdHRyaWJ1dGVcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAvLyBSZW1vdmUgZGVmYXVsdCB7bWFyZ2lufVxyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQge3BhZGRpbmd9XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW5cclxuYm9keSxcclxuaDEsXHJcbmgyLFxyXG5oMyxcclxuaDQsXHJcbnAsXHJcbnVsLFxyXG5vbCxcclxubGksXHJcbmZpZ3VyZSxcclxuZmlnY2FwdGlvbixcclxuYmxvY2txdW90ZSxcclxuZGwsXHJcbmRkIHtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuLy8gRW5hYmxlIHNtb290aCBzY3JvbGxcclxuaHRtbCB7XHJcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcclxufVxyXG5cclxuLy8gU2V0IGNvcmUgPGJvZHk+IGRlZmF1bHRzXHJcbmJvZHkge1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcbi8vIDxhPiB0aGF0IGRvbid0IGhhdmUgYSBbY2xhc3NdIGdldCBkZWZhdWx0IHN0eWxlc1xyXG5hOm5vdChbY2xhc3NdKSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IGF1dG87XHJcbn1cclxuXHJcbi8vIE1ha2UgaW1hZ2VzIGVhc2llciB0byB3b3JrIHdpdGhcclxuaW1nIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vLyBJbmhlcml0IGZvbnRzIGZvciBpbnB1dHMgYW5kIGJ1dHRvbnNcclxuaW5wdXQsXHJcbmJ1dHRvbixcclxudGV4dGFyZWEsXHJcbnNlbGVjdCB7XHJcbiAgICBmb250OiBpbmhlcml0O1xyXG59XHJcblxyXG5idXR0b24ge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi8vIFJlbW92ZSBhbGwge2FuaW1hdGlvbn1zIGFuZCB7dHJhbnNpdGlvbn1zIGZvciBwZW9wbGUgdGhhdCBwcmVmZXIgbm90IHRvIHNlZSB0aGVtXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XHJcbiAgICAqIHtcclxuICAgICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBuby1pbXBvcnRhbnRcclxuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xyXG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcclxuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcclxuICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gT25seSB2ZXJ0aWNhbCByZXNpemluZyBvZiB0ZXh0IGFyZWFcclxudGV4dGFyZWEge1xyXG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxuLy8gTGltaXQgPGlmcmFtZT4gd2lkdGhcclxuaWZyYW1lIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8gTWFrZSA8ZmllbGRzZXQ+IHdvcmsgZ29vZCB3aXRoIHtkaXNwbGF5OmZsZXh9XHJcbmZpZWxkc2V0IHtcclxuICAgIG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuLy8gTWFrZSA8dGg+IG9ubHkgYSBzZW1hbnRpYyBlbGVtZW50XHJcbnRoIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcclxufVxyXG4iLCI6cm9vdCB7XG4gIC0tc3dpcGVyLXRoZW1lLWNvbG9yOiAjeyR0aGVtZUNvbG9yfTtcbn1cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICAvKiBGaXggb2YgV2Via2l0IGZsaWNrZXJpbmcgKi9cbiAgei1pbmRleDoxO1xufVxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cbi5zd2lwZXItY29udGFpbmVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsMCwwKTtcbn1cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3ctY29sdW1uID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5zd2lwZXItc2xpZGUge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG59XG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8qIEF1dG8gSGVpZ2h0ICovXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IHtcbiAgJiwgLnN3aXBlci1zbGlkZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLnN3aXBlci13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDtcbiAgfVxufVxuXG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIC5zd2lwZXItd3JhcHBlciwgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxMDtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLDAsMCwwLjUpLCByZ2JhKDAsMCwwLDApKTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsMCwwLDAuNSksIHJnYmEoMCwwLDAsMCkpO1xuICB9XG4gIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLDAsMCwwLjUpLCByZ2JhKDAsMCwwLDApKTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwwLDAsMC41KSwgcmdiYSgwLDAsMCwwKSk7XG4gIH1cbn1cblxuLyogQ1NTIE1vZGUgKi9cbi5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlIHtcbiAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRm9yIEZpcmVmb3ggKi9cbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIEZvciBJbnRlcm5ldCBFeHBsb3JlciBhbmQgRWRnZSAqL1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IHN0YXJ0O1xuICB9XG59XG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUge1xuICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIH1cbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUge1xuICA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7XG4gIH1cbn1cbiIsbnVsbCwiLyogQmFzZVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAjZjhmOGY4O1xyXG4kYmFzZS1ib2R5LWZvbnQtc2l6ZTogMTAwJTtcclxuJGJhc2UtYm9keS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiRiYXNlLWJvZHktY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiRiYXNlLWhlYWRpbmctY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG5cclxuLyogR2xvYmFsXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogaHNsKDMwLCA1MCUsIDYwJSk7XHJcbiRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiBoc2woMTExLCAzOSUsIDQ3JSk7XHJcbiRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kOiBoc2woNDIsIDkyJSwgNTglKTtcclxuJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZDogaHNsKDUsIDg2JSwgNjMlKTtcclxuXHJcbi8qIENvbnRhaW5lclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGNvbnRhaW5lci1tYXgtd2lkdGg6IDEyNjBweDtcclxuJGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGg6IDgwOHB4O1xyXG4kY29udGFpbmVyLW1lZGl1bS1tYXgtd2lkdGg6IDEwNDVweDtcclxuJGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRoOiAxOTIwcHg7XHJcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsOiAxNnB4O1xyXG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAyNHB4O1xyXG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAzMnB4O1xyXG5cclxuLyogRm9udFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGJhc2UtYm9keS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1hbnJvcGU7XHJcbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkaW5nO1xyXG5cclxuLyogTGluayBkZWZhdWx0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kYmFzZS1saW5rLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4kYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4kYmFzZS1saXN0LXBhZGRpbmctbGVmdDogMDtcclxuXHJcbi8qIEJ1dHRvbiBiYXNlXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kYnV0dG9uLWZvbnQtc2l6ZTogdG9SZW0oMTNweCk7XHJcbiRidXR0b24tbGluZS1oZWlnaHQ6IDQycHg7XHJcbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAyNHB4O1xyXG4kYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0OiA0N3B4O1xyXG4kYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXNpemU7XHJcbiRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAkYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDtcclxuXHJcbi8qIEJ1dHRvbiBwcmltYXJ5XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4kYnV0dG9uLXByaW1hcnktY29sb3I6IHdoaXRlO1xyXG4kYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICRidXR0b24tcHJpbWFyeS1jb2xvcjtcclxuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWNvbG9yO1xyXG5cclxuLyogQnV0dG9uIGRlZmF1bHRcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xyXG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6IHdoaXRlO1xyXG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiB3aGl0ZTtcclxuXHJcbi8qIEJ1dHRvbiBzZWNvbmRhcnlcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6IHdoaXRlO1xyXG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGNvbG9yLW11dGVkLWRlZmF1bHQ7XHJcblxyXG4vKiBCdXR0b24gZGlzYWJsZWRcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiB3aGl0ZTtcclxuXHJcbi8qIEJyZWFkY3J1bWJzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTogdG9SZW0oMTJweCk7XHJcbiRicmVhZGNydW1iLWl0ZW0tY29sb3I6ICRjb2xvci1tdXRlZC1kZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAzcHg7XHJcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xyXG5cclxuLyogRm9ybVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGZvcm0taGVpZ2h0OiA0OHB4O1xyXG4kZm9ybS1saW5lLWhlaWdodDogMS41O1xyXG4kZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlbjtcclxuJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsOiAyMHB4O1xyXG4kZm9ybS1wYWRkaW5nLXZlcnRpY2FsOiAxMnB4O1xyXG4kZm9ybS1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuJGZvcm0tY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiRmb3JtLWZvY3VzLWNvbG9yOiAkZm9ybS1jb2xvcjtcclxuJGZvcm0tZm9jdXMtYmFja2dyb3VuZDogJGZvcm0tYmFja2dyb3VuZDtcclxuJGZvcm0tcmFkaW8tc2l6ZTogMTZweDtcclxuJGZvcm0tcmFkaW8tYmFja2dyb3VuZDogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRmb3JtLXJhZGlvLWJhY2tncm91bmQ7XHJcbiRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogJGZvcm0tcmFkaW8tYmFja2dyb3VuZDtcclxuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTAnIGhlaWdodD0nNycgdmlld0JveD0nMCAwIDEwIDcnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgY2xpcC1ydWxlPSdldmVub2RkJyBkPSdNOC4yMTk4MSAwLjQ2OTgxMUwzLjUwMDA2IDUuMTg5NTZMMS43ODAzMSAzLjQ2OTgxQzEuNDg2MDMgMy4xODU1OCAxLjAxODI1IDMuMTg5NjUgMC43Mjg5NDcgMy40Nzg5NUMwLjQzOTY0NyAzLjc2ODI1IDAuNDM1NTgyIDQuMjM2MDMgMC43MTk4MTEgNC41MzAzMUwyLjk2OTgxIDYuNzgwMzFDMy4yNjI2OSA3LjA3MzEgMy43Mzc0NCA3LjA3MzEgNC4wMzAzMSA2Ljc4MDMxTDkuMjgwMzEgMS41MzAzMUM5LjU2NDU0IDEuMjM2MDMgOS41NjA0NyAwLjc2ODI0OCA5LjI3MTE3IDAuNDc4OTQ3QzguOTgxODcgMC4xODk2NDcgOC41MTQxIDAuMTg1NTgyIDguMjE5ODEgMC40Njk4MTFaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL3N2ZyUzRSUwQVwiO1xyXG4kZm9ybS1kaXNhYmxlZC1jb2xvcjogJGNvbG9yLW11dGVkLWRlZmF1bHQ7XHJcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6IGxpZ2h0ZW4oJGZvcm0tcmFkaW8tYmFja2dyb3VuZCwgMjApO1xyXG5cclxuLyogTW9kYWxcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiRtb2RhbC16LWluZGV4OiAxMDAxO1xyXG4kbW9kYWwtY2xvc2Utei1pbmRleDogMTA7XHJcbiRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogMDtcclxuJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogMDtcclxuXHJcbi8qIE9mZmNhbnZhc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJG9mZmNhbnZhcy16LWluZGV4OiAkbW9kYWwtei1pbmRleCArIDE7XHJcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWw6IDI0cHg7XHJcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogMzJweDtcclxuJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDogJGNvbG9yLW11dGVkLWRlZmF1bHQ7XHJcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtbTogMzJweDtcclxuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsLW06IDEwNnB4O1xyXG5cclxuLyogTm90aWZpY2F0aW9uXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLXRvcDogMTVweDtcclxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc6IDEycHg7XHJcbiRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDtcclxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yOiB3aGl0ZTtcclxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XHJcbiRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDogMS41O1xyXG4vLyAyMCBtb2RpZmllciBkdWUgdG8gc3RhY2sgb2ZmY2FudmFzIHdoaWNoIGhhcyBiaWdnZXIgei1pbmRleFxyXG4kbm90aWZpY2F0aW9uLXotaW5kZXg6ICRvZmZjYW52YXMtei1pbmRleCAqIDIwICsgMTtcclxuXHJcbiRub3RpZmljYXRpb24tY2xvc2UtdG9wOiA1MCU7XHJcbiRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ6IDEycHg7XHJcblxyXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yO1xyXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yO1xyXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yO1xyXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I7XHJcblxyXG4vKiBBbmltYXRpb25cclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjogMC4yNXM7XHJcblxyXG4vKiBNaXNjXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kc2NhbGUtaW1hZ2Utb24taG92ZXI6IDEuMDQ7XHJcbiIsIi8qIExpbmsgYmFzZVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1peGluIGhvb2stYmFzZS1saW5rIHtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcbn1cclxuXHJcbi8qIEJ1dHRvbiBiYXNlXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AbWl4aW4gaG9vay1idXR0b24ge1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XHJcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kZWZhdWx0O1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgY29sb3IsIGJvcmRlci1jb2xvcjtcclxufVxyXG5cclxuLyogQnV0dG9uIGRlZmF1bHRcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiZmJmYmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxufVxyXG5cclxuLyogQnV0dG9uIGRlZmF1bHRcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyIHtcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG59XHJcblxyXG4vKiBGb3JtIHNpbmdsZSBsaW5lXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkM2Q1ZDk7XHJcbiAgICBjYXJldC1jb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZGVmYXVsdDtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcclxufVxyXG5cclxuLyogTm90aWZpY2F0aW9uIG1lc3NhZ2VcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XHJcbn1cclxuXHJcbi8qIE5vdGlmaWNhdGlvbiBtZXNzYWdlIHByaW1hcnlcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ7XHJcbn1cclxuXHJcbi8qIE5vdGlmaWNhdGlvbiBtZXNzYWdlIHN1Y2Nlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3Mge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQ7XHJcbn1cclxuXHJcbi8qIE5vdGlmaWNhdGlvbiBtZXNzYWdlIHdhcm5pbmdcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQ7XHJcbn1cclxuXHJcbi8qIE5vdGlmaWNhdGlvbiBtZXNzYWdlIGRhbmdlclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQ7XHJcbn1cclxuXHJcbi8qIE5vdGlmaWNhdGlvbiBjbG9zZVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHJcbiAgICAmLFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgfVxyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi9zd2lwZXItc2V0dGluZ3NcIjtcclxuXHJcbi5zd2lwZXIge1xyXG4gICAgJGJsb2NrOiAmO1xyXG5cclxuICAgICYtYnV0dG9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAmLWJ1dHRvbiB7XHJcbiAgICAgICAgQGV4dGVuZCAlc3dpcGVyLW5hdmlnYXRpb24tYnV0dG9uICFvcHRpb25hbDtcclxuXHJcbiAgICAgICAgJGJsb2NrOiAmO1xyXG5cclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBjb2xvcjogJHN3aXBlci1hcnJvdy1jb2xvcjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBoZWlnaHQ6ICRzd2lwZXItYXJyb3ctaGVpZ2h0O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZGVmYXVsdDtcclxuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgb3BhY2l0eSwgYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICB3aWR0aDogJHN3aXBlci1hcnJvdy13aWR0aDtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpub3QoJi1kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1uby10b3VjaCB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1hY2NlbnQtZGVmYXVsdCwgMTApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE5cHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHN0cm9rZSAwLjJzIGVhc2Utb3V0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1wcmV2IHtcclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWRpc2FibGVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjZGZlNTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWxhcmdlIHtcclxuICAgICAgICAgICAgc2l6ZTogNTBweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgICAgIHNpemU6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgc2l6ZTogMzJweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi13aGl0ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG5cclxuICAgICAgICAgICAgJjpub3QoJi1kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtbm8tdG91Y2gge1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLWFjY2VudC1kZWZhdWx0LCAxMCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgIHN0cm9rZTogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIiR0aGVtZUNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcblxyXG4vLyBwYWdpbmF0aW9uXHJcbiRzd2lwZXItYnVsbGV0LWNvbG9yOiAkY29sb3ItbXV0ZWQtZGVmYXVsdCAhZGVmYXVsdDtcclxuJHN3aXBlci1idWxsZXQtYWN0aXZlLWNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQgIWRlZmF1bHQ7XHJcbiRzd2lwZXItYnVsbGV0LWhvdmVyLWNvbG9yOiBkYXJrZW4oJHN3aXBlci1idWxsZXQtY29sb3IsIDM1KSAhZGVmYXVsdDtcclxuJHN3aXBlci1idWxsZXQtaW5uZXItc2l6ZTogNnB4ICFkZWZhdWx0O1xyXG4kc3dpcGVyLWJ1bGxldC1wYWRkaW5nOiAxNnB4ICFkZWZhdWx0O1xyXG4kc3dpcGVyLXBhZ2luYXRpb24tbWFyZ2luOiA0OHB4ICFkZWZhdWx0O1xyXG4kc3dpcGVyLXBhZ2luYXRpb24tbWFyZ2luLXM6IDM2cHggIWRlZmF1bHQ7XHJcblxyXG4vLyBuYXZpZ2F0aW9uXHJcbiRzd2lwZXItYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xyXG4kc3dpcGVyLWFycm93LWFjdGl2ZS1jb2xvcjogZGFya2VuKCRzd2lwZXItYXJyb3ctY29sb3IsIDIwKSAhZGVmYXVsdDtcclxuJHN3aXBlci1hcnJvdy13aWR0aDogMjdweCAhZGVmYXVsdDtcclxuJHN3aXBlci1hcnJvdy1oZWlnaHQ6ICRzd2lwZXItYXJyb3ctd2lkdGggIWRlZmF1bHQ7XHJcbiRzd2lwZXItYXJyb3ctb2Zmc2V0OiA0MnB4ICFkZWZhdWx0O1xyXG4kc3dpcGVyLWFycm93LXBhZGRpbmc6IDhweCAhZGVmYXVsdDtcclxuJHN3aXBlci1hcnJvdy1wYWRkaW5nLXM6IDEycHggIWRlZmF1bHQ7XHJcbiRzd2lwZXItYXJyb3ctd2lkdGgtczogNDhweCAhZGVmYXVsdDtcclxuJHN3aXBlci1hcnJvdy1oZWlnaHQtczogJHN3aXBlci1hcnJvdy13aWR0aC1zICFkZWZhdWx0O1xyXG4kc3dpcGVyLWFycm93LXNpemUtbW9kLXNtYWxsOiA0NnB4O1xyXG5cclxuLy8gc2Nyb2xsYmFyXHJcbiRzd2lwZXItc2Nyb2xsYmFyLWNvbG9yOiBoc2woMCwgMCUsIDkyJSkgIWRlZmF1bHQ7XHJcbiRzd2lwZXItc2Nyb2xsYmFyLWNvbG9yLWRyYWc6IGhzbCgwLCAwJSwgODIlKSAhZGVmYXVsdDtcclxuIiwiJGJyZWFrcG9pbnQteHhzbWFsbDogMzc1cHggIWRlZmF1bHQ7XHJcbiRicmVha3BvaW50LXhzbWFsbDogNDI1cHggIWRlZmF1bHQ7XHJcbiRicmVha3BvaW50LXNtYWxsOiA2NDBweCAhZGVmYXVsdDtcclxuJGJyZWFrcG9pbnQtbWVkaXVtOiA5MDBweCAhZGVmYXVsdDtcclxuJGJyZWFrcG9pbnQtbGFyZ2U6IDEwMDBweCAhZGVmYXVsdDtcclxuJGJyZWFrcG9pbnQteGxhcmdlOiAxMjAwcHggIWRlZmF1bHQ7XHJcbiRicmVha3BvaW50LXh4bGFyZ2U6IDEzNjZweCAhZGVmYXVsdDtcclxuXHJcbkBmdW5jdGlvbiB2dy1mcm9tKCRicCkge1xyXG4gICAgQHJldHVybiAobWluLXdpZHRoOiAkYnApO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdnctdG8oJGJwKSB7XHJcbiAgICBAcmV0dXJuIChtYXgtd2lkdGg6ICRicCAtIDEpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdmgtZnJvbSgkYnApIHtcclxuICAgIEByZXR1cm4gKG1pbi1oZWlnaHQ6ICRicCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB2aC10bygkYnApIHtcclxuICAgIEByZXR1cm4gKG1heC1oZWlnaHQ6ICRicCAtIDEpO1xyXG59XHJcblxyXG5AbWl4aW4gdncteHhzbWFsbC1kb3duIHtcclxuICAgIEBtZWRpYSAje3Z3LXRvKCRicmVha3BvaW50LXh4c21hbGwpfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB2dy14eHNtYWxsLXVwIHtcclxuICAgIEBtZWRpYSAje3Z3LWZyb20oJGJyZWFrcG9pbnQteHhzbWFsbCl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgIEBtZWRpYSAje3Z3LXRvKCRicmVha3BvaW50LXhzbWFsbCl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LXhzbWFsbC11cCB7XHJcbiAgICBAbWVkaWEgI3t2dy1mcm9tKCRicmVha3BvaW50LXhzbWFsbCl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgQG1lZGlhICN7dnctdG8oJGJyZWFrcG9pbnQtc21hbGwpfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB2dy1zbWFsbC11cCB7XHJcbiAgICBAbWVkaWEgI3t2dy1mcm9tKCRicmVha3BvaW50LXNtYWxsKX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdnctc21hbGwtb25seSB7XHJcbiAgICBAbWVkaWEgI3t2dy1mcm9tKCRicmVha3BvaW50LXhzbWFsbCl9IGFuZCAje3Z3LXRvKCRicmVha3BvaW50LXNtYWxsKX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdnctbWVkaXVtLWRvd24ge1xyXG4gICAgQG1lZGlhICN7dnctdG8oJGJyZWFrcG9pbnQtbWVkaXVtKX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdnctbWVkaXVtLXVwIHtcclxuICAgIEBtZWRpYSAje3Z3LWZyb20oJGJyZWFrcG9pbnQtbWVkaXVtKX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdnctbWVkaXVtLW9ubHkge1xyXG4gICAgQG1lZGlhICN7dnctZnJvbSgkYnJlYWtwb2ludC1zbWFsbCl9IGFuZCAje3Z3LXRvKCRicmVha3BvaW50LW1lZGl1bSl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgQG1lZGlhICN7dnctdG8oJGJyZWFrcG9pbnQtbGFyZ2UpfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB2dy1sYXJnZS11cCB7XHJcbiAgICBAbWVkaWEgI3t2dy1mcm9tKCRicmVha3BvaW50LWxhcmdlKX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdnctbGFyZ2Utb25seSB7XHJcbiAgICBAbWVkaWEgI3t2dy1mcm9tKCRicmVha3BvaW50LW1lZGl1bSl9IGFuZCAje3Z3LXRvKCRicmVha3BvaW50LWxhcmdlKX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdncteGxhcmdlLW9ubHkge1xyXG4gICAgQG1lZGlhICN7dnctZnJvbSgkYnJlYWtwb2ludC1sYXJnZSl9IGFuZCAje3Z3LXRvKCRicmVha3BvaW50LXhsYXJnZSl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgIEBtZWRpYSAje3Z3LXRvKCRicmVha3BvaW50LXhsYXJnZSl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LXhsYXJnZS11cCB7XHJcbiAgICBAbWVkaWEgI3t2dy1mcm9tKCRicmVha3BvaW50LXhsYXJnZSl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LXh4bGFyZ2Utb25seSB7XHJcbiAgICBAbWVkaWEgI3t2dy1mcm9tKCRicmVha3BvaW50LXhsYXJnZSl9IGFuZCAje3Z3LXRvKCRicmVha3BvaW50LXh4bGFyZ2UpfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB2dy14eGxhcmdlLWRvd24ge1xyXG4gICAgQG1lZGlhICN7dnctdG8oJGJyZWFrcG9pbnQteHhsYXJnZSl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LXh4bGFyZ2UtdXAge1xyXG4gICAgQG1lZGlhICN7dnctZnJvbSgkYnJlYWtwb2ludC14eGxhcmdlKX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdnctY3VzdG9tLXVwKCRicmVha3BvaW50KSB7XHJcbiAgICBAbWVkaWEgI3t2dy1mcm9tKCRicmVha3BvaW50KX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdnctY3VzdG9tLWRvd24oJGJyZWFrcG9pbnQpIHtcclxuICAgIEBtZWRpYSAje3Z3LXRvKCRicmVha3BvaW50KX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcbiIsIkBmdW5jdGlvbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XHJcbiAgICBAcmV0dXJuICgoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlKTtcclxufVxyXG5cclxuQG1peGluIG1lZGlhLXRvdWNoIHtcclxuICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpIGFuZCAocG9pbnRlcjogY29hcnNlKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtZWRpYS1uby10b3VjaCB7XHJcbiAgICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLy8gTmFtZTogICAgICAgICAgICBCYXNlXG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmF1bHQgdmFsdWVzIGZvciBIVE1MIGVsZW1lbnRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWgxYCwgYHVrLWgyYCwgYHVrLWgzYCwgYHVrLWg0YCwgYHVrLWg1YCwgYHVrLWg2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstaHJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRiYXNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4kYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtMnhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtaDEtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtaDItZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMyAhZGVmYXVsdDtcbiRiYXNlLWgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgzLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg1LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kYmFzZS1saXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDogICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYmFzZS1wcmUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlLWNvZGUtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICMzOWYgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYXNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBgZm9udC1zaXplYCB0byBzdXBwb3J0IGByZW1gIHVuaXRzXG4gKiAgICBOb3QgdXNpbmcgYGZvbnRgIHByb3BlcnR5IGJlY2F1c2UgYSBsZWFkaW5nIGh5cGhlbiAoZS5nLiAtYXBwbGUtc3lzdGVtKSBjYXVzZXMgdGhlIGZvbnQgdG8gYnJlYWsgaW4gSUUxMSBhbmQgRWRnZVxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKiAzLiBTdHlsZVxuICovXG5cbmh0bWwge1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogJGJhc2UtYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRiYXNlLWJvZHktZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1ib2R5LWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ib2R5LWxpbmUtaGVpZ2h0O1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWJvZHktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtYm9keS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ib2R5KSkge0BpbmNsdWRlIGhvb2stYmFzZS1ib2R5KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkgeyBtYXJnaW46IDA7IH1cblxuXG4vKiBMaW5rc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBTdHlsZVxuICovXG5cbmEsXG4udWstbGluayB7XG4gICAgY29sb3I6ICRiYXNlLWxpbmstY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtbGluaykpIHtAaW5jbHVkZSBob29rLWJhc2UtbGluaygpO31cbn1cblxuYTpob3Zlcixcbi51ay1saW5rOmhvdmVyLFxuLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLFxuLnVrLWxpbmstdG9nZ2xlOmZvY3VzIC51ay1saW5rIHtcbiAgICBjb2xvcjogJGJhc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWxpbmstaG92ZXIoKTt9XG59XG5cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBFZGdlLlxuICogMi4gVGhlIHNob3J0aGFuZCBkZWNsYXJhdGlvbiBgdW5kZXJsaW5lIGRvdHRlZGAgaXMgbm90IHN1cHBvcnRlZCBpbiBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBkb3R0ZWQ7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcgeyBmb250LXdlaWdodDogJGJhc2Utc3Ryb25nLWZvbnQtd2VpZ2h0OyB9XG5cbi8qXG4gKiAxLiBDb25zb2xhcyBoYXMgYSBiZXR0ZXIgYmFzZWxpbmUgaW4gcnVubmluZyB0ZXh0IGNvbXBhcmVkIHRvIGBDb3VyaWVyYFxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gU3R5bGVcbiAqL1xuXG46bm90KHByZSkgPiBjb2RlLFxuOm5vdChwcmUpID4ga2JkLFxuOm5vdChwcmUpID4gc2FtcCB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5O1xuICAgIC8qIDIgKi9cbiAgICBmb250LXNpemU6ICRiYXNlLWNvZGUtZm9udC1zaXplO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJGJhc2UtY29kZS1jb2xvcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWNvZGUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWNvZGUoKTt9XG59XG5cbi8qXG4gKiBFbXBoYXNpemVcbiAqL1xuXG5lbSB7IGNvbG9yOiAkYmFzZS1lbS1jb2xvcjsgfVxuXG4vKlxuICogSW5zZXJ0XG4gKi9cblxuaW5zIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1pbnMtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtaW5zLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLypcbiAqIE1hcmtcbiAqL1xuXG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1tYXJrLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLW1hcmstY29sb3I7XG59XG5cbi8qXG4gKiBRdW90ZVxuICovXG5cbnEgeyBmb250LXN0eWxlOiAkYmFzZS1xdW90ZS1mb250LXN0eWxlOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7IGZvbnQtc2l6ZTogJGJhc2Utc21hbGwtZm9udC1zaXplOyB9XG5cbi8qXG4gKiBQcmV2ZW50cyBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHsgdG9wOiAtMC41ZW07IH1cbnN1YiB7IGJvdHRvbTogLTAuMjVlbTsgfVxuXG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIHRoZSBnYXAgYmV0d2VlbiBlbWJlZGRlZCBjb250ZW50IGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnMuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLypcbiAqIDEuIEFkZCByZXNwb25zaXZlbmVzcy5cbiAqIDIuIEF1dG8tc2NhbGUgdGhlIGhlaWdodC4gT25seSBuZWVkZWQgaWYgYGhlaWdodGAgYXR0cmlidXRlIGlzIHByZXNlbnQuXG4gKiAzLiBDb3JyZWN0cyByZXNwb25zaXZlIGBtYXgtd2lkdGhgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZC5cbiAqIDQuIEV4Y2x1ZGUgU1ZHcyBmb3IgSUUxMSBiZWNhdXNlIHRoZXkgZG9uJ3QgcHJlc2VydmUgdGhlaXIgYXNwZWN0IHJhdGlvLlxuICovXG5cbmNhbnZhcyxcbmltZyxcbnZpZGVvIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIDQgKi9cbkBzdXBwb3J0cyAoZGlzcGxheTogYmxvY2spIHtcblxuICAgc3ZnIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG59XG5cbi8qXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIDEuIEZpeCBsYXp5IGxvYWRpbmcgaW1hZ2VzIGlmIHBhcmVudCBlbGVtZW50IGlzIHNldCB0byBgZGlzcGxheTogaW5saW5lYCBhbmQgaGFzIGBvdmVyZmxvdzogaGlkZGVuYC5cbiAqIDIuIEhpZGUgYGFsdGAgdGV4dCBmb3IgbGF6eSBsb2FkaW5nIGltYWdlcy5cbiAqIE5vdGU6IFNlbGVjdG9yIGZvciBiYWNrZ3JvdW5kIHdoaWxlIGxvYWRpbmcgaW1nW2RhdGEtc3JjKj0nLmpwZyddW3NyYyo9J2RhdGE6aW1hZ2UnXSB7IGJhY2tncm91bmQ6IGdyZXk7IH1cbiAqL1xuXG5pbWc6bm90KFtzcmNdKSB7XG4gICAgLyogMSAqL1xuICAgIG1pbi13aWR0aDogMXB4O1xuICAgIC8qIDIgKi9cbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBJZnJhbWVcbiAqIFJlbW92ZSBib3JkZXIgaW4gYWxsIGJyb3dzZXJzXG4gKi9cblxuaWZyYW1lIHsgYm9yZGVyOiAwOyB9XG5cblxuLyogQmxvY2sgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTWFyZ2luc1xuICovXG5cbnAsXG51bCxcbm9sLFxuZGwsXG5wcmUsXG5hZGRyZXNzLFxuZmllbGRzZXQsXG5maWd1cmUgeyBtYXJnaW46IDAgMCAkYmFzZS1tYXJnaW4tdmVydGljYWwgMDsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBwLFxuKiArIHVsLFxuKiArIG9sLFxuKiArIGRsLFxuKiArIHByZSxcbiogKyBhZGRyZXNzLFxuKiArIGZpZWxkc2V0LFxuKiArIGZpZ3VyZSB7IG1hcmdpbi10b3A6ICRiYXNlLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEhlYWRpbmdzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaDEsIC51ay1oMSxcbmgyLCAudWstaDIsXG5oMywgLnVrLWgzLFxuaDQsIC51ay1oNCxcbmg1LCAudWstaDUsXG5oNiwgLnVrLWg2LFxuLnVrLWhlYWRpbmctc21hbGwsXG4udWstaGVhZGluZy1tZWRpdW0sXG4udWstaGVhZGluZy1sYXJnZSxcbi51ay1oZWFkaW5nLXhsYXJnZSxcbi51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICAgIG1hcmdpbjogMCAwICRiYXNlLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkYmFzZS1oZWFkaW5nLWNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWhlYWRpbmcoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGgxLCAqICsgLnVrLWgxLFxuKiArIGgyLCAqICsgLnVrLWgyLFxuKiArIGgzLCAqICsgLnVrLWgzLFxuKiArIGg0LCAqICsgLnVrLWg0LFxuKiArIGg1LCAqICsgLnVrLWg1LFxuKiArIGg2LCAqICsgLnVrLWg2LFxuKiArIC51ay1oZWFkaW5nLXNtYWxsLFxuKiArIC51ay1oZWFkaW5nLW1lZGl1bSxcbiogKyAudWstaGVhZGluZy1sYXJnZSxcbiogKyAudWstaGVhZGluZy14bGFyZ2UsXG4qICsgLnVrLWhlYWRpbmctMnhsYXJnZSB7IG1hcmdpbi10b3A6ICRiYXNlLWhlYWRpbmctbWFyZ2luLXRvcDsgfVxuXG4vKlxuICogU2l6ZXNcbiAqL1xuXG5oMSwgLnVrLWgxIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWgxLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtaDEtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaDEpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWgxKCk7fVxufVxuXG5oMiwgLnVrLWgyIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWgyLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtaDItbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaDIpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWgyKCk7fVxufVxuXG5oMywgLnVrLWgzIHtcbiAgICBmb250LXNpemU6ICRiYXNlLWgzLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtaDMtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaDMpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWgzKCk7fVxufVxuXG5oNCwgLnVrLWg0IHtcbiAgICBmb250LXNpemU6ICRiYXNlLWg0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtaDQtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaDQpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWg0KCk7fVxufVxuXG5oNSwgLnVrLWg1IHtcbiAgICBmb250LXNpemU6ICRiYXNlLWg1LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtaDUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaDUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWg1KCk7fVxufVxuXG5oNiwgLnVrLWg2IHtcbiAgICBmb250LXNpemU6ICRiYXNlLWg2LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtaDYtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaDYpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWg2KCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIGgxLCAudWstaDEgeyBmb250LXNpemU6ICRiYXNlLWgxLWZvbnQtc2l6ZS1tOyB9XG4gICAgaDIsIC51ay1oMiB7IGZvbnQtc2l6ZTogJGJhc2UtaDItZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIExpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxudWwsXG5vbCB7IHBhZGRpbmctbGVmdDogJGJhc2UtbGlzdC1wYWRkaW5nLWxlZnQ7IH1cblxuLypcbiAqIFJlc2V0IG1hcmdpbiBmb3IgbmVzdGVkIGxpc3RzXG4gKi9cblxudWwgPiBsaSA+IHVsLFxudWwgPiBsaSA+IG9sLFxub2wgPiBsaSA+IG9sLFxub2wgPiBsaSA+IHVsIHsgbWFyZ2luOiAwOyB9XG5cblxuLyogRGVzY3JpcHRpb24gbGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5kdCB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5kZCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG5cblxuLyogSG9yaXpvbnRhbCBydWxlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBDaHJvbWUsIEVkZ2UgYW5kIElFLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQtYWxpZ24gaW4gRWRnZSBhbmQgSUUuXG4gKiAzLiBTdHlsZVxuICovXG5cbmhyLCAudWstaHIge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiAyICovXG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6ICRiYXNlLWhyLWJvcmRlci13aWR0aCBzb2xpZCAkYmFzZS1oci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaHIpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWhyKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBocixcbiogKyAudWstaHIgeyBtYXJnaW4tdG9wOiAkYmFzZS1oci1tYXJnaW4tdmVydGljYWwgfVxuXG5cbi8qIEFkZHJlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hZGRyZXNzIHsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cblxuLyogQmxvY2txdW90ZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGJhc2UtYmxvY2txdW90ZS1mb250LXN0eWxlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJsb2NrcXVvdGUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWJsb2NrcXVvdGUoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGJsb2NrcXVvdGUgeyBtYXJnaW4tdG9wOiAkYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogQ29udGVudFxuICovXG5cbmJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAgJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCk7fVxufVxuXG5cbi8qIFByZWZvcm1hdHRlZCB0ZXh0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgZm9udDogJGJhc2UtcHJlLWZvbnQtc2l6ZSB1bnF1b3RlKFwiL1wiKSAkYmFzZS1wcmUtbGluZS1oZWlnaHQgJGJhc2UtcHJlLWZvbnQtZmFtaWx5O1xuICAgIGNvbG9yOiAkYmFzZS1wcmUtY29sb3I7XG4gICAgLW1vei10YWItc2l6ZTogNDtcbiAgICB0YWItc2l6ZTogNDtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtcHJlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1wcmUoKTt9XG59XG5cbnByZSBjb2RlIHsgZm9udC1mYW1pbHk6ICRiYXNlLXByZS1mb250LWZhbWlseTsgfVxuXG5cbi8qIFNlbGVjdGlvbiBwc2V1ZG8tZWxlbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1zZWxlY3Rpb24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2Utc2VsZWN0aW9uLWNvbG9yO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG5cbi8qIEhUTUw1IGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tYWluIHsgLyogMiAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkgeyBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbnRlbXBsYXRlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIFBhc3MgbWVkaWEgYnJlYWtwb2ludHMgdG8gSlNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQnJlYWtwb2ludHNcbiAqL1xuXG4udWstYnJlYWtwb2ludC1zOjpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtc21hbGx9JzsgfVxuLnVrLWJyZWFrcG9pbnQtbTo6YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LW1lZGl1bX0nOyB9XG4udWstYnJlYWtwb2ludC1sOjpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtbGFyZ2V9JzsgfVxuLnVrLWJyZWFrcG9pbnQteGw6OmJlZm9yZSB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LXhsYXJnZX0nOyB9XG5cbjpyb290IHtcbiAgICAtLXVrLWJyZWFrcG9pbnQtczogI3skYnJlYWtwb2ludC1zbWFsbH07XG4gICAgLS11ay1icmVha3BvaW50LW06ICN7JGJyZWFrcG9pbnQtbWVkaXVtfTtcbiAgICAtLXVrLWJyZWFrcG9pbnQtbDogI3skYnJlYWtwb2ludC1sYXJnZX07XG4gICAgLS11ay1icmVha3BvaW50LXhsOiAjeyRicmVha3BvaW50LXhsYXJnZX07XG59XG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWJhc2UtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYmFzZS1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1saW5rKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1jb2RlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oZWFkaW5nKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgzKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNCgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg2KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ocigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtYmxvY2txdW90ZSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLXByZSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYmFzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1jb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1lbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1oci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtY29kZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgxKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg1KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg2KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaHIoKXt9XG4iLCIkZ2xvYmFsLW1hcmdpbjogMjBweCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taXRlbS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtY29sb3I6ICM2NjYgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1pbnZlcnNlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1jb2xvcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1ndXR0ZXI6IDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1yaWdodDogJGFsZXJ0LXBhZGRpbmcgKyAxNHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAjZjhmOGY4ICFkZWZhdWx0O1xuJGFsZXJ0LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS10b3A6ICRhbGVydC1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXJpZ2h0OiAkYWxlcnQtcGFkZGluZyAhZGVmYXVsdDtcbiRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMWU4N2YwICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQ6ICMzMmQyOTYgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQsIDQwJSksIDI1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZDogI2ZhYTA1YSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCwgNDUlKSwgMTUlKSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQ6ICNmMDUwNmUgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtZ3V0dGVyOiAzMHB4ICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tZ3V0dGVyOiA0MHB4ICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRhbmltYXRpb24tZHVyYXRpb246IDAuNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhZGUtZHVyYXRpb246IDAuOHMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXN0cm9rZS1kdXJhdGlvbjogMnMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uOiAxNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhc3QtZHVyYXRpb246IDAuMXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogMTBweCAhZGVmYXVsdDtcbiRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogNTBweCAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtbWFyZ2luOiA3MHB4ICFkZWZhdWx0O1xuJGFydGljbGUtbWFyZ2luLXRvcDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplOiAyLjYyNXJlbSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tOiAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtZm9udC1zaXplOiAkYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1mb250LXNpemU6IDAuODc1cmVtICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1jb2xvcjogIzk5OSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWJhY2tncm91bmQ6ICNmZmYgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAjMjIyICFkZWZhdWx0O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFkZ2Utc2l6ZTogMjJweCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsOiAwICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogNXB4ICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGJhZGdlLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYWRnZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1jb2xvcjogIzFlODdmMCAhZGVmYXVsdDtcbiRiYXNlLWxpbmstY29sb3I6ICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yOiAjMGY2ZWNkICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRiYXNlLXN0cm9uZy1mb250LXdlaWdodDogYm9sZGVyICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGJhc2UtY29kZS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWVtLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtaW5zLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2Utc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tbWFyZ2luOiA0MHB4ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemUtbTogJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgxLWZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZS1tOiAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemU6ICRiYXNlLWgyLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgyLWxpbmUtaGVpZ2h0OiAxLjMgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJGJhc2UtaDMtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgzLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNC1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg0LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg2LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNi1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtbGlzdC1wYWRkaW5nLWxlZnQ6IDMwcHggIWRlZmF1bHQ7XG4kYmFzZS1oci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZ2xvYmFsLWJvcmRlcjogI2U1ZTVlNSAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLW1hcmdpbjogMTBweCAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLXByZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtZmFtaWx5OiAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ6ICMzOWYgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWJvcmRlcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6IFwiL1wiICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItZm9udC1zaXplOiAkYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodDogNTVweCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstY29sb3I6ICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtdG9wOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXJpZ2h0OiAkY2FyZC1iYWRnZS10b3AgIWRlZmF1bHQ7XG4kY2FyZC1ob3Zlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS10aXRsZS1jb2xvcjogJGNhcmQtcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRjYXJkLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktdGl0bGUtY29sb3I6ICRjYXJkLXNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWd1dHRlcjogNzBweCAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXI6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXItbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTogMTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLW1heC13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOiA3NTBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiA5MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOiAxNDAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXhsYXJnZS1tYXgtd2lkdGg6IDE2MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1saW5lLWhlaWdodDogMC44ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM6IDRyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTogNnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWxpbmUtaGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczogMnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOiAzcmVtICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24td2lkdGg6IDUwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWhlaWdodDogMjBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tY29sb3I6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXRvcDogNTAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyMCUyMiUyMGhlaWdodCUzRCUyMjIwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMiUyMiUyMGN4JTNEJTIyMTAlMjIlMjBjeSUzRCUyMjEwJTIyJTIwciUzRCUyMjclMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLXdpZHRoOiAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtaGVpZ2h0OiAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1zbWFsbC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDogJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS13aWR0aDogMTBweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICRkb3RuYXYtaXRlbS13aWR0aCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kZ2xvYmFsLXotaW5kZXg6IDEwMDAgIWRlZmF1bHQ7XG4kZHJvcC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbiRkcm9wLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nOiAxNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1tYXJnaW46ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogMTVweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogM3B4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgMTUlKSAhZGVmYXVsdDtcbiRmb3JtLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxpbmUtaGVpZ2h0OiAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLXZlcnRpY2FsOiA0cHggIWRlZmF1bHQ7XG4kZm9ybS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogOHB4ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtbGluZS1oZWlnaHQ6ICRmb3JtLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1saW5lLWhlaWdodDogJGZvcm0tbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXhzbWFsbDogNTBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXNtYWxsOiAxMzBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLW1lZGl1bTogMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1sYXJnZTogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDogMjBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LW9wdGlvbi1jb2xvcjogIzQ0NCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZGF0YWxpc3QtcGFkZGluZy1yaWdodDogMjBweCAhZGVmYXVsdDtcbiRmb3JtLWRhdGFsaXN0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogLTRweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A6IDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6IDIxNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOiA3cHggIWRlZmF1bHQ7XG4kZm9ybS1pY29uLXdpZHRoOiAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taWNvbi1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tZGF0YWxpc3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMiUyMDglMjA2JTIwMTYlMjA2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIweCUzRCUyMjMlMjIlMjB5JTNEJTIyOCUyMiUyMHdpZHRoJTNEJTIyMTAlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWljb24taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWwtbDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbDogNHJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgKiAwLjgxMjUgIWRlZmF1bHQ7XG4kaGVhZGluZy1zbWFsbC1mb250LXNpemU6ICRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1tICogMC44ICFkZWZhdWx0O1xuJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgKiAwLjg3NSAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemU6ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbSAqIDAuODI1ICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW06ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemUtbDogNnJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWwgIWRlZmF1bHQ7XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZTogJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0O1xuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sOiA4cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemUtbTogJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemUtbDogMTFyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1zbWFsbC1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGhlYWRpbmctbWVkaXVtLWxpbmUtaGVpZ2h0OiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy1sYXJnZS1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmcteGxhcmdlLWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b206IHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4xZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aDogdW5xdW90ZSgnY2FsYygwLjJweCArIDAuMDVlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC10b3A6IHVucXVvdGUoJ2NhbGMoLTAuMSAqIDFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1oZWlnaHQ6IHVucXVvdGUoJ2NhbGMoNHB4ICsgMC43ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0OiB1bnF1b3RlKCdjYWxjKDVweCArIDAuMmVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aDogdW5xdW90ZSgnY2FsYyg1cHggKyAwLjFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS10b3A6IDUwJSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoOiB1bnF1b3RlKCdjYWxjKDAuMnB4ICsgMC4wNWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS13aWR0aDogMjAwMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDogdW5xdW90ZSgnY2FsYyg1cHggKyAwLjNlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWw6IDMuNzVyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LWw6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW06ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWwgKiAwLjkgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbCAqIDAuOCAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWw6IDhyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LWw6IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sICogMC43NSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbTogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sICogMC41ICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctbGluZS1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVpZ2h0LXNtYWxsLWhlaWdodDogMTUwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LW1lZGl1bS1oZWlnaHQ6IDMwMHB4ICFkZWZhdWx0O1xuJGhlaWdodC1sYXJnZS1oZWlnaHQ6IDQ1MHB4ICFkZWZhdWx0O1xuJGljb24taW1hZ2Utc2l6ZTogMjBweCAhZGVmYXVsdDtcbiRpY29uLWxpbmstY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1hY3RpdmUtY29sb3I6IGRhcmtlbigkZ2xvYmFsLWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tc2l6ZTogMzZweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDogJGljb25uYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsOiAwICFkZWZhdWx0O1xuJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGFiZWwtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsYWJlbC1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctYmFja2dyb3VuZDogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGFiZWwtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1jb250ZW50OiB1bnF1b3RlKCcuJykgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJhY2tncm91bmQ6ICMwMDAgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tbWF4LXdpZHRoOiAxMDB2dyAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC1oZWlnaHQ6IDEwMHZoICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24taG92ZXItY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLXNpemU6IDUwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWJhY2tncm91bmQ6ICRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWhvdmVyLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGluay1tdXRlZC1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLXRleHQtaG92ZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaW5rLWhlYWRpbmctaG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay10ZXh0LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXBhZGRpbmctbGVmdDogMzBweCAhZGVmYXVsdDtcbiRsaXN0LW1hcmtlci1oZWlnaHQ6ICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRsaXN0LW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZW1waGFzaXMtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjI2JTIyJTIwaGVpZ2h0JTNEJTIyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYlMjA2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWVtcGhhc2lzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXByaW1hcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbWFyZ2luLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXNtYWxsLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLW1lZGl1bS1tYXJnaW46ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLWxhcmdlLW1hcmdpbi1sOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbjogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1tYXJnaW46IDE0MHB4ICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJrZXItcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG1hcmtlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1hcmtlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJG1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNikgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWw6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zOiA1MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1jb250YWluZXItd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBvc2l0aW9uOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogMTAwJSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yOiBsaWdodGVuKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0OiAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAycHggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWhlaWdodDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxMCUyMDElMjA0JTIwNyUyMDEwJTIwMTMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItY29sb3ItbW9kZTogbm9uZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taGVpZ2h0OiA4MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaXRlbS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tcGFkZGluZzogMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDogMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tYm90dG9tOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLWJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tcG9zaXRpb246IDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDQwICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi13aWR0aDogMzUwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLXRvcDogMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtdG9wOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItd2lkdGg6IDI3MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItd2lkdGgtbTogMzUwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uOiAyMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZy1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbWVkaXVtLW1hcmdpbjogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbDogNTBweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1oZWlnaHQ6IDE1cHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtd2lkdGg6IDE4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLXdpZHRoOiA0MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWljb24td2lkdGg6IDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLXdpZHRoOiA1MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtaGVpZ2h0OiA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOiA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC10b2dnbGUtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG4kc2VjdGlvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1jb2xvcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWhvdmVyLWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjk1KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kc29ydGFibGUtZHJhZ2dlZC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyA1MCAhZGVmYXVsdDtcbiRzb3J0YWJsZS1wbGFjZWhvbGRlci1vcGFjaXR5OiAwICFkZWZhdWx0O1xuJHNvcnRhYmxlLWVtcHR5LWhlaWdodDogNTBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXNpemU6IDMwcHggIWRlZmF1bHQ7XG4kc3Bpbm5lci1zdHJva2Utd2lkdGg6IDEgIWRlZmF1bHQ7XG4kc3Bpbm5lci1yYWRpdXM6IGZsb29yKCgkc3Bpbm5lci1zaXplIC0gJHNwaW5uZXItc3Ryb2tlLXdpZHRoKSAvIDIpICFkZWZhdWx0O1xuJHNwaW5uZXItY2lyY3VtZmVyZW5jZTogcm91bmQoMiAqIDMuMTQxICogJHNwaW5uZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRzcGlubmVyLWR1cmF0aW9uOiAxLjRzICFkZWZhdWx0O1xuJHN0aWNreS16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcbiRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycyAhZGVmYXVsdDtcbiRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItaGVpZ2h0OiAxLjVlbSAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAkc3VibmF2LWl0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAxNnB4ICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJHRhYmxlLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctdmVydGljYWw6IDIycHggIWRlZmF1bHQ7XG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtZXhwYW5kLW1pbi13aWR0aDogMTUwcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtY2FwdGlvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgMC4wMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtZW1waGFzaXMtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbGVhZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LWVtcGhhc2lzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWw6ICR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuJHRpbGUtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1tdXRlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHRvb2x0aXAtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMzAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbDogM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kOiAjNjY2ICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZTogMTJweCAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogMTBweCAhZGVmYXVsdDtcbiR0b3RvcC1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kdG90b3AtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdG90b3AtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdG90b3AtYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2NhbGU6IDEuMSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogMTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6IDUwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOiAwLjdzICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0OiAxNzBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1kdXJhdGlvbjogMC4xcyAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1czogMTAwJSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kOiAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6IDIwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1tYXJnaW4tcmlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1mb250LXNpemU6ICgoJGdsb2JhbC1saW5lLWhlaWdodCAqIDMpICogMWVtKSAhZGVmYXVsdDtcbiRsb2dvLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbG9nby1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsb2dvLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxvZ28taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJhZ292ZXItYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgxMDAsMTAwLDEwMCwwLjMpICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRlcHJlY2F0ZWQ6IGZhbHNlICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtc21hbGw6IDY0MHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbWVkaXVtOiA5NjBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlOiAxMjAwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC14bGFyZ2U6IDE2MDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LXhzbWFsbC1tYXg6ICgkYnJlYWtwb2ludC1zbWFsbCAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtc21hbGwtbWF4OiAoJGJyZWFrcG9pbnQtbWVkaXVtIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1tZWRpdW0tbWF4OiAoJGJyZWFrcG9pbnQtbGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlLW1heDogKCRicmVha3BvaW50LXhsYXJnZSAtIDEpICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzogMCAxNHB4IDI1cHggcmdiYSgwLDAsMCwwLjE2KSAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c6IDAgMjhweCA1MHB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG4kd2lkdGgtc21hbGwtd2lkdGg6IDE1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLW1lZGl1bS13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbGFyZ2Utd2lkdGg6IDQ1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLXhsYXJnZS13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtMnhsYXJnZS13aWR0aDogNzUwcHggIWRlZmF1bHQ7IiwiLy8gQmFzZSB0aGluZ3Mgd2Ugd2FudCB0byBkbyB3aXRoIFVJS2l0IG9uIGV2ZXJ5IHByb2plY3Qgd2UgdXNlIGl0XHJcbiRiYXNlLWVtLWNvbG9yOiBpbmhlcml0O1xyXG4kYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A6IDA7XHJcbiRiYXNlLW1hcmdpbi12ZXJ0aWNhbDogMDtcclxuIiwiLy8gTmFtZTogICAgICAgICAgICBJY29uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaWNvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1pY29uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWljb24taW1hZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pY29uLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pY29uLWJ1dHRvbmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaWNvbi1pbWFnZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGljb24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1jb2xvciwgNSUpICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzZweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBOb3RlOiAxLiAtIDcuIGlzIHJlcXVpcmVkIGZvciBgYnV0dG9uYCBlbGVtZW50cy4gTmVlZGVkIGZvciBDbG9zZSBhbmQgRm9ybSBJY29uIGNvbXBvbmVudC5cbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIFJlbW92ZSBib3JkZXItcmFkaXVzIGluIENocm9tZS5cbiAqIDQuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA1LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNi4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA3LiBSZW1vdmUgZGVmYXVsdCBgYnV0dG9uYCBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGNvbG9yXG4gKiA4LiBTdHlsZVxuICogOS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMTAuIExldCB0aGUgY29udGFpbmVyIGZpdCB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uXG4gKi9cblxuLnVrLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogNiAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC8qIDcuICovXG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvKiA4ICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDkgKi9cbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgLyogMTAgKi9cbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuLyogUmVxdWlyZWQgZm9yIGBidXR0b25gLiAqL1xuYnV0dG9uLnVrLWljb246bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKi9cblxuLnVrLWljb246bm90KC51ay1wcmVzZXJ2ZSkgW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH1cbi51ay1pY29uOm5vdCgudWstcHJlc2VydmUpIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBzdHJva2U6IGN1cnJlbnRjb2xvcjsgfVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuXG4udWstaWNvbiA+ICogeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApOyB9XG5cblxuLyogSW1hZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGlzcGxheSBpbWFnZXMgaW4gaWNvbiBkaW1lbnNpb25zXG4gKi9cblxuLnVrLWljb24taW1hZ2Uge1xuICAgIHdpZHRoOiAkaWNvbi1pbWFnZS1zaXplO1xuICAgIGhlaWdodDogJGljb24taW1hZ2Utc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExpbmtcbiAqL1xuXG4udWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rKCk7fVxufVxuXG4udWstaWNvbi1saW5rOmhvdmVyLFxuLnVrLWljb24tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1saW5rOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmstYWN0aXZlKCk7fVxufVxuXG4vKlxuICogQnV0dG9uXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstaWNvbi1idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRpY29uLWJ1dHRvbi1zaXplO1xuICAgIGhlaWdodDogJGljb24tYnV0dG9uLXNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGljb24tYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbi1idXR0b246aG92ZXIsXG4udWstaWNvbi1idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tYnV0dG9uOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWljb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staWNvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWljb24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZvcm1cbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBmb3Jtc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWZvcm0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWlucHV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VsZWN0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGV4dGFyZWFgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yYWRpb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNoZWNrYm94YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGVnZW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmllbGRzZXRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstZm9ybS1jdXN0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN0YWNrZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWhvcml6b250YWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhYmVsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9sc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbi1mbGlwYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWZvcm0tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1kYW5nZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWJsYW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC14c21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9scy10ZXh0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgIDRweCAhZGVmYXVsdDtcblxuJGZvcm0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb3JtLWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGZvcm0tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRmb3JtLXdpZHRoLXhzbWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbWVkaXVtOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LW9wdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tZGF0YWxpc3QtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgLTRweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgN3B4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDogICAgICAgICAgIDIxNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOiAgICAgIDdweCAhZGVmYXVsdDtcblxuJGZvcm0taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tZGF0YWxpc3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMiUyMDglMjA2JTIwMTYlMjA2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIweCUzRCUyMjMlMjIlMjB5JTNEJTIyOCUyMiUyMHdpZHRoJTNEJTIyMTAlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRGVmaW5lIGNvbnNpc3RlbnQgYm94IHNpemluZy5cbiAqICAgIERlZmF1bHQgaXMgYGNvbnRlbnQtYm94YCB3aXRoIGZvbGxvd2luZyBleGNlcHRpb25zIHNldCB0byBgYm9yZGVyLWJveGBcbiAqICAgIGBzZWxlY3RgLCBgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdYCBhbmQgYGlucHV0W3R5cGU9XCJyYWRpb1wiXWBcbiAqICAgIGBpbnB1dFt0eXBlPVwic2VhcmNoXCJdYCBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmFcbiAqICAgIGBpbnB1dFt0eXBlPVwiY29sb3JcIl1gIGluIEZpcmVmb3hcbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveC9JRSBhbmQgQ2hyb21lL1NhZmFyaS9PcGVyYS5cbiAqIDMuIFJlbW92ZSBgYm9yZGVyLXJhZGl1c2AgaW4gaU9TLlxuICogNC4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbi51ay1pbnB1dCxcbi51ay1zZWxlY3QsXG4udWstdGV4dGFyZWEsXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG59XG5cbi8qXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbi51ay1pbnB1dCB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLXNlbGVjdCB7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDIuIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgYW5kIHVzZSBgYm9sZGAgaW5zdGVhZC5cbiAqIE5PVEU6IEJvdGggZGVjbGFyYXRpb25zIGRvbid0IHdvcmsgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICovXG5cbi51ay1zZWxlY3Qgb3B0Z3JvdXAge1xuICAgIC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIC8qIDIgKi9cbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbi51ay10ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cblxuLypcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbi51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIEltcHJvdmVzIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBmb3IgY2xpY2thYmxlIGVsZW1lbnRzXG4gKi9cblxuLnVrLXJhZGlvOm5vdCg6ZGlzYWJsZWQpLFxuLnVrLWNoZWNrYm94Om5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuLnVrLWZpZWxkc2V0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cblxuLyogSW5wdXQsIHNlbGVjdCBhbmQgdGV4dGFyZWFcbiAqIEFsbG93ZWQ6IGB0ZXh0YCwgYHBhc3N3b3JkYCwgYGRhdGV0aW1lYCwgYGRhdGV0aW1lLWxvY2FsYCwgYGRhdGVgLCAgYG1vbnRoYCxcbiAgICAgICAgICAgIGB0aW1lYCwgYHdlZWtgLCBgbnVtYmVyYCwgYGVtYWlsYCwgYHVybGAsIGBzZWFyY2hgLCBgdGVsYCwgYGNvbG9yYFxuICogRGlzYWxsb3dlZDogYHJhbmdlYCwgYHJhZGlvYCwgYGNoZWNrYm94YCwgYGZpbGVgLCBgc3VibWl0YCwgYHJlc2V0YCBhbmQgYGltYWdlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBpT1MuXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXRleHRhcmVhIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cgaWYgYSBmaXhlZCB3aWR0aCBpcyB1c2VkXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoXG4gKiAzLiBSZXNldCBkZWZhdWx0XG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1pbnB1dCxcbi51ay1zZWxlY3QsXG4udWstdGV4dGFyZWEge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogMCAkZm9ybS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGZvcm0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0pKSB7QGluY2x1ZGUgaG9vay1mb3JtKCk7fVxufVxuXG4vKlxuICogU2luZ2xlLWxpbmVcbiAqIDEuIEFsbG93IGFueSBlbGVtZW50IHRvIGxvb2sgbGlrZSBhbiBgaW5wdXRgIG9yIGBzZWxlY3RgIGVsZW1lbnRcbiAqIDIuIE1ha2Ugc3VyZSBsaW5lLWhlaWdodCBpcyBub3QgbGFyZ2VyIHRoYW4gaGVpZ2h0XG4gKiAgICBBbHNvIG5lZWRlZCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseVxuICovXG5cbi51ay1pbnB1dCxcbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLWhlaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc2luZ2xlLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXNpbmdsZS1saW5lKCk7fVxufVxuXG4vKiAyICovXG4udWstaW5wdXQ6bm90KGlucHV0KSxcbi51ay1zZWxlY3Q6bm90KHNlbGVjdCkgeyBsaW5lLWhlaWdodDogJGZvcm0tbGluZS1oZWlnaHQ7IH1cblxuLypcbiAqIE11bHRpLWxpbmVcbiAqL1xuXG4udWstc2VsZWN0W211bHRpcGxlXSxcbi51ay1zZWxlY3Rbc2l6ZV0sXG4udWstdGV4dGFyZWEge1xuICAgIHBhZGRpbmctdG9wOiAkZm9ybS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbXVsdGktbGluZSkpIHtAaW5jbHVkZSBob29rLWZvcm0tbXVsdGktbGluZSgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1pbnB1dDpmb2N1cyxcbi51ay1zZWxlY3Q6Zm9jdXMsXG4udWstdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZm9jdXMtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGZvcm0tZm9jdXMtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWZvY3VzKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWlucHV0OmRpc2FibGVkLFxuLnVrLXNlbGVjdDpkaXNhYmxlZCxcbi51ay10ZXh0YXJlYTpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGZvcm0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWRpc2FibGVkKCk7fVxufVxuXG4vKlxuICogUGxhY2Vob2xkZXJcbiAqL1xuXG4udWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cbi51ay10ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLWZvcm0tc21hbGwgeyBmb250LXNpemU6ICRmb3JtLXNtYWxsLWZvbnQtc2l6ZTsgfVxuXG4udWstZm9ybS1zbWFsbDpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1zbWFsbC1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstZm9ybS1zbWFsbDpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkgeyBsaW5lLWhlaWdodDogJGZvcm0tc21hbGwtbGluZS1oZWlnaHQ7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLWZvcm0tbGFyZ2UgeyBmb250LXNpemU6ICRmb3JtLWxhcmdlLWZvbnQtc2l6ZTsgfVxuXG4udWstZm9ybS1sYXJnZTpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1sYXJnZS1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstZm9ybS1sYXJnZTpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkgeyBsaW5lLWhlaWdodDogJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEVycm9yXG4gKi9cblxuLnVrLWZvcm0tZGFuZ2VyLFxuLnVrLWZvcm0tZGFuZ2VyOmZvY3VzIHtcbiAgICBjb2xvcjogJGZvcm0tZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWZvcm0tZGFuZ2VyKCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1mb3JtLXN1Y2Nlc3MsXG4udWstZm9ybS1zdWNjZXNzOmZvY3VzICB7XG4gICAgY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWZvcm0tc3VjY2VzcygpO31cbn1cblxuLypcbiAqIEJsYW5rXG4gKi9cblxuLnVrLWZvcm0tYmxhbmsge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tYmxhbmspKSB7QGluY2x1ZGUgaG9vay1mb3JtLWJsYW5rKCk7fVxufVxuXG4udWstZm9ybS1ibGFuazpmb2N1cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tYmxhbmstZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWJsYW5rLWZvY3VzKCk7fVxufVxuXG5cbi8qIFdpZHRoIG1vZGlmaWVycyAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZpeGVkIHdpZHRoc1xuICogRGlmZmVyZW50IHdpZHRocyBmb3IgbWluaSBzaXplZCBgaW5wdXRgIGFuZCBgc2VsZWN0YCBlbGVtZW50c1xuICovXG5cbmlucHV0LnVrLWZvcm0td2lkdGgteHNtYWxsIHsgd2lkdGg6ICRmb3JtLXdpZHRoLXhzbWFsbDsgfVxuXG5zZWxlY3QudWstZm9ybS13aWR0aC14c21hbGwgeyB3aWR0aDogKCRmb3JtLXdpZHRoLXhzbWFsbCArIDI1cHgpOyB9XG5cbi51ay1mb3JtLXdpZHRoLXNtYWxsIHsgd2lkdGg6ICRmb3JtLXdpZHRoLXNtYWxsOyB9XG5cbi51ay1mb3JtLXdpZHRoLW1lZGl1bSB7IHdpZHRoOiAkZm9ybS13aWR0aC1tZWRpdW07IH1cblxuLnVrLWZvcm0td2lkdGgtbGFyZ2UgeyB3aWR0aDogJGZvcm0td2lkdGgtbGFyZ2U7IH1cblxuXG4vKiBTZWxlY3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUuIEFsc28gd29ya3MgaW4gRmlyZWZveFxuICogMi4gU3R5bGVcbiAqIDMuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIElFIDEwLzExXG4gKiA0LiBTZXQgYGNvbG9yYCBmb3Igb3B0aW9ucyBpbiB0aGUgc2VsZWN0IGRyb3Bkb3duLCBiZWNhdXNlIHRoZSBpbmhlcml0ZWQgYGNvbG9yYCBtaWdodCBiZSB0b28gbGlnaHQuXG4gKi9cblxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1zZWxlY3QtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbn1cblxuLyogMyAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6Oi1tcy1leHBhbmQgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIDQgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIG9wdGlvbiB7IGNvbG9yOiAkZm9ybS1zZWxlY3Qtb3B0aW9uLWNvbG9yOyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICovXG5cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOmRpc2FibGVkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3IpOyB9XG5cblxuLyogRGF0YWxpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gQ2hyb21lXG4gKi9cblxuIC51ay1pbnB1dFtsaXN0XSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZGF0YWxpc3QtcGFkZGluZy1yaWdodDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xufVxuXG4udWstaW5wdXRbbGlzdF06aG92ZXIsXG4udWstaW5wdXRbbGlzdF06Zm9jdXMgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1kYXRhbGlzdC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLWRhdGFsaXN0LWljb24tY29sb3IpOyB9XG5cbi8qIDEgKi9cbi51ay1pbnB1dFtsaXN0XTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIFJhZGlvIGFuZCBjaGVja2JveFxuICogTm90ZTogRG9lcyBub3Qgd29yayBpbiBJRTExXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBNYWtlIGJveCBtb3JlIHJvYnVzdCBzbyBpdCBjbGlwcyB0aGUgY2hpbGQgZWxlbWVudFxuICogMy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA0LiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogNS4gRml4IGJsYWNrIGJhY2tncm91bmQgb24gaU9TXG4gKiA2LiBDZW50ZXIgaWNvbnNcbiAqL1xuXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYWRpby1zaXplO1xuICAgIHdpZHRoOiAkZm9ybS1yYWRpby1zaXplO1xuICAgIC8qIDIgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1yYWRpby1tYXJnaW4tdG9wO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpbykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8oKTt9XG59XG5cbi51ay1yYWRpbyB7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhZGlvOmZvY3VzLFxuLnVrLWNoZWNrYm94OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1mb2N1cygpO31cbn1cblxuLypcbiAqIENoZWNrZWRcbiAqL1xuXG4udWstcmFkaW86Y2hlY2tlZCxcbi51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1jaGVja2VkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1jaGVja2VkKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpO31cbn1cblxuLypcbiAqIEljb25zXG4gKi9cblxuLnVrLXJhZGlvOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICovXG5cbi51ay1yYWRpbzpkaXNhYmxlZCxcbi51ay1jaGVja2JveDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQoKTt9XG59XG5cbi51ay1yYWRpbzpkaXNhYmxlZDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuXG5cbi8qIExlZ2VuZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMZWdlbmRcbiAqIDEuIEJlaGF2ZSBsaWtlIGJsb2NrIGVsZW1lbnRcbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWxlZ2VuZCB7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiAzICovXG4gICAgcGFkZGluZzogMDtcbiAgICAvKiA0ICovXG4gICAgZm9udC1zaXplOiAkZm9ybS1sZWdlbmQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1sZWdlbmQtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbGVnZW5kKSkge0BpbmNsdWRlIGhvb2stZm9ybS1sZWdlbmQoKTt9XG59XG5cblxuLyogQ3VzdG9tIGNvbnRyb2xzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICovXG5cbi51ay1mb3JtLWN1c3RvbSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qXG4gKiAxLiBQb3NpdGlvbiBhbmQgcmVzaXplIHRoZSBmb3JtIGNvbnRyb2wgdG8gYWx3YXlzIGNvdmVyIGl0cyBjb250YWluZXJcbiAqIDIuIFJlcXVpcmVkIGZvciBGaXJlZm94IGZvciBwb3NpdGlvbmluZyB0byB0aGUgbGVmdFxuICogMy4gUmVxdWlyZWQgZm9yIFdlYmtpdCB0byBtYWtlIGBoZWlnaHRgIHdvcmtcbiAqIDQuIEhpZGUgY29udHJvbGUgYW5kIHNob3cgY3Vyc29yXG4gKiA1LiBOZWVkZWQgZm9yIHRoZSBjdXJzb3JcbiAqIDYuIENsaXAgaGVpZ2h0IGNhdXNlZCBieSA1LiBOZWVkZWQgZm9yIFdlYmtpdCBvbmx5XG4gKi9cblxuLnVrLWZvcm0tY3VzdG9tIHNlbGVjdCxcbi51ay1mb3JtLWN1c3RvbSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMyAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA0ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi51ay1mb3JtLWN1c3RvbSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgLyogNSAqL1xuICAgIGZvbnQtc2l6ZTogNTAwcHg7XG4gICAgLyogNiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLyogTGFiZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZm9ybS1sYWJlbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWxhYmVsKCk7fVxufVxuXG5cbi8qIExheW91dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTdGFja2VkXG4gKi9cblxuLnVrLWZvcm0tc3RhY2tlZCAudWstZm9ybS1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKTt9XG59XG5cbi8qXG4gKiBIb3Jpem9udGFsXG4gKi9cblxuLyogVGFibGV0IHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwtbWF4KSB7XG5cbiAgICAvKiBCZWhhdmUgbGlrZSBgdWstZm9ybS1zdGFja2VkYCAqL1xuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCk7fVxuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tbGFiZWwge1xuICAgICAgICB3aWR0aDogJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDtcbiAgICAgICAgbWFyZ2luLXRvcDogJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpO31cbiAgICB9XG5cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzIHsgbWFyZ2luLWxlZnQ6ICRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ7IH1cblxuICAgIC8qIEJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQgaWYgY29udHJvbHMgYXJlIGNoZWNrYm94ZXMgYW5kIHJhZGlvIGJ1dHRvbnMgd2l0aCB0ZXh0ICovXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scy10ZXh0IHsgcGFkZGluZy10b3A6ICRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDsgfVxuXG59XG5cblxuLyogSWNvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTZXQgd2lkdGhcbiAqIDMuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstZm9ybS1pY29uIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6ICRmb3JtLWljb24td2lkdGg7XG4gICAgLyogMyAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogNCAqL1xuICAgIGNvbG9yOiAkZm9ybS1pY29uLWNvbG9yO1xufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstZm9ybS1pY29uOmhvdmVyIHsgY29sb3I6ICRmb3JtLWljb24taG92ZXItY29sb3I7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG5cbi51ay1mb3JtLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogSW5wdXQgcGFkZGluZ1xuICovXG5cbi51ay1mb3JtLWljb246bm90KC51ay1mb3JtLWljb24tZmxpcCkgfiAudWstaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICRmb3JtLWljb24td2lkdGggIWltcG9ydGFudDsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuXG4udWstZm9ybS1pY29uLWZsaXAge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cbi51ay1mb3JtLWljb24tZmxpcCB+IC51ay1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICRmb3JtLWljb24td2lkdGggIWltcG9ydGFudDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbWlzYykpIHtAaW5jbHVkZSBob29rLWZvcm0tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZm9ybSgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc2luZ2xlLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLW11bHRpLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ibGFuaygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tYmxhbmstZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWxlZ2VuZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWZvcm0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogICBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIE1peGluXG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmluZXMgbWl4aW5zIHdoaWNoIGFyZSB1c2VkIGFjcm9zcyBhbGwgY29tcG9uZW50c1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFNWR1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbkBtaXhpbiBzdmctZmlsbCgkc3JjLCAkY29sb3ItZGVmYXVsdCwgJGNvbG9yLW5ldyl7XG5cbiAgICAkcmVwbGFjZS1zcmM6IHN0ci1yZXBsYWNlKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3KSAhZGVmYXVsdDtcbiAgICAkcmVwbGFjZS1zcmM6IHN0ci1yZXBsYWNlKCRyZXBsYWNlLXNyYywgXCIjXCIsIFwiJTIzXCIpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChxdW90ZSgkcmVwbGFjZS1zcmMpKTtcbn0iLCIvLyBOYW1lOiAgICAgICAgICAgIEJ1dHRvblxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGJ1dHRvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1idXR0b25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYnV0dG9uLWdyb3VwYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWJ1dHRvbi1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tc2Vjb25kYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWRhbmdlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi10ZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tbGFyZ2VgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRidXR0b24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcblxuJGJ1dHRvbi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tbGluay1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJ1dHRvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNC4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDUuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgZm9yIGBpbnB1dCB0eXBlPVwic3VibWl0XCJgaW4gaU9TLlxuICogNy4gU3R5bGVcbiAqIDguIGBsaW5lLWhlaWdodGAgaXMgdXNlZCB0byBjcmVhdGUgYSBoZWlnaHQgYmVjYXVzZSBpdCBhbHNvIGNlbnRlcnMgdGhlIHRleHQgdmVydGljYWxseSBmb3IgYGFgIGVsZW1lbnRzLlxuICogICAgQmV0dGVyIHdvdWxkIGJlIHRvIHVzZSBoZWlnaHQgYW5kIGZsZXhib3ggdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHkgYnV0IGZsZXhib3ggZG9lc24ndCB3b3JrIGluIEZpcmVmb3ggb24gYGJ1dHRvbmAgZWxlbWVudHMuXG4gKiA5LiBBbGlnbiB0ZXh0IGlmIGJ1dHRvbiBoYXMgYSB3aWR0aFxuICogMTAuIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLWJ1dHRvbiB7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAyICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiA1ICovXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgLyogNiAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDcgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAvKiA4ICovXG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGluZS1oZWlnaHQ7XG4gICAgLyogOSAqL1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiAxMCAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uKCk7fVxufVxuXG4udWstYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbi51ay1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWJ1dHRvbjpob3ZlciB7XG4gICAgLyogOSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWhvdmVyKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLWJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWZvY3VzKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uOmFjdGl2ZSxcbi51ay1idXR0b24udWstYWN0aXZlIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1hY3RpdmUoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstYnV0dG9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tZGVmYXVsdDpob3Zlcixcbi51ay1idXR0b24tZGVmYXVsdDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbi51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1idXR0b24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tcHJpbWFyeSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLFxuLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstYnV0dG9uLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXNlY29uZGFyeTpob3Zlcixcbi51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1idXR0b24tZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXIoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tZGFuZ2VyOmhvdmVyLFxuLnVrLWJ1dHRvbi1kYW5nZXI6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlci1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kYW5nZXIudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gKi9cblxuLnVrLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLWRhbmdlcjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGlzYWJsZWQoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYnV0dG9uLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1zbWFsbC1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zbWFsbCgpO31cbn1cblxuLnVrLWJ1dHRvbi1sYXJnZSB7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRidXR0b24tbGFyZ2UtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbGFyZ2UoKTt9XG59XG5cblxuLyogVGV4dCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVGV4dFxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWJ1dHRvbi10ZXh0IHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tdGV4dDpob3Zlcixcbi51ay1idXR0b24tdGV4dDpmb2N1cyB7XG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tdGV4dC1ob3ZlcigpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tdGV4dDpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpO31cbn1cblxuLypcbiAqIExpbmtcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1idXR0b24tbGluayB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGluay1saW5lLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGJ1dHRvbi1saW5rLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbGluaykpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1saW5rKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWxpbms6aG92ZXIsXG4udWstYnV0dG9uLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYnV0dG9uLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uO1xufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi1saW5rOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vKiBHcm91cFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBVc2luZyBgZmxleGAgaW5zdGVhZCBvZiBgaW5saW5lLWJsb2NrYCB0byBwcmV2ZW50IHdoaXRlc3BhY2UgYmV0d2VlbnQgY2hpbGQgZWxlbWVudHNcbiAqIDIuIEJlaGF2ZSBsaWtlIGJ1dHRvblxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqL1xuXG4udWstYnV0dG9uLWdyb3VwIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgLyogMiAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbWlzYykpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1saW5rKCl7fVxuIiwiLy8gRnVuY3Rpb25zXHJcbkBmdW5jdGlvbiB0b1JlbSgkc2l6ZSkge1xyXG4gICAgQHJldHVybiAkc2l6ZSAvICRyb290LWZvbnQtc2l6ZSAqIDFyZW07XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB0b0VtKCRtYXJnaW4sICRiYXNlRm9udFNpemUpIHtcclxuICAgIEByZXR1cm4gJG1hcmdpbiAvICRiYXNlRm9udFNpemUgKiAxZW07XHJcbn1cclxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb250YWluZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGFsaWduIGFuZCBjZW50ZXIgeW91ciBzaXRlIGFuZCBncmlkIGNvbnRlbnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb250YWluZXJgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstY29udGFpbmVyLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWV4cGFuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1leHBhbmQtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvbnRhaW5lci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGg6ICAgICAgICAgICAgIDc1MHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGg6ICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOiAgICAgICAgICAgICAgMTQwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRoOiAgICAgICAgICAgICAxNjAwcHggIWRlZmF1bHQ7XG5cbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM6ICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEJveCBzaXppbmcgaGFzIHRvIGJlIGBjb250ZW50LWJveGAgc28gdGhlIG1heC13aWR0aCBpcyBhbHdheXMgdGhlIHNhbWUgYW5kXG4gKiAgICB1bmFmZmVjdGVkIGJ5IHRoZSBwYWRkaW5nIG9uIGRpZmZlcmVudCBicmVha3BvaW50cy4gSXQncyBpbXBvcnRhbnQgZm9yIHRoZSBzaXplIG1vZGlmaWVycy5cbiAqL1xuXG4udWstY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jb250YWluZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLypcbiAqIFJlbW92ZSBwYWRkaW5nIGZyb20gbmVzdGVkIGNvbnRhaW5lcnNcbiAqL1xuXG4udWstY29udGFpbmVyIC51ay1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29udGFpbmVyLXhzbWFsbCB7IG1heC13aWR0aDogJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXItc21hbGwgeyBtYXgtd2lkdGg6ICRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXItbGFyZ2UgeyBtYXgtd2lkdGg6ICRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXIteGxhcmdlIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXhsYXJnZS1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci1leHBhbmQgeyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuXG4vKiBFeHBhbmQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRXhwYW5kIG9uZSBzaWRlIG9ubHlcbiAqL1xuXG4udWstY29udGFpbmVyLWV4cGFuZC1sZWZ0IHsgbWFyZ2luLWxlZnQ6IDA7IH1cbi51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhzbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXIteHNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtc30pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1zbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtc30pJyk7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci14c21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhzbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXItc21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1sYXJnZSxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXItbGFyZ2UgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci14bGFyZ2UsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhsYXJnZSB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXhsYXJnZS1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFV0aWxpdHkgY2xhc3NlcyB0byByZXNldCBjb250YWluZXIgcGFkZGluZyBvbiB0aGUgbGVmdCBvciByaWdodCBzaWRlXG4gKiBOb3RlOiBJdCBoYXMgdG8gYmUgbmVnYXRpdmUgbWFyZ2luIG9uIHRoZSBpdGVtLCBiZWNhdXNlIGl0J3Mgc3BlY2lmaWMgdG8gdGhlIGl0ZW0uXG4gKi9cblxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICsgI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbH0pJykgfVxuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7IG1hcmdpbi1sZWZ0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsKTsgfVxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsKTsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICsgI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zfSknKSB9XG5cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7IG1hcmdpbi1sZWZ0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXMpOyB9XG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXMpOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICsgI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKSB9XG5cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7IG1hcmdpbi1sZWZ0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW0pOyB9XG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW0pOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb250YWluZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbnRhaW5lci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb250YWluZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIENsb3NlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBjbG9zZSBidXR0b25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jbG9zZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDbG9zZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLWNsb3NlIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWNsb3NlKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstY2xvc2U6aG92ZXIsXG4udWstY2xvc2U6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jbG9zZS1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZS1taXNjKSkge0BpbmNsdWRlIGhvb2stY2xvc2UtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1jbG9zZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNsb3NlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNwaW5uZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGxvYWRpbmcgc3Bpbm5lclxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNwaW5uZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNwaW5uZXItc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kc3Bpbm5lci1zdHJva2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRzcGlubmVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9vcigoJHNwaW5uZXItc2l6ZSAtICRzcGlubmVyLXN0cm9rZS13aWR0aCkgLyAyKSAhZGVmYXVsdDsgLy8gTWludXMgc3Ryb2tlIHdpZHRoIHRvIHByZXZlbnQgb3ZlcmZsb3cgY2xpcHBpbmdcbiRzcGlubmVyLWNpcmN1bWZlcmVuY2U6ICAgICAgICAgICAgICAgICAgICAgICAgICByb3VuZCgyICogMy4xNDEgKiAkc3Bpbm5lci1yYWRpdXMpICFkZWZhdWx0O1xuJHNwaW5uZXItZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNHMgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNwaW5uZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1zcGlubmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3Bpbm5lcikpIHtAaW5jbHVkZSBob29rLXNwaW5uZXIoKTt9XG59XG5cblxuLyogU1ZHXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNwaW5uZXIgPiAqIHsgYW5pbWF0aW9uOiB1ay1zcGlubmVyLXJvdGF0ZSAkc3Bpbm5lci1kdXJhdGlvbiBsaW5lYXIgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLXJvdGF0ZSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG59XG5cbi8qXG4gKiBDaXJjbGVcbiAqL1xuXG4udWstc3Bpbm5lciA+ICogPiAqIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlO1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBhbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAkc3Bpbm5lci1kdXJhdGlvbiBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgICBzdHJva2Utd2lkdGg6ICRzcGlubmVyLXN0cm9rZS13aWR0aDtcbiAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG59XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1kYXNoIHtcbiAgICAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlOyB9XG4gICAgNTAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2UvNDtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxMzVkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoNDUwZGVnKTtcbiAgICB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3Bpbm5lci1taXNjKSkge0BpbmNsdWRlIGhvb2stc3Bpbm5lci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zcGlubmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3Bpbm5lci1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBNb2RhbFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG1vZGFsIGRpYWxvZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tb2RhbGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1tb2RhbC1wYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZGlhbG9nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWZvb3RlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2VgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbW9kYWwtY2xvc2UtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLW91dHNpZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1mdWxsYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW1vZGFsLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWZ1bGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbW9kYWwtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwwLjYpICFkZWZhdWx0O1xuXG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXM6ICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGFpbmVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMS4zICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2UtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTW9kYWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1tb2RhbCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG1vZGFsLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkbW9kYWwtcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbCgpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW1vZGFsIHsgcGFkZGluZzogJG1vZGFsLXBhZGRpbmctdmVydGljYWwtcyAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1tb2RhbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBPcGVuXG4gKi9cblxuLnVrLW1vZGFsLnVrLW9wZW4geyBvcGFjaXR5OiAxOyB9XG5cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuXG4udWstbW9kYWwtcGFnZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBEaWFsb2dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIHNwaW5uZXIgYW5kIGNsb3NlIGJ1dHRvblxuICogMi4gRGltZW5zaW9uc1xuICogMy4gRml4IGBtYXgtd2lkdGg6IDEwMCVgIG5vdCB3b3JraW5nIGluIGNvbWJpbmF0aW9uIHdpdGggZmxleCBhbmQgcmVzcG9uc2l2ZSBpbWFnZXMgaW4gSUUxMVxuICogICAgYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVyd3JpdGUgYHVrLXdpZHRoLWF1dG9gLiBTZWUgYCNtb2RhbC1tZWRpYS1pbWFnZWAgaW4gdGVzdHNcbiAqIDQuIFN0eWxlXG4gKiA1LiBTbGlkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogJG1vZGFsLWRpYWxvZy13aWR0aDtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAwLjAxcHgpJykgIWltcG9ydGFudDtcbiAgICAvKiA0ICovXG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kO1xuICAgIC8qIDUgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xuICAgIHRyYW5zaXRpb246IDAuM3MgbGluZWFyO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZGlhbG9nKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZGlhbG9nKCk7fVxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1vcGVuID4gLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb250YWluZXIgc2l6ZVxuICogVGFrZSB0aGUgc2FtZSBzaXplIGFzIHRoZSBDb250YWluZXIgY29tcG9uZW50XG4gKi9cblxuLnVrLW1vZGFsLWNvbnRhaW5lciAudWstbW9kYWwtZGlhbG9nIHsgd2lkdGg6ICRtb2RhbC1jb250YWluZXItd2lkdGg7IH1cblxuLypcbiAqIEZ1bGwgc2l6ZVxuICogMS4gUmVtb3ZlIHBhZGRpbmcgYW5kIGJhY2tncm91bmQgZnJvbSBtb2RhbFxuICogMi4gUmVzZXQgYWxsIGRlZmF1bHQgZGVjbGFyYXRpb25zIGZyb20gbW9kYWwgZGlhbG9nXG4gKi9cblxuLyogMSAqL1xuLnVrLW1vZGFsLWZ1bGwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLyogMiAqL1xuLnVrLW1vZGFsLWZ1bGwgLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWZ1bGwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1mdWxsKCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1vZGFsLWJvZHkge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtYm9keSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWJvZHkoKTt9XG59XG5cbi51ay1tb2RhbC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1oZWFkZXIoKTt9XG59XG5cbi51ay1tb2RhbC1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1mb290ZXIoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstbW9kYWwtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWZvb3RlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1vZGFsLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRtb2RhbC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC10aXRsZSgpO31cbn1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRtb2RhbC16LWluZGV4O1xuICAgIHRvcDogJG1vZGFsLWNsb3NlLXBvc2l0aW9uO1xuICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2UtcG9zaXRpb247XG4gICAgcGFkZGluZzogJG1vZGFsLWNsb3NlLXBhZGRpbmc7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ106aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1kZWZhdWx0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1kZWZhdWx0OmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qXG4gKiBPdXRzaWRlXG4gKiAxLiBQcmV2ZW50IHNjcm9sbGJhciBvbiBzbWFsbCBkZXZpY2VzXG4gKi9cblxuLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgIHRvcDogJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb247XG4gICAgLyogMSAqL1xuICAgIHJpZ2h0OiAoLSRtb2RhbC1jbG9zZS1wYWRkaW5nKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIGNvbG9yOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgICBjb2xvcjogJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC8qIDEgKi9cbiAgICAudWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gICAgICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIH1cblxufVxuXG4vKlxuICogRnVsbFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtbWlzYykpIHtAaW5jbHVkZSBob29rLW1vZGFsLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZGlhbG9nKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaWdodGJveFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIGxpZ2h0Ym94IGltYWdlIGdhbGxlcnlcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saWdodGJveGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1saWdodGJveC1wYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtaXRlbXNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC10b29sYmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtdG9vbGJhci1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtYnV0dG9uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtY2FwdGlvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWlmcmFtZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaWdodGJveC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRsaWdodGJveC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgIDEwMHZ3ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tbWF4LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEwMHZoICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZzogICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWJ1dHRvbi1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC1idXR0b24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaWdodGJveFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKiA3LiBQcmV2ZW50IGNhbmNlbGxhdGlvbiBvZiBwb2ludGVyIGV2ZW50cyB3aGlsZSBkcmFnZ2luZ1xuICovXG5cbi51ay1saWdodGJveCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJGxpZ2h0Ym94LXotaW5kZXg7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6ICRsaWdodGJveC1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIC8qIDcgKi9cbiAgICB0b3VjaC1hY3Rpb246IHBpbmNoLXpvb207XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94KSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3goKTt9XG59XG5cbi8qXG4gKiBPcGVuXG4gKiAxLiBDZW50ZXIgY2hpbGRcbiAqIDIuIEZhZGUtaW5cbiAqL1xuXG4udWstbGlnaHRib3gudWstb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIG9wYWNpdHk6IDE7XG59XG5cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuXG4udWstbGlnaHRib3gtcGFnZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENlbnRlciBjaGlsZCB3aXRoaW4gdGhlIHZpZXdwb3J0XG4gKiAyLiBOb3QgdmlzaWJsZSBieSBkZWZhdWx0XG4gKiAzLiBDb2xvciBuZWVkZWQgZm9yIHNwaW5uZXIgaWNvblxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA1LiBSZXNwb25zaXZlbmVzc1xuICogICAgVXNpbmcgYHZoYCBmb3IgYG1heC1oZWlnaHRgIHRvIGZpeCBpbWFnZSBwcm9wb3J0aW9ucyBhZnRlciByZXNpemUgaW4gU2FmYXJpIGFuZCBPcGVyYVxuICogICAgVXNpbmcgYHZoYCBhbmQgYHZ3YCB0byBtYWtlIHJlc3BvbnNpdmUgaW1hZ2Ugd29yayBpbiBJRTExXG4gKiA2LiBTdXBwcmVzcyBvdXRsaW5lIG9uIGZvY3VzXG4gKi9cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRsaWdodGJveC1pdGVtLWNvbG9yO1xuICAgIC8qIDQgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1pdGVtKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtaXRlbSgpO31cbn1cblxuLyogNSAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiA+ICoge1xuICAgIG1heC13aWR0aDogJGxpZ2h0Ym94LWl0ZW0tbWF4LXdpZHRoO1xuICAgIG1heC1oZWlnaHQ6ICRsaWdodGJveC1pdGVtLW1heC1oZWlnaHQ7XG59XG5cbi8qIDYgKi9cbi51ay1saWdodGJveC1pdGVtcyA+IDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiA+IDpub3QoaWZyYW1lKSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4udWstbGlnaHRib3gtaXRlbXMgPiAudWstYWN0aXZlIHsgZGlzcGxheTogZmxleDsgfVxuXG4vKiBUb29sYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXIge1xuICAgIHBhZGRpbmc6ICRsaWdodGJveC10b29sYmFyLXBhZGRpbmctdmVydGljYWwgJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsaWdodGJveC10b29sYmFyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtdG9vbGJhcigpO31cbn1cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXIgPiAqIHsgY29sb3I6ICRsaWdodGJveC10b29sYmFyLWNvbG9yOyB9XG5cblxuLyogVG9vbGJhciBJY29uIChDbG9zZSlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uIHtcbiAgICBwYWRkaW5nOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLXBhZGRpbmc7XG4gICAgY29sb3I6ICRsaWdodGJveC10b29sYmFyLWljb24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbigpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbjpob3ZlciB7XG4gICAgY29sb3I6ICRsaWdodGJveC10b29sYmFyLWljb24taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3ZlcigpO31cbn1cblxuXG5cbi8qIEJ1dHRvbiAoU2xpZGVuYXYpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG5cbi51ay1saWdodGJveC1idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRsaWdodGJveC1idXR0b24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRsaWdodGJveC1idXR0b24tc2l6ZTtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsaWdodGJveC1idXR0b24tY29sb3I7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LWJ1dHRvbigpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuLnVrLWxpZ2h0Ym94LWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICRsaWdodGJveC1idXR0b24taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuXG4vKiBDYXB0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LWNhcHRpb24ge31cbi51ay1saWdodGJveC1jYXB0aW9uOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi8qIElmcmFtZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC1pZnJhbWUge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiA4MCU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtbWlzYykpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94KCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBOb3RpZmljYXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBub3RpZmljYXRpb24gbWVzc2FnZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1ub3RpZmljYXRpb25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2VgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbm90aWZpY2F0aW9uLWNsb3NlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLXRvcC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbm90aWZpY2F0aW9uLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyA0MCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1jbG9zZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICFkZWZhdWx0O1xuXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTm90aWZpY2F0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gRGltZW5zaW9uc1xuICovXG5cbi51ay1ub3RpZmljYXRpb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgIGxlZnQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgei1pbmRleDogJG5vdGlmaWNhdGlvbi16LWluZGV4O1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbm90aWZpY2F0aW9uLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24pKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24oKTt9XG59XG5cblxuLyogUG9zaXRpb24gbW9kaWZpZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLXRvcC1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xufVxuXG4udWstbm90aWZpY2F0aW9uLXRvcC1jZW50ZXIsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogKCRub3RpZmljYXRpb24td2lkdGggLyAtMik7XG59XG5cbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbn1cblxuXG4vKiBSZXNwb25zaXZlbmVzc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogUGhvbmVzIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuXG4gICAgLnVrLW5vdGlmaWNhdGlvbiB7XG4gICAgICAgIGxlZnQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxufVxuXG5cbi8qIE1lc3NhZ2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I7XG4gICAgZm9udC1zaXplOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSkpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCk7fVxufVxuXG4qICsgLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHsgbWFyZ2luLXRvcDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi10b3A7IH1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRub3RpZmljYXRpb24tY2xvc2UtdG9wO1xuICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKTt9XG59XG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZTpob3ZlciAudWstbm90aWZpY2F0aW9uLWNsb3NlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5IHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlciB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbmltYXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBrZXlmcmFtZSBhbmltYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYW5pbWF0aW9uLSpgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYW5pbWF0aW9uLWZhZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2NhbGUtdXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2NhbGUtZG93bmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1rZW5idXJuc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zaGFrZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zdHJva2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tcmV2ZXJzZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1mYXN0YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFuaW1hdGlvbi10b2dnbGVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgIDAuOHMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXN0cm9rZS1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgMnMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgMTVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgIDAuMXMgIWRlZmF1bHQ7XG5cbiRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFuaW1hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cblxuLyogQW5pbWF0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1mYWRlIHtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG5cbi8qXG4gKiBTY2FsZVxuICovXG5cbi51ay1hbmltYXRpb24tc2NhbGUtdXAgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0wMjsgfVxuLnVrLWFuaW1hdGlvbi1zY2FsZS1kb3duIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMTg7IH1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3A7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0OyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0IHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQ7IH1cblxuLypcbiAqIFNsaWRlIFNtYWxsXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3Atc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3Atc21hbGw7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLXNtYWxsOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LXNtYWxsOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtc21hbGw7IH1cblxuLypcbiAqIFNsaWRlIE1lZGl1bVxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1tZWRpdW07IH1cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1tZWRpdW07IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1tZWRpdW0geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LW1lZGl1bTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1tZWRpdW0geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1tZWRpdW07IH1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1rZW5idXJucyB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLXNjYWxlLWtlbmJ1cm5zO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjtcbn1cblxuLypcbiAqIFNoYWtlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zaGFrZSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1zaGFrZTsgfVxuXG4vKlxuICogU1ZHIFN0cm9rZVxuICogVGhlIGAtLXVrLWFuaW1hdGlvbi1zdHJva2VgIGN1c3RvbSBwcm9wZXJ0eSBjb250YWlucyB0aGUgbG9uZ2VzdCBwYXRoIGxlbmd0aC5cbiAqIFNldCBpdCBtYW51YWxseSBvciB1c2UgYHVrLXN2Zz1cInN0cm9rZS1hbmltYXRpb246IHRydWVcImAgdG8gc2V0IGl0IGF1dG9tYXRpY2FsbHkuXG4gKiBBbGwgc3Ryb2tlcyBhcmUgYW5pbWF0ZWQgYnkgdGhlIHNhbWUgcGFjZSBhbmQgZG9lc24ndCBlbmQgc2ltdWx0YW5lb3VzbHkuXG4gKiBUbyBlbmQgc2ltdWx0YW5lb3VzbHksIGBwYXRoTGVuZ3RoPVwiMVwiYCBjb3VsZCBiZSB1c2VkLCBidXQgaXQncyBub3Qgd29ya2luZyBpbiBTYWZhcmkgeWV0LlxuICovXG5cbi51ay1hbmltYXRpb24tc3Ryb2tlIHtcbiAgICBhbmltYXRpb24tbmFtZTogdWstc3Ryb2tlO1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6IHZhcigtLXVrLWFuaW1hdGlvbi1zdHJva2UpO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1zdHJva2UtZHVyYXRpb247XG59XG5cblxuLyogRGlyZWN0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuIC51ay1hbmltYXRpb24tcmV2ZXJzZSB7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5cbi8qIER1cmF0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuIC51ay1hbmltYXRpb24tZmFzdCB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOyB9XG5cblxuLyogVG9nZ2xlIChIb3ZlciArIEZvY3VzKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRoZSB0b2dnbGUgaXMgdHJpZ2dlcmVkIG9uIHRvdWNoIGRldmljZXMgdXNpbmcgYDpmb2N1c2AgYW5kIHRhYmluZGV4XG4gKi9cblxuLnVrLWFuaW1hdGlvbi10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykgW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHsgYW5pbWF0aW9uLW5hbWU6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cblxuLnVrLWFuaW1hdGlvbi10b2dnbGUge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKlxuICogUmVtb3ZlIG91dGxpbmUgZm9yIGB0YWJpbmRleGBcbiAqL1xuXG4udWstYW5pbWF0aW9uLXRvZ2dsZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuXG4vKiBLZXlmcmFtZXMgdXNlZCBieSBhbmltYXRpb24gY2xhc3Nlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlIHtcbiAgICAwJSB7IG9wYWNpdHk6IDA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuXG4vKlxuICogU2xpZGUgVG9wXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIEJvdHRvbVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnRcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFJpZ2h0XG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3AgU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIEJvdHRvbSBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHQgU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3AgTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIEJvdHRvbSBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0LW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHQgTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTY2FsZSBVcFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0wMiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLypcbiAqIFNjYWxlIERvd25cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMTgge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG5cbkBrZXlmcmFtZXMgdWstc2NhbGUta2VuYnVybnMge1xuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbn1cblxuLypcbiAqIFNoYWtlXG4gKi9cblxuQGtleWZyYW1lcyB1ay1zaGFrZSB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgICAxMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTlweCk7IH1cbiAgICAyMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuICAgIDMwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtN3B4KTsgfVxuICAgIDQwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XG4gICAgNjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cbiAgICA3MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7IH1cbiAgICA4MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxuICAgIDkwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTsgfVxufVxuXG4vKlxuICogU3Ryb2tlXG4gKi9cblxuIEBrZXlmcmFtZXMgdWstc3Ryb2tlIHtcbiAgICAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiB2YXIoLS11ay1hbmltYXRpb24tc3Ryb2tlKTsgfVxuICAgIDEwMCUgeyBzdHJva2UtZGFzaG9mZnNldDogMDsgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFuaW1hdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYW5pbWF0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFuaW1hdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUZXh0XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgdGV4dFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRleHQtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGV4dC1sZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJHRleHQtbGVhZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiR0ZXh0LW1ldGEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHRleHQtc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtc21hbGwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJHRleHQtbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0ZXh0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVhZCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1sZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGVhZC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbGVhZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sZWFkKSkge0BpbmNsdWRlIGhvb2stdGV4dC1sZWFkKCk7fVxufVxuXG4udWstdGV4dC1tZXRhIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdGV4dC1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1ldGEoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1zbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGV4dC1zbWFsbCgpO31cbn1cblxuLnVrLXRleHQtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXRleHQtbGFyZ2UoKTt9XG59XG5cbi51ay10ZXh0LWRlZmF1bHQge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQ7XG59XG5cblxuLyogV2VpZ2h0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGlnaHQgeyBmb250LXdlaWdodDogMzAwOyB9XG4udWstdGV4dC1ub3JtYWwgeyBmb250LXdlaWdodDogNDAwOyB9XG4udWstdGV4dC1ib2xkIHsgZm9udC13ZWlnaHQ6IDcwMDsgfVxuIFxuLnVrLXRleHQtbGlnaHRlciB7IGZvbnQtd2VpZ2h0OiBsaWdodGVyOyB9XG4udWstdGV4dC1ib2xkZXIgeyBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbiBcbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiBcbi51ay10ZXh0LWl0YWxpYyB7IGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5cbi8qIFRyYW5zZm9ybSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC11cHBlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWxvd2VyY2FzZSB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDsgfVxuXG5cbi8qIENvbG9yIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LW11dGVkIHsgY29sb3I6ICR0ZXh0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWVtcGhhc2lzIHsgY29sb3I6ICR0ZXh0LWVtcGhhc2lzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXByaW1hcnkgeyBjb2xvcjogJHRleHQtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1zZWNvbmRhcnkgeyBjb2xvcjogJHRleHQtc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXN1Y2Nlc3MgeyBjb2xvcjogJHRleHQtc3VjY2Vzcy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC13YXJuaW5nIHsgY29sb3I6ICR0ZXh0LXdhcm5pbmctY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtZGFuZ2VyIHsgY29sb3I6ICR0ZXh0LWRhbmdlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cblxuLyogQmFja2dyb3VuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBUaGUgYmFja2dyb3VuZCBjbGlwcyB0byB0aGUgZm9yZWdyb3VuZCB0ZXh0LiBXb3JrcyBpbiBDaHJvbWUsIEZpcmVmb3gsIFNhZmFyaSwgRWRnZSBhbmQgT3BlcmFcbiAqICAgIERlZmF1bHQgY29sb3IgaXMgc2V0IHRvIHRyYW5zcGFyZW50XG4gKiAyLiBDb250YWluZXIgZml0cyB0aGUgdGV4dFxuICogMy4gRmFsbGJhY2sgY29sb3IgZm9yIElFMTFcbiAqL1xuXG4udWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICR0ZXh0LWJhY2tncm91bmQtY29sb3IgIWltcG9ydGFudDtcbn1cblxuQHN1cHBvcnRzICgtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCkge1xuXG4gICAgLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1iYWNrZ3JvdW5kKSkge0BpbmNsdWRlIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCk7fVxuICAgIH1cblxufVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBzIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBzIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHMgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQG0geyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQG0geyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAbSB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBsIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQGwgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAeGwgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQHhsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHhsIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKlxuICogVmVydGljYWxcbiAqL1xuXG4udWstdGV4dC10b3AgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LW1pZGRsZSB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1iYXNlbGluZSB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG5cblxuLyogV3JhcCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lc1xuICovXG5cbi51ay10ZXh0LW5vd3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLypcbiAqIDEuIE1ha2Ugc3VyZSBhIG1heC13aWR0aCBpcyBzZXQgYWZ0ZXIgd2hpY2ggdHJ1bmNhdGlvbiBjYW4gb2NjdXJcbiAqIDIuIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXMsIGFuZCB0cnVuY2F0ZSB3aXRoIGFuIGVsbGlwc2lzXG4gKiAzLiBGaXggZm9yIHRhYmxlIGNlbGxzXG4gKi9cblxuLnVrLXRleHQtdHJ1bmNhdGUge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogMiAqL1xudGgudWstdGV4dC10cnVuY2F0ZSxcbnRkLnVrLXRleHQtdHJ1bmNhdGUgeyBtYXgtd2lkdGg6IDA7IH1cblxuXG4vKlxuICogMS4gV3JhcCBsb25nIHdvcmRzIG9udG8gdGhlIG5leHQgbGluZSBhbmQgYnJlYWsgdGhlbSBpZiB0aGV5IGFyZSB0b28gbG9uZyB0byBmaXRcbiAqIDIuIExlZ2FjeSBgd29yZC13cmFwYCBhcyBmYWxsYmFjayBmb3IgYG92ZXJmbG93LXdyYXBgXG4gKiAzLiBGaXggYG92ZXJmbG93LXdyYXBgIHdoaWNoIGRvZXNuJ3Qgd29yayB3aXRoIHRhYmxlIGNlbGxzIGluIENocm9tZSwgT3BlcmEsIElFMTEgYW5kIEVkZ2VcbiAqICAgIE11c3QgdXNlIGBicmVhay1hbGxgIHRvIHN1cHBvcnQgSUUxMSBhbmQgRWRnZVxuICogTm90ZTogTm90IHVzaW5nIGBoeXBoZW5zOiBhdXRvO2AgYmVjYXVzZSBpdCBoeXBoZW5hdGVzIHRleHQgZXZlbiBpZiBub3QgbmVlZGVkXG4gKi9cblxuLnVrLXRleHQtYnJlYWsge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIC8qIDIgKi9cbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIDMgKi9cbnRoLnVrLXRleHQtYnJlYWssXG50ZC51ay10ZXh0LWJyZWFrIHsgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1sZWFkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZsZXhcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBsYXlvdXRzIGJhc2VkIG9uIGZsZXhib3hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mbGV4LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZsZXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZmxleCB7IGRpc3BsYXk6IGZsZXg7IH1cbi51ay1mbGV4LWlubGluZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi8qXG4gKiBSZW1vdmUgcHNldWRvIGVsZW1lbnRzIGNyZWF0ZWQgYnkgbWljcm8gY2xlYXJmaXggYXMgcHJlY2F1dGlvblxuICovXG5cbi51ay1mbGV4OjpiZWZvcmUsXG4udWstZmxleDo6YWZ0ZXIsXG4udWstZmxleC1pbmxpbmU6OmJlZm9yZSxcbi51ay1mbGV4LWlubGluZTo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogQWxpZ25tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFsaWduIGl0ZW1zIGFsb25nIHRoZSBtYWluIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogSG9yaXpvbnRhbFxuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LWxlZnQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbi51ay1mbGV4LWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4udWstZmxleC1yaWdodCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbi51ay1mbGV4LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi51ay1mbGV4LWFyb3VuZCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEBzIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEBzIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBtIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAbSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBtIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBtIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAbSB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAbCB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAbCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEB4bCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQHhsIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQHhsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEB4bCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQHhsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKlxuICogQWxpZ24gaXRlbXMgaW4gdGhlIGNyb3NzIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogVmVydGljYWxcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1zdHJldGNoIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbi51ay1mbGV4LXRvcCB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC1taWRkbGUgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4udWstZmxleC1ib3R0b20geyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuXG4vKiBEaXJlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1yb3cgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4udWstZmxleC1yb3ctcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuLnVrLWZsZXgtY29sdW1uIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuLnVrLWZsZXgtY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuXG4vKiBXcmFwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtbm93cmFwIHsgZmxleC13cmFwOiBub3dyYXA7IH1cbi51ay1mbGV4LXdyYXAgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbi51ay1mbGV4LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlOyB9XG5cbi8qXG4gKiBBbGlnbnMgaXRlbXMgd2l0aGluIHRoZSBmbGV4IGNvbnRhaW5lciB3aGVuIHRoZXJlIGlzIGV4dHJhIHNwYWNlIGluIHRoZSBjcm9zcy1heGlzXG4gKiBPbmx5IHdvcmtzIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgbGluZSBvZiBmbGV4IGl0ZW1zXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtd3JhcC1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaDsgfVxuLnVrLWZsZXgtd3JhcC10b3AgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC13cmFwLW1pZGRsZSB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuLnVrLWZsZXgtd3JhcC1ib3R0b20geyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDsgfVxuLnVrLWZsZXgtd3JhcC1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuLnVrLWZsZXgtd3JhcC1hcm91bmQgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuXG4vKiBJdGVtIG9yZGVyaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHQgaXMgMFxuICovXG5cbi51ay1mbGV4LWZpcnN0IHsgb3JkZXI6IC0xO31cbi51ay1mbGV4LWxhc3QgeyBvcmRlcjogOTk7fVxuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAcyB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEBzIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQG0geyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAbSB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQGwgeyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAbCB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQHhsIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQHhsIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuXG4vKiBJdGVtIGRpbWVuc2lvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSW5pdGlhbDogMCAxIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3NcbiAqL1xuXG4vKlxuICogTm8gRmxleDogMCAwIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9uc1xuICovXG5cbi51ay1mbGV4LW5vbmUgeyBmbGV4OiBub25lOyB9XG5cbi8qXG4gKiBSZWxhdGl2ZSBGbGV4OiAxIDEgYXV0b1xuICogU3BhY2UgaXMgYWxsb2NhdGVkIGNvbnNpZGVyaW5nIGNvbnRlbnRcbiAqL1xuXG4udWstZmxleC1hdXRvIHsgZmxleDogYXV0bzsgfVxuXG4vKlxuICogQWJzb2x1dGUgRmxleDogMSAxIDAlXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGZsZXhcbiAqL1xuXG4udWstZmxleC0xIHsgZmxleDogMTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWZsZXgtbWlzYykpIHtAaW5jbHVkZSBob29rLWZsZXgtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZmxleC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTWFyZ2luXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgbWFyZ2luc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1hcmdpbi0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLXNtYWxsLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbWVkaXVtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi14bGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1yZW1vdmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1hdXRvLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1hcmdpbi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1zbWFsbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1tZWRpdW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi14bGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNYXJnaW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1tYXJnaW4geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4geyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tc21hbGwtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1zbWFsbC10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tc21hbGwtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogTWVkaXVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLW1lZGl1bS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sOyB9XG4gICAgKiArIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay1tYXJnaW4tbGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBYTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw7IH1cbiAgICAqICsgLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbWFyZ2luLXhsYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBBdXRvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLWF1dG8tdG9wIHsgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tbGVmdCB7IG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYXV0by1yaWdodCB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW1hcmdpbi1hdXRvXFxAcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAcyB7IG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEBzIHsgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQG0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQG0geyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAbSB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQGwgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAbCB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQHhsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEB4bCB7IG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEB4bCB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gLnVrLW1hcmdpbi1yZW1vdmUgeyBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLXRvcCB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuIFxuIC51ay1tYXJnaW4tcmVtb3ZlLXZlcnRpY2FsIHtcbiAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gfVxuIFxuIC51ay1tYXJnaW4tcmVtb3ZlLWFkamFjZW50ICsgKixcbiAudWstbWFyZ2luLXJlbW92ZS1maXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLWxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAcyB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQHMgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQG0geyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBtIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQGwgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBsIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQHhsIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAeGwgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG59XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJnaW4tbWlzYykpIHtAaW5jbHVkZSBob29rLW1hcmdpbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUG9zaXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIHBvc2l0aW9uIGNvbnRlbnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wb3NpdGlvbi1hYnNvbHV0ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXJlbGF0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tei1pbmRleGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY292ZXJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstcG9zaXRpb24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcG9zaXRpb24tc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBvc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBEaXJlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBgbWF4LXdpZHRoOiAxMDAlYCBpcyB1c2VkIGluc2lkZSBwb3NpdGlvbiBjb250YWluZXIuXG4gKi9cblxuW2NsYXNzKj0ndWstcG9zaXRpb24tdG9wJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1ib3R0b20nXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWxlZnQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLXJpZ2h0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXInXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuXG4vKiBFZGdlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERvbid0IHVzZSBgd2lkdGg6IDEwMCVgIGJlY2F1c2UgaXQgaXMgd3JvbmcgaWYgdGhlIHBhcmVudCBoYXMgcGFkZGluZy4gKi9cbi51ay1wb3NpdGlvbi10b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG5cbi8qIENvcm5lcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tdG9wLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tdG9wLXJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tbGVmdCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tcmlnaHQge1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbn1cblxuLypcbiAqIENlbnRlclxuICogMS4gRml4IHRleHQgd3JhcHBpbmcgaWYgY29udGVudCBpcyBsYXJnZXIgdGhhbiA1MCUgb2YgdGhlIGNvbnRhaW5lci5cbiAqL1xuXG4udWstcG9zaXRpb24tY2VudGVyIHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdCB7IGxlZnQ6IDA7IH1cbi51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQgeyByaWdodDogMDsgfVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQtb3V0IHtcbiAgICByaWdodDogMTAwJTtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQtb3V0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4udWstcG9zaXRpb24tdG9wLWNlbnRlciB7IHRvcDogMDsgfVxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyBib3R0b206IDA7IH1cblxuXG4vKiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi1jb3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuXG4vKiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLXJlbGF0aXZlIHsgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLWFic29sdXRlIHsgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLWZpeGVkIHsgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLXotaW5kZXggeyB6LWluZGV4OiAxOyB9XG5cblxuLyogTWFyZ2luIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXBvc2l0aW9uLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtICgjeyRwb3NpdGlvbi1zbWFsbC1tYXJnaW59ICogMikpJyk7XG4gICAgbWFyZ2luOiAkcG9zaXRpb24tc21hbGwtbWFyZ2luO1xufVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luLCAoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pKTsgfVxuXG4udWstcG9zaXRpb24tc21hbGxbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLXNtYWxsW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbik7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKTsgfVxuXG4vKlxuICogTWVkaXVtXG4gKi9cblxuLnVrLXBvc2l0aW9uLW1lZGl1bSB7XG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAoI3skcG9zaXRpb24tbWVkaXVtLW1hcmdpbn0gKiAyKSknKTtcbiAgICBtYXJnaW46ICRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luO1xufVxuXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4sICgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pKTsgfVxuXG4udWstcG9zaXRpb24tbWVkaXVtW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1tZWRpdW1bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbik7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luKTsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstcG9zaXRpb24tbGFyZ2Uge1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gKCN7JHBvc2l0aW9uLWxhcmdlLW1hcmdpbn0gKiAyKSknKTtcbiAgICBtYXJnaW46ICRwb3NpdGlvbi1sYXJnZS1tYXJnaW47XG59XG5cbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4sICgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbikpOyB9XG5cbi51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luKTsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4pOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2Uge1xuICAgICAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtICgjeyRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbH0gKiAyKSknKTtcbiAgICAgICAgbWFyZ2luOiAkcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw7XG4gICAgfVxuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sLCAoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCkpOyB9XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuICAgIC51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCk7IH1cblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuICAgIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCk7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBvc2l0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wb3NpdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUcmFuc2l0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgdHJhbnNpdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10cmFuc2l0aW9uLSpgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdHJhbnNpdGlvbi1mYWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zY2FsZS11cGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2NhbGUtZG93bmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLW9wYXF1ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xvd2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay10cmFuc2l0aW9uLXRvZ2dsZWAsXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLWFjdGl2ZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuM3MgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNjYWxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAwLjdzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUcmFuc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBUb2dnbGUgKEhvdmVyICsgRm9jdXMpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIFJlbW92ZSBvdXRsaW5lIGZvciBgdGFiaW5kZXhgXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG5cbi8qIFRyYW5zaXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRoZSB0b2dnbGUgaXMgdHJpZ2dlcmVkIG9uIHRvdWNoIGRldmljZXMgYnkgdHdvIG1ldGhvZHM6XG4gKiAxLiBVc2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqIDIuIFVzaW5nIGA6aG92ZXJgIGFuZCBhIGB0b3VjaHN0YXJ0YCBldmVudCBsaXN0ZW5lciByZWdpc3RlcmVkIG9uIHRoZSBkb2N1bWVudFxuICogICAgKERvZXNuJ3Qgd29yayBvbiBTdXJmYWNlIHRvdWNoIGRldmljZXMpXG4gKlxuICogTm90ZTogVHJhbnNpdGlvbnMgZG9uJ3Qgd29yayB3aXRoIGB1ay1wb3N0aW9uLWNlbnRlci0qYCBjbGFzc2VzIGJlY2F1c2UgdGhleSBhbHNvIHVzZSBgdHJhbnNmb3JtYCxcbiAqICAgICAgIHRoZXJlZm9yZSBpdCdzIHJlY29tbWVuZGVkIHRvIHVzZSBhbiBleHRyYSBgZGl2YCBmb3IgdGhlIHRyYW5zaXRpb24uXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tZmFkZSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2NhbGUnXSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tZmFkZSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1mYWRlLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1mYWRlIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogU2NhbGVcbiAqL1xuXG4udWstdHJhbnNpdGlvbi1zY2FsZS11cCB7IHRyYW5zZm9ybTogc2NhbGUoMSwxKTsgfVxuLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7IHRyYW5zZm9ybTogc2NhbGUoJHRyYW5zaXRpb24tc2NhbGUsJHRyYW5zaXRpb24tc2NhbGUpOyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgkdHJhbnNpdGlvbi1zY2FsZSwkdHJhbnNpdGlvbi1zY2FsZSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLDEpO1xufVxuXG4vKlxuICogU2xpZGVcbiAqL1xuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3AgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Atc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuXG4vKiBTaG93ICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCk7XG59XG5cblxuLyogT3BhY2l0eSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2l0aW9uLW9wYXF1ZSB7IG9wYWNpdHk6IDE7IH1cblxuXG4vKiBEdXJhdGlvbiBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNpdGlvbi1zbG93IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tc2xvdy1kdXJhdGlvbjsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRyYW5zaXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXRyYW5zaXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdHJhbnNpdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQcmludFxuLy8gRGVzY3JpcHRpb246ICAgICBPcHRpbWl6ZSBwYWdlIGZvciBwcmludGluZ1xuLy9cbi8vIEFkYXB0ZWQgZnJvbSBodHRwOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlXG4vL1xuLy8gTW9kaWZpY2F0aW9uczogICBSZW1vdmVkIGxpbmsgYGhyZWZgIGFuZCBgdGl0bGVgIHJlbGF0ZWQgcnVsZXNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJpbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgcHJpbnQge1xuXG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJpbnQpKSB7QGluY2x1ZGUgaG9vay1wcmludCgpO31cblxufVxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXByaW50KCl7fVxuIiwiLy8gRm9udCB3ZWlnaHQsIGNvbG9yIGFyZSBzZXQgaW4gdmFyaWFibGVzLXRoZW1lXHJcbiVfaGVhZGluZy1iYXNlIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGluZztcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbiVoZWFkaW5nLXBhZ2Uge1xyXG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1hbnJvcGU7XHJcbiAgICBmb250LXNpemU6IHRvUmVtKCRmb250LXNpemUtaGVhZGluZy1wYWdlKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyLjE1O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuJWhlYWRpbmcteHNtYWxsIHtcclxuICAgIEBleHRlbmQgJV9oZWFkaW5nLWJhc2UgIW9wdGlvbmFsO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogdG9SZW0oJGZvbnQtc2l6ZS1oZWFkaW5nLXhzbWFsbCk7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oJGZvbnQtc2l6ZS1oZWFkaW5nLXhzbWFsbCAtIDIpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oJGZvbnQtc2l6ZS1oZWFkaW5nLXhzbWFsbCAtIDQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4laGVhZGluZy1zbWFsbCB7XHJcbiAgICBAZXh0ZW5kICVfaGVhZGluZy1iYXNlICFvcHRpb25hbDtcclxuXHJcbiAgICBmb250LXNpemU6IHRvUmVtKCRmb250LXNpemUtaGVhZGluZy1zbWFsbCk7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuJWhlYWRpbmctc2VtaS1zbWFsbCB7XHJcbiAgICBAZXh0ZW5kICVfaGVhZGluZy1iYXNlICFvcHRpb25hbDtcclxuXHJcbiAgICBmb250LXNpemU6IHRvUmVtKCRmb250LXNpemUtaGVhZGluZy1zZW1pLXNtYWxsKTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG59XHJcblxyXG4laGVhZGluZy1zbWFsbC13aXRoLWRlY3JlYXNlIHtcclxuICAgIEBleHRlbmQgJWhlYWRpbmctc21hbGw7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgyMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxOHB4KTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE2cHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4laGVhZGluZy1tZWRpdW0ge1xyXG4gICAgQGV4dGVuZCAlX2hlYWRpbmctYmFzZSAhb3B0aW9uYWw7XHJcblxyXG4gICAgZm9udC1zaXplOiB0b1JlbSgkZm9udC1zaXplLWhlYWRpbmctbWVkaXVtKTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjExNzY1O1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDM2cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMzRweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMzJweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgzMHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuJWhlYWRpbmctbGFyZ2Uge1xyXG4gICAgQGV4dGVuZCAlX2hlYWRpbmctYmFzZSAhb3B0aW9uYWw7XHJcblxyXG4gICAgbGluZS1oZWlnaHQ6IDAuODY1O1xyXG4gICAgZm9udC1zaXplOiB0b1JlbSgkZm9udC1zaXplLWhlYWRpbmctbGFyZ2UpO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDQ2cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oNDRweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oNDBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgzOHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuJWhlYWRpbmcteGxhcmdlIHtcclxuICAgIEBleHRlbmQgJV9oZWFkaW5nLWJhc2UgIW9wdGlvbmFsO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogdG9SZW0oJGZvbnQtc2l6ZS1oZWFkaW5nLXhsYXJnZSk7XHJcbiAgICBsaW5lLWhlaWdodDogMC45MTY2O1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDU1cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oNTBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oNDVweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSg0MHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuJWhlYWRpbmctd2l0aC1oaWdobGlnaHQge1xyXG4gICAgc3Ryb25nIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgIH1cclxufVxyXG4iLCIldGV4dC14bGFyZ2Uge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiB0b1JlbSgyMnB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE4MjtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDIwcHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE4cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTZweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiV0ZXh0LWxhcmdlIHtcclxuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVuO1xyXG4gICAgZm9udC1zaXplOiB0b1JlbSgxOHB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjc3NztcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNnB4KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS44O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODU1O1xyXG4gICAgfVxyXG59XHJcblxyXG4ldGV4dC1zbWFsbCB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlbjtcclxuICAgIGZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yODU7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxMnB4KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgfVxyXG59XHJcbiIsIi5UaGVDb250ZW50IHtcclxuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVuO1xyXG4gICAgZm9udC1zaXplOiB0b1JlbSgxOHB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjc3Nzc7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNnB4KTtcclxuICAgIH1cclxuXHJcbiAgICA+ICoge1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDEge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctbWVkaXVtO1xyXG4gICAgfVxyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXNtYWxsO1xyXG5cclxuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy14c21hbGw7XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdGV4dC1kZWNvcmF0aW9uLWNvbG9yIDAuMnMgZWFzZS1vdXQ7XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogaW5oZXJpdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGltZyArIGltZyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTZweCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bCxcclxuICAgIG9sIHtcclxuICAgICAgICBAZXh0ZW5kICVjb250ZW50LWxpc3QgIW9wdGlvbmFsO1xyXG5cclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWNvbnRlbnQtbGlzdC1pdGVtICFvcHRpb25hbDtcclxuXHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjlweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdWwge1xyXG4gICAgICAgIC0tdW5vcmRlcmVkLWxpc3QtYnVsbGV0LWNvbG9yOiAjeyRjb2xvci1hY2NlbnQtZGVmYXVsdH07XHJcbiAgICAgICAgLS11bm9yZGVyZWQtbGlzdC1idWxsZXQtYm9yZGVyLWNvbG9yOiAjeyRjb2xvci1hY2NlbnQtZGVmYXVsdH07XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXVub3JkZXJlZC1saXN0LWJ1bGxldC1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS11bm9yZGVyZWQtbGlzdC1idWxsZXQtYm9yZGVyLWNvbG9yKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBzaXplOiA5cHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgLS11bm9yZGVyZWQtbGlzdC1idWxsZXQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgLS11bm9yZGVyZWQtbGlzdC1idWxsZXQtYm9yZGVyLWNvbG9yOiAjeyRjb2xvci1hY2NlbnQtZGVmYXVsdH07XHJcblxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgb2wge1xyXG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IGxpc3QtY291bnRlcjtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogbGlzdC1jb3VudGVyO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogY291bnRlcihsaXN0LWNvdW50ZXIpIFwiLlwiO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0cm9uZyxcclxuICAgIGIge1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICAucmVzcG9uc2l2ZUVtYmVkIHtcclxuICAgICAgICBtYXJnaW46IDMwcHggMCA4MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjRweCAwIDY0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgNDhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiJWxhenktbG9hZGluZy1idXR0b24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgICY6bm90KC5pcy1hbGwtbG9hZGVkKSB7XHJcbiAgICAgICAgICAgICVsYXp5LWxvYWRpbmctc3Bpbm5lciB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAlbGF6eS1sb2FkaW5nLWJ1dHRvbi10ZXh0IHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1hbGwtbG9hZGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ7XHJcbiAgICAgICAgY29sb3I6ICRidXR0b24tZGlzYWJsZWQtY29sb3I7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxufVxyXG5cclxuJWxhenktbG9hZGluZy1idXR0b24tdGV4dCB7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XHJcbn1cclxuXHJcbiVsYXp5LWxvYWRpbmctc3Bpbm5lciB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLW91dDtcclxufVxyXG4iLCIuTGF5b3V0IHtcclxuICAgICR6LWluZGV4LWJvZHk6IDE7XHJcbiAgICAkei1pbmRleC1oZWFkZXI6ICR6LWluZGV4LWJvZHkgKyAxO1xyXG5cclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG5cclxuICAgICZfX2hlYWRlcixcclxuICAgICZfX2JvZHkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkZXIge1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWhlYWRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmX19ib2R5IHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtYm9keTtcclxuICAgIH1cclxuXHJcbiAgICAmX19mb290ZXIge1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgQGV4dGVuZCAudWstY29udGFpbmVyO1xyXG5cclxuICAgICAgICAmLS1zbWFsbCB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgLnVrLWNvbnRhaW5lci1zbWFsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLW1lZGl1bSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tZWRpdW0tbWF4LXdpZHRoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0teGxhcmdlIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAudWstY29udGFpbmVyLXhsYXJnZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLW5vUGFkZGluZyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIiVmdWxsLXNpemUge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4lZnVsbC1zaXplLWltYWdlIHtcclxuICAgIEBleHRlbmQgJWZ1bGwtc2l6ZTtcclxuXHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuJWZ1bGwtc2l6ZS1pbWFnZS1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBsYWNlaG9sZGVyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4lZmxleC1jZW50ZXIge1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuJXNob3ctZm9yLXNyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHNpemU6IDFweDtcclxufVxyXG5cclxuJXBhZ2UtbGF5b3V0IHtcclxuICAgIHBhZGRpbmcteTogNjBweCAxNDBweDtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICBwYWRkaW5nLXk6IDQ4cHggMTIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmcteTogMzZweCA5MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmcteTogMjRweCA2NXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ld2l0aC1ib3R0b20tbGluZSB7XHJcbiAgICAkYm9yZGVyLXdpZHRoOiAxcHg7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgYm90dG9tOiAtJGJvcmRlci13aWR0aDtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBoZWlnaHQ6IDRweDtcclxuICAgIGxlZnQ6IC0kYm9yZGVyLXdpZHRoO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSArICN7JGJvcmRlci13aWR0aH0pO1xyXG59XHJcblxyXG4lY2lyY2xlLXdpdGgtYXJyb3ctZG91YmxlZCB7XHJcbiAgICBAZXh0ZW5kICVmbGV4LWNlbnRlcjtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDU5LCAxMDEsIDIwNywgMC4yKTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHBhZGRpbmc6IDlweDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tZGVmYXVsdDtcclxufVxyXG5cclxuJWNpcmNsZS13aXRoLWFycm93IHtcclxuICAgIEBleHRlbmQgJWZsZXgtY2VudGVyO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgc2l6ZTogMjdweDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kZWZhdWx0O1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBjb2xvcjtcclxufVxyXG5cclxuJWNpcmNsZS13aXRoLWFycm93LWludmVyc2Uge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG59XHJcblxyXG4lYmFjay1idXR0b24td3JhcHBlciB7XHJcbiAgICBAaW5jbHVkZSB2dy14eGxhcmdlLXVwIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLTY4cHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdncteHhsYXJnZS1kb3duIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4lem9vbS1pbWFnZS1vbi1ob3Zlci1pbWFnZS1zdGF0ZSB7XHJcbiAgICBpbWcge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzc1cyAkdHJhbnNpdGlvbi1kZWZhdWx0LWVhc2luZztcclxuICAgIH1cclxufVxyXG5cclxuJXpvb20taW1hZ2Utb24taG92ZXIge1xyXG4gICAgQGV4dGVuZCAlem9vbS1pbWFnZS1vbi1ob3Zlci1pbWFnZS1zdGF0ZTtcclxuXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRzY2FsZS1pbWFnZS1vbi1ob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4lbGFyZ2UtbnVtYmVyIHtcclxuICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJlYmFzO1xyXG4gICAgZm9udC1zaXplOiB0b1JlbSgxNzBweCk7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDAuMjI5NTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNDBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxMTBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oOTBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSg3MHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJ1dHRvbi1hcnJvdy1ob3ZlcmVkLXN0YXRlIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpO1xyXG59XHJcblxyXG4uc2hvdy1mb3ItanMge1xyXG4gICAgQGF0LXJvb3QgLm5vLWpzICYge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oaWRlLWZvci1qcyB7XHJcbiAgICBAYXQtcm9vdCAuanMgJiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnJlc3BvbnNpdmVFbWJlZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAwIHtcclxuICAgICAgICBib3R0b206IGFzcGVjdC1yYXRpbygxNiwgOSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWZyYW1lIHtcclxuICAgICAgICBhYnNvbHV0ZTogdG9wIGxlZnQ7XHJcbiAgICAgICAgLy8gb3ZlcnJpZGUgaW5saW5lIHN0eWxlc1xyXG4gICAgICAgIHNpemU6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnZpc3VhbGx5LWhpZGRlbiB7XHJcbiAgICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7IC8qIElFNiwgSUU3ICovXHJcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB3aWR0aDogMXB4O1xyXG59XHJcblxyXG5baGlkZGVuXSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiJGhlYWRlci1saW5rLWhvdmVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLWFjY2VudC1kZWZhdWx0LCAxMCk7XHJcbiRoZWFkZXItbGluay1ob3Zlci1jb2xvci1saWdodDogZGFya2VuKHdoaXRlLCAxMCk7XHJcblxyXG4uU2l0ZUhlYWRlciB7XHJcbiAgICAkYmxvY2s6ICY7XHJcblxyXG4gICAgcGFkZGluZy10b3A6IDE2cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tZml4ZWQge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmLS1saWdodCB7XHJcbiAgICAgICAgI3skYmxvY2t9X19sb2dvIHtcclxuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1saW5rLWhvdmVyLWNvbG9yLWxpZ2h0XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICVoZWFkZXItbmF2LWl0ZW0taW5uZXIsXHJcbiAgICAgICAgJWhlYWRlci1uYXYtY2hldnJvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICVoZWFkZXItbmF2LWl0ZW0tbGluayB7XHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItbGluay1ob3Zlci1jb2xvci1saWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJWhlYWRlci1uYXYtaXRlbS1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcclxuICAgICAgICAgICAgICAgICVoZWFkZXItbmF2LWl0ZW0taW5uZXIsXHJcbiAgICAgICAgICAgICAgICAlaGVhZGVyLW5hdi1jaGV2cm9uIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1saW5rLWhvdmVyLWNvbG9yLWxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAmX19sb2dvIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbmF2IHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19idXR0b24ge1xyXG4gICAgICAgIEBleHRlbmQgLnVrLWJ1dHRvbiwgLnVrLWJ1dHRvbi1sYXJnZSwgLnVrLWJ1dHRvbi1wcmltYXJ5O1xyXG5cclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19oYW1idXJnZXIge1xyXG4gICAgICAgIEBleHRlbmQgLnVrLWJ1dHRvbiwgLnVrLWJ1dHRvbi1sYXJnZSwgLnVrLWJ1dHRvbi1wcmltYXJ5O1xyXG4gICAgICAgIEBleHRlbmQgJWZsZXgtY2VudGVyO1xyXG5cclxuICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgc2l6ZTogJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtdXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtdXAge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5IZWFkZXJOYXYge1xyXG4gICAgQGV4dGVuZCAlZmxleC1jZW50ZXI7XHJcblxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzNnB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1kcm9wZG93biB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWhlYWRlci1uYXYtaXRlbS1kcm9wZG93biAhb3B0aW9uYWw7XHJcblxyXG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XHJcbiAgICAgICAgICAgICAgICAlaGVhZGVyLW5hdi1pdGVtLWlubmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhlYWRlci1saW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICVoZWFkZXItbmF2LWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcclxuICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICVoZWFkZXItbmF2LWNoZXZyb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1hY3RpdmUge1xyXG4gICAgICAgICAgICAlaGVhZGVyLW5hdi1pdGVtLWlubmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGluayxcclxuICAgICZfX2xhYmVsIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkZXItbmF2LWl0ZW0taW5uZXIgIW9wdGlvbmFsO1xyXG5cclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE0cHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDcxNTtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZGVmYXVsdDtcclxuICAgIH1cclxuXHJcbiAgICAmX19saW5rIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkZXItbmF2LWl0ZW0tbGluayAhb3B0aW9uYWw7XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLWxpbmstaG92ZXItY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NoZXZyb24ge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRlci1uYXYtY2hldnJvbiAhb3B0aW9uYWw7XHJcblxyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItbXV0ZWQtZGVmYXVsdDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjc1cyAwLjM1cyAkdHJhbnNpdGlvbi1kZWZhdWx0LWVhc2luZywgY29sb3IgJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lICR0cmFuc2l0aW9uLWRlZmF1bHQtZWFzaW5nO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2Ryb3Bkb3duIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkZXItbmF2LWRyb3Bkb3duICFvcHRpb25hbDtcclxuXHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtaW4td2lkdGg6IDQ1MHB4O1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLW91dDtcclxuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjM1cztcclxuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIHZpc2liaWxpdHk7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAld2l0aC1ib3R0b20tbGluZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZHJvcGRvd25Jbm5lciB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGZlNDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDIwcHggMzFweCByZ2JhKDg4LCA5MiwgMTc3LCAwLjEzKTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgcGFkZGluZzogMjRweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19kcm9wZG93bkl0ZW0ge1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1hY3RpdmUge1xyXG4gICAgICAgICAgICAlaGVhZGVyLW5hdi1kcm9wZG93bi1pdGVtLWlubmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZHJvcGRvd25MaW5rLFxyXG4gICAgJl9fZHJvcGRvd25MYWJlbCB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGVyLW5hdi1kcm9wZG93bi1pdGVtLWlubmVyICFvcHRpb25hbDtcclxuXHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZW47XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNHB4KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2Ryb3Bkb3duTGluayB7XHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5TaXRlRm9vdGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tdXRlZC1saWdodGVuO1xyXG4gICAgcGFkZGluZzogNDVweCAwIDMwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI0cHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZ3JpZCB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImZpcnN0IG5hdiBzZXJ2aWNlcyBsYXN0XCI7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgYXV0bykgMWZyIGF1dG87XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDI0cHg7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIDFmcjtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJmaXJzdCBzZXJ2aWNlcyBsYXN0XCIgXCJuYXYgc2VydmljZXMgbGFzdFwiO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiZmlyc3RcIiBcIm5hdlwiIFwic2VydmljZXNcIiBcImxhc3RcIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWJvdHRvbSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29sdW1uIHtcclxuICAgICAgICAmLS1maXJzdCB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogZmlyc3Q7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1sYXN0IHtcclxuICAgICAgICAgICAgZ3JpZC1hcmVhOiBsYXN0O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyODBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2NnB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19sb2dvIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29weXJpZ2h0IHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlbjtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDEzcHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzA3NTtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxNjBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbmF2IHtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICBncmlkLWFyZWE6IG5hdjtcclxuICAgICAgICBwYWRkaW5nLXg6IDc1cHggODVweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXg6IDUwcHggNjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXg6IDAgNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zZXJ2aWNlcyB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBzZXJ2aWNlcztcclxuICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3Bob25lIHtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmViYXM7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMzJweCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2VtYWlscyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19lbWFpbCB7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTZweCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xMjU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2FkZHJlc3Mge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTZweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19kZXZlbG9wZXIge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZW47XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxM3B4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMwNzU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19saW5rcyB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2xpbmsge1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlbjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTNweCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbWVkaXVtO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMDc1O1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uRm9vdGVyTmF2IHtcclxuICAgICRibG9jazogJjtcclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tYWN0aXZlIHtcclxuICAgICAgICAgICAgI3skYmxvY2t9X19pbm5lciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXNtYWxsO1xyXG5cclxuICAgICAgICBAYXQtcm9vdCBhI3smfSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3ItYWNjZW50LWRlZmF1bHQsIDE1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLkZvb3RlclNlcnZpY2VzIHtcclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctc21hbGw7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGlzdCB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLWdhcDogMTVweCA1MnB4O1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDMycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZW47XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxMnB4KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xNjY7XHJcbiAgICB9XHJcbn1cclxuIiwiJG9mZi1jYW52YXMtbGF5ZXItd2lkdGgtczogMzAwcHggIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxheWVyLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xyXG5cclxuQG1peGluIG9mZi1jYW52YXMtY2hlY2tlZC1zdGF0ZSB7XHJcbiAgICAmOmNoZWNrZWQge1xyXG4gICAgICAgIH4gJW9mZi1jYW52YXMtbGF5ZXItdmlzaWJsZSxcclxuICAgICAgICB+ICogJW9mZi1jYW52YXMtbGF5ZXItdmlzaWJsZSB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJW9mZi1jYW52YXMtbGF5ZXItdmlzaWJsZS1zdHlsZSAhb3B0aW9uYWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB+ICVvZmYtY2FudmFzLWJhY2tncm91bmQtbGF5ZXItaGlkZGVuLFxyXG4gICAgICAgIH4gKiAlb2ZmLWNhbnZhcy1iYWNrZ3JvdW5kLWxheWVyLWhpZGRlbiB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJW9mZi1jYW52YXMtYmFja2dyb3VuZC1sYXllci1oaWRkZW4tc3R5bGUgIW9wdGlvbmFsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgfiAlb2ZmLWNhbnZhcy1iYWNrZ3JvdW5kLWxheWVyLWhpZGRlbixcclxuICAgICAgICB+ICVvZmYtY2FudmFzLWxheWVyLXZpc2libGUsXHJcbiAgICAgICAgfiAqIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4lb2ZmLWNhbnZhcy1sYXllci12aXNpYmxlLXN0eWxlIHtcclxuICAgIEBpZiAobWl4aW5fZXhpc3RzKG9mZi1jYW52YXMtbGF5ZXItdmlzaWJsZSkpIHtcclxuICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWxheWVyLXZpc2libGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbiVvZmYtY2FudmFzLWJhY2tncm91bmQtbGF5ZXItaGlkZGVuLXN0eWxlIHtcclxuICAgIEBpZiAobWl4aW5fZXhpc3RzKG9mZi1jYW52YXMtYWN0aXZlLWJhY2tncm91bmQtbGF5ZXIpKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1hY3RpdmUtYmFja2dyb3VuZC1sYXllcjtcclxuICAgIH1cclxufVxyXG5cclxuLm9mZkNhbnZhcyB7XHJcbiAgICAmLW1vZGVsIHtcclxuICAgICAgICBAZXh0ZW5kICVvZmZDYW52YXMtbW9kZWwgIW9wdGlvbmFsO1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgICBAaWYgKG1peGluLWV4aXN0cyhvZmYtY2FudmFzLW1vZGVsLXdhdGNoKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLW1vZGVsLXdhdGNoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLWxheWVyIHtcclxuICAgICAgICBAZXh0ZW5kICVvZmZDYW52YXMtbGF5ZXIgIW9wdGlvbmFsO1xyXG4gICAgICAgIEBleHRlbmQgJW9mZi1jYW52YXMtbGF5ZXItdmlzaWJsZSAhb3B0aW9uYWw7XHJcblxyXG4gICAgICAgIGZpeGVkOiB0b3AgcmlnaHQ7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgIHdpZHRoOiAkb2ZmLWNhbnZhcy1sYXllci13aWR0aC1zO1xyXG4gICAgICAgIHotaW5kZXg6IDExO1xyXG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteHNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICB3aWR0aDogJG9mZi1jYW52YXMtbGF5ZXItd2lkdGg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaWYgKG1peGluLWV4aXN0cyhvZmYtY2FudmFzLWxheWVyKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWxheWVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLWJhY2tkcm9wIHtcclxuICAgICAgICBAZXh0ZW5kICVvZmZDYW52YXMtYmFja2Ryb3AgIW9wdGlvbmFsO1xyXG5cclxuICAgICAgICBAaWYgKG1peGluLWV4aXN0cyhvZmYtY2FudmFzLWJhY2tkcm9wKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhY2tkcm9wO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmIChtaXhpbi1leGlzdHMob2ZmLWNhbnZhcy1iYWNrZHJvcC1hY3RpdmUpKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFja2Ryb3AtYWN0aXZlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLWJhY2tncm91bmRMYXllciB7XHJcbiAgICAgICAgQGV4dGVuZCAlb2ZmQ2FudmFzLWJhY2tncm91bmRMYXllciAhb3B0aW9uYWw7XHJcbiAgICAgICAgQGV4dGVuZCAlb2ZmLWNhbnZhcy1iYWNrZ3JvdW5kLWxheWVyLWhpZGRlbiAhb3B0aW9uYWw7XHJcblxyXG4gICAgICAgIEBpZiAobWl4aW5fZXhpc3RzKG9mZi1jYW52YXMtYmFja2dyb3VuZC1sYXllcikpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYWNrZ3JvdW5kLWxheWVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIkb2ZmLWNhbnZhcy1sYXllci13aWR0aC1zOiAzMDBweCAhZGVmYXVsdDtcclxuJG9mZi1jYW52YXMtbGF5ZXItYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWJhY2tkcm9wLWxheWVyLWJhY2tncm91bmQtY29sb3I6IHJnYmEoYmxhY2ssIDAuOCkgIWRlZmF1bHQ7XHJcblxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYWNrZHJvcC1hY3RpdmUge1xyXG4gICAgJltmb3I9XCJvZmYtY2FudmFzXCJdIHtcclxuICAgICAgICBAZXh0ZW5kICVuYXYtb2ZmLWNhbnZhcy1iYWNrZHJvcC1hY3RpdmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBvZmYtY2FudmFzLW1vZGVsLXdhdGNoIHtcclxuICAgICZbaWQ9XCJvZmYtY2FudmFzXCJdIHtcclxuICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNoZWNrZWQtc3RhdGU7XHJcblxyXG4gICAgICAgICY6Y2hlY2tlZCB+ICVuYXYtb2ZmLWNhbnZhcy1iYWNrZHJvcC1hY3RpdmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhY2tkcm9wLXZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1sYXllciB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmYtY2FudmFzLWxheWVyLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJG9mZi1jYW52YXMtbGF5ZXItd2lkdGgtcyk7XHJcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIHZpc2liaWxpdHk7XHJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjVzO1xyXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy14c21hbGwtZG93biB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRvZmYtY2FudmFzLWxheWVyLXdpZHRoKTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG9mZi1jYW52YXMtbGF5ZXItdmlzaWJsZSB7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbn1cclxuXHJcbkBtaXhpbiBvZmYtY2FudmFzLWJhY2tncm91bmQtbGF5ZXIge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XHJcbn1cclxuXHJcbkBtaXhpbiBvZmYtY2FudmFzLWFjdGl2ZS1iYWNrZ3JvdW5kLWxheWVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJG9mZi1jYW52YXMtbGF5ZXItd2lkdGgpO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbkBtaXhpbiBvZmYtY2FudmFzLWJhY2tkcm9wIHtcclxuICAgIGZpeGVkOiB0b3AgbGVmdDtcclxuICAgIHNpemU6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAxMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRvZmYtY2FudmFzLWJhY2tkcm9wLWxheWVyLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiB7XHJcbiAgICAgICAgcHJvcGVydHk6IG9wYWNpdHksIHZpc2liaWxpdHk7XHJcbiAgICAgICAgZHVyYXRpb246IDAuNXM7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBvZmYtY2FudmFzLWJhY2tkcm9wLXZpc2libGUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4iLCIkb2ZmLWNhbnZhcy1sYXllci13aWR0aC1zOiAyODBweDtcclxuJG9mZi1jYW52YXMtYmFja2Ryb3AtbGF5ZXItYmFja2dyb3VuZC1jb2xvcjogcmdiYShibGFjaywgMC41KTtcclxuIiwiLlNpdGVPZmZDYW52YXMge1xyXG4gICAgJHotaW5kZXgtaW1hZ2U6IDE7XHJcbiAgICAkei1pbmRleC1iYWNrZ3JvdW5kLWltYWdlOiAkei1pbmRleC1pbWFnZSArIDE7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICZfX2hlYWRlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG5cclxuICAgICZfX25hdmlnYXRpb24ge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBtYXJnaW4tdG9wOiA3OHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2Nsb3NlIHtcclxuICAgICAgICBAZXh0ZW5kIC51ay1idXR0b24sIC51ay1idXR0b24tbGFyZ2UsIC51ay1idXR0b24tcHJpbWFyeTtcclxuICAgICAgICBAZXh0ZW5kICVmbGV4LWNlbnRlcjtcclxuXHJcbiAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHNpemU6ICRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1iYWNrZ3JvdW5kLWltYWdlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemUtaW1hZ2U7XHJcblxyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWltYWdlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uU2l0ZU9mZkNhbnZhc05hdmlnYXRpb24ge1xyXG4gICAgJGJsb2NrOiAmO1xyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1hY3RpdmUge1xyXG4gICAgICAgICAgICAjeyRibG9ja31fX2lubmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICAgIEBleHRlbmQgJW9mZi1jYW52YXMtaW5uZXIgIW9wdGlvbmFsO1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctbWVkaXVtO1xyXG5cclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2hlY2tib3gge1xyXG4gICAgICAgICY6Y2hlY2tlZCB7XHJcbiAgICAgICAgICAgIH4gJW9mZi1jYW52YXMtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICsgJW9mZi1jYW52YXMtaW5uZXIge1xyXG4gICAgICAgICAgICAgICAgJW9mZi1jYW52YXMtY2hldnJvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZHJvcGRvd24ge1xyXG4gICAgICAgIEBleHRlbmQgJW9mZi1jYW52YXMtZHJvcGRvd24gIW9wdGlvbmFsO1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZHJvcGRvd25JdGVtIHtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tYWN0aXZlIHtcclxuICAgICAgICAgICAgI3skYmxvY2t9X19kcm9wZG93bklubmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZHJvcGRvd25Jbm5lciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZW47XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxMnB4KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xNjY2O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NoZXZyb24ge1xyXG4gICAgICAgIEBleHRlbmQgJW9mZi1jYW52YXMtY2hldnJvbiAhb3B0aW9uYWw7XHJcbiAgICAgICAgQGV4dGVuZCAlZmxleC1jZW50ZXI7XHJcblxyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA5cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMGRlZyk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjc1cyAkdHJhbnNpdGlvbi1kZWZhdWx0LWVhc2luZztcclxuICAgIH1cclxufVxyXG5cclxuJW9mZkNhbnZhcy1tb2RlbCB7XHJcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxufVxyXG5cclxuJW9mZkNhbnZhcy1sYXllciB7XHJcbiAgICBwYWRkaW5nOiAxNXB4ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsIDQwcHg7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgdncteHNtYWxsLWRvd24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcbiIsIi5TaXRlRm9ybSB7XHJcbiAgICAkYmxvY2s6ICY7XHJcblxyXG4gICAgJl9fZ3JpZCB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDE2cHggMzJweDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS12ZXJ0aWNhbCB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAxNnB4O1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgPiAqIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb250cm9sIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblxyXG4gICAgICAgICYtLXNpbmdsZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLXVwIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogLTE7XHJcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIC0xO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1tdXRlZC1kZWZhdWx0O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDEycHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOXB4O1xyXG4gICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxMnB4KTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW5wdXQge1xyXG4gICAgICAgIEBleHRlbmQgLnVrLWlucHV0O1xyXG5cclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE0cHgpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy14OiAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG5cclxuICAgICAgICAgICAgKyAjeyRibG9ja31fX2xhYmVsIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvcm0tZGlzYWJsZWQtY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaXMtaW52YWxpZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWRhbmdlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2hlY2tib3hXcmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NoZWNrYm94IHtcclxuICAgICAgICBAZXh0ZW5kIC51ay1jaGVja2JveDtcclxuXHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19mb290ZXIge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2FncmVlbWVudCB7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoMjEsIDQyLCA3MSwgMC43KTtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDEycHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzMztcclxuICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAycHg7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYnV0dG9uIHtcclxuICAgICAgICBAZXh0ZW5kIC51ay1idXR0b24sIC51ay1idXR0b24tcHJpbWFyeTtcclxuICAgICAgICBAZXh0ZW5kICVsYXp5LWxvYWRpbmctYnV0dG9uO1xyXG5cclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAwIDMycHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGV4dGFyZWEge1xyXG4gICAgICAgIEBleHRlbmQgJWZvcm0tdGV4dGFyZWEgIW9wdGlvbmFsO1xyXG4gICAgICAgIEBleHRlbmQgLnVrLXRleHRhcmVhO1xyXG5cclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MjBweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxMzBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tZnVsbCB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvblRleHQge1xyXG4gICAgICAgIEBleHRlbmQgJWxhenktbG9hZGluZy1idXR0b24tdGV4dDtcclxuICAgIH1cclxuXHJcbiAgICAmX19zcGlubmVyIHtcclxuICAgICAgICBAZXh0ZW5kICVsYXp5LWxvYWRpbmctc3Bpbm5lcjtcclxuICAgIH1cclxufVxyXG4iLCIuQnV0dG9uQXJyb3cge1xyXG4gICAgQGV4dGVuZCAlYnV0dG9uLWFycm93ICFvcHRpb25hbDtcclxuXHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGZvbnQtc2l6ZTogdG9SZW0oMTNweCk7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1Mzg1O1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZGVmYXVsdDtcclxuXHJcbiAgICBAYXQtcm9vdCBhI3smfSB7XHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuXHJcbiAgICAgICAgICAgICVidXR0b24tYXJyb3ctY2lyY2xlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1hcnJvdy1ob3ZlcmVkLXN0YXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NpcmNsZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlYnV0dG9uLWFycm93LWNpcmNsZSAhb3B0aW9uYWw7XHJcbiAgICAgICAgQGV4dGVuZCAlY2lyY2xlLXdpdGgtYXJyb3c7XHJcblxyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5CYWNrQnV0dG9uIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgZm9udC1zaXplOiB0b1JlbSgxM3B4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTUzODU7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbi1kZWZhdWx0O1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICAlYmFjay1hcnJvdy1jaXJjbGUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NpcmNsZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlYmFjay1hcnJvdy1jaXJjbGUgIW9wdGlvbmFsO1xyXG4gICAgICAgIEBleHRlbmQgJWNpcmNsZS13aXRoLWFycm93O1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbXV0ZWQtbGlnaHRlbjtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5TaXRlR2FsbGVyeSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJl9fc2xpZGUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemUtaW1hZ2UtY29udGFpbmVyO1xyXG5cclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBhc3BlY3QtcmF0aW8oMTQ1MCwgODE1KTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplLWltYWdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb250cm9scyB7XHJcbiAgICAgICAgYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgYm90dG9tOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLlByb2plY3RDYXJkIHtcclxuICAgICRibG9jazogJjtcclxuICAgICR6LWluZGV4LXNoYWRvdzogMTtcclxuICAgICR6LWluZGV4LWltYWdlOiAkei1pbmRleC1zaGFkb3cgKyAxO1xyXG4gICAgJHotaW5kZXgtb3ZlcmxheTogJHotaW5kZXgtaW1hZ2UgKyAxO1xyXG5cclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICAjeyRibG9ja31fX3RpdGxlLFxyXG4gICAgICAgICVidXR0b24tYXJyb3cge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJWJ1dHRvbi1hcnJvdy1jaXJjbGUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tYXJyb3ctaG92ZXJlZC1zdGF0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICN7JGJsb2NrfV9faW1hZ2Uge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2NhbGUtaW1hZ2Utb24taG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemUtaW1hZ2UtY29udGFpbmVyO1xyXG4gICAgICAgIEBleHRlbmQgJXpvb20taW1hZ2Utb24taG92ZXItaW1hZ2Utc3RhdGU7XHJcblxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYXNwZWN0LXJhdGlvKDYxMiwgNDQwKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZTtcclxuXHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMzBweCAxMDBweCByZ2JhKDg4LCA5MiwgMTc3LCAwLjMpO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICAgICAgd2lkdGg6IDkxLjE1JTtcclxuICAgICAgICAgICAgei1pbmRleDogJHotaW5kZXgtc2hhZG93O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplLWltYWdlO1xyXG5cclxuICAgICAgICAgICAgei1pbmRleDogJHotaW5kZXgtaW1hZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX292ZXJsYXkge1xyXG4gICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZTtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBsYWNlaG9sZGVyO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LW92ZXJsYXk7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVuO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yODU7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctbWVkaXVtO1xyXG5cclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi5QYWdlRmlsdGVycyB7XHJcbiAgICAkYmxvY2s6ICY7XHJcbiAgICAkaXRlbS1ob3Jpem9udGFsLWd1dHRlcjogMTVweDtcclxuICAgICRpdGVtLXZlcnRpY2FsLWd1dHRlcjogMThweDtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0kaXRlbS1ob3Jpem9udGFsLWd1dHRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IC0kaXRlbS12ZXJ0aWNhbC1ndXR0ZXI7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgbWFyZ2luLXg6IC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAkc2Nyb2xsLWd1dHRlcjogMTZweDtcclxuXHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRzY3JvbGwtZ3V0dGVyO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2Nyb2xsLWd1dHRlcjtcclxuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRpdGVtLXZlcnRpY2FsLWd1dHRlcjtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpdGVtLWhvcml6b250YWwtZ3V0dGVyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICN7JGJsb2NrfV9faW5uZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbXV0ZWQtbGlnaHRlbjtcclxuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZW47XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxM3B4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcblxyXG4gICAgICAgIEBhdC1yb290IGEjeyZ9IHtcclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5Db25zdWx0YXRpb24ge1xyXG4gICAgJGJvcmRlci13aWR0aDogMXB4O1xyXG4gICAgJHotaW5kZXgtaW1hZ2U6IDE7XHJcbiAgICAkei1pbmRleC1vdmVybGF5OiAkei1pbmRleC1pbWFnZSArIDE7XHJcbiAgICAkei1pbmRleC1jb250ZW50OiAkei1pbmRleC1vdmVybGF5ICsgMTtcclxuICAgICR6LWluZGV4LWxpbmU6ICR6LWluZGV4LWNvbnRlbnQgKyAxO1xyXG5cclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1tdXRlZC1leHRyYS1saWdodGVuO1xyXG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICNkM2Q1ZDk7XHJcbiAgICBwYWRkaW5nOiA2MHB4IDUwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHggMzVweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIEBleHRlbmQgJXdpdGgtYm90dG9tLWxpbmU7XHJcblxyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAzMHB4IDQwcHggcmdiYSg4OCwgOTIsIDE3NywgMC4wOCk7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBoZWlnaHQ6IDg4LjUlO1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fb3ZlcmxheSB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTVkZWcsICRjb2xvci1tdXRlZC1leHRyYS1saWdodGVuIDAlLCAkY29sb3ItbXV0ZWQtZXh0cmEtbGlnaHRlbiA1Mi41JSwgcmdiYSgyNTAsIDI1MCwgMjUwLCAwKSAxMDAlKTtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1vdmVybGF5O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1jb250ZW50O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctbGFyZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVuO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMThweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDQ0NDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTZweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNHB4KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDI4NTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYnV0dG9uIHtcclxuICAgICAgICBAZXh0ZW5kIC51ay1idXR0b24sIC51ay1idXR0b24tcHJpbWFyeTtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplLWltYWdlO1xyXG5cclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1pbWFnZTtcclxuICAgIH1cclxufVxyXG4iLCJAbWl4aW4gYWN0aXZlLXN0YXRlKCRibG9jaykge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcblxyXG4gICAgI3skYmxvY2t9X19pdGVtIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxufVxyXG5cclxuLkxvY2FsZVBpY2tlciB7XHJcbiAgICAkYmxvY2s6ICY7XHJcbiAgICAkaXRlbS1wYWRkaW5nOiA1cHg7XHJcbiAgICAkYm9yZGVyLWNvbG9yOiAjZDNkNWQ5O1xyXG5cclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGJveC1zaGFkb3c6IDAgNHB4IDMycHggcmdiYSg4OCwgOTIsIDE3NywgMC4yNSk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDE2cHggLSAkaXRlbS1wYWRkaW5nO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHNpemU6ICRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMtd2l0aGluIHtcclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC11cCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFjdGl2ZS1zdGF0ZSgkYmxvY2spO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLiN7LS1hY3RpdmV9IHtcclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYWN0aXZlLXN0YXRlKCRibG9jayk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1ib2R5LWJhY2tncm91bmQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XHJcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICAgICAgICAgICAgICAjeyRibG9ja31fX2lubmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCk7XHJcblxyXG4gICAgICAgICAgICAgICAgI3skYmxvY2t9X19pbm5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1hY3RpdmUge1xyXG4gICAgICAgICAgICAjeyRibG9ja31fX2lubmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZXh0cmEtbGlnaHRlbjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE0cHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA3MTU7XHJcbiAgICAgICAgcGFkZGluZzogJGl0ZW0tcGFkZGluZztcclxuICAgIH1cclxuXHJcbiAgICAmX19hcnJvdyB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLXVwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5GZWF0dXJlZFNsaWRlciB7XHJcbiAgICAkei1pbmRleC1pbWFnZTogMTtcclxuICAgICR6LWluZGV4LWNvbnRlbnQ6ICR6LWluZGV4LWltYWdlICsgMTtcclxuICAgICR6LWluZGV4LXBhbmVsOiAkei1pbmRleC1jb250ZW50ICsgMTtcclxuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZS1pbWFnZTtcclxuXHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtaW1hZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBsYWNlaG9sZGVyO1xyXG4gICAgICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICAgICAgcGFkZGluZzogMTYwcHggMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb250YWluZXIsXHJcbiAgICAmX19ncmlkIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZ3JpZCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSg5MHB4KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMC45O1xyXG4gICAgICAgIG1heC13aWR0aDogODEycHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDcycHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDU2cHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oNDJweCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg1NzE1O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgQGV4dGVuZCAldGV4dC14bGFyZ2U7XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fcGFuZWwge1xyXG4gICAgICAgIGJvdHRvbTogNTJweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1wYW5lbDtcclxuICAgIH1cclxufVxyXG5cclxuLkZlYXR1cmVkU2xpZGVyUGFuZWwge1xyXG4gICAgJGJsb2NrOiAmO1xyXG4gICAgJHotaW5kZXgtcnVubmVyOiAxO1xyXG4gICAgJHotaW5kZXgtaXRlbTogJHotaW5kZXgtcnVubmVyICsgMTtcclxuICAgICRpdGVtcy1jb3VudDogMztcclxuICAgICRpdGVtLXdpZHRoOiAxMDAlIC8gJGl0ZW1zLWNvdW50O1xyXG4gICAgJGNsaXAtcGF0aC1maXJzdC1zOiBwb2x5Z29uKGNhbGMoMTAwJSAtIDIwcHgpIDAsIDEwMCUgNTAlLCBjYWxjKDEwMCUgLSAyMHB4KSAxMDAlLCAwIDEwMCUsIDAgMjBweCwgMCAwKTtcclxuICAgICRjbGlwLXBhdGgtczogcG9seWdvbihjYWxjKDEwMCUgLSAxMHB4KSAwLCAxMDAlIDUwJSwgY2FsYygxMDAlIC0gMTBweCkgMTAwJSwgMCAxMDAlLCAxMHB4IDUwJSwgMCAwKTtcclxuICAgICRjbGlwLXBhdGgtZmlyc3Q6IHBvbHlnb24oY2FsYygxMDAlIC0gMTBweCkgMCwgMTAwJSA1MCUsIGNhbGMoMTAwJSAtIDEwcHgpIDEwMCUsIDAgMTAwJSwgMCAwKTtcclxuICAgICRjbGlwLXBhdGg6IHBvbHlnb24oY2FsYygxMDAlIC0gMTBweCkgMCwgMTAwJSA1MCUsIGNhbGMoMTAwJSAtIDEwcHgpIDEwMCUsIDAgMTAwJSwgNXB4IDUwJSwgMCAwKTtcclxuXHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAmX19ncmlkIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBjbGlwLXBhdGg6ICRjbGlwLXBhdGgtZmlyc3QtcztcclxuICAgICAgICBjb3VudGVyLXJlc2V0OiAkY291bnRlci1mZWF0dXJlZC1zbGlkZXI7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGNsaXAtcGF0aDogJGNsaXAtcGF0aC1maXJzdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogJGNvdW50ZXItZmVhdHVyZWQtc2xpZGVyO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZzogMjZweCA1OXB4IDIwcHggMjNweDtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1pdGVtO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14eHNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDEycHggMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAmLiN7LS1hY3RpdmV9IHtcclxuICAgICAgICAgICAgICAgIH4gJWZlYXR1cmVkLXNsaWRlci1wYW5lbC1ydW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogJGNsaXAtcGF0aC1zO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xpcC1wYXRoOiAkY2xpcC1wYXRoO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAmLiN7LS1hY3RpdmV9IHtcclxuICAgICAgICAgICAgICAgIH4gJWZlYXR1cmVkLXNsaWRlci1wYW5lbC1ydW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICAmLiN7LS1hY3RpdmV9IHtcclxuICAgICAgICAgICAgICAgIH4gJWZlYXR1cmVkLXNsaWRlci1wYW5lbC1ydW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi4jey0tYWN0aXZlfSB7XHJcbiAgICAgICAgICAgICN7JGJsb2NrfV9fbnVtYmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICN7JGJsb2NrfV9fdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbnVtYmVyIHtcclxuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUoJGNvbG9yLXByaW1hcnktZGVmYXVsdCwgMC4yKTtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE0cHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODU3MTU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbi1kZWZhdWx0O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiMFwiIGNvdW50ZXIoJGNvdW50ZXItZmVhdHVyZWQtc2xpZGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGV4dCB7XHJcbiAgICAgICAgQGV4dGVuZCAlX2hlYWRpbmctYmFzZTtcclxuXHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgyOHB4KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4wNzE1O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZGVmYXVsdDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMjRweCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMjBweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNnB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXh4c21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3J1bm5lciB7XHJcbiAgICAgICAgQGV4dGVuZCAlZmVhdHVyZWQtc2xpZGVyLXBhbmVsLXJ1bm5lciAhb3B0aW9uYWw7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICBjbGlwLXBhdGg6ICRjbGlwLXBhdGgtZmlyc3QtcztcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBjbGlwLXBhdGg7XHJcbiAgICAgICAgd2lkdGg6ICRpdGVtLXdpZHRoO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LXJ1bm5lcjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGNsaXAtcGF0aDogJGNsaXAtcGF0aC1maXJzdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GZWF0dXJlZFNsaWRlclNjcm9sbCB7XHJcbiAgICAkYmxvY2s6ICY7XHJcblxyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmb250LXNpemU6IHRvUmVtKDEzcHgpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xNTM4NTtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICAjeyRibG9ja31fX2NpcmNsZSB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jaXJjbGUge1xyXG4gICAgICAgIEBleHRlbmQgJWNpcmNsZS13aXRoLWFycm93LWRvdWJsZWQ7XHJcblxyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NpcmNsZUlubmVyIHtcclxuICAgICAgICBAZXh0ZW5kICVjaXJjbGUtd2l0aC1hcnJvdztcclxuXHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDkwZGVnKTtcclxuICAgIH1cclxufVxyXG4iLCIuUGFydG5lcnMge1xyXG4gICAgJGJsb2NrOiAmO1xyXG5cclxuICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi14OiAtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3NsaWRlIHtcclxuICAgICAgICBAZXh0ZW5kICVmbGV4LWNlbnRlcjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgc3dpcGVyLWNhbGMtc2xpZGUoNiwgMTZweCk7XHJcblxyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHN3aXBlci1jYWxjLXNsaWRlKDUsIDE2cHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzd2lwZXItY2FsYy1zbGlkZSg0LCAxNnB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzd2lwZXItY2FsYy1zbGlkZSgzLCAxNnB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC11cCB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkNWQ5O1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC0ycHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14c21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDk2cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgI3skYmxvY2t9X19pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2dy14c21hbGwtdXAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy14c21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX25hdmlnYXRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi8vLyBDYWxjdWxhdGUgc2xpZGUgd2lkdGggaW4gcmVsYXRpdmUgdW5pdHNcclxuLy8vXHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvdW50IC0gQ291bnQgb2Ygc2xpZGUgcGVyIHJvd1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgLSBIb3Jpem9udGFsIGd1dHRlciBiZXR3ZWVuIHNsaWRlcyBpbiBweFxyXG4vLy9cclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFJldHVybnMgc2xpZGUgd2lkdGggaW4gcmVsYXRpdmUgd2lkdGhcclxuLy8vIEBleGFtcGxlOiBjYWxjKDEwMCUgLyA0ICsgTnB4KVxyXG5AZnVuY3Rpb24gc3dpcGVyLXNsaWRlLXdpZHRoKCRjb3VudCwgJGd1dHRlcikge1xyXG4gICAgQHJldHVybiBjYWxjKDEwMCUgLyAjeyRjb3VudH0gKyAjeyRndXR0ZXIgLyAkY291bnR9KTtcclxufVxyXG5cclxuLy8vIENhbGN1bGF0ZSBzbGlkZSB3aWR0aCBhbmQgYWRkIGhvcml6b250YWwgZ3V0dGVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb3VudCAtIENvdW50IG9mIHNsaWRlIHBlciByb3dcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIC0gSG9yaXpvbnRhbCBndXR0ZXIgYmV0d2VlbiBzbGlkZXMgaW4gcHhcclxuQG1peGluIHN3aXBlci1jYWxjLXNsaWRlKCRjb3VudCwgJGd1dHRlcikge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcclxuICAgIHdpZHRoOiBzd2lwZXItc2xpZGUtd2lkdGgoJGNvdW50LCAkZ3V0dGVyKTtcclxuXHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRndXR0ZXI7XHJcbiAgICB9XHJcbn1cclxuIiwiLkhvbWVBYm91dCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQ4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1wYWdlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29sdW1uIHtcclxuICAgICAgICAmLS1sZWZ0IHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNjRweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1yaWdodCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwOHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNjRweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXdpdGgtaGlnaGxpZ2h0O1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmcteGxhcmdlO1xyXG5cclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzNnB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIEBleHRlbmQgJXRleHQtbGFyZ2U7XHJcblxyXG4gICAgICAgIG1heC13aWR0aDogNjE0cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuSG9tZU51bWJlcnMge1xyXG4gICAgJl9fZ3JpZCB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLWdhcDogMzJweDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAyMHB4IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAlb3JkZXJlZC1jYXJkIHtcclxuICAgICAgICAgICAgc2l6ZTogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLk9yZGVyZWRDYXJkIHtcclxuICAgIEBleHRlbmQgJW9yZGVyZWQtY2FyZCAhb3B0aW9uYWw7XHJcblxyXG4gICAgJGJsb2NrOiAmO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2QzZDVkOTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGF0LXJvb3QgYSN7Jn0ge1xyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICN7JGJsb2NrfV9fdGl0bGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICN7JGJsb2NrfV9fYnV0dG9uSWNvbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tYXJyb3ctaG92ZXJlZC1zdGF0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIEBleHRlbmQgJXdpdGgtYm90dG9tLWxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlcjogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgc2l6ZTogMTRweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19udW1iZXIge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVuO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODU3MTU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1zbWFsbC13aXRoLWRlY3JlYXNlO1xyXG5cclxuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDMycHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZGVmYXVsdDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbiB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTNweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTUzODU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19idXR0b25JY29uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5cHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDJweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tZGVmYXVsdDtcclxuICAgIH1cclxufVxyXG4iLCIuSG9tZVNlY3Rpb25zIHtcclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctcGFnZTtcclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgY291bnRlci1yZXNldDogJGNvdW50ZXItaG9tZS1zZWN0aW9uO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogJGNvdW50ZXItaG9tZS1zZWN0aW9uO1xyXG5cclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNDBweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDc0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLkhvbWVTZWN0aW9uIHtcclxuICAgICRibG9jazogJjtcclxuICAgICRjYXJkcy1zaGlmdC14bDogODRweDtcclxuICAgICRjYXJkcy1zaGlmdC1sOiAxNDBweDtcclxuICAgICRjYXJkcy1zaGlmdC1tOiAyMDBweDtcclxuICAgICRudW1iZXItb2Zmc2V0LXhsOiA4MHB4O1xyXG4gICAgJG51bWJlci1vZmZzZXQtbDogNjBweDtcclxuICAgICRudW1iZXItb2Zmc2V0LW06IDQwcHg7XHJcbiAgICAkdGl0bGUtcGFkZGluZzogMjBweDtcclxuICAgICR6LWluZGV4LWltYWdlOiAxO1xyXG4gICAgJHotaW5kZXgtaW5mbzogJHotaW5kZXgtaW1hZ2UgKyAxO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAmLS1sZWZ0IHtcclxuICAgICAgICAjeyRibG9ja31fX2ltYWdlQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IC0xO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6ICRudW1iZXItb2Zmc2V0LXhsO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAkbnVtYmVyLW9mZnNldC1sO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6ICRudW1iZXItb2Zmc2V0LW07XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgI3skYmxvY2t9X190aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0aXRsZS1wYWRkaW5nO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgI3skYmxvY2t9X19jYXJkcyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmRzLXNoaWZ0LXhsO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy14eGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kY2FyZHMtc2hpZnQtbDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kY2FyZHMtc2hpZnQtbTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4teDogLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW5mbyB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWluZm87XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctbWVkaXVtO1xyXG5cclxuICAgICAgICBtYXgtd2lkdGg6IDcwMHB4ICsgJHRpdGxlLXBhZGRpbmc7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHRpdGxlLXBhZGRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2FyZHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDMwcHg7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kY2FyZHMtc2hpZnQteGw7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzRweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDgzMnB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14eGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMjRweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmRzLXNoaWZ0LWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRjYXJkcy1zaGlmdC1tO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICRzY3JvbGwtZ3V0dGVyOiAxNnB4O1xyXG5cclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0kc2Nyb2xsLWd1dHRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLXg6IC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRzY3JvbGwtZ3V0dGVyO1xyXG4gICAgICAgICAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLXVwIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2FyZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgICAgICAgICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICVmZWF0dXJlZC1jYXJkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlQ29udGFpbmVyIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MTRweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtaW1hZ2U7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXh4bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyOTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi51ay1zY3JvbGxzcHktaW52aWV3IHtcclxuICAgICAgICAgICAgI3skYmxvY2t9X19udW1iZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19udW1iZXIge1xyXG4gICAgICAgIEBleHRlbmQgJWxhcmdlLW51bWJlcjtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogLThweDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHJpZ2h0OiAkbnVtYmVyLW9mZnNldC14bDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYW5pbWF0aW9uLWR1cmF0aW9uO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNzVzO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcmlnaHQ6ICRudW1iZXItb2Zmc2V0LWw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcmlnaHQ6ICRudW1iZXItb2Zmc2V0LW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgY29sb3I6IHJnYmEoNTksIDEwMSwgMjA3LCAwLjEpO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiMFwiIGNvdW50ZXIoJGNvdW50ZXItaG9tZS1zZWN0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBhc3BlY3QtcmF0aW8oNTE0LCA0NzMpO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemUtaW1hZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5GZWF0dXJlZENhcmQge1xyXG4gICAgQGV4dGVuZCAlZmVhdHVyZWQtY2FyZCAhb3B0aW9uYWw7XHJcblxyXG4gICAgJGJsb2NrOiAmO1xyXG4gICAgJHotaW5kZXgtaW1hZ2U6IDE7XHJcbiAgICAkei1pbmRleC1vdmVybGF5OiAkei1pbmRleC1pbWFnZSArIDE7XHJcbiAgICAkei1pbmRleC1jb250ZW50OiAkei1pbmRleC1vdmVybGF5ICsgMTtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmctYm90dG9tOiBhc3BlY3QtcmF0aW8oMTgzLCAyNjYpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIEBhdC1yb290IGEjeyZ9IHtcclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAjeyRibG9ja31fX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICN7JGJsb2NrfV9fY2lyY2xlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1hcnJvdy1ob3ZlcmVkLXN0YXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLW5vSW1hZ2Uge1xyXG4gICAgICAgIEBhdC1yb290IGEjeyZ9IHtcclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAjeyRibG9ja31fX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICN7JGJsb2NrfV9fb3ZlcmxheSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICN7JGJsb2NrfV9fdGl0bGUge1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAlY2lyY2xlLXdpdGgtYXJyb3cge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVjaXJjbGUtd2l0aC1hcnJvdy1pbnZlcnNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplLWltYWdlO1xyXG5cclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1pbWFnZTtcclxuICAgIH1cclxuXHJcbiAgICAmX19vdmVybGF5IHtcclxuICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemU7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTYuOTElLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpIDYzLjk0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkyKSA4Mi42MyUsIHdoaXRlIDEwMCUpO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LW92ZXJsYXk7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplO1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtY29udGVudDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXNtYWxsLXdpdGgtZGVjcmVhc2U7XHJcblxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZGVmYXVsdDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NpcmNsZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlY2lyY2xlLXdpdGgtYXJyb3c7XHJcblxyXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG59XHJcbiIsIi5Ib21lUHJvamVjdHMge1xyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1wYWdlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA5MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNzVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX21vcmUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDExMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDkwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uSG9tZVByb2plY3RzTW9yZSB7XHJcbiAgICAkYmxvY2s6ICY7XHJcblxyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkM2Q1ZDk7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDI2cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNHB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICAjeyRibG9ja31fX2NpcmNsZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLXVwIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctbGFyZ2U7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLXVwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2xpbmsge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGV4dCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxM3B4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTM4NTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jaXJjbGUge1xyXG4gICAgICAgIEBleHRlbmQgJWNpcmNsZS13aXRoLWFycm93LWRvdWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2lyY2xlSW5uZXIge1xyXG4gICAgICAgIEBleHRlbmQgJWNpcmNsZS13aXRoLWFycm93O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC11cCB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWig5MGRlZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5Ib21lUHJvamVjdCB7XHJcbiAgICAkYmxvY2s6ICY7XHJcbiAgICAkYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcclxuICAgICRpbWFnZS1vZmZzZXQtczogNDBweDtcclxuICAgICRpbWFnZS1vZmZzZXQ6IDI0cHg7XHJcblxyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nLXg6IDMycHg7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuXHJcbiAgICAmLS1sZWZ0IHtcclxuICAgICAgICAjeyRibG9ja31fX2ltYWdlQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICN7JGJsb2NrfV9fY29udGVudCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTQ1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOTJweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0OHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2VDb250YWluZXIge1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1heC13aWR0aDogNTA2cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGltYWdlLW9mZnNldC1zO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAkaW1hZ2Utb2Zmc2V0LXM7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI2MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW1hZ2Utb2Zmc2V0O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJGltYWdlLW9mZnNldDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyODhweDtcclxuICAgICAgICAgICAgb3JkZXI6IC0xO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteHNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYXNwZWN0LXJhdGlvKDUwNiwgNTMwKTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICRvZmZzZXQ6ICRpbWFnZS1vZmZzZXQtcyAvIDI7XHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbXV0ZWQtbGlnaHRlbjtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgYm90dG9tOiAkb2Zmc2V0O1xyXG4gICAgICAgICAgICBsZWZ0OiAkb2Zmc2V0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAkb2Zmc2V0O1xyXG4gICAgICAgICAgICB0b3A6ICRvZmZzZXQ7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgICAgICAkb2Zmc2V0OiAkaW1hZ2Utb2Zmc2V0IC8gMjtcclxuXHJcbiAgICAgICAgICAgICAgICBib3R0b206ICRvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAkb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6ICRvZmZzZXQ7XHJcbiAgICAgICAgICAgICAgICB0b3A6ICRvZmZzZXQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgI3skYmxvY2t9X19pbWFnZUlubmVyIHtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2NhbGUtaW1hZ2Utb24taG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlSW5uZXIge1xyXG4gICAgICAgIEBleHRlbmQgJXpvb20taW1hZ2Utb24taG92ZXItaW1hZ2Utc3RhdGU7XHJcblxyXG4gICAgICAgICR6LWluZGV4LWltYWdlLWlubmVyLWltZzogMTtcclxuICAgICAgICAkei1pbmRleC1pbWFnZS1pbm5lci1iZWZvcmU6ICR6LWluZGV4LWltYWdlLWlubmVyLWltZyArIDE7XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogLSRpbWFnZS1vZmZzZXQtcztcclxuICAgICAgICBzaXplOiAxMDAlO1xyXG4gICAgICAgIHRvcDogLSRpbWFnZS1vZmZzZXQtcztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICByaWdodDogLSRpbWFnZS1vZmZzZXQ7XHJcbiAgICAgICAgICAgIHRvcDogLSRpbWFnZS1vZmZzZXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgLy8gcHJldmVudCBwYXJhbGxheCBvbiBtb2JpbGVcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBzaXplOiAxMDAlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAkei1pbmRleC1pbWFnZS1pbm5lci1pbWc7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemU7XHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcGxhY2Vob2xkZXI7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWltYWdlLWlubmVyLWJlZm9yZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgYm90dG9tOiAxLjUlO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDMwcHggMTAwcHggcmdiYSg4OCwgOTIsIDE3NywgMC4zKTtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHNpemU6IDg5JTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICAgIG1heC13aWR0aDogNTA2cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA3NHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2NHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIEBleHRlbmQgJXRleHQtc21hbGw7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmcteGxhcmdlO1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLXk6IDMwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXk6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLkhvbWVNYXAge1xyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1wYWdlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXdpdGgtaGlnaGxpZ2h0O1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmcteGxhcmdlO1xyXG5cclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgQGV4dGVuZCAldGV4dC1sYXJnZTtcclxuXHJcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2MTRweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTA4cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXh4bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbWFwQ29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbWFwIHtcclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogYXNwZWN0LXJhdGlvKDMyMCwgMzYwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYsXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLXVwIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcyMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jYXJkcyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLWdhcDogMjBweDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tdXAge1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUzNnB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NhcmQge1xyXG4gICAgICAgICYsXHJcbiAgICAgICAgJW9yZGVyZWQtY2FyZCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICVvcmRlcmVkLWNhcmQge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxOTBweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTY4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLldyYXBwZWRQYXJ0bmVycyB7XHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXBhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuIiwiLlNlcnZpY2VDYXJkIHtcclxuICAgICR6LWluZGV4LWltYWdlOiAxO1xyXG4gICAgJHotaW5kZXgtbnVtYmVyOiAkei1pbmRleC1pbWFnZSArIDE7XHJcblxyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtY29sdW1uLWdhcDogMjRweDtcclxuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiaGVhZGluZyBpbWFnZVwiIFwiY29udGVudCBpbWFnZVwiIFwiYnV0dG9uIGltYWdlXCI7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImltYWdlXCIgXCJoZWFkaW5nXCIgXCJjb250ZW50XCIgXCJidXR0b25cIjtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1tZWRpdW0tb25seSB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICVjb250ZW50LWxpc3QtaXRlbSB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNHB4KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS44NTcxNTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHRvcDogOXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbmZvIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctbWVkaXVtO1xyXG5cclxuICAgICAgICBncmlkLWFyZWE6IGhlYWRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBjb250ZW50O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYnV0dG9uIHtcclxuICAgICAgICBAZXh0ZW5kIC51ay1idXR0b24sIC51ay1idXR0b24tcHJpbWFyeTtcclxuXHJcbiAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xyXG4gICAgICAgIGdyaWQtYXJlYTogYnV0dG9uO1xyXG4gICAgICAgIGp1c3RpZnktc2VsZjogc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tb25seSB7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGVuZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2VDb250YWluZXIge1xyXG4gICAgICAgIGdyaWQtYXJlYTogaW1hZ2U7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2MTRweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplLWltYWdlLWNvbnRhaW5lcjtcclxuXHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGFzcGVjdC1yYXRpbyg2MTQsIDI3OCk7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZS1pbWFnZTtcclxuXHJcbiAgICAgICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWltYWdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19udW1iZXIge1xyXG4gICAgICAgIEBleHRlbmQgJWxhcmdlLW51bWJlcjtcclxuXHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiA3NnB4O1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1udW1iZXI7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICByaWdodDogNjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIjBcIiBjb3VudGVyKCRjb3VudGVyLXNlcnZpY2VzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLk1vZGFsIHtcclxuICAgICR6LWluZGV4LWJhY2tncm91bmQ6IDE7XHJcbiAgICAkei1pbmRleC1vdmVybGF5OiAkei1pbmRleC1iYWNrZ3JvdW5kICsgMTtcclxuICAgICR6LWluZGV4LWNvbnRlbnQ6ICR6LWluZGV4LWJhY2tncm91bmQgKyAxO1xyXG4gICAgJHotaW5kZXgtY2xvc2U6ICR6LWluZGV4LWNvbnRlbnQgKyAxO1xyXG5cclxuICAgICZfX2RpYWxvZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwNDRweDtcclxuXHJcbiAgICAgICAgJi0tc21hbGwge1xyXG4gICAgICAgICAgICB3aWR0aDogMzk4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2JvZHkge1xyXG4gICAgICAgIHBhZGRpbmc6IDkwcHggMTA4cHggNzBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA3MHB4IDkycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNTVweCA2NHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDQ4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjRweCAzMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteHNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNHB4IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1maXhlZEhlaWdodCB7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tc21hbGwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2MnB4IDIwcHggNTBweCAzNnB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMycHggMTZweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNHB4IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICV3aXRoLWJvdHRvbS1saW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLiN7LS1jZW50ZXJ9IHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlZmxleC1jZW50ZXI7XHJcblxyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jbG9zZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlZmxleC1jZW50ZXI7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHJpZ2h0OiAyNXB4O1xyXG4gICAgICAgIHNpemU6IDQ1cHg7XHJcbiAgICAgICAgdG9wOiAyNXB4O1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigwKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tZGVmYXVsdDtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1jbG9zZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBzaXplOiAzMnB4O1xyXG4gICAgICAgICAgICB0b3A6IDI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLFxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWig5MGRlZyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1zbWFsbCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgc2l6ZTogNTBweDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG5cclxuICAgICAgICAgICAgJixcclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWRlZmF1bHQge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXNlbWktc21hbGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1sYXJnZSB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWhlYWRpbmctbGFyZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICBAZXh0ZW5kICV0ZXh0LWxhcmdlO1xyXG5cclxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLXNtYWxsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNnB4KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19mb3JtIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYmFja2dyb3VuZCB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplO1xyXG5cclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1iYWNrZ3JvdW5kO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemU7XHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTVkZWcsICRjb2xvci1tdXRlZC1leHRyYS1saWdodGVuIDAlLCAkY29sb3ItbXV0ZWQtZXh0cmEtbGlnaHRlbiAzNSUsIHJnYmEoMjUwLCAyNTAsIDI1MCwgMCkgMTAwJSk7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHotaW5kZXg6ICR6LWluZGV4LW92ZXJsYXk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemUtaW1hZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1jb250ZW50O1xyXG5cclxuICAgICAgICAmLS1jZW50ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLiN7LS1oaWRkZW59IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLkFib3V0SGVybyB7XHJcbiAgICAkei1pbmRleC1pbWFnZTogMTtcclxuICAgICR6LWluZGV4LWNvbnRlbnQ6ICR6LWluZGV4LWltYWdlICsgMTtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgbWluLWhlaWdodDogNDcwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDMyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDI0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMzRweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtY29udGVudDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMTJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDkycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuXHJcbiAgICAgICAgJi0tc21hbGwge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXBhZ2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1sYXJnZSB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWhlYWRpbmcteGxhcmdlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJiArICYge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIEBleHRlbmQgJXRleHQteGxhcmdlO1xyXG5cclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemU7XHJcblxyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWltYWdlO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemU7XHJcblxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExLCAxNSwgNDcsIDAuNSk7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemUtaW1hZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5BYm91dE51bWJlcnMge1xyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGNvdW50ZXItcmVzZXQ6ICRjb3VudGVyLWFib3V0LW51bWJlcnM7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLWdhcDogMTA4cHggMzJweDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA5MnB4IDI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDcycHggMjBweDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDY0cHggMTZweDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDQ4cHg7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogJGNvdW50ZXItYWJvdXQtbnVtYmVycztcclxuICAgIH1cclxufVxyXG5cclxuLkFib3V0TnVtYmVyc0l0ZW0ge1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiMFwiIGNvdW50ZXIoJGNvdW50ZXItYWJvdXQtbnVtYmVycyk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iZWJhcztcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDEwMHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oOTJweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oNzJweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1hbnJvcGU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zMTI1O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgQGV4dGVuZCAldGV4dC1zbWFsbDtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuQWJvdXRGZWF0dXJlcyB7XHJcbiAgICAkei1pbmRleC1pbWFnZTogMTtcclxuICAgICR6LWluZGV4LWl0ZW1zOiAkei1pbmRleC1pbWFnZSArIDE7XHJcblxyXG4gICAgJl9fY2FyZCB7XHJcbiAgICAgICAgcGFkZGluZzogNjRweCA1NnB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1NnB4IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxLjI1ZnIgMWZyO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1pdGVtcztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICRvZmZzZXQ6IDQ4cHg7XHJcblxyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJG9mZnNldDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkb2Zmc2V0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNjVweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplO1xyXG5cclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1pbWFnZTtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplO1xyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMSwgMTUsIDQ3LCAwLjUpO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplLWltYWdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLkFib3V0RmVhdHVyZXNJdGVtIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgICZfX251bWJlciB7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmViYXM7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxMjBweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxMDBweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSg4MHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSg3MHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDU2cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJlYmFzO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMjJweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk1NTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDIwcHgpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxOHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDE2cHgpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLkFib3V0RG9jdW1lbnRzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tdXRlZC1saWdodGVuO1xyXG4gICAgcGFkZGluZzogOTBweCAwO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDcycHggMDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgcGFkZGluZzogNjRweCAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDU2cHggMDtcclxuICAgIH1cclxuXHJcbiAgICAmX19zZWN0aW9uIHtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3MnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2NHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDU2cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1zZW1pLXNtYWxsO1xyXG5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX251bWJlciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNnB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzEyNTtcclxuICAgIH1cclxufVxyXG5cclxuLkFib3V0Q2VydGlmaWNhdGVzIHtcclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb2x1bW4ge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctbGFyZ2U7XHJcblxyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgfVxyXG5cclxuICAgICZfX251bWJlciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIEBleHRlbmQgJXRleHQtbGFyZ2U7XHJcblxyXG4gICAgICAgIG1heC13aWR0aDogNzIycHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA2NDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU2MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5BYm91dE9yZ2FuaXphdGlvbnMge1xyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogNDBweCAxNnB4O1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAzMnB4O1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjRweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1NnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDVkOTtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwNnB4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5BYm91dE9yZ2FuaXphdGlvbnNJdGVtIHtcclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLW1lZGl1bTtcclxuICAgIH1cclxuXHJcbiAgICAmX19udW1iZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLkFib3V0TWFwIHtcclxuICAgICR6LWluZGV4LW1hcDogMTtcclxuICAgICR6LWluZGV4LW92ZXJsYXk6ICR6LWluZGV4LW1hcCArIDE7XHJcbiAgICAkei1pbmRleC1jb250ZW50OiAkei1pbmRleC1vdmVybGF5ICsgMTtcclxuXHJcbiAgICBwYWRkaW5nLXRvcDogOTBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNzJweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDU2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDMycHg7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemU7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI0M0QzRDNCAwJSwgI2Y4ZjhmOCAwJSwgcmdiYSgyNDgsIDI0OCwgMjQ4LCAwKSA0OC45OSUpO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtb3ZlcmxheTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteHNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogOTBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtY29udGVudDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA3MnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXdpdGgtaGlnaGxpZ2h0O1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmcteGxhcmdlO1xyXG5cclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2MTRweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgQGV4dGVuZCAldGV4dC1sYXJnZTtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC11cCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNTM2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX21hcENvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LW1hcDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC05MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19tYXAge1xyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteHNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBhc3BlY3QtcmF0aW8oMzIwLCAzNjApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJixcclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tdXAge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzIwcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5Ib21lUGFnZSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYWJvdXQge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDJweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogOTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogOTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDg1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX251bWJlcnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDY1cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1NXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3NlY3Rpb25zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNDVweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb25zdWx0YXRpb24ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTY1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3Byb2plY3RzIHtcclxuICAgICAgICAkY29uc3VsdGF0aW9uLWhhbGYtaGVpZ2h0LXhzOiAxMThweDtcclxuICAgICAgICAkY29uc3VsdGF0aW9uLWhhbGYtaGVpZ2h0OiAxNDRweDtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW11dGVkLWxpZ2h0ZW47XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEyMHB4ICsgJGNvbnN1bHRhdGlvbi1oYWxmLWhlaWdodC14cztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDExMHB4ICsgJGNvbnN1bHRhdGlvbi1oYWxmLWhlaWdodC14cztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4ICsgJGNvbnN1bHRhdGlvbi1oYWxmLWhlaWdodC14cztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA5MHB4ICsgJGNvbnN1bHRhdGlvbi1oYWxmLWhlaWdodC14cztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDgwcHggKyAkY29uc3VsdGF0aW9uLWhhbGYtaGVpZ2h0LXhzO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteHNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogODBweCArICRjb25zdWx0YXRpb24taGFsZi1oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX21hcCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDExMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE0MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19wYXJ0bmVycyB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5Qcm9qZWN0UGFnZSB7XHJcbiAgICAkYmxvY2s6ICY7XHJcbiAgICAkZ2FsbGVyeS1pdGVtLXZlcnRpY2FsLWd1dHRlci1zOiAyMHB4O1xyXG4gICAgJGdhbGxlcnktaXRlbS12ZXJ0aWNhbC1ndXR0ZXI6IDEycHg7XHJcblxyXG4gICAgQGV4dGVuZCAlcGFnZS1sYXlvdXQ7XHJcblxyXG4gICAgbWFyZ2luLXRvcDogNjBweDtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdncteHNtYWxsLWRvd24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYmFjayB7XHJcbiAgICAgICAgQGV4dGVuZCAlYmFjay1idXR0b24td3JhcHBlcjtcclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLW1lZGl1bTtcclxuICAgIH1cclxuXHJcbiAgICAmX19zdWJIZWFkaW5nIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXNlbWktc21hbGw7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVybyB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplLWltYWdlLWNvbnRhaW5lcjtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYXNwZWN0LXJhdGlvKDEwNDUsIDQxMCk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMzRweDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzMHB4IDE1MHB4IHJnYmEoODgsIDkyLCAxNzcsIDAuMyk7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAzNHB4O1xyXG4gICAgICAgICAgICByaWdodDogNTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZS1pbWFnZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGlzdCxcclxuICAgICZfX2luZm8sXHJcbiAgICAmX19pbWFnZSxcclxuICAgICZfX2dhbGxlcnkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNzBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19saXN0IHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtZ2FwOiA1MHB4IDMycHg7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA0MHB4IDI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAzMHB4IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgICAgIGdyaWQtcm93LWdhcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGlzdExhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlbjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1hbnJvcGU7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yODU3MTU7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGlzdFZhbHVlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE2cHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zMTI1O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14c21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW5mbyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5MzdweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50LFxyXG4gICAgJl9faW1hZ2VDYXB0aW9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgICAmLndyYXAge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50aXplKCRiYXNlLWJvZHktYmFja2dyb3VuZCwgMC4xKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbiB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtdXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgI3skYmxvY2t9X19jb250ZW50Om5vdCgud3JhcCkgKyAmIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2VDYXB0aW9uIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlbjtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE4cHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc3Nzc7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNnB4KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZ2FsbGVyeUl0ZW1zIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGdhbGxlcnktaXRlbS12ZXJ0aWNhbC1ndXR0ZXItcztcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRnYWxsZXJ5LWl0ZW0tdmVydGljYWwtZ3V0dGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19nYWxsZXJ5SXRlbSB7XHJcbiAgICAgICAgQGV4dGVuZCAlem9vbS1pbWFnZS1vbi1ob3Zlci1pbWFnZS1zdGF0ZTtcclxuXHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhbGxlcnktaXRlbS12ZXJ0aWNhbC1ndXR0ZXItcztcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRnYWxsZXJ5LWl0ZW0tdmVydGljYWwtZ3V0dGVyO1xyXG4gICAgICAgICAgICAvLyBvdmVycmlkZSBpbmxpbmUgbWFzb25yeSBzdHlsZXNcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLXVwIHtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2NhbGUtaW1hZ2Utb24taG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29uc3VsdGF0aW9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNDBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuUHJvamVjdHNQYWdlIHtcclxuICAgIEBleHRlbmQgJXBhZ2UtbGF5b3V0O1xyXG5cclxuICAgICRibG9jazogJjtcclxuXHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXBhZ2U7XHJcblxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHRvRW0oMzBweCwgJGZvbnQtc2l6ZS1oZWFkaW5nLW1lZGl1bSk7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZmlsdGVycyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLWdhcDogNzBweCAzMnB4O1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNzBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA2MHB4IDI0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA1MHB4IDE2cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14c21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnN1bHRhdGlvbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTMwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogOTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuU2VydmljZXNQYWdlIHtcclxuICAgIEBleHRlbmQgJXBhZ2UtbGF5b3V0O1xyXG5cclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctcGFnZTtcclxuXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdG9FbSgzMHB4LCAkZm9udC1zaXplLWhlYWRpbmctbWVkaXVtKTtcclxuICAgIH1cclxuXHJcbiAgICAmX19maWx0ZXJzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBjb3VudGVyLXJlc2V0OiAkY291bnRlci1zZXJ2aWNlcztcclxuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1vbmx5IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDYwcHggMjBweDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6ICRjb3VudGVyLXNlcnZpY2VzO1xyXG5cclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEzNXB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tb25seSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29uc3VsdGF0aW9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNDBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuU2VydmljZVBhZ2Uge1xyXG4gICAgQGV4dGVuZCAlcGFnZS1sYXlvdXQ7XHJcblxyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2JhY2sge1xyXG4gICAgICAgIEBleHRlbmQgJWJhY2stYnV0dG9uLXdyYXBwZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1tZWRpdW07XHJcblxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHRvRW0oMjBweCwgJGZvbnQtc2l6ZS1oZWFkaW5nLW1lZGl1bSk7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29uc3VsdGF0aW9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLkVycm9yUGFnZSB7XHJcbiAgICAkYmxvY2s6ICY7XHJcbiAgICAkei1pbmRleC1pbWFnZTogMTtcclxuICAgICR6LWluZGV4LWdyaWQ6ICR6LWluZGV4LWltYWdlICsgMTtcclxuXHJcbiAgICBAZXh0ZW5kICVmbGV4LWNlbnRlcjtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1leHRyYS1saWdodGVuO1xyXG4gICAgcGFkZGluZzogNzJweCAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDY0cHggMDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmcteGxhcmdlO1xyXG5cclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19ncmlkIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1ncmlkO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29kZSB7XHJcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50aXplKHdoaXRlLCAwLjUpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmViYXM7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSg1MDBweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDcycHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSg0MDBweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSgzMjBweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMjQwcHgpO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICBvcmRlcjogLTE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNTBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICBAZXh0ZW5kICV0ZXh0LWxhcmdlO1xyXG5cclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTExMTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgIG1heC13aWR0aDogNDM1cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYnV0dG9uIHtcclxuICAgICAgICBAZXh0ZW5kIC51ay1idXR0b24sIC51ay1idXR0b24tcHJpbWFyeTtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemUtaW1hZ2U7XHJcblxyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWltYWdlO1xyXG4gICAgfVxyXG59XHJcbiIsIi5Db250YWN0c1BhZ2Uge1xyXG4gICAgJGJsb2NrOiAmO1xyXG5cclxuICAgIEBleHRlbmQgJXBhZ2UtbGF5b3V0O1xyXG5cclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctcGFnZTtcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1tZWRpdW07XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc3VidGl0bGUge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctc2VtaS1zbWFsbDtcclxuICAgIH1cclxuXHJcbiAgICAmX19mb3JtQ29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIH1cclxuXHJcbiAgICAmX19saXN0LFxyXG4gICAgJl9fZm9ybSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3NlY3Rpb24ge1xyXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA3MHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5Db250YWN0c0xpc3Qge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XHJcbiAgICBncmlkLWdhcDogMzBweCAxMzlweDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIGF1dG8pO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgIGdyaWQtZ2FwOiAyNHB4IDEwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBncmlkLWdhcDogMjBweCA3MnB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIGdyaWQtZ2FwOiAzMnB4O1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbHVtbiB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAyOTFweDtcclxuXHJcbiAgICAgICAgJi0tcGhvbmVzIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLXVwIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uLWVuZDogLTE7XHJcbiAgICAgICAgICAgICAgICBncmlkLXJvdzogMSAvIDM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjdweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlbjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1hbnJvcGU7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yODU7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdmFsdWUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTZweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjU7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVuO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTJweCk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDZweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5Db250YWN0c01hcCB7XHJcbiAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wbGFjZWhvbGRlcjtcclxuICAgICAgICBtaW4taGVpZ2h0OiAyODBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYXNwZWN0LXJhdGlvKDE0NDAsIDYxMik7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX21hcCB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplO1xyXG4gICAgfVxyXG59XHJcbiIsIi5BYm91dFBhZ2Uge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fcHJpbWFyeUluZm8sXHJcbiAgICAmX19mZWF0dXJlcyxcclxuICAgICZfX251bWJlcnMsXHJcbiAgICAmX19kb2N1bWVudHMsXHJcbiAgICAmX19wYXJ0bmVycyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogOTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDcycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDY0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29uc3VsdGF0aW9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMzBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDExMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA5MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ== */

/* End */


/* Start:/local/templates/ETIKA_TYPICAL_PAGE/assets/css/style.local.css?16242371301077349*/
/* Base
 ========================================================================== */
/* Font weights
 ========================================================================== */
/* Font families
 ========================================================================== */
/* Font sizes
 ========================================================================== */
/* Colors
 ========================================================================== */
/* Transition
 ========================================================================== */
/* Counters
 ========================================================================== */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0; }
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0; }
html {
  scroll-behavior: smooth; }
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto; }
img {
  max-width: 100%;
  display: block; }
input,
button,
textarea,
select {
  font: inherit; }
button {
  background: none;
  border: none;
  margin: 0;
  padding: 0; }
@media (prefers-reduced-motion: reduce) {
  * {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
         -o-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important; } }
textarea {
  resize: vertical; }
iframe {
  max-width: 100%; }
fieldset {
  min-width: 0; }
th {
  font-weight: inherit;
  text-align: inherit; }
:root {
  --swiper-theme-color: #3b65cf; }
.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1; }
.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }
.swiper-container-android .swiper-slide,
.swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0); }
.swiper-container-multirow > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
.swiper-container-multirow-column > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
       -o-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  margin: 0 auto; }
.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }
.swiper-slide-invisible-blank {
  visibility: hidden; }
/* Auto Height */
.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto; }
.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition-property: height, -webkit-transform;
  transition-property: height, -webkit-transform;
  -o-transition-property: transform, height;
  transition-property: transform, height;
  transition-property: transform, height, -webkit-transform; }
/* 3D Effects */
.swiper-container-3d {
  -webkit-perspective: 1200px;
          perspective: 1200px; }
.swiper-container-3d .swiper-wrapper, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-cube-shadow {
    -webkit-transform-style: preserve-3d;
            transform-style: preserve-3d; }
.swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10; }
.swiper-container-3d .swiper-slide-shadow-left {
    background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
.swiper-container-3d .swiper-slide-shadow-right {
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
.swiper-container-3d .swiper-slide-shadow-top {
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }
/* CSS Mode */
.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
  -webkit-overflow-scrolling: touch; }
.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none; }
.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start; }
.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      -webkit-scroll-snap-type: x mandatory;
          scroll-snap-type: x mandatory; }
.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      -webkit-scroll-snap-type: y mandatory;
          scroll-snap-type: y mandatory; }
/* Base
 ========================================================================== */
/* Global
 ========================================================================== */
/* Container
 ========================================================================== */
/* Font
 ========================================================================== */
/* Link default
 ========================================================================== */
/* Button base
 ========================================================================== */
/* Button primary
 ========================================================================== */
/* Button default
 ========================================================================== */
/* Button secondary
 ========================================================================== */
/* Button disabled
 ========================================================================== */
/* Breadcrumbs
 ========================================================================== */
/* Form
 ========================================================================== */
/* Modal
 ========================================================================== */
/* Offcanvas
 ========================================================================== */
/* Notification
 ========================================================================== */
/* Animation
 ========================================================================== */
/* Misc
 ========================================================================== */
/* Link base
 ========================================================================== */
/* Button base
 ========================================================================== */
/* Button default
 ========================================================================== */
/* Button default
 ========================================================================== */
/* Form single line
 ========================================================================== */
/* Notification message
 ========================================================================== */
/* Notification message primary
 ========================================================================== */
/* Notification message success
 ========================================================================== */
/* Notification message warning
 ========================================================================== */
/* Notification message danger
 ========================================================================== */
/* Notification close
 ========================================================================== */
.swiper-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
.swiper-button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #3b65cf;
  -webkit-border-radius: 50%;
          border-radius: 50%;
  color: white;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 27px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  outline: none;
  -webkit-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  -webkit-transition-property: color, opacity, background-color;
  -o-transition-property: color, opacity, background-color;
  transition-property: color, opacity, background-color;
  width: 27px;
  z-index: 1; }
.swiper-button:not(:last-child) {
    margin-right: 10px; }
@media (max-width: 899px) {
      .swiper-button:not(:last-child) {
        margin-right: 8px; } }
@media (hover: hover) and (pointer: fine) {
    .swiper-button:not(.swiper-button-disabled):hover, .swiper-button:not(.swiper-button-disabled):active, .swiper-button:not(.swiper-button-disabled):focus-within {
      background-color: #2a4fad; } }
.swiper-button svg {
    max-width: 19px;
    -webkit-transition: stroke 0.2s ease-out;
    -o-transition: stroke 0.2s ease-out;
    transition: stroke 0.2s ease-out; }
.swiper-button-prev svg {
    -webkit-transform: rotateZ(180deg);
        -ms-transform: rotate(180deg);
            transform: rotateZ(180deg); }
.swiper-button-disabled {
    background-color: #dcdfe5;
    color: #3d475f; }
.swiper-button-large {
    width: 50px;
    height: 50px; }
@media (max-width: 899px) {
      .swiper-button-large {
        width: 40px;
        height: 40px; } }
@media (max-width: 639px) {
      .swiper-button-large {
        width: 32px;
        height: 32px; } }
.swiper-button-large:not(:last-child) {
      margin-right: 20px; }
@media (max-width: 899px) {
        .swiper-button-large:not(:last-child) {
          margin-right: 16px; } }
@media (max-width: 639px) {
        .swiper-button-large:not(:last-child) {
          margin-right: 12px; } }
.swiper-button-white {
    background-color: white; }
@media (hover: hover) and (pointer: fine) {
      .swiper-button-white:not(.swiper-button-white-disabled):hover, .swiper-button-white:not(.swiper-button-white-disabled):active, .swiper-button-white:not(.swiper-button-white-disabled):focus-within {
        background-color: #2a4fad; }
        .swiper-button-white:not(.swiper-button-white-disabled):hover svg, .swiper-button-white:not(.swiper-button-white-disabled):active svg, .swiper-button-white:not(.swiper-button-white-disabled):focus-within svg {
          stroke: white; } }
.swiper-button-white svg {
      stroke: #3b65cf; }
/* ========================================================================
   Component: Base
 ========================================================================== */
/*
 * 1. Set `font-size` to support `rem` units
 *    Not using `font` property because a leading hyphen (e.g. -apple-system) causes the font to break in IE11 and Edge
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Style
 */
html {
  /* 1 */
  font-family: "Manrope", sans-serif;
  font-size: 100%;
  font-weight: 400;
  line-height: 1.5;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
  background: #f8f8f8;
  color: #3d475f; }
/*
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }
/* Links
 ========================================================================== */
/*
 * Remove the outline on focused links when they are also active or hovered
 */
a:active,
a:hover {
  outline: none; }
/*
 * Style
 */
a,
.uk-link {
  color: #3d475f;
  text-decoration: none;
  cursor: pointer;
  -webkit-transition: color 0.2s ease-out;
  -o-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out; }
a:hover,
.uk-link:hover,
.uk-link-toggle:hover .uk-link,
.uk-link-toggle:focus .uk-link {
  color: #3b65cf;
  text-decoration: none; }
/* Text-level semantics
 ========================================================================== */
/*
 * 1. Add the correct text decoration in Edge.
 * 2. The shorthand declaration `underline dotted` is not supported in Safari.
 */
abbr[title] {
  /* 1 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
  -webkit-text-decoration-style: dotted; }
/*
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }
/*
 * 1. Consolas has a better baseline in running text compared to `Courier`
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Style
 */
:not(pre) > code,
:not(pre) > kbd,
:not(pre) > samp {
  /* 1 */
  font-family: Consolas, monaco, monospace;
  /* 2 */
  font-size: 0.875rem;
  /* 3 */
  color: #f25d50;
  white-space: nowrap; }
/*
 * Emphasize
 */
em {
  color: inherit; }
/*
 * Insert
 */
ins {
  background: #ffd;
  color: #666;
  text-decoration: none; }
/*
 * Mark
 */
mark {
  background: #ffd;
  color: #666; }
/*
 * Quote
 */
q {
  font-style: italic; }
/*
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }
/*
 * Prevents `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }
sup {
  top: -0.5em; }
sub {
  bottom: -0.25em; }
/* Embedded content
 ========================================================================== */
/*
 * Remove the gap between embedded content and the bottom of their containers.
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }
/*
 * 1. Add responsiveness.
 * 2. Auto-scale the height. Only needed if `height` attribute is present.
 * 3. Corrects responsive `max-width` behavior if padding and border are used.
 * 4. Exclude SVGs for IE11 because they don't preserve their aspect ratio.
 */
canvas,
img,
video {
  /* 1 */
  max-width: 100%;
  /* 2 */
  height: auto;
  /* 3 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
/* 4 */
@supports (display: block) {
  svg {
    max-width: 100%;
    height: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; } }
/*
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }
/*
 * 1. Fix lazy loading images if parent element is set to `display: inline` and has `overflow: hidden`.
 * 2. Hide `alt` text for lazy loading images.
 * Note: Selector for background while loading img[data-src*='.jpg'][src*='data:image'] { background: grey; }
 */
img:not([src]) {
  /* 1 */
  min-width: 1px;
  /* 2 */
  visibility: hidden; }
/*
 * Iframe
 * Remove border in all browsers
 */
iframe {
  border: 0; }
/* Block elements
 ========================================================================== */
/*
 * Margins
 */
p,
ul,
ol,
dl,
pre,
address,
fieldset,
figure {
  margin: 0 0 0 0; }
/* Add margin if adjacent element */
* + p,
* + ul,
* + ol,
* + dl,
* + pre,
* + address,
* + fieldset,
* + figure {
  margin-top: 0; }
/* Headings
 ========================================================================== */
h1, .uk-h1,
h2, .uk-h2,
h3, .uk-h3,
h4, .uk-h4,
h5, .uk-h5,
h6, .uk-h6,
.uk-heading-small,
.uk-heading-medium,
.uk-heading-large,
.uk-heading-xlarge,
.uk-heading-2xlarge {
  margin: 0 0 0 0;
  font-family: "Bebas Neue", cursive;
  font-weight: 700;
  color: #3d475f;
  text-transform: none; }
/* Add margin if adjacent element */
* + h1, * + .uk-h1,
* + h2, * + .uk-h2,
* + h3, * + .uk-h3,
* + h4, * + .uk-h4,
* + h5, * + .uk-h5,
* + h6, * + .uk-h6,
* + .uk-heading-small,
* + .uk-heading-medium,
* + .uk-heading-large,
* + .uk-heading-xlarge,
* + .uk-heading-2xlarge {
  margin-top: 0; }
/*
 * Sizes
 */
h1, .uk-h1 {
  font-size: 2.23125rem;
  line-height: 1.2; }
h2, .uk-h2 {
  font-size: 1.7rem;
  line-height: 1.3; }
h3, .uk-h3 {
  font-size: 1.5rem;
  line-height: 1.4; }
h4, .uk-h4 {
  font-size: 1.25rem;
  line-height: 1.4; }
h5, .uk-h5 {
  font-size: 16px;
  line-height: 1.4; }
h6, .uk-h6 {
  font-size: 0.875rem;
  line-height: 1.4; }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  h1, .uk-h1 {
    font-size: 2.625rem; }
  h2, .uk-h2 {
    font-size: 2rem; } }
/* Lists
 ========================================================================== */
ul,
ol {
  padding-left: 0; }
/*
 * Reset margin for nested lists
 */
ul > li > ul,
ul > li > ol,
ol > li > ol,
ol > li > ul {
  margin: 0; }
/* Description lists
 ========================================================================== */
dt {
  font-weight: 700; }
dd {
  margin-left: 0; }
/* Horizontal rules
 ========================================================================== */
/*
 * 1. Show the overflow in Chrome, Edge and IE.
 * 2. Add the correct text-align in Edge and IE.
 * 3. Style
 */
hr, .uk-hr {
  /* 1 */
  overflow: visible;
  /* 2 */
  text-align: inherit;
  /* 3 */
  margin: 0 0 20px 0;
  border: 0;
  border-top: 1px solid #e5e5e5; }
/* Add margin if adjacent element */
* + hr,
* + .uk-hr {
  margin-top: 20px; }
/* Address
 ========================================================================== */
address {
  font-style: normal; }
/* Blockquotes
 ========================================================================== */
blockquote {
  margin: 0 0 20px 0;
  font-size: 1.25rem;
  line-height: 1.5;
  font-style: italic; }
/* Add margin if adjacent element */
* + blockquote {
  margin-top: 20px; }
/*
 * Content
 */
blockquote p:last-of-type {
  margin-bottom: 0; }
blockquote footer {
  margin-top: 10px;
  font-size: 0.875rem;
  line-height: 1.5; }
/* Preformatted text
 ========================================================================== */
/*
 * 1. Contain overflow in all browsers.
 */
pre {
  font: 0.875rem / 1.5 Consolas, monaco, monospace;
  color: #666;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  /* 1 */
  overflow: auto;
  -webkit-overflow-scrolling: touch; }
pre code {
  font-family: Consolas, monaco, monospace; }
/* Selection pseudo-element
 ========================================================================== */
::-moz-selection {
  background: #39f;
  color: #fff;
  text-shadow: none; }
::selection {
  background: #39f;
  color: #fff;
  text-shadow: none; }
/* HTML5 elements
 ========================================================================== */
/*
 * 1. Add the correct display in Edge, IE 10+, and Firefox.
 * 2. Add the correct display in IE.
 */
details,
main {
  /* 2 */
  display: block; }
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }
/*
 * Add the correct display in IE.
 */
template {
  display: none; }
/* Pass media breakpoints to JS
 ========================================================================== */
/*
 * Breakpoints
 */
.uk-breakpoint-s::before {
  content: "640px"; }
.uk-breakpoint-m::before {
  content: "900px"; }
.uk-breakpoint-l::before {
  content: "1000px"; }
.uk-breakpoint-xl::before {
  content: "1200px"; }
:root {
  --uk-breakpoint-s: 640px;
  --uk-breakpoint-m: 900px;
  --uk-breakpoint-l: 1000px;
  --uk-breakpoint-xl: 1200px; }
/* ========================================================================
   Component: Icon
 ========================================================================== */
/*
 * Note: 1. - 7. is required for `button` elements. Needed for Close and Form Icon component.
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Remove border-radius in Chrome.
 * 4. Address `overflow` set to `hidden` in IE.
 * 5. Correct `font` properties and `color` not being inherited for `button`.
 * 6. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 7. Remove default `button` padding and background color
 * 8. Style
 * 9. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 10. Let the container fit the height of the icon
 */
.uk-icon {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  -webkit-border-radius: 0;
          border-radius: 0;
  /* 4 */
  overflow: visible;
  /* 5 */
  font: inherit;
  color: inherit;
  /* 6 */
  text-transform: none;
  /* 7. */
  padding: 0;
  background-color: transparent;
  /* 8 */
  display: inline-block;
  /* 9 */
  fill: currentcolor;
  /* 10 */
  line-height: 0; }
/* Required for `button`. */
button.uk-icon:not(:disabled) {
  cursor: pointer; }
/*
 * Remove the inner border and padding in Firefox.
 */
.uk-icon::-moz-focus-inner {
  border: 0;
  padding: 0; }
/*
 * Set the fill and stroke color of all SVG elements to the current text color
 */
.uk-icon:not(.uk-preserve) [fill*='#']:not(.uk-preserve) {
  fill: currentcolor; }
.uk-icon:not(.uk-preserve) [stroke*='#']:not(.uk-preserve) {
  stroke: currentcolor; }
/*
 * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
 */
.uk-icon > * {
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0); }
/* Image modifier
 ========================================================================== */
/*
 * Display images in icon dimensions
 */
.uk-icon-image {
  width: 20px;
  height: 20px;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  -webkit-background-size: contain;
          background-size: contain;
  vertical-align: middle; }
/* Style modifiers
 ========================================================================== */
/*
 * Link
 */
.uk-icon-link {
  color: #999; }
.uk-icon-link:hover,
.uk-icon-link:focus {
  color: #666;
  outline: none; }
/* OnClick + Active */
.uk-icon-link:active,
.uk-active > .uk-icon-link {
  color: #595959; }
/*
 * Button
 * 1. Center icon vertically and horizontally
 */
.uk-icon-button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 36px;
  height: 36px;
  -webkit-border-radius: 500px;
          border-radius: 500px;
  background: #f8f8f8;
  color: #999;
  vertical-align: middle;
  /* 1 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
/* Hover + Focus */
.uk-icon-button:hover,
.uk-icon-button:focus {
  background-color: #ebebeb;
  color: #666;
  outline: none; }
/* OnClick + Active */
.uk-icon-button:active,
.uk-active > .uk-icon-button {
  background-color: #dfdfdf;
  color: #666; }
/* ========================================================================
   Component: Form
 ========================================================================== */
/*
 * 1. Define consistent box sizing.
 *    Default is `content-box` with following exceptions set to `border-box`
 *    `select`, `input[type="checkbox"]` and `input[type="radio"]`
 *    `input[type="search"]` in Chrome, Safari and Opera
 *    `input[type="color"]` in Firefox
 * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
 * 3. Remove `border-radius` in iOS.
 * 4. Change font properties to `inherit` in all browsers.
 */
.uk-input, .SiteForm__input,
.uk-select,
.uk-textarea,
.SiteForm__textarea,
.uk-radio,
.uk-checkbox,
.SiteForm__checkbox {
  /* 1 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  -webkit-border-radius: 0;
          border-radius: 0;
  /* 4 */
  font: inherit; }
/*
 * Show the overflow in Edge.
 */
.uk-input, .SiteForm__input {
  overflow: visible; }
/*
 * Remove the inheritance of text transform in Firefox.
 */
.uk-select {
  text-transform: none; }
/*
 * 1. Change font properties to `inherit` in all browsers
 * 2. Don't inherit the `font-weight` and use `bold` instead.
 * NOTE: Both declarations don't work in Chrome, Safari and Opera.
 */
.uk-select optgroup {
  /* 1 */
  font: inherit;
  /* 2 */
  font-weight: 700; }
/*
 * Remove the default vertical scrollbar in IE 10+.
 */
.uk-textarea,
.SiteForm__textarea {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }
/*
 * Remove the inner padding and cancel buttons in Chrome on OS X and Safari on OS X.
 */
.uk-input[type="search"]::-webkit-search-cancel-button, .SiteForm__input[type="search"]::-webkit-search-cancel-button,
.uk-input[type="search"]::-webkit-search-decoration,
.SiteForm__input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }
/*
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
.uk-input[type="number"]::-webkit-inner-spin-button, .SiteForm__input[type="number"]::-webkit-inner-spin-button,
.uk-input[type="number"]::-webkit-outer-spin-button,
.SiteForm__input[type="number"]::-webkit-outer-spin-button {
  height: auto; }
/*
 * Removes placeholder transparency in Firefox.
 */
.uk-input::-moz-placeholder, .SiteForm__input::-moz-placeholder,
.uk-textarea::-moz-placeholder,
.SiteForm__textarea::-moz-placeholder {
  opacity: 1; }
/*
 * Improves consistency of cursor style for clickable elements
 */
.uk-radio:not(:disabled),
.uk-checkbox:not(:disabled),
.SiteForm__checkbox:not(:disabled) {
  cursor: pointer; }
/*
 * Define consistent border, margin, and padding.
 */
.uk-fieldset {
  border: none;
  margin: 0;
  padding: 0; }
/* Input, select and textarea
 * Allowed: `text`, `password`, `datetime`, `datetime-local`, `date`,  `month`,
            `time`, `week`, `number`, `email`, `url`, `search`, `tel`, `color`
 * Disallowed: `range`, `radio`, `checkbox`, `file`, `submit`, `reset` and `image`
 ========================================================================== */
/*
 * Remove default style in iOS.
 */
.uk-input, .SiteForm__input,
.uk-textarea,
.SiteForm__textarea {
  -webkit-appearance: none; }
/*
 * 1. Prevent content overflow if a fixed width is used
 * 2. Take the full width
 * 3. Reset default
 * 4. Style
 */
.uk-input, .SiteForm__input,
.uk-select,
.uk-textarea,
.SiteForm__textarea {
  /* 1 */
  max-width: 100%;
  /* 2 */
  width: 100%;
  /* 3 */
  border: 0 none;
  /* 4 */
  padding: 0 20px;
  background: white;
  color: #3d475f; }
/*
 * Single-line
 * 1. Allow any element to look like an `input` or `select` element
 * 2. Make sure line-height is not larger than height
 *    Also needed to center the text vertically
 */
.uk-input, .SiteForm__input,
.uk-select:not([multiple]):not([size]) {
  height: 48px;
  vertical-align: middle;
  /* 1 */
  display: inline-block;
  border: 1px solid #d3d5d9;
  caret-color: #3b65cf;
  -webkit-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  -webkit-transition-property: border-color, background-color;
  -o-transition-property: border-color, background-color;
  transition-property: border-color, background-color; }
/* 2 */
.uk-input:not(input), .SiteForm__input:not(input),
.uk-select:not(select) {
  line-height: 1.5; }
/*
 * Multi-line
 */
.uk-select[multiple],
.uk-select[size],
.uk-textarea,
.SiteForm__textarea {
  padding-top: 12px;
  padding-bottom: 12px;
  vertical-align: top; }
/* Focus */
.uk-input:focus, .SiteForm__input:focus,
.uk-select:focus,
.uk-textarea:focus,
.SiteForm__textarea:focus {
  outline: none;
  background-color: white;
  color: #3d475f; }
/* Disabled */
.uk-input:disabled, .SiteForm__input:disabled,
.uk-select:disabled,
.uk-textarea:disabled,
.SiteForm__textarea:disabled {
  background-color: #f8f8f8;
  color: #868686; }
/*
 * Placeholder
 */
.uk-input::-ms-input-placeholder, .SiteForm__input::-ms-input-placeholder {
  color: rgba(61, 71, 95, 0.8) !important; }
.uk-input::-moz-placeholder, .SiteForm__input::-moz-placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-input:-ms-input-placeholder, .SiteForm__input:-ms-input-placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-input::-webkit-input-placeholder, .SiteForm__input::-webkit-input-placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-input::placeholder, .SiteForm__input::placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-textarea::-ms-input-placeholder, .SiteForm__textarea::-ms-input-placeholder {
  color: rgba(61, 71, 95, 0.8) !important; }
.uk-textarea::-moz-placeholder, .SiteForm__textarea::-moz-placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-textarea:-ms-input-placeholder, .SiteForm__textarea:-ms-input-placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-textarea::-webkit-input-placeholder, .SiteForm__textarea::-webkit-input-placeholder {
  color: rgba(61, 71, 95, 0.8); }
.uk-textarea::placeholder, .SiteForm__textarea::placeholder {
  color: rgba(61, 71, 95, 0.8); }
/* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Small
 */
.uk-form-small {
  font-size: 0.875rem; }
.uk-form-small:not(textarea):not([multiple]):not([size]) {
  height: 30px;
  padding-left: 8px;
  padding-right: 8px; }
.uk-form-small:not(select):not(input):not(textarea) {
  line-height: 30px; }
/*
 * Large
 */
.uk-form-large {
  font-size: 1.25rem; }
.uk-form-large:not(textarea):not([multiple]):not([size]) {
  height: 55px;
  padding-left: 12px;
  padding-right: 12px; }
.uk-form-large:not(select):not(input):not(textarea) {
  line-height: 55px; }
/* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Error
 */
.uk-form-danger,
.uk-form-danger:focus {
  color: #f25d50; }
/*
 * Success
 */
.uk-form-success,
.uk-form-success:focus {
  color: #57a749; }
/*
 * Blank
 */
.uk-form-blank {
  background: none; }
/* Width modifiers (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Fixed widths
 * Different widths for mini sized `input` and `select` elements
 */
input.uk-form-width-xsmall {
  width: 50px; }
select.uk-form-width-xsmall {
  width: 75px; }
.uk-form-width-small {
  width: 130px; }
.uk-form-width-medium {
  width: 200px; }
.uk-form-width-large {
  width: 500px; }
/* Select
 ========================================================================== */
/*
 * 1. Remove default style. Also works in Firefox
 * 2. Style
 * 3. Remove default style in IE 10/11
 * 4. Set `color` for options in the select dropdown, because the inherited `color` might be too light.
 */
.uk-select:not([multiple]):not([size]) {
  /* 1 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 2 */
  padding-right: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: 100% 50%; }
/* 3 */
.uk-select:not([multiple]):not([size])::-ms-expand {
  display: none; }
/* 4 */
.uk-select:not([multiple]):not([size]) option {
  color: #444; }
/*
 * Disabled
 */
.uk-select:not([multiple]):not([size]):disabled {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
/* Datalist
 ========================================================================== */
/*
 * 1. Remove default style in Chrome
 */
.uk-input[list], .SiteForm__input[list] {
  padding-right: 20px;
  background-repeat: no-repeat;
  background-position: 100% 50%; }
.uk-input[list]:hover, .SiteForm__input[list]:hover,
.uk-input[list]:focus,
.SiteForm__input[list]:focus {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2012%208%206%2016%206%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
/* 1 */
.uk-input[list]::-webkit-calendar-picker-indicator, .SiteForm__input[list]::-webkit-calendar-picker-indicator {
  display: none; }
/* Radio and checkbox
 * Note: Does not work in IE11
 ========================================================================== */
/*
 * 1. Style
 * 2. Make box more robust so it clips the child element
 * 3. Vertical alignment
 * 4. Remove default style
 * 5. Fix black background on iOS
 * 6. Center icons
 */
.uk-radio,
.uk-checkbox,
.SiteForm__checkbox {
  /* 1 */
  display: inline-block;
  height: 16px;
  width: 16px;
  /* 2 */
  overflow: hidden;
  /* 3 */
  margin-top: -4px;
  vertical-align: middle;
  /* 4 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 5 */
  background-color: #3b65cf;
  /* 6 */
  background-repeat: no-repeat;
  background-position: 50% 50%; }
.uk-radio {
  -webkit-border-radius: 50%;
          border-radius: 50%; }
/* Focus */
.uk-radio:focus,
.uk-checkbox:focus,
.SiteForm__checkbox:focus {
  outline: none; }
/*
 * Checked
 */
.uk-radio:checked,
.uk-checkbox:checked,
.SiteForm__checkbox:checked,
.uk-checkbox:indeterminate,
.SiteForm__checkbox:indeterminate {
  background-color: #3b65cf; }
/* Focus */
.uk-radio:checked:focus,
.uk-checkbox:checked:focus,
.SiteForm__checkbox:checked:focus,
.uk-checkbox:indeterminate:focus,
.SiteForm__checkbox:indeterminate:focus {
  background-color: #3b65cf; }
/*
 * Icons
 */
.uk-radio:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23fff%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.uk-checkbox:checked,
.SiteForm__checkbox:checked {
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.21981 0.469811L3.50006 5.18956L1.78031 3.46981C1.48603 3.18558 1.01825 3.18965 0.728947 3.47895C0.439647 3.76825 0.435582 4.23603 0.719811 4.53031L2.96981 6.78031C3.26269 7.0731 3.73744 7.0731 4.03031 6.78031L9.28031 1.53031C9.56454 1.23603 9.56047 0.768248 9.27117 0.478947C8.98187 0.189647 8.5141 0.185582 8.21981 0.469811Z' fill='white'/%3E%3C/svg%3E%0A"); }
.uk-checkbox:indeterminate,
.SiteForm__checkbox:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23fff%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
/*
 * Disabled
 */
.uk-radio:disabled,
.uk-checkbox:disabled,
.SiteForm__checkbox:disabled {
  background-color: #8da5e3; }
.uk-radio:disabled:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23999%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
.uk-checkbox:disabled:checked, .SiteForm__checkbox:disabled:checked {
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.21981 0.469811L3.50006 5.18956L1.78031 3.46981C1.48603 3.18558 1.01825 3.18965 0.728947 3.47895C0.439647 3.76825 0.435582 4.23603 0.719811 4.53031L2.96981 6.78031C3.26269 7.0731 3.73744 7.0731 4.03031 6.78031L9.28031 1.53031C9.56454 1.23603 9.56047 0.768248 9.27117 0.478947C8.98187 0.189647 8.5141 0.185582 8.21981 0.469811Z' fill='white'/%3E%3C/svg%3E%0A"); }
.uk-checkbox:disabled:indeterminate, .SiteForm__checkbox:disabled:indeterminate {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23999%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
/* Legend
 ========================================================================== */
/*
 * Legend
 * 1. Behave like block element
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove padding so people aren't caught out if they zero out fieldsets.
 * 4. Style
 */
.uk-legend {
  /* 1 */
  width: 100%;
  /* 2 */
  color: inherit;
  /* 3 */
  padding: 0;
  /* 4 */
  font-size: 1.5rem;
  line-height: 1.4; }
/* Custom controls
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Behave like most inline-block elements
 */
.uk-form-custom {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle; }
/*
 * 1. Position and resize the form control to always cover its container
 * 2. Required for Firefox for positioning to the left
 * 3. Required for Webkit to make `height` work
 * 4. Hide controle and show cursor
 * 5. Needed for the cursor
 * 6. Clip height caused by 5. Needed for Webkit only
 */
.uk-form-custom select,
.uk-form-custom input[type="file"] {
  /* 1 */
  position: absolute;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  /* 2 */
  left: 0;
  /* 3 */
  -webkit-appearance: none;
  /* 4 */
  opacity: 0;
  cursor: pointer; }
.uk-form-custom input[type="file"] {
  /* 5 */
  font-size: 500px;
  /* 6 */
  overflow: hidden; }
/* Label
 ========================================================================== */
/* Layout
 ========================================================================== */
/*
 * Stacked
 */
.uk-form-stacked .uk-form-label {
  display: block;
  margin-bottom: 10px; }
/*
 * Horizontal
 */
/* Tablet portrait and smaller */
@media (max-width: 899px) {
  /* Behave like `uk-form-stacked` */
  .uk-form-horizontal .uk-form-label {
    display: block;
    margin-bottom: 10px; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-form-horizontal .uk-form-label {
    width: 200px;
    margin-top: 7px;
    float: left; }
  .uk-form-horizontal .uk-form-controls {
    margin-left: 215px; }
  /* Better vertical alignment if controls are checkboxes and radio buttons with text */
  .uk-form-horizontal .uk-form-controls-text {
    padding-top: 7px; } }
/* Icons
 ========================================================================== */
/*
 * 1. Set position
 * 2. Set width
 * 3. Center icon vertically and horizontally
 * 4. Style
 */
.uk-form-icon {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  width: 48px;
  /* 3 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 4 */
  color: #999; }
/*
 * Required for `a`.
 */
.uk-form-icon:hover {
  color: #666; }
/*
 * Make `input` element clickable through icon, e.g. if it's a `span`
 */
.uk-form-icon:not(a):not(button):not(input) {
  pointer-events: none; }
/*
 * Input padding
 */
.uk-form-icon:not(.uk-form-icon-flip) ~ .uk-input, .uk-form-icon:not(.uk-form-icon-flip) ~ .SiteForm__input {
  padding-left: 48px !important; }
/*
 * Position modifier
 */
.uk-form-icon-flip {
  right: 0;
  left: auto; }
.uk-form-icon-flip ~ .uk-input, .uk-form-icon-flip ~ .SiteForm__input {
  padding-right: 48px !important; }
/* ========================================================================
   Component: Button
 ========================================================================== */
/*
 * 1. Remove margins in Chrome, Safari and Opera.
 * 2. Remove borders for `button`.
 * 3. Address `overflow` set to `hidden` in IE.
 * 4. Correct `font` properties and `color` not being inherited for `button`.
 * 5. Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 6. Remove default style for `input type="submit"`in iOS.
 * 7. Style
 * 8. `line-height` is used to create a height because it also centers the text vertically for `a` elements.
 *    Better would be to use height and flexbox to center the text vertically but flexbox doesn't work in Firefox on `button` elements.
 * 9. Align text if button has a width
 * 10. Required for `a`.
 */
.uk-button, .SiteHeader__button, .SiteHeader__hamburger, .SiteOffCanvas__close, .SiteForm__button, .Consultation__button, .ServiceCard__button, .ErrorPage__button {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  overflow: visible;
  /* 4 */
  font: inherit;
  color: inherit;
  /* 5 */
  text-transform: none;
  /* 6 */
  -webkit-appearance: none;
  -webkit-border-radius: 0;
          border-radius: 0;
  /* 7 */
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 24px;
  vertical-align: middle;
  font-size: 0.8125rem;
  /* 8 */
  line-height: 42px;
  /* 9 */
  text-align: center;
  /* 10 */
  text-decoration: none;
  font-weight: 600;
  -webkit-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  -webkit-transition-property: background-color, color, border-color;
  -o-transition-property: background-color, color, border-color;
  transition-property: background-color, color, border-color; }
.uk-button:not(:disabled), .SiteHeader__button:not(:disabled), .SiteHeader__hamburger:not(:disabled), .SiteOffCanvas__close:not(:disabled), .SiteForm__button:not(:disabled), .Consultation__button:not(:disabled), .ServiceCard__button:not(:disabled), .ErrorPage__button:not(:disabled) {
  cursor: pointer; }
/*
 * Remove the inner border and padding in Firefox.
 */
.uk-button::-moz-focus-inner, .SiteHeader__button::-moz-focus-inner, .SiteHeader__hamburger::-moz-focus-inner, .SiteOffCanvas__close::-moz-focus-inner, .SiteForm__button::-moz-focus-inner, .Consultation__button::-moz-focus-inner, .ServiceCard__button::-moz-focus-inner, .ErrorPage__button::-moz-focus-inner {
  border: 0;
  padding: 0; }
/* Hover */
.uk-button:hover, .SiteHeader__button:hover, .SiteHeader__hamburger:hover, .SiteOffCanvas__close:hover, .SiteForm__button:hover, .Consultation__button:hover, .ServiceCard__button:hover, .ErrorPage__button:hover {
  /* 9 */
  text-decoration: none; }
/* Focus */
.uk-button:focus, .SiteHeader__button:focus, .SiteHeader__hamburger:focus, .SiteOffCanvas__close:focus, .SiteForm__button:focus, .Consultation__button:focus, .ServiceCard__button:focus, .ErrorPage__button:focus {
  outline: none; }
/* OnClick + Active */
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-button-default {
  background-color: white;
  color: #3d475f;
  border: 1px solid #bfbfbf;
  -webkit-border-radius: 100px;
          border-radius: 100px; }
/* Hover + Focus */
.uk-button-default:hover,
.uk-button-default:focus {
  background-color: #3b65cf;
  color: white;
  border-color: #3b65cf; }
/* OnClick + Active */
.uk-button-default:active,
.uk-button-default.uk-active {
  background-color: #3b65cf;
  color: white; }
/*
 * Primary
 */
.uk-button-primary, .SiteHeader__button, .SiteHeader__hamburger, .SiteOffCanvas__close, .SiteForm__button, .Consultation__button, .ServiceCard__button, .ErrorPage__button {
  background-color: #3b65cf;
  color: white; }
/* Hover + Focus */
.uk-button-primary:hover, .SiteHeader__button:hover, .SiteHeader__hamburger:hover, .SiteOffCanvas__close:hover, .SiteForm__button:hover, .Consultation__button:hover, .ServiceCard__button:hover, .ErrorPage__button:hover,
.uk-button-primary:focus,
.SiteHeader__button:focus,
.SiteHeader__hamburger:focus,
.SiteOffCanvas__close:focus,
.SiteForm__button:focus,
.Consultation__button:focus,
.ServiceCard__button:focus,
.ErrorPage__button:focus {
  background-color: #2f59c1;
  color: white; }
/* OnClick + Active */
.uk-button-primary:active, .SiteHeader__button:active, .SiteHeader__hamburger:active, .SiteOffCanvas__close:active, .SiteForm__button:active, .Consultation__button:active, .ServiceCard__button:active, .ErrorPage__button:active,
.uk-button-primary.uk-active,
.uk-active.SiteHeader__button,
.uk-active.SiteHeader__hamburger,
.uk-active.SiteOffCanvas__close,
.uk-active.SiteForm__button,
.uk-active.Consultation__button,
.uk-active.ServiceCard__button,
.uk-active.ErrorPage__button {
  background-color: #2a4fad;
  color: white; }
/*
 * Secondary
 */
.uk-button-secondary {
  background-color: white;
  color: #868686; }
/* Hover + Focus */
.uk-button-secondary:hover,
.uk-button-secondary:focus {
  background-color: #f2f2f2;
  color: #fff; }
/* OnClick + Active */
.uk-button-secondary:active,
.uk-button-secondary.uk-active {
  background-color: #e6e6e6;
  color: #fff; }
/*
 * Danger
 */
.uk-button-danger {
  background-color: #f25d50;
  color: #fff; }
/* Hover + Focus */
.uk-button-danger:hover,
.uk-button-danger:focus {
  background-color: #f04738;
  color: #fff; }
/* OnClick + Active */
.uk-button-danger:active,
.uk-button-danger.uk-active {
  background-color: #ee3120;
  color: #fff; }
/*
 * Disabled
 * The same for all style modifiers
 */
.uk-button-default:disabled,
.uk-button-primary:disabled,
.SiteHeader__button:disabled,
.SiteHeader__hamburger:disabled,
.SiteOffCanvas__close:disabled,
.SiteForm__button:disabled,
.Consultation__button:disabled,
.ServiceCard__button:disabled,
.ErrorPage__button:disabled,
.uk-button-secondary:disabled,
.uk-button-danger:disabled {
  background-color: #3b65cf;
  color: white; }
/* Size modifiers
 ========================================================================== */
.uk-button-small {
  padding: 0 15px;
  line-height: 30px;
  font-size: 0.875rem; }
.uk-button-large, .SiteHeader__button, .SiteHeader__hamburger, .SiteOffCanvas__close {
  padding: 0 24px;
  line-height: 47px;
  font-size: 0.8125rem; }
/* Text modifiers
 ========================================================================== */
/*
 * Text
 * 1. Reset
 * 2. Style
 */
.uk-button-text {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #999; }
/* Hover + Focus */
.uk-button-text:hover,
.uk-button-text:focus {
  color: #666; }
/* Disabled */
.uk-button-text:disabled {
  color: #999; }
/*
 * Link
 * 1. Reset
 * 2. Style
 */
.uk-button-link {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #1e87f0; }
/* Hover + Focus */
.uk-button-link:hover,
.uk-button-link:focus {
  color: #0f6ecd;
  text-decoration: underline; }
/* Disabled */
.uk-button-link:disabled {
  color: #999;
  text-decoration: none; }
/* Group
 ========================================================================== */
/*
 * 1. Using `flex` instead of `inline-block` to prevent whitespace betweent child elements
 * 2. Behave like button
 * 3. Create position context
 */
.uk-button-group {
  /* 1 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  /* 2 */
  vertical-align: middle;
  /* 3 */
  position: relative; }
/* ========================================================================
   Component: Container
 ========================================================================== */
/*
 * 1. Box sizing has to be `content-box` so the max-width is always the same and
 *    unaffected by the padding on different breakpoints. It's important for the size modifiers.
 */
.uk-container, .Layout__container {
  display: flow-root;
  /* 1 */
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  max-width: 1260px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 16px;
  padding-right: 16px; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container, .Layout__container {
    padding-left: 24px;
    padding-right: 24px; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-container, .Layout__container {
    padding-left: 32px;
    padding-right: 32px; } }
/*
 * Remove margin from the last-child
 */
.uk-container > :last-child, .Layout__container > :last-child {
  margin-bottom: 0; }
/*
 * Remove padding from nested containers
 */
.uk-container .uk-container, .Layout__container .uk-container, .uk-container .Layout__container, .Layout__container .Layout__container {
  padding-left: 0;
  padding-right: 0; }
/* Size modifier
 ========================================================================== */
.uk-container-xsmall {
  max-width: 750px; }
.uk-container-small, .Layout__container--small {
  max-width: 808px; }
.uk-container-large {
  max-width: 1400px; }
.uk-container-xlarge, .Layout__container--xlarge {
  max-width: 1920px; }
.uk-container-expand {
  max-width: none; }
/* Expand modifier
 ========================================================================== */
/*
 * Expand one side only
 */
.uk-container-expand-left {
  margin-left: 0; }
.uk-container-expand-right {
  margin-right: 0; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container-expand-left.uk-container-xsmall,
  .uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (750px / 2) - 24px); }
  .uk-container-expand-left.uk-container-small, .uk-container-expand-left.Layout__container--small,
  .uk-container-expand-right.uk-container-small,
  .uk-container-expand-right.Layout__container--small {
    max-width: calc(50% + (808px / 2) - 24px); } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-container-expand-left,
  .uk-container-expand-right {
    max-width: calc(50% + (1260px / 2) - 32px); }
  .uk-container-expand-left.uk-container-xsmall,
  .uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (750px / 2) - 32px); }
  .uk-container-expand-left.uk-container-small, .uk-container-expand-left.Layout__container--small,
  .uk-container-expand-right.uk-container-small,
  .uk-container-expand-right.Layout__container--small {
    max-width: calc(50% + (808px / 2) - 32px); }
  .uk-container-expand-left.uk-container-large,
  .uk-container-expand-right.uk-container-large {
    max-width: calc(50% + (1400px / 2) - 32px); }
  .uk-container-expand-left.uk-container-xlarge, .uk-container-expand-left.Layout__container--xlarge,
  .uk-container-expand-right.uk-container-xlarge,
  .uk-container-expand-right.Layout__container--xlarge {
    max-width: calc(50% + (1920px / 2) - 32px); } }
/* Item
 ========================================================================== */
/*
 * Utility classes to reset container padding on the left or right side
 * Note: It has to be negative margin on the item, because it's specific to the item.
 */
.uk-container-item-padding-remove-left,
.uk-container-item-padding-remove-right {
  width: calc(100% + 16px); }
.uk-container-item-padding-remove-left {
  margin-left: -16px; }
.uk-container-item-padding-remove-right {
  margin-right: -16px; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-container-item-padding-remove-left,
  .uk-container-item-padding-remove-right {
    width: calc(100% + 24px); }
  .uk-container-item-padding-remove-left {
    margin-left: -24px; }
  .uk-container-item-padding-remove-right {
    margin-right: -24px; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-container-item-padding-remove-left,
  .uk-container-item-padding-remove-right {
    width: calc(100% + 32px); }
  .uk-container-item-padding-remove-left {
    margin-left: -32px; }
  .uk-container-item-padding-remove-right {
    margin-right: -32px; } }
/* ========================================================================
   Component: Close
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-close {
  color: #999; }
/* Hover + Focus */
.uk-close:hover,
.uk-close:focus {
  color: #666;
  outline: none; }
/* ========================================================================
   Component: Spinner
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
/* SVG
 ========================================================================== */
.uk-spinner > * {
  -webkit-animation: uk-spinner-rotate 1.4s linear infinite;
          animation: uk-spinner-rotate 1.4s linear infinite; }
@-webkit-keyframes uk-spinner-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); } }
@keyframes uk-spinner-rotate {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(270deg);
            transform: rotate(270deg); } }
/*
 * Circle
 */
.uk-spinner > * > * {
  stroke-dasharray: 88px;
  stroke-dashoffset: 0;
  -webkit-transform-origin: center;
      -ms-transform-origin: center;
          transform-origin: center;
  -webkit-animation: uk-spinner-dash 1.4s ease-in-out infinite;
          animation: uk-spinner-dash 1.4s ease-in-out infinite;
  stroke-width: 1;
  stroke-linecap: round; }
@-webkit-keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px; }
  50% {
    stroke-dashoffset: 22px;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); }
  100% {
    stroke-dashoffset: 88px;
    -webkit-transform: rotate(450deg);
            transform: rotate(450deg); } }
@keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px; }
  50% {
    stroke-dashoffset: 22px;
    -webkit-transform: rotate(135deg);
            transform: rotate(135deg); }
  100% {
    stroke-dashoffset: 88px;
    -webkit-transform: rotate(450deg);
            transform: rotate(450deg); } }
/* ========================================================================
   Component: Modal
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 */
.uk-modal {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1001;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  /* 4 */
  padding: 15px 15px;
  /* 5 */
  background: rgba(0, 0, 0, 0.6);
  /* 6 */
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-modal {
    padding: 50px 30px; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-modal {
    padding-left: 40px;
    padding-right: 40px; } }
/*
 * Open
 */
.uk-modal.uk-open {
  opacity: 1; }
/* Page
 ========================================================================== */
/*
 * Prevent scrollbars
 */
.uk-modal-page {
  overflow: hidden; }
/* Dialog
 ========================================================================== */
/*
 * 1. Create position context for spinner and close button
 * 2. Dimensions
 * 3. Fix `max-width: 100%` not working in combination with flex and responsive images in IE11
 *    `!important` needed to overwrite `uk-width-auto`. See `#modal-media-image` in tests
 * 4. Style
 * 5. Slide-in transition
 */
.uk-modal-dialog {
  /* 1 */
  position: relative;
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 auto;
  width: 600px;
  /* 3 */
  max-width: calc(100% - 0.01px) !important;
  /* 4 */
  background: #fff;
  /* 5 */
  opacity: 0;
  -webkit-transform: translateY(-100px);
      -ms-transform: translateY(-100px);
          transform: translateY(-100px);
  -webkit-transition: 0.3s linear;
  -o-transition: 0.3s linear;
  transition: 0.3s linear;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  -o-transition-property: opacity, transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform; }
/*
 * Open
 */
.uk-open > .uk-modal-dialog {
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }
/* Size modifier
 ========================================================================== */
/*
 * Container size
 * Take the same size as the Container component
 */
.uk-modal-container .uk-modal-dialog {
  width: 1200px; }
/*
 * Full size
 * 1. Remove padding and background from modal
 * 2. Reset all default declarations from modal dialog
 */
/* 1 */
.uk-modal-full {
  padding: 0;
  background: none; }
/* 2 */
.uk-modal-full .uk-modal-dialog {
  margin: 0;
  width: 100%;
  max-width: 100%;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0); }
/* Sections
 ========================================================================== */
.uk-modal-body {
  display: flow-root;
  padding: 0 0; }
.uk-modal-header {
  display: flow-root;
  padding: 15px 30px;
  background: #f8f8f8; }
.uk-modal-footer {
  display: flow-root;
  padding: 15px 30px;
  background: #f8f8f8; }
/*
 * Remove margin from the last-child
 */
.uk-modal-body > :last-child,
.uk-modal-header > :last-child,
.uk-modal-footer > :last-child {
  margin-bottom: 0; }
/* Title
 ========================================================================== */
.uk-modal-title {
  font-size: 2rem;
  line-height: 1.3; }
/* Close
 * Adopts `uk-close`
 ========================================================================== */
[class*='uk-modal-close-'] {
  position: absolute;
  z-index: 1001;
  top: 10px;
  right: 10px;
  padding: 5px; }
/*
 * Remove margin from adjacent element
 */
[class*='uk-modal-close-']:first-child + * {
  margin-top: 0; }
/*
 * Hover
 */
/*
 * Default
 */
/*
 * Outside
 * 1. Prevent scrollbar on small devices
 */
.uk-modal-close-outside {
  top: 0;
  /* 1 */
  right: -5px;
  -webkit-transform: translate(0, -100%);
      -ms-transform: translate(0, -100%);
          transform: translate(0, -100%);
  color: white; }
.uk-modal-close-outside:hover {
  color: #fff; }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  /* 1 */
  .uk-modal-close-outside {
    right: 0;
    -webkit-transform: translate(100%, -100%);
        -ms-transform: translate(100%, -100%);
            transform: translate(100%, -100%); } }
/*
 * Full
 */
/* ========================================================================
   Component: Lightbox
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 * 7. Prevent cancellation of pointer events while dragging
 */
.uk-lightbox {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1010;
  /* 5 */
  background: #000;
  /* 6 */
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
  /* 7 */
  -ms-touch-action: pinch-zoom;
      touch-action: pinch-zoom; }
/*
 * Open
 * 1. Center child
 * 2. Fade-in
 */
.uk-lightbox.uk-open {
  display: block;
  /* 2 */
  opacity: 1; }
/* Page
 ========================================================================== */
/*
 * Prevent scrollbars
 */
.uk-lightbox-page {
  overflow: hidden; }
/* Item
 ========================================================================== */
/*
 * 1. Center child within the viewport
 * 2. Not visible by default
 * 3. Color needed for spinner icon
 * 4. Optimize animation
 * 5. Responsiveness
 *    Using `vh` for `max-height` to fix image proportions after resize in Safari and Opera
 *    Using `vh` and `vw` to make responsive image work in IE11
 * 6. Suppress outline on focus
 */
.uk-lightbox-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  display: none;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 3 */
  color: rgba(255, 255, 255, 0.7);
  /* 4 */
  will-change: transform, opacity; }
/* 5 */
.uk-lightbox-items > * > * {
  max-width: 100vw;
  max-height: 100vh; }
/* 6 */
.uk-lightbox-items > :focus {
  outline: none; }
.uk-lightbox-items > * > :not(iframe) {
  width: auto;
  height: auto; }
.uk-lightbox-items > .uk-active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
/* Toolbar
 ========================================================================== */
.uk-lightbox-toolbar {
  padding: 10px 10px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7); }
.uk-lightbox-toolbar > * {
  color: rgba(255, 255, 255, 0.7); }
/* Toolbar Icon (Close)
 ========================================================================== */
.uk-lightbox-toolbar-icon {
  padding: 5px;
  color: rgba(255, 255, 255, 0.7); }
/*
 * Hover
 */
.uk-lightbox-toolbar-icon:hover {
  color: #fff; }
/* Button (Slidenav)
 ========================================================================== */
/*
 * 1. Center icon vertically and horizontally
 */
.uk-lightbox-button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7);
  /* 1 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
/*
 * Hover
 */
.uk-lightbox-button:hover {
  color: #fff; }
/* Caption
 ========================================================================== */
.uk-lightbox-caption:empty {
  display: none; }
/* Iframe
 ========================================================================== */
.uk-lightbox-iframe {
  width: 80%;
  height: 80%; }
/* ========================================================================
   Component: Notification
 ========================================================================== */
/*
 * 1. Set position
 * 2. Dimensions
 */
.uk-notification {
  /* 1 */
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 20041;
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 350px; }
/* Position modifiers
========================================================================== */
.uk-notification-top-right,
.uk-notification-bottom-right {
  left: auto;
  right: 10px; }
.uk-notification-top-center,
.uk-notification-bottom-center {
  left: 50%;
  margin-left: -175px; }
.uk-notification-bottom-left,
.uk-notification-bottom-right,
.uk-notification-bottom-center {
  top: auto;
  bottom: 10px; }
/* Responsiveness
========================================================================== */
/* Phones portrait and smaller */
@media (max-width: 639px) {
  .uk-notification {
    left: 10px;
    right: 10px;
    width: auto;
    margin: 0; } }
/* Message
========================================================================== */
.uk-notification-message {
  position: relative;
  padding: 12px;
  background: #cc9966;
  color: white;
  font-size: 0.875rem;
  line-height: 1.5;
  cursor: pointer;
  -webkit-border-radius: 5px;
          border-radius: 5px;
  padding-right: 24px; }
* + .uk-notification-message {
  margin-top: 15px; }
/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-notification-close {
  display: none;
  position: absolute;
  top: 50%;
  right: 12px;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
.uk-notification-close, .uk-notification-close:hover {
    color: white; }
.uk-notification-message:hover .uk-notification-close {
  display: block; }
/* Style modifiers
 ========================================================================== */
/*
 * Primary
 */
.uk-notification-message-primary {
  color: white;
  background-color: #cc9966; }
/*
 * Success
 */
.uk-notification-message-success {
  color: white;
  background-color: #57a749; }
/*
 * Warning
 */
.uk-notification-message-warning {
  color: white;
  background-color: #f6bb31; }
/*
 * Danger
 */
.uk-notification-message-danger {
  color: white;
  background-color: #f25d50; }
/* ========================================================================
   Component: Animation
 ========================================================================== */
[class*='uk-animation-'] {
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-timing-function: ease-out;
          animation-timing-function: ease-out;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both; }
/* Animations
 ========================================================================== */
/*
 * Fade
 */
.uk-animation-fade {
  -webkit-animation-name: uk-fade;
          animation-name: uk-fade;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear; }
/*
 * Scale
 */
.uk-animation-scale-up {
  -webkit-animation-name: uk-fade-scale-02;
          animation-name: uk-fade-scale-02; }
.uk-animation-scale-down {
  -webkit-animation-name: uk-fade-scale-18;
          animation-name: uk-fade-scale-18; }
/*
 * Slide
 */
.uk-animation-slide-top {
  -webkit-animation-name: uk-fade-top;
          animation-name: uk-fade-top; }
.uk-animation-slide-bottom {
  -webkit-animation-name: uk-fade-bottom;
          animation-name: uk-fade-bottom; }
.uk-animation-slide-left {
  -webkit-animation-name: uk-fade-left;
          animation-name: uk-fade-left; }
.uk-animation-slide-right {
  -webkit-animation-name: uk-fade-right;
          animation-name: uk-fade-right; }
/*
 * Slide Small
 */
.uk-animation-slide-top-small {
  -webkit-animation-name: uk-fade-top-small;
          animation-name: uk-fade-top-small; }
.uk-animation-slide-bottom-small {
  -webkit-animation-name: uk-fade-bottom-small;
          animation-name: uk-fade-bottom-small; }
.uk-animation-slide-left-small {
  -webkit-animation-name: uk-fade-left-small;
          animation-name: uk-fade-left-small; }
.uk-animation-slide-right-small {
  -webkit-animation-name: uk-fade-right-small;
          animation-name: uk-fade-right-small; }
/*
 * Slide Medium
 */
.uk-animation-slide-top-medium {
  -webkit-animation-name: uk-fade-top-medium;
          animation-name: uk-fade-top-medium; }
.uk-animation-slide-bottom-medium {
  -webkit-animation-name: uk-fade-bottom-medium;
          animation-name: uk-fade-bottom-medium; }
.uk-animation-slide-left-medium {
  -webkit-animation-name: uk-fade-left-medium;
          animation-name: uk-fade-left-medium; }
.uk-animation-slide-right-medium {
  -webkit-animation-name: uk-fade-right-medium;
          animation-name: uk-fade-right-medium; }
/*
 * Kenburns
 */
.uk-animation-kenburns {
  -webkit-animation-name: uk-scale-kenburns;
          animation-name: uk-scale-kenburns;
  -webkit-animation-duration: 15s;
          animation-duration: 15s; }
/*
 * Shake
 */
.uk-animation-shake {
  -webkit-animation-name: uk-shake;
          animation-name: uk-shake; }
/*
 * SVG Stroke
 * The `--uk-animation-stroke` custom property contains the longest path length.
 * Set it manually or use `uk-svg="stroke-animation: true"` to set it automatically.
 * All strokes are animated by the same pace and doesn't end simultaneously.
 * To end simultaneously, `pathLength="1"` could be used, but it's not working in Safari yet.
 */
.uk-animation-stroke {
  -webkit-animation-name: uk-stroke;
          animation-name: uk-stroke;
  stroke-dasharray: var(--uk-animation-stroke);
  -webkit-animation-duration: 2s;
          animation-duration: 2s; }
/* Direction modifier
 ========================================================================== */
.uk-animation-reverse {
  animation-direction: reverse;
  -webkit-animation-timing-function: ease-in;
          animation-timing-function: ease-in; }
/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
  -webkit-animation-duration: 0.25s;
          animation-duration: 0.25s; }
/* Toggle (Hover + Focus)
========================================================================== */
/*
 * The toggle is triggered on touch devices using `:focus` and tabindex
 */
.uk-animation-toggle:not(:hover):not(:focus) [class*='uk-animation-'] {
  -webkit-animation-name: none;
          animation-name: none; }
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-animation-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent; }
/*
 * Remove outline for `tabindex`
 */
.uk-animation-toggle:focus {
  outline: none; }
/* Keyframes used by animation classes
 ========================================================================== */
/*
 * Fade
 */
@-webkit-keyframes uk-fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes uk-fade {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*
 * Slide Top
 */
@-webkit-keyframes uk-fade-top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
/*
 * Slide Bottom
 */
@-webkit-keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-bottom {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
/*
 * Slide Left
 */
@-webkit-keyframes uk-fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
/*
 * Slide Right
 */
@-webkit-keyframes uk-fade-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
/*
 * Slide Top Small
 */
@-webkit-keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-top-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
/*
 * Slide Bottom Small
 */
@-webkit-keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-bottom-small {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
/*
 * Slide Left Small
 */
@-webkit-keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-left-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-10px);
            transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
/*
 * Slide Right Small
 */
@-webkit-keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-right-small {
  0% {
    opacity: 0;
    -webkit-transform: translateX(10px);
            transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
/*
 * Slide Top Medium
 */
@-webkit-keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-top-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50px);
            transform: translateY(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
/*
 * Slide Bottom Medium
 */
@-webkit-keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
@keyframes uk-fade-bottom-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }
/*
 * Slide Left Medium
 */
@-webkit-keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-left-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-50px);
            transform: translateX(-50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
/*
 * Slide Right Medium
 */
@-webkit-keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
@keyframes uk-fade-right-medium {
  0% {
    opacity: 0;
    -webkit-transform: translateX(50px);
            transform: translateX(50px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0); } }
/*
 * Scale Up
 */
@-webkit-keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.2);
            transform: scale(0.2); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
@keyframes uk-fade-scale-02 {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.2);
            transform: scale(0.2); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
/*
 * Scale Down
 */
@-webkit-keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.8);
            transform: scale(1.8); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
@keyframes uk-fade-scale-18 {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.8);
            transform: scale(1.8); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1); } }
/*
 * Kenburns
 */
@-webkit-keyframes uk-scale-kenburns {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); } }
@keyframes uk-scale-kenburns {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  100% {
    -webkit-transform: scale(1.2);
            transform: scale(1.2); } }
/*
 * Shake
 */
@-webkit-keyframes uk-shake {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-9px);
            transform: translateX(-9px); }
  20% {
    -webkit-transform: translateX(8px);
            transform: translateX(8px); }
  30% {
    -webkit-transform: translateX(-7px);
            transform: translateX(-7px); }
  40% {
    -webkit-transform: translateX(6px);
            transform: translateX(6px); }
  50% {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px); }
  60% {
    -webkit-transform: translateX(4px);
            transform: translateX(4px); }
  70% {
    -webkit-transform: translateX(-3px);
            transform: translateX(-3px); }
  80% {
    -webkit-transform: translateX(2px);
            transform: translateX(2px); }
  90% {
    -webkit-transform: translateX(-1px);
            transform: translateX(-1px); } }
@keyframes uk-shake {
  0%, 100% {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  10% {
    -webkit-transform: translateX(-9px);
            transform: translateX(-9px); }
  20% {
    -webkit-transform: translateX(8px);
            transform: translateX(8px); }
  30% {
    -webkit-transform: translateX(-7px);
            transform: translateX(-7px); }
  40% {
    -webkit-transform: translateX(6px);
            transform: translateX(6px); }
  50% {
    -webkit-transform: translateX(-5px);
            transform: translateX(-5px); }
  60% {
    -webkit-transform: translateX(4px);
            transform: translateX(4px); }
  70% {
    -webkit-transform: translateX(-3px);
            transform: translateX(-3px); }
  80% {
    -webkit-transform: translateX(2px);
            transform: translateX(2px); }
  90% {
    -webkit-transform: translateX(-1px);
            transform: translateX(-1px); } }
/*
 * Stroke
 */
@-webkit-keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke); }
  100% {
    stroke-dashoffset: 0; } }
@keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke); }
  100% {
    stroke-dashoffset: 0; } }
/* ========================================================================
   Component: Text
 ========================================================================== */
/* Style modifiers
 ========================================================================== */
.uk-text-lead {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #333; }
.uk-text-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999; }
/* Size modifiers
 ========================================================================== */
.uk-text-small {
  font-size: 0.875rem;
  line-height: 1.5; }
.uk-text-large {
  font-size: 1.5rem;
  line-height: 1.5; }
.uk-text-default {
  font-size: 16px;
  line-height: 1.5; }
/* Weight modifier
 ========================================================================== */
.uk-text-light {
  font-weight: 300; }
.uk-text-normal {
  font-weight: 400; }
.uk-text-bold {
  font-weight: 700; }
.uk-text-lighter {
  font-weight: lighter; }
.uk-text-bolder {
  font-weight: bolder; }
/* Style modifier
 ========================================================================== */
.uk-text-italic {
  font-style: italic; }
/* Transform modifier
 ========================================================================== */
.uk-text-capitalize {
  text-transform: capitalize !important; }
.uk-text-uppercase {
  text-transform: uppercase !important; }
.uk-text-lowercase {
  text-transform: lowercase !important; }
/* Color modifiers
 ========================================================================== */
.uk-text-muted {
  color: #999 !important; }
.uk-text-emphasis {
  color: #333 !important; }
.uk-text-primary {
  color: #cc9966 !important; }
.uk-text-secondary {
  color: #222 !important; }
.uk-text-success {
  color: #57a749 !important; }
.uk-text-warning {
  color: #f6bb31 !important; }
.uk-text-danger {
  color: #f25d50 !important; }
/* Background modifier
 ========================================================================== */
/*
 * 1. The background clips to the foreground text. Works in Chrome, Firefox, Safari, Edge and Opera
 *    Default color is set to transparent
 * 2. Container fits the text
 * 3. Fallback color for IE11
 */
.uk-text-background {
  /* 1 */
  -webkit-background-clip: text;
  /* 2 */
  display: inline-block;
  /* 3 */
  color: #cc9966 !important; }
@supports (-webkit-background-clip: text) {
  .uk-text-background {
    background-color: #cc9966;
    color: transparent !important; } }
/* Alignment modifiers
 ========================================================================== */
.uk-text-left {
  text-align: left !important; }
.uk-text-right {
  text-align: right !important; }
.uk-text-center {
  text-align: center !important; }
.uk-text-justify {
  text-align: justify !important; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-text-left\@s {
    text-align: left !important; }
  .uk-text-right\@s {
    text-align: right !important; }
  .uk-text-center\@s {
    text-align: center !important; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-text-left\@m {
    text-align: left !important; }
  .uk-text-right\@m {
    text-align: right !important; }
  .uk-text-center\@m {
    text-align: center !important; } }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-text-left\@l {
    text-align: left !important; }
  .uk-text-right\@l {
    text-align: right !important; }
  .uk-text-center\@l {
    text-align: center !important; } }
/* Large screen and bigger */
@media (min-width: 1200px) {
  .uk-text-left\@xl {
    text-align: left !important; }
  .uk-text-right\@xl {
    text-align: right !important; }
  .uk-text-center\@xl {
    text-align: center !important; } }
/*
 * Vertical
 */
.uk-text-top {
  vertical-align: top !important; }
.uk-text-middle {
  vertical-align: middle !important; }
.uk-text-bottom {
  vertical-align: bottom !important; }
.uk-text-baseline {
  vertical-align: baseline !important; }
/* Wrap modifiers
 ========================================================================== */
/*
 * Prevent text from wrapping onto multiple lines
 */
.uk-text-nowrap {
  white-space: nowrap; }
/*
 * 1. Make sure a max-width is set after which truncation can occur
 * 2. Prevent text from wrapping onto multiple lines, and truncate with an ellipsis
 * 3. Fix for table cells
 */
.uk-text-truncate {
  /* 1 */
  max-width: 100%;
  /* 2 */
  overflow: hidden;
  -o-text-overflow: ellipsis;
     text-overflow: ellipsis;
  white-space: nowrap; }
/* 2 */
th.uk-text-truncate,
td.uk-text-truncate {
  max-width: 0; }
/*
 * 1. Wrap long words onto the next line and break them if they are too long to fit
 * 2. Legacy `word-wrap` as fallback for `overflow-wrap`
 * 3. Fix `overflow-wrap` which doesn't work with table cells in Chrome, Opera, IE11 and Edge
 *    Must use `break-all` to support IE11 and Edge
 * Note: Not using `hyphens: auto;` because it hyphenates text even if not needed
 */
.uk-text-break {
  /* 1 */
  overflow-wrap: break-word;
  /* 2 */
  word-wrap: break-word; }
/* 3 */
th.uk-text-break,
td.uk-text-break {
  word-break: break-all; }
/* ========================================================================
   Component: Flex
 ========================================================================== */
.uk-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
.uk-flex-inline {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; }
/*
 * Remove pseudo elements created by micro clearfix as precaution
 */
.uk-flex::before,
.uk-flex::after,
.uk-flex-inline::before,
.uk-flex-inline::after {
  display: none; }
/* Alignment
 ========================================================================== */
/*
 * Align items along the main axis of the current line of the flex container
 * Row: Horizontal
 */
.uk-flex-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
.uk-flex-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
.uk-flex-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
.uk-flex-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
.uk-flex-around {
  -ms-flex-pack: distribute;
      justify-content: space-around; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-flex-left\@s {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@s {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .uk-flex-right\@s {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@s {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@s {
    -ms-flex-pack: distribute;
        justify-content: space-around; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-flex-left\@m {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@m {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .uk-flex-right\@m {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@m {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@m {
    -ms-flex-pack: distribute;
        justify-content: space-around; } }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-flex-left\@l {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@l {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .uk-flex-right\@l {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@l {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@l {
    -ms-flex-pack: distribute;
        justify-content: space-around; } }
/* Large screen and bigger */
@media (min-width: 1200px) {
  .uk-flex-left\@xl {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .uk-flex-center\@xl {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .uk-flex-right\@xl {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .uk-flex-between\@xl {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .uk-flex-around\@xl {
    -ms-flex-pack: distribute;
        justify-content: space-around; } }
/*
 * Align items in the cross axis of the current line of the flex container
 * Row: Vertical
 */
.uk-flex-stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
.uk-flex-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
.uk-flex-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
.uk-flex-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }
/* Direction
 ========================================================================== */
.uk-flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
.uk-flex-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }
.uk-flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
.uk-flex-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
/* Wrap
 ========================================================================== */
.uk-flex-nowrap {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
.uk-flex-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
.uk-flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse;
      flex-wrap: wrap-reverse; }
/*
 * Aligns items within the flex container when there is extra space in the cross-axis
 * Only works if there is more than one line of flex items
 */
.uk-flex-wrap-stretch {
  -ms-flex-line-pack: stretch;
      align-content: stretch; }
.uk-flex-wrap-top {
  -ms-flex-line-pack: start;
      align-content: flex-start; }
.uk-flex-wrap-middle {
  -ms-flex-line-pack: center;
      align-content: center; }
.uk-flex-wrap-bottom {
  -ms-flex-line-pack: end;
      align-content: flex-end; }
.uk-flex-wrap-between {
  -ms-flex-line-pack: justify;
      align-content: space-between; }
.uk-flex-wrap-around {
  -ms-flex-line-pack: distribute;
      align-content: space-around; }
/* Item ordering
 ========================================================================== */
/*
 * Default is 0
 */
.uk-flex-first {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1; }
.uk-flex-last {
  -webkit-box-ordinal-group: 100;
      -ms-flex-order: 99;
          order: 99; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-flex-first\@s {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .uk-flex-last\@s {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-flex-first\@m {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .uk-flex-last\@m {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99; } }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-flex-first\@l {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .uk-flex-last\@l {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99; } }
/* Large screen and bigger */
@media (min-width: 1200px) {
  .uk-flex-first\@xl {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .uk-flex-last\@xl {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99; } }
/* Item dimensions
 ========================================================================== */
/*
 * Initial: 0 1 auto
 * Content dimensions, but shrinks
 */
/*
 * No Flex: 0 0 auto
 * Content dimensions
 */
.uk-flex-none {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none; }
/*
 * Relative Flex: 1 1 auto
 * Space is allocated considering content
 */
.uk-flex-auto {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto; }
/*
 * Absolute Flex: 1 1 0%
 * Space is allocated solely based on flex
 */
.uk-flex-1 {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }
/* ========================================================================
   Component: Margin
 ========================================================================== */
/*
 * Default
 */
.uk-margin {
  margin-bottom: 20px; }
* + .uk-margin {
  margin-top: 20px !important; }
.uk-margin-top {
  margin-top: 20px !important; }
.uk-margin-bottom {
  margin-bottom: 20px !important; }
.uk-margin-left {
  margin-left: 20px !important; }
.uk-margin-right {
  margin-right: 20px !important; }
/* Small
 ========================================================================== */
.uk-margin-small {
  margin-bottom: 10px; }
* + .uk-margin-small {
  margin-top: 10px !important; }
.uk-margin-small-top {
  margin-top: 10px !important; }
.uk-margin-small-bottom {
  margin-bottom: 10px !important; }
.uk-margin-small-left {
  margin-left: 10px !important; }
.uk-margin-small-right {
  margin-right: 10px !important; }
/* Medium
 ========================================================================== */
.uk-margin-medium {
  margin-bottom: 40px; }
* + .uk-margin-medium {
  margin-top: 40px !important; }
.uk-margin-medium-top {
  margin-top: 40px !important; }
.uk-margin-medium-bottom {
  margin-bottom: 40px !important; }
.uk-margin-medium-left {
  margin-left: 40px !important; }
.uk-margin-medium-right {
  margin-right: 40px !important; }
/* Large
 ========================================================================== */
.uk-margin-large {
  margin-bottom: 40px; }
* + .uk-margin-large {
  margin-top: 40px !important; }
.uk-margin-large-top {
  margin-top: 40px !important; }
.uk-margin-large-bottom {
  margin-bottom: 40px !important; }
.uk-margin-large-left {
  margin-left: 40px !important; }
.uk-margin-large-right {
  margin-right: 40px !important; }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-margin-large {
    margin-bottom: 70px; }
  * + .uk-margin-large {
    margin-top: 70px !important; }
  .uk-margin-large-top {
    margin-top: 70px !important; }
  .uk-margin-large-bottom {
    margin-bottom: 70px !important; }
  .uk-margin-large-left {
    margin-left: 70px !important; }
  .uk-margin-large-right {
    margin-right: 70px !important; } }
/* XLarge
 ========================================================================== */
.uk-margin-xlarge {
  margin-bottom: 70px; }
* + .uk-margin-xlarge {
  margin-top: 70px !important; }
.uk-margin-xlarge-top {
  margin-top: 70px !important; }
.uk-margin-xlarge-bottom {
  margin-bottom: 70px !important; }
.uk-margin-xlarge-left {
  margin-left: 70px !important; }
.uk-margin-xlarge-right {
  margin-right: 70px !important; }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-margin-xlarge {
    margin-bottom: 140px; }
  * + .uk-margin-xlarge {
    margin-top: 140px !important; }
  .uk-margin-xlarge-top {
    margin-top: 140px !important; }
  .uk-margin-xlarge-bottom {
    margin-bottom: 140px !important; }
  .uk-margin-xlarge-left {
    margin-left: 140px !important; }
  .uk-margin-xlarge-right {
    margin-right: 140px !important; } }
/* Auto
 ========================================================================== */
.uk-margin-auto {
  margin-left: auto !important;
  margin-right: auto !important; }
.uk-margin-auto-top {
  margin-top: auto !important; }
.uk-margin-auto-bottom {
  margin-bottom: auto !important; }
.uk-margin-auto-left {
  margin-left: auto !important; }
.uk-margin-auto-right {
  margin-right: auto !important; }
.uk-margin-auto-vertical {
  margin-top: auto !important;
  margin-bottom: auto !important; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-margin-auto\@s {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@s {
    margin-left: auto !important; }
  .uk-margin-auto-right\@s {
    margin-right: auto !important; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-margin-auto\@m {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@m {
    margin-left: auto !important; }
  .uk-margin-auto-right\@m {
    margin-right: auto !important; } }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-margin-auto\@l {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@l {
    margin-left: auto !important; }
  .uk-margin-auto-right\@l {
    margin-right: auto !important; } }
/* Large screen and bigger */
@media (min-width: 1200px) {
  .uk-margin-auto\@xl {
    margin-left: auto !important;
    margin-right: auto !important; }
  .uk-margin-auto-left\@xl {
    margin-left: auto !important; }
  .uk-margin-auto-right\@xl {
    margin-right: auto !important; } }
/* Remove
 ========================================================================== */
.uk-margin-remove {
  margin: 0 !important; }
.uk-margin-remove-top {
  margin-top: 0 !important; }
.uk-margin-remove-bottom {
  margin-bottom: 0 !important; }
.uk-margin-remove-left {
  margin-left: 0 !important; }
.uk-margin-remove-right {
  margin-right: 0 !important; }
.uk-margin-remove-vertical {
  margin-top: 0 !important;
  margin-bottom: 0 !important; }
.uk-margin-remove-adjacent + *,
.uk-margin-remove-first-child > :first-child {
  margin-top: 0 !important; }
.uk-margin-remove-last-child > :last-child {
  margin-bottom: 0 !important; }
/* Phone landscape and bigger */
@media (min-width: 640px) {
  .uk-margin-remove-left\@s {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@s {
    margin-right: 0 !important; } }
/* Tablet landscape and bigger */
@media (min-width: 900px) {
  .uk-margin-remove-left\@m {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@m {
    margin-right: 0 !important; } }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-margin-remove-left\@l {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@l {
    margin-right: 0 !important; } }
/* Large screen and bigger */
@media (min-width: 1200px) {
  .uk-margin-remove-left\@xl {
    margin-left: 0 !important; }
  .uk-margin-remove-right\@xl {
    margin-right: 0 !important; } }
/* ========================================================================
   Component: Position
 ========================================================================== */
/* Directions
 ========================================================================== */
/*
 * 1. Prevent content overflow if `max-width: 100%` is used inside position container.
 */
[class*='uk-position-top'],
[class*='uk-position-bottom'],
[class*='uk-position-left'],
[class*='uk-position-right'],
[class*='uk-position-center'] {
  position: absolute !important;
  /* 1 */
  max-width: 100%; }
/* Edges
 ========================================================================== */
/* Don't use `width: 100%` because it is wrong if the parent has padding. */
.uk-position-top {
  top: 0;
  left: 0;
  right: 0; }
.uk-position-bottom {
  bottom: 0;
  left: 0;
  right: 0; }
.uk-position-left {
  top: 0;
  bottom: 0;
  left: 0; }
.uk-position-right {
  top: 0;
  bottom: 0;
  right: 0; }
/* Corners
 ========================================================================== */
.uk-position-top-left {
  top: 0;
  left: 0; }
.uk-position-top-right {
  top: 0;
  right: 0; }
.uk-position-bottom-left {
  bottom: 0;
  left: 0; }
.uk-position-bottom-right {
  bottom: 0;
  right: 0; }
/*
 * Center
 * 1. Fix text wrapping if content is larger than 50% of the container.
 */
.uk-position-center {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  /* 1 */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
/* Vertical */
[class*='uk-position-center-left'],
[class*='uk-position-center-right'] {
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
.uk-position-center-left {
  left: 0; }
.uk-position-center-right {
  right: 0; }
.uk-position-center-left-out {
  right: 100%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content; }
.uk-position-center-right-out {
  left: 100%;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content; }
/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center {
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  /* 1 */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }
.uk-position-top-center {
  top: 0; }
.uk-position-bottom-center {
  bottom: 0; }
/* Cover
 ========================================================================== */
.uk-position-cover {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0; }
/* Utility
 ========================================================================== */
.uk-position-relative {
  position: relative !important; }
.uk-position-absolute {
  position: absolute !important; }
.uk-position-fixed {
  position: fixed !important; }
.uk-position-z-index {
  z-index: 1; }
/* Margin modifier
 ========================================================================== */
/*
 * Small
 */
.uk-position-small {
  max-width: calc(100% - (15px * 2));
  margin: 15px; }
.uk-position-small.uk-position-center {
  -webkit-transform: translate(-50%, -50%) translate(-15px, -15px);
      -ms-transform: translate(-50%, -50%) translate(-15px, -15px);
          transform: translate(-50%, -50%) translate(-15px, -15px); }
.uk-position-small[class*='uk-position-center-left'],
.uk-position-small[class*='uk-position-center-right'] {
  -webkit-transform: translateY(-50%) translateY(-15px);
      -ms-transform: translateY(-50%) translateY(-15px);
          transform: translateY(-50%) translateY(-15px); }
.uk-position-small.uk-position-top-center,
.uk-position-small.uk-position-bottom-center {
  -webkit-transform: translateX(-50%) translateX(-15px);
      -ms-transform: translateX(-50%) translateX(-15px);
          transform: translateX(-50%) translateX(-15px); }
/*
 * Medium
 */
.uk-position-medium {
  max-width: calc(100% - (30px * 2));
  margin: 30px; }
.uk-position-medium.uk-position-center {
  -webkit-transform: translate(-50%, -50%) translate(-30px, -30px);
      -ms-transform: translate(-50%, -50%) translate(-30px, -30px);
          transform: translate(-50%, -50%) translate(-30px, -30px); }
.uk-position-medium[class*='uk-position-center-left'],
.uk-position-medium[class*='uk-position-center-right'] {
  -webkit-transform: translateY(-50%) translateY(-30px);
      -ms-transform: translateY(-50%) translateY(-30px);
          transform: translateY(-50%) translateY(-30px); }
.uk-position-medium.uk-position-top-center,
.uk-position-medium.uk-position-bottom-center {
  -webkit-transform: translateX(-50%) translateX(-30px);
      -ms-transform: translateX(-50%) translateX(-30px);
          transform: translateX(-50%) translateX(-30px); }
/*
 * Large
 */
.uk-position-large {
  max-width: calc(100% - (30px * 2));
  margin: 30px; }
.uk-position-large.uk-position-center {
  -webkit-transform: translate(-50%, -50%) translate(-30px, -30px);
      -ms-transform: translate(-50%, -50%) translate(-30px, -30px);
          transform: translate(-50%, -50%) translate(-30px, -30px); }
.uk-position-large[class*='uk-position-center-left'],
.uk-position-large[class*='uk-position-center-right'] {
  -webkit-transform: translateY(-50%) translateY(-30px);
      -ms-transform: translateY(-50%) translateY(-30px);
          transform: translateY(-50%) translateY(-30px); }
.uk-position-large.uk-position-top-center,
.uk-position-large.uk-position-bottom-center {
  -webkit-transform: translateX(-50%) translateX(-30px);
      -ms-transform: translateX(-50%) translateX(-30px);
          transform: translateX(-50%) translateX(-30px); }
/* Desktop and bigger */
@media (min-width: 1000px) {
  .uk-position-large {
    max-width: calc(100% - (50px * 2));
    margin: 50px; }
  .uk-position-large.uk-position-center {
    -webkit-transform: translate(-50%, -50%) translate(-50px, -50px);
        -ms-transform: translate(-50%, -50%) translate(-50px, -50px);
            transform: translate(-50%, -50%) translate(-50px, -50px); }
  .uk-position-large[class*='uk-position-center-left'],
  .uk-position-large[class*='uk-position-center-right'] {
    -webkit-transform: translateY(-50%) translateY(-50px);
        -ms-transform: translateY(-50%) translateY(-50px);
            transform: translateY(-50%) translateY(-50px); }
  .uk-position-large.uk-position-top-center,
  .uk-position-large.uk-position-bottom-center {
    -webkit-transform: translateX(-50%) translateX(-50px);
        -ms-transform: translateX(-50%) translateX(-50px);
            transform: translateX(-50%) translateX(-50px); } }
/* ========================================================================
   Component: Transition
 ========================================================================== */
/* Toggle (Hover + Focus)
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-transition-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent; }
/*
 * Remove outline for `tabindex`
 */
.uk-transition-toggle:focus {
  outline: none; }
/* Transitions
 ========================================================================== */
/*
 * The toggle is triggered on touch devices by two methods:
 * 1. Using `:focus` and tabindex
 * 2. Using `:hover` and a `touchstart` event listener registered on the document
 *    (Doesn't work on Surface touch devices)
 *
 * Note: Transitions don't work with `uk-postion-center-*` classes because they also use `transform`,
 *       therefore it's recommended to use an extra `div` for the transition.
 */
.uk-transition-fade,
[class*='uk-transition-scale'],
[class*='uk-transition-slide'] {
  -webkit-transition: 0.3s ease-out;
  -o-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  transition-property: opacity, transform, -webkit-filter;
  -webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, -webkit-transform, -webkit-filter;
  -o-transition-property: opacity, transform, filter;
  transition-property: opacity, transform, filter;
  transition-property: opacity, transform, filter, -webkit-transform, -webkit-filter;
  transition-property: opacity, transform, filter, -webkit-filter;
  opacity: 0; }
/*
 * Fade
 */
.uk-transition-toggle:hover .uk-transition-fade,
.uk-transition-toggle:focus .uk-transition-fade,
.uk-transition-active.uk-active .uk-transition-fade {
  opacity: 1; }
/*
 * Scale
 */
.uk-transition-scale-up {
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1); }
.uk-transition-scale-down {
  -webkit-transform: scale(1.1, 1.1);
      -ms-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1); }
/* Show */
.uk-transition-toggle:hover .uk-transition-scale-up,
.uk-transition-toggle:focus .uk-transition-scale-up,
.uk-transition-active.uk-active .uk-transition-scale-up {
  opacity: 1;
  -webkit-transform: scale(1.1, 1.1);
      -ms-transform: scale(1.1, 1.1);
          transform: scale(1.1, 1.1); }
.uk-transition-toggle:hover .uk-transition-scale-down,
.uk-transition-toggle:focus .uk-transition-scale-down,
.uk-transition-active.uk-active .uk-transition-scale-down {
  opacity: 1;
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1); }
/*
 * Slide
 */
.uk-transition-slide-top {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%); }
.uk-transition-slide-bottom {
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%); }
.uk-transition-slide-left {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%); }
.uk-transition-slide-right {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%); }
.uk-transition-slide-top-small {
  -webkit-transform: translateY(-10px);
      -ms-transform: translateY(-10px);
          transform: translateY(-10px); }
.uk-transition-slide-bottom-small {
  -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
          transform: translateY(10px); }
.uk-transition-slide-left-small {
  -webkit-transform: translateX(-10px);
      -ms-transform: translateX(-10px);
          transform: translateX(-10px); }
.uk-transition-slide-right-small {
  -webkit-transform: translateX(10px);
      -ms-transform: translateX(10px);
          transform: translateX(10px); }
.uk-transition-slide-top-medium {
  -webkit-transform: translateY(-50px);
      -ms-transform: translateY(-50px);
          transform: translateY(-50px); }
.uk-transition-slide-bottom-medium {
  -webkit-transform: translateY(50px);
      -ms-transform: translateY(50px);
          transform: translateY(50px); }
.uk-transition-slide-left-medium {
  -webkit-transform: translateX(-50px);
      -ms-transform: translateX(-50px);
          transform: translateX(-50px); }
.uk-transition-slide-right-medium {
  -webkit-transform: translateX(50px);
      -ms-transform: translateX(50px);
          transform: translateX(50px); }
/* Show */
.uk-transition-toggle:hover [class*='uk-transition-slide'],
.uk-transition-toggle:focus [class*='uk-transition-slide'],
.uk-transition-active.uk-active [class*='uk-transition-slide'] {
  opacity: 1;
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0); }
/* Opacity modifier
 ========================================================================== */
.uk-transition-opaque {
  opacity: 1; }
/* Duration modifiers
 ========================================================================== */
.uk-transition-slow {
  -webkit-transition-duration: 0.7s;
       -o-transition-duration: 0.7s;
          transition-duration: 0.7s; }
/* ========================================================================
   Component: Print
 ========================================================================== */
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: black !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }
.TheContent h3, .OrderedCard__title, .FeaturedCard__title, .TheContent h2, .FooterNav__inner, .FooterServices__heading, .Modal__heading--default, .AboutDocuments__heading, .ProjectPage__subHeading, .ContactsPage__subtitle, .TheContent h1, .SiteOffCanvasNavigation__inner, .ProjectCard__title, .HomeSection__title, .ServiceCard__heading, .AboutOrganizationsItem__title, .ProjectPage__heading, .ServicePage__heading, .ContactsPage__title, .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large, .AboutCertificates__title, .HomeAbout__title, .HomeProject__title, .HomeMap__title, .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading, .FeaturedSliderPanel__text {
  font-family: "Bebas Neue", cursive;
  font-weight: 700;
  text-transform: uppercase; }
.HomeAbout__heading, .HomeSections__heading, .HomeProjects__heading, .HomeMap__heading, .WrappedPartners__heading, .AboutHero__heading--small, .ProjectsPage__heading, .ServicesPage__heading, .ContactsPage__heading {
  color: #3d475f;
  font-family: "Manrope", sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 2.15;
  text-transform: uppercase; }
.TheContent h3 {
  font-size: 1.125rem; }
@media (max-width: 899px) {
    .TheContent h3 {
      font-size: 1rem; } }
@media (max-width: 639px) {
    .TheContent h3 {
      font-size: 0.875rem; } }
.OrderedCard__title, .FeaturedCard__title, .TheContent h2, .FooterNav__inner, .FooterServices__heading {
  font-size: 1.375rem;
  line-height: 1; }
.Modal__heading--default, .AboutDocuments__heading, .ProjectPage__subHeading, .ContactsPage__subtitle {
  font-size: 1.75rem;
  line-height: 1.25; }
@media (max-width: 999px) {
  .OrderedCard__title, .FeaturedCard__title {
    font-size: 1.25rem; } }
@media (max-width: 899px) {
  .OrderedCard__title, .FeaturedCard__title {
    font-size: 1.125rem; } }
@media (max-width: 639px) {
  .OrderedCard__title, .FeaturedCard__title {
    font-size: 1rem; } }
.TheContent h1, .SiteOffCanvasNavigation__inner, .ProjectCard__title, .HomeSection__title, .ServiceCard__heading, .AboutOrganizationsItem__title, .ProjectPage__heading, .ServicePage__heading, .ContactsPage__title {
  font-size: 2.375rem;
  line-height: 1.11765; }
@media (max-width: 1199px) {
    .TheContent h1, .SiteOffCanvasNavigation__inner, .ProjectCard__title, .HomeSection__title, .ServiceCard__heading, .AboutOrganizationsItem__title, .ProjectPage__heading, .ServicePage__heading, .ContactsPage__title {
      font-size: 2.25rem; } }
@media (max-width: 999px) {
    .TheContent h1, .SiteOffCanvasNavigation__inner, .ProjectCard__title, .HomeSection__title, .ServiceCard__heading, .AboutOrganizationsItem__title, .ProjectPage__heading, .ServicePage__heading, .ContactsPage__title {
      font-size: 2.125rem; } }
@media (max-width: 899px) {
    .TheContent h1, .SiteOffCanvasNavigation__inner, .ProjectCard__title, .HomeSection__title, .ServiceCard__heading, .AboutOrganizationsItem__title, .ProjectPage__heading, .ServicePage__heading, .ContactsPage__title {
      font-size: 2rem; } }
@media (max-width: 639px) {
    .TheContent h1, .SiteOffCanvasNavigation__inner, .ProjectCard__title, .HomeSection__title, .ServiceCard__heading, .AboutOrganizationsItem__title, .ProjectPage__heading, .ServicePage__heading, .ContactsPage__title {
      font-size: 1.875rem; } }
.Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large, .AboutCertificates__title {
  line-height: 0.865;
  font-size: 3rem; }
@media (max-width: 1199px) {
    .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large, .AboutCertificates__title {
      font-size: 2.875rem; } }
@media (max-width: 999px) {
    .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large, .AboutCertificates__title {
      font-size: 2.75rem; } }
@media (max-width: 899px) {
    .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large, .AboutCertificates__title {
      font-size: 2.5rem; } }
@media (max-width: 639px) {
    .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large, .AboutCertificates__title {
      font-size: 2.375rem; } }
.HomeAbout__title, .HomeProject__title, .HomeMap__title, .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading {
  font-size: 3.75rem;
  line-height: 0.9166; }
@media (max-width: 1199px) {
    .HomeAbout__title, .HomeProject__title, .HomeMap__title, .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading {
      font-size: 3.4375rem; } }
@media (max-width: 999px) {
    .HomeAbout__title, .HomeProject__title, .HomeMap__title, .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading {
      font-size: 3.125rem; } }
@media (max-width: 899px) {
    .HomeAbout__title, .HomeProject__title, .HomeMap__title, .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading {
      font-size: 2.8125rem; } }
@media (max-width: 639px) {
    .HomeAbout__title, .HomeProject__title, .HomeMap__title, .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading {
      font-size: 2.5rem; } }
.HomeAbout__title strong, .HomeMap__title strong, .AboutMap__heading strong {
  color: #3b65cf;
  font-weight: 700; }
.FeaturedSlider__description, .AboutHero__description {
  color: white;
  font-size: 1.375rem;
  line-height: 1.182; }
@media (max-width: 999px) {
    .FeaturedSlider__description, .AboutHero__description {
      font-size: 1.25rem;
      line-height: 1.25; } }
@media (max-width: 899px) {
    .FeaturedSlider__description, .AboutHero__description {
      font-size: 1.125rem; } }
@media (max-width: 639px) {
    .FeaturedSlider__description, .AboutHero__description {
      font-size: 1rem; } }
.HomeAbout__description, .HomeMap__description, .Modal__description, .AboutCertificates__description, .AboutMap__description, .ErrorPage__description {
  color: rgba(61, 71, 95, 0.8);
  font-size: 1.125rem;
  line-height: 1.777; }
@media (max-width: 899px) {
    .HomeAbout__description, .HomeMap__description, .Modal__description, .AboutCertificates__description, .AboutMap__description, .ErrorPage__description {
      font-size: 1rem;
      line-height: 1.8; } }
@media (max-width: 639px) {
    .HomeAbout__description, .HomeMap__description, .Modal__description, .AboutCertificates__description, .AboutMap__description, .ErrorPage__description {
      font-size: 0.875rem;
      line-height: 1.855; } }
.HomeProject__description, .AboutNumbersItem__description {
  color: rgba(61, 71, 95, 0.8);
  font-size: 0.875rem;
  line-height: 1.285; }
@media (max-width: 639px) {
    .HomeProject__description, .AboutNumbersItem__description {
      font-size: 0.75rem;
      line-height: 1.5; } }
.TheContent {
  color: rgba(61, 71, 95, 0.8);
  font-size: 1.125rem;
  line-height: 1.7777; }
@media (max-width: 639px) {
    .TheContent {
      font-size: 1rem; } }
.TheContent > *:first-child {
    margin-top: 0; }
.TheContent > *:last-child {
    margin-bottom: 0; }
.TheContent h2 {
    margin-top: 80px; }
@media (max-width: 999px) {
      .TheContent h2 {
        margin-top: 64px; } }
@media (max-width: 899px) {
      .TheContent h2 {
        margin-top: 48px; } }
@media (max-width: 639px) {
      .TheContent h2 {
        margin-top: 40px; } }
.TheContent h3 {
    margin-top: 60px; }
@media (max-width: 999px) {
      .TheContent h3 {
        margin-top: 52px; } }
@media (max-width: 899px) {
      .TheContent h3 {
        margin-top: 40px; } }
@media (max-width: 639px) {
      .TheContent h3 {
        margin-top: 24px; } }
.TheContent a {
    color: #3b65cf;
    -webkit-text-decoration: underline transparent;
            text-decoration: underline transparent;
    transition: -webkit-text-decoration-color 0.2s ease-out;
    -webkit-transition: -webkit-text-decoration-color 0.2s ease-out;
    -o-transition: text-decoration-color 0.2s ease-out;
    transition: text-decoration-color 0.2s ease-out;
    transition: text-decoration-color 0.2s ease-out, -webkit-text-decoration-color 0.2s ease-out; }
.TheContent a:hover, .TheContent a:focus {
      -webkit-text-decoration-color: inherit;
              text-decoration-color: inherit; }
.TheContent img {
    margin-top: 20px;
    width: 100%; }
@media (max-width: 899px) {
      .TheContent img {
        margin-top: 16px; } }
.TheContent img + img {
    margin-top: 40px; }
@media (max-width: 899px) {
      .TheContent img + img {
        margin-top: 32px; } }
@media (max-width: 639px) {
      .TheContent img + img {
        margin-top: 24px; } }
.TheContent p {
    margin: 20px 0; }
@media (max-width: 899px) {
      .TheContent p {
        margin: 16px 0; } }
.TheContent ul,
  .TheContent ol {
    margin-top: 20px; }
@media (max-width: 899px) {
      .TheContent ul,
      .TheContent ol {
        margin-top: 16px; } }
.TheContent ul li,
    .TheContent ol li {
      margin-bottom: 10px;
      padding-left: 29px;
      position: relative; }
.TheContent ul li::before,
      .TheContent ol li::before {
        left: 0;
        position: absolute; }
.TheContent ul li:last-of-type,
      .TheContent ol li:last-of-type {
        margin-bottom: 0; }
.TheContent ul {
    --unordered-list-bullet-color: #3b65cf;
    --unordered-list-bullet-border-color: #3b65cf; }
.TheContent ul li::before {
      background-color: var(--unordered-list-bullet-color);
      border: 1px solid var(--unordered-list-bullet-border-color);
      -webkit-border-radius: 50%;
              border-radius: 50%;
      content: "";
      width: 9px;
      height: 9px;
      top: 12px; }
.TheContent ul li > ul {
      --unordered-list-bullet-color: white;
      --unordered-list-bullet-border-color: #3b65cf;
      margin-left: 12px; }
.TheContent ol {
    counter-reset: list-counter; }
.TheContent ol li {
      counter-increment: list-counter; }
.TheContent ol li::before {
        color: inherit;
        content: counter(list-counter) ".";
        font-size: inherit;
        font-weight: 700;
        top: 0; }
.TheContent strong,
  .TheContent b {
    color: inherit;
    font-weight: 700; }
.TheContent .responsiveEmbed {
    margin: 30px 0 80px; }
@media (max-width: 899px) {
      .TheContent .responsiveEmbed {
        margin: 24px 0 64px; } }
@media (max-width: 639px) {
      .TheContent .responsiveEmbed {
        margin: 20px 0 48px; } }
.SiteForm__button {
  position: relative; }
.SiteForm__button:disabled:not(.is-all-loaded) .SiteForm__spinner {
    opacity: 1; }
.SiteForm__button:disabled:not(.is-all-loaded) .SiteForm__buttonText {
    opacity: 0; }
.is-all-loaded.SiteForm__button {
    background-color: #3b65cf;
    color: white;
    cursor: default;
    opacity: 0.8; }
.SiteForm__buttonText {
  -webkit-transition: opacity 0.2s ease-out;
  -o-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out; }
.SiteForm__spinner {
  left: 50%;
  opacity: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: opacity 0.2s ease-out;
  -o-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out; }
.Layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  min-height: 100vh; }
.Layout__header, .Layout__body {
    position: relative; }
.Layout__header {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    z-index: 2; }
.Layout__body {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    z-index: 1; }
.Layout__footer {
    -ms-flex-negative: 0;
        flex-shrink: 0; }
.Layout__container--medium {
    max-width: 1045px; }
.Layout__container--noPadding {
    padding: 0; }
.SiteOffCanvas__image, .SiteGallery__image img, .ProjectCard__image img, .Consultation__image, .FeaturedSlider__image, .HomeSection__image img, .FeaturedCard__image, .ServiceCard__image img, .Modal__background img, .AboutHero__image img, .AboutFeatures__image img, .ProjectPage__hero img, .ErrorPage__image, .ProjectCard__image::before, .ProjectCard__overlay, .Consultation__overlay, .FeaturedCard__overlay, .FeaturedCard__content, .HomeProject__imageInner::before, .Modal__background, .Modal__background::before, .AboutHero__image, .AboutHero__image::before, .AboutFeatures__image, .AboutFeatures__image::before, .AboutMap::before, .ProjectPage__imageOverlays, .ContactsMap__map {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }
.SiteOffCanvas__image, .SiteGallery__image img, .ProjectCard__image img, .Consultation__image, .FeaturedSlider__image, .HomeSection__image img, .FeaturedCard__image, .ServiceCard__image img, .Modal__background img, .AboutHero__image img, .AboutFeatures__image img, .ProjectPage__hero img, .ErrorPage__image {
  -o-object-fit: cover;
     object-fit: cover; }
.SiteGallery__image, .ProjectCard__image, .ServiceCard__image, .ProjectPage__hero {
  background-color: rgba(13, 100, 172, 0.1);
  position: relative; }
.FeaturedSliderScroll__circle, .HomeProjectsMore__circle, .ButtonArrow__circle, .BackButton__circle, .FeaturedSliderScroll__circleInner, .FeaturedCard__circle, .HomeProjectsMore__circleInner, .SiteHeader__hamburger, .HeaderNav, .SiteOffCanvas__close, .SiteOffCanvasNavigation__chevron, .Partners__slide, .Modal__body.--center, .Modal__close, .ErrorPage {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
.ProjectPage, .ProjectsPage, .ServicesPage, .ServicePage, .ArticlePage__main, .ContactsPage {
  padding-top: 60px;
  padding-bottom: 140px; }
@media (max-width: 999px) {
    .ProjectPage, .ProjectsPage, .ServicesPage, .ServicePage, .ArticlePage__main, .ContactsPage {
      padding-top: 48px;
      padding-bottom: 120px; } }
@media (max-width: 899px) {
    .ProjectPage, .ProjectsPage, .ServicesPage, .ServicePage, .ArticlePage__main, .ContactsPage {
      padding-top: 36px;
      padding-bottom: 90px; } }
@media (max-width: 639px) {
    .ProjectPage, .ProjectsPage, .ServicesPage, .ServicePage, .ArticlePage__main, .ContactsPage {
      padding-top: 24px;
      padding-bottom: 65px; } }
.HeaderNav__dropdown::after, .Consultation::after, .OrderedCard::before, .Modal__body--small::before {
  background-color: #3b65cf;
  bottom: -1px;
  content: "";
  height: 4px;
  left: -1px;
  position: absolute;
  width: calc(100% + 1px); }
.FeaturedSliderScroll__circle, .HomeProjectsMore__circle {
  background-color: rgba(59, 101, 207, 0.2);
  -webkit-border-radius: 50%;
          border-radius: 50%;
  padding: 9px;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: -webkit-transform 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  -o-transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out; }
.ButtonArrow__circle, .BackButton__circle, .FeaturedSliderScroll__circleInner, .FeaturedCard__circle, .HomeProjectsMore__circleInner {
  background-color: #3b65cf;
  -webkit-border-radius: 50%;
          border-radius: 50%;
  color: white;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 27px;
  height: 27px;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  -webkit-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  -webkit-transition-property: color, -webkit-transform;
  transition-property: color, -webkit-transform;
  -o-transition-property: transform, color;
  transition-property: transform, color;
  transition-property: transform, color, -webkit-transform; }
.FeaturedCard--noImage .ButtonArrow__circle, .FeaturedCard--noImage .BackButton__circle, .FeaturedCard--noImage .FeaturedSliderScroll__circleInner, .FeaturedCard--noImage .FeaturedCard__circle, .FeaturedCard--noImage .HomeProjectsMore__circleInner {
  background-color: white;
  color: #3b65cf; }
@media (min-width: 1366px) {
  .ProjectPage__back, .ServicePage__back {
    margin-left: -68px;
    position: absolute;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); } }
@media (max-width: 1365px) {
  .ProjectPage__back, .ServicePage__back {
    margin-bottom: 16px; } }
.ProjectCard__image img, .HomeProject__imageInner img, .ProjectPage__galleryItem img {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 0.375s ease-out;
  transition: -webkit-transform 0.375s ease-out;
  -o-transition: transform 0.375s ease-out;
  transition: transform 0.375s ease-out;
  transition: transform 0.375s ease-out, -webkit-transform 0.375s ease-out; }
.HomeSection__number, .ServiceCard__number {
  color: #3b65cf;
  font-family: "Bebas Neue", cursive;
  font-size: 10.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 0.2295;
  position: absolute; }
@media (max-width: 1199px) {
    .HomeSection__number, .ServiceCard__number {
      font-size: 8.75rem; } }
@media (max-width: 999px) {
    .HomeSection__number, .ServiceCard__number {
      font-size: 6.875rem; } }
@media (max-width: 899px) {
    .HomeSection__number, .ServiceCard__number {
      font-size: 5.625rem; } }
@media (max-width: 639px) {
    .HomeSection__number, .ServiceCard__number {
      font-size: 4.375rem; } }
.no-js .show-for-js {
  display: none; }
.js .hide-for-js {
  display: none; }
.responsiveEmbed {
  position: relative;
  padding: 0;
    padding-bottom: 56.25%; }
.responsiveEmbed iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100% !important;
    height: 100% !important; }
.visually-hidden {
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  white-space: nowrap;
  width: 1px; }
[hidden] {
  display: none !important; }
.SiteHeader {
  padding-top: 16px; }
@media (max-width: 999px) {
    .SiteHeader {
      padding-top: 15px; } }
.SiteHeader--fixed {
    position: absolute;
    width: 100%; }
.SiteHeader--light .SiteHeader__logo {
    color: white; }
.SiteHeader--light .SiteHeader__logo:hover, .SiteHeader--light .SiteHeader__logo:focus {
      color: #e6e6e6; }
.SiteHeader--light .HeaderNav__link, .SiteHeader--light .HeaderNav__label,
  .SiteHeader--light .HeaderNav__chevron {
    color: white; }
.SiteHeader--light .HeaderNav__link:hover, .SiteHeader--light .HeaderNav__link:focus {
    color: #e6e6e6; }
.SiteHeader--light .HeaderNav__item--dropdown:hover .HeaderNav__link, .SiteHeader--light .HeaderNav__item--dropdown:hover .HeaderNav__label,
  .SiteHeader--light .HeaderNav__item--dropdown:hover .HeaderNav__chevron, .SiteHeader--light .HeaderNav__item--dropdown:focus-within .HeaderNav__link, .SiteHeader--light .HeaderNav__item--dropdown:focus-within .HeaderNav__label,
  .SiteHeader--light .HeaderNav__item--dropdown:focus-within .HeaderNav__chevron {
    color: #e6e6e6; }
.SiteHeader__grid {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
.SiteHeader__logo {
    color: #3d475f;
    margin-right: auto;
    outline: none; }
.SiteHeader__logo:hover, .SiteHeader__logo:focus {
      color: #3b65cf; }
.SiteHeader__nav {
    margin-right: 40px; }
@media (max-width: 999px) {
      .SiteHeader__nav {
        display: none; } }
.SiteHeader__button {
    height: 100%; }
@media (max-width: 639px) {
      .SiteHeader__button {
        display: none; } }
.SiteHeader__hamburger {
    font-size: 0;
    min-width: auto;
    padding: 0;
    width: 47px;
    height: 47px; }
@media (min-width: 1000px) {
      .SiteHeader__hamburger {
        display: none; } }
@media (min-width: 640px) {
      .SiteHeader__hamburger {
        margin-left: 16px; } }
.HeaderNav__item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative; }
.HeaderNav__item:not(:last-child) {
    margin-right: 36px; }
@media (max-width: 1199px) {
      .HeaderNav__item:not(:last-child) {
        margin-right: 32px; } }
.HeaderNav__item--dropdown {
    cursor: default; }
.HeaderNav__item--dropdown:hover .HeaderNav__link, .HeaderNav__item--dropdown:hover .HeaderNav__label, .HeaderNav__item--dropdown:focus-within .HeaderNav__link, .HeaderNav__item--dropdown:focus-within .HeaderNav__label {
      color: #2a4fad; }
.HeaderNav__item--dropdown:hover .HeaderNav__dropdown, .HeaderNav__item--dropdown:focus-within .HeaderNav__dropdown {
      opacity: 1;
      -webkit-transform: translateY(0);
          -ms-transform: translateY(0);
              transform: translateY(0);
      -webkit-transition-delay: 0s;
           -o-transition-delay: 0s;
              transition-delay: 0s;
      visibility: visible; }
.HeaderNav__item--dropdown:hover .HeaderNav__chevron, .HeaderNav__item--dropdown:focus-within .HeaderNav__chevron {
      color: #3d475f;
      -webkit-transition-delay: 0s;
           -o-transition-delay: 0s;
              transition-delay: 0s;
      -webkit-transform: rotateZ(180deg);
          -ms-transform: rotate(180deg);
              transform: rotateZ(180deg); }
.HeaderNav__item--active .HeaderNav__link, .HeaderNav__item--active .HeaderNav__label {
    color: #3b65cf; }
.HeaderNav__link, .HeaderNav__label {
  color: #3d475f;
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.0715;
  padding: 16px 0;
  -webkit-transition: color 0.2s ease-out;
  -o-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out; }
.HeaderNav__link:hover, .HeaderNav__link:focus {
  color: #2a4fad; }
.HeaderNav__chevron {
  color: #868686;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-left: 8px;
  -webkit-transition: color 0.2s ease-out, -webkit-transform 0.275s 0.35s ease-out;
  transition: color 0.2s ease-out, -webkit-transform 0.275s 0.35s ease-out;
  -o-transition: transform 0.275s 0.35s ease-out, color 0.2s ease-out;
  transition: transform 0.275s 0.35s ease-out, color 0.2s ease-out;
  transition: transform 0.275s 0.35s ease-out, color 0.2s ease-out, -webkit-transform 0.275s 0.35s ease-out; }
.HeaderNav__dropdown {
  left: 0;
  min-width: 450px;
  opacity: 0;
  padding-top: 10px;
  position: absolute;
  top: 100%;
  -webkit-transform: translateY(-5px);
      -ms-transform: translateY(-5px);
          transform: translateY(-5px);
  -webkit-transition: 0.2s ease-out;
  -o-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
  -webkit-transition-delay: 0.35s;
       -o-transition-delay: 0.35s;
          transition-delay: 0.35s;
  -webkit-transition-property: opacity, visibility, -webkit-transform;
  transition-property: opacity, visibility, -webkit-transform;
  -o-transition-property: opacity, transform, visibility;
  transition-property: opacity, transform, visibility;
  transition-property: opacity, transform, visibility, -webkit-transform;
  visibility: hidden;
  width: 100%;
  z-index: 1; }
.HeaderNav__dropdownInner {
  border: 1px solid #dcdfe4;
  background-color: white;
  -webkit-box-shadow: 0 20px 31px rgba(88, 92, 177, 0.13);
          box-shadow: 0 20px 31px rgba(88, 92, 177, 0.13);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 24px; }
.HeaderNav__dropdownItem:not(:last-child) {
  margin-bottom: 24px; }
.HeaderNav__dropdownItem--active .HeaderNav__dropdownLink, .HeaderNav__dropdownItem--active .HeaderNav__dropdownLabel {
  color: #3b65cf; }
.HeaderNav__dropdownLink, .HeaderNav__dropdownLabel {
  color: rgba(61, 71, 95, 0.8);
  display: block;
  font-size: 0.875rem;
  line-height: 1.25;
  outline: none; }
.HeaderNav__dropdownLink:hover, .HeaderNav__dropdownLink:focus {
  color: #3d475f; }
.SiteFooter {
  background-color: #eaebed;
  padding: 45px 0 30px; }
@media (max-width: 639px) {
    .SiteFooter {
      padding-bottom: 24px;
      padding-top: 60px; } }
.SiteFooter__grid {
    display: grid;
    grid-template-areas: "first nav services last";
    grid-template-columns: repeat(2, auto) 1fr auto; }
@media (max-width: 999px) {
      .SiteFooter__grid {
        grid-column-gap: 24px;
        grid-template-columns: auto auto 1fr;
        grid-template-areas: "first services last" "nav services last"; } }
@media (max-width: 899px) {
      .SiteFooter__grid {
        grid-column-gap: 16px; } }
@media (max-width: 639px) {
      .SiteFooter__grid {
        grid-template-columns: 1fr;
        grid-template-areas: "first" "nav" "services" "last"; } }
.SiteFooter__grid--bottom {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin-top: 20px; }
@media (max-width: 639px) {
        .SiteFooter__grid--bottom {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          margin-top: 50px; } }
.SiteFooter__column--first {
    grid-area: first; }
.SiteFooter__column--last {
    grid-area: last;
    margin-left: auto;
    max-width: 280px;
    padding-left: 32px;
    text-align: right; }
@media (max-width: 1199px) {
      .SiteFooter__column--last {
        padding-left: 24px; } }
@media (max-width: 999px) {
      .SiteFooter__column--last {
        padding-left: 0; } }
@media (max-width: 639px) {
      .SiteFooter__column--last {
        margin-left: 0;
        max-width: none;
        margin-top: 66px;
        text-align: left; } }
.SiteFooter__logo {
    color: #3d475f;
    display: block; }
.SiteFooter__logo:hover, .SiteFooter__logo:focus {
      color: #3b65cf; }
.SiteFooter__copyright {
    color: rgba(61, 71, 95, 0.8);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.3075;
    margin-top: 8px;
    max-width: 160px; }
@media (max-width: 639px) {
      .SiteFooter__copyright {
        margin-top: 4px; } }
.SiteFooter__nav {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    grid-area: nav;
    padding-left: 75px;
    padding-right: 85px; }
@media (max-width: 1199px) {
      .SiteFooter__nav {
        padding-left: 50px;
        padding-right: 60px; } }
@media (max-width: 999px) {
      .SiteFooter__nav {
        padding-left: 0;
        padding-right: 40px; } }
@media (max-width: 899px) {
      .SiteFooter__nav {
        padding-right: 0; } }
@media (max-width: 639px) {
      .SiteFooter__nav {
        margin-top: 45px; } }
.SiteFooter__services {
    grid-area: services;
    max-width: 480px; }
@media (max-width: 999px) {
      .SiteFooter__services {
        max-width: none; } }
@media (max-width: 639px) {
      .SiteFooter__services {
        margin-top: 20px; } }
.SiteFooter__phone:not(:last-child) {
    margin-bottom: 4px; }
.SiteFooter__phone a {
    display: block;
    font-family: "Bebas Neue", cursive;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap; }
.SiteFooter__emails {
    margin-top: 5px; }
@media (max-width: 639px) {
      .SiteFooter__emails {
        margin-top: 8px; } }
.SiteFooter__email:not(:last-child) {
    margin-bottom: 4px; }
.SiteFooter__email a {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.125; }
.SiteFooter__address {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.125;
    margin-top: 30px; }
@media (max-width: 639px) {
      .SiteFooter__address {
        margin-top: 20px; } }
.SiteFooter__developer {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: rgba(61, 71, 95, 0.8);
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    line-height: 1.3075; }
@media (max-width: 639px) {
      .SiteFooter__developer {
        margin-top: 16px; } }
.SiteFooter__developer span {
      margin-right: 4px;
      padding-top: 5px; }
.SiteFooter__links {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
.SiteFooter__link:not(:last-child) {
    margin-bottom: 5px; }
.SiteFooter__link a {
    color: rgba(61, 71, 95, 0.8);
    display: block;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.3075; }
.SiteFooter__link a:hover, .SiteFooter__link a:focus {
      color: #3b65cf; }
.FooterNav__item:not(:last-child) {
  margin-bottom: 15px; }
.FooterNav__item--active .FooterNav__inner {
  color: #3b65cf; }
a.FooterNav__inner:hover, a.FooterNav__inner:focus {
  color: #254698; }
.FooterServices__list {
  display: grid;
  grid-gap: 15px 52px;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 15px; }
@media (max-width: 1199px) {
    .FooterServices__list {
      grid-column-gap: 32px; } }
@media (max-width: 999px) {
    .FooterServices__list {
      grid-column-gap: 24px; } }
@media (max-width: 899px) {
    .FooterServices__list {
      grid-template-columns: 1fr; } }
@media (max-width: 639px) {
    .FooterServices__list {
      margin-top: 10px; } }
.FooterServices__inner {
  color: rgba(61, 71, 95, 0.8);
  display: block;
  font-size: 0.75rem;
  line-height: 1.166; }
.offCanvas-model[id="off-canvas"]:checked ~ .offCanvas-layer, .offCanvas-model[id="off-canvas"]:checked ~ * .offCanvas-layer {
  visibility: visible;
  pointer-events: auto;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }
.offCanvas-model[id="off-canvas"]:checked ~ .offCanvas-backgroundLayer, .offCanvas-model[id="off-canvas"]:checked ~ * .offCanvas-backgroundLayer {
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  pointer-events: none; }
.offCanvas-model {
  display: none; }
.offCanvas-model[id="off-canvas"]:checked ~ .offCanvas-backdrop[for="off-canvas"] {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    cursor: pointer; }
.offCanvas-layer {
  position: fixed;
  right: 0;
  top: 0;
  height: 100%;
  overflow: auto;
  width: 280px;
  z-index: 11;
  -webkit-overflow-scrolling: touch;
  visibility: hidden;
  pointer-events: none;
  background-color: white;
  -webkit-transform: translateX(280px);
      -ms-transform: translateX(280px);
          transform: translateX(280px);
  -webkit-transition-property: visibility, -webkit-transform;
  transition-property: visibility, -webkit-transform;
  -o-transition-property: transform, visibility;
  transition-property: transform, visibility;
  transition-property: transform, visibility, -webkit-transform;
  -webkit-transition-duration: 0.5s;
       -o-transition-duration: 0.5s;
          transition-duration: 0.5s;
  will-change: transform; }
@media (max-width: 424px) {
    .offCanvas-layer {
      width: 100%; } }
@media (max-width: 424px) {
    .offCanvas-layer {
      -webkit-transform: translateX(100%);
          -ms-transform: translateX(100%);
              transform: translateX(100%); } }
.offCanvas-backdrop {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  -webkit-transition-property: opacity, visibility;
  -o-transition-property: opacity, visibility;
  transition-property: opacity, visibility;
  -webkit-transition-duration: 0.5s;
       -o-transition-duration: 0.5s;
          transition-duration: 0.5s; }
.offCanvas-backgroundLayer {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  -o-transition: transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s; }
.SiteOffCanvas {
  position: relative; }
.SiteOffCanvas__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
.SiteOffCanvas__navigation {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin-top: 78px; }
.SiteOffCanvas__close {
    font-size: 0;
    min-width: auto;
    padding: 0;
    width: 47px;
    height: 47px; }
.SiteOffCanvas__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    overflow-y: auto;
    position: relative;
    z-index: 2;
    -webkit-overflow-scrolling: touch; }
.SiteOffCanvas__image {
    z-index: 1; }
.SiteOffCanvasNavigation__item:not(:last-child) {
  margin-bottom: 30px; }
.SiteOffCanvasNavigation__item--active .SiteOffCanvasNavigation__inner {
  color: #3b65cf; }
.SiteOffCanvasNavigation__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
.SiteOffCanvasNavigation__checkbox:checked ~ .SiteOffCanvasNavigation__dropdown {
  display: block; }
.SiteOffCanvasNavigation__checkbox:checked + .SiteOffCanvasNavigation__inner .SiteOffCanvasNavigation__chevron {
  -webkit-transform: rotateZ(180deg);
      -ms-transform: rotate(180deg);
          transform: rotateZ(180deg); }
.SiteOffCanvasNavigation__dropdown {
  display: none;
  margin-top: 15px; }
.SiteOffCanvasNavigation__dropdownItem:not(:last-child) {
  margin-bottom: 15px; }
.SiteOffCanvasNavigation__dropdownItem--active .SiteOffCanvasNavigation__dropdownInner {
  color: #3b65cf; }
.SiteOffCanvasNavigation__dropdownInner {
  color: rgba(61, 71, 95, 0.8);
  display: block;
  font-size: 0.75rem;
  line-height: 1.1666; }
.SiteOffCanvasNavigation__chevron {
  margin-left: 9px;
  margin-top: -4px;
  -webkit-transform: rotateZ(0deg);
      -ms-transform: rotate(0deg);
          transform: rotateZ(0deg);
  -webkit-transition: -webkit-transform 0.275s ease-out;
  transition: -webkit-transform 0.275s ease-out;
  -o-transition: transform 0.275s ease-out;
  transition: transform 0.275s ease-out;
  transition: transform 0.275s ease-out, -webkit-transform 0.275s ease-out; }
.offCanvas-model {
  display: initial;
  left: 0;
  position: absolute;
  top: 0; }
.offCanvas-layer {
  padding: 15px 16px 40px;
  position: fixed;
  top: 0; }
@media (max-width: 424px) {
    .offCanvas-layer {
      width: 100%; } }
.SiteForm__grid {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  display: grid;
  grid-gap: 16px 32px;
  grid-template-columns: repeat(2, 1fr); }
@media (max-width: 999px) {
    .SiteForm__grid {
      grid-column-gap: 24px; } }
@media (max-width: 899px) {
    .SiteForm__grid {
      grid-column-gap: 16px; } }
@media (max-width: 639px) {
    .SiteForm__grid {
      grid-template-columns: 1fr; } }
.SiteForm__grid--vertical {
    grid-gap: 16px;
    grid-template-columns: 1fr; }
.SiteForm__grid > * {
    min-width: 0; }
.SiteForm__control {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
.SiteForm__control--single {
    height: 100%; }
@media (min-width: 640px) {
      .SiteForm__control--single {
        grid-column-end: -1;
        grid-row: 1 / -1; } }
@media (max-width: 639px) {
      .SiteForm__control--single {
        height: auto; } }
.SiteForm__label {
  color: #868686;
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1.5;
  margin-bottom: 9px;
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  -webkit-transition: color 0.2s ease-out;
  -o-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out; }
@media (max-width: 639px) {
    .SiteForm__label {
      font-size: 0.75rem;
      margin-bottom: 11px; } }
.SiteForm__input {
  font-size: 0.875rem; }
@media (max-width: 639px) {
    .SiteForm__input {
      padding-left: 16px;
      padding-right: 16px; } }
.SiteForm__input:focus {
    border-color: #3b65cf; }
.SiteForm__input:focus + .SiteForm__label {
      color: #3b65cf; }
.SiteForm__input:disabled::-moz-placeholder {
    color: #868686; }
.SiteForm__input:disabled:-ms-input-placeholder {
    color: #868686; }
.SiteForm__input:disabled::-ms-input-placeholder {
    color: #868686; }
.SiteForm__input:disabled::-webkit-input-placeholder {
    color: #868686; }
.SiteForm__input:disabled::placeholder {
    color: #868686; }
.SiteForm__input.is-invalid {
    border-color: #eb6262; }
.SiteForm__checkboxWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
.SiteForm__checkbox {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 10px;
  margin-top: 4px; }
.SiteForm__footer {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 16px; }
.SiteForm__agreement {
  color: rgba(21, 42, 71, 0.7);
  font-size: 0.75rem;
  line-height: 1.333;
  max-width: 480px;
  padding-top: 2px; }
.SiteForm__agreement a {
    color: inherit;
    text-decoration: underline; }
.SiteForm__agreement a:hover, .SiteForm__agreement a:focus {
      color: #3b65cf; }
.SiteForm__button {
  margin-top: 30px;
  min-width: auto;
  padding: 0 32px; }
.SiteForm__textarea {
  max-height: 520px;
  min-height: 130px; }
@media (max-width: 639px) {
    .SiteForm__textarea {
      min-height: 150px; } }
.SiteForm__textarea--full {
    min-height: 100%; }
@media (max-width: 639px) {
      .SiteForm__textarea--full {
        min-height: 150px; } }
.ButtonArrow {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #3d475f;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.15385;
  -webkit-transition: color 0.2s ease-out;
  -o-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out; }
a.ButtonArrow:hover, a.ButtonArrow:focus {
    color: #3b65cf; }
a.ButtonArrow:hover .ButtonArrow__circle, a.ButtonArrow:focus .ButtonArrow__circle {
      -webkit-transform: translateX(5px);
          -ms-transform: translateX(5px);
              transform: translateX(5px); }
.ButtonArrow__circle {
    margin-left: 15px; }
@media (max-width: 639px) {
      .ButtonArrow__circle {
        margin-left: 10px; } }
.BackButton {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #3d475f;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.15385;
  -webkit-transition: color 0.2s ease-out;
  -o-transition: color 0.2s ease-out;
  transition: color 0.2s ease-out; }
.BackButton:hover .BackButton__circle, .BackButton:focus .BackButton__circle {
    color: #3b65cf;
    -webkit-transform: translateX(-5px);
        -ms-transform: translateX(-5px);
            transform: translateX(-5px); }
.BackButton__circle {
    background-color: #eaebed;
    color: #3d475f;
    margin-right: 15px; }
@media (max-width: 639px) {
      .BackButton__circle {
        margin-right: 10px; } }
.BackButton__circle svg {
      -webkit-transform: scaleX(-1);
          -ms-transform: scaleX(-1);
              transform: scaleX(-1); }
.SiteGallery {
  position: relative; }
.SiteGallery__slide {
    width: 100%; }
.SiteGallery__image {
    overflow: hidden;
    padding-bottom: 56.2069%;
    width: 100%; }
.SiteGallery__controls {
    bottom: 50px;
    position: absolute;
    right: 0;
    width: 100%; }
@media (max-width: 999px) {
      .SiteGallery__controls {
        bottom: 40px; } }
@media (max-width: 899px) {
      .SiteGallery__controls {
        bottom: 30px; } }
@media (max-width: 639px) {
      .SiteGallery__controls {
        bottom: 20px; } }
@media (max-width: 424px) {
      .SiteGallery__controls {
        bottom: 16px; } }
.SiteGallery__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
.ProjectCard {
  display: block; }
.ProjectCard:hover .ProjectCard__title,
  .ProjectCard:hover .ButtonArrow, .ProjectCard:focus .ProjectCard__title,
  .ProjectCard:focus .ButtonArrow {
    color: #3b65cf; }
.ProjectCard:hover .ButtonArrow__circle, .ProjectCard:focus .ButtonArrow__circle {
    -webkit-transform: translateX(5px);
        -ms-transform: translateX(5px);
            transform: translateX(5px); }
.ProjectCard:hover .ProjectCard__image img, .ProjectCard:focus .ProjectCard__image img {
    -webkit-transform: scale(1.04);
        -ms-transform: scale(1.04);
            transform: scale(1.04); }
.ProjectCard__image {
    margin-bottom: 40px;
    overflow: hidden;
    padding-bottom: 71.89542%; }
@media (max-width: 999px) {
      .ProjectCard__image {
        margin-bottom: 35px; } }
@media (max-width: 899px) {
      .ProjectCard__image {
        margin-bottom: 30px; } }
@media (max-width: 639px) {
      .ProjectCard__image {
        margin-bottom: 25px; } }
.ProjectCard__image::before {
      -webkit-box-shadow: 0 30px 100px rgba(88, 92, 177, 0.3);
              box-shadow: 0 30px 100px rgba(88, 92, 177, 0.3);
      content: "";
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%);
      width: 91.15%;
      z-index: 1; }
.ProjectCard__image img {
      z-index: 2; }
.ProjectCard__overlay {
    background-color: rgba(13, 100, 172, 0.1);
    z-index: 3; }
.ProjectCard__description {
    color: rgba(61, 71, 95, 0.8);
    font-size: 0.875rem;
    letter-spacing: 0.05em;
    line-height: 1.285; }
.ProjectCard__title {
    margin-top: 20px;
    -webkit-transition: color 0.2s ease-out;
    -o-transition: color 0.2s ease-out;
    transition: color 0.2s ease-out; }
.ProjectCard__button {
    margin-top: 20px; }
.PageFilters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -15px;
  margin-bottom: -18px; }
@media (max-width: 639px) {
    .PageFilters {
      margin-left: -16px;
      margin-right: -16px; } }
@media (max-width: 639px) {
    .PageFilters {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      margin-bottom: -16px;
      padding-bottom: 16px;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch; } }
.PageFilters__item {
    margin-bottom: 18px;
    padding-left: 15px; }
@media (max-width: 639px) {
      .PageFilters__item {
        margin-bottom: 0;
        white-space: nowrap; } }
@media (max-width: 639px) {
      .PageFilters__item:last-child {
        padding-right: 16px; } }
.PageFilters__item--active .PageFilters__inner {
      background-color: #3b65cf;
      color: white; }
.PageFilters__inner {
    background-color: #eaebed;
    -webkit-backdrop-filter: blur(20px);
            backdrop-filter: blur(20px);
    -webkit-border-radius: 100px;
            border-radius: 100px;
    color: rgba(61, 71, 95, 0.8);
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.15;
    padding: 10px 15px; }
a.PageFilters__inner:hover, a.PageFilters__inner:focus {
      color: #3b65cf; }
.Consultation {
  background: #fafafa;
  border: 1px solid #d3d5d9;
  padding: 60px 50px;
  position: relative; }
@media (max-width: 899px) {
    .Consultation {
      padding: 50px 35px; } }
@media (max-width: 639px) {
    .Consultation {
      padding: 40px 20px; } }
.Consultation::after {
    z-index: 4; }
.Consultation::before {
    bottom: 0;
    -webkit-box-shadow: 0 30px 40px rgba(88, 92, 177, 0.08);
            box-shadow: 0 30px 40px rgba(88, 92, 177, 0.08);
    content: "";
    height: 88.5%;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 95%;
    z-index: -1; }
.Consultation__overlay {
    background-image: -webkit-linear-gradient(355deg, #fafafa 0%, #fafafa 52.5%, rgba(250, 250, 250, 0) 100%);
    background-image: -o-linear-gradient(355deg, #fafafa 0%, #fafafa 52.5%, rgba(250, 250, 250, 0) 100%);
    background-image: linear-gradient(95deg, #fafafa 0%, #fafafa 52.5%, rgba(250, 250, 250, 0) 100%);
    z-index: 2; }
.Consultation__content {
    position: relative;
    z-index: 3; }
.Consultation__description {
    color: rgba(61, 71, 95, 0.8);
    font-size: 1.125rem;
    line-height: 1.4444;
    margin-top: 10px; }
@media (max-width: 899px) {
      .Consultation__description {
        font-size: 1rem; } }
@media (max-width: 639px) {
      .Consultation__description {
        font-size: 0.875rem;
        line-height: 1.4285; } }
.Consultation__button {
    margin-top: 40px; }
@media (max-width: 899px) {
      .Consultation__button {
        margin-top: 30px; } }
.Consultation__image {
    z-index: 1; }
.LocalePicker {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: white;
  -webkit-box-shadow: 0 4px 32px rgba(88, 92, 177, 0.25);
          box-shadow: 0 4px 32px rgba(88, 92, 177, 0.25);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  outline: none;
  padding: 11px; }
@media (max-width: 999px) {
    .LocalePicker {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      overflow: hidden;
      padding: 0;
      width: 47px;
      height: 47px; } }
@media (min-width: 640px) {
    .LocalePicker:hover, .LocalePicker:focus-within {
      overflow: visible; }
      .LocalePicker:hover .LocalePicker__item, .LocalePicker:focus-within .LocalePicker__item {
        opacity: 1;
        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0); } }
@media (max-width: 639px) {
    .LocalePicker.--active {
      overflow: visible; }
      .LocalePicker.--active .LocalePicker__item {
        opacity: 1;
        -webkit-transform: translateY(0);
            -ms-transform: translateY(0);
                transform: translateY(0); } }
.LocalePicker__item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    -webkit-transition: 0.2s ease-out;
    -o-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    -o-transition-property: opacity, transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    white-space: nowrap;
    width: 100%; }
@media (max-width: 999px) {
      .LocalePicker__item {
        background-color: #f8f8f8;
        border: 1px solid #d3d5d9;
        -ms-flex-negative: 0;
            flex-shrink: 0;
        text-align: center; } }
@media (max-width: 999px) {
      .LocalePicker__item:first-child {
        height: 100%;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
        .LocalePicker__item:first-child .LocalePicker__inner {
          padding-right: 3px; } }
@media (max-width: 999px) {
      .LocalePicker__item:not(:first-child) {
        border-top: none;
        opacity: 0;
        -webkit-transform: translateY(8px);
            -ms-transform: translateY(8px);
                transform: translateY(8px); }
        .LocalePicker__item:not(:first-child) .LocalePicker__inner {
          padding: 8px;
          width: 100%; } }
.LocalePicker__item--active .LocalePicker__inner {
      color: #3d475f; }
.LocalePicker__inner {
    color: rgba(61, 71, 95, 0.5);
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.0715;
    padding: 5px; }
.LocalePicker__arrow {
    color: #3d475f; }
@media (min-width: 1000px) {
      .LocalePicker__arrow {
        display: none; } }
@media (max-width: 999px) {
      .LocalePicker__arrow {
        padding-right: 2px; } }
.FeaturedSlider {
  position: relative; }
.FeaturedSlider__image {
    z-index: 1; }
.FeaturedSlider__content {
    background-color: rgba(13, 100, 172, 0.1);
    height: 100vh;
    padding: 160px 0;
    position: relative;
    z-index: 2; }
.FeaturedSlider__container, .FeaturedSlider__grid {
    height: 100%; }
.FeaturedSlider__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
.FeaturedSlider__title {
    color: white;
    font-size: 5.625rem;
    line-height: 0.9;
    max-width: 812px; }
@media (max-width: 999px) {
      .FeaturedSlider__title {
        font-size: 4.5rem; } }
@media (max-width: 899px) {
      .FeaturedSlider__title {
        font-size: 3.5rem; } }
@media (max-width: 639px) {
      .FeaturedSlider__title {
        font-size: 2.625rem;
        line-height: 0.85715; } }
.FeaturedSlider__description {
    margin-top: 20px; }
.FeaturedSlider__panel {
    bottom: 52px;
    left: 0;
    position: absolute;
    z-index: 3; }
.FeaturedSliderPanel {
  width: 100%; }
.FeaturedSliderPanel__grid {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
.FeaturedSliderPanel__inner {
    background-color: white;
    -webkit-clip-path: polygon(calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0 20px, 0 0);
            clip-path: polygon(calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0 20px, 0 0);
    counter-reset: featured-slider;
    display: inline-grid;
    grid-template-columns: repeat(3, 1fr);
    overflow: hidden;
    position: relative; }
@media (max-width: 639px) {
      .FeaturedSliderPanel__inner {
        -webkit-clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 0 0);
                clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 0 0); } }
.FeaturedSliderPanel__item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    counter-increment: featured-slider;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    outline: none;
    padding: 26px 59px 20px 23px;
    z-index: 2; }
@media (max-width: 999px) {
      .FeaturedSliderPanel__item {
        padding: 20px; } }
@media (max-width: 899px) {
      .FeaturedSliderPanel__item {
        padding: 16px; } }
@media (max-width: 639px) {
      .FeaturedSliderPanel__item {
        padding: 12px 16px; } }
@media (max-width: 374px) {
      .FeaturedSliderPanel__item {
        padding: 11px 12px 10px; } }
.FeaturedSliderPanel__item:not(:first-child).--active ~ .FeaturedSliderPanel__runner {
      -webkit-clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 10px 50%, 0 0);
              clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 10px 50%, 0 0); }
@media (max-width: 639px) {
        .FeaturedSliderPanel__item:not(:first-child).--active ~ .FeaturedSliderPanel__runner {
          -webkit-clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 5px 50%, 0 0);
                  clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 5px 50%, 0 0); } }
.FeaturedSliderPanel__item:nth-child(2).--active ~ .FeaturedSliderPanel__runner {
      -webkit-transform: translateX(100%);
          -ms-transform: translateX(100%);
              transform: translateX(100%); }
.FeaturedSliderPanel__item:nth-child(3).--active ~ .FeaturedSliderPanel__runner {
      -webkit-transform: translateX(200%);
          -ms-transform: translateX(200%);
              transform: translateX(200%); }
.FeaturedSliderPanel__item.--active .FeaturedSliderPanel__number {
      color: rgba(255, 255, 255, 0.8); }
.FeaturedSliderPanel__item.--active .FeaturedSliderPanel__text {
      color: white; }
.FeaturedSliderPanel__number {
    color: rgba(61, 71, 95, 0.8);
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.85715;
    text-transform: uppercase;
    margin-right: 14px;
    margin-top: -4px;
    -webkit-transition: color 0.2s ease-out;
    -o-transition: color 0.2s ease-out;
    transition: color 0.2s ease-out; }
@media (max-width: 639px) {
      .FeaturedSliderPanel__number {
        display: none; } }
.FeaturedSliderPanel__number::before {
      content: "0" counter(featured-slider); }
.FeaturedSliderPanel__text {
    color: #3d475f;
    font-size: 1.75rem;
    line-height: 1.0715;
    text-transform: uppercase;
    -webkit-transition: color 0.2s ease-out;
    -o-transition: color 0.2s ease-out;
    transition: color 0.2s ease-out; }
@media (max-width: 999px) {
      .FeaturedSliderPanel__text {
        font-size: 1.5rem;
        line-height: 1.5; } }
@media (max-width: 899px) {
      .FeaturedSliderPanel__text {
        font-size: 1.25rem; } }
@media (max-width: 639px) {
      .FeaturedSliderPanel__text {
        font-size: 1rem; } }
@media (max-width: 374px) {
      .FeaturedSliderPanel__text {
        font-size: 0.875rem; } }
.FeaturedSliderPanel__runner {
    background-color: #3b65cf;
    -webkit-clip-path: polygon(calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0 20px, 0 0);
            clip-path: polygon(calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0 20px, 0 0);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transition: 0.2s ease-out;
    -o-transition: 0.2s ease-out;
    transition: 0.2s ease-out;
    transition-property: transform, -webkit-clip-path;
    -webkit-transition-property: -webkit-transform, -webkit-clip-path;
    transition-property: -webkit-transform, -webkit-clip-path;
    -o-transition-property: transform, clip-path;
    transition-property: transform, clip-path;
    transition-property: transform, clip-path, -webkit-transform, -webkit-clip-path;
    transition-property: transform, clip-path, -webkit-clip-path;
    width: 33.33333%;
    z-index: 1; }
@media (max-width: 639px) {
      .FeaturedSliderPanel__runner {
        -webkit-clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 0 0);
                clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 0 0); } }
.FeaturedSliderScroll {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: white;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.15385;
  text-align: right; }
@media (max-width: 899px) {
    .FeaturedSliderScroll {
      display: none; } }
.FeaturedSliderScroll:hover .FeaturedSliderScroll__circle, .FeaturedSliderScroll:focus .FeaturedSliderScroll__circle {
    -webkit-transform: translateY(5px);
        -ms-transform: translateY(5px);
            transform: translateY(5px); }
.FeaturedSliderScroll__circle {
    margin-left: 10px; }
.FeaturedSliderScroll__circleInner {
    -webkit-transform: rotateZ(90deg);
        -ms-transform: rotate(90deg);
            transform: rotateZ(90deg); }
@media (max-width: 639px) {
  .Partners__container {
    margin-left: -16px;
    margin-right: -16px; } }
.Partners__slide {
  padding-right: 16px;
  width: calc(100% / 6 + 2.66667px);
  height: auto; }
.Partners__slide:last-child {
    margin-right: -16px; }
@media (max-width: 999px) {
    .Partners__slide {
      padding-right: 16px;
      width: calc(100% / 5 + 3.2px); }
      .Partners__slide:last-child {
        margin-right: -16px; } }
@media (max-width: 899px) {
    .Partners__slide {
      padding-right: 16px;
      width: calc(100% / 4 + 4px); }
      .Partners__slide:last-child {
        margin-right: -16px; } }
@media (max-width: 639px) {
    .Partners__slide {
      padding-right: 16px;
      width: calc(100% / 3 + 5.33333px); }
      .Partners__slide:last-child {
        margin-right: -16px; } }
@media (min-width: 425px) {
    .Partners__slide::before {
      background-color: #d3d5d9;
      content: "";
      height: 100%;
      left: -2px;
      position: absolute;
      top: 0;
      width: 1px; } }
@media (max-width: 424px) {
    .Partners__slide {
      -webkit-box-sizing: content-box;
              box-sizing: content-box;
      max-width: 96px;
      padding-left: 16px;
      padding-right: 0; } }
@media (min-width: 425px) {
    .Partners__slide:not(:first-child) .Partners__image {
      margin-left: 16px; } }
@media (max-width: 424px) {
    .Partners__slide:last-child {
      margin-right: 16px; } }
.Partners__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 12px; }
.HomeAbout {
  position: relative; }
@media (max-width: 639px) {
    .HomeAbout {
      padding-bottom: 48px; } }
.HomeAbout__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 40px; }
@media (max-width: 1199px) {
      .HomeAbout__grid {
        margin-top: 35px; } }
@media (max-width: 999px) {
      .HomeAbout__grid {
        margin-top: 30px; } }
@media (max-width: 899px) {
      .HomeAbout__grid {
        margin-top: 25px; } }
@media (max-width: 639px) {
      .HomeAbout__grid {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        margin-top: 20px; } }
.HomeAbout__column--left {
    padding-right: 64px; }
@media (max-width: 1199px) {
      .HomeAbout__column--left {
        padding-right: 32px; } }
@media (max-width: 999px) {
      .HomeAbout__column--left {
        padding-right: 24px; } }
@media (max-width: 899px) {
      .HomeAbout__column--left {
        padding-right: 16px; } }
@media (max-width: 639px) {
      .HomeAbout__column--left {
        padding-right: 0; } }
.HomeAbout__column--right {
    padding-right: 108px; }
@media (max-width: 1199px) {
      .HomeAbout__column--right {
        padding-right: 64px; } }
@media (max-width: 999px) {
      .HomeAbout__column--right {
        padding-right: 0; } }
.HomeAbout__title {
    font-weight: 400; }
.HomeAbout__button {
    margin-top: 36px; }
@media (max-width: 639px) {
      .HomeAbout__button {
        bottom: 0;
        left: 0;
        margin: 0;
        position: absolute; } }
.HomeAbout__description {
    max-width: 614px; }
@media (max-width: 639px) {
      .HomeAbout__description {
        margin-top: 20px; } }
.HomeNumbers__grid {
  display: grid;
  grid-gap: 32px;
  grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1199px) {
    .HomeNumbers__grid {
      grid-gap: 24px; } }
@media (max-width: 999px) {
    .HomeNumbers__grid {
      grid-gap: 20px;
      grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px) {
    .HomeNumbers__grid {
      grid-gap: 20px 16px; } }
.HomeNumbers__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%; }
.HomeNumbers__item .OrderedCard {
    width: 100%;
    height: 100%; }
.OrderedCard {
  background-color: white;
  border: 1px solid #d3d5d9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 20px;
  padding-top: 12px;
  position: relative; }
@media (max-width: 639px) {
    .OrderedCard {
      padding: 10px; } }
a.OrderedCard:hover .OrderedCard__title, a.OrderedCard:focus .OrderedCard__title {
    color: #3b65cf; }
a.OrderedCard:hover .OrderedCard__buttonIcon, a.OrderedCard:focus .OrderedCard__buttonIcon {
    -webkit-transform: translateX(5px);
        -ms-transform: translateX(5px);
            transform: translateX(5px); }
.OrderedCard::after {
    border: 7px solid transparent;
    border-right-color: #3b65cf;
    border-top-color: #3b65cf;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 14px;
    height: 14px; }
.OrderedCard__number {
    color: rgba(61, 71, 95, 0.8);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.85715;
    text-transform: uppercase; }
.OrderedCard__title {
    margin-top: auto;
    padding-right: 28px;
    padding-top: 32px;
    -webkit-transition: color 0.2s ease-out;
    -o-transition: color 0.2s ease-out;
    transition: color 0.2s ease-out; }
@media (max-width: 639px) {
      .OrderedCard__title {
        padding-right: 0;
        padding-top: 6px; } }
.OrderedCard__button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #3d475f;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.15385;
    margin-top: 10px; }
.OrderedCard__buttonIcon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 4px;
    max-width: 9px;
    padding-top: 2px;
    -webkit-transition: -webkit-transform 0.2s ease-out;
    transition: -webkit-transform 0.2s ease-out;
    -o-transition: transform 0.2s ease-out;
    transition: transform 0.2s ease-out;
    transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out; }
.HomeSections__items {
  counter-reset: home-sections;
  margin-top: 30px; }
@media (max-width: 639px) {
    .HomeSections__items {
      margin-top: 20px; } }
.HomeSections__item {
  counter-increment: home-sections; }
.HomeSections__item:not(:last-child) {
    margin-bottom: 140px; }
@media (max-width: 999px) {
      .HomeSections__item:not(:last-child) {
        margin-bottom: 120px; } }
@media (max-width: 899px) {
      .HomeSections__item:not(:last-child) {
        margin-bottom: 100px; } }
@media (max-width: 639px) {
      .HomeSections__item:not(:last-child) {
        margin-bottom: 74px; } }
@media (max-width: 639px) {
  .HomeSection {
    position: relative; } }
.HomeSection--left .HomeSection__imageContainer {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1; }
.HomeSection--left .HomeSection__imageContainer::before {
    left: 80px; }
@media (max-width: 1199px) {
      .HomeSection--left .HomeSection__imageContainer::before {
        left: 60px; } }
@media (max-width: 999px) {
      .HomeSection--left .HomeSection__imageContainer::before {
        left: 40px; } }
@media (max-width: 639px) {
      .HomeSection--left .HomeSection__imageContainer::before {
        left: auto;
        right: 0; } }
.HomeSection--left .HomeSection__title {
  margin-left: auto;
  padding-left: 20px;
  padding-right: 0;
  text-align: right; }
@media (max-width: 639px) {
    .HomeSection--left .HomeSection__title {
      padding-left: 0;
      text-align: left; } }
.HomeSection--left .HomeSection__cards {
  margin-left: -84px;
  margin-right: 0; }
@media (max-width: 1365px) {
    .HomeSection--left .HomeSection__cards {
      margin-left: -140px; } }
@media (max-width: 1199px) {
    .HomeSection--left .HomeSection__cards {
      margin-left: -200px; } }
@media (max-width: 639px) {
    .HomeSection--left .HomeSection__cards {
      margin-left: -16px;
      margin-right: -16px; } }
.HomeSection__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
.HomeSection__info {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  z-index: 2; }
@media (max-width: 639px) {
    .HomeSection__info {
      width: 100%; } }
.HomeSection__title {
  max-width: 720px;
  padding-right: 20px; }
.HomeSection__cards {
  display: grid;
  grid-gap: 30px;
  grid-template-columns: repeat(4, 1fr);
  margin-right: -84px;
  margin-top: 34px;
  max-width: 832px; }
@media (max-width: 1365px) {
    .HomeSection__cards {
      grid-gap: 24px;
      margin-right: -140px; } }
@media (max-width: 1199px) {
    .HomeSection__cards {
      margin-right: -200px; } }
@media (max-width: 899px) {
    .HomeSection__cards {
      margin-top: 20px; } }
@media (max-width: 639px) {
    .HomeSection__cards {
      grid-gap: 0;
      margin-bottom: -16px;
      margin-left: -16px;
      margin-right: -16px;
      overflow-x: auto;
      padding-bottom: 16px;
      -ms-scroll-snap-type: x mandatory;
          -webkit-scroll-snap-type: x mandatory;
              scroll-snap-type: x mandatory;
      -webkit-overflow-scrolling: touch; } }
.HomeSection__cards::after {
    content: "";
    display: block;
    width: 16px; }
@media (min-width: 640px) {
      .HomeSection__cards::after {
        display: none; } }
@media (max-width: 639px) {
  .HomeSection__card {
    padding-left: 16px;
    scroll-snap-align: start; } }
@media (max-width: 639px) {
  .HomeSection__card:last-child {
    padding-right: 16px; } }
@media (max-width: 639px) {
  .HomeSection__card .FeaturedCard {
    min-width: 120px; } }
.HomeSection__imageContainer {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  max-width: 514px;
  position: relative;
  width: 100%;
  z-index: 1; }
@media (max-width: 1365px) {
    .HomeSection__imageContainer {
      max-width: 420px; } }
@media (max-width: 1199px) {
    .HomeSection__imageContainer {
      max-width: 340px; } }
@media (max-width: 999px) {
    .HomeSection__imageContainer {
      max-width: 290px; } }
@media (max-width: 899px) {
    .HomeSection__imageContainer {
      max-width: 240px; } }
@media (max-width: 639px) {
    .HomeSection__imageContainer {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      position: static;
      width: auto; } }
.HomeSection__imageContainer.uk-scrollspy-inview .HomeSection__number {
    opacity: 1; }
.HomeSection__number {
  margin-top: -8px;
  opacity: 0;
  right: 80px;
  top: 0;
  -webkit-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
  transition: opacity 0.5s;
  -webkit-transition-delay: 0.75s;
       -o-transition-delay: 0.75s;
          transition-delay: 0.75s;
  z-index: 1; }
@media (max-width: 1199px) {
    .HomeSection__number {
      right: 60px; } }
@media (max-width: 999px) {
    .HomeSection__number {
      right: 40px; } }
@media (max-width: 639px) {
    .HomeSection__number {
      color: rgba(59, 101, 207, 0.1);
      margin-top: 0;
      right: 0; } }
.HomeSection__number::before {
    content: "0" counter(home-sections); }
.HomeSection__image {
  padding-bottom: 92.02335%;
  position: relative; }
@media (max-width: 639px) {
    .HomeSection__image {
      display: none; } }
.FeaturedCard {
  display: block;
  padding-bottom: 145.35519%;
  position: relative; }
a.FeaturedCard:hover .FeaturedCard__title, a.FeaturedCard:focus .FeaturedCard__title {
    color: #3b65cf; }
a.FeaturedCard:hover .FeaturedCard__circle, a.FeaturedCard:focus .FeaturedCard__circle {
    -webkit-transform: translateX(5px);
        -ms-transform: translateX(5px);
            transform: translateX(5px); }
a.FeaturedCard--noImage:hover .FeaturedCard__title, a.FeaturedCard--noImage:focus .FeaturedCard__title {
    color: white; }
.FeaturedCard--noImage .FeaturedCard__overlay {
    background: #3b65cf; }
.FeaturedCard--noImage .FeaturedCard__title {
    color: white; }
.FeaturedCard__image {
    z-index: 1; }
.FeaturedCard__overlay {
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(16.91%, rgba(255, 255, 255, 0)), color-stop(63.94%, rgba(255, 255, 255, 0.95)), color-stop(82.63%, rgba(255, 255, 255, 0.92)), to(white));
    background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 16.91%, rgba(255, 255, 255, 0.95) 63.94%, rgba(255, 255, 255, 0.92) 82.63%, white 100%);
    background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0) 16.91%, rgba(255, 255, 255, 0.95) 63.94%, rgba(255, 255, 255, 0.92) 82.63%, white 100%);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 16.91%, rgba(255, 255, 255, 0.95) 63.94%, rgba(255, 255, 255, 0.92) 82.63%, white 100%);
    z-index: 2; }
.FeaturedCard__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 12px 14px;
    z-index: 3; }
@media (max-width: 899px) {
      .FeaturedCard__content {
        padding: 12px; } }
@media (max-width: 639px) {
      .FeaturedCard__content {
        padding: 10px; } }
.FeaturedCard__title {
    margin-bottom: 11px;
    -webkit-transition: color 0.2s ease-out;
    -o-transition: color 0.2s ease-out;
    transition: color 0.2s ease-out; }
@media (max-width: 639px) {
      .FeaturedCard__title {
        font-size: 0.875rem; } }
.FeaturedCard__circle {
    -ms-flex-item-align: end;
        align-self: flex-end; }
.HomeProjects__items {
  margin-top: 90px; }
@media (max-width: 999px) {
    .HomeProjects__items {
      margin-top: 75px; } }
@media (max-width: 899px) {
    .HomeProjects__items {
      margin-top: 40px; } }
@media (max-width: 639px) {
    .HomeProjects__items {
      margin-top: 20px; } }
.HomeProjects__item:not(:last-child) {
  margin-bottom: 80px; }
@media (max-width: 899px) {
    .HomeProjects__item:not(:last-child) {
      margin-bottom: 70px; } }
@media (max-width: 639px) {
    .HomeProjects__item:not(:last-child) {
      margin-bottom: 60px; } }
.HomeProjects__more {
  margin-top: 110px; }
@media (max-width: 1199px) {
    .HomeProjects__more {
      margin-top: 100px; } }
@media (max-width: 999px) {
    .HomeProjects__more {
      margin-top: 90px; } }
@media (max-width: 899px) {
    .HomeProjects__more {
      margin-top: 70px; } }
@media (max-width: 639px) {
    .HomeProjects__more {
      margin-top: 0;
      -webkit-transform: translateY(50%);
          -ms-transform: translateY(50%);
              transform: translateY(50%); } }
.HomeProjectsMore {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center; }
@media (max-width: 639px) {
    .HomeProjectsMore {
      background-color: white;
      border: 1px solid #d3d5d9;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      padding: 40px 26px;
      padding-left: 34px; } }
@media (min-width: 640px) {
    .HomeProjectsMore:hover .HomeProjectsMore__circle, .HomeProjectsMore:focus .HomeProjectsMore__circle {
      -webkit-transform: translateY(5px);
          -ms-transform: translateY(5px);
              transform: translateY(5px); } }
@media (min-width: 640px) {
    .HomeProjectsMore__heading {
      margin-bottom: 20px; } }
@media (max-width: 639px) {
    .HomeProjectsMore__heading {
      margin-right: 20px; } }
.HomeProjectsMore__link {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
@media (max-width: 639px) {
      .HomeProjectsMore__link {
        margin-top: -4px; } }
.HomeProjectsMore__text {
    color: #3d475f;
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.15385;
    margin-bottom: 9px; }
@media (max-width: 639px) {
      .HomeProjectsMore__text {
        display: none; } }
@media (min-width: 640px) {
    .HomeProjectsMore__circleInner {
      -webkit-transform: rotateZ(90deg);
          -ms-transform: rotate(90deg);
              transform: rotateZ(90deg); } }
.HomeProject {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 32px;
  padding-right: 32px; }
@media (max-width: 899px) {
    .HomeProject {
      padding: 0; } }
@media (max-width: 639px) {
    .HomeProject {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
.HomeProject--left .HomeProject__imageContainer {
    margin-left: 0;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
.HomeProject--left .HomeProject__content {
    padding-left: 145px;
    padding-right: 0; }
@media (max-width: 1199px) {
      .HomeProject--left .HomeProject__content {
        padding-left: 120px; } }
@media (max-width: 999px) {
      .HomeProject--left .HomeProject__content {
        padding-left: 92px; } }
@media (max-width: 899px) {
      .HomeProject--left .HomeProject__content {
        padding-left: 48px; } }
@media (max-width: 639px) {
      .HomeProject--left .HomeProject__content {
        padding: 0; } }
.HomeProject__imageContainer {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-left: auto;
    max-width: 506px;
    padding-right: 40px;
    padding-top: 40px;
    width: 100%; }
@media (max-width: 1199px) {
      .HomeProject__imageContainer {
        max-width: 420px; } }
@media (max-width: 999px) {
      .HomeProject__imageContainer {
        max-width: 350px; } }
@media (max-width: 899px) {
      .HomeProject__imageContainer {
        max-width: 260px;
        padding-right: 24px;
        padding-top: 24px; } }
@media (max-width: 639px) {
      .HomeProject__imageContainer {
        margin-bottom: 20px;
        margin-left: 0;
        max-width: 288px;
        -webkit-box-ordinal-group: 0;
            -ms-flex-order: -1;
                order: -1;
        padding: 0; } }
@media (max-width: 424px) {
      .HomeProject__imageContainer {
        max-width: none; } }
.HomeProject__image {
    background-color: #f8f8f8;
    padding-bottom: 104.74308%;
    position: relative; }
.HomeProject__image::before {
      background-color: #eaebed;
      content: "";
      bottom: 20px;
      left: 20px;
      position: absolute;
      right: 20px;
      top: 20px; }
@media (max-width: 899px) {
        .HomeProject__image::before {
          bottom: 12px;
          left: 12px;
          right: 12px;
          top: 12px; } }
@media (max-width: 639px) {
        .HomeProject__image::before {
          display: none; } }
.HomeProject__image:hover .HomeProject__imageInner img, .HomeProject__image:focus .HomeProject__imageInner img {
      -webkit-transform: scale(1.04);
          -ms-transform: scale(1.04);
              transform: scale(1.04); }
.HomeProject__imageInner {
    position: absolute;
    right: -40px;
    width: 100%;
    height: 100%;
    top: -40px; }
@media (max-width: 899px) {
      .HomeProject__imageInner {
        right: -24px;
        top: -24px; } }
@media (max-width: 639px) {
      .HomeProject__imageInner {
        right: 0;
        top: 0;
        -webkit-transform: none !important;
            -ms-transform: none !important;
                transform: none !important; } }
.HomeProject__imageInner img {
      -o-object-fit: cover;
         object-fit: cover;
      position: relative;
      width: 100%;
      height: 100%;
      z-index: 1; }
.HomeProject__imageInner::before {
      background-color: rgba(13, 100, 172, 0.1);
      content: "";
      z-index: 2; }
.HomeProject__imageInner::after {
      bottom: 1.5%;
      -webkit-box-shadow: 0 30px 100px rgba(88, 92, 177, 0.3);
              box-shadow: 0 30px 100px rgba(88, 92, 177, 0.3);
      content: "";
      left: 50%;
      position: absolute;
      width: 89%;
      height: 89%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); }
@media (max-width: 639px) {
        .HomeProject__imageInner::after {
          display: none; } }
.HomeProject__content {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    max-width: 506px;
    padding-left: 74px;
    padding-right: 16px; }
@media (max-width: 1199px) {
      .HomeProject__content {
        padding-left: 64px; } }
@media (max-width: 999px) {
      .HomeProject__content {
        padding-left: 48px; } }
@media (max-width: 899px) {
      .HomeProject__content {
        padding-left: 20px;
        padding-right: 8px; } }
@media (max-width: 639px) {
      .HomeProject__content {
        padding: 0; } }
.HomeProject__title {
    display: inline-block;
    margin-top: 30px;
    margin-bottom: 30px; }
@media (max-width: 899px) {
      .HomeProject__title {
        margin-top: 20px;
        margin-bottom: 20px; } }
@media (max-width: 639px) {
      .HomeProject__title {
        margin-top: 10px; } }
.HomeMap__grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 40px; }
@media (max-width: 899px) {
    .HomeMap__grid {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin-top: 30px; } }
@media (max-width: 639px) {
    .HomeMap__grid {
      margin-top: 20px; } }
.HomeMap__title {
  font-weight: 400;
  max-width: 450px; }
.HomeMap__description {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin-left: auto;
  max-width: 614px;
  padding-left: 24px;
  padding-right: 108px; }
@media (max-width: 1365px) {
    .HomeMap__description {
      padding-right: 72px; } }
@media (max-width: 1199px) {
    .HomeMap__description {
      padding-right: 48px; } }
@media (max-width: 999px) {
    .HomeMap__description {
      padding-left: 0;
      padding-right: 32px; } }
@media (max-width: 899px) {
    .HomeMap__description {
      margin-left: 0;
      margin-top: 30px;
      padding-right: 0; } }
.HomeMap__mapContainer {
  position: relative; }
@media (max-width: 899px) {
    .HomeMap__mapContainer {
      margin-top: 30px; } }
@media (max-width: 899px) {
  .HomeMap__map {
    height: 400px;
    position: relative; } }
@media (max-width: 424px) {
  .HomeMap__map {
    height: auto;
    padding-bottom: 112.5%; } }
@media (min-width: 900px) {
  .HomeMap__map,
  .HomeMap__map svg {
    width: 100%; } }
@media (max-width: 899px) {
  .HomeMap__map svg {
    max-width: 720px;
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); } }
.HomeMap__cards {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) {
    .HomeMap__cards {
      left: 0;
      max-width: 536px;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); } }
@media (max-width: 899px) {
    .HomeMap__cards {
      margin-top: 30px; } }
@media (max-width: 639px) {
    .HomeMap__cards {
      grid-gap: 16px; } }
.HomeMap__card,
.HomeMap__card .OrderedCard {
  height: 100%; }
.HomeMap__card .OrderedCard {
  min-height: 190px; }
@media (max-width: 639px) {
    
    .HomeMap__card .OrderedCard {
      min-height: 168px; } }
.WrappedPartners__items {
  margin-top: 20px; }
.ServiceCard {
  display: grid;
  grid-column-gap: 24px;
  grid-template-areas: "heading image" "content image" "button image";
  grid-template-columns: repeat(2, 1fr);
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
@media (max-width: 899px) {
    .ServiceCard {
      grid-template-areas: "image" "heading" "content" "button";
      grid-template-columns: 1fr; } }
@media (min-width: 640px) and (max-width: 899px) {
    .ServiceCard {
      height: 100%; } }
.ServiceCard .TheContent ul li, .TheContent ul .ServiceCard li,
  .ServiceCard .TheContent ol li, .TheContent ol .ServiceCard li {
    font-size: 0.875rem;
    line-height: 1.85715; }
@media (max-width: 639px) {
      .ServiceCard .TheContent ul li, .TheContent ul .ServiceCard li,
      .ServiceCard .TheContent ol li, .TheContent ol .ServiceCard li {
        line-height: 1.375; } }
.ServiceCard .TheContent ul li::before, .TheContent ul .ServiceCard li::before,
    .ServiceCard .TheContent ol li::before, .TheContent ol .ServiceCard li::before {
      top: 9px; }
.ServiceCard__info {
    padding-right: 32px; }
.ServiceCard__heading {
    grid-area: heading; }
.ServiceCard__content {
    grid-area: content;
    margin-top: 20px; }
.ServiceCard__button {
    -ms-flex-item-align: end;
        align-self: end;
    grid-area: button;
    justify-self: start;
    margin-top: 50px; }
@media (max-width: 999px) {
      .ServiceCard__button {
        margin-top: 40px; } }
@media (max-width: 899px) {
      .ServiceCard__button {
        margin-top: 20px; } }
@media (min-width: 640px) and (max-width: 899px) {
      .ServiceCard__button {
        -ms-flex-item-align: end;
            align-self: end; } }
.ServiceCard__imageContainer {
    grid-area: image;
    max-width: 614px;
    position: relative;
    width: 100%; }
@media (max-width: 899px) {
      .ServiceCard__imageContainer {
        margin-bottom: 24px;
        max-width: none; } }
.ServiceCard__image {
    padding-bottom: 45.27687%; }
.ServiceCard__image img {
      z-index: 1; }
.ServiceCard__number {
    position: absolute;
    right: 76px;
    top: 0;
    z-index: 2; }
@media (max-width: 999px) {
      .ServiceCard__number {
        right: 64px; } }
@media (max-width: 899px) {
      .ServiceCard__number {
        right: 16px; } }
.ServiceCard__number::before {
      content: "0" counter(services); }
.Modal__dialog {
  width: 1044px; }
.Modal__dialog--small {
    width: 398px; }
.Modal__body {
  padding: 90px 108px 70px; }
@media (max-width: 1199px) {
    .Modal__body {
      padding: 70px 92px; } }
@media (max-width: 999px) {
    .Modal__body {
      padding: 55px 64px; } }
@media (max-width: 899px) {
    .Modal__body {
      padding: 40px 48px; } }
@media (max-width: 639px) {
    .Modal__body {
      padding: 24px 32px; } }
@media (max-width: 424px) {
    .Modal__body {
      padding: 24px 16px; } }
.Modal__body--fixedHeight {
    min-height: 520px; }
.Modal__body--small {
    padding: 62px 20px 50px 36px; }
@media (max-width: 999px) {
      .Modal__body--small {
        padding: 50px 20px; } }
@media (max-width: 899px) {
      .Modal__body--small {
        padding: 32px 16px; } }
@media (max-width: 639px) {
      .Modal__body--small {
        padding: 24px 16px; } }
.Modal__body.--center {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
.Modal__close {
  background-color: #3b65cf;
  -webkit-border-radius: 50%;
          border-radius: 50%;
  position: absolute;
  right: 25px;
  width: 45px;
  height: 45px;
  top: 25px;
  -webkit-transform: rotateZ(0);
      -ms-transform: rotate(0);
          transform: rotateZ(0);
  -webkit-transition: -webkit-transform 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  -o-transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
  z-index: 3; }
@media (max-width: 899px) {
    .Modal__close {
      width: 32px;
      height: 32px;
      top: 24px; } }
@media (max-width: 639px) {
    .Modal__close {
      right: 16px; } }
.Modal__close, .Modal__close:hover, .Modal__close:focus {
    color: white; }
.Modal__close:hover, .Modal__close:focus {
    -webkit-transform: rotateZ(90deg);
        -ms-transform: rotate(90deg);
            transform: rotateZ(90deg); }
.Modal__close--small {
    background-color: transparent;
    right: 0;
    width: 50px;
    height: 50px;
    top: 0; }
.Modal__close--small, .Modal__close--small:hover, .Modal__close--small:focus {
      color: #3d475f; }
@media (max-width: 639px) {
  .Modal__heading {
    padding-right: 32px; } }
.Modal__description:not(:first-child) {
  margin-top: 10px; }
.Modal__description--small {
  font-size: 1rem;
  line-height: 1.625; }
.Modal__form {
  margin-top: 30px; }
@media (max-width: 899px) {
    .Modal__form {
      margin-top: 24px; } }
@media (max-width: 639px) {
    .Modal__form {
      margin-top: 16px; } }
.Modal__background {
  z-index: 1; }
.Modal__background::before {
    background-image: -webkit-linear-gradient(355deg, #fafafa 0%, #fafafa 35%, rgba(250, 250, 250, 0) 100%);
    background-image: -o-linear-gradient(355deg, #fafafa 0%, #fafafa 35%, rgba(250, 250, 250, 0) 100%);
    background-image: linear-gradient(95deg, #fafafa 0%, #fafafa 35%, rgba(250, 250, 250, 0) 100%);
    content: "";
    z-index: 2; }
.Modal__content {
  position: relative;
  z-index: 2; }
.Modal__content--center {
    text-align: center; }
.Modal__content.--hidden {
    display: none; }
.AboutHero {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  min-height: 470px;
  position: relative; }
@media (max-width: 999px) {
    .AboutHero {
      min-height: 400px; } }
@media (max-width: 899px) {
    .AboutHero {
      min-height: 320px; } }
@media (max-width: 639px) {
    .AboutHero {
      min-height: 240px; } }
.AboutHero__content {
    padding-bottom: 24px;
    padding-top: 134px;
    position: relative;
    width: 100%;
    z-index: 2; }
@media (max-width: 999px) {
      .AboutHero__content {
        padding-top: 112px; } }
@media (max-width: 899px) {
      .AboutHero__content {
        padding-top: 92px; } }
.AboutHero__heading {
    color: white; }
.AboutHero__heading + .AboutHero__heading {
      margin-top: 50px; }
@media (max-width: 999px) {
        .AboutHero__heading + .AboutHero__heading {
          margin-top: 32px; } }
@media (max-width: 899px) {
        .AboutHero__heading + .AboutHero__heading {
          margin-top: 24px; } }
@media (max-width: 639px) {
        .AboutHero__heading + .AboutHero__heading {
          margin-top: 16px; } }
.AboutHero__description {
    margin-top: 20px; }
@media (max-width: 899px) {
      .AboutHero__description {
        margin-top: 16px; } }
.AboutHero__image {
    z-index: 1; }
.AboutHero__image::before {
      background-color: rgba(11, 15, 47, 0.5);
      content: "";
      z-index: 1; }
.AboutNumbers__items {
  counter-reset: about-numbers;
  display: grid;
  grid-gap: 108px 32px;
  grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1199px) {
    .AboutNumbers__items {
      grid-gap: 92px 24px; } }
@media (max-width: 999px) {
    .AboutNumbers__items {
      grid-gap: 72px 20px;
      grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 899px) {
    .AboutNumbers__items {
      grid-gap: 64px 16px;
      grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 424px) {
    .AboutNumbers__items {
      grid-gap: 48px;
      grid-template-columns: 1fr; } }
.AboutNumbers__item {
  counter-increment: about-numbers; }
.AboutNumbersItem::before {
  color: #3b65cf;
  content: "0" counter(about-numbers);
  font-family: "Bebas Neue", cursive;
  font-size: 6.25rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1; }
@media (max-width: 999px) {
    .AboutNumbersItem::before {
      font-size: 5.75rem; } }
@media (max-width: 899px) {
    .AboutNumbersItem::before {
      font-size: 4.5rem; } }
.AboutNumbersItem__title {
  color: #3d475f;
  font-family: "Manrope", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3125;
  margin-top: 10px; }
@media (max-width: 899px) {
    .AboutNumbersItem__title {
      margin-top: 4px; } }
.AboutNumbersItem__description {
  margin-top: 20px; }
@media (max-width: 899px) {
    .AboutNumbersItem__description {
      margin-top: 12px; } }
.AboutFeatures__card {
  padding: 64px 56px;
  position: relative; }
@media (max-width: 1199px) {
    .AboutFeatures__card {
      padding: 56px 40px; } }
@media (max-width: 999px) {
    .AboutFeatures__card {
      padding: 40px; } }
@media (max-width: 899px) {
    .AboutFeatures__card {
      padding: 24px; } }
.AboutFeatures__items {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: grid;
  grid-template-columns: 1fr 1.25fr 1fr;
  position: relative;
  z-index: 2; }
@media (max-width: 999px) {
    .AboutFeatures__items {
      grid-gap: 8px; } }
@media (max-width: 899px) {
    .AboutFeatures__items {
      grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px) {
    .AboutFeatures__items {
      grid-template-columns: 1fr; } }
.AboutFeatures__item:not(:last-child) {
  margin-right: 48px; }
@media (max-width: 999px) {
    .AboutFeatures__item:not(:last-child) {
      margin-right: 0; } }
.AboutFeatures__item:not(:first-child) {
  padding-left: 48px;
  position: relative; }
@media (max-width: 999px) {
    .AboutFeatures__item:not(:first-child) {
      padding-left: 0; } }
.AboutFeatures__item:not(:first-child)::before {
    background-color: white;
    content: "";
    height: 65px;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1px; }
@media (max-width: 999px) {
      .AboutFeatures__item:not(:first-child)::before {
        display: none; } }
.AboutFeatures__image {
  z-index: 1; }
.AboutFeatures__image::before {
    background-color: rgba(11, 15, 47, 0.5);
    content: "";
    z-index: 1; }
.AboutFeaturesItem {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
.AboutFeaturesItem__number {
    color: white;
    font-family: "Bebas Neue", cursive;
    font-size: 7.5rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    padding-top: 12px; }
@media (max-width: 1199px) {
      .AboutFeaturesItem__number {
        font-size: 6.25rem; } }
@media (max-width: 999px) {
      .AboutFeaturesItem__number {
        font-size: 5rem; } }
@media (max-width: 899px) {
      .AboutFeaturesItem__number {
        font-size: 4.375rem; } }
@media (max-width: 639px) {
      .AboutFeaturesItem__number {
        font-size: 3.5rem; } }
.AboutFeaturesItem__description {
    color: rgba(255, 255, 255, 0.9);
    font-family: "Bebas Neue", cursive;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 0.955;
    margin-left: 30px; }
@media (max-width: 1199px) {
      .AboutFeaturesItem__description {
        margin-left: 24px; } }
@media (max-width: 999px) {
      .AboutFeaturesItem__description {
        font-size: 1.25rem;
        margin-left: 20px; } }
@media (max-width: 899px) {
      .AboutFeaturesItem__description {
        font-size: 1.125rem; } }
@media (max-width: 639px) {
      .AboutFeaturesItem__description {
        font-size: 1rem;
        margin-left: 12px; } }
.AboutDocuments {
  background-color: #eaebed;
  padding: 90px 0; }
@media (max-width: 999px) {
    .AboutDocuments {
      padding: 72px 0; } }
@media (max-width: 899px) {
    .AboutDocuments {
      padding: 64px 0; } }
@media (max-width: 639px) {
    .AboutDocuments {
      padding: 56px 0; } }
.AboutDocuments__section:not(:last-child) {
    margin-bottom: 90px; }
@media (max-width: 999px) {
      .AboutDocuments__section:not(:last-child) {
        margin-bottom: 72px; } }
@media (max-width: 899px) {
      .AboutDocuments__section:not(:last-child) {
        margin-bottom: 64px; } }
@media (max-width: 639px) {
      .AboutDocuments__section:not(:last-child) {
        margin-bottom: 56px; } }
.AboutDocuments__heading {
    margin-bottom: 20px; }
.AboutDocuments__number {
    color: #3d475f;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3125; }
.AboutCertificates__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
@media (max-width: 639px) {
    .AboutCertificates__item {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
.AboutCertificates__item + .AboutCertificates__item {
    margin-top: 50px; }
@media (max-width: 639px) {
      .AboutCertificates__item + .AboutCertificates__item {
        margin-top: 40px; } }
.AboutCertificates__column {
  padding-right: 32px; }
.AboutCertificates__title {
  line-height: 1; }
.AboutCertificates__number {
  margin-top: 10px; }
@media (max-width: 639px) {
    .AboutCertificates__number {
      margin-top: 4px; } }
.AboutCertificates__description {
  max-width: 722px; }
@media (max-width: 1199px) {
    .AboutCertificates__description {
      max-width: 640px; } }
@media (max-width: 999px) {
    .AboutCertificates__description {
      max-width: 560px; } }
@media (max-width: 899px) {
    .AboutCertificates__description {
      max-width: 420px; } }
@media (max-width: 639px) {
    .AboutCertificates__description {
      max-width: none;
      margin-top: 12px; } }
.AboutOrganizations__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr); }
@media (max-width: 899px) {
    .AboutOrganizations__items {
      grid-gap: 40px 16px;
      grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 639px) {
    .AboutOrganizations__items {
      grid-gap: 32px;
      grid-template-columns: 1fr; } }
.AboutOrganizations__item:not(:last-child) {
  margin-right: 24px; }
@media (max-width: 999px) {
    .AboutOrganizations__item:not(:last-child) {
      margin-right: 20px; } }
@media (max-width: 899px) {
    .AboutOrganizations__item:not(:last-child) {
      margin-right: 0; } }
.AboutOrganizations__item:not(:first-child) {
  padding-left: 64px;
  position: relative; }
@media (max-width: 1199px) {
    .AboutOrganizations__item:not(:first-child) {
      padding-left: 56px; } }
@media (max-width: 999px) {
    .AboutOrganizations__item:not(:first-child) {
      padding-left: 48px; } }
@media (max-width: 899px) {
    .AboutOrganizations__item:not(:first-child) {
      padding-left: 0; } }
.AboutOrganizations__item:not(:first-child)::before {
    background-color: #d3d5d9;
    content: "";
    height: 106px;
    left: 0;
    position: absolute;
    top: 0;
    width: 1px; }
@media (max-width: 899px) {
      .AboutOrganizations__item:not(:first-child)::before {
        display: none; } }
.AboutOrganizationsItem__number {
  margin-top: 8px; }
@media (max-width: 639px) {
    .AboutOrganizationsItem__number {
      margin-top: 2px; } }
.AboutMap {
  padding-top: 90px;
  position: relative; }
@media (max-width: 999px) {
    .AboutMap {
      padding-top: 72px; } }
@media (max-width: 899px) {
    .AboutMap {
      padding-top: 56px; } }
@media (max-width: 639px) {
    .AboutMap {
      padding-top: 32px; } }
.AboutMap::before {
    background-image: -webkit-gradient(linear, left top, right top, from(#C4C4C4), color-stop(0%, #f8f8f8), color-stop(48.99%, rgba(248, 248, 248, 0)));
    background-image: -webkit-linear-gradient(left, #C4C4C4 0%, #f8f8f8 0%, rgba(248, 248, 248, 0) 48.99%);
    background-image: -o-linear-gradient(left, #C4C4C4 0%, #f8f8f8 0%, rgba(248, 248, 248, 0) 48.99%);
    background-image: linear-gradient(90deg, #C4C4C4 0%, #f8f8f8 0%, rgba(248, 248, 248, 0) 48.99%);
    content: "";
    z-index: 2; }
@media (max-width: 424px) {
      .AboutMap::before {
        display: none; } }
.AboutMap__content {
    padding-top: 90px;
    position: absolute;
    z-index: 3; }
@media (max-width: 999px) {
      .AboutMap__content {
        padding-top: 72px; } }
@media (max-width: 899px) {
      .AboutMap__content {
        padding-top: 56px; } }
@media (max-width: 639px) {
      .AboutMap__content {
        padding-top: 0;
        position: relative; } }
.AboutMap__heading {
    font-weight: 400;
    max-width: 614px; }
.AboutMap__description {
    margin-top: 40px; }
@media (max-width: 899px) {
      .AboutMap__description {
        margin-top: 32px; } }
@media (max-width: 639px) {
      .AboutMap__description {
        margin-top: 24px; } }
@media (min-width: 640px) {
      .AboutMap__description {
        max-width: 536px; } }
.AboutMap__mapContainer {
    position: relative;
    z-index: 1; }
@media (max-width: 639px) {
      .AboutMap__mapContainer {
        margin-top: -90px; } }
@media (max-width: 899px) {
    .AboutMap__map {
      height: 400px;
      position: relative; } }
@media (max-width: 424px) {
    .AboutMap__map {
      height: auto;
      padding-bottom: 112.5%; } }
@media (min-width: 900px) {
    .AboutMap__map,
    .AboutMap__map svg {
      width: 100%; } }
@media (max-width: 899px) {
    .AboutMap__map svg {
      max-width: 720px;
      position: absolute;
      right: 0;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); } }
.HomePage {
  padding-bottom: 60px; }
@media (max-width: 899px) {
    .HomePage {
      padding-bottom: 70px; } }
@media (max-width: 639px) {
    .HomePage {
      padding-bottom: 80px; } }
.HomePage__about {
    padding-top: 102px; }
@media (max-width: 1199px) {
      .HomePage__about {
        padding-top: 95px; } }
@media (max-width: 999px) {
      .HomePage__about {
        padding-top: 90px; } }
@media (max-width: 899px) {
      .HomePage__about {
        padding-top: 85px; } }
@media (max-width: 639px) {
      .HomePage__about {
        padding-top: 80px; } }
.HomePage__numbers {
    margin-top: 65px; }
@media (max-width: 999px) {
      .HomePage__numbers {
        margin-top: 60px; } }
@media (max-width: 899px) {
      .HomePage__numbers {
        margin-top: 55px; } }
@media (max-width: 639px) {
      .HomePage__numbers {
        margin-top: 50px; } }
.HomePage__sections {
    margin-top: 145px; }
@media (max-width: 999px) {
      .HomePage__sections {
        margin-top: 120px; } }
@media (max-width: 899px) {
      .HomePage__sections {
        margin-top: 100px; } }
@media (max-width: 639px) {
      .HomePage__sections {
        margin-top: 80px; } }
.HomePage__consultation {
    -webkit-transform: translateY(50%);
        -ms-transform: translateY(50%);
            transform: translateY(50%); }
@media (max-width: 639px) {
      .HomePage__consultation {
        margin-top: -65px; } }
.HomePage__projects {
    background-color: #eaebed;
    padding-bottom: 70px;
    padding-top: 238px; }
@media (max-width: 1199px) {
      .HomePage__projects {
        padding-bottom: 60px;
        padding-top: 228px; } }
@media (max-width: 999px) {
      .HomePage__projects {
        padding-bottom: 50px;
        padding-top: 218px; } }
@media (max-width: 899px) {
      .HomePage__projects {
        padding-bottom: 40px;
        padding-top: 208px; } }
@media (max-width: 639px) {
      .HomePage__projects {
        padding-bottom: 0;
        padding-top: 198px; } }
@media (max-width: 424px) {
      .HomePage__projects {
        padding-top: 224px; } }
.HomePage__map {
    padding-top: 110px; }
@media (max-width: 639px) {
      .HomePage__map {
        padding-top: 140px; } }
.HomePage__partners {
    padding-top: 16px; }
@media (max-width: 899px) {
      .HomePage__partners {
        padding-top: 50px; } }
@media (max-width: 639px) {
      .HomePage__partners {
        padding-top: 80px; } }
.ProjectPage {
  margin-top: 60px; }
@media (max-width: 999px) {
    .ProjectPage {
      margin-top: 50px; } }
@media (max-width: 899px) {
    .ProjectPage {
      margin-top: 40px; } }
@media (max-width: 639px) {
    .ProjectPage {
      margin-top: 20px; } }
@media (max-width: 424px) {
    .ProjectPage {
      margin-top: 10px; } }
.ProjectPage__hero {
    margin-top: 30px;
    padding-bottom: 39.23445%; }
@media (max-width: 899px) {
      .ProjectPage__hero {
        margin-top: 20px; } }
.ProjectPage__hero::before {
      bottom: 34px;
      -webkit-box-shadow: 0 30px 150px rgba(88, 92, 177, 0.3);
              box-shadow: 0 30px 150px rgba(88, 92, 177, 0.3);
      content: "";
      left: 50px;
      position: absolute;
      top: 34px;
      right: 50px; }
.ProjectPage__list, .ProjectPage__info, .ProjectPage__images, .ProjectPage__gallery {
    margin-top: 80px; }
@media (max-width: 1199px) {
      .ProjectPage__list, .ProjectPage__info, .ProjectPage__images, .ProjectPage__gallery {
        margin-top: 70px; } }
@media (max-width: 999px) {
      .ProjectPage__list, .ProjectPage__info, .ProjectPage__images, .ProjectPage__gallery {
        margin-top: 60px; } }
@media (max-width: 899px) {
      .ProjectPage__list, .ProjectPage__info, .ProjectPage__images, .ProjectPage__gallery {
        margin-top: 50px; } }
.ProjectPage__image:not(:last-child) {
    margin-bottom: 48px; }
@media (max-width: 899px) {
      .ProjectPage__image:not(:last-child) {
        margin-bottom: 40px; } }
.ProjectPage__list {
    display: grid;
    grid-gap: 50px 32px;
    grid-template-columns: repeat(2, 1fr); }
@media (max-width: 999px) {
      .ProjectPage__list {
        grid-gap: 40px 24px; } }
@media (max-width: 899px) {
      .ProjectPage__list {
        grid-gap: 30px 16px; } }
@media (max-width: 639px) {
      .ProjectPage__list {
        grid-template-columns: 1fr;
        grid-row-gap: 20px; } }
.ProjectPage__listLabel {
    color: rgba(61, 71, 95, 0.8);
    font-family: "Manrope", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.285715; }
.ProjectPage__listValue {
    color: #3d475f;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3125;
    margin-top: 15px; }
@media (max-width: 899px) {
      .ProjectPage__listValue {
        margin-top: 12px; } }
@media (max-width: 639px) {
      .ProjectPage__listValue {
        margin-top: 8px; } }
@media (max-width: 424px) {
      .ProjectPage__listValue {
        margin-top: 4px; } }
.ProjectPage__info {
    max-width: 937px; }
.ProjectPage__content, .ProjectPage__imageCaption {
    margin-top: 20px; }
@media (max-width: 899px) {
      .ProjectPage__content, .ProjectPage__imageCaption {
        margin-top: 16px; } }
@media (max-width: 639px) {
      .ProjectPage__content, .ProjectPage__imageCaption {
        margin-top: 12px; } }
@media (max-width: 424px) {
      .ProjectPage__content, .ProjectPage__imageCaption {
        margin-top: 8px; } }
@media (max-width: 639px) {
    .ProjectPage__content.wrap {
      max-height: 200px;
      overflow: hidden;
      position: relative; }
      .ProjectPage__content.wrap::after {
        background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(248, 248, 248, 0.9)), to(rgba(255, 255, 255, 0)));
        background-image: -webkit-linear-gradient(bottom, rgba(248, 248, 248, 0.9), rgba(255, 255, 255, 0));
        background-image: -o-linear-gradient(bottom, rgba(248, 248, 248, 0.9), rgba(255, 255, 255, 0));
        background-image: linear-gradient(0deg, rgba(248, 248, 248, 0.9), rgba(255, 255, 255, 0));
        bottom: 0;
        height: 60px;
        content: "";
        left: 0;
        position: absolute;
        width: 100%; } }
.ProjectPage__button {
    border-bottom: 1px dashed #3d475f;
    margin-top: 8px; }
@media (min-width: 640px) {
      .ProjectPage__button {
        display: none; } }
.ProjectPage__content:not(.wrap) + .ProjectPage__button {
      display: none; }
.ProjectPage__image {
    position: relative; }
.ProjectPage__image img {
      margin: 0 auto;
      width: 100%; }
.ProjectPage__imageOverlays {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
.ProjectPage__imageOverlay--corner {
    background-color: #f8f8f8;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
.ProjectPage__imageOverlay--middle {
    -webkit-box-flex: 100;
        -ms-flex-positive: 100;
            flex-grow: 100;
    max-width: calc(1260px - var(--overlay-container-offset, 0px)); }
@media (max-width: 1559px) {
      .ProjectPage__imageOverlay--middle {
        max-width: calc(1045px - var(--overlay-container-offset, 0px)); } }
@media (max-width: 1199px) {
      .ProjectPage__imageOverlay--middle {
        max-width: calc(200px + var(--overlay-container-offset, 0px)); } }
.ProjectPage__imageCaption {
    color: rgba(61, 71, 95, 0.8);
    font-size: 1.125rem;
    line-height: 1.7777; }
@media (max-width: 899px) {
      .ProjectPage__imageCaption {
        font-size: 1rem;
        line-height: 1.5; } }
.ProjectPage__galleryItems {
    margin-bottom: -20px;
    margin-top: 30px; }
@media (max-width: 899px) {
      .ProjectPage__galleryItems {
        margin-top: 20px; } }
@media (max-width: 639px) {
      .ProjectPage__galleryItems {
        margin-bottom: -12px; } }
.ProjectPage__galleryItem {
    display: block;
    margin-bottom: 20px;
    max-width: 100%;
    overflow: hidden; }
@media (max-width: 639px) {
      .ProjectPage__galleryItem {
        margin-bottom: 12px;
        position: static !important; } }
@media (min-width: 640px) {
      .ProjectPage__galleryItem:hover img {
        -webkit-transform: scale(1.04);
            -ms-transform: scale(1.04);
                transform: scale(1.04); } }
.ProjectPage__galleryItem img {
      width: 100%; }
.ProjectPage__consultation {
    margin-top: 140px; }
@media (max-width: 999px) {
      .ProjectPage__consultation {
        margin-top: 120px; } }
@media (max-width: 899px) {
      .ProjectPage__consultation {
        margin-top: 100px; } }
@media (max-width: 639px) {
      .ProjectPage__consultation {
        margin-top: 80px; } }
.ProjectsPage__heading {
  margin-bottom: 0.78947em; }
.ProjectsPage__filters {
  margin-top: 20px; }
.ProjectsPage__items {
  display: grid;
  grid-gap: 70px 32px;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 70px; }
@media (max-width: 999px) {
    .ProjectsPage__items {
      grid-gap: 60px 24px;
      margin-top: 60px; } }
@media (max-width: 899px) {
    .ProjectsPage__items {
      grid-gap: 50px 16px;
      margin-top: 50px; } }
@media (max-width: 639px) {
    .ProjectsPage__items {
      grid-template-columns: 1fr;
      margin-top: 40px; } }
@media (max-width: 424px) {
    .ProjectsPage__items {
      margin-top: 30px; } }
.ProjectsPage__consultation {
  margin-top: 130px; }
@media (max-width: 999px) {
    .ProjectsPage__consultation {
      margin-top: 110px; } }
@media (max-width: 899px) {
    .ProjectsPage__consultation {
      margin-top: 90px; } }
@media (max-width: 639px) {
    .ProjectsPage__consultation {
      margin-top: 70px; } }
.ServicesPage__heading {
  margin-bottom: 0.78947em; }
.ServicesPage__filters {
  margin-top: 20px; }
.ServicesPage__items {
  counter-reset: services;
  margin-top: 50px; }
@media (max-width: 999px) {
    .ServicesPage__items {
      margin-top: 40px; } }
@media (min-width: 640px) and (max-width: 899px) {
    .ServicesPage__items {
      display: grid;
      grid-gap: 60px 20px;
      grid-template-columns: repeat(2, 1fr);
      margin-top: 30px; } }
.ServicesPage__item {
  counter-increment: services; }
.ServicesPage__item:not(:last-child) {
    margin-bottom: 150px; }
@media (max-width: 1199px) {
      .ServicesPage__item:not(:last-child) {
        margin-bottom: 135px; } }
@media (max-width: 999px) {
      .ServicesPage__item:not(:last-child) {
        margin-bottom: 120px; } }
@media (min-width: 640px) and (max-width: 899px) {
      .ServicesPage__item:not(:last-child) {
        margin-bottom: 0; } }
@media (max-width: 639px) {
      .ServicesPage__item:not(:last-child) {
        margin-bottom: 70px; } }
@media (max-width: 424px) {
      .ServicesPage__item:not(:last-child) {
        margin-bottom: 60px; } }
.ServicesPage__consultation {
  margin-top: 140px; }
@media (max-width: 999px) {
    .ServicesPage__consultation {
      margin-top: 120px; } }
@media (max-width: 899px) {
    .ServicesPage__consultation {
      margin-top: 100px; } }
@media (max-width: 639px) {
    .ServicesPage__consultation {
      margin-top: 80px; } }
.ServicePage {
  margin-top: 30px; }
@media (max-width: 899px) {
    .ServicePage {
      margin-top: 20px; } }
@media (max-width: 639px) {
    .ServicePage {
      margin-top: 10px; } }
.ServicePage__heading {
    margin-bottom: 0.52632em; }
.ServicePage__consultation {
    margin-top: 80px; }
@media (max-width: 1199px) {
      .ServicePage__consultation {
        margin-top: 70px; } }
@media (max-width: 999px) {
      .ServicePage__consultation {
        margin-top: 60px; } }
@media (max-width: 899px) {
      .ServicePage__consultation {
        margin-top: 50px; } }
.ErrorPage {
  background-color: rgba(61, 71, 95, 0.5);
  padding: 72px 0;
  position: relative; }
@media (max-width: 639px) {
    .ErrorPage {
      padding: 64px 0; } }
.ErrorPage__container {
    width: 100%; }
.ErrorPage__heading {
    color: white;
    max-width: 540px; }
.ErrorPage__grid {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative;
    z-index: 2; }
@media (max-width: 899px) {
      .ErrorPage__grid {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        text-align: center; } }
.ErrorPage__code {
    color: rgba(255, 255, 255, 0.5);
    font-family: "Bebas Neue", cursive;
    font-size: 31.25rem;
    font-weight: 700;
    line-height: 1;
    margin-top: 72px; }
@media (max-width: 1199px) {
      .ErrorPage__code {
        font-size: 25rem; } }
@media (max-width: 999px) {
      .ErrorPage__code {
        font-size: 20rem; } }
@media (max-width: 899px) {
      .ErrorPage__code {
        font-size: 15rem;
        margin-top: 0;
        -webkit-box-ordinal-group: 0;
            -ms-flex-order: -1;
                order: -1; } }
@media (max-width: 639px) {
      .ErrorPage__code {
        font-size: 9.375rem; } }
.ErrorPage__description {
    color: white;
    font-weight: 500;
    line-height: 1.1111;
    margin-top: 15px;
    max-width: 435px; }
@media (max-width: 899px) {
      .ErrorPage__description {
        margin-top: 10px; } }
.ErrorPage__button {
    margin-top: 50px; }
@media (max-width: 899px) {
      .ErrorPage__button {
        margin-top: 40px; } }
@media (max-width: 639px) {
      .ErrorPage__button {
        margin-top: 30px; } }
.ErrorPage__image {
    z-index: 1; }
.ContactsPage__title {
  margin-top: 20px; }
@media (max-width: 899px) {
    .ContactsPage__title {
      margin-top: 16px; } }
.ContactsPage__formContainer {
  margin-left: 0; }
.ContactsPage__list, .ContactsPage__form {
  margin-top: 30px; }
@media (max-width: 899px) {
    .ContactsPage__list, .ContactsPage__form {
      margin-top: 24px; } }
@media (max-width: 639px) {
    .ContactsPage__list, .ContactsPage__form {
      margin-top: 16px; } }
.ContactsPage__section:not(:first-child) {
  margin-top: 80px; }
@media (max-width: 999px) {
    .ContactsPage__section:not(:first-child) {
      margin-top: 70px; } }
@media (max-width: 899px) {
    .ContactsPage__section:not(:first-child) {
      margin-top: 60px; } }
@media (max-width: 639px) {
    .ContactsPage__section:not(:first-child) {
      margin-top: 50px; } }
.ContactsList {
  display: inline-grid;
  grid-gap: 30px 139px;
  grid-template-columns: repeat(2, auto); }
@media (max-width: 999px) {
    .ContactsList {
      grid-gap: 24px 100px; } }
@media (max-width: 899px) {
    .ContactsList {
      grid-gap: 20px 72px; } }
@media (max-width: 639px) {
    .ContactsList {
      grid-gap: 32px;
      grid-template-columns: 1fr; } }
.ContactsList__column {
    max-width: 291px; }
@media (min-width: 900px) {
      .ContactsList__column--phones {
        grid-column-end: -1;
        grid-row: 1 / 3; } }
.ContactsList__items {
    margin-top: 15px; }
@media (max-width: 899px) {
      .ContactsList__items {
        margin-top: 8px; } }
@media (max-width: 639px) {
      .ContactsList__items {
        margin-top: 4px; } }
.ContactsList__item:not(:last-child) {
    margin-bottom: 27px; }
@media (max-width: 899px) {
      .ContactsList__item:not(:last-child) {
        margin-bottom: 20px; } }
@media (max-width: 639px) {
      .ContactsList__item:not(:last-child) {
        margin-bottom: 12px; } }
.ContactsList__heading {
    color: rgba(61, 71, 95, 0.8);
    font-family: "Manrope", sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.285; }
.ContactsList__value {
    color: #3d475f;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3125; }
.ContactsList__label {
    color: rgba(61, 71, 95, 0.8);
    font-size: 0.75rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
    margin-top: 6px; }
@media (max-width: 639px) {
      .ContactsList__label {
        margin-top: 2px; } }
.ContactsMap__container {
  background-color: rgba(13, 100, 172, 0.1);
  min-height: 280px;
  padding-bottom: 42.5%;
  position: relative; }
.AboutPage {
  padding-bottom: 120px; }
@media (max-width: 999px) {
    .AboutPage {
      padding-bottom: 100px; } }
@media (max-width: 899px) {
    .AboutPage {
      padding-bottom: 80px; } }
@media (max-width: 639px) {
    .AboutPage {
      padding-bottom: 60px; } }
.AboutPage__primaryInfo, .AboutPage__features, .AboutPage__numbers, .AboutPage__documents, .AboutPage__partners {
    margin-top: 90px; }
@media (max-width: 999px) {
      .AboutPage__primaryInfo, .AboutPage__features, .AboutPage__numbers, .AboutPage__documents, .AboutPage__partners {
        margin-top: 72px; } }
@media (max-width: 899px) {
      .AboutPage__primaryInfo, .AboutPage__features, .AboutPage__numbers, .AboutPage__documents, .AboutPage__partners {
        margin-top: 64px; } }
@media (max-width: 639px) {
      .AboutPage__primaryInfo, .AboutPage__features, .AboutPage__numbers, .AboutPage__documents, .AboutPage__partners {
        margin-top: 56px; } }
.AboutPage__consultation {
    margin-top: 130px; }
@media (max-width: 999px) {
      .AboutPage__consultation {
        margin-top: 110px; } }
@media (max-width: 899px) {
      .AboutPage__consultation {
        margin-top: 90px; } }
@media (max-width: 639px) {
      .AboutPage__consultation {
        margin-top: 70px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy9zZXR0aW5ncy5zY3NzIiwibWFpbi5jc3MiLCJzdHlsZXMvZXNzZW50aWFscy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3N3aXBlci9jb21wb25lbnRzL2NvcmUvY29yZS5zY3NzIiwiPG5vIHNvdXJjZT4iLCJ2ZW5kb3IvdWlraXQvdmFyaWFibGVzLXRoZW1lLnNjc3MiLCJ2ZW5kb3IvdWlraXQvbWl4aW5zLXRoZW1lLnNjc3MiLCJ2ZW5kb3Ivc3dpcGVyL2NvbXBvbmVudHMvbmF2aWdhdGlvbi5zY3NzIiwidmVuZG9yL3N3aXBlci9zd2lwZXItc2V0dGluZ3Muc2NzcyIsInN0eWxlcy9tZWRpYS5zY3NzIiwic3R5bGVzL3V0aWxzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9iYXNlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdmFyaWFibGVzLnNjc3MiLCJ2ZW5kb3IvdWlraXQvbm9ybWFsaXplLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9pY29uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9mb3JtLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9taXhpbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYnV0dG9uLnNjc3MiLCJzdHlsZXMvZnVuY3Rpb25zLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb250YWluZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Nsb3NlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zcGlubmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9tb2RhbC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGlnaHRib3guc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYW5pbWF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9mbGV4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9tYXJnaW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Bvc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wcmludC5zY3NzIiwic3R5bGVzL2VsZW1lbnRzL2hlYWRpbmcuc2NzcyIsInN0eWxlcy9lbGVtZW50cy90ZXh0LnNjc3MiLCJzdHlsZXMvZWxlbWVudHMvY29udGVudC5zY3NzIiwic3R5bGVzL2VsZW1lbnRzL2xhenktbG9hZGluZy5zY3NzIiwic3R5bGVzL2xheW91dC9iYXNlLnNjc3MiLCJzdHlsZXMvbWlzYy5zY3NzIiwiY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvb2ZmLWNhbnZhcy9vZmYtY2FudmFzLWJhc2Uuc2NzcyIsImNvbXBvbmVudHMvb2ZmLWNhbnZhcy9vZmYtY2FudmFzLXRoZW1lLWRlZmF1bHQuc2NzcyIsImNvbXBvbmVudHMvb2ZmLWNhbnZhcy9vZmYtY2FudmFzLXNldHRpbmdzLnNjc3MiLCJjb21wb25lbnRzL29mZi1jYW52YXMvb2ZmLWNhbnZhcy5zY3NzIiwiY29tcG9uZW50cy9mb3JtL2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvYnV0dG9uLWFycm93L2J1dHRvbi1hcnJvdy5zY3NzIiwiY29tcG9uZW50cy9iYWNrLWJ1dHRvbi9iYWNrLWJ1dHRvbi5zY3NzIiwiY29tcG9uZW50cy9nYWxsZXJ5L2dhbGxlcnkuc2NzcyIsImNvbXBvbmVudHMvcHJvamVjdC1jYXJkL3Byb2plY3QtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlcnMuc2NzcyIsImNvbXBvbmVudHMvY29uc3VsdGF0aW9uL2NvbnN1bHRhdGlvbi5zY3NzIiwiY29tcG9uZW50cy9sb2NhbGUtcGlja2VyL2xvY2FsZS1waWNrZXIuc2NzcyIsImNvbXBvbmVudHMvZmVhdHVyZWQtc2xpZGVyL2ZlYXR1cmVkLXNsaWRlci5zY3NzIiwiY29tcG9uZW50cy9wYXJ0bmVycy9wYXJ0bmVycy5zY3NzIiwidmVuZG9yL3N3aXBlci9zd2lwZXItaGVscGVycy5zY3NzIiwiY29tcG9uZW50cy9ob21lLWFib3V0L2hvbWUtYWJvdXQuc2NzcyIsImNvbXBvbmVudHMvaG9tZS1udW1iZXJzL2hvbWUtbnVtYmVycy5zY3NzIiwiY29tcG9uZW50cy9vcmRlcmVkLWNhcmQvb3JkZXJlZC1jYXJkLnNjc3MiLCJjb21wb25lbnRzL2hvbWUtc2VjdGlvbnMvaG9tZS1zZWN0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9ob21lLXNlY3Rpb24vaG9tZS1zZWN0aW9uLnNjc3MiLCJjb21wb25lbnRzL2ZlYXR1cmVkLWNhcmQvZmVhdHVyZWQtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9ob21lLXByb2plY3RzL2hvbWUtcHJvamVjdHMuc2NzcyIsImNvbXBvbmVudHMvaG9tZS1wcm9qZWN0L2hvbWUtcHJvamVjdC5zY3NzIiwiY29tcG9uZW50cy9ob21lLW1hcC9ob21lLW1hcC5zY3NzIiwiY29tcG9uZW50cy93cmFwcGVkLXBhcnRuZXJzL3dyYXBwZWQtcGFydG5lcnMuc2NzcyIsImNvbXBvbmVudHMvc2VydmljZS1jYXJkL3NlcnZpY2UtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9tb2RhbC9tb2RhbC5zY3NzIiwiY29tcG9uZW50cy9hYm91dC1oZXJvL2Fib3V0LWhlcm8uc2NzcyIsImNvbXBvbmVudHMvYWJvdXQtbnVtYmVycy9hYm91dC1udW1iZXJzLnNjc3MiLCJjb21wb25lbnRzL2Fib3V0LWZlYXR1cmVzL2Fib3V0LWZlYXR1cmVzLnNjc3MiLCJjb21wb25lbnRzL2Fib3V0LWRvY3VtZW50cy9hYm91dC1kb2N1bWVudHMuc2NzcyIsImNvbXBvbmVudHMvYWJvdXQtbWFwL2Fib3V0LW1hcC5zY3NzIiwicGFnZXMvaG9tZS9ob21lLnNjc3MiLCJwYWdlcy9wcm9qZWN0L3Byb2plY3Quc2NzcyIsInBhZ2VzL3Byb2plY3RzL3Byb2plY3RzLnNjc3MiLCJwYWdlcy9zZXJ2aWNlcy9zZXJ2aWNlcy5zY3NzIiwicGFnZXMvc2VydmljZS9zZXJ2aWNlLnNjc3MiLCJwYWdlcy9lcnJvci9lcnJvci5zY3NzIiwicGFnZXMvY29udGFjdHMvY29udGFjdHMuc2NzcyIsInBhZ2VzL2Fib3V0L2Fib3V0LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OEVDRDZFO0FESzdFOzhFQ0g2RTtBRFU3RTs4RUNSNkU7QURjN0U7OEVDWjZFO0FEc0I3RTs4RUNwQjZFO0FEZ0M3RTs4RUM5QjZFO0FEb0M3RTs4RUNsQzZFO0FDVDdFOzs7RUFHSSwrQkFBc0I7VUFBdEIsdUJBQXNCLEVBQUE7QUFHMUI7O0VBR0ksaUJBQWdCO0VBRWhCLFVBQVM7RUFFVCxXQUFVLEVBQUE7QUFJZDs7Ozs7Ozs7Ozs7Ozs7RUFjSSxVQUFTLEVBQUE7QUFJYjtFQUNJLHdCQUF1QixFQUFBO0FBSTNCO0VBQ0ksa0JBQWlCO0VBQ2pCLDhCQUE2QjtFQUM3QixpQkFBZ0I7RUFDaEIsb0NBQW1DO0VBQ25DLG1DQUFrQyxFQUFBO0FBSXRDO0VBQ0ksa0NBQThCO1VBQTlCLCtCQUE4QixFQUFBO0FBSWxDO0VBQ0ksZ0JBQWU7RUFDZixlQUFjLEVBQUE7QUFJbEI7Ozs7RUFJSSxjQUFhLEVBQUE7QUFHakI7RUFDSSxpQkFBZ0I7RUFDaEIsYUFBWTtFQUNaLFVBQVM7RUFDVCxXQUFVLEVBQUE7QUFJZDtFQUNJO0lBRUksOENBQXFDO1lBQXJDLHNDQUFxQztJQUNyQyxnREFBdUM7WUFBdkMsd0NBQXVDO0lBQ3ZDLCtDQUFzQztTQUF0QywwQ0FBc0M7WUFBdEMsdUNBQXNDO0lBQ3RDLGlDQUFnQyxFQUFBLEVBQ25DO0FBSUw7RUFDSSxpQkFBZ0IsRUFBQTtBQUlwQjtFQUNJLGdCQUFlLEVBQUE7QUFJbkI7RUFDSSxhQUFZLEVBQUE7QUFJaEI7RUFDSSxxQkFBb0I7RUFDcEIsb0JBQW1CLEVBQUE7QUMzR3ZCO0VBQ0UsOEJBQXFCLEVBQUE7QUFFdkI7RUFDRSxrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLFdBQVU7RUFDViw4QkFBQTtFQUNBLFdBQVMsRUFBQTtBQUVYO0VBQ0UsNkJBQXNCO0VBQXRCLDhCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCLEVBQUE7QUFFeEI7RUFDRSxtQkFBaUI7RUFDakIsWUFBVztFQUNYLGFBQVk7RUFDWixXQUFVO0VBQ1YscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYiwrQ0FBNkI7RUFBN0IsdUNBQTZCO0VBQTdCLGtDQUE2QjtFQUE3QiwrQkFBNkI7RUFBN0Isa0RBQTZCO0VBQzdCLGdDQUF1QjtVQUF2Qix3QkFBdUIsRUFBQTtBQUV6Qjs7RUFFRSwwQ0FBOEI7VUFBOUIsa0NBQThCLEVBQUE7QUFFaEM7RUFDRSxvQkFBZTtNQUFmLGdCQUFlLEVBQUE7QUFFakI7RUFDRSxvQkFBZTtNQUFmLGdCQUFlO0VBQ2YsNkJBQXNCO0VBQXRCLDhCQUFzQjtNQUF0QiwyQkFBc0I7VUFBdEIsdUJBQXNCLEVBQUE7QUFFeEI7RUFDRSw2Q0FBb0M7T0FBcEMsd0NBQW9DO1VBQXBDLHFDQUFvQztFQUNwQyxlQUFjLEVBQUE7QUFFaEI7RUFDRSxxQkFBYztNQUFkLGVBQWM7RUFDZCxZQUFXO0VBQ1gsYUFBWTtFQUNaLG1CQUFrQjtFQUNsQiwrQ0FBOEI7RUFBOUIsdUNBQThCO0VBQTlCLGtDQUE4QjtFQUE5QiwrQkFBOEI7RUFBOUIsa0RBQThCLEVBQUE7QUFFaEM7RUFDRSxtQkFBa0IsRUFBQTtBQUVwQixpQkFBQTtBQUNBO0VBRUksYUFBWSxFQUFBO0FBRmhCO0VBTUkseUJBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsdURBQXNDO0VBQXRDLCtDQUFzQztFQUF0QywwQ0FBc0M7RUFBdEMsdUNBQXNDO0VBQXRDLDBEQUFzQyxFQUFBO0FBSTFDLGdCQUFBO0FBQ0E7RUFDRSw0QkFBbUI7VUFBbkIsb0JBQW1CLEVBQUE7QUFEckI7SUFHSSxxQ0FBNEI7WUFBNUIsNkJBQTRCLEVBQUE7QUFIaEM7SUFNSSxtQkFBa0I7SUFDbEIsUUFBTztJQUNQLE9BQU07SUFDTixZQUFXO0lBQ1gsYUFBWTtJQUNaLHFCQUFvQjtJQUNwQixZQUFXLEVBQUE7QUFaZjtJQWVJLGdIQUEwRTtJQUExRSx1RkFBMEU7SUFBMUUsa0ZBQTBFO0lBQTFFLGlGQUEwRSxFQUFBO0FBZjlFO0lBa0JJLGdIQUEyRTtJQUEzRSxzRkFBMkU7SUFBM0UsaUZBQTJFO0lBQTNFLGtGQUEyRSxFQUFBO0FBbEIvRTtJQXFCSSxrSEFBeUU7SUFBekUsd0ZBQXlFO0lBQXpFLG1GQUF5RTtJQUF6RSxnRkFBeUUsRUFBQTtBQXJCN0U7SUF3Qkksa0hBQTRFO0lBQTVFLHFGQUE0RTtJQUE1RSxnRkFBNEU7SUFBNUUsbUZBQTRFLEVBQUE7QUFJaEYsY0FBQTtBQUNBO0VBRUksZUFBYztFQUNkLHNCQUFxQjtFQUFFLGlCQUFBO0VBQ3ZCLHlCQUF3QjtFQUFFLG9DQUFBO0VDaEc5QixrQ0FBQSxFRGdHa0U7QUFKbEU7SUFNTSxjQUFhLEVBQUE7QUFObkI7RUFVSSwrQkFBOEIsRUFBQTtBQUdsQztFQUVJLGtDQUE2QjtNQUE3QixzQ0FBNkI7VUFBN0IsOEJBQTZCLEVBQUE7QUFHakM7RUFFSSxrQ0FBNkI7TUFBN0Isc0NBQTZCO1VBQTdCLDhCQUE2QixFQUFBO0FFaEhqQzs4RUo4TDZFO0FJckw3RTs4RUp1TDZFO0FJaEw3RTs4RUprTDZFO0FJeEs3RTs4RUowSzZFO0FJcks3RTs4RUp1SzZFO0FJaEs3RTs4RUprSzZFO0FJeko3RTs4RUoySjZFO0FJcEo3RTs4RUpzSjZFO0FJN0k3RTs4RUorSTZFO0FJMUk3RTs4RUo0STZFO0FJdkk3RTs4RUp5STZFO0FJaEk3RTs4RUprSTZFO0FJL0c3RTs4RUppSDZFO0FJMUc3RTs4RUo0RzZFO0FJbkc3RTs4RUpxRzZFO0FJbEY3RTs4RUpvRjZFO0FJaEY3RTs4RUprRjZFO0FLOU43RTs4RUxnTzZFO0FLMU43RTs4RUw0TjZFO0FLcE43RTs4RUxzTjZFO0FLL003RTs4RUxpTjZFO0FLM003RTs4RUw2TTZFO0FLcE03RTs4RUxzTTZFO0FLL0w3RTs4RUxpTTZFO0FLM0w3RTs4RUw2TDZFO0FLdkw3RTs4RUx5TDZFO0FLbkw3RTs4RUxxTDZFO0FLL0s3RTs4RUxpTDZFO0FNL096RTtFQUNJLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhLEVBQUE7QUFHakI7RUFLSSwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQix5QkFBZ0I7S0FBaEIsc0JBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQiwwQlBrQnNCO0VPakJ0QiwyQkFBa0I7VUFBbEIsbUJBQWtCO0VBQ2xCLGFDTmtCO0VET2xCLGdCQUFlO0VBQ2YscUJBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYixhQ1BpQjtFRFFqQix5QkFBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QixjQUFhO0VBQ2Isa0NQb0I0QjtFT3BCNUIsNkJQb0I0QjtFT3BCNUIsMEJQb0I0QjtFT25CNUIsOERBQXFEO0VBQXJELHlEQUFxRDtFQUFyRCxz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O0VBQTRCLDZCZnJSaUIsRUFBQTtBZXFSN0M7RUFBNEIsNkJmclJpQixFQUFBO0Fld1I3Qzs4RWRndkI2RTtBYzd1QjdFOztHZGd2QkU7QWM1dUJGO0VBQWlCLG9CSHpRZ0IsRUFBQTtBRzJRakM7RUFDSSxhSHRKOEI7RUd1SjlCLGtCSG1FK0I7RUdsRS9CLG1CSGtFK0IsRUFBQTtBRy9EbkM7RUFBc0Qsa0JIM0pwQixFQUFBO0FHNkpsQzs7R2RndkJFO0FjNXVCRjtFQUFpQixtQkgzVWdCLEVBQUE7QUc2VWpDO0VBQ0ksYUhsSzhCO0VHbUs5QixtQkh5RGdDO0VHeERoQyxvQkh3RGdDLEVBQUE7QUdyRHBDO0VBQXNELGtCSHZLcEIsRUFBQTtBRzBLbEM7OEVkOHVCNkU7QWMzdUI3RTs7R2Q4dUJFO0FjMXVCRjs7RUFFSSxlVm5WdUMsRUFBQTtBVXVWM0M7O0dkMnVCRTtBY3Z1QkY7O0VBRUksZVYvVjBDLEVBQUE7QVVtVzlDOztHZHd1QkU7QWNwdUJGO0VBQ0ksaUJBQWdCLEVBQUE7QUFTcEI7OEVkK3RCNkU7QWM1dEI3RTs7O0dkZ3VCRTtBYzN0QkY7RUFBNkIsWUhVTCxFQUFBO0FHUnhCO0VBQThCLFlBQWtDLEVBQUE7QUFFaEU7RUFBdUIsYUhPQyxFQUFBO0FHTHhCO0VBQXdCLGFITUMsRUFBQTtBR0p6QjtFQUF1QixhSEtDLEVBQUE7QUdGeEI7OEVkaXVCNkU7QWM5dEI3RTs7Ozs7R2RvdUJFO0FjN3RCRjtFQUNJLE9BQUE7RUFDQSx5QkFBd0I7RUFDeEIsc0JBQXFCO0VBQ3JCLE9BQUE7RUFDQSxvQkhaNEI7RUlyWDVCLHVaQUEwQztFRG1ZMUMsNkJBQTRCO0VBQzVCLDhCQUE2QixFQUFBO0FBR2pDLE9BQUE7QUFDQTtFQUFxRCxjQUFhLEVBQUE7QUFFbEUsT0FBQTtBQUNBO0VBQWdELFlIcEJqQixFQUFBO0FHc0IvQjs7R2RpdUJFO0FjN3RCRjtFQ2paSSx1WkFBMEMsRUFBQTtBRG9aOUM7OEVkK3RCNkU7QWM1dEI3RTs7R2QrdEJFO0FjM3RCRDtFQUNHLG9CSG5DOEI7RUdvQzlCLDZCQUE0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LDZCQUFvQjtVQUFwQixxQkFBb0IsRUFBQTtBV3lKeEIsbUJBQUE7QUFDQTs7RUFFSSwwQmpCNUkwQjtFaUI2STFCLGFabkg4QjtFQ3BDOUIsc0JOVTBCLEVBQUE7QWlCaUo5QixzQkFBQTtBQUNBOztFQUVJLDBCakJwSjBCO0VpQnFKMUIsYVoxSCtCLEVBQUE7QVk4SG5DOztHaEJ5ekNFO0FnQnJ6Q0Y7RUFDSSwwQmpCOUowQjtFaUIrSjFCLGFaL0l3QixFQUFBO0FZbUo1QixtQkFBQTtBQUNBOzs7Ozs7Ozs7RUFFSSwwQkxWb0U7RUtXcEUsYVp2SndCLEVBQUE7QVkySjVCLHNCQUFBO0FBQ0E7Ozs7Ozs7OztFQUVJLDBCTGhCc0U7RUtpQnRFLGFaL0p3QixFQUFBO0FZbUs1Qjs7R2hCZzBDRTtBZ0I1ekNGO0VBQ0ksd0JaekorQjtFWTBKL0IsZWpCdEx5QixFQUFBO0FpQjBMN0IsbUJBQUE7QUFDQTs7RUFFSSwwQkw5QndFO0VLK0J4RSxZTHpOdUIsRUFBQTtBSzZOM0Isc0JBQUE7QUFDQTs7RUFFSSwwQkxwQzBFO0VLcUMxRSxZTGpPdUIsRUFBQTtBS3FPM0I7O0doQnl6Q0U7QWdCcnpDRjtFQUNJLDBCWnRPdUM7RVl1T3ZDLFlMM091QixFQUFBO0FLK08zQixtQkFBQTtBQUNBOztFQUVJLDBCTGxEa0U7RUttRGxFLFlMblB1QixFQUFBO0FLdVAzQixzQkFBQTtBQUNBOztFQUVJLDBCTHhEb0U7RUt5RHBFLFlMM1B1QixFQUFBO0FLK1AzQjs7O0doQm16Q0U7QWdCOXlDRjs7Ozs7Ozs7Ozs7RUFJSSwwQmpCaFAwQjtFaUJpUDFCLGFaNU15QixFQUFBO0FZaU43Qjs4RWhCb3pDNkU7QWdCanpDN0U7RUFDSSxnQkw1UXNCO0VLNlF0QixrQkxqSDhCO0VLa0g5QixvQkx4TzZCLEVBQUE7QUs0T2pDO0VBQ0ksZ0JaelA0QjtFWTBQNUIsa0JaelAyQjtFWTBQM0IscUJDblNzQyxFQUFBO0FEd1MxQzs4RWhCOHlDNkU7QWdCM3lDN0U7Ozs7R2hCZ3pDRTtBZ0IxeUNGO0VBQ0ksT0FBQTtFQUNBLFdBQVU7RUFDVixpQkxoT29CO0VLaU9wQixpQkFBZ0I7RUFDaEIsT0FBQTtFQUNBLFlMaFFxQixFQUFBO0FLb1F6QixtQkFBQTtBQUNBOztFQUVJLFlMelRlLEVBQUE7QUs2VG5CLGNBQUE7QUFDQTtFQUNJLFlMN1FxQixFQUFBO0FLaVJ6Qjs7OztHaEJ5eUNFO0FnQm55Q0Y7RUFDSSxPQUFBO0VBQ0EsV0FBVTtFQUNWLGlCTDdQb0I7RUs4UHBCLGlCQUFnQjtFQUNoQixPQUFBO0VBQ0EsZUw3UHVCLEVBQUE7QUtpUTNCLG1CQUFBO0FBQ0E7O0VBRUksZUxqUTZCO0VLa1E3QiwyQkx2SXlDLEVBQUE7QUswSTdDLGNBQUE7QUFDQTtFQUNJLFlMMVNxQjtFSzJTckIsc0JBQXFCLEVBQUE7QUFJekI7OEVoQmd5QzZFO0FnQjd4QzdFOzs7O0doQmt5Q0U7QWdCNXhDRjtFQUNJLE9BQUE7RUFDQSw0QkFBb0I7RUFBcEIsNEJBQW9CO0VBQXBCLHFCQUFvQjtFQUNwQixPQUFBO0VBQ0EsdUJBQXNCO0VBQ3RCLE9BQUE7RUFDQSxtQkFBa0IsRUFBQTtBRXpWdEI7OzhFbEIwbkQ2RTtBa0J0bkQ3RTs7O0dsQjBuREU7QWtCcm5ERjtFQUNJLG1CQUFrQjtFQUNsQixPQUFBO0VBQ0EsZ0NBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QixrQmR6QndCO0VjMEJ4QixrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLG1CZHhCK0I7RWN5Qi9CLG9CZHpCK0IsRUFBQTtBYzRCbkMsZ0NBQUE7QUFDQTtFQVpBO0lBZVEsbUJkL0I2QjtJY2dDN0Isb0JkaEM2QixFQUFBLEVjaUNoQztBQUlMLGlDQUFBO0FBQ0E7RUF0QkE7SUF5QlEsbUJkeEM2QjtJY3lDN0Isb0JkekM2QixFQUFBLEVjMENoQztBQUlMOztHbEIrbURFO0FrQjNtREY7RUFBOEIsaUJBQWdCLEVBQUE7QUFFOUM7O0dsQittREU7QWtCM21ERjtFQUNJLGdCQUFlO0VBQ2YsaUJBQWdCLEVBQUE7QUFJcEI7OEVsQjJtRDZFO0FrQnhtRDdFO0VBQXVCLGlCUHNOVyxFQUFBO0FPcE5sQztFQUFzQixpQmR4RVcsRUFBQTtBYzBFakM7RUFBc0Isa0JQb05ZLEVBQUE7QU9sTmxDO0VBQXVCLGtCZDFFWSxFQUFBO0FjNEVuQztFQUF1QixnQkFBZSxFQUFBO0FBR3RDOzhFbEI4bUQ2RTtBa0IzbUQ3RTs7R2xCOG1ERTtBa0IxbURGO0VBQTRCLGVBQWMsRUFBQTtBQUMxQztFQUE2QixnQkFBZSxFQUFBO0FBRTVDLGdDQUFBO0FBQ0E7RUFFSTs7SUFDaUQsMENBQTJHLEVBQUE7RUFFNUo7OztJQUNnRCwwQ0FBMEcsRUFBQSxFQUFJO0FBSWxLLGlDQUFBO0FBQ0E7RUFFSTs7SUFDNkIsMkNBQW9HLEVBQUE7RUFaakk7O0lBZWlELDBDQUEyRyxFQUFBO0VBWjVKOzs7SUFlZ0QsMENBQTBHLEVBQUE7RUFFMUo7O0lBQ2dELDJDQUEwRyxFQUFBO0VBRTFKOzs7SUFDaUQsMkNBQTJHLEVBQUEsRUFBSTtBQUtwSzs4RWxCNm1ENkU7QWtCMW1EN0U7OztHbEI4bURFO0FrQnptREY7O0VBQzBDLHlCQUErRCxFQUFBO0FBRXpHO0VBQXlDLG1CZG5JTixFQUFBO0Fjb0luQztFQUEwQyxvQmRwSVAsRUFBQTtBY3NJbkMsZ0NBQUE7QUFDQTtFQVBBOztJQVU4Qyx5QkFBaUUsRUFBQTtFQVAvRztJQVM2QyxtQmQzSVIsRUFBQTtFY21JckM7SUFTOEMsb0JkNUlULEVBQUEsRWM0STZEO0FBSWxHLGlDQUFBO0FBQ0E7RUFsQkE7O0lBcUI4Qyx5QkFBaUUsRUFBQTtFQWxCL0c7SUFvQjZDLG1CZHJKUixFQUFBO0Vja0lyQztJQW9COEMsb0JkdEpULEVBQUEsRWNzSjZEO0FDL0psRzs7OEVuQml4RDZFO0FtQjd3RDdFOztHbkJneERFO0FtQjV3REY7RUFDSSxZUmlDcUIsRUFBQTtBUTdCekIsbUJBQUE7QUFDQTs7RUFFSSxZUnhCZTtFUXlCZixjQUFhLEVBQUE7QUNkakI7OzhFcEI2eEQ2RTtBb0J6eEQ3RTs7R3BCNHhERTtBb0JueERGOzhFcEJxeEQ2RTtBb0JseEQ3RTtFQUFrQiwwREFBOEQ7VUFBOUQsa0RBQThELEVBQUE7QUFFaEY7RUFDSTtJQUFLLGdDQUF1QjtZQUF2Qix3QkFBdUIsRUFBQTtFQUM1QjtJQUFPLGtDQUF5QjtZQUF6QiwwQkFBeUIsRUFBQSxFQUFBO0FBRnBDO0VBQ0k7SUFBSyxnQ0FBdUI7WUFBdkIsd0JBQXVCLEVBQUE7RUFDNUI7SUFBTyxrQ0FBeUI7WUFBekIsMEJBQXlCLEVBQUEsRUFBQTtBQUdwQzs7R3BCdXhERTtBb0JueERGO0VBQ0ksdUJUbXpCc0Q7RVNsekJ0RCxxQkFBb0I7RUFDcEIsaUNBQXdCO01BQXhCLDZCQUF3QjtVQUF4Qix5QkFBd0I7RUFDeEIsNkRBQWlFO1VBQWpFLHFEQUFpRTtFQUNqRSxnQlQ2eUJvQjtFUzV5QnBCLHNCQUFxQixFQUFBO0FBR3pCO0VBQ0k7SUFBSyx3QlQweUJpRCxFQUFBO0VTenlCdEQ7SUFDSSx3QkFBMkM7SUFDM0Msa0NBQXdCO1lBQXhCLDBCQUF3QixFQUFBO0VBRTVCO0lBQ0ksd0JUb3lCa0Q7SVNueUJsRCxrQ0FBd0I7WUFBeEIsMEJBQXdCLEVBQUEsRUFBQTtBQVJoQztFQUNJO0lBQUssd0JUMHlCaUQsRUFBQTtFU3p5QnREO0lBQ0ksd0JBQTJDO0lBQzNDLGtDQUF3QjtZQUF4QiwwQkFBd0IsRUFBQTtFQUU1QjtJQUNJLHdCVG95QmtEO0lTbnlCbEQsa0NBQXdCO1lBQXhCLDBCQUF3QixFQUFBLEVBQUE7QUNHaEM7OzhFckJveEQ2RTtBcUJoeEQ3RTs7Ozs7OztHckJ3eERFO0FxQi93REY7RUFDSSxPQUFBO0VBQ0EsY0FBYTtFQUNiLE9BQUE7RUFDQSxnQkFBZTtFQUNmLE9BQU07RUFDTixTQUFRO0VBQ1IsVUFBUztFQUNULFFBQU87RUFDUCxjakJnQmdCO0VpQmZoQixPQUFBO0VBQ0EsaUJBQWdCO0VBQ2hCLGtDQUFpQztFQUNqQyxPQUFBO0VBQ0EsbUJWcWhCMkI7RVVwaEIzQixPQUFBO0VBQ0EsK0JWa2hCOEI7RVVqaEI5QixPQUFBO0VBQ0EsV0FBVTtFQUNWLHlDQUFnQztFQUFoQyxvQ0FBZ0M7RUFBaEMsaUNBQWdDLEVBQUE7QUFJcEMsZ0NBQUE7QUFDQTtFQXhCQTtJQTBCZ0IsbUJWcEVJLEVBQUEsRVVvRThEO0FBSWxGLGlDQUFBO0FBQ0E7RUEvQkE7SUFrQ1EsbUJWekVtQjtJVTBFbkIsb0JWMUVtQixFQUFBLEVVMkV0QjtBQUlMOztHckIwd0RFO0FxQnR3REY7RUFBb0IsV0FBVSxFQUFBO0FBRzlCOzhFckJ3d0Q2RTtBcUJyd0Q3RTs7R3JCd3dERTtBcUJwd0RGO0VBQWlCLGlCQUFnQixFQUFBO0FBR2pDOzhFckJzd0Q2RTtBcUJud0Q3RTs7Ozs7OztHckIyd0RFO0FxQmx3REY7RUFDSSxPQUFBO0VBQ0EsbUJBQWtCO0VBQ2xCLE9BQUE7RUFDQSwrQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGVBQWM7RUFDZCxhVjZkc0I7RVU1ZHRCLE9BQUE7RUFDQSwwQ0FBb0Q7RUFDcEQsT0FBQTtFQUNBLGlCVmhHb0I7RVVpR3BCLE9BQUE7RUFDQSxXQUFVO0VBQ1Ysc0NBQTZCO01BQTdCLGtDQUE2QjtVQUE3Qiw4QkFBNkI7RUFDN0IsZ0NBQXVCO0VBQXZCLDJCQUF1QjtFQUF2Qix3QkFBdUI7RUFDdkIsd0RBQXVDO0VBQXZDLGdEQUF1QztFQUF2QywyQ0FBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QyxFQUFBO0FBSTNDOztHckJtd0RFO0FxQi92REY7RUFDSSxXQUFVO0VBQ1YsaUNBQXdCO01BQXhCLDZCQUF3QjtVQUF4Qix5QkFBd0IsRUFBQTtBQUk1Qjs4RXJCK3ZENkU7QXFCNXZEN0U7OztHckJnd0RFO0FxQjN2REY7RUFBdUMsY1ZnY1QsRUFBQTtBVTliOUI7Ozs7R3JCaXdERTtBcUIzdkRGLE9BQUE7QUFDQTtFQUNJLFdBQVU7RUFDVixpQkFBZ0IsRUFBQTtBQUdwQixPQUFBO0FBQ0E7RUFDSSxVQUFTO0VBQ1QsWUFBVztFQUNYLGdCQUFlO0VBQ2YsaUNBQXdCO01BQXhCLDZCQUF3QjtVQUF4Qix5QkFBd0IsRUFBQTtBQUs1Qjs4RXJCeXZENkU7QXFCdHZEN0U7RUFDSSxtQkFBa0I7RUFDbEIsYWpCNUc2QixFQUFBO0FpQmdIakM7RUFDSSxtQkFBa0I7RUFDbEIsbUJWdkxnQjtFVXdMaEIsb0JWek02QixFQUFBO0FVNk1qQztFQUNJLG1CQUFrQjtFQUNsQixtQlY5TGdCO0VVK0xoQixvQlZoTjZCLEVBQUE7QVVvTmpDOztHckJtdkRFO0FxQi91REY7OztFQUVpQyxpQkFBZ0IsRUFBQTtBQUdqRDs4RXJCaXZENkU7QXFCOXVEN0U7RUFDSSxnQlZoSTBCO0VVaUkxQixpQlY2WXlCLEVBQUE7QVV4WTdCOzs4RXJCOHVENkU7QUFDN0U7RXFCMXVESSxtQkFBa0I7RUFDbEIsY2pCekpnQjtFaUIwSmhCLFVWdEhzQjtFVXVIdEIsWVZ2SHNCO0VVd0h0QixhVmlZcUIsRUFBQTtBVTdYekI7O0dyQjJ1REU7QUFDRjtFcUJ4dUQ2QyxjQUFhLEVBQUE7QUFFMUQ7O0dyQjJ1REU7QXFCbnVERjs7R3JCc3VERTtBcUIxdERGOzs7R3JCOHRERTtBcUJ6dERGO0VBQ0ksT1Y4VjRCO0VVN1Y1QixPQUFBO0VBQ0EsWVYyVnFCO0VVMVZyQix1Q0FBMEQ7TUFBMUQsbUNBQTBEO1VBQTFELCtCQUEwRDtFQUMxRCxhVjRWMkQsRUFBQTtBVXhWL0Q7RUFDSSxZVnRTdUIsRUFBQTtBVTBTM0IsaUNBQUE7QUFDQTtFQUVJLE9BQUE7RUFqQko7SUFtQlEsU1Y0VXdCO0lVM1V4QiwwQ0FBdUY7UUFBdkYsc0NBQXVGO1lBQXZGLGtDQUF1RixFQUFBLEVBQzFGO0FBSUw7O0dyQm90REU7QXNCdCtERjs7OEV0QnkrRDZFO0FzQnIrRDdFOzs7Ozs7OztHdEI4K0RFO0FzQnArREY7RUFDSSxPQUFBO0VBQ0EsY0FBYTtFQUNiLE9BQUE7RUFDQSxnQkFBZTtFQUNmLE9BQU07RUFDTixTQUFRO0VBQ1IsVUFBUztFQUNULFFBQU87RUFDUCxjWCtSaUI7RVc5UmpCLE9BQUE7RUFDQSxpQlh3ZXNCO0VXdmV0QixPQUFBO0VBQ0EsV0FBVTtFQUNWLHlDQUFnQztFQUFoQyxvQ0FBZ0M7RUFBaEMsaUNBQWdDO0VBQ2hDLE9BQUE7RUFDQSw2QkFBd0I7TUFBeEIseUJBQXdCLEVBQUE7QUFJNUI7Ozs7R3RCdStERTtBc0JqK0RGO0VBQ0ksZUFBYztFQUNkLE9BQUE7RUFDQSxXQUFVLEVBQUE7QUFJZDs4RXRCaStENkU7QXNCOTlEN0U7O0d0QmkrREU7QXNCNzlERjtFQUFvQixpQkFBZ0IsRUFBQTtBQUdwQzs4RXRCKzlENkU7QXNCNTlEN0U7Ozs7Ozs7OztHdEJzK0RFO0FzQjM5REY7RUFDSSxPQUFBO0VBQ0EsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixTQUFRO0VBQ1IsVUFBUztFQUNULFFBQU87RUFDUCxPQUFBO0VBQ0EsY0FBYTtFQUNiLHlCQUF1QjtNQUF2QixzQkFBdUI7VUFBdkIsd0JBQXVCO0VBQ3ZCLDBCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CO0VBQ25CLE9BQUE7RUFDQSxnQ1grYXVDO0VXOWF2QyxPQUFBO0VBQ0EsZ0NBQStCLEVBQUE7QUFJbkMsT0FBQTtBQUNBO0VBQ0ksaUJYd2EyQjtFV3ZhM0Isa0JYd2E0QixFQUFBO0FXcmFoQyxPQUFBO0FBQ0E7RUFBOEIsY0FBYSxFQUFBO0FBRTNDO0VBQ0ksWUFBVztFQUNYLGFBQVksRUFBQTtBQUdoQjtFQUFrQyxxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYSxFQUFBO0FBRS9DOzhFdEIyOUQ2RTtBc0J4OUQ3RTtFQUNJLG1CWHlac0M7RVd4WnRDLCtCWHlaeUM7RVd4WnpDLGdDWHlaMEMsRUFBQTtBV3JaOUM7RUFBMkIsZ0NYcVptQixFQUFBO0FXbFo5Qzs4RXRCdzlENkU7QXNCcjlEN0U7RUFDSSxhWCtZK0I7RVc5WS9CLGdDWCtZK0MsRUFBQTtBVzNZbkQ7O0d0QnM5REU7QXNCbDlERjtFQUNJLFlYdVlvQyxFQUFBO0FXall4Qzs4RXRCZzlENkU7QXNCNzhEN0U7O0d0Qmc5REU7QXNCNThERjtFQUNJLCtCQUFzQjtVQUF0Qix1QkFBc0I7RUFDdEIsWVh5WHVCO0VXeFh2QixhWHdYdUI7RVd2WHZCLCtCWGtYeUM7RVdqWHpDLGdDWHdYeUM7RVd2WHpDLE9BQUE7RUFDQSw0QkFBb0I7RUFBcEIsNEJBQW9CO0VBQXBCLHFCQUFvQjtFQUNwQix5QkFBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtFQUN2QiwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQixFQUFBO0FBSXZCOztHdEI2OERFO0FzQno4REY7RUFDSSxZWDRXOEIsRUFBQTtBV3ZXbEM7OEV0Qnc4RDZFO0FzQnA4RDdFO0VBQ0ksY0FBYSxFQUFBO0FBSWpCOzhFdEJvOEQ2RTtBc0JqOEQ3RTtFQUNJLFdBQVU7RUFDVixZQUFXLEVBQUE7QUN0TGY7OzhFdkI0bkU2RTtBdUJ4bkU3RTs7O0d2QjRuRUU7QXVCdm5FRjtFQUNJLE9BQUE7RUFDQSxnQkFBZTtFQUNmLFVaaXJCd0I7RVlockJ4QixXWmdyQndCO0VZL3FCeEIsZW5CNENnQjtFbUIzQ2hCLE9BQUE7RUFDQSwrQkFBc0I7VUFBdEIsdUJBQXNCO0VBQ3RCLGFaOHFCc0IsRUFBQTtBWXpxQjFCOzZFdkJzbkU0RTtBdUJubkU1RTs7RUFFSSxXQUFVO0VBQ1YsWVppcUJ3QixFQUFBO0FZOXBCNUI7O0VBRUksVUFBUztFQUNULG9CQUF1QyxFQUFBO0FBRzNDOzs7RUFHSSxVQUFTO0VBQ1QsYVpvcEJ3QixFQUFBO0FZaHBCNUI7NkV2QmluRTRFO0F1QjltRTVFLGlDQUFBO0FBQ0E7RUF4Q0E7SUEyQ1EsV1p5b0JvQjtJWXhvQnBCLFlad29Cb0I7SVl2b0JwQixZQUFXO0lBQ1gsVUFBUyxFQUFBLEVBQ1o7QUFLTDs2RXZCMm1FNEU7QXVCeG1FNUU7RUFDSSxtQkFBa0I7RUFDbEIsY25CUytCO0VtQlIvQixvQm5Cckd5QztFbUJzR3pDLGFuQlM4QjtFbUJSOUIsb0JOaEhzQztFTWlIdEMsaUJuQlNrQztFbUJSbEMsZ0JBQWU7RWxCN0VmLDJCQUFrQjtVQUFsQixtQkFBa0I7RUFDbEIsb0JBQW1CLEVBQUE7QWtCZ0Z2QjtFQUErQixpQm5CRE8sRUFBQTtBbUJJdEM7OzhFdkIybUU2RTtBdUJ2bUU3RTtFQUNJLGNBQWE7RUFDYixtQkFBa0I7RUFDbEIsU25CRndCO0VtQkd4QixZbkJGMkI7RUMzRDNCLG9DQUEyQjtNQUEzQixnQ0FBMkI7VUFBM0IsNEJBQTJCLEVBQUE7QUFFM0I7SUFFSSxhQUFZLEVBQUE7QWtCNkRwQjtFQUF3RCxlQUFjLEVBQUE7QUFHdEU7OEV2QjBtRTZFO0F1QnZtRTdFOztHdkIwbUVFO0F1QnRtRUY7RUFDSSxhbkJ4QjhCO0VDNUU5QiwwQkRuQ3lDLEVBQUE7QW1CMkk3Qzs7R3ZCd21FRTtBdUJwbUVGO0VBQ0ksYW5CakM4QjtFQ3RFOUIsMEJEeEMwQyxFQUFBO0FtQm1KOUM7O0d2QnNtRUU7QXVCbG1FRjtFQUNJLGFuQjFDOEI7RUNoRTlCLDBCRDdDeUMsRUFBQTtBbUIySjdDOztHdkJvbUVFO0F1QmhtRUY7RUFDSSxhbkJuRDhCO0VDMUQ5QiwwQkRsRHVDLEVBQUE7QW9Cd0IzQzs7OEV4QjZ1RTZFO0FBQzdFO0V3Qnp1RUksaUNiRnFCO1VhRXJCLHlCYkZxQjtFYUdyQiw0Q0FBbUM7VUFBbkMsb0NBQW1DO0VBQ25DLGtDQUF5QjtVQUF6QiwwQkFBeUIsRUFBQTtBQUk3Qjs4RXhCeXVFNkU7QXdCdHVFN0U7O0d4Qnl1RUU7QXdCcnVFRjtFQUNJLGdDQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsaUNiaEIwQjtVYWdCMUIseUJiaEIwQjtFYWlCMUIsMENBQWlDO1VBQWpDLGtDQUFpQyxFQUFBO0FBR3JDOztHeEJ1dUVFO0F3Qm51RUY7RUFBeUIseUNBQWdDO1VBQWhDLGlDQUFnQyxFQUFBO0FBQ3pEO0VBQTJCLHlDQUFnQztVQUFoQyxpQ0FBZ0MsRUFBQTtBQUUzRDs7R3hCeXVFRTtBd0JydUVGO0VBQTBCLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUFBQTtBQUNyRDtFQUE2Qix1Q0FBOEI7VUFBOUIsK0JBQThCLEVBQUE7QUFDM0Q7RUFBMkIscUNBQTRCO1VBQTVCLDZCQUE0QixFQUFBO0FBQ3ZEO0VBQTRCLHNDQUE2QjtVQUE3Qiw4QkFBNkIsRUFBQTtBQUV6RDs7R3hCK3VFRTtBd0IzdUVGO0VBQWdDLDBDQUFpQztVQUFqQyxrQ0FBaUMsRUFBQTtBQUNqRTtFQUFtQyw2Q0FBb0M7VUFBcEMscUNBQW9DLEVBQUE7QUFDdkU7RUFBaUMsMkNBQWtDO1VBQWxDLG1DQUFrQyxFQUFBO0FBQ25FO0VBQWtDLDRDQUFtQztVQUFuQyxvQ0FBbUMsRUFBQTtBQUVyRTs7R3hCcXZFRTtBd0JqdkVGO0VBQWlDLDJDQUFrQztVQUFsQyxtQ0FBa0MsRUFBQTtBQUNuRTtFQUFvQyw4Q0FBcUM7VUFBckMsc0NBQXFDLEVBQUE7QUFDekU7RUFBa0MsNENBQW1DO1VBQW5DLG9DQUFtQyxFQUFBO0FBQ3JFO0VBQW1DLDZDQUFvQztVQUFwQyxxQ0FBb0MsRUFBQTtBQUV2RTs7R3hCMnZFRTtBd0J2dkVGO0VBQ0ksMENBQWlDO1VBQWpDLGtDQUFpQztFQUNqQyxnQ2IxRDZCO1VhMEQ3Qix3QmIxRDZCLEVBQUE7QWE2RGpDOztHeEJ5dkVFO0F3QnJ2RUY7RUFBc0IsaUNBQXdCO1VBQXhCLHlCQUF3QixFQUFBO0FBRTlDOzs7Ozs7R3hCNnZFRTtBd0JydkVGO0VBQ0ksa0NBQXlCO1VBQXpCLDBCQUF5QjtFQUN6Qiw2Q0FBNEM7RUFDNUMsK0JiL0UwQjtVYStFMUIsdUJiL0UwQixFQUFBO0FhbUY5Qjs4RXhCcXZFNkU7QXdCbHZFNUU7RUFDRyw2QkFBNEI7RUFDNUIsMkNBQWtDO1VBQWxDLG1DQUFrQyxFQUFBO0FBSXRDOzhFeEJrdkU2RTtBd0IvdUU1RTtFQUFxQixrQ3BCQVM7VW9CQVQsMEJwQkFTLEVBQUE7QW9CRy9COzZFeEJpdkU0RTtBd0I5dUU1RTs7R3hCaXZFRTtBd0I3dUVGO0VBQXdFLDZCQUFvQjtVQUFwQixxQkFBb0IsRUFBQTtBQUU1Rjs7R3hCaXZFRTtBd0I3dUVGO0VBQ0ksT0FBQTtFQUNBLHlDQUF3QyxFQUFBO0FBRzVDOztHeEIrdUVFO0F3QjN1RUY7RUFBNkIsY0FBYSxFQUFBO0FBRzFDOzhFeEI2dUU2RTtBd0IxdUU3RTs7R3hCNnVFRTtBd0J6dUVGO0VBQ0k7SUFBSyxXQUFVLEVBQUE7RUFDZjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBRnJCO0VBQ0k7SUFBSyxXQUFVLEVBQUE7RUFDZjtJQUFPLFdBQVUsRUFBQSxFQUFBO0FBR3JCOztHeEI2dUVFO0F3Qnp1RUY7RUFDSTtJQUNJLFdBQVU7SUFDVixxQ0FBNEI7WUFBNUIsNkJBQTRCLEVBQUE7RUFFaEM7SUFDSSxXQUFVO0lBQ1YsaUNBQXdCO1lBQXhCLHlCQUF3QixFQUFBLEVBQUE7QUFQaEM7RUFDSTtJQUNJLFdBQVU7SUFDVixxQ0FBNEI7WUFBNUIsNkJBQTRCLEVBQUE7RUFFaEM7SUFDSSxXQUFVO0lBQ1YsaUNBQXdCO1lBQXhCLHlCQUF3QixFQUFBLEVBQUE7QUFJaEM7O0d4Qnl1RUU7QXdCcnVFRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLG9DQUEyQjtZQUEzQiw0QkFBMkIsRUFBQTtFQUUvQjtJQUNJLFdBQVU7SUFDVixpQ0FBd0I7WUFBeEIseUJBQXdCLEVBQUEsRUFBQTtBQVBoQztFQUNJO0lBQ0ksV0FBVTtJQUNWLG9DQUEyQjtZQUEzQiw0QkFBMkIsRUFBQTtFQUUvQjtJQUNJLFdBQVU7SUFDVixpQ0FBd0I7WUFBeEIseUJBQXdCLEVBQUEsRUFBQTtBQUloQzs7R3hCcXVFRTtBd0JqdUVGO0VBQ0k7SUFDSSxXQUFVO0lBQ1YscUNBQTRCO1lBQTVCLDZCQUE0QixFQUFBO0VBRWhDO0lBQ0ksV0FBVTtJQUNWLGlDQUF3QjtZQUF4Qix5QkFBd0IsRUFBQSxFQUFBO0FBUGhDO0VBQ0k7SUFDSSxXQUFVO0lBQ1YscUNBQTRCO1lBQTVCLDZCQUE0QixFQUFBO0VBRWhDO0lBQ0ksV0FBVTtJQUNWLGlDQUF3QjtZQUF4Qix5QkFBd0IsRUFBQSxFQUFBO0FBSWhDOztHeEJpdUVFO0F3Qjd0RUY7RUFDSTtJQUNJLFdBQVU7SUFDVixvQ0FBMkI7WUFBM0IsNEJBQTJCLEVBQUE7RUFFL0I7SUFDSSxXQUFVO0lBQ1YsaUNBQXdCO1lBQXhCLHlCQUF3QixFQUFBLEVBQUE7QUFQaEM7RUFDSTtJQUNJLFdBQVU7SUFDVixvQ0FBMkI7WUFBM0IsNEJBQTJCLEVBQUE7RUFFL0I7SUFDSSxXQUFVO0lBQ1YsaUNBQXdCO1lBQXhCLHlCQUF3QixFQUFBLEVBQUE7QUFJaEM7O0d4QjZ0RUU7QXdCenRFRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLHFDQUF3RDtZQUF4RCw2QkFBd0QsRUFBQTtFQUU1RDtJQUNJLFdBQVU7SUFDVixpQ0FBd0I7WUFBeEIseUJBQXdCLEVBQUEsRUFBQTtBQVBoQztFQUNJO0lBQ0ksV0FBVTtJQUNWLHFDQUF3RDtZQUF4RCw2QkFBd0QsRUFBQTtFQUU1RDtJQUNJLFdBQVU7SUFDVixpQ0FBd0I7WUFBeEIseUJBQXdCLEVBQUEsRUFBQTtBQUloQzs7R3hCeXRFRTtBd0JydEVGO0VBQ0k7SUFDSSxXQUFVO0lBQ1Ysb0NBQXVEO1lBQXZELDRCQUF1RCxFQUFBO0VBRTNEO0lBQ0ksV0FBVTtJQUNWLGlDQUF3QjtZQUF4Qix5QkFBd0IsRUFBQSxFQUFBO0FBUGhDO0VBQ0k7SUFDSSxXQUFVO0lBQ1Ysb0NBQXVEO1lBQXZELDRCQUF1RCxFQUFBO0VBRTNEO0lBQ0ksV0FBVTtJQUNWLGlDQUF3QjtZQUF4Qix5QkFBd0IsRUFBQSxFQUFBO0FBSWhDOztHeEJxdEVFO0F3Qmp0RUY7RUFDSTtJQUNJLFdBQVU7SUFDVixxQ0FBd0Q7WUFBeEQsNkJBQXdELEVBQUE7RUFFNUQ7SUFDSSxXQUFVO0lBQ1YsaUNBQXdCO1lBQXhCLHlCQUF3QixFQUFBLEVBQUE7QUFQaEM7RUFDSTtJQUNJLFdBQVU7SUFDVixxQ0FBd0Q7WUFBeEQsNkJBQXdELEVBQUE7RUFFNUQ7SUFDSSxXQUFVO0lBQ1YsaUNBQXdCO1lBQXhCLHlCQUF3QixFQUFBLEVBQUE7QUFJaEM7O0d4Qml0RUU7QXdCN3NFRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLG9DQUF1RDtZQUF2RCw0QkFBdUQsRUFBQTtFQUUzRDtJQUNJLFdBQVU7SUFDVixpQ0FBd0I7WUFBeEIseUJBQXdCLEVBQUEsRUFBQTtBQVBoQztFQUNJO0lBQ0ksV0FBVTtJQUNWLG9DQUF1RDtZQUF2RCw0QkFBdUQsRUFBQTtFQUUzRDtJQUNJLFdBQVU7SUFDVixpQ0FBd0I7WUFBeEIseUJBQXdCLEVBQUEsRUFBQTtBQUloQzs7R3hCNnNFRTtBd0J6c0VGO0VBQ0k7SUFDSSxXQUFVO0lBQ1YscUNBQXlEO1lBQXpELDZCQUF5RCxFQUFBO0VBRTdEO0lBQ0ksV0FBVTtJQUNWLGlDQUF3QjtZQUF4Qix5QkFBd0IsRUFBQSxFQUFBO0FBUGhDO0VBQ0k7SUFDSSxXQUFVO0lBQ1YscUNBQXlEO1lBQXpELDZCQUF5RCxFQUFBO0VBRTdEO0lBQ0ksV0FBVTtJQUNWLGlDQUF3QjtZQUF4Qix5QkFBd0IsRUFBQSxFQUFBO0FBSWhDOztHeEJ5c0VFO0F3QnJzRUY7RUFDSTtJQUNJLFdBQVU7SUFDVixvQ0FBd0Q7WUFBeEQsNEJBQXdELEVBQUE7RUFFNUQ7SUFDSSxXQUFVO0lBQ1YsaUNBQXdCO1lBQXhCLHlCQUF3QixFQUFBLEVBQUE7QUFQaEM7RUFDSTtJQUNJLFdBQVU7SUFDVixvQ0FBd0Q7WUFBeEQsNEJBQXdELEVBQUE7RUFFNUQ7SUFDSSxXQUFVO0lBQ1YsaUNBQXdCO1lBQXhCLHlCQUF3QixFQUFBLEVBQUE7QUFJaEM7O0d4QnFzRUU7QXdCanNFRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLHFDQUF5RDtZQUF6RCw2QkFBeUQsRUFBQTtFQUU3RDtJQUNJLFdBQVU7SUFDVixpQ0FBd0I7WUFBeEIseUJBQXdCLEVBQUEsRUFBQTtBQVBoQztFQUNJO0lBQ0ksV0FBVTtJQUNWLHFDQUF5RDtZQUF6RCw2QkFBeUQsRUFBQTtFQUU3RDtJQUNJLFdBQVU7SUFDVixpQ0FBd0I7WUFBeEIseUJBQXdCLEVBQUEsRUFBQTtBQUloQzs7R3hCaXNFRTtBd0I3ckVGO0VBQ0k7SUFDSSxXQUFVO0lBQ1Ysb0NBQXdEO1lBQXhELDRCQUF3RCxFQUFBO0VBRTVEO0lBQ0ksV0FBVTtJQUNWLGlDQUF3QjtZQUF4Qix5QkFBd0IsRUFBQSxFQUFBO0FBUGhDO0VBQ0k7SUFDSSxXQUFVO0lBQ1Ysb0NBQXdEO1lBQXhELDRCQUF3RCxFQUFBO0VBRTVEO0lBQ0ksV0FBVTtJQUNWLGlDQUF3QjtZQUF4Qix5QkFBd0IsRUFBQSxFQUFBO0FBSWhDOztHeEI2ckVFO0F3QnpyRUY7RUFDSTtJQUNJLFdBQVU7SUFDViw4QkFBcUI7WUFBckIsc0JBQXFCLEVBQUE7RUFFekI7SUFDSSxXQUFVO0lBQ1YsNEJBQW1CO1lBQW5CLG9CQUFtQixFQUFBLEVBQUE7QUFQM0I7RUFDSTtJQUNJLFdBQVU7SUFDViw4QkFBcUI7WUFBckIsc0JBQXFCLEVBQUE7RUFFekI7SUFDSSxXQUFVO0lBQ1YsNEJBQW1CO1lBQW5CLG9CQUFtQixFQUFBLEVBQUE7QUFJM0I7O0d4QnlyRUU7QXdCcnJFRjtFQUNJO0lBQ0ksV0FBVTtJQUNWLDhCQUFxQjtZQUFyQixzQkFBcUIsRUFBQTtFQUV6QjtJQUNJLFdBQVU7SUFDViw0QkFBbUI7WUFBbkIsb0JBQW1CLEVBQUEsRUFBQTtBQVAzQjtFQUNJO0lBQ0ksV0FBVTtJQUNWLDhCQUFxQjtZQUFyQixzQkFBcUIsRUFBQTtFQUV6QjtJQUNJLFdBQVU7SUFDViw0QkFBbUI7WUFBbkIsb0JBQW1CLEVBQUEsRUFBQTtBQUkzQjs7R3hCcXJFRTtBd0JqckVGO0VBQ0k7SUFBSyw0QkFBbUI7WUFBbkIsb0JBQW1CLEVBQUE7RUFDeEI7SUFBTyw4QkFBcUI7WUFBckIsc0JBQXFCLEVBQUEsRUFBQTtBQUZoQztFQUNJO0lBQUssNEJBQW1CO1lBQW5CLG9CQUFtQixFQUFBO0VBQ3hCO0lBQU8sOEJBQXFCO1lBQXJCLHNCQUFxQixFQUFBLEVBQUE7QUFHaEM7O0d4QnFyRUU7QXdCanJFRjtFQUNJO0lBQVcsaUNBQXdCO1lBQXhCLHlCQUF3QixFQUFBO0VBQ25DO0lBQU0sb0NBQTJCO1lBQTNCLDRCQUEyQixFQUFBO0VBQ2pDO0lBQU0sbUNBQTBCO1lBQTFCLDJCQUEwQixFQUFBO0VBQ2hDO0lBQU0sb0NBQTJCO1lBQTNCLDRCQUEyQixFQUFBO0VBQ2pDO0lBQU0sbUNBQTBCO1lBQTFCLDJCQUEwQixFQUFBO0VBQ2hDO0lBQU0sb0NBQTJCO1lBQTNCLDRCQUEyQixFQUFBO0VBQ2pDO0lBQU0sbUNBQTBCO1lBQTFCLDJCQUEwQixFQUFBO0VBQ2hDO0lBQU0sb0NBQTJCO1lBQTNCLDRCQUEyQixFQUFBO0VBQ2pDO0lBQU0sbUNBQTBCO1lBQTFCLDJCQUEwQixFQUFBO0VBQ2hDO0lBQU0sb0NBQTJCO1lBQTNCLDRCQUEyQixFQUFBLEVBQUE7QUFWckM7RUFDSTtJQUFXLGlDQUF3QjtZQUF4Qix5QkFBd0IsRUFBQTtFQUNuQztJQUFNLG9DQUEyQjtZQUEzQiw0QkFBMkIsRUFBQTtFQUNqQztJQUFNLG1DQUEwQjtZQUExQiwyQkFBMEIsRUFBQTtFQUNoQztJQUFNLG9DQUEyQjtZQUEzQiw0QkFBMkIsRUFBQTtFQUNqQztJQUFNLG1DQUEwQjtZQUExQiwyQkFBMEIsRUFBQTtFQUNoQztJQUFNLG9DQUEyQjtZQUEzQiw0QkFBMkIsRUFBQTtFQUNqQztJQUFNLG1DQUEwQjtZQUExQiwyQkFBMEIsRUFBQTtFQUNoQztJQUFNLG9DQUEyQjtZQUEzQiw0QkFBMkIsRUFBQTtFQUNqQztJQUFNLG1DQUEwQjtZQUExQiwyQkFBMEIsRUFBQTtFQUNoQztJQUFNLG9DQUEyQjtZQUEzQiw0QkFBMkIsRUFBQSxFQUFBO0FBR3JDOztHeEI2ckVFO0F3QnpyRUQ7RUFDRztJQUFLLDhDQUE2QyxFQUFBO0VBQ2xEO0lBQU8scUJBQW9CLEVBQUEsRUFBQTtBQUY5QjtFQUNHO0lBQUssOENBQTZDLEVBQUE7RUFDbEQ7SUFBTyxxQkFBb0IsRUFBQSxFQUFBO0FDaFkvQjs7OEV6QmdrRjZFO0F5QjNqRjdFOzhFekI2akY2RTtBeUIxakY3RTtFQUNJLGtCZDJFMkI7RWMxRTNCLGlCZCszQnVCO0VjOTNCdkIsWWQxQ3dCLEVBQUE7QWM4QzVCO0VBQ0ksb0JkRTZCO0VjRDdCLGlCZDIzQnVCO0VjMTNCdkIsWWRHcUIsRUFBQTtBY0V6Qjs4RXpCdWpGNkU7QXlCcGpGN0U7RUFDSSxvQmRUNkI7RWNVN0IsaUJkbTNCd0IsRUFBQTtBYy8yQjVCO0VBQ0ksa0JkbUQyQjtFY2xEM0IsaUJkKzJCd0IsRUFBQTtBYzMyQjVCO0VBQ0ksZ0JkU21CO0VjUm5CLGlCZFVvQixFQUFBO0FjTnhCOzhFekJnakY2RTtBeUI3aUY3RTtFQUFpQixpQkFBZ0IsRUFBQTtBQUNqQztFQUFrQixpQkFBZ0IsRUFBQTtBQUNsQztFQUFnQixpQkFBZ0IsRUFBQTtBQUVoQztFQUFtQixxQkFBb0IsRUFBQTtBQUN2QztFQUFrQixvQkFBbUIsRUFBQTtBQUdyQzs4RXpCc2pGNkU7QXlCbmpGN0U7RUFBa0IsbUJBQWtCLEVBQUE7QUFHcEM7OEV6QnFqRjZFO0F5QmxqRjdFO0VBQXNCLHNDQUFxQyxFQUFBO0FBQzNEO0VBQXFCLHFDQUFvQyxFQUFBO0FBQ3pEO0VBQXFCLHFDQUFvQyxFQUFBO0FBR3pEOzhFekJ3akY2RTtBeUJyakY3RTtFQUFpQix1QkFBbUMsRUFBQTtBQUNwRDtFQUFvQix1QkFBc0MsRUFBQTtBQUMxRDtFQUFtQiwwQkFBcUMsRUFBQTtBQUN4RDtFQUFxQix1QkFBdUMsRUFBQTtBQUM1RDtFQUFtQiwwQkFBcUMsRUFBQTtBQUN4RDtFQUFtQiwwQkFBcUMsRUFBQTtBQUN4RDtFQUFrQiwwQkFBb0MsRUFBQTtBQUd0RDs4RXpCbWtGNkU7QXlCaGtGN0U7Ozs7O0d6QnNrRkU7QXlCL2pGRjtFQUNJLE9BQUE7RUFDQSw4QkFBNkI7RUFDN0IsT0FBQTtFQUNBLHNCQUFxQjtFQUNyQixPQUFBO0VBQ0EsMEJBQXdDLEVBQUE7QUFHSDtFQVR6QztJQVlRLDBCckJoSXFDO0lxQmlJckMsOEJBQTZCLEVBQUEsRUFFaEM7QUFLTDs4RXpCMGpGNkU7QXlCdmpGN0U7RUFBZ0IsNEJBQTJCLEVBQUE7QUFDM0M7RUFBaUIsNkJBQTRCLEVBQUE7QUFDN0M7RUFBa0IsOEJBQTZCLEVBQUE7QUFDL0M7RUFBbUIsK0JBQThCLEVBQUE7QUFFakQsZ0NBQUE7QUFDQTtFQUVJO0lBQW1CLDRCQUEyQixFQUFBO0VBQzlDO0lBQW9CLDZCQUE0QixFQUFBO0VBQ2hEO0lBQXFCLDhCQUE2QixFQUFBLEVBQUk7QUFJMUQsaUNBQUE7QUFDQTtFQUVJO0lBQW1CLDRCQUEyQixFQUFBO0VBQzlDO0lBQW9CLDZCQUE0QixFQUFBO0VBQ2hEO0lBQXFCLDhCQUE2QixFQUFBLEVBQUk7QUFJMUQsd0JBQUE7QUFDQTtFQUVJO0lBQW1CLDRCQUEyQixFQUFBO0VBQzlDO0lBQW9CLDZCQUE0QixFQUFBO0VBQ2hEO0lBQXFCLDhCQUE2QixFQUFBLEVBQUk7QUFJMUQsNkJBQUE7QUFDQTtFQUVJO0lBQW9CLDRCQUEyQixFQUFBO0VBQy9DO0lBQXFCLDZCQUE0QixFQUFBO0VBQ2pEO0lBQXNCLDhCQUE2QixFQUFBLEVBQUk7QUFJM0Q7O0d6QmlrRkU7QXlCN2pGRjtFQUFlLCtCQUE4QixFQUFBO0FBQzdDO0VBQWtCLGtDQUFpQyxFQUFBO0FBQ25EO0VBQWtCLGtDQUFpQyxFQUFBO0FBQ25EO0VBQW9CLG9DQUFtQyxFQUFBO0FBR3ZEOzhFekJxa0Y2RTtBeUJsa0Y3RTs7R3pCcWtGRTtBeUJqa0ZGO0VBQWtCLG9CQUFtQixFQUFBO0FBRXJDOzs7O0d6QnVrRkU7QXlCamtGRjtFQUNJLE9BQUE7RUFDQSxnQkFBZTtFQUNmLE9BQUE7RUFDQSxpQkFBZ0I7RUFDaEIsMkJBQXVCO0tBQXZCLHdCQUF1QjtFQUN2QixvQkFBbUIsRUFBQTtBQUd2QixPQUFBO0FBQ0E7O0VBQ3NCLGFBQVksRUFBQTtBQUdsQzs7Ozs7O0d6QnVrRkU7QXlCL2pGRjtFQUNJLE9BQUE7RUFDQSwwQkFBeUI7RUFDekIsT0FBQTtFQUNBLHNCQUFxQixFQUFBO0FBR3pCLE9BQUE7QUFDQTs7RUFDbUIsc0JBQXFCLEVBQUE7QUMvT3hDOzs4RTFCbXpGNkU7QTBCL3lGN0U7RUFBVyxxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYSxFQUFBO0FBQ3hCO0VBQWtCLDRCQUFvQjtFQUFwQiw0QkFBb0I7RUFBcEIscUJBQW9CLEVBQUE7QUFFdEM7O0cxQnF6RkU7QTBCanpGRjs7OztFQUd5QixjQUFhLEVBQUE7QUFHdEM7OEUxQm16RjZFO0EwQmh6RjdFOzs7RzFCb3pGRTtBMEI5eUZGO0VBQWdCLHdCQUEyQjtNQUEzQixxQkFBMkI7VUFBM0IsNEJBQTJCLEVBQUE7QUFDM0M7RUFBa0IseUJBQXVCO01BQXZCLHNCQUF1QjtVQUF2Qix3QkFBdUIsRUFBQTtBQUN6QztFQUFpQixzQkFBeUI7TUFBekIsbUJBQXlCO1VBQXpCLDBCQUF5QixFQUFBO0FBQzFDO0VBQW1CLDBCQUE4QjtNQUE5Qix1QkFBOEI7VUFBOUIsK0JBQThCLEVBQUE7QUFDakQ7RUFBa0IsMEJBQTZCO01BQTdCLDhCQUE2QixFQUFBO0FBRy9DLGdDQUFBO0FBQ0E7RUFFSTtJQUFtQix3QkFBMkI7UUFBM0IscUJBQTJCO1lBQTNCLDRCQUEyQixFQUFBO0VBQzlDO0lBQXFCLHlCQUF1QjtRQUF2QixzQkFBdUI7WUFBdkIsd0JBQXVCLEVBQUE7RUFDNUM7SUFBb0Isc0JBQXlCO1FBQXpCLG1CQUF5QjtZQUF6QiwwQkFBeUIsRUFBQTtFQUM3QztJQUFzQiwwQkFBOEI7UUFBOUIsdUJBQThCO1lBQTlCLCtCQUE4QixFQUFBO0VBQ3BEO0lBQXFCLDBCQUE2QjtRQUE3Qiw4QkFBNkIsRUFBQSxFQUFJO0FBSTFELGlDQUFBO0FBQ0E7RUFFSTtJQUFtQix3QkFBMkI7UUFBM0IscUJBQTJCO1lBQTNCLDRCQUEyQixFQUFBO0VBQzlDO0lBQXFCLHlCQUF1QjtRQUF2QixzQkFBdUI7WUFBdkIsd0JBQXVCLEVBQUE7RUFDNUM7SUFBb0Isc0JBQXlCO1FBQXpCLG1CQUF5QjtZQUF6QiwwQkFBeUIsRUFBQTtFQUM3QztJQUFzQiwwQkFBOEI7UUFBOUIsdUJBQThCO1lBQTlCLCtCQUE4QixFQUFBO0VBQ3BEO0lBQXFCLDBCQUE2QjtRQUE3Qiw4QkFBNkIsRUFBQSxFQUFJO0FBSTFELHdCQUFBO0FBQ0E7RUFFSTtJQUFtQix3QkFBMkI7UUFBM0IscUJBQTJCO1lBQTNCLDRCQUEyQixFQUFBO0VBQzlDO0lBQXFCLHlCQUF1QjtRQUF2QixzQkFBdUI7WUFBdkIsd0JBQXVCLEVBQUE7RUFDNUM7SUFBb0Isc0JBQXlCO1FBQXpCLG1CQUF5QjtZQUF6QiwwQkFBeUIsRUFBQTtFQUM3QztJQUFzQiwwQkFBOEI7UUFBOUIsdUJBQThCO1lBQTlCLCtCQUE4QixFQUFBO0VBQ3BEO0lBQXFCLDBCQUE2QjtRQUE3Qiw4QkFBNkIsRUFBQSxFQUFJO0FBSTFELDZCQUFBO0FBQ0E7RUFFSTtJQUFvQix3QkFBMkI7UUFBM0IscUJBQTJCO1lBQTNCLDRCQUEyQixFQUFBO0VBQy9DO0lBQXNCLHlCQUF1QjtRQUF2QixzQkFBdUI7WUFBdkIsd0JBQXVCLEVBQUE7RUFDN0M7SUFBcUIsc0JBQXlCO1FBQXpCLG1CQUF5QjtZQUF6QiwwQkFBeUIsRUFBQTtFQUM5QztJQUF1QiwwQkFBOEI7UUFBOUIsdUJBQThCO1lBQTlCLCtCQUE4QixFQUFBO0VBQ3JEO0lBQXNCLDBCQUE2QjtRQUE3Qiw4QkFBNkIsRUFBQSxFQUFJO0FBSTNEOzs7RzFCazBGRTtBMEI1ekZGO0VBQW1CLDJCQUFvQjtNQUFwQix3QkFBb0I7VUFBcEIscUJBQW9CLEVBQUE7QUFDdkM7RUFBZSx5QkFBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QixFQUFBO0FBQ3RDO0VBQWtCLDBCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsb0JBQW1CLEVBQUE7QUFDckM7RUFBa0IsdUJBQXFCO01BQXJCLG9CQUFxQjtVQUFyQixzQkFBcUIsRUFBQTtBQUd2Qzs4RTFCbzBGNkU7QTBCaDBGN0U7RUFBZSwrQkFBbUI7RUFBbkIsOEJBQW1CO01BQW5CLHdCQUFtQjtVQUFuQixvQkFBbUIsRUFBQTtBQUNsQztFQUF1QiwrQkFBMkI7RUFBM0IsK0JBQTJCO01BQTNCLGdDQUEyQjtVQUEzQiw0QkFBMkIsRUFBQTtBQUNsRDtFQUFrQiw2QkFBc0I7RUFBdEIsOEJBQXNCO01BQXRCLDJCQUFzQjtVQUF0Qix1QkFBc0IsRUFBQTtBQUN4QztFQUEwQiw2QkFBOEI7RUFBOUIsK0JBQThCO01BQTlCLG1DQUE4QjtVQUE5QiwrQkFBOEIsRUFBQTtBQUd4RDs4RTFCdzBGNkU7QTBCcDBGN0U7RUFBa0Isc0JBQWlCO01BQWpCLGtCQUFpQixFQUFBO0FBQ25DO0VBQWdCLG9CQUFlO01BQWYsZ0JBQWUsRUFBQTtBQUMvQjtFQUF3Qiw0QkFBdUI7TUFBdkIsd0JBQXVCLEVBQUE7QUFFL0M7OztHMUI2MEZFO0EwQnYwRkY7RUFBd0IsNEJBQXNCO01BQXRCLHVCQUFzQixFQUFBO0FBQzlDO0VBQW9CLDBCQUF5QjtNQUF6QiwwQkFBeUIsRUFBQTtBQUM3QztFQUF1QiwyQkFBcUI7TUFBckIsc0JBQXFCLEVBQUE7QUFDNUM7RUFBdUIsd0JBQXVCO01BQXZCLHdCQUF1QixFQUFBO0FBQzlDO0VBQXdCLDRCQUE0QjtNQUE1Qiw2QkFBNEIsRUFBQTtBQUNwRDtFQUF1QiwrQkFBMkI7TUFBM0IsNEJBQTJCLEVBQUE7QUFHbEQ7OEUxQm0xRjZFO0EwQmgxRjdFOztHMUJtMUZFO0EwQi8wRkY7RUFBaUIsNkJBQVM7TUFBVCxtQkFBUztVQUFULFVBQVMsRUFBQTtBQUMxQjtFQUFnQiwrQkFBUztNQUFULG1CQUFTO1VBQVQsVUFBUyxFQUFBO0FBR3pCLGdDQUFBO0FBQ0E7RUFFSTtJQUFvQiw2QkFBUztRQUFULG1CQUFTO1lBQVQsVUFBUyxFQUFBO0VBQzdCO0lBQW1CLCtCQUFTO1FBQVQsbUJBQVM7WUFBVCxVQUFTLEVBQUEsRUFBSTtBQUlwQyxpQ0FBQTtBQUNBO0VBRUk7SUFBb0IsNkJBQVM7UUFBVCxtQkFBUztZQUFULFVBQVMsRUFBQTtFQUM3QjtJQUFtQiwrQkFBUztRQUFULG1CQUFTO1lBQVQsVUFBUyxFQUFBLEVBQUk7QUFJcEMsd0JBQUE7QUFDQTtFQUVJO0lBQW9CLDZCQUFTO1FBQVQsbUJBQVM7WUFBVCxVQUFTLEVBQUE7RUFDN0I7SUFBbUIsK0JBQVM7UUFBVCxtQkFBUztZQUFULFVBQVMsRUFBQSxFQUFJO0FBSXBDLDZCQUFBO0FBQ0E7RUFFSTtJQUFxQiw2QkFBUztRQUFULG1CQUFTO1lBQVQsVUFBUyxFQUFBO0VBQzlCO0lBQW9CLCtCQUFTO1FBQVQsbUJBQVM7WUFBVCxVQUFTLEVBQUEsRUFBSTtBQUtyQzs4RTFCODBGNkU7QTBCMzBGN0U7OztHMUIrMEZFO0EwQjEwRkY7OztHMUI4MEZFO0EwQnowRkY7RUFBZ0Isb0JBQVU7TUFBVixlQUFVO1VBQVYsV0FBVSxFQUFBO0FBRTFCOzs7RzFCODBGRTtBMEJ6MEZGO0VBQWdCLG9CQUFVO01BQVYsZUFBVTtVQUFWLFdBQVUsRUFBQTtBQUUxQjs7O0cxQjgwRkU7QTBCejBGRjtFQUFhLG9CQUFPO01BQVAsWUFBTztVQUFQLFFBQU8sRUFBQTtBQzFLcEI7OzhFM0J5L0Y2RTtBMkJyL0Y3RTs7RzNCdy9GRTtBMkJwL0ZGO0VBQWEsb0JoQnRDTyxFQUFBO0FnQnVDcEI7RUFBaUIsNEJBQXFDLEVBQUE7QUFFdEQ7RUFBaUIsNEJBQXFDLEVBQUE7QUFDdEQ7RUFBb0IsK0JBQXdDLEVBQUE7QUFDNUQ7RUFBa0IsNkJBQXNDLEVBQUE7QUFDeEQ7RUFBbUIsOEJBQXVDLEVBQUE7QUFHMUQ7OEUzQisvRjZFO0EyQjUvRjdFO0VBQW1CLG9CaEJ5Rk8sRUFBQTtBZ0J4RjFCO0VBQXVCLDRCQUEyQyxFQUFBO0FBRWxFO0VBQXVCLDRCQUEyQyxFQUFBO0FBQ2xFO0VBQTBCLCtCQUE4QyxFQUFBO0FBQ3hFO0VBQXdCLDZCQUE0QyxFQUFBO0FBQ3BFO0VBQXlCLDhCQUE2QyxFQUFBO0FBR3RFOzhFM0J1Z0c2RTtBMkJwZ0c3RTtFQUFvQixvQmhCaURPLEVBQUE7QWdCaEQzQjtFQUF3Qiw0QkFBNEMsRUFBQTtBQUVwRTtFQUF3Qiw0QkFBNEMsRUFBQTtBQUNwRTtFQUEyQiwrQkFBK0MsRUFBQTtBQUMxRTtFQUF5Qiw2QkFBNkMsRUFBQTtBQUN0RTtFQUEwQiw4QkFBOEMsRUFBQTtBQUd4RTs4RTNCK2dHNkU7QTJCNWdHN0U7RUFBbUIsb0JoQnFDUSxFQUFBO0FnQnBDM0I7RUFBdUIsNEJBQTJDLEVBQUE7QUFFbEU7RUFBdUIsNEJBQTJDLEVBQUE7QUFDbEU7RUFBMEIsK0JBQThDLEVBQUE7QUFDeEU7RUFBd0IsNkJBQTRDLEVBQUE7QUFDcEU7RUFBeUIsOEJBQTZDLEVBQUE7QUFFdEUsd0JBQUE7QUFDQTtFQVRBO0lBV3VCLG9CaEJyQ0csRUFBQTtFZ0IyQjFCO0lBVzJCLDRCQUE2QyxFQUFBO0VBVHhFO0lBVzJCLDRCQUE2QyxFQUFBO0VBVnhFO0lBVzhCLCtCQUFnRCxFQUFBO0VBVjlFO0lBVzRCLDZCQUE4QyxFQUFBO0VBVjFFO0lBVzZCLDhCQUErQyxFQUFBLEVBQUk7QUFLaEY7OEUzQnloRzZFO0EyQnRoRzdFO0VBQW9CLG9CaEJuRE0sRUFBQTtBZ0JvRDFCO0VBQXdCLDRCQUE0QyxFQUFBO0FBRXBFO0VBQXdCLDRCQUE0QyxFQUFBO0FBQ3BFO0VBQTJCLCtCQUErQyxFQUFBO0FBQzFFO0VBQXlCLDZCQUE2QyxFQUFBO0FBQ3RFO0VBQTBCLDhCQUE4QyxFQUFBO0FBRXhFLHdCQUFBO0FBQ0E7RUFUQTtJQVd3QixxQmhCd2ZJLEVBQUE7RWdCbGdCNUI7SUFXNEIsNkJBQThDLEVBQUE7RUFUMUU7SUFXNEIsNkJBQThDLEVBQUE7RUFWMUU7SUFXK0IsZ0NBQWlELEVBQUE7RUFWaEY7SUFXNkIsOEJBQStDLEVBQUE7RUFWNUU7SUFXOEIsK0JBQWdELEVBQUEsRUFBSTtBQUtsRjs4RTNCbWlHNkU7QTJCaGlHN0U7RUFDSSw2QkFBNEI7RUFDNUIsOEJBQTZCLEVBQUE7QUFHakM7RUFBc0IsNEJBQTJCLEVBQUE7QUFDakQ7RUFBeUIsK0JBQThCLEVBQUE7QUFDdkQ7RUFBdUIsNkJBQTRCLEVBQUE7QUFDbkQ7RUFBd0IsOEJBQTZCLEVBQUE7QUFFckQ7RUFDSSw0QkFBMkI7RUFDM0IsK0JBQThCLEVBQUE7QUFHbEMsZ0NBQUE7QUFDQTtFQUVJO0lBQ0ksNkJBQTRCO0lBQzVCLDhCQUE2QixFQUFBO0VBR2pDO0lBQTBCLDZCQUE0QixFQUFBO0VBQ3REO0lBQTJCLDhCQUE2QixFQUFBLEVBQUk7QUFJaEUsaUNBQUE7QUFDQTtFQUVJO0lBQ0ksNkJBQTRCO0lBQzVCLDhCQUE2QixFQUFBO0VBR2pDO0lBQTBCLDZCQUE0QixFQUFBO0VBQ3REO0lBQTJCLDhCQUE2QixFQUFBLEVBQUk7QUFJaEUsd0JBQUE7QUFDQTtFQUVJO0lBQ0ksNkJBQTRCO0lBQzVCLDhCQUE2QixFQUFBO0VBR2pDO0lBQTBCLDZCQUE0QixFQUFBO0VBQ3REO0lBQTJCLDhCQUE2QixFQUFBLEVBQUk7QUFJaEUsNkJBQUE7QUFDQTtFQUVJO0lBQ0ksNkJBQTRCO0lBQzVCLDhCQUE2QixFQUFBO0VBR2pDO0lBQTJCLDZCQUE0QixFQUFBO0VBQ3ZEO0lBQTRCLDhCQUE2QixFQUFBLEVBQUk7QUFLakU7OEUzQjBoRzZFO0EyQnZoRzVFO0VBQW9CLHFCQUFvQixFQUFBO0FBQ3hDO0VBQXdCLHlCQUF3QixFQUFBO0FBQ2hEO0VBQTJCLDRCQUEyQixFQUFBO0FBQ3REO0VBQXlCLDBCQUF5QixFQUFBO0FBQ2xEO0VBQTBCLDJCQUEwQixFQUFBO0FBRXBEO0VBQ0kseUJBQXdCO0VBQ3hCLDRCQUEyQixFQUFBO0FBRy9COztFQUMrQyx5QkFBd0IsRUFBQTtBQUN2RTtFQUE2Qyw0QkFBMkIsRUFBQTtBQUV6RSxnQ0FBQTtBQUNBO0VBRUk7SUFBNEIsMEJBQXlCLEVBQUE7RUFDckQ7SUFBNkIsMkJBQTBCLEVBQUEsRUFBSTtBQUkvRCxpQ0FBQTtBQUNBO0VBRUk7SUFBNEIsMEJBQXlCLEVBQUE7RUFDckQ7SUFBNkIsMkJBQTBCLEVBQUEsRUFBSTtBQUkvRCx3QkFBQTtBQUNBO0VBRUk7SUFBNEIsMEJBQXlCLEVBQUE7RUFDckQ7SUFBNkIsMkJBQTBCLEVBQUEsRUFBSTtBQUkvRCw2QkFBQTtBQUNBO0VBRUk7SUFBNkIsMEJBQXlCLEVBQUE7RUFDdEQ7SUFBOEIsMkJBQTBCLEVBQUEsRUFBSTtBQ3pNaEU7OzhFNUI4dUc2RTtBNEJ6dUc3RTs4RTVCMnVHNkU7QTRCeHVHN0U7O0c1QjJ1R0U7QUFDRjs7Ozs7RTRCbnVHSSw4QkFBNkI7RUFDN0IsT0FBQTtFQUNBLGdCQUFlLEVBQUE7QUFJbkI7OEU1QnV1RzZFO0E0QnB1RzdFLDRFQUFBO0FBQ0E7RUFDSSxPQUFNO0VBQ04sUUFBTztFQUNQLFNBQVEsRUFBQTtBQUdaO0VBQ0ksVUFBUztFQUNULFFBQU87RUFDUCxTQUFRLEVBQUE7QUFHWjtFQUNJLE9BQU07RUFDTixVQUFTO0VBQ1QsUUFBTyxFQUFBO0FBR1g7RUFDSSxPQUFNO0VBQ04sVUFBUztFQUNULFNBQVEsRUFBQTtBQUlaOzhFNUJpdUc2RTtBNEI5dEc3RTtFQUNJLE9BQU07RUFDTixRQUFPLEVBQUE7QUFHWDtFQUNJLE9BQU07RUFDTixTQUFRLEVBQUE7QUFHWjtFQUNJLFVBQVM7RUFDVCxRQUFPLEVBQUE7QUFHWDtFQUNJLFVBQVM7RUFDVCxTQUFRLEVBQUE7QUFHWjs7O0c1Qjh0R0U7QTRCenRHRjtFQUNJLFNBQVE7RUFDUixVQUFTO0VBQ1QseUNBQStCO01BQS9CLHFDQUErQjtVQUEvQixpQ0FBK0I7RUFDL0IsT0FBQTtFQUNBLDJCQUFrQjtFQUFsQix3QkFBa0I7RUFBbEIsbUJBQWtCO0VBQ2xCLGdCQUFlO0VBQ2YsK0JBQXNCO1VBQXRCLHVCQUFzQixFQUFBO0FBRzFCLGNBQUE7QTVCMHRHQTs7RTRCdnRHSSxTQUFRO0VBQ1Isb0NBQTJCO01BQTNCLGdDQUEyQjtVQUEzQiw0QkFBMkIsRUFBQTtBQUcvQjtFQUEyQixRQUFPLEVBQUE7QUFDbEM7RUFBNEIsU0FBUSxFQUFBO0FBRXBDO0VBQ0ksWUFBVztFQUNYLDJCQUFrQjtFQUFsQix3QkFBa0I7RUFBbEIsbUJBQWtCLEVBQUE7QUFHdEI7RUFDSSxXQUFVO0VBQ1YsMkJBQWtCO0VBQWxCLHdCQUFrQjtFQUFsQixtQkFBa0IsRUFBQTtBQUd0QixnQkFBQTtBQUNBOztFQUVJLFVBQVM7RUFDVCxvQ0FBMkI7TUFBM0IsZ0NBQTJCO1VBQTNCLDRCQUEyQjtFQUMzQixPQUFBO0VBQ0EsMkJBQWtCO0VBQWxCLHdCQUFrQjtFQUFsQixtQkFBa0I7RUFDbEIsZ0JBQWU7RUFDZiwrQkFBc0I7VUFBdEIsdUJBQXNCLEVBQUE7QUFHMUI7RUFBMEIsT0FBTSxFQUFBO0FBQ2hDO0VBQTZCLFVBQVMsRUFBQTtBQUd0Qzs4RTVCMnRHNkU7QTRCeHRHN0U7RUFDSSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFVBQVM7RUFDVCxRQUFPO0VBQ1AsU0FBUSxFQUFBO0FBSVo7OEU1Qnd0RzZFO0E0QnJ0RzdFO0VBQXdCLDhCQUE2QixFQUFBO0FBRXJEO0VBQXdCLDhCQUE2QixFQUFBO0FBRXJEO0VBQXFCLDJCQUEwQixFQUFBO0FBRS9DO0VBQXVCLFdBQVUsRUFBQTtBQUdqQzs4RTVCMHRHNkU7QTRCdnRHN0U7O0c1QjB0R0U7QTRCdHRHRjtFQUNJLG1DQUFrRTtFQUNsRSxhakJuTHNCLEVBQUE7QWlCc0wxQjtFQUF3QyxpRUFBOEY7TUFBOUYsNkRBQThGO1VBQTlGLHlEQUE4RixFQUFBO0FBRXRJOztFQUN3RCxzREFBK0Q7TUFBL0Qsa0RBQStEO1VBQS9ELDhDQUErRCxFQUFBO0FBRXZIOztFQUMrQyxzREFBK0Q7TUFBL0Qsa0RBQStEO1VBQS9ELDhDQUErRCxFQUFBO0FBRTlHOztHNUIydEdFO0E0QnZ0R0Y7RUFDSSxtQ0FBbUU7RUFDbkUsYWpCaExnQixFQUFBO0FpQm1McEI7RUFBeUMsaUVBQWdHO01BQWhHLDZEQUFnRztVQUFoRyx5REFBZ0csRUFBQTtBQUV6STs7RUFDeUQsc0RBQWdFO01BQWhFLGtEQUFnRTtVQUFoRSw4Q0FBZ0UsRUFBQTtBQUV6SDs7RUFDZ0Qsc0RBQWdFO01BQWhFLGtEQUFnRTtVQUFoRSw4Q0FBZ0UsRUFBQTtBQUVoSDs7RzVCNHRHRTtBNEJ4dEdGO0VBQ0ksbUNBQWtFO0VBQ2xFLGFqQmpNZ0IsRUFBQTtBaUJvTXBCO0VBQXdDLGlFQUE4RjtNQUE5Riw2REFBOEY7VUFBOUYseURBQThGLEVBQUE7QUFFdEk7O0VBQ3dELHNEQUErRDtNQUEvRCxrREFBK0Q7VUFBL0QsOENBQStELEVBQUE7QUFFdkg7O0VBQytDLHNEQUErRDtNQUEvRCxrREFBK0Q7VUFBL0QsOENBQStELEVBQUE7QUFFOUcsd0JBQUE7QUFDQTtFQWRBO0lBaUJRLG1DQUFvRTtJQUNwRSxhakIyaUJzQixFQUFBO0VpQnhqQjlCO0lBZ0I0QyxpRUFBa0c7UUFBbEcsNkRBQWtHO1lBQWxHLHlEQUFrRyxFQUFBO0VBZDlJOztJQWlCNEQsc0RBQWlFO1FBQWpFLGtEQUFpRTtZQUFqRSw4Q0FBaUUsRUFBQTtFQWQ3SDs7SUFpQm1ELHNEQUFpRTtRQUFqRSxrREFBaUU7WUFBakUsOENBQWlFLEVBQUEsRUFBSTtBQzFOeEg7OzhFN0J1N0c2RTtBNkJsN0c3RTs4RTdCbzdHNkU7QTZCajdHN0U7O0c3Qm83R0U7QTZCaDdHRjtFQUNJLE9BQUE7RUFDQSx5Q0FBd0MsRUFBQTtBQUc1Qzs7RzdCazdHRTtBNkI5NkdGO0VBQThCLGNBQWEsRUFBQTtBQUczQzs4RTdCZzdHNkU7QTZCNzZHN0U7Ozs7Ozs7O0c3QnM3R0U7QTZCNTZHRjs7O0VBR0ksa0NBQXlDO0VBQXpDLDZCQUF5QztFQUF6QywwQkFBeUM7RUFDekMsd0RBQStDO0VBQS9DLHdFQUErQztFQUEvQyxnRUFBK0M7RUFBL0MsbURBQStDO0VBQS9DLGdEQUErQztFQUEvQyxtRkFBK0M7RUFBL0MsZ0VBQStDO0VBQy9DLFdBQVUsRUFBQTtBQUdkOztHN0I4NkdFO0E2QjE2R0Y7OztFQUVzRCxXQUFVLEVBQUE7QUFFaEU7O0c3Qjg2R0U7QTZCMTZHRjtFQUEwQiwrQkFBcUI7TUFBckIsMkJBQXFCO1VBQXJCLHVCQUFxQixFQUFBO0FBQy9DO0VBQTRCLG1DQUFxRDtNQUFyRCwrQkFBcUQ7VUFBckQsMkJBQXFELEVBQUE7QUFFakYsVUFBQTtBQUNBOzs7RUFHSSxXQUFVO0VBQ1YsbUNBQXFEO01BQXJELCtCQUFxRDtVQUFyRCwyQkFBcUQsRUFBQTtBQUd6RDs7O0VBR0ksV0FBVTtFQUNWLCtCQUFxQjtNQUFyQiwyQkFBcUI7VUFBckIsdUJBQXFCLEVBQUE7QUFHekI7O0c3Qjg2R0U7QTZCMTZHRjtFQUEyQixxQ0FBNEI7TUFBNUIsaUNBQTRCO1VBQTVCLDZCQUE0QixFQUFBO0FBQ3ZEO0VBQThCLG9DQUEyQjtNQUEzQixnQ0FBMkI7VUFBM0IsNEJBQTJCLEVBQUE7QUFDekQ7RUFBNEIscUNBQTRCO01BQTVCLGlDQUE0QjtVQUE1Qiw2QkFBNEIsRUFBQTtBQUN4RDtFQUE2QixvQ0FBMkI7TUFBM0IsZ0NBQTJCO1VBQTNCLDRCQUEyQixFQUFBO0FBRXhEO0VBQWlDLHFDQUF5RDtNQUF6RCxpQ0FBeUQ7VUFBekQsNkJBQXlELEVBQUE7QUFDMUY7RUFBb0Msb0NBQXdEO01BQXhELGdDQUF3RDtVQUF4RCw0QkFBd0QsRUFBQTtBQUM1RjtFQUFrQyxxQ0FBeUQ7TUFBekQsaUNBQXlEO1VBQXpELDZCQUF5RCxFQUFBO0FBQzNGO0VBQW1DLG9DQUF3RDtNQUF4RCxnQ0FBd0Q7VUFBeEQsNEJBQXdELEVBQUE7QUFFM0Y7RUFBa0MscUNBQTBEO01BQTFELGlDQUEwRDtVQUExRCw2QkFBMEQsRUFBQTtBQUM1RjtFQUFxQyxvQ0FBeUQ7TUFBekQsZ0NBQXlEO1VBQXpELDRCQUF5RCxFQUFBO0FBQzlGO0VBQW1DLHFDQUEwRDtNQUExRCxpQ0FBMEQ7VUFBMUQsNkJBQTBELEVBQUE7QUFDN0Y7RUFBb0Msb0NBQXlEO01BQXpELGdDQUF5RDtVQUF6RCw0QkFBeUQsRUFBQTtBQUU3RixVQUFBO0FBQ0E7OztFQUdJLFdBQVU7RUFDVixtQ0FBeUI7TUFBekIsK0JBQXlCO1VBQXpCLDJCQUF5QixFQUFBO0FBSTdCOzhFN0IrN0c2RTtBNkI1N0c3RTtFQUF3QixXQUFVLEVBQUE7QUFHbEM7OEU3Qjg3RzZFO0E2QjM3RzdFO0VBQXNCLGtDbEJ1MUJTO09rQnYxQlQsNkJsQnUxQlM7VWtCdjFCVCwwQmxCdTFCUyxFQUFBO0FtQmorQi9COzs4RTlCMmtINkU7QThCdmtIN0U7RTdCVkE7OztJNkJlUSxtQ0FBa0M7SUFDbEMsd0JBQXVCO0lBQ3ZCLG9DQUEyQjtZQUEzQiw0QkFBMkI7SUFDM0IsNkJBQTRCLEVBQUE7RUFHaEM7O0lBQ1ksMkJBQTBCLEVBQUE7RUFFdEM7O0lBRUksdUJBQXNCO0lBQ3RCLHlCQUF3QixFQUFBO0VBRzVCO0lBQVEsNEJBQTJCLEVBQUE7RUFFbkM7O0lBQ00seUJBQXdCLEVBQUE7RTdCcUJsQztJNkJuQlUsMkJBQTBCLEVBQUE7RUFFaEM7SUFBUSxjQUFhLEVBQUE7RUFFckI7OztJQUdJLFdBQVU7SUFDVixVQUFTLEVBQUE7RUFHYjs7SUFDSyx3QkFBdUIsRUFBQSxFQUFJO0FDbERwQztFQUNJLG1DaENhcUM7RWdDWnJDLGlCaENRa0I7RWdDUGxCLDBCQUF5QixFQUFBO0FBRzdCO0VBQ0ksZWhDeUIyQjtFZ0N4QjNCLG1DaENPdUM7RWdDTnZDLG1CZFJzQztFY1N0QyxpQmhDRHVCO0VnQ0V2Qix1QkFBc0I7RUFDdEIsa0JBQWlCO0VBQ2pCLDBCQUF5QixFQUFBO0FBRzdCO0VBR0ksb0JkbEJzQyxFQUFBO0FUaUV0QztJdUJsREo7TUFNUSxnQmRyQmtDLEVBQUEsRWMyQnpDO0F2Qm9CRztJdUJoQ0o7TUFVUSxvQmR6QmtDLEVBQUEsRWMyQnpDO0FBRUQ7RUFHSSxvQmRoQ3NDO0VjaUN0QyxlQUFjLEVBQUE7QUFHbEI7RUFHSSxtQmR2Q3NDO0Vjd0N0QyxrQkFBaUIsRUFBQTtBdkIyQ2pCO0V1QnhDSjtJQUlRLG1CZC9Da0MsRUFBQSxFY3lEekM7QXZCUUc7RXVCdEJKO0lBUVEsb0JkbkRrQyxFQUFBLEVjeUR6QztBdkJWRztFdUJKSjtJQVlRLGdCZHZEa0MsRUFBQSxFY3lEekM7QUFFRDtFQUdJLG9CZDlEc0M7RWMrRHRDLHFCQUFvQixFQUFBO0F2QjRDcEI7SXVCaERKO01BT1EsbUJkbEVrQyxFQUFBLEVjZ0Z6QztBdkJHRztJdUJ4Qko7TUFXUSxvQmR0RWtDLEVBQUEsRWNnRnpDO0F2QmZHO0l1Qk5KO01BZVEsZ0JkMUVrQyxFQUFBLEVjZ0Z6QztBdkJqQ0c7SXVCWUo7TUFtQlEsb0JkOUVrQyxFQUFBLEVjZ0Z6QztBQUVEO0VBR0ksbUJBQWtCO0VBQ2xCLGdCZHRGc0MsRUFBQTtBVDJHdEM7SXVCekJKO01BT1Esb0JkekZrQyxFQUFBLEVjdUd6QztBdkJwQkc7SXVCREo7TUFXUSxtQmQ3RmtDLEVBQUEsRWN1R3pDO0F2QnRDRztJdUJpQko7TUFlUSxrQmRqR2tDLEVBQUEsRWN1R3pDO0F2QnhERztJdUJtQ0o7TUFtQlEsb0JkckdrQyxFQUFBLEVjdUd6QztBQUVEO0VBR0ksbUJkNUdzQztFYzZHdEMsb0JBQW1CLEVBQUE7QXZCRm5CO0l1QkZKO01BT1EscUJkaEhrQyxFQUFBLEVjOEh6QztBdkIzQ0c7SXVCc0JKO01BV1Esb0JkcEhrQyxFQUFBLEVjOEh6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RztJc0VqREo7TUFZUSxxQkFBb0IsRUFBQSxFQXNDM0I7QUFuQ0c7SUFLSSxpQkFBZ0IsRUFBQTtBdEVpRXBCO01zRXRFQTtRQVFRLGlCQUFnQixFQUFBLEVBVXZCO0F0RWtDRDtNc0VwREE7UUFZUSxpQkFBZ0IsRUFBQSxFQU12QjtBdEVnQkQ7TXNFbENBO1FBZ0JRLGlCQUFnQixFQUFBLEVBRXZCO0FBRUQ7SUFDSSxrQkFBaUIsRUFBQTtBdEVpRHJCO01zRWxEQTtRQUlRLGtCQUFpQixFQUFBLEVBVXhCO0F0RWtCRDtNc0VoQ0E7UUFRUSxpQkFBZ0IsRUFBQSxFQU12QjtBdEVBRDtNc0VkQTtRQVlRLGlCQUFnQixFQUFBLEVBRXZCIiwiZmlsZSI6InN0eWxlLmxvY2FsLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgZmlsZSBpcyBmb3IgU2Fzc1NjcmlwdCBlbGVtZW50cyB5b3Ugd2FudCB0byB1c2UgaW4gYW55IG90aGVyIHN0eWxlc2hlZXRcclxuXHJcbi8qIEJhc2VcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiRyb290LWZvbnQtc2l6ZTogMTZweDtcclxuXHJcbi8qIEZvbnQgd2VpZ2h0c1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bTogNTAwO1xyXG4kZm9udC13ZWlnaHQtc2VtaS1ib2xkOiA2MDA7XHJcbiRmb250LXdlaWdodC1ib2xkOiA3MDA7XHJcblxyXG4vKiBGb250IGZhbWlsaWVzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kZm9udC1mYW1pbHktYmViYXM6IFwiQmViYXMgTmV1ZVwiLCBjdXJzaXZlO1xyXG4kZm9udC1mYW1pbHktbWFucm9wZTogXCJNYW5yb3BlXCIsIHNhbnMtc2VyaWY7XHJcbiRmb250LWZhbWlseS1oZWFkaW5nOiAkZm9udC1mYW1pbHktYmViYXM7XHJcblxyXG4vKiBGb250IHNpemVzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kZm9udC1zaXplLWhlYWRpbmctcGFnZTogMTJweDtcclxuJGZvbnQtc2l6ZS1oZWFkaW5nLXhzbWFsbDogMThweDtcclxuJGZvbnQtc2l6ZS1oZWFkaW5nLXNtYWxsOiAyMnB4O1xyXG4kZm9udC1zaXplLWhlYWRpbmctc2VtaS1zbWFsbDogMjhweDtcclxuJGZvbnQtc2l6ZS1oZWFkaW5nLW1lZGl1bTogMzhweDtcclxuJGZvbnQtc2l6ZS1oZWFkaW5nLWxhcmdlOiA0OHB4O1xyXG4kZm9udC1zaXplLWhlYWRpbmcteGxhcmdlOiA2MHB4O1xyXG5cclxuLyogQ29sb3JzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kY29sb3ItcHJpbWFyeS1leHRyYS1saWdodGVuOiByZ2JhKDYxLCA3MSwgOTUsIDAuNSk7XHJcbiRjb2xvci1wcmltYXJ5LWxpZ2h0ZW46IHJnYmEoNjEsIDcxLCA5NSwgMC44KTtcclxuJGNvbG9yLXByaW1hcnktZGVmYXVsdDogIzNkNDc1ZjtcclxuJGNvbG9yLWFjY2VudC1kZWZhdWx0OiAjM2I2NWNmO1xyXG4kY29sb3ItbXV0ZWQtZXh0cmEtbGlnaHRlbjogI2ZhZmFmYTtcclxuJGNvbG9yLW11dGVkLWxpZ2h0ZW46ICNlYWViZWQ7XHJcbiRjb2xvci1tdXRlZC1kZWZhdWx0OiAjODY4Njg2O1xyXG4kY29sb3ItcGxhY2Vob2xkZXI6IHJnYmEoMTMsIDEwMCwgMTcyLCAwLjEpO1xyXG4kY29sb3ItZGFuZ2VyOiAjZWI2MjYyO1xyXG5cclxuLyogVHJhbnNpdGlvblxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJHRyYW5zaXRpb24tZGVmYXVsdC10aW1lOiAwLjJzO1xyXG4kdHJhbnNpdGlvbi1kZWZhdWx0LWVhc2luZzogZWFzZS1vdXQ7XHJcbiR0cmFuc2l0aW9uLWRlZmF1bHQ6ICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZSAkdHJhbnNpdGlvbi1kZWZhdWx0LWVhc2luZztcclxuXHJcbi8qIENvdW50ZXJzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kY291bnRlci1ob21lLXNlY3Rpb246IGhvbWUtc2VjdGlvbnM7XHJcbiRjb3VudGVyLWZlYXR1cmVkLXNsaWRlcjogZmVhdHVyZWQtc2xpZGVyO1xyXG4kY291bnRlci1zZXJ2aWNlczogc2VydmljZXM7XHJcbiRjb3VudGVyLWFib3V0LW51bWJlcnM6IGFib3V0LW51bWJlcnM7XHJcbiIsIi8qIEJhc2VcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBGb250IHdlaWdodHNcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBGb250IGZhbWlsaWVzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRm9udCBzaXplc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIENvbG9yc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRyYW5zaXRpb25cclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDb3VudGVyc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxudWwsXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5ib2R5LFxuaDEsXG5oMixcbmgzLFxuaDQsXG5wLFxudWwsXG5vbCxcbmxpLFxuZmlndXJlLFxuZmlnY2FwdGlvbixcbmJsb2NrcXVvdGUsXG5kbCxcbmRkIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmh0bWwge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDsgfVxuXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xuICBsaW5lLWhlaWdodDogMS41O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5hOm5vdChbY2xhc3NdKSB7XG4gIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bzsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbmlucHV0LFxuYnV0dG9uLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBmb250OiBpbmhlcml0OyB9XG5cbmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICoge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50OyB9IH1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbmlmcmFtZSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG5maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDsgfVxuXG50aCB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyB9XG5cbjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICMzYjY1Y2Y7IH1cblxuLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIEZpeCBvZiBXZWJraXQgZmxpY2tlcmluZyAqL1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLFxuLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDAsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93ID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93LWNvbHVtbiA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5zd2lwZXItc2xpZGUge1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07IH1cblxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLyogQXV0byBIZWlnaHQgKi9cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsIC5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodDsgfVxuXG4vKiAzRCBFZmZlY3RzICovXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cbiAgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci13cmFwcGVyLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cbiAgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDEwOyB9XG4gIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG4gIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cbiAgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG4gIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4vKiBDU1MgTW9kZSAqL1xuLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBvdmVyZmxvdzogYXV0bztcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAvKiBGb3IgRmlyZWZveCAqL1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIC8qIEZvciBJbnRlcm5ldCBFeHBsb3JlciBhbmQgRWRnZSAqLyB9XG4gIC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgc3RhcnQ7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5OyB9XG5cbi8qIEJhc2VcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBHbG9iYWxcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDb250YWluZXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBGb250XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTGluayBkZWZhdWx0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQnV0dG9uIGJhc2VcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCdXR0b24gcHJpbWFyeVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJ1dHRvbiBkZWZhdWx0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQnV0dG9uIHNlY29uZGFyeVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJ1dHRvbiBkaXNhYmxlZFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJyZWFkY3J1bWJzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRm9ybVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE1vZGFsXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogT2ZmY2FudmFzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTm90aWZpY2F0aW9uXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQW5pbWF0aW9uXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTWlzY1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIExpbmsgYmFzZVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEJ1dHRvbiBiYXNlXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogQnV0dG9uIGRlZmF1bHRcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBCdXR0b24gZGVmYXVsdFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEZvcm0gc2luZ2xlIGxpbmVcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBOb3RpZmljYXRpb24gbWVzc2FnZVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE5vdGlmaWNhdGlvbiBtZXNzYWdlIHByaW1hcnlcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBOb3RpZmljYXRpb24gbWVzc2FnZSBzdWNjZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTm90aWZpY2F0aW9uIG1lc3NhZ2Ugd2FybmluZ1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE5vdGlmaWNhdGlvbiBtZXNzYWdlIGRhbmdlclxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE5vdGlmaWNhdGlvbiBjbG9zZVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zd2lwZXItYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLnN3aXBlci1idXR0b24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I2NWNmO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDI3cHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvdXRsaW5lOiBub25lO1xuICB0cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgb3BhY2l0eSwgYmFja2dyb3VuZC1jb2xvcjtcbiAgd2lkdGg6IDI3cHg7XG4gIHotaW5kZXg6IDE7IH1cbiAgLnN3aXBlci1idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuc3dpcGVyLWJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgLnN3aXBlci1idXR0b246bm90KC5zd2lwZXItYnV0dG9uLWRpc2FibGVkKTpob3ZlciwgLnN3aXBlci1idXR0b246bm90KC5zd2lwZXItYnV0dG9uLWRpc2FibGVkKTphY3RpdmUsIC5zd2lwZXItYnV0dG9uOm5vdCguc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCk6Zm9jdXMtd2l0aGluIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyYTRmYWQ7IH0gfVxuICAuc3dpcGVyLWJ1dHRvbiBzdmcge1xuICAgIG1heC13aWR0aDogMTlweDtcbiAgICB0cmFuc2l0aW9uOiBzdHJva2UgMC4ycyBlYXNlLW91dDsgfVxuICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHN2ZyB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZyk7IH1cbiAgLnN3aXBlci1idXR0b24tZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkY2RmZTU7XG4gICAgY29sb3I6ICMzZDQ3NWY7IH1cbiAgLnN3aXBlci1idXR0b24tbGFyZ2Uge1xuICAgIHNpemU6IDUwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5zd2lwZXItYnV0dG9uLWxhcmdlIHtcbiAgICAgICAgc2l6ZTogNDBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuc3dpcGVyLWJ1dHRvbi1sYXJnZSB7XG4gICAgICAgIHNpemU6IDMycHg7IH0gfVxuICAgIC5zd2lwZXItYnV0dG9uLWxhcmdlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgICAgLnN3aXBlci1idXR0b24tbGFyZ2U6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgICAuc3dpcGVyLWJ1dHRvbi1sYXJnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7IH0gfVxuICAuc3dpcGVyLWJ1dHRvbi13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICAuc3dpcGVyLWJ1dHRvbi13aGl0ZTpub3QoLnN3aXBlci1idXR0b24td2hpdGUtZGlzYWJsZWQpOmhvdmVyLCAuc3dpcGVyLWJ1dHRvbi13aGl0ZTpub3QoLnN3aXBlci1idXR0b24td2hpdGUtZGlzYWJsZWQpOmFjdGl2ZSwgLnN3aXBlci1idXR0b24td2hpdGU6bm90KC5zd2lwZXItYnV0dG9uLXdoaXRlLWRpc2FibGVkKTpmb2N1cy13aXRoaW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmE0ZmFkOyB9XG4gICAgICAgIC5zd2lwZXItYnV0dG9uLXdoaXRlOm5vdCguc3dpcGVyLWJ1dHRvbi13aGl0ZS1kaXNhYmxlZCk6aG92ZXIgc3ZnLCAuc3dpcGVyLWJ1dHRvbi13aGl0ZTpub3QoLnN3aXBlci1idXR0b24td2hpdGUtZGlzYWJsZWQpOmFjdGl2ZSBzdmcsIC5zd2lwZXItYnV0dG9uLXdoaXRlOm5vdCguc3dpcGVyLWJ1dHRvbi13aGl0ZS1kaXNhYmxlZCk6Zm9jdXMtd2l0aGluIHN2ZyB7XG4gICAgICAgICAgc3Ryb2tlOiB3aGl0ZTsgfSB9XG4gICAgLnN3aXBlci1idXR0b24td2hpdGUgc3ZnIHtcbiAgICAgIHN0cm9rZTogIzNiNjVjZjsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IGBmb250LXNpemVgIHRvIHN1cHBvcnQgYHJlbWAgdW5pdHNcbiAqICAgIE5vdCB1c2luZyBgZm9udGAgcHJvcGVydHkgYmVjYXVzZSBhIGxlYWRpbmcgaHlwaGVuIChlLmcuIC1hcHBsZS1zeXN0ZW0pIGNhdXNlcyB0aGUgZm9udCB0byBicmVhayBpbiBJRTExIGFuZCBFZGdlXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqIDMuIFN0eWxlXG4gKi9cbmh0bWwge1xuICAvKiAxICovXG4gIGZvbnQtZmFtaWx5OiBcIk1hbnJvcGVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBjb2xvcjogIzNkNDc1ZjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIExpbmtzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogU3R5bGVcbiAqL1xuYSxcbi51ay1saW5rIHtcbiAgY29sb3I6ICMzZDQ3NWY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0OyB9XG5cbmE6aG92ZXIsXG4udWstbGluazpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluayxcbi51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluayB7XG4gIGNvbG9yOiAjM2I2NWNmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gRWRnZS5cbiAqIDIuIFRoZSBzaG9ydGhhbmQgZGVjbGFyYXRpb24gYHVuZGVybGluZSBkb3R0ZWRgIGlzIG5vdCBzdXBwb3J0ZWQgaW4gU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBkb3R0ZWQ7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qXG4gKiAxLiBDb25zb2xhcyBoYXMgYSBiZXR0ZXIgYmFzZWxpbmUgaW4gcnVubmluZyB0ZXh0IGNvbXBhcmVkIHRvIGBDb3VyaWVyYFxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gU3R5bGVcbiAqL1xuOm5vdChwcmUpID4gY29kZSxcbjpub3QocHJlKSA+IGtiZCxcbjpub3QocHJlKSA+IHNhbXAge1xuICAvKiAxICovXG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2U7XG4gIC8qIDIgKi9cbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLyogMyAqL1xuICBjb2xvcjogI2YyNWQ1MDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKlxuICogRW1waGFzaXplXG4gKi9cbmVtIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLypcbiAqIEluc2VydFxuICovXG5pbnMge1xuICBiYWNrZ3JvdW5kOiAjZmZkO1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qXG4gKiBNYXJrXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmZkO1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKlxuICogUXVvdGVcbiAqL1xucSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLypcbiAqIFByZXZlbnRzIGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gZW1iZWRkZWQgY29udGVudCBhbmQgdGhlIGJvdHRvbSBvZiB0aGVpciBjb250YWluZXJzLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKlxuICogMS4gQWRkIHJlc3BvbnNpdmVuZXNzLlxuICogMi4gQXV0by1zY2FsZSB0aGUgaGVpZ2h0LiBPbmx5IG5lZWRlZCBpZiBgaGVpZ2h0YCBhdHRyaWJ1dGUgaXMgcHJlc2VudC5cbiAqIDMuIENvcnJlY3RzIHJlc3BvbnNpdmUgYG1heC13aWR0aGAgYmVoYXZpb3IgaWYgcGFkZGluZyBhbmQgYm9yZGVyIGFyZSB1c2VkLlxuICogNC4gRXhjbHVkZSBTVkdzIGZvciBJRTExIGJlY2F1c2UgdGhleSBkb24ndCBwcmVzZXJ2ZSB0aGVpciBhc3BlY3QgcmF0aW8uXG4gKi9cbmNhbnZhcyxcbmltZyxcbnZpZGVvIHtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDIgKi9cbiAgaGVpZ2h0OiBhdXRvO1xuICAvKiAzICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyogNCAqL1xuQHN1cHBvcnRzIChkaXNwbGF5OiBibG9jaykge1xuICBzdmcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfSB9XG5cbi8qXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiAxLiBGaXggbGF6eSBsb2FkaW5nIGltYWdlcyBpZiBwYXJlbnQgZWxlbWVudCBpcyBzZXQgdG8gYGRpc3BsYXk6IGlubGluZWAgYW5kIGhhcyBgb3ZlcmZsb3c6IGhpZGRlbmAuXG4gKiAyLiBIaWRlIGBhbHRgIHRleHQgZm9yIGxhenkgbG9hZGluZyBpbWFnZXMuXG4gKiBOb3RlOiBTZWxlY3RvciBmb3IgYmFja2dyb3VuZCB3aGlsZSBsb2FkaW5nIGltZ1tkYXRhLXNyYyo9Jy5qcGcnXVtzcmMqPSdkYXRhOmltYWdlJ10geyBiYWNrZ3JvdW5kOiBncmV5OyB9XG4gKi9cbmltZzpub3QoW3NyY10pIHtcbiAgLyogMSAqL1xuICBtaW4td2lkdGg6IDFweDtcbiAgLyogMiAqL1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLypcbiAqIElmcmFtZVxuICogUmVtb3ZlIGJvcmRlciBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuaWZyYW1lIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qIEJsb2NrIGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBNYXJnaW5zXG4gKi9cbnAsXG51bCxcbm9sLFxuZGwsXG5wcmUsXG5hZGRyZXNzLFxuZmllbGRzZXQsXG5maWd1cmUge1xuICBtYXJnaW46IDAgMCAwIDA7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgcCxcbiogKyB1bCxcbiogKyBvbCxcbiogKyBkbCxcbiogKyBwcmUsXG4qICsgYWRkcmVzcyxcbiogKyBmaWVsZHNldCxcbiogKyBmaWd1cmUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qIEhlYWRpbmdzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmgxLCAudWstaDEsXG5oMiwgLnVrLWgyLFxuaDMsIC51ay1oMyxcbmg0LCAudWstaDQsXG5oNSwgLnVrLWg1LFxuaDYsIC51ay1oNixcbi51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLWhlYWRpbmctbWVkaXVtLFxuLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstaGVhZGluZy14bGFyZ2UsXG4udWstaGVhZGluZy0yeGxhcmdlIHtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICBmb250LWZhbWlseTogXCJCZWJhcyBOZXVlXCIsIGN1cnNpdmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjM2Q0NzVmO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBoMSwgKiArIC51ay1oMSxcbiogKyBoMiwgKiArIC51ay1oMixcbiogKyBoMywgKiArIC51ay1oMyxcbiogKyBoNCwgKiArIC51ay1oNCxcbiogKyBoNSwgKiArIC51ay1oNSxcbiogKyBoNiwgKiArIC51ay1oNixcbiogKyAudWstaGVhZGluZy1zbWFsbCxcbiogKyAudWstaGVhZGluZy1tZWRpdW0sXG4qICsgLnVrLWhlYWRpbmctbGFyZ2UsXG4qICsgLnVrLWhlYWRpbmcteGxhcmdlLFxuKiArIC51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBTaXplc1xuICovXG5oMSwgLnVrLWgxIHtcbiAgZm9udC1zaXplOiAyLjIzMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbmgyLCAudWstaDIge1xuICBmb250LXNpemU6IDEuN3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG5oMywgLnVrLWgzIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuaDQsIC51ay1oNCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuXG5oNSwgLnVrLWg1IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbmg2LCAudWstaDYge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIGgxLCAudWstaDEge1xuICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH1cbiAgaDIsIC51ay1oMiB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9IH1cblxuLyogTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudWwsXG5vbCB7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKlxuICogUmVzZXQgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAqL1xudWwgPiBsaSA+IHVsLFxudWwgPiBsaSA+IG9sLFxub2wgPiBsaSA+IG9sLFxub2wgPiBsaSA+IHVsIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIERlc2NyaXB0aW9uIGxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4vKiBIb3Jpem9udGFsIHJ1bGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBDaHJvbWUsIEVkZ2UgYW5kIElFLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQtYWxpZ24gaW4gRWRnZSBhbmQgSUUuXG4gKiAzLiBTdHlsZVxuICovXG5ociwgLnVrLWhyIHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqL1xuICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAvKiAzICovXG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBocixcbiogKyAudWstaHIge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qIEFkZHJlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiBCbG9ja3F1b3Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBibG9ja3F1b3RlIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKlxuICogQ29udGVudFxuICovXG5ibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ibG9ja3F1b3RlIGZvb3RlciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLyogUHJlZm9ybWF0dGVkIHRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250OiAwLjg3NXJlbSAvIDEuNSBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjNjY2O1xuICAtbW96LXRhYi1zaXplOiA0O1xuICB0YWItc2l6ZTogNDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5wcmUgY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2U7IH1cblxuLyogU2VsZWN0aW9uIHBzZXVkby1lbGVtZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzM5ZjtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiBub25lOyB9XG5cbi8qIEhUTUw1IGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbmRldGFpbHMsXG5tYWluIHtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIFBhc3MgbWVkaWEgYnJlYWtwb2ludHMgdG8gSlNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEJyZWFrcG9pbnRzXG4gKi9cbi51ay1icmVha3BvaW50LXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiNjQwcHhcIjsgfVxuXG4udWstYnJlYWtwb2ludC1tOjpiZWZvcmUge1xuICBjb250ZW50OiBcIjkwMHB4XCI7IH1cblxuLnVrLWJyZWFrcG9pbnQtbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCIxMDAwcHhcIjsgfVxuXG4udWstYnJlYWtwb2ludC14bDo6YmVmb3JlIHtcbiAgY29udGVudDogXCIxMjAwcHhcIjsgfVxuXG46cm9vdCB7XG4gIC0tdWstYnJlYWtwb2ludC1zOiA2NDBweDtcbiAgLS11ay1icmVha3BvaW50LW06IDkwMHB4O1xuICAtLXVrLWJyZWFrcG9pbnQtbDogMTAwMHB4O1xuICAtLXVrLWJyZWFrcG9pbnQteGw6IDEyMDBweDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTm90ZTogMS4gLSA3LiBpcyByZXF1aXJlZCBmb3IgYGJ1dHRvbmAgZWxlbWVudHMuIE5lZWRlZCBmb3IgQ2xvc2UgYW5kIEZvcm0gSWNvbiBjb21wb25lbnQuXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBSZW1vdmUgYm9yZGVyLXJhZGl1cyBpbiBDaHJvbWUuXG4gKiA0LiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNS4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDYuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNy4gUmVtb3ZlIGRlZmF1bHQgYGJ1dHRvbmAgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBjb2xvclxuICogOC4gU3R5bGVcbiAqIDkuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDEwLiBMZXQgdGhlIGNvbnRhaW5lciBmaXQgdGhlIGhlaWdodCBvZiB0aGUgaWNvblxuICovXG4udWstaWNvbiB7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMyAqL1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKiA0ICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiA1ICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiA2ICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiA3LiAqL1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogOCAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDkgKi9cbiAgZmlsbDogY3VycmVudGNvbG9yO1xuICAvKiAxMCAqL1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG4vKiBSZXF1aXJlZCBmb3IgYGJ1dHRvbmAuICovXG5idXR0b24udWstaWNvbjpub3QoOmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuLnVrLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLypcbiAqIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG4udWstaWNvbjpub3QoLnVrLXByZXNlcnZlKSBbZmlsbCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7XG4gIGZpbGw6IGN1cnJlbnRjb2xvcjsgfVxuXG4udWstaWNvbjpub3QoLnVrLXByZXNlcnZlKSBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHtcbiAgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH1cblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cbi51ay1pY29uID4gKiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi8qIEltYWdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEaXNwbGF5IGltYWdlcyBpbiBpY29uIGRpbWVuc2lvbnNcbiAqL1xuLnVrLWljb24taW1hZ2Uge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBMaW5rXG4gKi9cbi51ay1pY29uLWxpbmsge1xuICBjb2xvcjogIzk5OTsgfVxuXG4udWstaWNvbi1saW5rOmhvdmVyLFxuLnVrLWljb24tbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWxpbms6YWN0aXZlLFxuLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmsge1xuICBjb2xvcjogIzU5NTk1OTsgfVxuXG4vKlxuICogQnV0dG9uXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuLnVrLWljb24tYnV0dG9uIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjOTk5O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbi1idXR0b246aG92ZXIsXG4udWstaWNvbi1idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICBjb2xvcjogIzY2NjtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1idXR0b246YWN0aXZlLFxuLnVrLWFjdGl2ZSA+IC51ay1pY29uLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XG4gIGNvbG9yOiAjNjY2OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogICAgRGVmYXVsdCBpcyBgY29udGVudC1ib3hgIHdpdGggZm9sbG93aW5nIGV4Y2VwdGlvbnMgc2V0IHRvIGBib3JkZXItYm94YFxuICogICAgYHNlbGVjdGAsIGBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1gIGFuZCBgaW5wdXRbdHlwZT1cInJhZGlvXCJdYFxuICogICAgYGlucHV0W3R5cGU9XCJzZWFyY2hcIl1gIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYVxuICogICAgYGlucHV0W3R5cGU9XCJjb2xvclwiXWAgaW4gRmlyZWZveFxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbi51ay1pbnB1dCwgLlNpdGVGb3JtX19pbnB1dCxcbi51ay1zZWxlY3QsXG4udWstdGV4dGFyZWEsXG4uU2l0ZUZvcm1fX3RleHRhcmVhLFxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94LFxuLlNpdGVGb3JtX19jaGVja2JveCB7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi9cbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLyogNCAqL1xuICBmb250OiBpbmhlcml0OyB9XG5cbi8qXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG4udWstaW5wdXQsIC5TaXRlRm9ybV9faW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG4udWstc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLypcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogMi4gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCBhbmQgdXNlIGBib2xkYCBpbnN0ZWFkLlxuICogTk9URTogQm90aCBkZWNsYXJhdGlvbnMgZG9uJ3Qgd29yayBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKi9cbi51ay1zZWxlY3Qgb3B0Z3JvdXAge1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbi51ay10ZXh0YXJlYSxcbi5TaXRlRm9ybV9fdGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLCAuU2l0ZUZvcm1fX2lucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbi5TaXRlRm9ybV9faW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgLlNpdGVGb3JtX19pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4uU2l0ZUZvcm1fX2lucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cbi51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLlNpdGVGb3JtX19pbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbi51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlcixcbi5TaXRlRm9ybV9fdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG4udWstcmFkaW86bm90KDpkaXNhYmxlZCksXG4udWstY2hlY2tib3g6bm90KDpkaXNhYmxlZCksXG4uU2l0ZUZvcm1fX2NoZWNrYm94Om5vdCg6ZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cbi51ay1maWVsZHNldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qIElucHV0LCBzZWxlY3QgYW5kIHRleHRhcmVhXG4gKiBBbGxvd2VkOiBgdGV4dGAsIGBwYXNzd29yZGAsIGBkYXRldGltZWAsIGBkYXRldGltZS1sb2NhbGAsIGBkYXRlYCwgIGBtb250aGAsXG4gICAgICAgICAgICBgdGltZWAsIGB3ZWVrYCwgYG51bWJlcmAsIGBlbWFpbGAsIGB1cmxgLCBgc2VhcmNoYCwgYHRlbGAsIGBjb2xvcmBcbiAqIERpc2FsbG93ZWQ6IGByYW5nZWAsIGByYWRpb2AsIGBjaGVja2JveGAsIGBmaWxlYCwgYHN1Ym1pdGAsIGByZXNldGAgYW5kIGBpbWFnZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqL1xuLnVrLWlucHV0LCAuU2l0ZUZvcm1fX2lucHV0LFxuLnVrLXRleHRhcmVhLFxuLlNpdGVGb3JtX190ZXh0YXJlYSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gUmVzZXQgZGVmYXVsdFxuICogNC4gU3R5bGVcbiAqL1xuLnVrLWlucHV0LCAuU2l0ZUZvcm1fX2lucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSxcbi5TaXRlRm9ybV9fdGV4dGFyZWEge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogMyAqL1xuICBib3JkZXI6IDAgbm9uZTtcbiAgLyogNCAqL1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBjb2xvcjogIzNkNDc1ZjsgfVxuXG4vKlxuICogU2luZ2xlLWxpbmVcbiAqIDEuIEFsbG93IGFueSBlbGVtZW50IHRvIGxvb2sgbGlrZSBhbiBgaW5wdXRgIG9yIGBzZWxlY3RgIGVsZW1lbnRcbiAqIDIuIE1ha2Ugc3VyZSBsaW5lLWhlaWdodCBpcyBub3QgbGFyZ2VyIHRoYW4gaGVpZ2h0XG4gKiAgICBBbHNvIG5lZWRlZCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseVxuICovXG4udWstaW5wdXQsIC5TaXRlRm9ybV9faW5wdXQsXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gIGhlaWdodDogNDhweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkM2Q1ZDk7XG4gIGNhcmV0LWNvbG9yOiAjM2I2NWNmO1xuICB0cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3I7IH1cblxuLyogMiAqL1xuLnVrLWlucHV0Om5vdChpbnB1dCksIC5TaXRlRm9ybV9faW5wdXQ6bm90KGlucHV0KSxcbi51ay1zZWxlY3Q6bm90KHNlbGVjdCkge1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi8qXG4gKiBNdWx0aS1saW5lXG4gKi9cbi51ay1zZWxlY3RbbXVsdGlwbGVdLFxuLnVrLXNlbGVjdFtzaXplXSxcbi51ay10ZXh0YXJlYSxcbi5TaXRlRm9ybV9fdGV4dGFyZWEge1xuICBwYWRkaW5nLXRvcDogMTJweDtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLyogRm9jdXMgKi9cbi51ay1pbnB1dDpmb2N1cywgLlNpdGVGb3JtX19pbnB1dDpmb2N1cyxcbi51ay1zZWxlY3Q6Zm9jdXMsXG4udWstdGV4dGFyZWE6Zm9jdXMsXG4uU2l0ZUZvcm1fX3RleHRhcmVhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjM2Q0NzVmOyB9XG5cbi8qIERpc2FibGVkICovXG4udWstaW5wdXQ6ZGlzYWJsZWQsIC5TaXRlRm9ybV9faW5wdXQ6ZGlzYWJsZWQsXG4udWstc2VsZWN0OmRpc2FibGVkLFxuLnVrLXRleHRhcmVhOmRpc2FibGVkLFxuLlNpdGVGb3JtX190ZXh0YXJlYTpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjODY4Njg2OyB9XG5cbi8qXG4gKiBQbGFjZWhvbGRlclxuICovXG4udWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLlNpdGVGb3JtX19pbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KSAhaW1wb3J0YW50OyB9XG5cbi51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC5TaXRlRm9ybV9faW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KTsgfVxuXG4udWstdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLlNpdGVGb3JtX190ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC5TaXRlRm9ybV9fdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KTsgfVxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTbWFsbFxuICovXG4udWstZm9ybS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnVrLWZvcm0tc21hbGw6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7IH1cblxuLnVrLWZvcm0tc21hbGw6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cbi51ay1mb3JtLWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbi51ay1mb3JtLWxhcmdlOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgaGVpZ2h0OiA1NXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7IH1cblxuLnVrLWZvcm0tbGFyZ2U6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHtcbiAgbGluZS1oZWlnaHQ6IDU1cHg7IH1cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRXJyb3JcbiAqL1xuLnVrLWZvcm0tZGFuZ2VyLFxuLnVrLWZvcm0tZGFuZ2VyOmZvY3VzIHtcbiAgY29sb3I6ICNmMjVkNTA7IH1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuLnVrLWZvcm0tc3VjY2Vzcyxcbi51ay1mb3JtLXN1Y2Nlc3M6Zm9jdXMge1xuICBjb2xvcjogIzU3YTc0OTsgfVxuXG4vKlxuICogQmxhbmtcbiAqL1xuLnVrLWZvcm0tYmxhbmsge1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi8qIFdpZHRoIG1vZGlmaWVycyAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBGaXhlZCB3aWR0aHNcbiAqIERpZmZlcmVudCB3aWR0aHMgZm9yIG1pbmkgc2l6ZWQgYGlucHV0YCBhbmQgYHNlbGVjdGAgZWxlbWVudHNcbiAqL1xuaW5wdXQudWstZm9ybS13aWR0aC14c21hbGwge1xuICB3aWR0aDogNTBweDsgfVxuXG5zZWxlY3QudWstZm9ybS13aWR0aC14c21hbGwge1xuICB3aWR0aDogNzVweDsgfVxuXG4udWstZm9ybS13aWR0aC1zbWFsbCB7XG4gIHdpZHRoOiAxMzBweDsgfVxuXG4udWstZm9ybS13aWR0aC1tZWRpdW0ge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLnVrLWZvcm0td2lkdGgtbGFyZ2Uge1xuICB3aWR0aDogNTAwcHg7IH1cblxuLyogU2VsZWN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZS4gQWxzbyB3b3JrcyBpbiBGaXJlZm94XG4gKiAyLiBTdHlsZVxuICogMy4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gSUUgMTAvMTFcbiAqIDQuIFNldCBgY29sb3JgIGZvciBvcHRpb25zIGluIHRoZSBzZWxlY3QgZHJvcGRvd24sIGJlY2F1c2UgdGhlIGluaGVyaXRlZCBgY29sb3JgIG1pZ2h0IGJlIHRvbyBsaWdodC5cbiAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAvKiAxICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiAyICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7IH1cblxuLyogMyAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6Oi1tcy1leHBhbmQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIDQgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIG9wdGlvbiB7XG4gIGNvbG9yOiAjNDQ0OyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzOTk5JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk5OSUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTsgfVxuXG4vKiBEYXRhbGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gQ2hyb21lXG4gKi9cbi51ay1pbnB1dFtsaXN0XSwgLlNpdGVGb3JtX19pbnB1dFtsaXN0XSB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlOyB9XG5cbi51ay1pbnB1dFtsaXN0XTpob3ZlciwgLlNpdGVGb3JtX19pbnB1dFtsaXN0XTpob3Zlcixcbi51ay1pbnB1dFtsaXN0XTpmb2N1cyxcbi5TaXRlRm9ybV9faW5wdXRbbGlzdF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTIlMjA4JTIwNiUyMDE2JTIwNiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTsgfVxuXG4vKiAxICovXG4udWstaW5wdXRbbGlzdF06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciwgLlNpdGVGb3JtX19pbnB1dFtsaXN0XTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBSYWRpbyBhbmQgY2hlY2tib3hcbiAqIE5vdGU6IERvZXMgbm90IHdvcmsgaW4gSUUxMVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIE1ha2UgYm94IG1vcmUgcm9idXN0IHNvIGl0IGNsaXBzIHRoZSBjaGlsZCBlbGVtZW50XG4gKiAzLiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBGaXggYmxhY2sgYmFja2dyb3VuZCBvbiBpT1NcbiAqIDYuIENlbnRlciBpY29uc1xuICovXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gsXG4uU2l0ZUZvcm1fX2NoZWNrYm94IHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTZweDtcbiAgd2lkdGg6IDE2cHg7XG4gIC8qIDIgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogMyAqL1xuICBtYXJnaW4tdG9wOiAtNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiA0ICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiA1ICovXG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjY1Y2Y7XG4gIC8qIDYgKi9cbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsgfVxuXG4udWstcmFkaW8ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpmb2N1cyxcbi51ay1jaGVja2JveDpmb2N1cyxcbi5TaXRlRm9ybV9fY2hlY2tib3g6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG4gKiBDaGVja2VkXG4gKi9cbi51ay1yYWRpbzpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4uU2l0ZUZvcm1fX2NoZWNrYm94OmNoZWNrZWQsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbi5TaXRlRm9ybV9fY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjY1Y2Y7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4uU2l0ZUZvcm1fX2NoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyxcbi5TaXRlRm9ybV9fY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjY1Y2Y7IH1cblxuLypcbiAqIEljb25zXG4gKi9cbi51ay1yYWRpbzpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG5cblxuLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4uU2l0ZUZvcm1fX2NoZWNrYm94OmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMCcgaGVpZ2h0PSc3JyB2aWV3Qm94PScwIDAgMTAgNycgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J004LjIxOTgxIDAuNDY5ODExTDMuNTAwMDYgNS4xODk1NkwxLjc4MDMxIDMuNDY5ODFDMS40ODYwMyAzLjE4NTU4IDEuMDE4MjUgMy4xODk2NSAwLjcyODk0NyAzLjQ3ODk1QzAuNDM5NjQ3IDMuNzY4MjUgMC40MzU1ODIgNC4yMzYwMyAwLjcxOTgxMSA0LjUzMDMxTDIuOTY5ODEgNi43ODAzMUMzLjI2MjY5IDcuMDczMSAzLjczNzQ0IDcuMDczMSA0LjAzMDMxIDYuNzgwMzFMOS4yODAzMSAxLjUzMDMxQzkuNTY0NTQgMS4yMzYwMyA5LjU2MDQ3IDAuNzY4MjQ4IDkuMjcxMTcgMC40Nzg5NDdDOC45ODE4NyAwLjE4OTY0NyA4LjUxNDEgMC4xODU1ODIgOC4yMTk4MSAwLjQ2OTgxMVonIGZpbGw9J3doaXRlJy8lM0UlM0Mvc3ZnJTNFJTBBXCIpOyB9XG5cblxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4uU2l0ZUZvcm1fX2NoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuLnVrLXJhZGlvOmRpc2FibGVkLFxuLnVrLWNoZWNrYm94OmRpc2FibGVkLFxuLlNpdGVGb3JtX19jaGVja2JveDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM4ZGE1ZTM7IH1cblxuLnVrLXJhZGlvOmRpc2FibGVkOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyJTIzOTk5JTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7IH1cblxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmNoZWNrZWQsIC5TaXRlRm9ybV9fY2hlY2tib3g6ZGlzYWJsZWQ6Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEwJyBoZWlnaHQ9JzcnIHZpZXdCb3g9JzAgMCAxMCA3JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTguMjE5ODEgMC40Njk4MTFMMy41MDAwNiA1LjE4OTU2TDEuNzgwMzEgMy40Njk4MUMxLjQ4NjAzIDMuMTg1NTggMS4wMTgyNSAzLjE4OTY1IDAuNzI4OTQ3IDMuNDc4OTVDMC40Mzk2NDcgMy43NjgyNSAwLjQzNTU4MiA0LjIzNjAzIDAuNzE5ODExIDQuNTMwMzFMMi45Njk4MSA2Ljc4MDMxQzMuMjYyNjkgNy4wNzMxIDMuNzM3NDQgNy4wNzMxIDQuMDMwMzEgNi43ODAzMUw5LjI4MDMxIDEuNTMwMzFDOS41NjQ1NCAxLjIzNjAzIDkuNTYwNDcgMC43NjgyNDggOS4yNzExNyAwLjQ3ODk0N0M4Ljk4MTg3IDAuMTg5NjQ3IDguNTE0MSAwLjE4NTU4MiA4LjIxOTgxIDAuNDY5ODExWicgZmlsbD0nd2hpdGUnLyUzRSUzQy9zdmclM0UlMEFcIik7IH1cblxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUsIC5TaXRlRm9ybV9fY2hlY2tib3g6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzOTk5JTIyJTIweCUzRCUyMjMlMjIlMjB5JTNEJTIyOCUyMiUyMHdpZHRoJTNEJTIyMTAlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpOyB9XG5cbi8qIExlZ2VuZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTGVnZW5kXG4gKiAxLiBCZWhhdmUgbGlrZSBibG9jayBlbGVtZW50XG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiA0LiBTdHlsZVxuICovXG4udWstbGVnZW5kIHtcbiAgLyogMSAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMyAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiA0ICovXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbi8qIEN1c3RvbSBjb250cm9sc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKi9cbi51ay1mb3JtLWN1c3RvbSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMyAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDQgKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKlxuICogMS4gUG9zaXRpb24gYW5kIHJlc2l6ZSB0aGUgZm9ybSBjb250cm9sIHRvIGFsd2F5cyBjb3ZlciBpdHMgY29udGFpbmVyXG4gKiAyLiBSZXF1aXJlZCBmb3IgRmlyZWZveCBmb3IgcG9zaXRpb25pbmcgdG8gdGhlIGxlZnRcbiAqIDMuIFJlcXVpcmVkIGZvciBXZWJraXQgdG8gbWFrZSBgaGVpZ2h0YCB3b3JrXG4gKiA0LiBIaWRlIGNvbnRyb2xlIGFuZCBzaG93IGN1cnNvclxuICogNS4gTmVlZGVkIGZvciB0aGUgY3Vyc29yXG4gKiA2LiBDbGlwIGhlaWdodCBjYXVzZWQgYnkgNS4gTmVlZGVkIGZvciBXZWJraXQgb25seVxuICovXG4udWstZm9ybS1jdXN0b20gc2VsZWN0LFxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLyogMiAqL1xuICBsZWZ0OiAwO1xuICAvKiAzICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogNCAqL1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgLyogNSAqL1xuICBmb250LXNpemU6IDUwMHB4O1xuICAvKiA2ICovXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogTGFiZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTGF5b3V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTdGFja2VkXG4gKi9cbi51ay1mb3JtLXN0YWNrZWQgLnVrLWZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4vKlxuICogSG9yaXpvbnRhbFxuICovXG4vKiBUYWJsZXQgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAvKiBCZWhhdmUgbGlrZSBgdWstZm9ybS1zdGFja2VkYCAqL1xuICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzIHtcbiAgICBtYXJnaW4tbGVmdDogMjE1cHg7IH1cbiAgLyogQmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudCBpZiBjb250cm9scyBhcmUgY2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9ucyB3aXRoIHRleHQgKi9cbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scy10ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogN3B4OyB9IH1cblxuLyogSWNvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2V0IHdpZHRoXG4gKiAzLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDQuIFN0eWxlXG4gKi9cbi51ay1mb3JtLWljb24ge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDQ4cHg7XG4gIC8qIDMgKi9cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiA0ICovXG4gIGNvbG9yOiAjOTk5OyB9XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG4udWstZm9ybS1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG4udWstZm9ybS1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIElucHV0IHBhZGRpbmdcbiAqL1xuLnVrLWZvcm0taWNvbjpub3QoLnVrLWZvcm0taWNvbi1mbGlwKSB+IC51ay1pbnB1dCwgLnVrLWZvcm0taWNvbjpub3QoLnVrLWZvcm0taWNvbi1mbGlwKSB+IC5TaXRlRm9ybV9faW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHggIWltcG9ydGFudDsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuLnVrLWZvcm0taWNvbi1mbGlwIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnVrLWZvcm0taWNvbi1mbGlwIH4gLnVrLWlucHV0LCAudWstZm9ybS1pY29uLWZsaXAgfiAuU2l0ZUZvcm1fX2lucHV0IHtcbiAgcGFkZGluZy1yaWdodDogNDhweCAhaW1wb3J0YW50OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCdXR0b25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA0LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA2LiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBmb3IgYGlucHV0IHR5cGU9XCJzdWJtaXRcImBpbiBpT1MuXG4gKiA3LiBTdHlsZVxuICogOC4gYGxpbmUtaGVpZ2h0YCBpcyB1c2VkIHRvIGNyZWF0ZSBhIGhlaWdodCBiZWNhdXNlIGl0IGFsc28gY2VudGVycyB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGZvciBgYWAgZWxlbWVudHMuXG4gKiAgICBCZXR0ZXIgd291bGQgYmUgdG8gdXNlIGhlaWdodCBhbmQgZmxleGJveCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseSBidXQgZmxleGJveCBkb2Vzbid0IHdvcmsgaW4gRmlyZWZveCBvbiBgYnV0dG9uYCBlbGVtZW50cy5cbiAqIDkuIEFsaWduIHRleHQgaWYgYnV0dG9uIGhhcyBhIHdpZHRoXG4gKiAxMC4gUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuLnVrLWJ1dHRvbiwgLlNpdGVIZWFkZXJfX2J1dHRvbiwgLlNpdGVIZWFkZXJfX2hhbWJ1cmdlciwgLlNpdGVPZmZDYW52YXNfX2Nsb3NlLCAuU2l0ZUZvcm1fX2J1dHRvbiwgLkNvbnN1bHRhdGlvbl9fYnV0dG9uLCAuU2VydmljZUNhcmRfX2J1dHRvbiwgLkVycm9yUGFnZV9fYnV0dG9uIHtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAzICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiA0ICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiA1ICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiA2ICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLyogNyAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDAgMjRweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIC8qIDggKi9cbiAgbGluZS1oZWlnaHQ6IDQycHg7XG4gIC8qIDkgKi9cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvKiAxMCAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGNvbG9yLCBib3JkZXItY29sb3I7IH1cblxuLnVrLWJ1dHRvbjpub3QoOmRpc2FibGVkKSwgLlNpdGVIZWFkZXJfX2J1dHRvbjpub3QoOmRpc2FibGVkKSwgLlNpdGVIZWFkZXJfX2hhbWJ1cmdlcjpub3QoOmRpc2FibGVkKSwgLlNpdGVPZmZDYW52YXNfX2Nsb3NlOm5vdCg6ZGlzYWJsZWQpLCAuU2l0ZUZvcm1fX2J1dHRvbjpub3QoOmRpc2FibGVkKSwgLkNvbnN1bHRhdGlvbl9fYnV0dG9uOm5vdCg6ZGlzYWJsZWQpLCAuU2VydmljZUNhcmRfX2J1dHRvbjpub3QoOmRpc2FibGVkKSwgLkVycm9yUGFnZV9fYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG4udWstYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCAuU2l0ZUhlYWRlcl9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCAuU2l0ZUhlYWRlcl9faGFtYnVyZ2VyOjotbW96LWZvY3VzLWlubmVyLCAuU2l0ZU9mZkNhbnZhc19fY2xvc2U6Oi1tb3otZm9jdXMtaW5uZXIsIC5TaXRlRm9ybV9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCAuQ29uc3VsdGF0aW9uX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIC5TZXJ2aWNlQ2FyZF9fYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLCAuRXJyb3JQYWdlX19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyogSG92ZXIgKi9cbi51ay1idXR0b246aG92ZXIsIC5TaXRlSGVhZGVyX19idXR0b246aG92ZXIsIC5TaXRlSGVhZGVyX19oYW1idXJnZXI6aG92ZXIsIC5TaXRlT2ZmQ2FudmFzX19jbG9zZTpob3ZlciwgLlNpdGVGb3JtX19idXR0b246aG92ZXIsIC5Db25zdWx0YXRpb25fX2J1dHRvbjpob3ZlciwgLlNlcnZpY2VDYXJkX19idXR0b246aG92ZXIsIC5FcnJvclBhZ2VfX2J1dHRvbjpob3ZlciB7XG4gIC8qIDkgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIEZvY3VzICovXG4udWstYnV0dG9uOmZvY3VzLCAuU2l0ZUhlYWRlcl9fYnV0dG9uOmZvY3VzLCAuU2l0ZUhlYWRlcl9faGFtYnVyZ2VyOmZvY3VzLCAuU2l0ZU9mZkNhbnZhc19fY2xvc2U6Zm9jdXMsIC5TaXRlRm9ybV9fYnV0dG9uOmZvY3VzLCAuQ29uc3VsdGF0aW9uX19idXR0b246Zm9jdXMsIC5TZXJ2aWNlQ2FyZF9fYnV0dG9uOmZvY3VzLCAuRXJyb3JQYWdlX19idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICovXG4udWstYnV0dG9uLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMzZDQ3NWY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiZmJmYmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tZGVmYXVsdDpob3Zlcixcbi51ay1idXR0b24tZGVmYXVsdDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjY1Y2Y7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWNvbG9yOiAjM2I2NWNmOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsXG4udWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNiNjVjZjtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cbi51ay1idXR0b24tcHJpbWFyeSwgLlNpdGVIZWFkZXJfX2J1dHRvbiwgLlNpdGVIZWFkZXJfX2hhbWJ1cmdlciwgLlNpdGVPZmZDYW52YXNfX2Nsb3NlLCAuU2l0ZUZvcm1fX2J1dHRvbiwgLkNvbnN1bHRhdGlvbl9fYnV0dG9uLCAuU2VydmljZUNhcmRfX2J1dHRvbiwgLkVycm9yUGFnZV9fYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNiNjVjZjtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLlNpdGVIZWFkZXJfX2J1dHRvbjpob3ZlciwgLlNpdGVIZWFkZXJfX2hhbWJ1cmdlcjpob3ZlciwgLlNpdGVPZmZDYW52YXNfX2Nsb3NlOmhvdmVyLCAuU2l0ZUZvcm1fX2J1dHRvbjpob3ZlciwgLkNvbnN1bHRhdGlvbl9fYnV0dG9uOmhvdmVyLCAuU2VydmljZUNhcmRfX2J1dHRvbjpob3ZlciwgLkVycm9yUGFnZV9fYnV0dG9uOmhvdmVyLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzLFxuLlNpdGVIZWFkZXJfX2J1dHRvbjpmb2N1cyxcbi5TaXRlSGVhZGVyX19oYW1idXJnZXI6Zm9jdXMsXG4uU2l0ZU9mZkNhbnZhc19fY2xvc2U6Zm9jdXMsXG4uU2l0ZUZvcm1fX2J1dHRvbjpmb2N1cyxcbi5Db25zdWx0YXRpb25fX2J1dHRvbjpmb2N1cyxcbi5TZXJ2aWNlQ2FyZF9fYnV0dG9uOmZvY3VzLFxuLkVycm9yUGFnZV9fYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJmNTljMTtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsIC5TaXRlSGVhZGVyX19idXR0b246YWN0aXZlLCAuU2l0ZUhlYWRlcl9faGFtYnVyZ2VyOmFjdGl2ZSwgLlNpdGVPZmZDYW52YXNfX2Nsb3NlOmFjdGl2ZSwgLlNpdGVGb3JtX19idXR0b246YWN0aXZlLCAuQ29uc3VsdGF0aW9uX19idXR0b246YWN0aXZlLCAuU2VydmljZUNhcmRfX2J1dHRvbjphY3RpdmUsIC5FcnJvclBhZ2VfX2J1dHRvbjphY3RpdmUsXG4udWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuLnVrLWFjdGl2ZS5TaXRlSGVhZGVyX19idXR0b24sXG4udWstYWN0aXZlLlNpdGVIZWFkZXJfX2hhbWJ1cmdlcixcbi51ay1hY3RpdmUuU2l0ZU9mZkNhbnZhc19fY2xvc2UsXG4udWstYWN0aXZlLlNpdGVGb3JtX19idXR0b24sXG4udWstYWN0aXZlLkNvbnN1bHRhdGlvbl9fYnV0dG9uLFxuLnVrLWFjdGl2ZS5TZXJ2aWNlQ2FyZF9fYnV0dG9uLFxuLnVrLWFjdGl2ZS5FcnJvclBhZ2VfX2J1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyYTRmYWQ7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjODY4Njg2OyB9XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4udWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cbi51ay1idXR0b24tZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyNWQ1MDtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6aG92ZXIsXG4udWstYnV0dG9uLWRhbmdlcjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDQ3Mzg7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGFuZ2VyOmFjdGl2ZSxcbi51ay1idXR0b24tZGFuZ2VyLnVrLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZTMxMjA7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICogVGhlIHNhbWUgZm9yIGFsbCBzdHlsZSBtb2RpZmllcnNcbiAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmRpc2FibGVkLFxuLlNpdGVIZWFkZXJfX2J1dHRvbjpkaXNhYmxlZCxcbi5TaXRlSGVhZGVyX19oYW1idXJnZXI6ZGlzYWJsZWQsXG4uU2l0ZU9mZkNhbnZhc19fY2xvc2U6ZGlzYWJsZWQsXG4uU2l0ZUZvcm1fX2J1dHRvbjpkaXNhYmxlZCxcbi5Db25zdWx0YXRpb25fX2J1dHRvbjpkaXNhYmxlZCxcbi5TZXJ2aWNlQ2FyZF9fYnV0dG9uOmRpc2FibGVkLFxuLkVycm9yUGFnZV9fYnV0dG9uOmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLWRhbmdlcjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzYjY1Y2Y7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYnV0dG9uLXNtYWxsIHtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4udWstYnV0dG9uLWxhcmdlLCAuU2l0ZUhlYWRlcl9fYnV0dG9uLCAuU2l0ZUhlYWRlcl9faGFtYnVyZ2VyLCAuU2l0ZU9mZkNhbnZhc19fY2xvc2Uge1xuICBwYWRkaW5nOiAwIDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0N3B4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4vKiBUZXh0IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogVGV4dFxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cbi51ay1idXR0b24tdGV4dCB7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgLyogMiAqL1xuICBjb2xvcjogIzk5OTsgfVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXRleHQ6aG92ZXIsXG4udWstYnV0dG9uLXRleHQ6Zm9jdXMge1xuICBjb2xvcjogIzY2NjsgfVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLypcbiAqIExpbmtcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG4udWstYnV0dG9uLWxpbmsge1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIC8qIDIgKi9cbiAgY29sb3I6ICMxZTg3ZjA7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1saW5rOmhvdmVyLFxuLnVrLWJ1dHRvbi1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICMwZjZlY2Q7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLWxpbms6ZGlzYWJsZWQge1xuICBjb2xvcjogIzk5OTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qIEdyb3VwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBVc2luZyBgZmxleGAgaW5zdGVhZCBvZiBgaW5saW5lLWJsb2NrYCB0byBwcmV2ZW50IHdoaXRlc3BhY2UgYmV0d2VlbnQgY2hpbGQgZWxlbWVudHNcbiAqIDIuIEJlaGF2ZSBsaWtlIGJ1dHRvblxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqL1xuLnVrLWJ1dHRvbi1ncm91cCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIC8qIDIgKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMyAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQm94IHNpemluZyBoYXMgdG8gYmUgYGNvbnRlbnQtYm94YCBzbyB0aGUgbWF4LXdpZHRoIGlzIGFsd2F5cyB0aGUgc2FtZSBhbmRcbiAqICAgIHVuYWZmZWN0ZWQgYnkgdGhlIHBhZGRpbmcgb24gZGlmZmVyZW50IGJyZWFrcG9pbnRzLiBJdCdzIGltcG9ydGFudCBmb3IgdGhlIHNpemUgbW9kaWZpZXJzLlxuICovXG4udWstY29udGFpbmVyLCAuTGF5b3V0X19jb250YWluZXIge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG1heC13aWR0aDogMTI2MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudWstY29udGFpbmVyLCAuTGF5b3V0X19jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnVrLWNvbnRhaW5lciwgLkxheW91dF9fY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfSB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWNvbnRhaW5lciA+IDpsYXN0LWNoaWxkLCAuTGF5b3V0X19jb250YWluZXIgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLypcbiAqIFJlbW92ZSBwYWRkaW5nIGZyb20gbmVzdGVkIGNvbnRhaW5lcnNcbiAqL1xuLnVrLWNvbnRhaW5lciAudWstY29udGFpbmVyLCAuTGF5b3V0X19jb250YWluZXIgLnVrLWNvbnRhaW5lciwgLnVrLWNvbnRhaW5lciAuTGF5b3V0X19jb250YWluZXIsIC5MYXlvdXRfX2NvbnRhaW5lciAuTGF5b3V0X19jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29udGFpbmVyLXhzbWFsbCB7XG4gIG1heC13aWR0aDogNzUwcHg7IH1cblxuLnVrLWNvbnRhaW5lci1zbWFsbCwgLkxheW91dF9fY29udGFpbmVyLS1zbWFsbCB7XG4gIG1heC13aWR0aDogODA4cHg7IH1cblxuLnVrLWNvbnRhaW5lci1sYXJnZSB7XG4gIG1heC13aWR0aDogMTQwMHB4OyB9XG5cbi51ay1jb250YWluZXIteGxhcmdlLCAuTGF5b3V0X19jb250YWluZXItLXhsYXJnZSB7XG4gIG1heC13aWR0aDogMTkyMHB4OyB9XG5cbi51ay1jb250YWluZXItZXhwYW5kIHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qIEV4cGFuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRXhwYW5kIG9uZSBzaWRlIG9ubHlcbiAqL1xuLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDc1MHB4IC8gMikgLSAyNHB4KTsgfVxuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCwgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC5MYXlvdXRfX2NvbnRhaW5lci0tc21hbGwsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQuTGF5b3V0X19jb250YWluZXItLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDgwOHB4IC8gMikgLSAyNHB4KTsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDEyNjBweCAvIDIpIC0gMzJweCk7IH1cbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDc1MHB4IC8gMikgLSAzMnB4KTsgfVxuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCwgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC5MYXlvdXRfX2NvbnRhaW5lci0tc21hbGwsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQuTGF5b3V0X19jb250YWluZXItLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDgwOHB4IC8gMikgLSAzMnB4KTsgfVxuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1sYXJnZSxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLWxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDE0MDBweCAvIDIpIC0gMzJweCk7IH1cbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteGxhcmdlLCAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LkxheW91dF9fY29udGFpbmVyLS14bGFyZ2UsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14bGFyZ2UsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LkxheW91dF9fY29udGFpbmVyLS14bGFyZ2Uge1xuICAgIG1heC13aWR0aDogY2FsYyg1MCUgKyAoMTkyMHB4IC8gMikgLSAzMnB4KTsgfSB9XG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFV0aWxpdHkgY2xhc3NlcyB0byByZXNldCBjb250YWluZXIgcGFkZGluZyBvbiB0aGUgbGVmdCBvciByaWdodCBzaWRlXG4gKiBOb3RlOiBJdCBoYXMgdG8gYmUgbmVnYXRpdmUgbWFyZ2luIG9uIHRoZSBpdGVtLCBiZWNhdXNlIGl0J3Mgc3BlY2lmaWMgdG8gdGhlIGl0ZW0uXG4gKi9cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDE2cHgpOyB9XG5cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4OyB9XG5cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogLTE2cHg7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMjRweCk7IH1cbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMjRweDsgfVxuICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogLTI0cHg7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMzJweCk7IH1cbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMzJweDsgfVxuICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogLTMycHg7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ2xvc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuLnVrLWNsb3NlIHtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWNsb3NlOmhvdmVyLFxuLnVrLWNsb3NlOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNwaW5uZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuLyogU1ZHXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zcGlubmVyID4gKiB7XG4gIGFuaW1hdGlvbjogdWstc3Bpbm5lci1yb3RhdGUgMS40cyBsaW5lYXIgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLXJvdGF0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9IH1cblxuLypcbiAqIENpcmNsZVxuICovXG4udWstc3Bpbm5lciA+ICogPiAqIHtcbiAgc3Ryb2tlLWRhc2hhcnJheTogODhweDtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgYW5pbWF0aW9uOiB1ay1zcGlubmVyLWRhc2ggMS40cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgc3Ryb2tlLXdpZHRoOiAxO1xuICBzdHJva2UtbGluZWNhcDogcm91bmQ7IH1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLWRhc2gge1xuICAwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDg4cHg7IH1cbiAgNTAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMjJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpOyB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA4OHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1MGRlZyk7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTW9kYWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuLnVrLW1vZGFsIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAxO1xuICAvKiAzICovXG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLyogNCAqL1xuICBwYWRkaW5nOiAxNXB4IDE1cHg7XG4gIC8qIDUgKi9cbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAvKiA2ICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLW1vZGFsIHtcbiAgICBwYWRkaW5nOiA1MHB4IDMwcHg7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudWstbW9kYWwge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9IH1cblxuLypcbiAqIE9wZW5cbiAqL1xuLnVrLW1vZGFsLnVrLW9wZW4ge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG4udWstbW9kYWwtcGFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRGlhbG9nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3Igc3Bpbm5lciBhbmQgY2xvc2UgYnV0dG9uXG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBGaXggYG1heC13aWR0aDogMTAwJWAgbm90IHdvcmtpbmcgaW4gY29tYmluYXRpb24gd2l0aCBmbGV4IGFuZCByZXNwb25zaXZlIGltYWdlcyBpbiBJRTExXG4gKiAgICBgIWltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJ3cml0ZSBgdWstd2lkdGgtYXV0b2AuIFNlZSBgI21vZGFsLW1lZGlhLWltYWdlYCBpbiB0ZXN0c1xuICogNC4gU3R5bGVcbiAqIDUuIFNsaWRlLWluIHRyYW5zaXRpb25cbiAqL1xuLnVrLW1vZGFsLWRpYWxvZyB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogNjAwcHg7XG4gIC8qIDMgKi9cbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAwLjAxcHgpICFpbXBvcnRhbnQ7XG4gIC8qIDQgKi9cbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogNSAqL1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgdHJhbnNpdGlvbjogMC4zcyBsaW5lYXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTsgfVxuXG4vKlxuICogT3BlblxuICovXG4udWstb3BlbiA+IC51ay1tb2RhbC1kaWFsb2cge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQ29udGFpbmVyIHNpemVcbiAqIFRha2UgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgQ29udGFpbmVyIGNvbXBvbmVudFxuICovXG4udWstbW9kYWwtY29udGFpbmVyIC51ay1tb2RhbC1kaWFsb2cge1xuICB3aWR0aDogMTIwMHB4OyB9XG5cbi8qXG4gKiBGdWxsIHNpemVcbiAqIDEuIFJlbW92ZSBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGZyb20gbW9kYWxcbiAqIDIuIFJlc2V0IGFsbCBkZWZhdWx0IGRlY2xhcmF0aW9ucyBmcm9tIG1vZGFsIGRpYWxvZ1xuICovXG4vKiAxICovXG4udWstbW9kYWwtZnVsbCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLyogMiAqL1xuLnVrLW1vZGFsLWZ1bGwgLnVrLW1vZGFsLWRpYWxvZyB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tb2RhbC1ib2R5IHtcbiAgZGlzcGxheTogZmxvdy1yb290O1xuICBwYWRkaW5nOiAwIDA7IH1cblxuLnVrLW1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgcGFkZGluZzogMTVweCAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4OyB9XG5cbi51ay1tb2RhbC1mb290ZXIge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1tb2RhbC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstbW9kYWwtaGVhZGVyID4gOmxhc3QtY2hpbGQsXG4udWstbW9kYWwtZm9vdGVyID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tb2RhbC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ10ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDE7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmc6IDVweDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ106Zmlyc3QtY2hpbGQgKyAqIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLypcbiAqIE91dHNpZGVcbiAqIDEuIFByZXZlbnQgc2Nyb2xsYmFyIG9uIHNtYWxsIGRldmljZXNcbiAqL1xuLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICB0b3A6IDA7XG4gIC8qIDEgKi9cbiAgcmlnaHQ6IC01cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0xMDAlKTtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLyogMSAqL1xuICAudWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTAwJSwgLTEwMCUpOyB9IH1cblxuLypcbiAqIEZ1bGxcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpZ2h0Ym94XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKiA3LiBQcmV2ZW50IGNhbmNlbGxhdGlvbiBvZiBwb2ludGVyIGV2ZW50cyB3aGlsZSBkcmFnZ2luZ1xuICovXG4udWstbGlnaHRib3gge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMTA7XG4gIC8qIDUgKi9cbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgLyogNiAqL1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgLyogNyAqL1xuICB0b3VjaC1hY3Rpb246IHBpbmNoLXpvb207IH1cblxuLypcbiAqIE9wZW5cbiAqIDEuIENlbnRlciBjaGlsZFxuICogMi4gRmFkZS1pblxuICovXG4udWstbGlnaHRib3gudWstb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvKiAyICovXG4gIG9wYWNpdHk6IDE7IH1cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cbi51ay1saWdodGJveC1wYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDZW50ZXIgY2hpbGQgd2l0aGluIHRoZSB2aWV3cG9ydFxuICogMi4gTm90IHZpc2libGUgYnkgZGVmYXVsdFxuICogMy4gQ29sb3IgbmVlZGVkIGZvciBzcGlubmVyIGljb25cbiAqIDQuIE9wdGltaXplIGFuaW1hdGlvblxuICogNS4gUmVzcG9uc2l2ZW5lc3NcbiAqICAgIFVzaW5nIGB2aGAgZm9yIGBtYXgtaGVpZ2h0YCB0byBmaXggaW1hZ2UgcHJvcG9ydGlvbnMgYWZ0ZXIgcmVzaXplIGluIFNhZmFyaSBhbmQgT3BlcmFcbiAqICAgIFVzaW5nIGB2aGAgYW5kIGB2d2AgdG8gbWFrZSByZXNwb25zaXZlIGltYWdlIHdvcmsgaW4gSUUxMVxuICogNi4gU3VwcHJlc3Mgb3V0bGluZSBvbiBmb2N1c1xuICovXG4udWstbGlnaHRib3gtaXRlbXMgPiAqIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiBub25lO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLyogMyAqL1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAvKiA0ICovXG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7IH1cblxuLyogNSAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiA+ICoge1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICBtYXgtaGVpZ2h0OiAxMDB2aDsgfVxuXG4vKiA2ICovXG4udWstbGlnaHRib3gtaXRlbXMgPiA6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiA6bm90KGlmcmFtZSkge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi51ay1saWdodGJveC1pdGVtcyA+IC51ay1hY3RpdmUge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi8qIFRvb2xiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxpZ2h0Ym94LXRvb2xiYXIge1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsgfVxuXG4udWstbGlnaHRib3gtdG9vbGJhciA+ICoge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOyB9XG5cbi8qIFRvb2xiYXIgSWNvbiAoQ2xvc2UpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saWdodGJveC10b29sYmFyLWljb24ge1xuICBwYWRkaW5nOiA1cHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cbi51ay1saWdodGJveC10b29sYmFyLWljb246aG92ZXIge1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBCdXR0b24gKFNsaWRlbmF2KVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cbi51ay1saWdodGJveC1idXR0b24ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG4udWstbGlnaHRib3gtYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogQ2FwdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGlnaHRib3gtY2FwdGlvbjplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogSWZyYW1lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saWdodGJveC1pZnJhbWUge1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IDgwJTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTm90aWZpY2F0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIERpbWVuc2lvbnNcbiAqL1xuLnVrLW5vdGlmaWNhdGlvbiB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDIwMDQxO1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAzNTBweDsgfVxuXG4vKiBQb3NpdGlvbiBtb2RpZmllcnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbm90aWZpY2F0aW9uLXRvcC1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwcHg7IH1cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyLFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTE3NXB4OyB9XG5cbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMHB4OyB9XG5cbi8qIFJlc3BvbnNpdmVuZXNzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogUGhvbmVzIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLnVrLW5vdGlmaWNhdGlvbiB7XG4gICAgbGVmdDogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDA7IH0gfVxuXG4vKiBNZXNzYWdlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiAjY2M5OTY2O1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4OyB9XG5cbiogKyAudWstbm90aWZpY2F0aW9uLW1lc3NhZ2Uge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbm90aWZpY2F0aW9uLWNsb3NlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDEycHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudWstbm90aWZpY2F0aW9uLWNsb3NlLCAudWstbm90aWZpY2F0aW9uLWNsb3NlOmhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlOmhvdmVyIC51ay1ub3RpZmljYXRpb24tY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByaW1hcnlcbiAqL1xuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjYzk5NjY7IH1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3Mge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1N2E3NDk7IH1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmJiMzE7IH1cblxuLypcbiAqIERhbmdlclxuICovXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjI1ZDUwOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbmltYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4vKiBBbmltYXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBGYWRlXG4gKi9cbi51ay1hbmltYXRpb24tZmFkZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlO1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuOHM7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxuXG4vKlxuICogU2NhbGVcbiAqL1xuLnVrLWFuaW1hdGlvbi1zY2FsZS11cCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTAyOyB9XG5cbi51ay1hbmltYXRpb24tc2NhbGUtZG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTE4OyB9XG5cbi8qXG4gKiBTbGlkZVxuICovXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcDsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbTsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0OyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodDsgfVxuXG4vKlxuICogU2xpZGUgU21hbGxcbiAqL1xuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3Atc21hbGwge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3Atc21hbGw7IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tc21hbGwge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tc21hbGw7IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1zbWFsbDsgfVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LXNtYWxsIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtc21hbGw7IH1cblxuLypcbiAqIFNsaWRlIE1lZGl1bVxuICovXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1tZWRpdW0ge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3AtbWVkaXVtOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1tZWRpdW07IH1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtbWVkaXVtOyB9XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtbWVkaXVtOyB9XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG4udWstYW5pbWF0aW9uLWtlbmJ1cm5zIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLXNjYWxlLWtlbmJ1cm5zO1xuICBhbmltYXRpb24tZHVyYXRpb246IDE1czsgfVxuXG4vKlxuICogU2hha2VcbiAqL1xuLnVrLWFuaW1hdGlvbi1zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1zaGFrZTsgfVxuXG4vKlxuICogU1ZHIFN0cm9rZVxuICogVGhlIGAtLXVrLWFuaW1hdGlvbi1zdHJva2VgIGN1c3RvbSBwcm9wZXJ0eSBjb250YWlucyB0aGUgbG9uZ2VzdCBwYXRoIGxlbmd0aC5cbiAqIFNldCBpdCBtYW51YWxseSBvciB1c2UgYHVrLXN2Zz1cInN0cm9rZS1hbmltYXRpb246IHRydWVcImAgdG8gc2V0IGl0IGF1dG9tYXRpY2FsbHkuXG4gKiBBbGwgc3Ryb2tlcyBhcmUgYW5pbWF0ZWQgYnkgdGhlIHNhbWUgcGFjZSBhbmQgZG9lc24ndCBlbmQgc2ltdWx0YW5lb3VzbHkuXG4gKiBUbyBlbmQgc2ltdWx0YW5lb3VzbHksIGBwYXRoTGVuZ3RoPVwiMVwiYCBjb3VsZCBiZSB1c2VkLCBidXQgaXQncyBub3Qgd29ya2luZyBpbiBTYWZhcmkgeWV0LlxuICovXG4udWstYW5pbWF0aW9uLXN0cm9rZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1zdHJva2U7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IHZhcigtLXVrLWFuaW1hdGlvbi1zdHJva2UpO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzOyB9XG5cbi8qIERpcmVjdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYW5pbWF0aW9uLXJldmVyc2Uge1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbi8qIER1cmF0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hbmltYXRpb24tZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4yNXM7IH1cblxuLyogVG9nZ2xlIChIb3ZlciArIEZvY3VzKVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBUaGUgdG9nZ2xlIGlzIHRyaWdnZXJlZCBvbiB0b3VjaCBkZXZpY2VzIHVzaW5nIGA6Zm9jdXNgIGFuZCB0YWJpbmRleFxuICovXG4udWstYW5pbWF0aW9uLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSBbY2xhc3MqPSd1ay1hbmltYXRpb24tJ10ge1xuICBhbmltYXRpb24tbmFtZTogbm9uZTsgfVxuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuLnVrLWFuaW1hdGlvbi10b2dnbGUge1xuICAvKiAxICovXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLypcbiAqIFJlbW92ZSBvdXRsaW5lIGZvciBgdGFiaW5kZXhgXG4gKi9cbi51ay1hbmltYXRpb24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBLZXlmcmFtZXMgdXNlZCBieSBhbmltYXRpb24gY2xhc3Nlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRmFkZVxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLypcbiAqIFNsaWRlIFRvcFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBCb3R0b21cbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBMZWZ0XG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBSaWdodFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgVG9wIFNtYWxsXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS10b3Atc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIEJvdHRvbSBTbWFsbFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIExlZnQgU21hbGxcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIFJpZ2h0IFNtYWxsXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodC1zbWFsbCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBUb3AgTWVkaXVtXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS10b3AtbWVkaXVtIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi8qXG4gKiBTbGlkZSBCb3R0b20gTWVkaXVtXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tbWVkaXVtIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLypcbiAqIFNsaWRlIExlZnQgTWVkaXVtXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0LW1lZGl1bSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4vKlxuICogU2xpZGUgUmlnaHQgTWVkaXVtXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodC1tZWRpdW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4vKlxuICogU2NhbGUgVXBcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTAyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi8qXG4gKiBTY2FsZSBEb3duXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0xOCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS44KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuQGtleWZyYW1lcyB1ay1zY2FsZS1rZW5idXJucyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfSB9XG5cbi8qXG4gKiBTaGFrZVxuICovXG5Aa2V5ZnJhbWVzIHVrLXNoYWtlIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOXB4KTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03cHgpOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpOyB9IH1cblxuLypcbiAqIFN0cm9rZVxuICovXG5Aa2V5ZnJhbWVzIHVrLXN0cm9rZSB7XG4gIDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogdmFyKC0tdWstYW5pbWF0aW9uLXN0cm9rZSk7IH1cbiAgMTAwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IH0gfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtbGVhZCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzMzMzsgfVxuXG4udWstdGV4dC1tZXRhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtc21hbGwge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi51ay10ZXh0LWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLnVrLXRleHQtZGVmYXVsdCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4vKiBXZWlnaHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi51ay10ZXh0LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLnVrLXRleHQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnVrLXRleHQtbGlnaHRlciB7XG4gIGZvbnQtd2VpZ2h0OiBsaWdodGVyOyB9XG5cbi51ay10ZXh0LWJvbGRlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtaXRhbGljIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qIFRyYW5zZm9ybSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1jYXBpdGFsaXplIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtbG93ZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cbi8qIENvbG9yIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1tdXRlZCB7XG4gIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtZW1waGFzaXMge1xuICBjb2xvcjogIzMzMyAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXByaW1hcnkge1xuICBjb2xvcjogI2NjOTk2NiAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtc3VjY2VzcyB7XG4gIGNvbG9yOiAjNTdhNzQ5ICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtd2FybmluZyB7XG4gIGNvbG9yOiAjZjZiYjMxICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtZGFuZ2VyIHtcbiAgY29sb3I6ICNmMjVkNTAgIWltcG9ydGFudDsgfVxuXG4vKiBCYWNrZ3JvdW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBUaGUgYmFja2dyb3VuZCBjbGlwcyB0byB0aGUgZm9yZWdyb3VuZCB0ZXh0LiBXb3JrcyBpbiBDaHJvbWUsIEZpcmVmb3gsIFNhZmFyaSwgRWRnZSBhbmQgT3BlcmFcbiAqICAgIERlZmF1bHQgY29sb3IgaXMgc2V0IHRvIHRyYW5zcGFyZW50XG4gKiAyLiBDb250YWluZXIgZml0cyB0aGUgdGV4dFxuICogMy4gRmFsbGJhY2sgY29sb3IgZm9yIElFMTFcbiAqL1xuLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAzICovXG4gIGNvbG9yOiAjY2M5OTY2ICFpbXBvcnRhbnQ7IH1cblxuQHN1cHBvcnRzICgtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCkge1xuICAudWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M5OTY2O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9IH1cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLXRleHQtbGVmdFxcQHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1yaWdodFxcQHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtY2VudGVyXFxAcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudWstdGV4dC1sZWZ0XFxAbSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LXJpZ2h0XFxAbSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1jZW50ZXJcXEBtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAudWstdGV4dC1sZWZ0XFxAbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LXJpZ2h0XFxAbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudWstdGV4dC1jZW50ZXJcXEBsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay10ZXh0LWxlZnRcXEB4bCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gIC51ay10ZXh0LXJpZ2h0XFxAeGwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLXRleHQtY2VudGVyXFxAeGwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9IH1cblxuLypcbiAqIFZlcnRpY2FsXG4gKi9cbi51ay10ZXh0LXRvcCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDsgfVxuXG4udWstdGV4dC1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXRleHQtYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG5cbi51ay10ZXh0LWJhc2VsaW5lIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH1cblxuLyogV3JhcCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXNcbiAqL1xuLnVrLXRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKlxuICogMS4gTWFrZSBzdXJlIGEgbWF4LXdpZHRoIGlzIHNldCBhZnRlciB3aGljaCB0cnVuY2F0aW9uIGNhbiBvY2N1clxuICogMi4gUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lcywgYW5kIHRydW5jYXRlIHdpdGggYW4gZWxsaXBzaXNcbiAqIDMuIEZpeCBmb3IgdGFibGUgY2VsbHNcbiAqL1xuLnVrLXRleHQtdHJ1bmNhdGUge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiAyICovXG50aC51ay10ZXh0LXRydW5jYXRlLFxudGQudWstdGV4dC10cnVuY2F0ZSB7XG4gIG1heC13aWR0aDogMDsgfVxuXG4vKlxuICogMS4gV3JhcCBsb25nIHdvcmRzIG9udG8gdGhlIG5leHQgbGluZSBhbmQgYnJlYWsgdGhlbSBpZiB0aGV5IGFyZSB0b28gbG9uZyB0byBmaXRcbiAqIDIuIExlZ2FjeSBgd29yZC13cmFwYCBhcyBmYWxsYmFjayBmb3IgYG92ZXJmbG93LXdyYXBgXG4gKiAzLiBGaXggYG92ZXJmbG93LXdyYXBgIHdoaWNoIGRvZXNuJ3Qgd29yayB3aXRoIHRhYmxlIGNlbGxzIGluIENocm9tZSwgT3BlcmEsIElFMTEgYW5kIEVkZ2VcbiAqICAgIE11c3QgdXNlIGBicmVhay1hbGxgIHRvIHN1cHBvcnQgSUUxMSBhbmQgRWRnZVxuICogTm90ZTogTm90IHVzaW5nIGBoeXBoZW5zOiBhdXRvO2AgYmVjYXVzZSBpdCBoeXBoZW5hdGVzIHRleHQgZXZlbiBpZiBub3QgbmVlZGVkXG4gKi9cbi51ay10ZXh0LWJyZWFrIHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAvKiAyICovXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuXG4vKiAzICovXG50aC51ay10ZXh0LWJyZWFrLFxudGQudWstdGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRmxleFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLnVrLWZsZXgtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uXG4gKi9cbi51ay1mbGV4OjpiZWZvcmUsXG4udWstZmxleDo6YWZ0ZXIsXG4udWstZmxleC1pbmxpbmU6OmJlZm9yZSxcbi51ay1mbGV4LWlubGluZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEFsaWdubWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWxpZ24gaXRlbXMgYWxvbmcgdGhlIG1haW4gYXhpcyBvZiB0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmbGV4IGNvbnRhaW5lclxuICogUm93OiBIb3Jpem9udGFsXG4gKi9cbi51ay1mbGV4LWxlZnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cblxuLnVrLWZsZXgtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnVrLWZsZXgtcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi51ay1mbGV4LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLnVrLWZsZXgtYXJvdW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudWstZmxleC1sZWZ0XFxAcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC51ay1mbGV4LWNlbnRlclxcQHMge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAudWstZmxleC1iZXR3ZWVuXFxAcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC51ay1mbGV4LWFyb3VuZFxcQHMge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnVrLWZsZXgtbGVmdFxcQG0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAudWstZmxleC1jZW50ZXJcXEBtIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAudWstZmxleC1yaWdodFxcQG0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLnVrLWZsZXgtYmV0d2VlblxcQG0ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAudWstZmxleC1hcm91bmRcXEBtIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAudWstZmxleC1sZWZ0XFxAbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC51ay1mbGV4LWNlbnRlclxcQGwge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAudWstZmxleC1iZXR3ZWVuXFxAbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC51ay1mbGV4LWFyb3VuZFxcQGwge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWZsZXgtbGVmdFxcQHhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnVrLWZsZXgtY2VudGVyXFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLnVrLWZsZXgtYmV0d2VlblxcQHhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLnVrLWZsZXgtYXJvdW5kXFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9IH1cblxuLypcbiAqIEFsaWduIGl0ZW1zIGluIHRoZSBjcm9zcyBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IFZlcnRpY2FsXG4gKi9cbi51ay1mbGV4LXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4udWstZmxleC10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4udWstZmxleC1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi51ay1mbGV4LWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4vKiBEaXJlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWZsZXgtcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuXG4udWstZmxleC1yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuXG4udWstZmxleC1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi51ay1mbGV4LWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbi8qIFdyYXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWZsZXgtbm93cmFwIHtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cblxuLnVrLWZsZXgtd3JhcCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4udWstZmxleC13cmFwLXJldmVyc2Uge1xuICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsgfVxuXG4vKlxuICogQWxpZ25zIGl0ZW1zIHdpdGhpbiB0aGUgZmxleCBjb250YWluZXIgd2hlbiB0aGVyZSBpcyBleHRyYSBzcGFjZSBpbiB0aGUgY3Jvc3MtYXhpc1xuICogT25seSB3b3JrcyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGxpbmUgb2YgZmxleCBpdGVtc1xuICovXG4udWstZmxleC13cmFwLXN0cmV0Y2gge1xuICBhbGlnbi1jb250ZW50OiBzdHJldGNoOyB9XG5cbi51ay1mbGV4LXdyYXAtdG9wIHtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuXG4udWstZmxleC13cmFwLW1pZGRsZSB7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4udWstZmxleC13cmFwLWJvdHRvbSB7XG4gIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi51ay1mbGV4LXdyYXAtYmV0d2VlbiB7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLnVrLWZsZXgtd3JhcC1hcm91bmQge1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLyogSXRlbSBvcmRlcmluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdCBpcyAwXG4gKi9cbi51ay1mbGV4LWZpcnN0IHtcbiAgb3JkZXI6IC0xOyB9XG5cbi51ay1mbGV4LWxhc3Qge1xuICBvcmRlcjogOTk7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudWstZmxleC1maXJzdFxcQHMge1xuICAgIG9yZGVyOiAtMTsgfVxuICAudWstZmxleC1sYXN0XFxAcyB7XG4gICAgb3JkZXI6IDk5OyB9IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLnVrLWZsZXgtZmlyc3RcXEBtIHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLnVrLWZsZXgtbGFzdFxcQG0ge1xuICAgIG9yZGVyOiA5OTsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAudWstZmxleC1maXJzdFxcQGwge1xuICAgIG9yZGVyOiAtMTsgfVxuICAudWstZmxleC1sYXN0XFxAbCB7XG4gICAgb3JkZXI6IDk5OyB9IH1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWZsZXgtZmlyc3RcXEB4bCB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC51ay1mbGV4LWxhc3RcXEB4bCB7XG4gICAgb3JkZXI6IDk5OyB9IH1cblxuLyogSXRlbSBkaW1lbnNpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJbml0aWFsOiAwIDEgYXV0b1xuICogQ29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rc1xuICovXG4vKlxuICogTm8gRmxleDogMCAwIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9uc1xuICovXG4udWstZmxleC1ub25lIHtcbiAgZmxleDogbm9uZTsgfVxuXG4vKlxuICogUmVsYXRpdmUgRmxleDogMSAxIGF1dG9cbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBjb25zaWRlcmluZyBjb250ZW50XG4gKi9cbi51ay1mbGV4LWF1dG8ge1xuICBmbGV4OiBhdXRvOyB9XG5cbi8qXG4gKiBBYnNvbHV0ZSBGbGV4OiAxIDEgMCVcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gZmxleFxuICovXG4udWstZmxleC0xIHtcbiAgZmxleDogMTsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFyZ2luXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi51ay1tYXJnaW4ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbiogKyAudWstbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tdG9wIHtcbiAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50OyB9XG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4tc21hbGwge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbiogKyAudWstbWFyZ2luLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtdG9wIHtcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1zbWFsbC1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50OyB9XG5cbi8qIE1lZGl1bVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLW1lZGl1bSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cblxuKiArIC51ay1tYXJnaW4tbWVkaXVtIHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLXRvcCB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1tZWRpdW0tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1tZWRpdW0tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudDsgfVxuXG4vKiBMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLWxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuXG4qICsgLnVrLW1hcmdpbi1sYXJnZSB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLXRvcCB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLWxlZnQge1xuICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbGFyZ2UtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLnVrLW1hcmdpbi1sYXJnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDsgfVxuICAqICsgLnVrLW1hcmdpbi1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tbGFyZ2UtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWxhcmdlLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA3MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBYTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi14bGFyZ2Uge1xuICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9XG5cbiogKyAudWstbWFyZ2luLXhsYXJnZSB7XG4gIG1hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXhsYXJnZS10b3Age1xuICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogNzBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLWxlZnQge1xuICBtYXJnaW4tbGVmdDogNzBweCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC51ay1tYXJnaW4teGxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNDBweDsgfVxuICAqICsgLnVrLW1hcmdpbi14bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDE0MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAxNDBweCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTQwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLXhsYXJnZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMTQwcHggIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLXhsYXJnZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNDBweCAhaW1wb3J0YW50OyB9IH1cblxuLyogQXV0b1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLWF1dG8ge1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tdG9wIHtcbiAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1hdXRvLWxlZnQge1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by12ZXJ0aWNhbCB7XG4gIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLW1hcmdpbi1hdXRvXFxAcyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQHMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAcyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5MDBweCkge1xuICAudWstbWFyZ2luLWF1dG9cXEBtIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAbSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEBtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEwMDBweCkge1xuICAudWstbWFyZ2luLWF1dG9cXEBsIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEBsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1tYXJnaW4tYXV0b1xcQHhsIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAeGwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAeGwge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4tcmVtb3ZlIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtdG9wIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXJlbW92ZS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLXZlcnRpY2FsIHtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtYWRqYWNlbnQgKyAqLFxuLnVrLW1hcmdpbi1yZW1vdmUtZmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtbGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQHMge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEBtIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcbiAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQGwge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEB4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQHhsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEaXJlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cgaWYgYG1heC13aWR0aDogMTAwJWAgaXMgdXNlZCBpbnNpZGUgcG9zaXRpb24gY29udGFpbmVyLlxuICovXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi10b3AnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWJvdHRvbSddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tcmlnaHQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlciddIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi8qIEVkZ2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIERvbid0IHVzZSBgd2lkdGg6IDEwMCVgIGJlY2F1c2UgaXQgaXMgd3JvbmcgaWYgdGhlIHBhcmVudCBoYXMgcGFkZGluZy4gKi9cbi51ay1wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi8qIENvcm5lcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXBvc2l0aW9uLXRvcC1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi10b3AtcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tbGVmdCB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDsgfVxuXG4udWstcG9zaXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDsgfVxuXG4vKlxuICogQ2VudGVyXG4gKiAxLiBGaXggdGV4dCB3cmFwcGluZyBpZiBjb250ZW50IGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgY29udGFpbmVyLlxuICovXG4udWstcG9zaXRpb24tY2VudGVyIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIC8qIDEgKi9cbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLyogVmVydGljYWwgKi9cbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0IHtcbiAgbGVmdDogMDsgfVxuXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHtcbiAgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0LW91dCB7XG4gIHJpZ2h0OiAxMDAlO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodC1vdXQge1xuICBsZWZ0OiAxMDAlO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7IH1cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAvKiAxICovXG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyIHtcbiAgdG9wOiAwOyB9XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgYm90dG9tOiAwOyB9XG5cbi8qIENvdmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wb3NpdGlvbi1jb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwOyB9XG5cbi8qIFV0aWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLWFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBvc2l0aW9uLXotaW5kZXgge1xuICB6LWluZGV4OiAxOyB9XG5cbi8qIE1hcmdpbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogU21hbGxcbiAqL1xuLnVrLXBvc2l0aW9uLXNtYWxsIHtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoMTVweCAqIDIpKTtcbiAgbWFyZ2luOiAxNXB4OyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1jZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLTE1cHgsIC0xNXB4KTsgfVxuXG4udWstcG9zaXRpb24tc21hbGxbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLXNtYWxsW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtMTVweCk7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0xNXB4KTsgfVxuXG4vKlxuICogTWVkaXVtXG4gKi9cbi51ay1wb3NpdGlvbi1tZWRpdW0ge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgzMHB4ICogMikpO1xuICBtYXJnaW46IDMwcHg7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi1jZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLTMwcHgsIC0zMHB4KTsgfVxuXG4udWstcG9zaXRpb24tbWVkaXVtW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1tZWRpdW1bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0zMHB4KTsgfVxuXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtMzBweCk7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cbi51ay1wb3NpdGlvbi1sYXJnZSB7XG4gIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDMwcHggKiAyKSk7XG4gIG1hcmdpbjogMzBweDsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0zMHB4LCAtMzBweCk7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTMwcHgpOyB9XG5cbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtMzBweCk7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC51ay1wb3NpdGlvbi1sYXJnZSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoNTBweCAqIDIpKTtcbiAgICBtYXJnaW46IDUwcHg7IH1cbiAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC01MHB4LCAtNTBweCk7IH1cbiAgLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbiAgLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC01MHB4KTsgfVxuICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbiAgLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC01MHB4KTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUcmFuc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRvZ2dsZSAoSG92ZXIgKyBGb2N1cylcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZSB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKlxuICogUmVtb3ZlIG91dGxpbmUgZm9yIGB0YWJpbmRleGBcbiAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBUcmFuc2l0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogVGhlIHRvZ2dsZSBpcyB0cmlnZ2VyZWQgb24gdG91Y2ggZGV2aWNlcyBieSB0d28gbWV0aG9kczpcbiAqIDEuIFVzaW5nIGA6Zm9jdXNgIGFuZCB0YWJpbmRleFxuICogMi4gVXNpbmcgYDpob3ZlcmAgYW5kIGEgYHRvdWNoc3RhcnRgIGV2ZW50IGxpc3RlbmVyIHJlZ2lzdGVyZWQgb24gdGhlIGRvY3VtZW50XG4gKiAgICAoRG9lc24ndCB3b3JrIG9uIFN1cmZhY2UgdG91Y2ggZGV2aWNlcylcbiAqXG4gKiBOb3RlOiBUcmFuc2l0aW9ucyBkb24ndCB3b3JrIHdpdGggYHVrLXBvc3Rpb24tY2VudGVyLSpgIGNsYXNzZXMgYmVjYXVzZSB0aGV5IGFsc28gdXNlIGB0cmFuc2Zvcm1gLFxuICogICAgICAgdGhlcmVmb3JlIGl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIGFuIGV4dHJhIGBkaXZgIGZvciB0aGUgdHJhbnNpdGlvbi5cbiAqL1xuLnVrLXRyYW5zaXRpb24tZmFkZSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2NhbGUnXSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybSwgZmlsdGVyO1xuICBvcGFjaXR5OiAwOyB9XG5cbi8qXG4gKiBGYWRlXG4gKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1mYWRlLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLWZhZGUsXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLWZhZGUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBTY2FsZVxuICovXG4udWstdHJhbnNpdGlvbi1zY2FsZS11cCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xLCAxLjEpOyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKTsgfVxuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsgfVxuXG4vKlxuICogU2xpZGVcbiAqL1xuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLXNtYWxsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tc21hbGwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtc21hbGwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLW1lZGl1bSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MHB4KTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTBweCk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpOyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4vKiBPcGFjaXR5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10cmFuc2l0aW9uLW9wYXF1ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogRHVyYXRpb24gbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10cmFuc2l0aW9uLXNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjdzOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQcmludFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgcHJpbnQge1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cbi5UaGVDb250ZW50IGgzLCAuT3JkZXJlZENhcmRfX3RpdGxlLCAuRmVhdHVyZWRDYXJkX190aXRsZSwgLlRoZUNvbnRlbnQgaDIsIC5Gb290ZXJOYXZfX2lubmVyLCAuRm9vdGVyU2VydmljZXNfX2hlYWRpbmcsIC5Nb2RhbF9faGVhZGluZy0tZGVmYXVsdCwgLkFib3V0RG9jdW1lbnRzX19oZWFkaW5nLCAuUHJvamVjdFBhZ2VfX3N1YkhlYWRpbmcsIC5Db250YWN0c1BhZ2VfX3N1YnRpdGxlLCAuVGhlQ29udGVudCBoMSwgLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19pbm5lciwgLlByb2plY3RDYXJkX190aXRsZSwgLkhvbWVTZWN0aW9uX190aXRsZSwgLlNlcnZpY2VDYXJkX19oZWFkaW5nLCAuQWJvdXRPcmdhbml6YXRpb25zSXRlbV9fdGl0bGUsIC5Qcm9qZWN0UGFnZV9faGVhZGluZywgLlNlcnZpY2VQYWdlX19oZWFkaW5nLCAuQ29udGFjdHNQYWdlX190aXRsZSwgLkNvbnN1bHRhdGlvbl9faGVhZGluZywgLkhvbWVQcm9qZWN0c01vcmVfX2hlYWRpbmcsIC5Nb2RhbF9faGVhZGluZy0tbGFyZ2UsIC5BYm91dENlcnRpZmljYXRlc19fdGl0bGUsIC5Ib21lQWJvdXRfX3RpdGxlLCAuSG9tZVByb2plY3RfX3RpdGxlLCAuSG9tZU1hcF9fdGl0bGUsIC5BYm91dEhlcm9fX2hlYWRpbmctLWxhcmdlLCAuQWJvdXRNYXBfX2hlYWRpbmcsIC5FcnJvclBhZ2VfX2hlYWRpbmcsIC5GZWF0dXJlZFNsaWRlclBhbmVsX190ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFwiQmViYXMgTmV1ZVwiLCBjdXJzaXZlO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5Ib21lQWJvdXRfX2hlYWRpbmcsIC5Ib21lU2VjdGlvbnNfX2hlYWRpbmcsIC5Ib21lUHJvamVjdHNfX2hlYWRpbmcsIC5Ib21lTWFwX19oZWFkaW5nLCAuV3JhcHBlZFBhcnRuZXJzX19oZWFkaW5nLCAuQWJvdXRIZXJvX19oZWFkaW5nLS1zbWFsbCwgLlByb2plY3RzUGFnZV9faGVhZGluZywgLlNlcnZpY2VzUGFnZV9faGVhZGluZywgLkNvbnRhY3RzUGFnZV9faGVhZGluZyB7XG4gIGNvbG9yOiAjM2Q0NzVmO1xuICBmb250LWZhbWlseTogXCJNYW5yb3BlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMTU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLlRoZUNvbnRlbnQgaDMge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5UaGVDb250ZW50IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5UaGVDb250ZW50IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG4uT3JkZXJlZENhcmRfX3RpdGxlLCAuRmVhdHVyZWRDYXJkX190aXRsZSwgLlRoZUNvbnRlbnQgaDIsIC5Gb290ZXJOYXZfX2lubmVyLCAuRm9vdGVyU2VydmljZXNfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uTW9kYWxfX2hlYWRpbmctLWRlZmF1bHQsIC5BYm91dERvY3VtZW50c19faGVhZGluZywgLlByb2plY3RQYWdlX19zdWJIZWFkaW5nLCAuQ29udGFjdHNQYWdlX19zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gIC5PcmRlcmVkQ2FyZF9fdGl0bGUsIC5GZWF0dXJlZENhcmRfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLk9yZGVyZWRDYXJkX190aXRsZSwgLkZlYXR1cmVkQ2FyZF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLk9yZGVyZWRDYXJkX190aXRsZSwgLkZlYXR1cmVkQ2FyZF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi5UaGVDb250ZW50IGgxLCAuU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2lubmVyLCAuUHJvamVjdENhcmRfX3RpdGxlLCAuSG9tZVNlY3Rpb25fX3RpdGxlLCAuU2VydmljZUNhcmRfX2hlYWRpbmcsIC5BYm91dE9yZ2FuaXphdGlvbnNJdGVtX190aXRsZSwgLlByb2plY3RQYWdlX19oZWFkaW5nLCAuU2VydmljZVBhZ2VfX2hlYWRpbmcsIC5Db250YWN0c1BhZ2VfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTE3NjU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5UaGVDb250ZW50IGgxLCAuU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2lubmVyLCAuUHJvamVjdENhcmRfX3RpdGxlLCAuSG9tZVNlY3Rpb25fX3RpdGxlLCAuU2VydmljZUNhcmRfX2hlYWRpbmcsIC5BYm91dE9yZ2FuaXphdGlvbnNJdGVtX190aXRsZSwgLlByb2plY3RQYWdlX19oZWFkaW5nLCAuU2VydmljZVBhZ2VfX2hlYWRpbmcsIC5Db250YWN0c1BhZ2VfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5UaGVDb250ZW50IGgxLCAuU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2lubmVyLCAuUHJvamVjdENhcmRfX3RpdGxlLCAuSG9tZVNlY3Rpb25fX3RpdGxlLCAuU2VydmljZUNhcmRfX2hlYWRpbmcsIC5BYm91dE9yZ2FuaXphdGlvbnNJdGVtX190aXRsZSwgLlByb2plY3RQYWdlX19oZWFkaW5nLCAuU2VydmljZVBhZ2VfX2hlYWRpbmcsIC5Db250YWN0c1BhZ2VfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuVGhlQ29udGVudCBoMSwgLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19pbm5lciwgLlByb2plY3RDYXJkX190aXRsZSwgLkhvbWVTZWN0aW9uX190aXRsZSwgLlNlcnZpY2VDYXJkX19oZWFkaW5nLCAuQWJvdXRPcmdhbml6YXRpb25zSXRlbV9fdGl0bGUsIC5Qcm9qZWN0UGFnZV9faGVhZGluZywgLlNlcnZpY2VQYWdlX19oZWFkaW5nLCAuQ29udGFjdHNQYWdlX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDJyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuVGhlQ29udGVudCBoMSwgLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19pbm5lciwgLlByb2plY3RDYXJkX190aXRsZSwgLkhvbWVTZWN0aW9uX190aXRsZSwgLlNlcnZpY2VDYXJkX19oZWFkaW5nLCAuQWJvdXRPcmdhbml6YXRpb25zSXRlbV9fdGl0bGUsIC5Qcm9qZWN0UGFnZV9faGVhZGluZywgLlNlcnZpY2VQYWdlX19oZWFkaW5nLCAuQ29udGFjdHNQYWdlX190aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtOyB9IH1cblxuLkNvbnN1bHRhdGlvbl9faGVhZGluZywgLkhvbWVQcm9qZWN0c01vcmVfX2hlYWRpbmcsIC5Nb2RhbF9faGVhZGluZy0tbGFyZ2UsIC5BYm91dENlcnRpZmljYXRlc19fdGl0bGUge1xuICBsaW5lLWhlaWdodDogMC44NjU7XG4gIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLkNvbnN1bHRhdGlvbl9faGVhZGluZywgLkhvbWVQcm9qZWN0c01vcmVfX2hlYWRpbmcsIC5Nb2RhbF9faGVhZGluZy0tbGFyZ2UsIC5BYm91dENlcnRpZmljYXRlc19fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5Db25zdWx0YXRpb25fX2hlYWRpbmcsIC5Ib21lUHJvamVjdHNNb3JlX19oZWFkaW5nLCAuTW9kYWxfX2hlYWRpbmctLWxhcmdlLCAuQWJvdXRDZXJ0aWZpY2F0ZXNfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi43NXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Db25zdWx0YXRpb25fX2hlYWRpbmcsIC5Ib21lUHJvamVjdHNNb3JlX19oZWFkaW5nLCAuTW9kYWxfX2hlYWRpbmctLWxhcmdlLCAuQWJvdXRDZXJ0aWZpY2F0ZXNfX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkNvbnN1bHRhdGlvbl9faGVhZGluZywgLkhvbWVQcm9qZWN0c01vcmVfX2hlYWRpbmcsIC5Nb2RhbF9faGVhZGluZy0tbGFyZ2UsIC5BYm91dENlcnRpZmljYXRlc19fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyLjM3NXJlbTsgfSB9XG5cbi5Ib21lQWJvdXRfX3RpdGxlLCAuSG9tZVByb2plY3RfX3RpdGxlLCAuSG9tZU1hcF9fdGl0bGUsIC5BYm91dEhlcm9fX2hlYWRpbmctLWxhcmdlLCAuQWJvdXRNYXBfX2hlYWRpbmcsIC5FcnJvclBhZ2VfX2hlYWRpbmcge1xuICBmb250LXNpemU6IDMuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjkxNjY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5Ib21lQWJvdXRfX3RpdGxlLCAuSG9tZVByb2plY3RfX3RpdGxlLCAuSG9tZU1hcF9fdGl0bGUsIC5BYm91dEhlcm9fX2hlYWRpbmctLWxhcmdlLCAuQWJvdXRNYXBfX2hlYWRpbmcsIC5FcnJvclBhZ2VfX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAzLjQzNzVyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuSG9tZUFib3V0X190aXRsZSwgLkhvbWVQcm9qZWN0X190aXRsZSwgLkhvbWVNYXBfX3RpdGxlLCAuQWJvdXRIZXJvX19oZWFkaW5nLS1sYXJnZSwgLkFib3V0TWFwX19oZWFkaW5nLCAuRXJyb3JQYWdlX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuSG9tZUFib3V0X190aXRsZSwgLkhvbWVQcm9qZWN0X190aXRsZSwgLkhvbWVNYXBfX3RpdGxlLCAuQWJvdXRIZXJvX19oZWFkaW5nLS1sYXJnZSwgLkFib3V0TWFwX19oZWFkaW5nLCAuRXJyb3JQYWdlX19oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVBYm91dF9fdGl0bGUsIC5Ib21lUHJvamVjdF9fdGl0bGUsIC5Ib21lTWFwX190aXRsZSwgLkFib3V0SGVyb19faGVhZGluZy0tbGFyZ2UsIC5BYm91dE1hcF9faGVhZGluZywgLkVycm9yUGFnZV9faGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTsgfSB9XG5cbi5Ib21lQWJvdXRfX3RpdGxlIHN0cm9uZywgLkhvbWVNYXBfX3RpdGxlIHN0cm9uZywgLkFib3V0TWFwX19oZWFkaW5nIHN0cm9uZyB7XG4gIGNvbG9yOiAjM2I2NWNmO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5GZWF0dXJlZFNsaWRlcl9fZGVzY3JpcHRpb24sIC5BYm91dEhlcm9fX2Rlc2NyaXB0aW9uIHtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xODI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkZlYXR1cmVkU2xpZGVyX19kZXNjcmlwdGlvbiwgLkFib3V0SGVyb19fZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuRmVhdHVyZWRTbGlkZXJfX2Rlc2NyaXB0aW9uLCAuQWJvdXRIZXJvX19kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkZlYXR1cmVkU2xpZGVyX19kZXNjcmlwdGlvbiwgLkFib3V0SGVyb19fZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLkhvbWVBYm91dF9fZGVzY3JpcHRpb24sIC5Ib21lTWFwX19kZXNjcmlwdGlvbiwgLk1vZGFsX19kZXNjcmlwdGlvbiwgLkFib3V0Q2VydGlmaWNhdGVzX19kZXNjcmlwdGlvbiwgLkFib3V0TWFwX19kZXNjcmlwdGlvbiwgLkVycm9yUGFnZV9fZGVzY3JpcHRpb24ge1xuICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS43Nzc7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkhvbWVBYm91dF9fZGVzY3JpcHRpb24sIC5Ib21lTWFwX19kZXNjcmlwdGlvbiwgLk1vZGFsX19kZXNjcmlwdGlvbiwgLkFib3V0Q2VydGlmaWNhdGVzX19kZXNjcmlwdGlvbiwgLkFib3V0TWFwX19kZXNjcmlwdGlvbiwgLkVycm9yUGFnZV9fZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuODsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lQWJvdXRfX2Rlc2NyaXB0aW9uLCAuSG9tZU1hcF9fZGVzY3JpcHRpb24sIC5Nb2RhbF9fZGVzY3JpcHRpb24sIC5BYm91dENlcnRpZmljYXRlc19fZGVzY3JpcHRpb24sIC5BYm91dE1hcF9fZGVzY3JpcHRpb24sIC5FcnJvclBhZ2VfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44NTU7IH0gfVxuXG4uSG9tZVByb2plY3RfX2Rlc2NyaXB0aW9uLCAuQWJvdXROdW1iZXJzSXRlbV9fZGVzY3JpcHRpb24ge1xuICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yODU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVQcm9qZWN0X19kZXNjcmlwdGlvbiwgLkFib3V0TnVtYmVyc0l0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH0gfVxuXG4uVGhlQ29udGVudCB7XG4gIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc3Nzc7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlRoZUNvbnRlbnQge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLlRoZUNvbnRlbnQgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5UaGVDb250ZW50ID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5UaGVDb250ZW50IGgyIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuVGhlQ29udGVudCBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDY0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlRoZUNvbnRlbnQgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiA0OHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5UaGVDb250ZW50IGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gIC5UaGVDb250ZW50IGgzIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuVGhlQ29udGVudCBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUycHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlRoZUNvbnRlbnQgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5UaGVDb250ZW50IGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsgfSB9XG4gIC5UaGVDb250ZW50IGEge1xuICAgIGNvbG9yOiAjM2I2NWNmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbi1jb2xvciAwLjJzIGVhc2Utb3V0OyB9XG4gICAgLlRoZUNvbnRlbnQgYTpob3ZlciwgLlRoZUNvbnRlbnQgYTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGluaGVyaXQ7IH1cbiAgLlRoZUNvbnRlbnQgaW1nIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuVGhlQ29udGVudCBpbWcge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9IH1cbiAgLlRoZUNvbnRlbnQgaW1nICsgaW1nIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuVGhlQ29udGVudCBpbWcgKyBpbWcge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5UaGVDb250ZW50IGltZyArIGltZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7IH0gfVxuICAuVGhlQ29udGVudCBwIHtcbiAgICBtYXJnaW46IDIwcHggMDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlRoZUNvbnRlbnQgcCB7XG4gICAgICAgIG1hcmdpbjogMTZweCAwOyB9IH1cbiAgLlRoZUNvbnRlbnQgdWwsXG4gIC5UaGVDb250ZW50IG9sIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuVGhlQ29udGVudCB1bCxcbiAgICAgIC5UaGVDb250ZW50IG9sIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG4gICAgLlRoZUNvbnRlbnQgdWwgbGksXG4gICAgLlRoZUNvbnRlbnQgb2wgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjlweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLlRoZUNvbnRlbnQgdWwgbGk6OmJlZm9yZSxcbiAgICAgIC5UaGVDb250ZW50IG9sIGxpOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAgIC5UaGVDb250ZW50IHVsIGxpOmxhc3Qtb2YtdHlwZSxcbiAgICAgIC5UaGVDb250ZW50IG9sIGxpOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLlRoZUNvbnRlbnQgdWwge1xuICAgIC0tdW5vcmRlcmVkLWxpc3QtYnVsbGV0LWNvbG9yOiAjM2I2NWNmO1xuICAgIC0tdW5vcmRlcmVkLWxpc3QtYnVsbGV0LWJvcmRlci1jb2xvcjogIzNiNjVjZjsgfVxuICAgIC5UaGVDb250ZW50IHVsIGxpOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdW5vcmRlcmVkLWxpc3QtYnVsbGV0LWNvbG9yKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXVub3JkZXJlZC1saXN0LWJ1bGxldC1ib3JkZXItY29sb3IpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHNpemU6IDlweDtcbiAgICAgIHRvcDogMTJweDsgfVxuICAgIC5UaGVDb250ZW50IHVsIGxpID4gdWwge1xuICAgICAgLS11bm9yZGVyZWQtbGlzdC1idWxsZXQtY29sb3I6IHdoaXRlO1xuICAgICAgLS11bm9yZGVyZWQtbGlzdC1idWxsZXQtYm9yZGVyLWNvbG9yOiAjM2I2NWNmO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7IH1cbiAgLlRoZUNvbnRlbnQgb2wge1xuICAgIGNvdW50ZXItcmVzZXQ6IGxpc3QtY291bnRlcjsgfVxuICAgIC5UaGVDb250ZW50IG9sIGxpIHtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBsaXN0LWNvdW50ZXI7IH1cbiAgICAgIC5UaGVDb250ZW50IG9sIGxpOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgY29udGVudDogY291bnRlcihsaXN0LWNvdW50ZXIpIFwiLlwiO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRvcDogMDsgfVxuICAuVGhlQ29udGVudCBzdHJvbmcsXG4gIC5UaGVDb250ZW50IGIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLlRoZUNvbnRlbnQgLnJlc3BvbnNpdmVFbWJlZCB7XG4gICAgbWFyZ2luOiAzMHB4IDAgODBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlRoZUNvbnRlbnQgLnJlc3BvbnNpdmVFbWJlZCB7XG4gICAgICAgIG1hcmdpbjogMjRweCAwIDY0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlRoZUNvbnRlbnQgLnJlc3BvbnNpdmVFbWJlZCB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDQ4cHg7IH0gfVxuXG4uU2l0ZUZvcm1fX2J1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuU2l0ZUZvcm1fX2J1dHRvbjpkaXNhYmxlZDpub3QoLmlzLWFsbC1sb2FkZWQpIC5TaXRlRm9ybV9fc3Bpbm5lciB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuU2l0ZUZvcm1fX2J1dHRvbjpkaXNhYmxlZDpub3QoLmlzLWFsbC1sb2FkZWQpIC5TaXRlRm9ybV9fYnV0dG9uVGV4dCB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuaXMtYWxsLWxvYWRlZC5TaXRlRm9ybV9fYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I2NWNmO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogMC44OyB9XG5cbi5TaXRlRm9ybV9fYnV0dG9uVGV4dCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLW91dDsgfVxuXG4uU2l0ZUZvcm1fX3NwaW5uZXIge1xuICBsZWZ0OiA1MCU7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7IH1cblxuLkxheW91dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuICAuTGF5b3V0X19oZWFkZXIsIC5MYXlvdXRfX2JvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuTGF5b3V0X19oZWFkZXIge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLkxheW91dF9fYm9keSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLkxheW91dF9fZm9vdGVyIHtcbiAgICBmbGV4LXNocmluazogMDsgfVxuICAuTGF5b3V0X19jb250YWluZXItLW1lZGl1bSB7XG4gICAgbWF4LXdpZHRoOiAxMDQ1cHg7IH1cbiAgLkxheW91dF9fY29udGFpbmVyLS1ub1BhZGRpbmcge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLlNpdGVPZmZDYW52YXNfX2ltYWdlLCAuU2l0ZUdhbGxlcnlfX2ltYWdlIGltZywgLlByb2plY3RDYXJkX19pbWFnZSBpbWcsIC5Db25zdWx0YXRpb25fX2ltYWdlLCAuRmVhdHVyZWRTbGlkZXJfX2ltYWdlLCAuSG9tZVNlY3Rpb25fX2ltYWdlIGltZywgLkZlYXR1cmVkQ2FyZF9faW1hZ2UsIC5TZXJ2aWNlQ2FyZF9faW1hZ2UgaW1nLCAuTW9kYWxfX2JhY2tncm91bmQgaW1nLCAuQWJvdXRIZXJvX19pbWFnZSBpbWcsIC5BYm91dEZlYXR1cmVzX19pbWFnZSBpbWcsIC5Qcm9qZWN0UGFnZV9faGVybyBpbWcsIC5FcnJvclBhZ2VfX2ltYWdlLCAuUHJvamVjdENhcmRfX2ltYWdlOjpiZWZvcmUsIC5Qcm9qZWN0Q2FyZF9fb3ZlcmxheSwgLkNvbnN1bHRhdGlvbl9fb3ZlcmxheSwgLkZlYXR1cmVkQ2FyZF9fb3ZlcmxheSwgLkZlYXR1cmVkQ2FyZF9fY29udGVudCwgLkhvbWVQcm9qZWN0X19pbWFnZUlubmVyOjpiZWZvcmUsIC5Nb2RhbF9fYmFja2dyb3VuZCwgLk1vZGFsX19iYWNrZ3JvdW5kOjpiZWZvcmUsIC5BYm91dEhlcm9fX2ltYWdlLCAuQWJvdXRIZXJvX19pbWFnZTo6YmVmb3JlLCAuQWJvdXRGZWF0dXJlc19faW1hZ2UsIC5BYm91dEZlYXR1cmVzX19pbWFnZTo6YmVmb3JlLCAuQWJvdXRNYXA6OmJlZm9yZSwgLlByb2plY3RQYWdlX19pbWFnZU92ZXJsYXlzLCAuQ29udGFjdHNNYXBfX21hcCB7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5TaXRlT2ZmQ2FudmFzX19pbWFnZSwgLlNpdGVHYWxsZXJ5X19pbWFnZSBpbWcsIC5Qcm9qZWN0Q2FyZF9faW1hZ2UgaW1nLCAuQ29uc3VsdGF0aW9uX19pbWFnZSwgLkZlYXR1cmVkU2xpZGVyX19pbWFnZSwgLkhvbWVTZWN0aW9uX19pbWFnZSBpbWcsIC5GZWF0dXJlZENhcmRfX2ltYWdlLCAuU2VydmljZUNhcmRfX2ltYWdlIGltZywgLk1vZGFsX19iYWNrZ3JvdW5kIGltZywgLkFib3V0SGVyb19faW1hZ2UgaW1nLCAuQWJvdXRGZWF0dXJlc19faW1hZ2UgaW1nLCAuUHJvamVjdFBhZ2VfX2hlcm8gaW1nLCAuRXJyb3JQYWdlX19pbWFnZSB7XG4gIG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi5TaXRlR2FsbGVyeV9faW1hZ2UsIC5Qcm9qZWN0Q2FyZF9faW1hZ2UsIC5TZXJ2aWNlQ2FyZF9faW1hZ2UsIC5Qcm9qZWN0UGFnZV9faGVybyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTMsIDEwMCwgMTcyLCAwLjEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLkZlYXR1cmVkU2xpZGVyU2Nyb2xsX19jaXJjbGUsIC5Ib21lUHJvamVjdHNNb3JlX19jaXJjbGUsIC5CdXR0b25BcnJvd19fY2lyY2xlLCAuQmFja0J1dHRvbl9fY2lyY2xlLCAuRmVhdHVyZWRTbGlkZXJTY3JvbGxfX2NpcmNsZUlubmVyLCAuRmVhdHVyZWRDYXJkX19jaXJjbGUsIC5Ib21lUHJvamVjdHNNb3JlX19jaXJjbGVJbm5lciwgLlNpdGVIZWFkZXJfX2hhbWJ1cmdlciwgLkhlYWRlck5hdiwgLlNpdGVPZmZDYW52YXNfX2Nsb3NlLCAuU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2NoZXZyb24sIC5QYXJ0bmVyc19fc2xpZGUsIC5Nb2RhbF9fYm9keS4tLWNlbnRlciwgLk1vZGFsX19jbG9zZSwgLkVycm9yUGFnZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5Qcm9qZWN0UGFnZSwgLlByb2plY3RzUGFnZSwgLlNlcnZpY2VzUGFnZSwgLlNlcnZpY2VQYWdlLCAuQXJ0aWNsZVBhZ2VfX21haW4sIC5Db250YWN0c1BhZ2Uge1xuICBwYWRkaW5nLXk6IDYwcHggMTQwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLlByb2plY3RQYWdlLCAuUHJvamVjdHNQYWdlLCAuU2VydmljZXNQYWdlLCAuU2VydmljZVBhZ2UsIC5BcnRpY2xlUGFnZV9fbWFpbiwgLkNvbnRhY3RzUGFnZSB7XG4gICAgICBwYWRkaW5nLXk6IDQ4cHggMTIwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuUHJvamVjdFBhZ2UsIC5Qcm9qZWN0c1BhZ2UsIC5TZXJ2aWNlc1BhZ2UsIC5TZXJ2aWNlUGFnZSwgLkFydGljbGVQYWdlX19tYWluLCAuQ29udGFjdHNQYWdlIHtcbiAgICAgIHBhZGRpbmcteTogMzZweCA5MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlByb2plY3RQYWdlLCAuUHJvamVjdHNQYWdlLCAuU2VydmljZXNQYWdlLCAuU2VydmljZVBhZ2UsIC5BcnRpY2xlUGFnZV9fbWFpbiwgLkNvbnRhY3RzUGFnZSB7XG4gICAgICBwYWRkaW5nLXk6IDI0cHggNjVweDsgfSB9XG5cbi5IZWFkZXJOYXZfX2Ryb3Bkb3duOjphZnRlciwgLkNvbnN1bHRhdGlvbjo6YWZ0ZXIsIC5PcmRlcmVkQ2FyZDo6YmVmb3JlLCAuTW9kYWxfX2JvZHktLXNtYWxsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I2NWNmO1xuICBib3R0b206IC0xcHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogNHB4O1xuICBsZWZ0OiAtMXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAxcHgpOyB9XG5cbi5GZWF0dXJlZFNsaWRlclNjcm9sbF9fY2lyY2xlLCAuSG9tZVByb2plY3RzTW9yZV9fY2lyY2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OSwgMTAxLCAyMDcsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcGFkZGluZzogOXB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDsgfVxuXG4uQnV0dG9uQXJyb3dfX2NpcmNsZSwgLkJhY2tCdXR0b25fX2NpcmNsZSwgLkZlYXR1cmVkU2xpZGVyU2Nyb2xsX19jaXJjbGVJbm5lciwgLkZlYXR1cmVkQ2FyZF9fY2lyY2xlLCAuSG9tZVByb2plY3RzTW9yZV9fY2lyY2xlSW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I2NWNmO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHNpemU6IDI3cHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgY29sb3I7IH1cblxuLkZlYXR1cmVkQ2FyZC0tbm9JbWFnZSAuQnV0dG9uQXJyb3dfX2NpcmNsZSwgLkZlYXR1cmVkQ2FyZC0tbm9JbWFnZSAuQmFja0J1dHRvbl9fY2lyY2xlLCAuRmVhdHVyZWRDYXJkLS1ub0ltYWdlIC5GZWF0dXJlZFNsaWRlclNjcm9sbF9fY2lyY2xlSW5uZXIsIC5GZWF0dXJlZENhcmQtLW5vSW1hZ2UgLkZlYXR1cmVkQ2FyZF9fY2lyY2xlLCAuRmVhdHVyZWRDYXJkLS1ub0ltYWdlIC5Ib21lUHJvamVjdHNNb3JlX19jaXJjbGVJbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzNiNjVjZjsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTM2NnB4KSB7XG4gIC5Qcm9qZWN0UGFnZV9fYmFjaywgLlNlcnZpY2VQYWdlX19iYWNrIHtcbiAgICBtYXJnaW4tbGVmdDogLTY4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gIC5Qcm9qZWN0UGFnZV9fYmFjaywgLlNlcnZpY2VQYWdlX19iYWNrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9IH1cblxuLlByb2plY3RDYXJkX19pbWFnZSBpbWcsIC5Ib21lUHJvamVjdF9faW1hZ2VJbm5lciBpbWcsIC5Qcm9qZWN0UGFnZV9fZ2FsbGVyeUl0ZW0gaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzc1cyBlYXNlLW91dDsgfVxuXG4uSG9tZVNlY3Rpb25fX251bWJlciwgLlNlcnZpY2VDYXJkX19udW1iZXIge1xuICBjb2xvcjogIzNiNjVjZjtcbiAgZm9udC1mYW1pbHk6IFwiQmViYXMgTmV1ZVwiLCBjdXJzaXZlO1xuICBmb250LXNpemU6IDEwLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgbGluZS1oZWlnaHQ6IDAuMjI5NTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuSG9tZVNlY3Rpb25fX251bWJlciwgLlNlcnZpY2VDYXJkX19udW1iZXIge1xuICAgICAgZm9udC1zaXplOiA4Ljc1cmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uX19udW1iZXIsIC5TZXJ2aWNlQ2FyZF9fbnVtYmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogNi44NzVyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuSG9tZVNlY3Rpb25fX251bWJlciwgLlNlcnZpY2VDYXJkX19udW1iZXIge1xuICAgICAgZm9udC1zaXplOiA1LjYyNXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9fbnVtYmVyLCAuU2VydmljZUNhcmRfX251bWJlciB7XG4gICAgICBmb250LXNpemU6IDQuMzc1cmVtOyB9IH1cblxuLm5vLWpzIC5zaG93LWZvci1qcyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmpzIC5oaWRlLWZvci1qcyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnJlc3BvbnNpdmVFbWJlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG4gIC5yZXNwb25zaXZlRW1iZWQgaWZyYW1lIHtcbiAgICBhYnNvbHV0ZTogdG9wIGxlZnQ7XG4gICAgc2l6ZTogMTAwJSAhaW1wb3J0YW50OyB9XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XG4gIC8qIElFNiwgSUU3ICovXG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMXB4OyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5TaXRlSGVhZGVyIHtcbiAgcGFkZGluZy10b3A6IDE2cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLlNpdGVIZWFkZXIge1xuICAgICAgcGFkZGluZy10b3A6IDE1cHg7IH0gfVxuICAuU2l0ZUhlYWRlci0tZml4ZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuU2l0ZUhlYWRlci0tbGlnaHQgLlNpdGVIZWFkZXJfX2xvZ28ge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5TaXRlSGVhZGVyLS1saWdodCAuU2l0ZUhlYWRlcl9fbG9nbzpob3ZlciwgLlNpdGVIZWFkZXItLWxpZ2h0IC5TaXRlSGVhZGVyX19sb2dvOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZTZlNmU2OyB9XG4gIC5TaXRlSGVhZGVyLS1saWdodCAuSGVhZGVyTmF2X19saW5rLCAuU2l0ZUhlYWRlci0tbGlnaHQgLkhlYWRlck5hdl9fbGFiZWwsXG4gIC5TaXRlSGVhZGVyLS1saWdodCAuSGVhZGVyTmF2X19jaGV2cm9uIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgLlNpdGVIZWFkZXItLWxpZ2h0IC5IZWFkZXJOYXZfX2xpbms6aG92ZXIsIC5TaXRlSGVhZGVyLS1saWdodCAuSGVhZGVyTmF2X19saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuICAuU2l0ZUhlYWRlci0tbGlnaHQgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd246aG92ZXIgLkhlYWRlck5hdl9fbGluaywgLlNpdGVIZWFkZXItLWxpZ2h0IC5IZWFkZXJOYXZfX2l0ZW0tLWRyb3Bkb3duOmhvdmVyIC5IZWFkZXJOYXZfX2xhYmVsLFxuICAuU2l0ZUhlYWRlci0tbGlnaHQgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd246aG92ZXIgLkhlYWRlck5hdl9fY2hldnJvbiwgLlNpdGVIZWFkZXItLWxpZ2h0IC5IZWFkZXJOYXZfX2l0ZW0tLWRyb3Bkb3duOmZvY3VzLXdpdGhpbiAuSGVhZGVyTmF2X19saW5rLCAuU2l0ZUhlYWRlci0tbGlnaHQgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd246Zm9jdXMtd2l0aGluIC5IZWFkZXJOYXZfX2xhYmVsLFxuICAuU2l0ZUhlYWRlci0tbGlnaHQgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd246Zm9jdXMtd2l0aGluIC5IZWFkZXJOYXZfX2NoZXZyb24ge1xuICAgIGNvbG9yOiAjZTZlNmU2OyB9XG4gIC5TaXRlSGVhZGVyX19ncmlkIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLlNpdGVIZWFkZXJfX2xvZ28ge1xuICAgIGNvbG9yOiAjM2Q0NzVmO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLlNpdGVIZWFkZXJfX2xvZ286aG92ZXIsIC5TaXRlSGVhZGVyX19sb2dvOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjM2I2NWNmOyB9XG4gIC5TaXRlSGVhZGVyX19uYXYge1xuICAgIG1hcmdpbi1yaWdodDogNDBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLlNpdGVIZWFkZXJfX25hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuU2l0ZUhlYWRlcl9fYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5TaXRlSGVhZGVyX19idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLlNpdGVIZWFkZXJfX2hhbWJ1cmdlciB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHNpemU6IDQ3cHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuU2l0ZUhlYWRlcl9faGFtYnVyZ2VyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuU2l0ZUhlYWRlcl9faGFtYnVyZ2VyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH0gfVxuXG4uSGVhZGVyTmF2X19pdGVtIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5IZWFkZXJOYXZfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzNnB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLkhlYWRlck5hdl9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMnB4OyB9IH1cbiAgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd24ge1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5IZWFkZXJOYXZfX2l0ZW0tLWRyb3Bkb3duOmhvdmVyIC5IZWFkZXJOYXZfX2xpbmssIC5IZWFkZXJOYXZfX2l0ZW0tLWRyb3Bkb3duOmhvdmVyIC5IZWFkZXJOYXZfX2xhYmVsLCAuSGVhZGVyTmF2X19pdGVtLS1kcm9wZG93bjpmb2N1cy13aXRoaW4gLkhlYWRlck5hdl9fbGluaywgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd246Zm9jdXMtd2l0aGluIC5IZWFkZXJOYXZfX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAjMmE0ZmFkOyB9XG4gICAgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd246aG92ZXIgLkhlYWRlck5hdl9fZHJvcGRvd24sIC5IZWFkZXJOYXZfX2l0ZW0tLWRyb3Bkb3duOmZvY3VzLXdpdGhpbiAuSGVhZGVyTmF2X19kcm9wZG93biB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd246aG92ZXIgLkhlYWRlck5hdl9fY2hldnJvbiwgLkhlYWRlck5hdl9faXRlbS0tZHJvcGRvd246Zm9jdXMtd2l0aGluIC5IZWFkZXJOYXZfX2NoZXZyb24ge1xuICAgICAgY29sb3I6ICMzZDQ3NWY7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpOyB9XG4gIC5IZWFkZXJOYXZfX2l0ZW0tLWFjdGl2ZSAuSGVhZGVyTmF2X19saW5rLCAuSGVhZGVyTmF2X19pdGVtLS1hY3RpdmUgLkhlYWRlck5hdl9fbGFiZWwge1xuICAgIGNvbG9yOiAjM2I2NWNmOyB9XG5cbi5IZWFkZXJOYXZfX2xpbmssIC5IZWFkZXJOYXZfX2xhYmVsIHtcbiAgY29sb3I6ICMzZDQ3NWY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICBsaW5lLWhlaWdodDogMS4wNzE1O1xuICBwYWRkaW5nOiAxNnB4IDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7IH1cblxuLkhlYWRlck5hdl9fbGluazpob3ZlciwgLkhlYWRlck5hdl9fbGluazpmb2N1cyB7XG4gIGNvbG9yOiAjMmE0ZmFkOyB9XG5cbi5IZWFkZXJOYXZfX2NoZXZyb24ge1xuICBjb2xvcjogIzg2ODY4NjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjc1cyAwLjM1cyBlYXNlLW91dCwgY29sb3IgMC4ycyBlYXNlLW91dDsgfVxuXG4uSGVhZGVyTmF2X19kcm9wZG93biB7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogNDUwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICB0cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjM1cztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCB2aXNpYmlsaXR5O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxOyB9XG5cbi5IZWFkZXJOYXZfX2Ryb3Bkb3duSW5uZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGNkZmU0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm94LXNoYWRvdzogMCAyMHB4IDMxcHggcmdiYSg4OCwgOTIsIDE3NywgMC4xMyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDI0cHg7IH1cblxuLkhlYWRlck5hdl9fZHJvcGRvd25JdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG5cbi5IZWFkZXJOYXZfX2Ryb3Bkb3duSXRlbS0tYWN0aXZlIC5IZWFkZXJOYXZfX2Ryb3Bkb3duTGluaywgLkhlYWRlck5hdl9fZHJvcGRvd25JdGVtLS1hY3RpdmUgLkhlYWRlck5hdl9fZHJvcGRvd25MYWJlbCB7XG4gIGNvbG9yOiAjM2I2NWNmOyB9XG5cbi5IZWFkZXJOYXZfX2Ryb3Bkb3duTGluaywgLkhlYWRlck5hdl9fZHJvcGRvd25MYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uSGVhZGVyTmF2X19kcm9wZG93bkxpbms6aG92ZXIsIC5IZWFkZXJOYXZfX2Ryb3Bkb3duTGluazpmb2N1cyB7XG4gIGNvbG9yOiAjM2Q0NzVmOyB9XG5cbi5TaXRlRm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWJlZDtcbiAgcGFkZGluZzogNDVweCAwIDMwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlNpdGVGb290ZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDI0cHg7XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDsgfSB9XG4gIC5TaXRlRm9vdGVyX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiZmlyc3QgbmF2IHNlcnZpY2VzIGxhc3RcIjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBhdXRvKSAxZnIgYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLlNpdGVGb290ZXJfX2dyaWQge1xuICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDI0cHg7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIDFmcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJmaXJzdCBzZXJ2aWNlcyBsYXN0XCIgXCJuYXYgc2VydmljZXMgbGFzdFwiOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5TaXRlRm9vdGVyX19ncmlkIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAxNnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5TaXRlRm9vdGVyX19ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiZmlyc3RcIiBcIm5hdlwiIFwic2VydmljZXNcIiBcImxhc3RcIjsgfSB9XG4gICAgLlNpdGVGb290ZXJfX2dyaWQtLWJvdHRvbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAgIC5TaXRlRm9vdGVyX19ncmlkLS1ib3R0b20ge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG4gIC5TaXRlRm9vdGVyX19jb2x1bW4tLWZpcnN0IHtcbiAgICBncmlkLWFyZWE6IGZpcnN0OyB9XG4gIC5TaXRlRm9vdGVyX19jb2x1bW4tLWxhc3Qge1xuICAgIGdyaWQtYXJlYTogbGFzdDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgIHBhZGRpbmctbGVmdDogMzJweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5TaXRlRm9vdGVyX19jb2x1bW4tLWxhc3Qge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLlNpdGVGb290ZXJfX2NvbHVtbi0tbGFzdCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuU2l0ZUZvb3Rlcl9fY29sdW1uLS1sYXN0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogNjZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5TaXRlRm9vdGVyX19sb2dvIHtcbiAgICBjb2xvcjogIzNkNDc1ZjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5TaXRlRm9vdGVyX19sb2dvOmhvdmVyLCAuU2l0ZUZvb3Rlcl9fbG9nbzpmb2N1cyB7XG4gICAgICBjb2xvcjogIzNiNjVjZjsgfVxuICAuU2l0ZUZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMDc1O1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBtYXgtd2lkdGg6IDE2MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuU2l0ZUZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9IH1cbiAgLlNpdGVGb290ZXJfX25hdiB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZ3JpZC1hcmVhOiBuYXY7XG4gICAgcGFkZGluZy14OiA3NXB4IDg1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuU2l0ZUZvb3Rlcl9fbmF2IHtcbiAgICAgICAgcGFkZGluZy14OiA1MHB4IDYwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLlNpdGVGb290ZXJfX25hdiB7XG4gICAgICAgIHBhZGRpbmcteDogMCA0MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5TaXRlRm9vdGVyX19uYXYge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5TaXRlRm9vdGVyX19uYXYge1xuICAgICAgICBtYXJnaW4tdG9wOiA0NXB4OyB9IH1cbiAgLlNpdGVGb290ZXJfX3NlcnZpY2VzIHtcbiAgICBncmlkLWFyZWE6IHNlcnZpY2VzO1xuICAgIG1heC13aWR0aDogNDgwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5TaXRlRm9vdGVyX19zZXJ2aWNlcyB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuU2l0ZUZvb3Rlcl9fc2VydmljZXMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgLlNpdGVGb290ZXJfX3Bob25lOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDRweDsgfVxuICAuU2l0ZUZvb3Rlcl9fcGhvbmUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiQmViYXMgTmV1ZVwiLCBjdXJzaXZlO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5TaXRlRm9vdGVyX19lbWFpbHMge1xuICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlNpdGVGb290ZXJfX2VtYWlscyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDsgfSB9XG4gIC5TaXRlRm9vdGVyX19lbWFpbDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7IH1cbiAgLlNpdGVGb290ZXJfX2VtYWlsIGEge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTsgfVxuICAuU2l0ZUZvb3Rlcl9fYWRkcmVzcyB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5TaXRlRm9vdGVyX19hZGRyZXNzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gIC5TaXRlRm9vdGVyX19kZXZlbG9wZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzA3NTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlNpdGVGb290ZXJfX2RldmVsb3BlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH0gfVxuICAgIC5TaXRlRm9vdGVyX19kZXZlbG9wZXIgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgLlNpdGVGb290ZXJfX2xpbmtzIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLlNpdGVGb290ZXJfX2xpbms6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gIC5TaXRlRm9vdGVyX19saW5rIGEge1xuICAgIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zMDc1OyB9XG4gICAgLlNpdGVGb290ZXJfX2xpbmsgYTpob3ZlciwgLlNpdGVGb290ZXJfX2xpbmsgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogIzNiNjVjZjsgfVxuXG4uRm9vdGVyTmF2X19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5Gb290ZXJOYXZfX2l0ZW0tLWFjdGl2ZSAuRm9vdGVyTmF2X19pbm5lciB7XG4gIGNvbG9yOiAjM2I2NWNmOyB9XG5cbmEuRm9vdGVyTmF2X19pbm5lcjpob3ZlciwgYS5Gb290ZXJOYXZfX2lubmVyOmZvY3VzIHtcbiAgY29sb3I6ICMyNTQ2OTg7IH1cblxuLkZvb3RlclNlcnZpY2VzX19saXN0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IDE1cHggNTJweDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLkZvb3RlclNlcnZpY2VzX19saXN0IHtcbiAgICAgIGdyaWQtY29sdW1uLWdhcDogMzJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5Gb290ZXJTZXJ2aWNlc19fbGlzdCB7XG4gICAgICBncmlkLWNvbHVtbi1nYXA6IDI0cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuRm9vdGVyU2VydmljZXNfX2xpc3Qge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuRm9vdGVyU2VydmljZXNfX2xpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG5cbi5Gb290ZXJTZXJ2aWNlc19faW5uZXIge1xuICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNjY7IH1cblxuLm9mZkNhbnZhcy1tb2RlbFtpZD1cIm9mZi1jYW52YXNcIl06Y2hlY2tlZCB+IC5vZmZDYW52YXMtbGF5ZXIsIC5vZmZDYW52YXMtbW9kZWxbaWQ9XCJvZmYtY2FudmFzXCJdOmNoZWNrZWQgfiAqIC5vZmZDYW52YXMtbGF5ZXIge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5vZmZDYW52YXMtbW9kZWxbaWQ9XCJvZmYtY2FudmFzXCJdOmNoZWNrZWQgfiAub2ZmQ2FudmFzLWJhY2tncm91bmRMYXllciwgLm9mZkNhbnZhcy1tb2RlbFtpZD1cIm9mZi1jYW52YXNcIl06Y2hlY2tlZCB+ICogLm9mZkNhbnZhcy1iYWNrZ3JvdW5kTGF5ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4ub2ZmQ2FudmFzLW1vZGVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAub2ZmQ2FudmFzLW1vZGVsW2lkPVwib2ZmLWNhbnZhc1wiXTpjaGVja2VkIH4gLm9mZkNhbnZhcy1iYWNrZHJvcFtmb3I9XCJvZmYtY2FudmFzXCJdIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5vZmZDYW52YXMtbGF5ZXIge1xuICBmaXhlZDogdG9wIHJpZ2h0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aWR0aDogMjgwcHg7XG4gIHotaW5kZXg6IDExO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjgwcHgpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIHZpc2liaWxpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gICAgLm9mZkNhbnZhcy1sYXllciB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MjRweCkge1xuICAgIC5vZmZDYW52YXMtbGF5ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9IH1cblxuLm9mZkNhbnZhcy1iYWNrZHJvcCB7XG4gIGZpeGVkOiB0b3AgbGVmdDtcbiAgc2l6ZTogMTAwJTtcbiAgei1pbmRleDogMTA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdmlzaWJpbGl0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsgfVxuXG4ub2ZmQ2FudmFzLWJhY2tncm91bmRMYXllciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7IH1cblxuLlNpdGVPZmZDYW52YXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLlNpdGVPZmZDYW52YXNfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5TaXRlT2ZmQ2FudmFzX19uYXZpZ2F0aW9uIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luLXRvcDogNzhweDsgfVxuICAuU2l0ZU9mZkNhbnZhc19fY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBzaXplOiA0N3B4OyB9XG4gIC5TaXRlT2ZmQ2FudmFzX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgLlNpdGVPZmZDYW52YXNfX2ltYWdlIHtcbiAgICB6LWluZGV4OiAxOyB9XG5cbi5TaXRlT2ZmQ2FudmFzTmF2aWdhdGlvbl9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2l0ZW0tLWFjdGl2ZSAuU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2lubmVyIHtcbiAgY29sb3I6ICMzYjY1Y2Y7IH1cblxuLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19pbm5lciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19jaGVja2JveDpjaGVja2VkIH4gLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19kcm9wZG93biB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5TaXRlT2ZmQ2FudmFzTmF2aWdhdGlvbl9fY2hlY2tib3g6Y2hlY2tlZCArIC5TaXRlT2ZmQ2FudmFzTmF2aWdhdGlvbl9faW5uZXIgLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19jaGV2cm9uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGVaKDE4MGRlZyk7IH1cblxuLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19kcm9wZG93biB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19kcm9wZG93bkl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uX19kcm9wZG93bkl0ZW0tLWFjdGl2ZSAuU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2Ryb3Bkb3duSW5uZXIge1xuICBjb2xvcjogIzNiNjVjZjsgfVxuXG4uU2l0ZU9mZkNhbnZhc05hdmlnYXRpb25fX2Ryb3Bkb3duSW5uZXIge1xuICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNjY2OyB9XG5cbi5TaXRlT2ZmQ2FudmFzTmF2aWdhdGlvbl9fY2hldnJvbiB7XG4gIG1hcmdpbi1sZWZ0OiA5cHg7XG4gIG1hcmdpbi10b3A6IC00cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlWigwZGVnKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjc1cyBlYXNlLW91dDsgfVxuXG4ub2ZmQ2FudmFzLW1vZGVsIHtcbiAgZGlzcGxheTogaW5pdGlhbDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7IH1cblxuLm9mZkNhbnZhcy1sYXllciB7XG4gIHBhZGRpbmc6IDE1cHggMTZweCA0MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAub2ZmQ2FudmFzLWxheWVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLlNpdGVGb3JtX19ncmlkIHtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMTZweCAzMnB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5TaXRlRm9ybV9fZ3JpZCB7XG4gICAgICBncmlkLWNvbHVtbi1nYXA6IDI0cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuU2l0ZUZvcm1fX2dyaWQge1xuICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAxNnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlNpdGVGb3JtX19ncmlkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH1cbiAgLlNpdGVGb3JtX19ncmlkLS12ZXJ0aWNhbCB7XG4gICAgZ3JpZC1nYXA6IDE2cHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH1cbiAgLlNpdGVGb3JtX19ncmlkID4gKiB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG5cbi5TaXRlRm9ybV9fY29udHJvbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLlNpdGVGb3JtX19jb250cm9sLS1zaW5nbGUge1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgLlNpdGVGb3JtX19jb250cm9sLS1zaW5nbGUge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IC0xO1xuICAgICAgICBncmlkLXJvdzogMSAvIC0xOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5TaXRlRm9ybV9fY29udHJvbC0tc2luZ2xlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cblxuLlNpdGVGb3JtX19sYWJlbCB7XG4gIGNvbG9yOiAjODY4Njg2O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICBvcmRlcjogLTE7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlNpdGVGb3JtX19sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMXB4OyB9IH1cblxuLlNpdGVGb3JtX19pbnB1dCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlNpdGVGb3JtX19pbnB1dCB7XG4gICAgICBwYWRkaW5nLXg6IDE2cHg7IH0gfVxuICAuU2l0ZUZvcm1fX2lucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMzYjY1Y2Y7IH1cbiAgICAuU2l0ZUZvcm1fX2lucHV0OmZvY3VzICsgLlNpdGVGb3JtX19sYWJlbCB7XG4gICAgICBjb2xvcjogIzNiNjVjZjsgfVxuICAuU2l0ZUZvcm1fX2lucHV0OmRpc2FibGVkOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM4Njg2ODY7IH1cbiAgLlNpdGVGb3JtX19pbnB1dC5pcy1pbnZhbGlkIHtcbiAgICBib3JkZXItY29sb3I6ICNlYjYyNjI7IH1cblxuLlNpdGVGb3JtX19jaGVja2JveFdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5TaXRlRm9ybV9fY2hlY2tib3gge1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiA0cHg7IH1cblxuLlNpdGVGb3JtX19mb290ZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogMTZweDsgfVxuXG4uU2l0ZUZvcm1fX2FncmVlbWVudCB7XG4gIGNvbG9yOiByZ2JhKDIxLCA0MiwgNzEsIDAuNyk7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzO1xuICBtYXgtd2lkdGg6IDQ4MHB4O1xuICBwYWRkaW5nLXRvcDogMnB4OyB9XG4gIC5TaXRlRm9ybV9fYWdyZWVtZW50IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLlNpdGVGb3JtX19hZ3JlZW1lbnQgYTpob3ZlciwgLlNpdGVGb3JtX19hZ3JlZW1lbnQgYTpmb2N1cyB7XG4gICAgICBjb2xvcjogIzNiNjVjZjsgfVxuXG4uU2l0ZUZvcm1fX2J1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1pbi13aWR0aDogYXV0bztcbiAgcGFkZGluZzogMCAzMnB4OyB9XG5cbi5TaXRlRm9ybV9fdGV4dGFyZWEge1xuICBtYXgtaGVpZ2h0OiA1MjBweDtcbiAgbWluLWhlaWdodDogMTMwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlNpdGVGb3JtX190ZXh0YXJlYSB7XG4gICAgICBtaW4taGVpZ2h0OiAxNTBweDsgfSB9XG4gIC5TaXRlRm9ybV9fdGV4dGFyZWEtLWZ1bGwge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5TaXRlRm9ybV9fdGV4dGFyZWEtLWZ1bGwge1xuICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDsgfSB9XG5cbi5CdXR0b25BcnJvdyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjM2Q0NzVmO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1Mzg1O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0OyB9XG4gIGEuQnV0dG9uQXJyb3c6aG92ZXIsIGEuQnV0dG9uQXJyb3c6Zm9jdXMge1xuICAgIGNvbG9yOiAjM2I2NWNmOyB9XG4gICAgYS5CdXR0b25BcnJvdzpob3ZlciAuQnV0dG9uQXJyb3dfX2NpcmNsZSwgYS5CdXR0b25BcnJvdzpmb2N1cyAuQnV0dG9uQXJyb3dfX2NpcmNsZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTsgfVxuICAuQnV0dG9uQXJyb3dfX2NpcmNsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5CdXR0b25BcnJvd19fY2lyY2xlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0gfVxuXG4uQmFja0J1dHRvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjM2Q0NzVmO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1Mzg1O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0OyB9XG4gIC5CYWNrQnV0dG9uOmhvdmVyIC5CYWNrQnV0dG9uX19jaXJjbGUsIC5CYWNrQnV0dG9uOmZvY3VzIC5CYWNrQnV0dG9uX19jaXJjbGUge1xuICAgIGNvbG9yOiAjM2I2NWNmO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICAuQmFja0J1dHRvbl9fY2lyY2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYmVkO1xuICAgIGNvbG9yOiAjM2Q0NzVmO1xuICAgIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkJhY2tCdXR0b25fX2NpcmNsZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG4gICAgLkJhY2tCdXR0b25fX2NpcmNsZSBzdmcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpOyB9XG5cbi5TaXRlR2FsbGVyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuU2l0ZUdhbGxlcnlfX3NsaWRlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuU2l0ZUdhbGxlcnlfX2ltYWdlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yMDY5JTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuU2l0ZUdhbGxlcnlfX2NvbnRyb2xzIHtcbiAgICBib3R0b206IDUwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuU2l0ZUdhbGxlcnlfX2NvbnRyb2xzIHtcbiAgICAgICAgYm90dG9tOiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5TaXRlR2FsbGVyeV9fY29udHJvbHMge1xuICAgICAgICBib3R0b206IDMwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlNpdGVHYWxsZXJ5X19jb250cm9scyB7XG4gICAgICAgIGJvdHRvbTogMjBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gICAgICAuU2l0ZUdhbGxlcnlfX2NvbnRyb2xzIHtcbiAgICAgICAgYm90dG9tOiAxNnB4OyB9IH1cbiAgLlNpdGVHYWxsZXJ5X19idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLlByb2plY3RDYXJkIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLlByb2plY3RDYXJkOmhvdmVyIC5Qcm9qZWN0Q2FyZF9fdGl0bGUsXG4gIC5Qcm9qZWN0Q2FyZDpob3ZlciAuQnV0dG9uQXJyb3csIC5Qcm9qZWN0Q2FyZDpmb2N1cyAuUHJvamVjdENhcmRfX3RpdGxlLFxuICAuUHJvamVjdENhcmQ6Zm9jdXMgLkJ1dHRvbkFycm93IHtcbiAgICBjb2xvcjogIzNiNjVjZjsgfVxuICAuUHJvamVjdENhcmQ6aG92ZXIgLkJ1dHRvbkFycm93X19jaXJjbGUsIC5Qcm9qZWN0Q2FyZDpmb2N1cyAuQnV0dG9uQXJyb3dfX2NpcmNsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7IH1cbiAgLlByb2plY3RDYXJkOmhvdmVyIC5Qcm9qZWN0Q2FyZF9faW1hZ2UgaW1nLCAuUHJvamVjdENhcmQ6Zm9jdXMgLlByb2plY3RDYXJkX19pbWFnZSBpbWcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7IH1cbiAgLlByb2plY3RDYXJkX19pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmctYm90dG9tOiA3MS44OTU0MiU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Qcm9qZWN0Q2FyZF9faW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Qcm9qZWN0Q2FyZF9faW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Qcm9qZWN0Q2FyZF9faW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cbiAgICAuUHJvamVjdENhcmRfX2ltYWdlOjpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzogMCAzMHB4IDEwMHB4IHJnYmEoODgsIDkyLCAxNzcsIDAuMyk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgd2lkdGg6IDkxLjE1JTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAuUHJvamVjdENhcmRfX2ltYWdlIGltZyB7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gIC5Qcm9qZWN0Q2FyZF9fb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMywgMTAwLCAxNzIsIDAuMSk7XG4gICAgei1pbmRleDogMzsgfVxuICAuUHJvamVjdENhcmRfX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yODU7IH1cbiAgLlByb2plY3RDYXJkX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2Utb3V0OyB9XG4gIC5Qcm9qZWN0Q2FyZF9fYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5QYWdlRmlsdGVycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBtYXJnaW4tYm90dG9tOiAtMThweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuUGFnZUZpbHRlcnMge1xuICAgICAgbWFyZ2luLXg6IC0xNnB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLlBhZ2VGaWx0ZXJzIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTE2cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87IH0gfVxuICAuUGFnZUZpbHRlcnNfX2l0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuUGFnZUZpbHRlcnNfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5QYWdlRmlsdGVyc19faXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDsgfSB9XG4gICAgLlBhZ2VGaWx0ZXJzX19pdGVtLS1hY3RpdmUgLlBhZ2VGaWx0ZXJzX19pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I2NWNmO1xuICAgICAgY29sb3I6IHdoaXRlOyB9XG4gIC5QYWdlRmlsdGVyc19faW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWViZWQ7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cbiAgICBhLlBhZ2VGaWx0ZXJzX19pbm5lcjpob3ZlciwgYS5QYWdlRmlsdGVyc19faW5uZXI6Zm9jdXMge1xuICAgICAgY29sb3I6ICMzYjY1Y2Y7IH1cblxuLkNvbnN1bHRhdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkM2Q1ZDk7XG4gIHBhZGRpbmc6IDYwcHggNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Db25zdWx0YXRpb24ge1xuICAgICAgcGFkZGluZzogNTBweCAzNXB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkNvbnN1bHRhdGlvbiB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDIwcHg7IH0gfVxuICAuQ29uc3VsdGF0aW9uOjphZnRlciB7XG4gICAgei1pbmRleDogNDsgfVxuICAuQ29uc3VsdGF0aW9uOjpiZWZvcmUge1xuICAgIGJvdHRvbTogMDtcbiAgICBib3gtc2hhZG93OiAwIDMwcHggNDBweCByZ2JhKDg4LCA5MiwgMTc3LCAwLjA4KTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogODguNSU7XG4gICAgbGVmdDogNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDk1JTtcbiAgICB6LWluZGV4OiAtMTsgfVxuICAuQ29uc3VsdGF0aW9uX19vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTVkZWcsICNmYWZhZmEgMCUsICNmYWZhZmEgNTIuNSUsIHJnYmEoMjUwLCAyNTAsIDI1MCwgMCkgMTAwJSk7XG4gICAgei1pbmRleDogMjsgfVxuICAuQ29uc3VsdGF0aW9uX19jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMzsgfVxuICAuQ29uc3VsdGF0aW9uX19kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ0NDQ7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkNvbnN1bHRhdGlvbl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkNvbnN1bHRhdGlvbl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Mjg1OyB9IH1cbiAgLkNvbnN1bHRhdGlvbl9fYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuQ29uc3VsdGF0aW9uX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cbiAgLkNvbnN1bHRhdGlvbl9faW1hZ2Uge1xuICAgIHotaW5kZXg6IDE7IH1cblxuLkxvY2FsZVBpY2tlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDRweCAzMnB4IHJnYmEoODgsIDkyLCAxNzcsIDAuMjUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAxMXB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5Mb2NhbGVQaWNrZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgc2l6ZTogNDdweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5Mb2NhbGVQaWNrZXI6aG92ZXIsIC5Mb2NhbGVQaWNrZXI6Zm9jdXMtd2l0aGluIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICAuTG9jYWxlUGlja2VyOmhvdmVyIC5Mb2NhbGVQaWNrZXJfX2l0ZW0sIC5Mb2NhbGVQaWNrZXI6Zm9jdXMtd2l0aGluIC5Mb2NhbGVQaWNrZXJfX2l0ZW0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuTG9jYWxlUGlja2VyLi0tYWN0aXZlIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gICAgICAuTG9jYWxlUGlja2VyLi0tYWN0aXZlIC5Mb2NhbGVQaWNrZXJfX2l0ZW0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuICAuTG9jYWxlUGlja2VyX19pdGVtIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuTG9jYWxlUGlja2VyX19pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2QzZDVkOTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuTG9jYWxlUGlja2VyX19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBmbGV4LXNocmluazogMDsgfVxuICAgICAgICAuTG9jYWxlUGlja2VyX19pdGVtOmZpcnN0LWNoaWxkIC5Mb2NhbGVQaWNrZXJfX2lubmVyIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkxvY2FsZVBpY2tlcl9faXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpOyB9XG4gICAgICAgIC5Mb2NhbGVQaWNrZXJfX2l0ZW06bm90KDpmaXJzdC1jaGlsZCkgLkxvY2FsZVBpY2tlcl9faW5uZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLkxvY2FsZVBpY2tlcl9faXRlbS0tYWN0aXZlIC5Mb2NhbGVQaWNrZXJfX2lubmVyIHtcbiAgICAgIGNvbG9yOiAjM2Q0NzVmOyB9XG4gIC5Mb2NhbGVQaWNrZXJfX2lubmVyIHtcbiAgICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjUpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4wNzE1O1xuICAgIHBhZGRpbmc6IDVweDsgfVxuICAuTG9jYWxlUGlja2VyX19hcnJvdyB7XG4gICAgY29sb3I6ICMzZDQ3NWY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gICAgICAuTG9jYWxlUGlja2VyX19hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkxvY2FsZVBpY2tlcl9fYXJyb3cge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycHg7IH0gfVxuXG4uRmVhdHVyZWRTbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLkZlYXR1cmVkU2xpZGVyX19pbWFnZSB7XG4gICAgei1pbmRleDogMTsgfVxuICAuRmVhdHVyZWRTbGlkZXJfX2NvbnRlbnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTMsIDEwMCwgMTcyLCAwLjEpO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZzogMTYwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjsgfVxuICAuRmVhdHVyZWRTbGlkZXJfX2NvbnRhaW5lciwgLkZlYXR1cmVkU2xpZGVyX19ncmlkIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLkZlYXR1cmVkU2xpZGVyX19ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLkZlYXR1cmVkU2xpZGVyX190aXRsZSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogNS42MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICBtYXgtd2lkdGg6IDgxMnB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuRmVhdHVyZWRTbGlkZXJfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiA0LjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkZlYXR1cmVkU2xpZGVyX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy41cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5GZWF0dXJlZFNsaWRlcl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuNjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC44NTcxNTsgfSB9XG4gIC5GZWF0dXJlZFNsaWRlcl9fZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLkZlYXR1cmVkU2xpZGVyX19wYW5lbCB7XG4gICAgYm90dG9tOiA1MnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDM7IH1cblxuLkZlYXR1cmVkU2xpZGVyUGFuZWwge1xuICB3aWR0aDogMTAwJTsgfVxuICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fZ3JpZCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9faW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbihjYWxjKDEwMCUgLSAyMHB4KSAwLCAxMDAlIDUwJSwgY2FsYygxMDAlIC0gMjBweCkgMTAwJSwgMCAxMDAlLCAwIDIwcHgsIDAgMCk7XG4gICAgY291bnRlci1yZXNldDogZmVhdHVyZWQtc2xpZGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5GZWF0dXJlZFNsaWRlclBhbmVsX19pbm5lciB7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbihjYWxjKDEwMCUgLSAxMHB4KSAwLCAxMDAlIDUwJSwgY2FsYygxMDAlIC0gMTBweCkgMTAwJSwgMCAxMDAlLCAwIDApOyB9IH1cbiAgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX2l0ZW0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IGZlYXR1cmVkLXNsaWRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDI2cHggNTlweCAyMHB4IDIzcHg7XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5GZWF0dXJlZFNsaWRlclBhbmVsX19pdGVtIHtcbiAgICAgICAgcGFkZGluZzogMTZweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM3NHB4KSB7XG4gICAgICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggMTJweCAxMHB4OyB9IH1cbiAgICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9faXRlbTpub3QoOmZpcnN0LWNoaWxkKS4tLWFjdGl2ZSB+IC5GZWF0dXJlZFNsaWRlclBhbmVsX19ydW5uZXIge1xuICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKGNhbGMoMTAwJSAtIDEwcHgpIDAsIDEwMCUgNTAlLCBjYWxjKDEwMCUgLSAxMHB4KSAxMDAlLCAwIDEwMCUsIDEwcHggNTAlLCAwIDApOyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgICAgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX2l0ZW06bm90KDpmaXJzdC1jaGlsZCkuLS1hY3RpdmUgfiAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fcnVubmVyIHtcbiAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oY2FsYygxMDAlIC0gMTBweCkgMCwgMTAwJSA1MCUsIGNhbGMoMTAwJSAtIDEwcHgpIDEwMCUsIDAgMTAwJSwgNXB4IDUwJSwgMCAwKTsgfSB9XG4gICAgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX2l0ZW06bnRoLWNoaWxkKDIpLi0tYWN0aXZlIH4gLkZlYXR1cmVkU2xpZGVyUGFuZWxfX3J1bm5lciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cbiAgICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9faXRlbTpudGgtY2hpbGQoMykuLS1hY3RpdmUgfiAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fcnVubmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAlKTsgfVxuICAgIC5GZWF0dXJlZFNsaWRlclBhbmVsX19pdGVtLi0tYWN0aXZlIC5GZWF0dXJlZFNsaWRlclBhbmVsX19udW1iZXIge1xuICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuICAgIC5GZWF0dXJlZFNsaWRlclBhbmVsX19pdGVtLi0tYWN0aXZlIC5GZWF0dXJlZFNsaWRlclBhbmVsX190ZXh0IHtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fbnVtYmVyIHtcbiAgICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg1NzE1O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX251bWJlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5GZWF0dXJlZFNsaWRlclBhbmVsX19udW1iZXI6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIjBcIiBjb3VudGVyKGZlYXR1cmVkLXNsaWRlcik7IH1cbiAgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX3RleHQge1xuICAgIGNvbG9yOiAjM2Q0NzVmO1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4wNzE1O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX3RleHQge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDM3NHB4KSB7XG4gICAgICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAuRmVhdHVyZWRTbGlkZXJQYW5lbF9fcnVubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I2NWNmO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbihjYWxjKDEwMCUgLSAyMHB4KSAwLCAxMDAlIDUwJSwgY2FsYygxMDAlIC0gMjBweCkgMTAwJSwgMCAxMDAlLCAwIDIwcHgsIDAgMCk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgY2xpcC1wYXRoO1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkZlYXR1cmVkU2xpZGVyUGFuZWxfX3J1bm5lciB7XG4gICAgICAgIGNsaXAtcGF0aDogcG9seWdvbihjYWxjKDEwMCUgLSAxMHB4KSAwLCAxMDAlIDUwJSwgY2FsYygxMDAlIC0gMTBweCkgMTAwJSwgMCAxMDAlLCAwIDApOyB9IH1cblxuLkZlYXR1cmVkU2xpZGVyU2Nyb2xsIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTUzODU7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5GZWF0dXJlZFNsaWRlclNjcm9sbCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLkZlYXR1cmVkU2xpZGVyU2Nyb2xsOmhvdmVyIC5GZWF0dXJlZFNsaWRlclNjcm9sbF9fY2lyY2xlLCAuRmVhdHVyZWRTbGlkZXJTY3JvbGw6Zm9jdXMgLkZlYXR1cmVkU2xpZGVyU2Nyb2xsX19jaXJjbGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpOyB9XG4gIC5GZWF0dXJlZFNsaWRlclNjcm9sbF9fY2lyY2xlIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAuRmVhdHVyZWRTbGlkZXJTY3JvbGxfX2NpcmNsZUlubmVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooOTBkZWcpOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAuUGFydG5lcnNfX2NvbnRhaW5lciB7XG4gICAgbWFyZ2luLXg6IC0xNnB4OyB9IH1cblxuLlBhcnRuZXJzX19zbGlkZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLyA2ICsgMi42NjY2N3B4KTtcbiAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5QYXJ0bmVyc19fc2xpZGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuUGFydG5lcnNfX3NsaWRlIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gNSArIDMuMnB4KTsgfVxuICAgICAgLlBhcnRuZXJzX19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5QYXJ0bmVyc19fc2xpZGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA0ICsgNHB4KTsgfVxuICAgICAgLlBhcnRuZXJzX19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5QYXJ0bmVyc19fc2xpZGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzICsgNS4zMzMzM3B4KTsgfVxuICAgICAgLlBhcnRuZXJzX19zbGlkZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTZweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MjVweCkge1xuICAgIC5QYXJ0bmVyc19fc2xpZGU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkNWQ5O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMXB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gICAgLlBhcnRuZXJzX19zbGlkZSB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgIG1heC13aWR0aDogOTZweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDI1cHgpIHtcbiAgICAuUGFydG5lcnNfX3NsaWRlOm5vdCg6Zmlyc3QtY2hpbGQpIC5QYXJ0bmVyc19faW1hZ2Uge1xuICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAuUGFydG5lcnNfX3NsaWRlOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9IH1cblxuLlBhcnRuZXJzX19uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luLXRvcDogMTJweDsgfVxuXG4uSG9tZUFib3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lQWJvdXQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDQ4cHg7IH0gfVxuICAuSG9tZUFib3V0X19ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuSG9tZUFib3V0X19ncmlkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzVweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuSG9tZUFib3V0X19ncmlkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuSG9tZUFib3V0X19ncmlkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuSG9tZUFib3V0X19ncmlkIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gIC5Ib21lQWJvdXRfX2NvbHVtbi0tbGVmdCB7XG4gICAgcGFkZGluZy1yaWdodDogNjRweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5Ib21lQWJvdXRfX2NvbHVtbi0tbGVmdCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkhvbWVBYm91dF9fY29sdW1uLS1sZWZ0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjRweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuSG9tZUFib3V0X19jb2x1bW4tLWxlZnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Ib21lQWJvdXRfX2NvbHVtbi0tbGVmdCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuICAuSG9tZUFib3V0X19jb2x1bW4tLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDhweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5Ib21lQWJvdXRfX2NvbHVtbi0tcmlnaHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Ib21lQWJvdXRfX2NvbHVtbi0tcmlnaHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgLkhvbWVBYm91dF9fdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLkhvbWVBYm91dF9fYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAzNnB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuSG9tZUFib3V0X19idXR0b24ge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgLkhvbWVBYm91dF9fZGVzY3JpcHRpb24ge1xuICAgIG1heC13aWR0aDogNjE0cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Ib21lQWJvdXRfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG5cbi5Ib21lTnVtYmVyc19fZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAzMnB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuSG9tZU51bWJlcnNfX2dyaWQge1xuICAgICAgZ3JpZC1nYXA6IDI0cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuSG9tZU51bWJlcnNfX2dyaWQge1xuICAgICAgZ3JpZC1nYXA6IDIwcHg7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVOdW1iZXJzX19ncmlkIHtcbiAgICAgIGdyaWQtZ2FwOiAyMHB4IDE2cHg7IH0gfVxuXG4uSG9tZU51bWJlcnNfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLkhvbWVOdW1iZXJzX19pdGVtIC5PcmRlcmVkQ2FyZCB7XG4gICAgc2l6ZTogMTAwJTsgfVxuXG4uT3JkZXJlZENhcmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QzZDVkOTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMjBweDtcbiAgcGFkZGluZy10b3A6IDEycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuT3JkZXJlZENhcmQge1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIGEuT3JkZXJlZENhcmQ6aG92ZXIgLk9yZGVyZWRDYXJkX190aXRsZSwgYS5PcmRlcmVkQ2FyZDpmb2N1cyAuT3JkZXJlZENhcmRfX3RpdGxlIHtcbiAgICBjb2xvcjogIzNiNjVjZjsgfVxuICBhLk9yZGVyZWRDYXJkOmhvdmVyIC5PcmRlcmVkQ2FyZF9fYnV0dG9uSWNvbiwgYS5PcmRlcmVkQ2FyZDpmb2N1cyAuT3JkZXJlZENhcmRfX2J1dHRvbkljb24ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpOyB9XG4gIC5PcmRlcmVkQ2FyZDo6YWZ0ZXIge1xuICAgIGJvcmRlcjogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogIzNiNjVjZjtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2I2NWNmO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBzaXplOiAxNHB4OyB9XG4gIC5PcmRlcmVkQ2FyZF9fbnVtYmVyIHtcbiAgICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg1NzE1O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLk9yZGVyZWRDYXJkX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xuICAgIHBhZGRpbmctdG9wOiAzMnB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5PcmRlcmVkQ2FyZF9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogNnB4OyB9IH1cbiAgLk9yZGVyZWRDYXJkX19idXR0b24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICMzZDQ3NWY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1Mzg1O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLk9yZGVyZWRDYXJkX19idXR0b25JY29uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgbWF4LXdpZHRoOiA5cHg7XG4gICAgcGFkZGluZy10b3A6IDJweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLW91dDsgfVxuXG4uSG9tZVNlY3Rpb25zX19pdGVtcyB7XG4gIGNvdW50ZXItcmVzZXQ6IGhvbWUtc2VjdGlvbnM7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uc19faXRlbXMge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG5cbi5Ib21lU2VjdGlvbnNfX2l0ZW0ge1xuICBjb3VudGVyLWluY3JlbWVudDogaG9tZS1zZWN0aW9uczsgfVxuICAuSG9tZVNlY3Rpb25zX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDE0MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuSG9tZVNlY3Rpb25zX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMjBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuSG9tZVNlY3Rpb25zX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuSG9tZVNlY3Rpb25zX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3NHB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5Ib21lU2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuLkhvbWVTZWN0aW9uLS1sZWZ0IC5Ib21lU2VjdGlvbl9faW1hZ2VDb250YWluZXIge1xuICBvcmRlcjogLTE7IH1cbiAgLkhvbWVTZWN0aW9uLS1sZWZ0IC5Ib21lU2VjdGlvbl9faW1hZ2VDb250YWluZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogODBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAgIC5Ib21lU2VjdGlvbi0tbGVmdCAuSG9tZVNlY3Rpb25fX2ltYWdlQ29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiA2MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Ib21lU2VjdGlvbi0tbGVmdCAuSG9tZVNlY3Rpb25fX2ltYWdlQ29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiA0MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Ib21lU2VjdGlvbi0tbGVmdCAuSG9tZVNlY3Rpb25fX2ltYWdlQ29udGFpbmVyOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDsgfSB9XG5cbi5Ib21lU2VjdGlvbi0tbGVmdCAuSG9tZVNlY3Rpb25fX3RpdGxlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uLS1sZWZ0IC5Ib21lU2VjdGlvbl9fdGl0bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5Ib21lU2VjdGlvbi0tbGVmdCAuSG9tZVNlY3Rpb25fX2NhcmRzIHtcbiAgbWFyZ2luLWxlZnQ6IC04NHB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEzNjVweCkge1xuICAgIC5Ib21lU2VjdGlvbi0tbGVmdCAuSG9tZVNlY3Rpb25fX2NhcmRzIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTQwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uLS1sZWZ0IC5Ib21lU2VjdGlvbl9fY2FyZHMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lU2VjdGlvbi0tbGVmdCAuSG9tZVNlY3Rpb25fX2NhcmRzIHtcbiAgICAgIG1hcmdpbi14OiAtMTZweDsgfSB9XG5cbi5Ib21lU2VjdGlvbl9fZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLkhvbWVTZWN0aW9uX19pbmZvIHtcbiAgZmxleC1ncm93OiAxO1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9faW5mbyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5Ib21lU2VjdGlvbl9fdGl0bGUge1xuICBtYXgtd2lkdGg6IDcyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG5cbi5Ib21lU2VjdGlvbl9fY2FyZHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMzBweDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgbWFyZ2luLXJpZ2h0OiAtODRweDtcbiAgbWFyZ2luLXRvcDogMzRweDtcbiAgbWF4LXdpZHRoOiA4MzJweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uX19jYXJkcyB7XG4gICAgICBncmlkLWdhcDogMjRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTE0MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9fY2FyZHMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMjAwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuSG9tZVNlY3Rpb25fX2NhcmRzIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuSG9tZVNlY3Rpb25fX2NhcmRzIHtcbiAgICAgIGdyaWQtZ2FwOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTE2cHg7XG4gICAgICBtYXJnaW4teDogLTE2cHg7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTsgfSB9XG4gIC5Ib21lU2VjdGlvbl9fY2FyZHM6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxNnB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuSG9tZVNlY3Rpb25fX2NhcmRzOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgLkhvbWVTZWN0aW9uX19jYXJkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5Ib21lU2VjdGlvbl9fY2FyZDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5Ib21lU2VjdGlvbl9fY2FyZCAuRmVhdHVyZWRDYXJkIHtcbiAgICBtaW4td2lkdGg6IDEyMHB4OyB9IH1cblxuLkhvbWVTZWN0aW9uX19pbWFnZUNvbnRhaW5lciB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWF4LXdpZHRoOiA1MTRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uX19pbWFnZUNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDQyMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9faW1hZ2VDb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAzNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9faW1hZ2VDb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAyOTBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9faW1hZ2VDb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAyNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9faW1hZ2VDb250YWluZXIge1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLkhvbWVTZWN0aW9uX19pbWFnZUNvbnRhaW5lci51ay1zY3JvbGxzcHktaW52aWV3IC5Ib21lU2VjdGlvbl9fbnVtYmVyIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5Ib21lU2VjdGlvbl9fbnVtYmVyIHtcbiAgbWFyZ2luLXRvcDogLThweDtcbiAgb3BhY2l0eTogMDtcbiAgcmlnaHQ6IDgwcHg7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjc1cztcbiAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLkhvbWVTZWN0aW9uX19udW1iZXIge1xuICAgICAgcmlnaHQ6IDYwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuSG9tZVNlY3Rpb25fX251bWJlciB7XG4gICAgICByaWdodDogNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lU2VjdGlvbl9fbnVtYmVyIHtcbiAgICAgIGNvbG9yOiByZ2JhKDU5LCAxMDEsIDIwNywgMC4xKTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICByaWdodDogMDsgfSB9XG4gIC5Ib21lU2VjdGlvbl9fbnVtYmVyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiMFwiIGNvdW50ZXIoaG9tZS1zZWN0aW9ucyk7IH1cblxuLkhvbWVTZWN0aW9uX19pbWFnZSB7XG4gIHBhZGRpbmctYm90dG9tOiA5Mi4wMjMzNSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuSG9tZVNlY3Rpb25fX2ltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uRmVhdHVyZWRDYXJkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAxNDUuMzU1MTklO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgYS5GZWF0dXJlZENhcmQ6aG92ZXIgLkZlYXR1cmVkQ2FyZF9fdGl0bGUsIGEuRmVhdHVyZWRDYXJkOmZvY3VzIC5GZWF0dXJlZENhcmRfX3RpdGxlIHtcbiAgICBjb2xvcjogIzNiNjVjZjsgfVxuICBhLkZlYXR1cmVkQ2FyZDpob3ZlciAuRmVhdHVyZWRDYXJkX19jaXJjbGUsIGEuRmVhdHVyZWRDYXJkOmZvY3VzIC5GZWF0dXJlZENhcmRfX2NpcmNsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCk7IH1cbiAgYS5GZWF0dXJlZENhcmQtLW5vSW1hZ2U6aG92ZXIgLkZlYXR1cmVkQ2FyZF9fdGl0bGUsIGEuRmVhdHVyZWRDYXJkLS1ub0ltYWdlOmZvY3VzIC5GZWF0dXJlZENhcmRfX3RpdGxlIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgLkZlYXR1cmVkQ2FyZC0tbm9JbWFnZSAuRmVhdHVyZWRDYXJkX19vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjM2I2NWNmOyB9XG4gIC5GZWF0dXJlZENhcmQtLW5vSW1hZ2UgLkZlYXR1cmVkQ2FyZF9fdGl0bGUge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuRmVhdHVyZWRDYXJkX19pbWFnZSB7XG4gICAgei1pbmRleDogMTsgfVxuICAuRmVhdHVyZWRDYXJkX19vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDE2LjkxJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSA2My45NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MikgODIuNjMlLCB3aGl0ZSAxMDAlKTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5GZWF0dXJlZENhcmRfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuRmVhdHVyZWRDYXJkX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuRmVhdHVyZWRDYXJkX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIC5GZWF0dXJlZENhcmRfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5GZWF0dXJlZENhcmRfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIC5GZWF0dXJlZENhcmRfX2NpcmNsZSB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLkhvbWVQcm9qZWN0c19faXRlbXMge1xuICBtYXJnaW4tdG9wOiA5MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5Ib21lUHJvamVjdHNfX2l0ZW1zIHtcbiAgICAgIG1hcmdpbi10b3A6IDc1cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuSG9tZVByb2plY3RzX19pdGVtcyB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVQcm9qZWN0c19faXRlbXMge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG5cbi5Ib21lUHJvamVjdHNfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkhvbWVQcm9qZWN0c19faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuSG9tZVByb2plY3RzX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfSB9XG5cbi5Ib21lUHJvamVjdHNfX21vcmUge1xuICBtYXJnaW4tdG9wOiAxMTBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLkhvbWVQcm9qZWN0c19fbW9yZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5Ib21lUHJvamVjdHNfX21vcmUge1xuICAgICAgbWFyZ2luLXRvcDogOTBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Ib21lUHJvamVjdHNfX21vcmUge1xuICAgICAgbWFyZ2luLXRvcDogNzBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lUHJvamVjdHNfX21vcmUge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpOyB9IH1cblxuLkhvbWVQcm9qZWN0c01vcmUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVQcm9qZWN0c01vcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNkNWQ5O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogNDBweCAyNnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAzNHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLkhvbWVQcm9qZWN0c01vcmU6aG92ZXIgLkhvbWVQcm9qZWN0c01vcmVfX2NpcmNsZSwgLkhvbWVQcm9qZWN0c01vcmU6Zm9jdXMgLkhvbWVQcm9qZWN0c01vcmVfX2NpcmNsZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC5Ib21lUHJvamVjdHNNb3JlX19oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuSG9tZVByb2plY3RzTW9yZV9faGVhZGluZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH0gfVxuICAuSG9tZVByb2plY3RzTW9yZV9fbGluayB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Ib21lUHJvamVjdHNNb3JlX19saW5rIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDsgfSB9XG4gIC5Ib21lUHJvamVjdHNNb3JlX190ZXh0IHtcbiAgICBjb2xvcjogIzNkNDc1ZjtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1Mzg1O1xuICAgIG1hcmdpbi1ib3R0b206IDlweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVQcm9qZWN0c01vcmVfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgLkhvbWVQcm9qZWN0c01vcmVfX2NpcmNsZUlubmVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWig5MGRlZyk7IH0gfVxuXG4uSG9tZVByb2plY3Qge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXg6IDMycHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkhvbWVQcm9qZWN0IHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuSG9tZVByb2plY3Qge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLkhvbWVQcm9qZWN0LS1sZWZ0IC5Ib21lUHJvamVjdF9faW1hZ2VDb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG9yZGVyOiAtMTsgfVxuICAuSG9tZVByb2plY3QtLWxlZnQgLkhvbWVQcm9qZWN0X19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE0NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuSG9tZVByb2plY3QtLWxlZnQgLkhvbWVQcm9qZWN0X19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMjBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuSG9tZVByb2plY3QtLWxlZnQgLkhvbWVQcm9qZWN0X19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA5MnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Ib21lUHJvamVjdC0tbGVmdCAuSG9tZVByb2plY3RfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVQcm9qZWN0LS1sZWZ0IC5Ib21lUHJvamVjdF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuSG9tZVByb2plY3RfX2ltYWdlQ29udGFpbmVyIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDUwNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuSG9tZVByb2plY3RfX2ltYWdlQ29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MjBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuSG9tZVByb2plY3RfX2ltYWdlQ29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNTBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuSG9tZVByb2plY3RfX2ltYWdlQ29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVQcm9qZWN0X19pbWFnZUNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDI4OHB4O1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MjRweCkge1xuICAgICAgLkhvbWVQcm9qZWN0X19pbWFnZUNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTsgfSB9XG4gIC5Ib21lUHJvamVjdF9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwNC43NDMwOCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLkhvbWVQcm9qZWN0X19pbWFnZTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWViZWQ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgYm90dG9tOiAyMHB4O1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgdG9wOiAyMHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgICAgLkhvbWVQcm9qZWN0X19pbWFnZTo6YmVmb3JlIHtcbiAgICAgICAgICBib3R0b206IDEycHg7XG4gICAgICAgICAgbGVmdDogMTJweDtcbiAgICAgICAgICByaWdodDogMTJweDtcbiAgICAgICAgICB0b3A6IDEycHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAgIC5Ib21lUHJvamVjdF9faW1hZ2U6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLkhvbWVQcm9qZWN0X19pbWFnZTpob3ZlciAuSG9tZVByb2plY3RfX2ltYWdlSW5uZXIgaW1nLCAuSG9tZVByb2plY3RfX2ltYWdlOmZvY3VzIC5Ib21lUHJvamVjdF9faW1hZ2VJbm5lciBpbWcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTsgfVxuICAuSG9tZVByb2plY3RfX2ltYWdlSW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTQwcHg7XG4gICAgc2l6ZTogMTAwJTtcbiAgICB0b3A6IC00MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuSG9tZVByb2plY3RfX2ltYWdlSW5uZXIge1xuICAgICAgICByaWdodDogLTI0cHg7XG4gICAgICAgIHRvcDogLTI0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVQcm9qZWN0X19pbWFnZUlubmVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgIC5Ib21lUHJvamVjdF9faW1hZ2VJbm5lciBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBzaXplOiAxMDAlO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5Ib21lUHJvamVjdF9faW1hZ2VJbm5lcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTMsIDEwMCwgMTcyLCAwLjEpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuSG9tZVByb2plY3RfX2ltYWdlSW5uZXI6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogMS41JTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMzBweCAxMDBweCByZ2JhKDg4LCA5MiwgMTc3LCAwLjMpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHNpemU6IDg5JTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAgIC5Ib21lUHJvamVjdF9faW1hZ2VJbm5lcjo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuSG9tZVByb2plY3RfX2NvbnRlbnQge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIG1heC13aWR0aDogNTA2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA3NHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuSG9tZVByb2plY3RfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkhvbWVQcm9qZWN0X19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0OHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Ib21lUHJvamVjdF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Ib21lUHJvamVjdF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuSG9tZVByb2plY3RfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXk6IDMwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Ib21lUHJvamVjdF9fdGl0bGUge1xuICAgICAgICBtYXJnaW4teTogMjBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuSG9tZVByb2plY3RfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG5cbi5Ib21lTWFwX19ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuSG9tZU1hcF9fZ3JpZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLXRvcDogMzBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Ib21lTWFwX19ncmlkIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuXG4uSG9tZU1hcF9fdGl0bGUge1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXgtd2lkdGg6IDQ1MHB4OyB9XG5cbi5Ib21lTWFwX19kZXNjcmlwdGlvbiB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWF4LXdpZHRoOiA2MTRweDtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMDhweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTM2NXB4KSB7XG4gICAgLkhvbWVNYXBfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDcycHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLkhvbWVNYXBfX2Rlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuSG9tZU1hcF9fZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMzJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Ib21lTWFwX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLkhvbWVNYXBfX21hcENvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuSG9tZU1hcF9fbWFwQ29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgLkhvbWVNYXBfX21hcCB7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgLkhvbWVNYXBfX21hcCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMTIuNSU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgLkhvbWVNYXBfX21hcCxcbiAgLkhvbWVNYXBfX21hcCBzdmcge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gIC5Ib21lTWFwX19tYXAgc3ZnIHtcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH0gfVxuXG4uSG9tZU1hcF9fY2FyZHMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMjBweDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAuSG9tZU1hcF9fY2FyZHMge1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1heC13aWR0aDogNTM2cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Ib21lTWFwX19jYXJkcyB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVNYXBfX2NhcmRzIHtcbiAgICAgIGdyaWQtZ2FwOiAxNnB4OyB9IH1cblxuLkhvbWVNYXBfX2NhcmQsXG4uSG9tZU1hcF9fY2FyZCAuT3JkZXJlZENhcmQge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuXG4uSG9tZU1hcF9fY2FyZCAuT3JkZXJlZENhcmQge1xuICBtaW4taGVpZ2h0OiAxOTBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICBcbiAgICAuSG9tZU1hcF9fY2FyZCAuT3JkZXJlZENhcmQge1xuICAgICAgbWluLWhlaWdodDogMTY4cHg7IH0gfVxuXG4uV3JhcHBlZFBhcnRuZXJzX19pdGVtcyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLlNlcnZpY2VDYXJkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1jb2x1bW4tZ2FwOiAyNHB4O1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImhlYWRpbmcgaW1hZ2VcIiBcImNvbnRlbnQgaW1hZ2VcIiBcImJ1dHRvbiBpbWFnZVwiO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLlNlcnZpY2VDYXJkIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiaW1hZ2VcIiBcImhlYWRpbmdcIiBcImNvbnRlbnRcIiBcImJ1dHRvblwiO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIGFuZCAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5TZXJ2aWNlQ2FyZCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAuU2VydmljZUNhcmQgLlRoZUNvbnRlbnQgdWwgbGksIC5UaGVDb250ZW50IHVsIC5TZXJ2aWNlQ2FyZCBsaSxcbiAgLlNlcnZpY2VDYXJkIC5UaGVDb250ZW50IG9sIGxpLCAuVGhlQ29udGVudCBvbCAuU2VydmljZUNhcmQgbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODU3MTU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5TZXJ2aWNlQ2FyZCAuVGhlQ29udGVudCB1bCBsaSwgLlRoZUNvbnRlbnQgdWwgLlNlcnZpY2VDYXJkIGxpLFxuICAgICAgLlNlcnZpY2VDYXJkIC5UaGVDb250ZW50IG9sIGxpLCAuVGhlQ29udGVudCBvbCAuU2VydmljZUNhcmQgbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNzU7IH0gfVxuICAgIC5TZXJ2aWNlQ2FyZCAuVGhlQ29udGVudCB1bCBsaTo6YmVmb3JlLCAuVGhlQ29udGVudCB1bCAuU2VydmljZUNhcmQgbGk6OmJlZm9yZSxcbiAgICAuU2VydmljZUNhcmQgLlRoZUNvbnRlbnQgb2wgbGk6OmJlZm9yZSwgLlRoZUNvbnRlbnQgb2wgLlNlcnZpY2VDYXJkIGxpOjpiZWZvcmUge1xuICAgICAgdG9wOiA5cHg7IH1cbiAgLlNlcnZpY2VDYXJkX19pbmZvIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4OyB9XG4gIC5TZXJ2aWNlQ2FyZF9faGVhZGluZyB7XG4gICAgZ3JpZC1hcmVhOiBoZWFkaW5nOyB9XG4gIC5TZXJ2aWNlQ2FyZF9fY29udGVudCB7XG4gICAgZ3JpZC1hcmVhOiBjb250ZW50O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLlNlcnZpY2VDYXJkX19idXR0b24ge1xuICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICBncmlkLWFyZWE6IGJ1dHRvbjtcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5TZXJ2aWNlQ2FyZF9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuU2VydmljZUNhcmRfX2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuU2VydmljZUNhcmRfX2J1dHRvbiB7XG4gICAgICAgIGFsaWduLXNlbGY6IGVuZDsgfSB9XG4gIC5TZXJ2aWNlQ2FyZF9faW1hZ2VDb250YWluZXIge1xuICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgbWF4LXdpZHRoOiA2MTRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5TZXJ2aWNlQ2FyZF9faW1hZ2VDb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7IH0gfVxuICAuU2VydmljZUNhcmRfX2ltYWdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDUuMjc2ODclOyB9XG4gICAgLlNlcnZpY2VDYXJkX19pbWFnZSBpbWcge1xuICAgICAgei1pbmRleDogMTsgfVxuICAuU2VydmljZUNhcmRfX251bWJlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA3NnB4O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuU2VydmljZUNhcmRfX251bWJlciB7XG4gICAgICAgIHJpZ2h0OiA2NHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5TZXJ2aWNlQ2FyZF9fbnVtYmVyIHtcbiAgICAgICAgcmlnaHQ6IDE2cHg7IH0gfVxuICAgIC5TZXJ2aWNlQ2FyZF9fbnVtYmVyOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIwXCIgY291bnRlcihzZXJ2aWNlcyk7IH1cblxuLk1vZGFsX19kaWFsb2cge1xuICB3aWR0aDogMTA0NHB4OyB9XG4gIC5Nb2RhbF9fZGlhbG9nLS1zbWFsbCB7XG4gICAgd2lkdGg6IDM5OHB4OyB9XG5cbi5Nb2RhbF9fYm9keSB7XG4gIHBhZGRpbmc6IDkwcHggMTA4cHggNzBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLk1vZGFsX19ib2R5IHtcbiAgICAgIHBhZGRpbmc6IDcwcHggOTJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5Nb2RhbF9fYm9keSB7XG4gICAgICBwYWRkaW5nOiA1NXB4IDY0cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuTW9kYWxfX2JvZHkge1xuICAgICAgcGFkZGluZzogNDBweCA0OHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLk1vZGFsX19ib2R5IHtcbiAgICAgIHBhZGRpbmc6IDI0cHggMzJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0MjRweCkge1xuICAgIC5Nb2RhbF9fYm9keSB7XG4gICAgICBwYWRkaW5nOiAyNHB4IDE2cHg7IH0gfVxuICAuTW9kYWxfX2JvZHktLWZpeGVkSGVpZ2h0IHtcbiAgICBtaW4taGVpZ2h0OiA1MjBweDsgfVxuICAuTW9kYWxfX2JvZHktLXNtYWxsIHtcbiAgICBwYWRkaW5nOiA2MnB4IDIwcHggNTBweCAzNnB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuTW9kYWxfX2JvZHktLXNtYWxsIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Nb2RhbF9fYm9keS0tc21hbGwge1xuICAgICAgICBwYWRkaW5nOiAzMnB4IDE2cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLk1vZGFsX19ib2R5LS1zbWFsbCB7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMTZweDsgfSB9XG4gIC5Nb2RhbF9fYm9keS4tLWNlbnRlciB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uTW9kYWxfX2Nsb3NlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNiNjVjZjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyNXB4O1xuICBzaXplOiA0NXB4O1xuICB0b3A6IDI1cHg7XG4gIHRyYW5zZm9ybTogcm90YXRlWigwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1vdXQ7XG4gIHotaW5kZXg6IDM7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLk1vZGFsX19jbG9zZSB7XG4gICAgICBzaXplOiAzMnB4O1xuICAgICAgdG9wOiAyNHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLk1vZGFsX19jbG9zZSB7XG4gICAgICByaWdodDogMTZweDsgfSB9XG4gIC5Nb2RhbF9fY2xvc2UsIC5Nb2RhbF9fY2xvc2U6aG92ZXIsIC5Nb2RhbF9fY2xvc2U6Zm9jdXMge1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAuTW9kYWxfX2Nsb3NlOmhvdmVyLCAuTW9kYWxfX2Nsb3NlOmZvY3VzIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooOTBkZWcpOyB9XG4gIC5Nb2RhbF9fY2xvc2UtLXNtYWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICByaWdodDogMDtcbiAgICBzaXplOiA1MHB4O1xuICAgIHRvcDogMDsgfVxuICAgIC5Nb2RhbF9fY2xvc2UtLXNtYWxsLCAuTW9kYWxfX2Nsb3NlLS1zbWFsbDpob3ZlciwgLk1vZGFsX19jbG9zZS0tc21hbGw6Zm9jdXMge1xuICAgICAgY29sb3I6ICMzZDQ3NWY7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gIC5Nb2RhbF9faGVhZGluZyB7XG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfSB9XG5cbi5Nb2RhbF9fZGVzY3JpcHRpb246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5Nb2RhbF9fZGVzY3JpcHRpb24tLXNtYWxsIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS42MjU7IH1cblxuLk1vZGFsX19mb3JtIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuTW9kYWxfX2Zvcm0ge1xuICAgICAgbWFyZ2luLXRvcDogMjRweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Nb2RhbF9fZm9ybSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9IH1cblxuLk1vZGFsX19iYWNrZ3JvdW5kIHtcbiAgei1pbmRleDogMTsgfVxuICAuTW9kYWxfX2JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDk1ZGVnLCAjZmFmYWZhIDAlLCAjZmFmYWZhIDM1JSwgcmdiYSgyNTAsIDI1MCwgMjUwLCAwKSAxMDAlKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHotaW5kZXg6IDI7IH1cblxuLk1vZGFsX19jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG4gIC5Nb2RhbF9fY29udGVudC0tY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLk1vZGFsX19jb250ZW50Li0taGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5BYm91dEhlcm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiA0NzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5BYm91dEhlcm8ge1xuICAgICAgbWluLWhlaWdodDogNDAwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQWJvdXRIZXJvIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDMyMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkFib3V0SGVybyB7XG4gICAgICBtaW4taGVpZ2h0OiAyNDBweDsgfSB9XG4gIC5BYm91dEhlcm9fX2NvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMzRweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkFib3V0SGVyb19fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMTJweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuQWJvdXRIZXJvX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDkycHg7IH0gfVxuICAuQWJvdXRIZXJvX19oZWFkaW5nIHtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuQWJvdXRIZXJvX19oZWFkaW5nICsgLkFib3V0SGVyb19faGVhZGluZyB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgICAgLkFib3V0SGVyb19faGVhZGluZyArIC5BYm91dEhlcm9fX2hlYWRpbmcge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7IH0gfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAgIC5BYm91dEhlcm9fX2hlYWRpbmcgKyAuQWJvdXRIZXJvX19oZWFkaW5nIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OyB9IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgICAuQWJvdXRIZXJvX19oZWFkaW5nICsgLkFib3V0SGVyb19faGVhZGluZyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG4gIC5BYm91dEhlcm9fX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuQWJvdXRIZXJvX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE2cHg7IH0gfVxuICAuQWJvdXRIZXJvX19pbWFnZSB7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5BYm91dEhlcm9fX2ltYWdlOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMSwgMTUsIDQ3LCAwLjUpO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuLkFib3V0TnVtYmVyc19faXRlbXMge1xuICBjb3VudGVyLXJlc2V0OiBhYm91dC1udW1iZXJzO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogMTA4cHggMzJweDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLkFib3V0TnVtYmVyc19faXRlbXMge1xuICAgICAgZ3JpZC1nYXA6IDkycHggMjRweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5BYm91dE51bWJlcnNfX2l0ZW1zIHtcbiAgICAgIGdyaWQtZ2FwOiA3MnB4IDIwcHg7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkFib3V0TnVtYmVyc19faXRlbXMge1xuICAgICAgZ3JpZC1nYXA6IDY0cHggMTZweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAuQWJvdXROdW1iZXJzX19pdGVtcyB7XG4gICAgICBncmlkLWdhcDogNDhweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9IH1cblxuLkFib3V0TnVtYmVyc19faXRlbSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBhYm91dC1udW1iZXJzOyB9XG5cbi5BYm91dE51bWJlcnNJdGVtOjpiZWZvcmUge1xuICBjb2xvcjogIzNiNjVjZjtcbiAgY29udGVudDogXCIwXCIgY291bnRlcihhYm91dC1udW1iZXJzKTtcbiAgZm9udC1mYW1pbHk6IFwiQmViYXMgTmV1ZVwiLCBjdXJzaXZlO1xuICBmb250LXNpemU6IDYuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5BYm91dE51bWJlcnNJdGVtOjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiA1Ljc1cmVtOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkFib3V0TnVtYmVyc0l0ZW06OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDQuNXJlbTsgfSB9XG5cbi5BYm91dE51bWJlcnNJdGVtX190aXRsZSB7XG4gIGNvbG9yOiAjM2Q0NzVmO1xuICBmb250LWZhbWlseTogXCJNYW5yb3BlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzEyNTtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQWJvdXROdW1iZXJzSXRlbV9fdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9IH1cblxuLkFib3V0TnVtYmVyc0l0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQWJvdXROdW1iZXJzSXRlbV9fZGVzY3JpcHRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogMTJweDsgfSB9XG5cbi5BYm91dEZlYXR1cmVzX19jYXJkIHtcbiAgcGFkZGluZzogNjRweCA1NnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5BYm91dEZlYXR1cmVzX19jYXJkIHtcbiAgICAgIHBhZGRpbmc6IDU2cHggNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5BYm91dEZlYXR1cmVzX19jYXJkIHtcbiAgICAgIHBhZGRpbmc6IDQwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQWJvdXRGZWF0dXJlc19fY2FyZCB7XG4gICAgICBwYWRkaW5nOiAyNHB4OyB9IH1cblxuLkFib3V0RmVhdHVyZXNfX2l0ZW1zIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMS4yNWZyIDFmcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5BYm91dEZlYXR1cmVzX19pdGVtcyB7XG4gICAgICBncmlkLWdhcDogOHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkFib3V0RmVhdHVyZXNfX2l0ZW1zIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuQWJvdXRGZWF0dXJlc19faXRlbXMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfVxuXG4uQWJvdXRGZWF0dXJlc19faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiA0OHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5BYm91dEZlYXR1cmVzX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLkFib3V0RmVhdHVyZXNfX2l0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuQWJvdXRGZWF0dXJlc19faXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAuQWJvdXRGZWF0dXJlc19faXRlbTpub3QoOmZpcnN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogNjVweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgd2lkdGg6IDFweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkFib3V0RmVhdHVyZXNfX2l0ZW06bm90KDpmaXJzdC1jaGlsZCk6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uQWJvdXRGZWF0dXJlc19faW1hZ2Uge1xuICB6LWluZGV4OiAxOyB9XG4gIC5BYm91dEZlYXR1cmVzX19pbWFnZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExLCAxNSwgNDcsIDAuNSk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB6LWluZGV4OiAxOyB9XG5cbi5BYm91dEZlYXR1cmVzSXRlbSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLkFib3V0RmVhdHVyZXNJdGVtX19udW1iZXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogXCJCZWJhcyBOZXVlXCIsIGN1cnNpdmU7XG4gICAgZm9udC1zaXplOiA3LjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmctdG9wOiAxMnB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLkFib3V0RmVhdHVyZXNJdGVtX19udW1iZXIge1xuICAgICAgICBmb250LXNpemU6IDYuMjVyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkFib3V0RmVhdHVyZXNJdGVtX19udW1iZXIge1xuICAgICAgICBmb250LXNpemU6IDVyZW07IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkFib3V0RmVhdHVyZXNJdGVtX19udW1iZXIge1xuICAgICAgICBmb250LXNpemU6IDQuMzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5BYm91dEZlYXR1cmVzSXRlbV9fbnVtYmVyIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjVyZW07IH0gfVxuICAuQWJvdXRGZWF0dXJlc0l0ZW1fX2Rlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICAgIGZvbnQtZmFtaWx5OiBcIkJlYmFzIE5ldWVcIiwgY3Vyc2l2ZTtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDAuOTU1O1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLkFib3V0RmVhdHVyZXNJdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5BYm91dEZlYXR1cmVzSXRlbV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5BYm91dEZlYXR1cmVzSXRlbV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5BYm91dEZlYXR1cmVzSXRlbV9fZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4OyB9IH1cblxuLkFib3V0RG9jdW1lbnRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWJlZDtcbiAgcGFkZGluZzogOTBweCAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5BYm91dERvY3VtZW50cyB7XG4gICAgICBwYWRkaW5nOiA3MnB4IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQWJvdXREb2N1bWVudHMge1xuICAgICAgcGFkZGluZzogNjRweCAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkFib3V0RG9jdW1lbnRzIHtcbiAgICAgIHBhZGRpbmc6IDU2cHggMDsgfSB9XG4gIC5BYm91dERvY3VtZW50c19fc2VjdGlvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuQWJvdXREb2N1bWVudHNfX3NlY3Rpb246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcycHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkFib3V0RG9jdW1lbnRzX19zZWN0aW9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2NHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5BYm91dERvY3VtZW50c19fc2VjdGlvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTZweDsgfSB9XG4gIC5BYm91dERvY3VtZW50c19faGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuQWJvdXREb2N1bWVudHNfX251bWJlciB7XG4gICAgY29sb3I6ICMzZDQ3NWY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNTsgfVxuXG4uQWJvdXRDZXJ0aWZpY2F0ZXNfX2l0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkFib3V0Q2VydGlmaWNhdGVzX19pdGVtIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAuQWJvdXRDZXJ0aWZpY2F0ZXNfX2l0ZW0gKyAuQWJvdXRDZXJ0aWZpY2F0ZXNfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5BYm91dENlcnRpZmljYXRlc19faXRlbSArIC5BYm91dENlcnRpZmljYXRlc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuXG4uQWJvdXRDZXJ0aWZpY2F0ZXNfX2NvbHVtbiB7XG4gIHBhZGRpbmctcmlnaHQ6IDMycHg7IH1cblxuLkFib3V0Q2VydGlmaWNhdGVzX190aXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5BYm91dENlcnRpZmljYXRlc19fbnVtYmVyIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuQWJvdXRDZXJ0aWZpY2F0ZXNfX251bWJlciB7XG4gICAgICBtYXJnaW4tdG9wOiA0cHg7IH0gfVxuXG4uQWJvdXRDZXJ0aWZpY2F0ZXNfX2Rlc2NyaXB0aW9uIHtcbiAgbWF4LXdpZHRoOiA3MjJweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLkFib3V0Q2VydGlmaWNhdGVzX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IDY0MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkFib3V0Q2VydGlmaWNhdGVzX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IDU2MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkFib3V0Q2VydGlmaWNhdGVzX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IDQyMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkFib3V0Q2VydGlmaWNhdGVzX19kZXNjcmlwdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiAxMnB4OyB9IH1cblxuLkFib3V0T3JnYW5pemF0aW9uc19faXRlbXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5BYm91dE9yZ2FuaXphdGlvbnNfX2l0ZW1zIHtcbiAgICAgIGdyaWQtZ2FwOiA0MHB4IDE2cHg7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkFib3V0T3JnYW5pemF0aW9uc19faXRlbXMge1xuICAgICAgZ3JpZC1nYXA6IDMycHg7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfSB9XG5cbi5BYm91dE9yZ2FuaXphdGlvbnNfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1yaWdodDogMjRweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuQWJvdXRPcmdhbml6YXRpb25zX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkFib3V0T3JnYW5pemF0aW9uc19faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5BYm91dE9yZ2FuaXphdGlvbnNfX2l0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICBwYWRkaW5nLWxlZnQ6IDY0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLkFib3V0T3JnYW5pemF0aW9uc19faXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDU2cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuQWJvdXRPcmdhbml6YXRpb25zX19pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDhweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5BYm91dE9yZ2FuaXphdGlvbnNfX2l0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgLkFib3V0T3JnYW5pemF0aW9uc19faXRlbTpub3QoOmZpcnN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkNWQ5O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAxMDZweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDFweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkFib3V0T3JnYW5pemF0aW9uc19faXRlbTpub3QoOmZpcnN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5BYm91dE9yZ2FuaXphdGlvbnNJdGVtX19udW1iZXIge1xuICBtYXJnaW4tdG9wOiA4cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkFib3V0T3JnYW5pemF0aW9uc0l0ZW1fX251bWJlciB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7IH0gfVxuXG4uQWJvdXRNYXAge1xuICBwYWRkaW5nLXRvcDogOTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5BYm91dE1hcCB7XG4gICAgICBwYWRkaW5nLXRvcDogNzJweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5BYm91dE1hcCB7XG4gICAgICBwYWRkaW5nLXRvcDogNTZweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5BYm91dE1hcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMzJweDsgfSB9XG4gIC5BYm91dE1hcDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNDNEM0QzQgMCUsICNmOGY4ZjggMCUsIHJnYmEoMjQ4LCAyNDgsIDI0OCwgMCkgNDguOTklKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAgIC5BYm91dE1hcDo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5BYm91dE1hcF9fY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDkwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5BYm91dE1hcF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3MnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5BYm91dE1hcF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1NnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5BYm91dE1hcF9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAuQWJvdXRNYXBfX2hlYWRpbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWF4LXdpZHRoOiA2MTRweDsgfVxuICAuQWJvdXRNYXBfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuQWJvdXRNYXBfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzJweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuQWJvdXRNYXBfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuQWJvdXRNYXBfX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MzZweDsgfSB9XG4gIC5BYm91dE1hcF9fbWFwQ29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkFib3V0TWFwX19tYXBDb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAtOTBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5BYm91dE1hcF9fbWFwIHtcbiAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAuQWJvdXRNYXBfX21hcCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTEyLjUlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgLkFib3V0TWFwX19tYXAsXG4gICAgLkFib3V0TWFwX19tYXAgc3ZnIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkFib3V0TWFwX19tYXAgc3ZnIHtcbiAgICAgIG1heC13aWR0aDogNzIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9IH1cblxuLkhvbWVQYWdlIHtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLkhvbWVQYWdlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkhvbWVQYWdlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9IH1cbiAgLkhvbWVQYWdlX19hYm91dCB7XG4gICAgcGFkZGluZy10b3A6IDEwMnB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLkhvbWVQYWdlX19hYm91dCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA5NXB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Ib21lUGFnZV9fYWJvdXQge1xuICAgICAgICBwYWRkaW5nLXRvcDogOTBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX2Fib3V0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDg1cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVQYWdlX19hYm91dCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4MHB4OyB9IH1cbiAgLkhvbWVQYWdlX19udW1iZXJzIHtcbiAgICBtYXJnaW4tdG9wOiA2NXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX251bWJlcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Ib21lUGFnZV9fbnVtYmVycyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDU1cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVQYWdlX19udW1iZXJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG4gIC5Ib21lUGFnZV9fc2VjdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDE0NXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX3NlY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkhvbWVQYWdlX19zZWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Ib21lUGFnZV9fc2VjdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4OyB9IH1cbiAgLkhvbWVQYWdlX19jb25zdWx0YXRpb24ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IC02NXB4OyB9IH1cbiAgLkhvbWVQYWdlX19wcm9qZWN0cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWJlZDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgICBwYWRkaW5nLXRvcDogMjM4cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX3Byb2plY3RzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMjhweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX3Byb2plY3RzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMThweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX3Byb2plY3RzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMDhweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX3Byb2plY3RzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxOThweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gICAgICAuSG9tZVBhZ2VfX3Byb2plY3RzIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIyNHB4OyB9IH1cbiAgLkhvbWVQYWdlX19tYXAge1xuICAgIHBhZGRpbmctdG9wOiAxMTBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkhvbWVQYWdlX19tYXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTQwcHg7IH0gfVxuICAuSG9tZVBhZ2VfX3BhcnRuZXJzIHtcbiAgICBwYWRkaW5nLXRvcDogMTZweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLkhvbWVQYWdlX19wYXJ0bmVycyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Ib21lUGFnZV9fcGFydG5lcnMge1xuICAgICAgICBwYWRkaW5nLXRvcDogODBweDsgfSB9XG5cbi5Qcm9qZWN0UGFnZSB7XG4gIG1hcmdpbi10b3A6IDYwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLlByb2plY3RQYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuUHJvamVjdFBhZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Qcm9qZWN0UGFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQyNHB4KSB7XG4gICAgLlByb2plY3RQYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuICAuUHJvamVjdFBhZ2VfX2hlcm8ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDM5LjIzNDQ1JTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlByb2plY3RQYWdlX19oZXJvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gICAgLlByb2plY3RQYWdlX19oZXJvOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiAzNHB4O1xuICAgICAgYm94LXNoYWRvdzogMCAzMHB4IDE1MHB4IHJnYmEoODgsIDkyLCAxNzcsIDAuMyk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbGVmdDogNTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMzRweDtcbiAgICAgIHJpZ2h0OiA1MHB4OyB9XG4gIC5Qcm9qZWN0UGFnZV9fbGlzdCwgLlByb2plY3RQYWdlX19pbmZvLCAuUHJvamVjdFBhZ2VfX2ltYWdlcywgLlByb2plY3RQYWdlX19nYWxsZXJ5IHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLlByb2plY3RQYWdlX19saXN0LCAuUHJvamVjdFBhZ2VfX2luZm8sIC5Qcm9qZWN0UGFnZV9faW1hZ2VzLCAuUHJvamVjdFBhZ2VfX2dhbGxlcnkge1xuICAgICAgICBtYXJnaW4tdG9wOiA3MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fbGlzdCwgLlByb2plY3RQYWdlX19pbmZvLCAuUHJvamVjdFBhZ2VfX2ltYWdlcywgLlByb2plY3RQYWdlX19nYWxsZXJ5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2xpc3QsIC5Qcm9qZWN0UGFnZV9faW5mbywgLlByb2plY3RQYWdlX19pbWFnZXMsIC5Qcm9qZWN0UGFnZV9fZ2FsbGVyeSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuICAuUHJvamVjdFBhZ2VfX2ltYWdlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9faW1hZ2U6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICAuUHJvamVjdFBhZ2VfX2xpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6IDUwcHggMzJweDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2xpc3Qge1xuICAgICAgICBncmlkLWdhcDogNDBweCAyNHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fbGlzdCB7XG4gICAgICAgIGdyaWQtZ2FwOiAzMHB4IDE2cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlByb2plY3RQYWdlX19saXN0IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdyaWQtcm93LWdhcDogMjBweDsgfSB9XG4gIC5Qcm9qZWN0UGFnZV9fbGlzdExhYmVsIHtcbiAgICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICAgIGZvbnQtZmFtaWx5OiBcIk1hbnJvcGVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yODU3MTU7IH1cbiAgLlByb2plY3RQYWdlX19saXN0VmFsdWUge1xuICAgIGNvbG9yOiAjM2Q0NzVmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjU7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgICAgLlByb2plY3RQYWdlX19saXN0VmFsdWUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fbGlzdFZhbHVlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fbGlzdFZhbHVlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9IH1cbiAgLlByb2plY3RQYWdlX19pbmZvIHtcbiAgICBtYXgtd2lkdGg6IDkzN3B4OyB9XG4gIC5Qcm9qZWN0UGFnZV9fY29udGVudCwgLlByb2plY3RQYWdlX19pbWFnZUNhcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fY29udGVudCwgLlByb2plY3RQYWdlX19pbWFnZUNhcHRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fY29udGVudCwgLlByb2plY3RQYWdlX19pbWFnZUNhcHRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fY29udGVudCwgLlByb2plY3RQYWdlX19pbWFnZUNhcHRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuUHJvamVjdFBhZ2VfX2NvbnRlbnQud3JhcCB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5Qcm9qZWN0UGFnZV9fY29udGVudC53cmFwOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDI0OCwgMjQ4LCAyNDgsIDAuOSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5Qcm9qZWN0UGFnZV9fYnV0dG9uIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMzZDQ3NWY7XG4gICAgbWFyZ2luLXRvcDogOHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2J1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5Qcm9qZWN0UGFnZV9fY29udGVudDpub3QoLndyYXApICsgLlByb2plY3RQYWdlX19idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuUHJvamVjdFBhZ2VfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuUHJvamVjdFBhZ2VfX2ltYWdlIGltZyB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5Qcm9qZWN0UGFnZV9faW1hZ2VPdmVybGF5cyB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuUHJvamVjdFBhZ2VfX2ltYWdlT3ZlcmxheS0tY29ybmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAuUHJvamVjdFBhZ2VfX2ltYWdlT3ZlcmxheS0tbWlkZGxlIHtcbiAgICBmbGV4LWdyb3c6IDEwMDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTI2MHB4IC0gdmFyKC0tb3ZlcmxheS1jb250YWluZXItb2Zmc2V0LCAwcHgpKTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxNTU5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9faW1hZ2VPdmVybGF5LS1taWRkbGUge1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTA0NXB4IC0gdmFyKC0tb3ZlcmxheS1jb250YWluZXItb2Zmc2V0LCAwcHgpKTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLlByb2plY3RQYWdlX19pbWFnZU92ZXJsYXktLW1pZGRsZSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygyMDBweCArIHZhcigtLW92ZXJsYXktY29udGFpbmVyLW9mZnNldCwgMHB4KSk7IH0gfVxuICAuUHJvamVjdFBhZ2VfX2ltYWdlQ2FwdGlvbiB7XG4gICAgY29sb3I6IHJnYmEoNjEsIDcxLCA5NSwgMC44KTtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc3Nzc7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9faW1hZ2VDYXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41OyB9IH1cbiAgLlByb2plY3RQYWdlX19nYWxsZXJ5SXRlbXMge1xuICAgIG1hcmdpbi1ib3R0b206IC0yMHB4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fZ2FsbGVyeUl0ZW1zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2dhbGxlcnlJdGVtcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0xMnB4OyB9IH1cbiAgLlByb2plY3RQYWdlX19nYWxsZXJ5SXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLlByb2plY3RQYWdlX19nYWxsZXJ5SXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2dhbGxlcnlJdGVtOmhvdmVyIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7IH0gfVxuICAgIC5Qcm9qZWN0UGFnZV9fZ2FsbGVyeUl0ZW0gaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5Qcm9qZWN0UGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxNDBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLlByb2plY3RQYWdlX19jb25zdWx0YXRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMjBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuUHJvamVjdFBhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Qcm9qZWN0UGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDsgfSB9XG5cbi5Qcm9qZWN0c1BhZ2VfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAwLjc4OTQ3ZW07IH1cblxuLlByb2plY3RzUGFnZV9fZmlsdGVycyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLlByb2plY3RzUGFnZV9faXRlbXMge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWdhcDogNzBweCAzMnB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICBtYXJnaW4tdG9wOiA3MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5Qcm9qZWN0c1BhZ2VfX2l0ZW1zIHtcbiAgICAgIGdyaWQtZ2FwOiA2MHB4IDI0cHg7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLlByb2plY3RzUGFnZV9faXRlbXMge1xuICAgICAgZ3JpZC1nYXA6IDUwcHggMTZweDtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuUHJvamVjdHNQYWdlX19pdGVtcyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDI0cHgpIHtcbiAgICAuUHJvamVjdHNQYWdlX19pdGVtcyB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cblxuLlByb2plY3RzUGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgbWFyZ2luLXRvcDogMTMwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLlByb2plY3RzUGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDExMHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgLlByb2plY3RzUGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDkwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuUHJvamVjdHNQYWdlX19jb25zdWx0YXRpb24ge1xuICAgICAgbWFyZ2luLXRvcDogNzBweDsgfSB9XG5cbi5TZXJ2aWNlc1BhZ2VfX2hlYWRpbmcge1xuICBtYXJnaW4tYm90dG9tOiAwLjc4OTQ3ZW07IH1cblxuLlNlcnZpY2VzUGFnZV9fZmlsdGVycyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLlNlcnZpY2VzUGFnZV9faXRlbXMge1xuICBjb3VudGVyLXJlc2V0OiBzZXJ2aWNlcztcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogOTk5cHgpIHtcbiAgICAuU2VydmljZXNQYWdlX19pdGVtcyB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSBhbmQgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuU2VydmljZXNQYWdlX19pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1nYXA6IDYwcHggMjBweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cblxuLlNlcnZpY2VzUGFnZV9faXRlbSB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBzZXJ2aWNlczsgfVxuICAuU2VydmljZXNQYWdlX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDE1MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLlNlcnZpY2VzUGFnZV9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTM1cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLlNlcnZpY2VzUGFnZV9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7IH0gfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkgYW5kIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuU2VydmljZXNQYWdlX19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5TZXJ2aWNlc1BhZ2VfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MjRweCkge1xuICAgICAgLlNlcnZpY2VzUGFnZV9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsgfSB9XG5cbi5TZXJ2aWNlc1BhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gIG1hcmdpbi10b3A6IDE0MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5TZXJ2aWNlc1BhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5TZXJ2aWNlc1BhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMDBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5TZXJ2aWNlc1BhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4OyB9IH1cblxuLlNlcnZpY2VQYWdlIHtcbiAgbWFyZ2luLXRvcDogMzBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuU2VydmljZVBhZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5TZXJ2aWNlUGFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cbiAgLlNlcnZpY2VQYWdlX19oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjUyNjMyZW07IH1cbiAgLlNlcnZpY2VQYWdlX19jb25zdWx0YXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuU2VydmljZVBhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDcwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLlNlcnZpY2VQYWdlX19jb25zdWx0YXRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5TZXJ2aWNlUGFnZV9fY29uc3VsdGF0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG5cbi5FcnJvclBhZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuNSk7XG4gIHBhZGRpbmc6IDcycHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5FcnJvclBhZ2Uge1xuICAgICAgcGFkZGluZzogNjRweCAwOyB9IH1cbiAgLkVycm9yUGFnZV9fY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuRXJyb3JQYWdlX19oZWFkaW5nIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWF4LXdpZHRoOiA1NDBweDsgfVxuICAuRXJyb3JQYWdlX19ncmlkIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuRXJyb3JQYWdlX19ncmlkIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLkVycm9yUGFnZV9fY29kZSB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgICBmb250LWZhbWlseTogXCJCZWJhcyBOZXVlXCIsIGN1cnNpdmU7XG4gICAgZm9udC1zaXplOiAzMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi10b3A6IDcycHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuRXJyb3JQYWdlX19jb2RlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNXJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuRXJyb3JQYWdlX19jb2RlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHJlbTsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuRXJyb3JQYWdlX19jb2RlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgb3JkZXI6IC0xOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5FcnJvclBhZ2VfX2NvZGUge1xuICAgICAgICBmb250LXNpemU6IDkuMzc1cmVtOyB9IH1cbiAgLkVycm9yUGFnZV9fZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjExMTE7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXgtd2lkdGg6IDQzNXB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuRXJyb3JQYWdlX19kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH0gfVxuICAuRXJyb3JQYWdlX19idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5FcnJvclBhZ2VfX2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgICAgLkVycm9yUGFnZV9fYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDsgfSB9XG4gIC5FcnJvclBhZ2VfX2ltYWdlIHtcbiAgICB6LWluZGV4OiAxOyB9XG5cbi5Db250YWN0c1BhZ2VfX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQ29udGFjdHNQYWdlX190aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9IH1cblxuLkNvbnRhY3RzUGFnZV9fZm9ybUNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5Db250YWN0c1BhZ2VfX2xpc3QsIC5Db250YWN0c1BhZ2VfX2Zvcm0ge1xuICBtYXJnaW4tdG9wOiAzMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Db250YWN0c1BhZ2VfX2xpc3QsIC5Db250YWN0c1BhZ2VfX2Zvcm0ge1xuICAgICAgbWFyZ2luLXRvcDogMjRweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Db250YWN0c1BhZ2VfX2xpc3QsIC5Db250YWN0c1BhZ2VfX2Zvcm0ge1xuICAgICAgbWFyZ2luLXRvcDogMTZweDsgfSB9XG5cbi5Db250YWN0c1BhZ2VfX3NlY3Rpb246bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiA4MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5Db250YWN0c1BhZ2VfX3NlY3Rpb246bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXRvcDogNzBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA4OTlweCkge1xuICAgIC5Db250YWN0c1BhZ2VfX3NlY3Rpb246bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXRvcDogNjBweDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MzlweCkge1xuICAgIC5Db250YWN0c1BhZ2VfX3NlY3Rpb246bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDsgfSB9XG5cbi5Db250YWN0c0xpc3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgZ3JpZC1nYXA6IDMwcHggMTM5cHg7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIGF1dG8pOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgIC5Db250YWN0c0xpc3Qge1xuICAgICAgZ3JpZC1nYXA6IDI0cHggMTAwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQ29udGFjdHNMaXN0IHtcbiAgICAgIGdyaWQtZ2FwOiAyMHB4IDcycHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAuQ29udGFjdHNMaXN0IHtcbiAgICAgIGdyaWQtZ2FwOiAzMnB4O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0gfVxuICAuQ29udGFjdHNMaXN0X19jb2x1bW4ge1xuICAgIG1heC13aWR0aDogMjkxcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTAwcHgpIHtcbiAgICAgIC5Db250YWN0c0xpc3RfX2NvbHVtbi0tcGhvbmVzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiAtMTtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyAzOyB9IH1cbiAgLkNvbnRhY3RzTGlzdF9faXRlbXMge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAgIC5Db250YWN0c0xpc3RfX2l0ZW1zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Db250YWN0c0xpc3RfX2l0ZW1zIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHB4OyB9IH1cbiAgLkNvbnRhY3RzTGlzdF9faXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyN3B4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuQ29udGFjdHNMaXN0X19pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Db250YWN0c0xpc3RfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7IH0gfVxuICAuQ29udGFjdHNMaXN0X19oZWFkaW5nIHtcbiAgICBjb2xvcjogcmdiYSg2MSwgNzEsIDk1LCAwLjgpO1xuICAgIGZvbnQtZmFtaWx5OiBcIk1hbnJvcGVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yODU7IH1cbiAgLkNvbnRhY3RzTGlzdF9fdmFsdWUge1xuICAgIGNvbG9yOiAjM2Q0NzVmO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjU7IH1cbiAgLkNvbnRhY3RzTGlzdF9fbGFiZWwge1xuICAgIGNvbG9yOiByZ2JhKDYxLCA3MSwgOTUsIDAuOCk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5Db250YWN0c0xpc3RfX2xhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4OyB9IH1cblxuLkNvbnRhY3RzTWFwX19jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEzLCAxMDAsIDE3MiwgMC4xKTtcbiAgbWluLWhlaWdodDogMjgwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0Mi41JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5BYm91dFBhZ2Uge1xuICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgLkFib3V0UGFnZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogODk5cHgpIHtcbiAgICAuQWJvdXRQYWdlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYzOXB4KSB7XG4gICAgLkFib3V0UGFnZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDsgfSB9XG4gIC5BYm91dFBhZ2VfX3ByaW1hcnlJbmZvLCAuQWJvdXRQYWdlX19mZWF0dXJlcywgLkFib3V0UGFnZV9fbnVtYmVycywgLkFib3V0UGFnZV9fZG9jdW1lbnRzLCAuQWJvdXRQYWdlX19wYXJ0bmVycyB7XG4gICAgbWFyZ2luLXRvcDogOTBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTlweCkge1xuICAgICAgLkFib3V0UGFnZV9fcHJpbWFyeUluZm8sIC5BYm91dFBhZ2VfX2ZlYXR1cmVzLCAuQWJvdXRQYWdlX19udW1iZXJzLCAuQWJvdXRQYWdlX19kb2N1bWVudHMsIC5BYm91dFBhZ2VfX3BhcnRuZXJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNzJweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuQWJvdXRQYWdlX19wcmltYXJ5SW5mbywgLkFib3V0UGFnZV9fZmVhdHVyZXMsIC5BYm91dFBhZ2VfX251bWJlcnMsIC5BYm91dFBhZ2VfX2RvY3VtZW50cywgLkFib3V0UGFnZV9fcGFydG5lcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiA2NHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5BYm91dFBhZ2VfX3ByaW1hcnlJbmZvLCAuQWJvdXRQYWdlX19mZWF0dXJlcywgLkFib3V0UGFnZV9fbnVtYmVycywgLkFib3V0UGFnZV9fZG9jdW1lbnRzLCAuQWJvdXRQYWdlX19wYXJ0bmVycyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDU2cHg7IH0gfVxuICAuQWJvdXRQYWdlX19jb25zdWx0YXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDEzMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5OXB4KSB7XG4gICAgICAuQWJvdXRQYWdlX19jb25zdWx0YXRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMTBweDsgfSB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDg5OXB4KSB7XG4gICAgICAuQWJvdXRQYWdlX19jb25zdWx0YXRpb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiA5MHB4OyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjM5cHgpIHtcbiAgICAgIC5BYm91dFBhZ2VfX2NvbnN1bHRhdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDcwcHg7IH0gfVxuIiwiLy8gSXQncyBsaWtlIMKrbm9ybWFsaXplwrsgb3IgwqtyZXNldMK7XHJcbi8vIFNvbWUgaWRlYXMgaGVyZSBnb3QgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vaGFua2NoaXpsamF3L21vZGVybi1jc3MtcmVzZXRcclxuXHJcbi8vIEJveCBzaXppbmcgcnVsZXNcclxuKixcclxuKjo6YmVmb3JlLFxyXG4qOjphZnRlciB7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG51bCxcclxub2wge1xyXG4gICAgLy8gUmVtb3ZlIGxpc3Qgc3R5bGVzIG9uIDx1bD4gYW5kIDxvbD4gd2l0aCBhIFtjbGFzc10gYXR0cmlidXRlXHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgLy8gUmVtb3ZlIGRlZmF1bHQge21hcmdpbn1cclxuICAgIG1hcmdpbjogMDtcclxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IHtwYWRkaW5nfVxyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luXHJcbmJvZHksXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5wLFxyXG51bCxcclxub2wsXHJcbmxpLFxyXG5maWd1cmUsXHJcbmZpZ2NhcHRpb24sXHJcbmJsb2NrcXVvdGUsXHJcbmRsLFxyXG5kZCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8vIEVuYWJsZSBzbW9vdGggc2Nyb2xsXHJcbmh0bWwge1xyXG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XHJcbn1cclxuXHJcbi8vIFNldCBjb3JlIDxib2R5PiBkZWZhdWx0c1xyXG5ib2R5IHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XHJcbiAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG59XHJcblxyXG4vLyA8YT4gdGhhdCBkb24ndCBoYXZlIGEgW2NsYXNzXSBnZXQgZGVmYXVsdCBzdHlsZXNcclxuYTpub3QoW2NsYXNzXSkge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvO1xyXG59XHJcblxyXG4vLyBNYWtlIGltYWdlcyBlYXNpZXIgdG8gd29yayB3aXRoXHJcbmltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLy8gSW5oZXJpdCBmb250cyBmb3IgaW5wdXRzIGFuZCBidXR0b25zXHJcbmlucHV0LFxyXG5idXR0b24sXHJcbnRleHRhcmVhLFxyXG5zZWxlY3Qge1xyXG4gICAgZm9udDogaW5oZXJpdDtcclxufVxyXG5cclxuYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4vLyBSZW1vdmUgYWxsIHthbmltYXRpb259cyBhbmQge3RyYW5zaXRpb259cyBmb3IgcGVvcGxlIHRoYXQgcHJlZmVyIG5vdCB0byBzZWUgdGhlbVxyXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xyXG4gICAgKiB7XHJcbiAgICAgICAgLy8gc2Fzcy1saW50OmRpc2FibGUtYmxvY2sgbm8taW1wb3J0YW50XHJcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcclxuICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4wMW1zICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE9ubHkgdmVydGljYWwgcmVzaXppbmcgb2YgdGV4dCBhcmVhXHJcbnRleHRhcmVhIHtcclxuICAgIHJlc2l6ZTogdmVydGljYWw7XHJcbn1cclxuXHJcbi8vIExpbWl0IDxpZnJhbWU+IHdpZHRoXHJcbmlmcmFtZSB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8vIE1ha2UgPGZpZWxkc2V0PiB3b3JrIGdvb2Qgd2l0aCB7ZGlzcGxheTpmbGV4fVxyXG5maWVsZHNldCB7XHJcbiAgICBtaW4td2lkdGg6IDA7XHJcbn1cclxuXHJcbi8vIE1ha2UgPHRoPiBvbmx5IGEgc2VtYW50aWMgZWxlbWVudFxyXG50aCB7XHJcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcclxuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XHJcbn1cclxuIiwiOnJvb3Qge1xuICAtLXN3aXBlci10aGVtZS1jb2xvcjogI3skdGhlbWVDb2xvcn07XG59XG4uc3dpcGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgLyogRml4IG9mIFdlYmtpdCBmbGlja2VyaW5nICovXG4gIHotaW5kZXg6MTtcbn1cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LDAsMCk7XG59XG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5zd2lwZXItY29udGFpbmVyLW11bHRpcm93LWNvbHVtbiA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xufVxuLnN3aXBlci1zbGlkZS1pbnZpc2libGUtYmxhbmsge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4vKiBBdXRvIEhlaWdodCAqL1xuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCB7XG4gICYsIC5zd2lwZXItc2xpZGUge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC5zd2lwZXItd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIH1cbn1cblxuLyogM0QgRWZmZWN0cyAqL1xuLnN3aXBlci1jb250YWluZXItM2Qge1xuICBwZXJzcGVjdGl2ZTogMTIwMHB4O1xuICAuc3dpcGVyLXdyYXBwZXIsIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwwLDAsMC41KSwgcmdiYSgwLDAsMCwwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLDAsMCwwLjUpLCByZ2JhKDAsMCwwLDApKTtcbiAgfVxuICAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwwLDAsMC41KSwgcmdiYSgwLDAsMCwwKSk7XG4gIH1cbiAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsMCwwLDAuNSksIHJnYmEoMCwwLDAsMCkpO1xuICB9XG59XG5cbi8qIENTUyBNb2RlICovXG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSB7XG4gID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZvciBGaXJlZm94ICovXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBGb3IgSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEVkZ2UgKi9cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydCBzdGFydDtcbiAgfVxufVxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlIHtcbiAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICB9XG59XG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlIHtcbiAgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5O1xuICB9XG59XG4iLG51bGwsIi8qIEJhc2VcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiRiYXNlLWJvZHktYmFja2dyb3VuZDogI2Y4ZjhmODtcclxuJGJhc2UtYm9keS1mb250LXNpemU6IDEwMCU7XHJcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xyXG4kYmFzZS1ib2R5LWNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4kYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuXHJcbi8qIEdsb2JhbFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6IGhzbCgzMCwgNTAlLCA2MCUpO1xyXG4kZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZDogaHNsKDExMSwgMzklLCA0NyUpO1xyXG4kZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZDogaHNsKDQyLCA5MiUsIDU4JSk7XHJcbiRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQ6IGhzbCg1LCA4NiUsIDYzJSk7XHJcblxyXG4vKiBDb250YWluZXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiRjb250YWluZXItbWF4LXdpZHRoOiAxMjYwcHg7XHJcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiA4MDhweDtcclxuJGNvbnRhaW5lci1tZWRpdW0tbWF4LXdpZHRoOiAxMDQ1cHg7XHJcbiRjb250YWluZXIteGxhcmdlLW1heC13aWR0aDogMTkyMHB4O1xyXG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDogMTZweDtcclxuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogMjRweDtcclxuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTogMzJweDtcclxuXHJcbi8qIEZvbnRcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiRiYXNlLWJvZHktZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tYW5yb3BlO1xyXG4kYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktaGVhZGluZztcclxuXHJcbi8qIExpbmsgZGVmYXVsdFxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGJhc2UtbGluay1jb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuJGJhc2UtbGluay1ob3Zlci1jb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4kYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGJhc2UtbGlzdC1wYWRkaW5nLWxlZnQ6IDA7XHJcblxyXG4vKiBCdXR0b24gYmFzZVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGJ1dHRvbi1mb250LXNpemU6IHRvUmVtKDEzcHgpO1xyXG4kYnV0dG9uLWxpbmUtaGVpZ2h0OiA0MnB4O1xyXG4kYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDogMjRweDtcclxuJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDogNDdweDtcclxuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6ICRidXR0b24tZm9udC1zaXplO1xyXG4kYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw7XHJcblxyXG4vKiBCdXR0b24gcHJpbWFyeVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiB3aGl0ZTtcclxuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktY29sb3I7XHJcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRidXR0b24tcHJpbWFyeS1jb2xvcjtcclxuXHJcbi8qIEJ1dHRvbiBkZWZhdWx0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogd2hpdGU7XHJcbiRidXR0b24tZGVmYXVsdC1jb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcclxuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiB3aGl0ZTtcclxuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogd2hpdGU7XHJcblxyXG4vKiBCdXR0b24gc2Vjb25kYXJ5XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiB3aGl0ZTtcclxuJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICRjb2xvci1tdXRlZC1kZWZhdWx0O1xyXG5cclxuLyogQnV0dG9uIGRpc2FibGVkXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjogd2hpdGU7XHJcblxyXG4vKiBCcmVhZGNydW1ic1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU6IHRvUmVtKDEycHgpO1xyXG4kYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAkY29sb3ItbXV0ZWQtZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuJGJyZWFkY3J1bWItZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogM3B4O1xyXG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjtcclxuXHJcbi8qIEZvcm1cclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiRmb3JtLWhlaWdodDogNDhweDtcclxuJGZvcm0tbGluZS1oZWlnaHQ6IDEuNTtcclxuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZW47XHJcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogMjBweDtcclxuJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDogMTJweDtcclxuJGZvcm0tYmFja2dyb3VuZDogd2hpdGU7XHJcbiRmb3JtLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4kZm9ybS1mb2N1cy1jb2xvcjogJGZvcm0tY29sb3I7XHJcbiRmb3JtLWZvY3VzLWJhY2tncm91bmQ6ICRmb3JtLWJhY2tncm91bmQ7XHJcbiRmb3JtLXJhZGlvLXNpemU6IDE2cHg7XHJcbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuJGZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAkZm9ybS1yYWRpby1iYWNrZ3JvdW5kO1xyXG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6ICRmb3JtLXJhZGlvLWJhY2tncm91bmQ7XHJcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzEwJyBoZWlnaHQ9JzcnIHZpZXdCb3g9JzAgMCAxMCA3JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nTTguMjE5ODEgMC40Njk4MTFMMy41MDAwNiA1LjE4OTU2TDEuNzgwMzEgMy40Njk4MUMxLjQ4NjAzIDMuMTg1NTggMS4wMTgyNSAzLjE4OTY1IDAuNzI4OTQ3IDMuNDc4OTVDMC40Mzk2NDcgMy43NjgyNSAwLjQzNTU4MiA0LjIzNjAzIDAuNzE5ODExIDQuNTMwMzFMMi45Njk4MSA2Ljc4MDMxQzMuMjYyNjkgNy4wNzMxIDMuNzM3NDQgNy4wNzMxIDQuMDMwMzEgNi43ODAzMUw5LjI4MDMxIDEuNTMwMzFDOS41NjQ1NCAxLjIzNjAzIDkuNTYwNDcgMC43NjgyNDggOS4yNzExNyAwLjQ3ODk0N0M4Ljk4MTg3IDAuMTg5NjQ3IDguNTE0MSAwLjE4NTU4MiA4LjIxOTgxIDAuNDY5ODExWicgZmlsbD0nd2hpdGUnLyUzRSUzQy9zdmclM0UlMEFcIjtcclxuJGZvcm0tZGlzYWJsZWQtY29sb3I6ICRjb2xvci1tdXRlZC1kZWZhdWx0O1xyXG4kZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kOiBsaWdodGVuKCRmb3JtLXJhZGlvLWJhY2tncm91bmQsIDIwKTtcclxuXHJcbi8qIE1vZGFsXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kbW9kYWwtei1pbmRleDogMTAwMTtcclxuJG1vZGFsLWNsb3NlLXotaW5kZXg6IDEwO1xyXG4kbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6IDA7XHJcbiRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWw6IDA7XHJcblxyXG4vKiBPZmZjYW52YXNcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiRvZmZjYW52YXMtei1pbmRleDogJG1vZGFsLXotaW5kZXggKyAxO1xyXG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsOiAyNHB4O1xyXG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw6IDMycHg7XHJcbiRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ6ICRjb2xvci1tdXRlZC1kZWZhdWx0O1xyXG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLW06IDMycHg7XHJcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAxMDZweDtcclxuXHJcbi8qIE5vdGlmaWNhdGlvblxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi10b3A6IDE1cHg7XHJcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nOiAxMnB4O1xyXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ7XHJcbiRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjogd2hpdGU7XHJcbiRub3RpZmljYXRpb24tbWVzc2FnZS1mb250LXNpemU6IHRvUmVtKDE0cHgpO1xyXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ6IDEuNTtcclxuLy8gMjAgbW9kaWZpZXIgZHVlIHRvIHN0YWNrIG9mZmNhbnZhcyB3aGljaCBoYXMgYmlnZ2VyIHotaW5kZXhcclxuJG5vdGlmaWNhdGlvbi16LWluZGV4OiAkb2ZmY2FudmFzLXotaW5kZXggKiAyMCArIDE7XHJcblxyXG4kbm90aWZpY2F0aW9uLWNsb3NlLXRvcDogNTAlO1xyXG4kbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0OiAxMnB4O1xyXG5cclxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjtcclxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjtcclxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjtcclxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yO1xyXG5cclxuLyogQW5pbWF0aW9uXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4kYW5pbWF0aW9uLWZhc3QtZHVyYXRpb246IDAuMjVzO1xyXG5cclxuLyogTWlzY1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuJHNjYWxlLWltYWdlLW9uLWhvdmVyOiAxLjA0O1xyXG4iLCIvKiBMaW5rIGJhc2VcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbkBtaXhpbiBob29rLWJhc2UtbGluayB7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbi1kZWZhdWx0O1xyXG59XHJcblxyXG4vKiBCdXR0b24gYmFzZVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1peGluIGhvb2stYnV0dG9uIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xyXG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZGVmYXVsdDtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGNvbG9yLCBib3JkZXItY29sb3I7XHJcbn1cclxuXHJcbi8qIEJ1dHRvbiBkZWZhdWx0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmZiZmJmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbn1cclxuXHJcbi8qIEJ1dHRvbiBkZWZhdWx0XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlciB7XHJcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxufVxyXG5cclxuLyogRm9ybSBzaW5nbGUgbGluZVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuQG1peGluIGhvb2stZm9ybS1zaW5nbGUtbGluZSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNkNWQ5O1xyXG4gICAgY2FyZXQtY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3I7XHJcbn1cclxuXHJcbi8qIE5vdGlmaWNhdGlvbiBtZXNzYWdlXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xyXG59XHJcblxyXG4vKiBOb3RpZmljYXRpb24gbWVzc2FnZSBwcmltYXJ5XHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kO1xyXG59XHJcblxyXG4vKiBOb3RpZmljYXRpb24gbWVzc2FnZSBzdWNjZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kO1xyXG59XHJcblxyXG4vKiBOb3RpZmljYXRpb24gbWVzc2FnZSB3YXJuaW5nXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kO1xyXG59XHJcblxyXG4vKiBOb3RpZmljYXRpb24gbWVzc2FnZSBkYW5nZXJcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kO1xyXG59XHJcblxyXG4vKiBOb3RpZmljYXRpb24gY2xvc2VcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcblxyXG4gICAgJixcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vc3dpcGVyLXNldHRpbmdzXCI7XHJcblxyXG4uc3dpcGVyIHtcclxuICAgICRibG9jazogJjtcclxuXHJcbiAgICAmLWJ1dHRvbnMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgJi1idXR0b24ge1xyXG4gICAgICAgIEBleHRlbmQgJXN3aXBlci1uYXZpZ2F0aW9uLWJ1dHRvbiAhb3B0aW9uYWw7XHJcblxyXG4gICAgICAgICRibG9jazogJjtcclxuXHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgY29sb3I6ICRzd2lwZXItYXJyb3ctY29sb3I7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgaGVpZ2h0OiAkc3dpcGVyLWFycm93LWhlaWdodDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIG9wYWNpdHksIGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgd2lkdGg6ICRzd2lwZXItYXJyb3ctd2lkdGg7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuXHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KCYtZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtbm8tdG91Y2gge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3ItYWNjZW50LWRlZmF1bHQsIDEwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxOXB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBzdHJva2UgMC4ycyBlYXNlLW91dDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtcHJldiB7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkY2RmZTU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1sYXJnZSB7XHJcbiAgICAgICAgICAgIHNpemU6IDUwcHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgICAgICBzaXplOiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIHNpemU6IDMycHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtd2hpdGUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgICY6bm90KCYtZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLW5vLXRvdWNoIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAgICY6Zm9jdXMtd2l0aGluIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvci1hY2NlbnQtZGVmYXVsdCwgMTApO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIkdGhlbWVDb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG5cclxuLy8gcGFnaW5hdGlvblxyXG4kc3dpcGVyLWJ1bGxldC1jb2xvcjogJGNvbG9yLW11dGVkLWRlZmF1bHQgIWRlZmF1bHQ7XHJcbiRzd2lwZXItYnVsbGV0LWFjdGl2ZS1jb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0ICFkZWZhdWx0O1xyXG4kc3dpcGVyLWJ1bGxldC1ob3Zlci1jb2xvcjogZGFya2VuKCRzd2lwZXItYnVsbGV0LWNvbG9yLCAzNSkgIWRlZmF1bHQ7XHJcbiRzd2lwZXItYnVsbGV0LWlubmVyLXNpemU6IDZweCAhZGVmYXVsdDtcclxuJHN3aXBlci1idWxsZXQtcGFkZGluZzogMTZweCAhZGVmYXVsdDtcclxuJHN3aXBlci1wYWdpbmF0aW9uLW1hcmdpbjogNDhweCAhZGVmYXVsdDtcclxuJHN3aXBlci1wYWdpbmF0aW9uLW1hcmdpbi1zOiAzNnB4ICFkZWZhdWx0O1xyXG5cclxuLy8gbmF2aWdhdGlvblxyXG4kc3dpcGVyLWFycm93LWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcclxuJHN3aXBlci1hcnJvdy1hY3RpdmUtY29sb3I6IGRhcmtlbigkc3dpcGVyLWFycm93LWNvbG9yLCAyMCkgIWRlZmF1bHQ7XHJcbiRzd2lwZXItYXJyb3ctd2lkdGg6IDI3cHggIWRlZmF1bHQ7XHJcbiRzd2lwZXItYXJyb3ctaGVpZ2h0OiAkc3dpcGVyLWFycm93LXdpZHRoICFkZWZhdWx0O1xyXG4kc3dpcGVyLWFycm93LW9mZnNldDogNDJweCAhZGVmYXVsdDtcclxuJHN3aXBlci1hcnJvdy1wYWRkaW5nOiA4cHggIWRlZmF1bHQ7XHJcbiRzd2lwZXItYXJyb3ctcGFkZGluZy1zOiAxMnB4ICFkZWZhdWx0O1xyXG4kc3dpcGVyLWFycm93LXdpZHRoLXM6IDQ4cHggIWRlZmF1bHQ7XHJcbiRzd2lwZXItYXJyb3ctaGVpZ2h0LXM6ICRzd2lwZXItYXJyb3ctd2lkdGgtcyAhZGVmYXVsdDtcclxuJHN3aXBlci1hcnJvdy1zaXplLW1vZC1zbWFsbDogNDZweDtcclxuXHJcbi8vIHNjcm9sbGJhclxyXG4kc3dpcGVyLXNjcm9sbGJhci1jb2xvcjogaHNsKDAsIDAlLCA5MiUpICFkZWZhdWx0O1xyXG4kc3dpcGVyLXNjcm9sbGJhci1jb2xvci1kcmFnOiBoc2woMCwgMCUsIDgyJSkgIWRlZmF1bHQ7XHJcbiIsIiRicmVha3BvaW50LXh4c21hbGw6IDM3NXB4ICFkZWZhdWx0O1xyXG4kYnJlYWtwb2ludC14c21hbGw6IDQyNXB4ICFkZWZhdWx0O1xyXG4kYnJlYWtwb2ludC1zbWFsbDogNjQwcHggIWRlZmF1bHQ7XHJcbiRicmVha3BvaW50LW1lZGl1bTogOTAwcHggIWRlZmF1bHQ7XHJcbiRicmVha3BvaW50LWxhcmdlOiAxMDAwcHggIWRlZmF1bHQ7XHJcbiRicmVha3BvaW50LXhsYXJnZTogMTIwMHB4ICFkZWZhdWx0O1xyXG4kYnJlYWtwb2ludC14eGxhcmdlOiAxMzY2cHggIWRlZmF1bHQ7XHJcblxyXG5AZnVuY3Rpb24gdnctZnJvbSgkYnApIHtcclxuICAgIEByZXR1cm4gKG1pbi13aWR0aDogJGJwKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHZ3LXRvKCRicCkge1xyXG4gICAgQHJldHVybiAobWF4LXdpZHRoOiAkYnAgLSAxKTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHZoLWZyb20oJGJwKSB7XHJcbiAgICBAcmV0dXJuIChtaW4taGVpZ2h0OiAkYnApO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdmgtdG8oJGJwKSB7XHJcbiAgICBAcmV0dXJuIChtYXgtaGVpZ2h0OiAkYnAgLSAxKTtcclxufVxyXG5cclxuQG1peGluIHZ3LXh4c21hbGwtZG93biB7XHJcbiAgICBAbWVkaWEgI3t2dy10bygkYnJlYWtwb2ludC14eHNtYWxsKX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdncteHhzbWFsbC11cCB7XHJcbiAgICBAbWVkaWEgI3t2dy1mcm9tKCRicmVha3BvaW50LXh4c21hbGwpfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB2dy14c21hbGwtZG93biB7XHJcbiAgICBAbWVkaWEgI3t2dy10bygkYnJlYWtwb2ludC14c21hbGwpfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB2dy14c21hbGwtdXAge1xyXG4gICAgQG1lZGlhICN7dnctZnJvbSgkYnJlYWtwb2ludC14c21hbGwpfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB2dy1zbWFsbC1kb3duIHtcclxuICAgIEBtZWRpYSAje3Z3LXRvKCRicmVha3BvaW50LXNtYWxsKX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdnctc21hbGwtdXAge1xyXG4gICAgQG1lZGlhICN7dnctZnJvbSgkYnJlYWtwb2ludC1zbWFsbCl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LXNtYWxsLW9ubHkge1xyXG4gICAgQG1lZGlhICN7dnctZnJvbSgkYnJlYWtwb2ludC14c21hbGwpfSBhbmQgI3t2dy10bygkYnJlYWtwb2ludC1zbWFsbCl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgIEBtZWRpYSAje3Z3LXRvKCRicmVha3BvaW50LW1lZGl1bSl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LW1lZGl1bS11cCB7XHJcbiAgICBAbWVkaWEgI3t2dy1mcm9tKCRicmVha3BvaW50LW1lZGl1bSl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LW1lZGl1bS1vbmx5IHtcclxuICAgIEBtZWRpYSAje3Z3LWZyb20oJGJyZWFrcG9pbnQtc21hbGwpfSBhbmQgI3t2dy10bygkYnJlYWtwb2ludC1tZWRpdW0pfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB2dy1sYXJnZS1kb3duIHtcclxuICAgIEBtZWRpYSAje3Z3LXRvKCRicmVha3BvaW50LWxhcmdlKX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdnctbGFyZ2UtdXAge1xyXG4gICAgQG1lZGlhICN7dnctZnJvbSgkYnJlYWtwb2ludC1sYXJnZSl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LWxhcmdlLW9ubHkge1xyXG4gICAgQG1lZGlhICN7dnctZnJvbSgkYnJlYWtwb2ludC1tZWRpdW0pfSBhbmQgI3t2dy10bygkYnJlYWtwb2ludC1sYXJnZSl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LXhsYXJnZS1vbmx5IHtcclxuICAgIEBtZWRpYSAje3Z3LWZyb20oJGJyZWFrcG9pbnQtbGFyZ2UpfSBhbmQgI3t2dy10bygkYnJlYWtwb2ludC14bGFyZ2UpfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB2dy14bGFyZ2UtZG93biB7XHJcbiAgICBAbWVkaWEgI3t2dy10bygkYnJlYWtwb2ludC14bGFyZ2UpfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB2dy14bGFyZ2UtdXAge1xyXG4gICAgQG1lZGlhICN7dnctZnJvbSgkYnJlYWtwb2ludC14bGFyZ2UpfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB2dy14eGxhcmdlLW9ubHkge1xyXG4gICAgQG1lZGlhICN7dnctZnJvbSgkYnJlYWtwb2ludC14bGFyZ2UpfSBhbmQgI3t2dy10bygkYnJlYWtwb2ludC14eGxhcmdlKX0ge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gdncteHhsYXJnZS1kb3duIHtcclxuICAgIEBtZWRpYSAje3Z3LXRvKCRicmVha3BvaW50LXh4bGFyZ2UpfSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiB2dy14eGxhcmdlLXVwIHtcclxuICAgIEBtZWRpYSAje3Z3LWZyb20oJGJyZWFrcG9pbnQteHhsYXJnZSl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LWN1c3RvbS11cCgkYnJlYWtwb2ludCkge1xyXG4gICAgQG1lZGlhICN7dnctZnJvbSgkYnJlYWtwb2ludCl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHZ3LWN1c3RvbS1kb3duKCRicmVha3BvaW50KSB7XHJcbiAgICBAbWVkaWEgI3t2dy10bygkYnJlYWtwb2ludCl9IHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG4iLCJAZnVuY3Rpb24gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xyXG4gICAgQHJldHVybiAoKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJSk7XHJcbn1cclxuXHJcbkBtaXhpbiBtZWRpYS10b3VjaCB7XHJcbiAgICBAbWVkaWEgKGhvdmVyOiBub25lKSBhbmQgKHBvaW50ZXI6IGNvYXJzZSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWVkaWEtbm8tdG91Y2gge1xyXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIGFuZCAocG9pbnRlcjogZmluZSkge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFzZVxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZhdWx0IHZhbHVlcyBmb3IgSFRNTCBlbGVtZW50c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oMWAsIGB1ay1oMmAsIGB1ay1oM2AsIGB1ay1oNGAsIGB1ay1oNWAsIGB1ay1oNmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYXNlLWJvZHktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYmFzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcblxuJGJhc2Utc3Ryb25nLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtaW5zLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLW1hcmstYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZkICFkZWZhdWx0O1xuJGJhc2UtbWFyay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1xdW90ZS1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRhbGljICFkZWZhdWx0O1xuJGJhc2Utc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJGJhc2UtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWgxLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLTJ4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlLWgxLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgxLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlLWgyLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgyLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjMgIWRlZmF1bHQ7XG4kYmFzZS1oMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMy1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDYtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGJhc2UtbGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cbiRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgaXRhbGljICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJhc2UtcHJlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtcHJlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAjMzlmICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgYGZvbnQtc2l6ZWAgdG8gc3VwcG9ydCBgcmVtYCB1bml0c1xuICogICAgTm90IHVzaW5nIGBmb250YCBwcm9wZXJ0eSBiZWNhdXNlIGEgbGVhZGluZyBoeXBoZW4gKGUuZy4gLWFwcGxlLXN5c3RlbSkgY2F1c2VzIHRoZSBmb250IHRvIGJyZWFrIGluIElFMTEgYW5kIEVkZ2VcbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICogMy4gU3R5bGVcbiAqL1xuXG5odG1sIHtcbiAgICAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ib2R5LWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGJhc2UtYm9keS1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtYm9keS1saW5lLWhlaWdodDtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1ib2R5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLWJvZHktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtYm9keSkpIHtAaW5jbHVkZSBob29rLWJhc2UtYm9keSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHsgbWFyZ2luOiAwOyB9XG5cblxuLyogTGlua3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogU3R5bGVcbiAqL1xuXG5hLFxuLnVrLWxpbmsge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtbGluay10ZXh0LWRlY29yYXRpb247XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWxpbmspKSB7QGluY2x1ZGUgaG9vay1iYXNlLWxpbmsoKTt9XG59XG5cbmE6aG92ZXIsXG4udWstbGluazpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluayxcbi51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluayB7XG4gICAgY29sb3I6ICRiYXNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1saW5rLWhvdmVyKCk7fVxufVxuXG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gRWRnZS5cbiAqIDIuIFRoZSBzaG9ydGhhbmQgZGVjbGFyYXRpb24gYHVuZGVybGluZSBkb3R0ZWRgIGlzIG5vdCBzdXBwb3J0ZWQgaW4gU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1zdHlsZTogZG90dGVkO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHsgZm9udC13ZWlnaHQ6ICRiYXNlLXN0cm9uZy1mb250LXdlaWdodDsgfVxuXG4vKlxuICogMS4gQ29uc29sYXMgaGFzIGEgYmV0dGVyIGJhc2VsaW5lIGluIHJ1bm5pbmcgdGV4dCBjb21wYXJlZCB0byBgQ291cmllcmBcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIFN0eWxlXG4gKi9cblxuOm5vdChwcmUpID4gY29kZSxcbjpub3QocHJlKSA+IGtiZCxcbjpub3QocHJlKSA+IHNhbXAge1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogJGJhc2UtY29kZS1mb250LWZhbWlseTtcbiAgICAvKiAyICovXG4gICAgZm9udC1zaXplOiAkYmFzZS1jb2RlLWZvbnQtc2l6ZTtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRiYXNlLWNvZGUtY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1jb2RlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1jb2RlKCk7fVxufVxuXG4vKlxuICogRW1waGFzaXplXG4gKi9cblxuZW0geyBjb2xvcjogJGJhc2UtZW0tY29sb3I7IH1cblxuLypcbiAqIEluc2VydFxuICovXG5cbmlucyB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtaW5zLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLWlucy1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBNYXJrXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtbWFyay1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1tYXJrLWNvbG9yO1xufVxuXG4vKlxuICogUXVvdGVcbiAqL1xuXG5xIHsgZm9udC1zdHlsZTogJGJhc2UtcXVvdGUtZm9udC1zdHlsZTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwgeyBmb250LXNpemU6ICRiYXNlLXNtYWxsLWZvbnQtc2l6ZTsgfVxuXG4vKlxuICogUHJldmVudHMgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7IHRvcDogLTAuNWVtOyB9XG5zdWIgeyBib3R0b206IC0wLjI1ZW07IH1cblxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gZW1iZWRkZWQgY29udGVudCBhbmQgdGhlIGJvdHRvbSBvZiB0aGVpciBjb250YWluZXJzLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8geyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qXG4gKiAxLiBBZGQgcmVzcG9uc2l2ZW5lc3MuXG4gKiAyLiBBdXRvLXNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50LlxuICogMy4gQ29ycmVjdHMgcmVzcG9uc2l2ZSBgbWF4LXdpZHRoYCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWQuXG4gKiA0LiBFeGNsdWRlIFNWR3MgZm9yIElFMTEgYmVjYXVzZSB0aGV5IGRvbid0IHByZXNlcnZlIHRoZWlyIGFzcGVjdCByYXRpby5cbiAqL1xuXG5jYW52YXMsXG5pbWcsXG52aWRlbyB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiA0ICovXG5Ac3VwcG9ydHMgKGRpc3BsYXk6IGJsb2NrKSB7XG5cbiAgIHN2ZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxufVxuXG4vKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiAxLiBGaXggbGF6eSBsb2FkaW5nIGltYWdlcyBpZiBwYXJlbnQgZWxlbWVudCBpcyBzZXQgdG8gYGRpc3BsYXk6IGlubGluZWAgYW5kIGhhcyBgb3ZlcmZsb3c6IGhpZGRlbmAuXG4gKiAyLiBIaWRlIGBhbHRgIHRleHQgZm9yIGxhenkgbG9hZGluZyBpbWFnZXMuXG4gKiBOb3RlOiBTZWxlY3RvciBmb3IgYmFja2dyb3VuZCB3aGlsZSBsb2FkaW5nIGltZ1tkYXRhLXNyYyo9Jy5qcGcnXVtzcmMqPSdkYXRhOmltYWdlJ10geyBiYWNrZ3JvdW5kOiBncmV5OyB9XG4gKi9cblxuaW1nOm5vdChbc3JjXSkge1xuICAgIC8qIDEgKi9cbiAgICBtaW4td2lkdGg6IDFweDtcbiAgICAvKiAyICovXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogSWZyYW1lXG4gKiBSZW1vdmUgYm9yZGVyIGluIGFsbCBicm93c2Vyc1xuICovXG5cbmlmcmFtZSB7IGJvcmRlcjogMDsgfVxuXG5cbi8qIEJsb2NrIGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE1hcmdpbnNcbiAqL1xuXG5wLFxudWwsXG5vbCxcbmRsLFxucHJlLFxuYWRkcmVzcyxcbmZpZWxkc2V0LFxuZmlndXJlIHsgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgcCxcbiogKyB1bCxcbiogKyBvbCxcbiogKyBkbCxcbiogKyBwcmUsXG4qICsgYWRkcmVzcyxcbiogKyBmaWVsZHNldCxcbiogKyBmaWd1cmUgeyBtYXJnaW4tdG9wOiAkYmFzZS1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBIZWFkaW5nc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmgxLCAudWstaDEsXG5oMiwgLnVrLWgyLFxuaDMsIC51ay1oMyxcbmg0LCAudWstaDQsXG5oNSwgLnVrLWg1LFxuaDYsIC51ay1oNixcbi51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLWhlYWRpbmctbWVkaXVtLFxuLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstaGVhZGluZy14bGFyZ2UsXG4udWstaGVhZGluZy0yeGxhcmdlIHtcbiAgICBtYXJnaW46IDAgMCAkYmFzZS1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBmb250LWZhbWlseTogJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGJhc2UtaGVhZGluZy1jb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oZWFkaW5nKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oZWFkaW5nKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBoMSwgKiArIC51ay1oMSxcbiogKyBoMiwgKiArIC51ay1oMixcbiogKyBoMywgKiArIC51ay1oMyxcbiogKyBoNCwgKiArIC51ay1oNCxcbiogKyBoNSwgKiArIC51ay1oNSxcbiogKyBoNiwgKiArIC51ay1oNixcbiogKyAudWstaGVhZGluZy1zbWFsbCxcbiogKyAudWstaGVhZGluZy1tZWRpdW0sXG4qICsgLnVrLWhlYWRpbmctbGFyZ2UsXG4qICsgLnVrLWhlYWRpbmcteGxhcmdlLFxuKiArIC51ay1oZWFkaW5nLTJ4bGFyZ2UgeyBtYXJnaW4tdG9wOiAkYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A7IH1cblxuLypcbiAqIFNpemVzXG4gKi9cblxuaDEsIC51ay1oMSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgxLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgxKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMSgpO31cbn1cblxuaDIsIC51ay1oMiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMigpO31cbn1cblxuaDMsIC51ay1oMyB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMy1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgzLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgzKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMygpO31cbn1cblxuaDQsIC51ay1oNCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg0LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg0KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNCgpO31cbn1cblxuaDUsIC51ay1oNSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg1LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg1KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNSgpO31cbn1cblxuaDYsIC51ay1oNiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg2LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg2KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNigpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICBoMSwgLnVrLWgxIHsgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemUtbTsgfVxuICAgIGgyLCAudWstaDIgeyBmb250LXNpemU6ICRiYXNlLWgyLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBMaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbnVsLFxub2wgeyBwYWRkaW5nLWxlZnQ6ICRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OyB9XG5cbi8qXG4gKiBSZXNldCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICovXG5cbnVsID4gbGkgPiB1bCxcbnVsID4gbGkgPiBvbCxcbm9sID4gbGkgPiBvbCxcbm9sID4gbGkgPiB1bCB7IG1hcmdpbjogMDsgfVxuXG5cbi8qIERlc2NyaXB0aW9uIGxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZHQgeyBmb250LXdlaWdodDogYm9sZDsgfVxuZGQgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG5cbi8qIEhvcml6b250YWwgcnVsZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gQ2hyb21lLCBFZGdlIGFuZCBJRS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0LWFsaWduIGluIEVkZ2UgYW5kIElFLlxuICogMy4gU3R5bGVcbiAqL1xuXG5ociwgLnVrLWhyIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogMiAqL1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbjogMCAwICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAkYmFzZS1oci1ib3JkZXItd2lkdGggc29saWQgJGJhc2UtaHItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWhyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ocigpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaHIsXG4qICsgLnVrLWhyIHsgbWFyZ2luLXRvcDogJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsIH1cblxuXG4vKiBBZGRyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYWRkcmVzcyB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5cbi8qIEJsb2NrcXVvdGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBmb250LXNpemU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBibG9ja3F1b3RlIHsgbWFyZ2luLXRvcDogJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIENvbnRlbnRcbiAqL1xuXG5ibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpO31cbn1cblxuXG4vKiBQcmVmb3JtYXR0ZWQgdGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIGZvbnQ6ICRiYXNlLXByZS1mb250LXNpemUgdW5xdW90ZShcIi9cIikgJGJhc2UtcHJlLWxpbmUtaGVpZ2h0ICRiYXNlLXByZS1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGJhc2UtcHJlLWNvbG9yO1xuICAgIC1tb3otdGFiLXNpemU6IDQ7XG4gICAgdGFiLXNpemU6IDQ7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLXByZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtcHJlKCk7fVxufVxuXG5wcmUgY29kZSB7IGZvbnQtZmFtaWx5OiAkYmFzZS1wcmUtZm9udC1mYW1pbHk7IH1cblxuXG4vKiBTZWxlY3Rpb24gcHNldWRvLWVsZW1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLXNlbGVjdGlvbi1jb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuXG4vKiBIVE1MNSBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWFpbiB7IC8qIDIgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHsgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBQYXNzIG1lZGlhIGJyZWFrcG9pbnRzIHRvIEpTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJyZWFrcG9pbnRzXG4gKi9cblxuLnVrLWJyZWFrcG9pbnQtczo6YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LXNtYWxsfSc7IH1cbi51ay1icmVha3BvaW50LW06OmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1tZWRpdW19JzsgfVxuLnVrLWJyZWFrcG9pbnQtbDo6YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LWxhcmdlfSc7IH1cbi51ay1icmVha3BvaW50LXhsOjpiZWZvcmUgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC14bGFyZ2V9JzsgfVxuXG46cm9vdCB7XG4gICAgLS11ay1icmVha3BvaW50LXM6ICN7JGJyZWFrcG9pbnQtc21hbGx9O1xuICAgIC0tdWstYnJlYWtwb2ludC1tOiAjeyRicmVha3BvaW50LW1lZGl1bX07XG4gICAgLS11ay1icmVha3BvaW50LWw6ICN7JGJyZWFrcG9pbnQtbGFyZ2V9O1xuICAgIC0tdWstYnJlYWtwb2ludC14bDogI3skYnJlYWtwb2ludC14bGFyZ2V9O1xufVxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1iYXNlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtY29kZSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg1KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaHIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1wcmUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJhc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuIiwiJGdsb2JhbC1tYXJnaW46IDIwcHggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGdsb2JhbC1lbXBoYXNpcy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbG9yOiAjNjY2ICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtaW52ZXJzZS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtZ3V0dGVyOiAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmc6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctcmlnaHQ6ICRhbGVydC1wYWRkaW5nICsgMTRweCAhZGVmYXVsdDtcbiRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogI2Y4ZjhmOCAhZGVmYXVsdDtcbiRhbGVydC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtdG9wOiAkYWxlcnQtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1yaWdodDogJGFsZXJ0LXBhZGRpbmcgIWRlZmF1bHQ7XG4kZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogIzFlODdmMCAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAjMzJkMjk2ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kLCA0MCUpLCAyNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQ6ICNmYWEwNWEgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQsIDQ1JSksIDE1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kOiAjZjA1MDZlICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWd1dHRlcjogMzBweCAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWd1dHRlcjogNDBweCAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uOiAwLjhzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zdHJva2UtZHVyYXRpb246IDJzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjogMTVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOiAwLjFzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6IDEwcHggIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6IDUwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLW1hcmdpbjogNzBweCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1hcmdpbi10b3A6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZTogMi42MjVyZW0gIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbTogJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTogJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtZm9udC1zaXplOiAwLjg3NXJlbSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRnbG9iYWwtbXV0ZWQtY29sb3I6ICM5OTkgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xuJGJhY2tncm91bmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZDogIzIyMiAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLXNpemU6IDIycHggIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy12ZXJ0aWNhbDogMCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLWhvcml6b250YWw6IDVweCAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFkZ2UtaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWJvZHktYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRnbG9iYWwtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGdsb2JhbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstY29sb3I6ICMxZTg3ZjAgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1ob3Zlci1jb2xvcjogIzBmNmVjZCAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ6IGJvbGRlciAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1mYW1pbHk6IENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1lbS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJGJhc2UtaW5zLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJGJhc2UtbWFyay1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLXNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuJGJhc2UtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLW1hcmdpbjogNDBweCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctbWFyZ2luLXRvcDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplLW06ICRnbG9iYWwtMnhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemU6ICRiYXNlLWgxLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgxLWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemUtbTogJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRiYXNlLWgzLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMy1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDQtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDUtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg1LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDYtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXI6ICNlNWU1ZTUgIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LWZhbWlseTogJGJhc2UtY29kZS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLXByZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kOiAjMzlmICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1jb2RlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1ib3JkZXI6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1oci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiBcIi9cIiAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWZvbnQtc2l6ZTogJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRidXR0b24tbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQ6IDU1cHggIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXRvcDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1yaWdodDogJGNhcmQtYmFkZ2UtdG9wICFkZWZhdWx0O1xuJGNhcmQtaG92ZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I6ICRjYXJkLXByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yOiAkY2FyZC1zZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ndXR0ZXI6IDcwcHggIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2xvc2UtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2xvc2UtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZ3V0dGVyLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjb2x1bW4tZGl2aWRlci1ydWxlLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS1jb2x1bW4tZGl2aWRlci1ydWxlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbW1lbnQtaGVhZGVyLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDogMzBweCAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW06IDEwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1tYXgtd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcbiRjb250YWluZXIteHNtYWxsLW1heC13aWR0aDogNzUwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDogOTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDogMTQwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRoOiAxNjAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItbGluZS1oZWlnaHQ6IDAuOCAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1zOiA0cmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLW06IDZyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1saW5lLWhlaWdodDogMS42ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLXM6IDJyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtbTogM3JlbSAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1oZWlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWNvbG9yOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS10b3A6IDUwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS13aWR0aDogMTAwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC13aWR0aDogMTAwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWhlaWdodDogMTAwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJGRvdG5hdi1tYXJnaW4tdmVydGljYWw6ICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0td2lkdGg6IDEwcHggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taGVpZ2h0OiAkZG90bmF2LWl0ZW0td2lkdGggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1czogNTAlICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGdsb2JhbC16LWluZGV4OiAxMDAwICFkZWZhdWx0O1xuJGRyb3Atei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcC13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kZHJvcC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRyb3Bkb3duLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZzogMTVweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6IDE1cHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6IDNweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDE1JSkgIWRlZmF1bHQ7XG4kZm9ybS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1saW5lLWhlaWdodDogJGZvcm0taGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDogNHB4ICFkZWZhdWx0O1xuJGZvcm0tYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6IDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAkZm9ybS1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ6ICRmb3JtLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC14c21hbGw6IDUwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1zbWFsbDogMTMwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1tZWRpdW06IDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbGFyZ2U6IDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I6ICM0NDQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWRhdGFsaXN0LXBhZGRpbmctcmlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLW1hcmdpbi10b3A6IC00cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1sZWdlbmQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtbGFiZWwtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wOiA3cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLW1hcmdpbi1sZWZ0OiAyMTVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDogN3B4ICFkZWZhdWx0O1xuJGZvcm0taWNvbi13aWR0aDogJGZvcm0taGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0taWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWljb24taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWRhdGFsaXN0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTIlMjA4JTIwNiUyMDE2JTIwNiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWRhdGFsaXN0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0taWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWw6IDRyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1zbWFsbC1mb250LXNpemUtbTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44MTI1ICFkZWZhdWx0O1xuJGhlYWRpbmctc21hbGwtZm9udC1zaXplOiAkaGVhZGluZy1zbWFsbC1mb250LXNpemUtbSAqIDAuOCAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44NzUgIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLW0gKiAwLjgyNSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgIWRlZmF1bHQ7XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWw6IDZyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLW06ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1sICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbDogOHJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLW06ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbCAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLWw6IDExcmVtICFkZWZhdWx0O1xuJGhlYWRpbmctc21hbGwtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tOiB1bnF1b3RlKCdjYWxjKDVweCArIDAuMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6IHVucXVvdGUoJ2NhbGMoMC4ycHggKyAwLjA1ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtdG9wOiB1bnF1b3RlKCdjYWxjKC0wLjEgKiAxZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtaGVpZ2h0OiB1bnF1b3RlKCdjYWxjKDRweCArIDAuN2VtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDogdW5xdW90ZSgnY2FsYyg1cHggKyAwLjJlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXItd2lkdGg6IHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4xZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlci13aWR0aDogdW5xdW90ZSgnY2FsYygwLjJweCArIDAuMDVlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtaGVpZ2h0OiAkaGVhZGluZy1saW5lLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtd2lkdGg6IDIwMDBweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw6IHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4zZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sOiAzLjc1cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodC1sOiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC45ICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWwgKiAwLjggIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sOiA4cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1sOiAxICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemUtbTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNzUgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW06IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlaWdodC1zbWFsbC1oZWlnaHQ6IDE1MHB4ICFkZWZhdWx0O1xuJGhlaWdodC1tZWRpdW0taGVpZ2h0OiAzMDBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbGFyZ2UtaGVpZ2h0OiA0NTBweCAhZGVmYXVsdDtcbiRpY29uLWltYWdlLXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstYWN0aXZlLWNvbG9yOiBkYXJrZW4oJGdsb2JhbC1jb2xvciwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLXNpemU6IDM2cHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4tdmVydGljYWw6ICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy12ZXJ0aWNhbDogMCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxhYmVsLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGFiZWwtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtY29udGVudDogdW5xdW90ZSgnLicpICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0OiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRsaWdodGJveC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRsaWdodGJveC1iYWNrZ3JvdW5kOiAjMDAwICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC13aWR0aDogMTAwdncgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1tYXgtaGVpZ2h0OiAxMDB2aCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1zaXplOiA1MHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kOiAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1ob3Zlci1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbGluay10ZXh0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGluay1oZWFkaW5nLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3QtbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1wYWRkaW5nLWxlZnQ6IDMwcHggIWRlZmF1bHQ7XG4kbGlzdC1tYXJrZXItaGVpZ2h0OiAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbGlzdC1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWVtcGhhc2lzLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNiUyMiUyMGhlaWdodCUzRCUyMjYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2JTIwNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1tdXRlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1lbXBoYXNpcy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1zZWNvbmRhcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1idWxsZXQtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG1hcmdpbi1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1zbWFsbC1tYXJnaW46ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1tZWRpdW0tbWFyZ2luOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLWxhcmdlLW1hcmdpbjogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW46ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC14bGFyZ2UtbWFyZ2luOiAxNDBweCAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFya2VyLXBhZGRpbmc6IDVweCAhZGVmYXVsdDtcbiRtYXJrZXItYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtYXJrZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRtYXJrZXItaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjYpICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsOiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWwtczogNTBweCAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGFpbmVyLXdpZHRoOiAxMjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICgkbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICgkbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbCAvIDIpICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wb3NpdGlvbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb246IDAgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGU6IDEwMCUgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjogbGlnaHRlbigkZ2xvYmFsLWludmVyc2UtY29sb3IsIDIwJSkgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDogMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0OiAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogMnB4ICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi13aWR0aDogKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1oZWlnaHQ6ICRuYXYtcGFyZW50LWljb24td2lkdGggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAwICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wYXJlbnQtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbG9yLW1vZGU6IG5vbmUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWhlaWdodDogODBweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWl0ZW0tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc6IDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci12ZXJ0aWNhbDogJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3A6IDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kOiAkbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItei1pbmRleDogJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXBvc2l0aW9uOiAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyA0MCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24td2lkdGg6IDM1MHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi10b3A6IDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXRvcDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0OiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXdpZHRoOiAyNzBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXdpZHRoLW06IDM1MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjogMjBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWJhY2tncm91bmQsIDAuOCkgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wcmltYXJ5LWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmctbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRwb3NpdGlvbi1zbWFsbC1tYXJnaW46ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW46ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbjogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw6IDUwcHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LXdpZHRoOiAxODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci13aWR0aDogNDAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS13aWR0aDogNTAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWhlaWdodDogODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aDogODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuJHNlY3Rpb24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1tdXRlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHNsaWRlbmF2LXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtY29sb3I6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1ob3Zlci1jb2xvcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAkc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWNvbG9yOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45NSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJHNvcnRhYmxlLWRyYWdnZWQtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgNTAgIWRlZmF1bHQ7XG4kc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTogMCAhZGVmYXVsdDtcbiRzb3J0YWJsZS1lbXB0eS1oZWlnaHQ6IDUwcHggIWRlZmF1bHQ7XG4kc3Bpbm5lci1zaXplOiAzMHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc3Ryb2tlLXdpZHRoOiAxICFkZWZhdWx0O1xuJHNwaW5uZXItcmFkaXVzOiBmbG9vcigoJHNwaW5uZXItc2l6ZSAtICRzcGlubmVyLXN0cm9rZS13aWR0aCkgLyAyKSAhZGVmYXVsdDtcbiRzcGlubmVyLWNpcmN1bWZlcmVuY2U6IHJvdW5kKDIgKiAzLjE0MSAqICRzcGlubmVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kc3Bpbm5lci1kdXJhdGlvbjogMS40cyAhZGVmYXVsdDtcbiRzdGlja3ktei1pbmRleDogJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XG4kc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycyAhZGVmYXVsdDtcbiRzdGlja3ktcmV2ZXJzZS1hbmltYXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDogMS41ZW0gIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogJHN1Ym5hdi1pdGVtLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiR0YWItaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogMTZweCAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWZvb3Rlci1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogI2ZmZCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAyMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWV4cGFuZC1taW4td2lkdGg6IDE1MHB4ICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDAuMDIpICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LWVtcGhhc2lzLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtYmFja2dyb3VuZC1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbWV0YS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tdXRlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1lbXBoYXNpcy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1zZWNvbmRhcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsOiAkdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogKCRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luKSAhZGVmYXVsdDtcbiR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kdGlsZS1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiR0b29sdGlwLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDMwICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctdmVydGljYWw6IDNweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctaG9yaXpvbnRhbDogNnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtYmFja2dyb3VuZDogIzY2NiAhZGVmYXVsdDtcbiR0b29sdGlwLWJvcmRlci1yYWRpdXM6IDJweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemU6IDEycHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XG4kdG90b3AtcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJHRvdG9wLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRvdG9wLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRvdG9wLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcyAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNjYWxlOiAxLjEgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6IDEwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiA1MHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xvdy1kdXJhdGlvbjogMC43cyAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDogMTcwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czogNXB4ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctZHVyYXRpb246IDAuMXMgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJvcmRlci1yYWRpdXM6IDEwMCUgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDogIzQ0NCAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ibHVyOiAyMHB4ICFkZWZhdWx0O1xuJGRyb3BjYXAtbWFyZ2luLXJpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGRyb3BjYXAtZm9udC1zaXplOiAoKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAzKSAqIDFlbSkgIWRlZmF1bHQ7XG4kbG9nby1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGxvZ28tZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbG9nby1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsb2dvLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyYWdvdmVyLWJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMTAwLDEwMCwxMDAsMC4zKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkZXByZWNhdGVkOiBmYWxzZSAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsOiA2NDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LW1lZGl1bTogOTYwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZTogMTIwMHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQteGxhcmdlOiAxNjAwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC14c21hbGwtbWF4OiAoJGJyZWFrcG9pbnQtc21hbGwgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsLW1heDogKCRicmVha3BvaW50LW1lZGl1bSAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbWVkaXVtLW1heDogKCRicmVha3BvaW50LWxhcmdlIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZS1tYXg6ICgkYnJlYWtwb2ludC14bGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OiAwIDI4cHggNTBweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuJHdpZHRoLXNtYWxsLXdpZHRoOiAxNTBweCAhZGVmYXVsdDtcbiR3aWR0aC1tZWRpdW0td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLWxhcmdlLXdpZHRoOiA0NTBweCAhZGVmYXVsdDtcbiR3aWR0aC14bGFyZ2Utd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLTJ4bGFyZ2Utd2lkdGg6IDc1MHB4ICFkZWZhdWx0OyIsIi8vIEJhc2UgdGhpbmdzIHdlIHdhbnQgdG8gZG8gd2l0aCBVSUtpdCBvbiBldmVyeSBwcm9qZWN0IHdlIHVzZSBpdFxyXG4kYmFzZS1lbS1jb2xvcjogaW5oZXJpdDtcclxuJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOiAwO1xyXG4kYmFzZS1tYXJnaW4tdmVydGljYWw6IDA7XHJcbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSWNvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGljb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1pY29uLWltYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1idXR0b25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGljb24taW1hZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRpY29uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtY29sb3IsIDUlKSAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM2cHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTm90ZTogMS4gLSA3LiBpcyByZXF1aXJlZCBmb3IgYGJ1dHRvbmAgZWxlbWVudHMuIE5lZWRlZCBmb3IgQ2xvc2UgYW5kIEZvcm0gSWNvbiBjb21wb25lbnQuXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBSZW1vdmUgYm9yZGVyLXJhZGl1cyBpbiBDaHJvbWUuXG4gKiA0LiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNS4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDYuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNy4gUmVtb3ZlIGRlZmF1bHQgYGJ1dHRvbmAgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBjb2xvclxuICogOC4gU3R5bGVcbiAqIDkuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDEwLiBMZXQgdGhlIGNvbnRhaW5lciBmaXQgdGhlIGhlaWdodCBvZiB0aGUgaWNvblxuICovXG5cbi51ay1pY29uIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDUgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDYgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAvKiA3LiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogOCAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiA5ICovXG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIC8qIDEwICovXG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi8qIFJlcXVpcmVkIGZvciBgYnV0dG9uYC4gKi9cbmJ1dHRvbi51ay1pY29uOm5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbi51ay1pY29uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG5cbi51ay1pY29uOm5vdCgudWstcHJlc2VydmUpIFtmaWxsKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgZmlsbDogY3VycmVudGNvbG9yOyB9XG4udWstaWNvbjpub3QoLnVrLXByZXNlcnZlKSBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH1cblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cblxuLnVrLWljb24gPiAqIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTsgfVxuXG5cbi8qIEltYWdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpc3BsYXkgaW1hZ2VzIGluIGljb24gZGltZW5zaW9uc1xuICovXG5cbi51ay1pY29uLWltYWdlIHtcbiAgICB3aWR0aDogJGljb24taW1hZ2Utc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWltYWdlLXNpemU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMaW5rXG4gKi9cblxuLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluaykpIHtAaW5jbHVkZSBob29rLWljb24tbGluaygpO31cbn1cblxuLnVrLWljb24tbGluazpob3Zlcixcbi51ay1pY29uLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAkaWNvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWljb24tbGluay1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tbGluazphY3RpdmUsXG4udWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWxpbmstYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEJ1dHRvblxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWljb24tYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkaWNvbi1idXR0b24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWJ1dHRvbi1zaXplO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWJ1dHRvbjphY3RpdmUsXG4udWstYWN0aXZlID4gLnVrLWljb24tYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1pY29uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWljb24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1pY29uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGb3JtXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZm9ybXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mb3JtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnB1dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlbGVjdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRleHRhcmVhYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmFkaW9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jaGVja2JveGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxlZ2VuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZpZWxkc2V0YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWZvcm0tY3VzdG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdGFja2VkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ob3Jpem9udGFsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYWJlbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb24tZmxpcGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1mb3JtLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tZGFuZ2VyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ibGFua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgteHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHMtdGV4dGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG5cbiRmb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zbWFsbC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kZm9ybS1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb3JtLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kZm9ybS13aWR0aC14c21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXNtYWxsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMzBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLW1lZGl1bTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLWxhcmdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWRhdGFsaXN0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIC00cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWxlZ2VuZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgIDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6ICAgICAgICAgICAyMTVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDogICAgICA3cHggIWRlZmF1bHQ7XG5cbiRmb3JtLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWRhdGFsaXN0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTIlMjA4JTIwNiUyMDE2JTIwNiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAgICBEZWZhdWx0IGlzIGBjb250ZW50LWJveGAgd2l0aCBmb2xsb3dpbmcgZXhjZXB0aW9ucyBzZXQgdG8gYGJvcmRlci1ib3hgXG4gKiAgICBgc2VsZWN0YCwgYGlucHV0W3R5cGU9XCJjaGVja2JveFwiXWAgYW5kIGBpbnB1dFt0eXBlPVwicmFkaW9cIl1gXG4gKiAgICBgaW5wdXRbdHlwZT1cInNlYXJjaFwiXWAgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBgaW5wdXRbdHlwZT1cImNvbG9yXCJdYCBpbiBGaXJlZm94XG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhLFxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xufVxuXG4vKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG4udWstaW5wdXQgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1zZWxlY3QgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiAyLiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIGFuZCB1c2UgYGJvbGRgIGluc3RlYWQuXG4gKiBOT1RFOiBCb3RoIGRlY2xhcmF0aW9ucyBkb24ndCB3b3JrIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqL1xuXG4udWstc2VsZWN0IG9wdGdyb3VwIHtcbiAgICAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiAyICovXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG4udWstdGV4dGFyZWEgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5cbi8qXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7IGhlaWdodDogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsXG4udWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgeyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG5cbi51ay1yYWRpbzpub3QoOmRpc2FibGVkKSxcbi51ay1jaGVja2JveDpub3QoOmRpc2FibGVkKSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbi51ay1maWVsZHNldCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5cbi8qIElucHV0LCBzZWxlY3QgYW5kIHRleHRhcmVhXG4gKiBBbGxvd2VkOiBgdGV4dGAsIGBwYXNzd29yZGAsIGBkYXRldGltZWAsIGBkYXRldGltZS1sb2NhbGAsIGBkYXRlYCwgIGBtb250aGAsXG4gICAgICAgICAgICBgdGltZWAsIGB3ZWVrYCwgYG51bWJlcmAsIGBlbWFpbGAsIGB1cmxgLCBgc2VhcmNoYCwgYHRlbGAsIGBjb2xvcmBcbiAqIERpc2FsbG93ZWQ6IGByYW5nZWAsIGByYWRpb2AsIGBjaGVja2JveGAsIGBmaWxlYCwgYHN1Ym1pdGAsIGByZXNldGAgYW5kIGBpbWFnZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gaU9TLlxuICovXG5cbi51ay1pbnB1dCxcbi51ay10ZXh0YXJlYSB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gUmVzZXQgZGVmYXVsdFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6IDAgJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtKSkge0BpbmNsdWRlIGhvb2stZm9ybSgpO31cbn1cblxuLypcbiAqIFNpbmdsZS1saW5lXG4gKiAxLiBBbGxvdyBhbnkgZWxlbWVudCB0byBsb29rIGxpa2UgYW4gYGlucHV0YCBvciBgc2VsZWN0YCBlbGVtZW50XG4gKiAyLiBNYWtlIHN1cmUgbGluZS1oZWlnaHQgaXMgbm90IGxhcmdlciB0aGFuIGhlaWdodFxuICogICAgQWxzbyBuZWVkZWQgdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHlcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1oZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXNpbmdsZS1saW5lKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpO31cbn1cblxuLyogMiAqL1xuLnVrLWlucHV0Om5vdChpbnB1dCksXG4udWstc2VsZWN0Om5vdChzZWxlY3QpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLWxpbmUtaGVpZ2h0OyB9XG5cbi8qXG4gKiBNdWx0aS1saW5lXG4gKi9cblxuLnVrLXNlbGVjdFttdWx0aXBsZV0sXG4udWstc2VsZWN0W3NpemVdLFxuLnVrLXRleHRhcmVhIHtcbiAgICBwYWRkaW5nLXRvcDogJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW11bHRpLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW11bHRpLWxpbmUoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstaW5wdXQ6Zm9jdXMsXG4udWstc2VsZWN0OmZvY3VzLFxuLnVrLXRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWZvY3VzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1mb2N1cygpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1pbnB1dDpkaXNhYmxlZCxcbi51ay1zZWxlY3Q6ZGlzYWJsZWQsXG4udWstdGV4dGFyZWE6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1kaXNhYmxlZCgpO31cbn1cblxuLypcbiAqIFBsYWNlaG9sZGVyXG4gKi9cblxuLnVrLWlucHV0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4udWstdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1mb3JtLXNtYWxsIHsgZm9udC1zaXplOiAkZm9ybS1zbWFsbC1mb250LXNpemU7IH1cblxuLnVrLWZvcm0tc21hbGw6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0tc21hbGwtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLnVrLWZvcm0tc21hbGw6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay1mb3JtLWxhcmdlIHsgZm9udC1zaXplOiAkZm9ybS1sYXJnZS1mb250LXNpemU7IH1cblxuLnVrLWZvcm0tbGFyZ2U6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0tbGFyZ2UtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLnVrLWZvcm0tbGFyZ2U6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBFcnJvclxuICovXG5cbi51ay1mb3JtLWRhbmdlcixcbi51ay1mb3JtLWRhbmdlcjpmb2N1cyB7XG4gICAgY29sb3I6ICRmb3JtLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWRhbmdlcigpO31cbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstZm9ybS1zdWNjZXNzLFxuLnVrLWZvcm0tc3VjY2Vzczpmb2N1cyAge1xuICAgIGNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBCbGFua1xuICovXG5cbi51ay1mb3JtLWJsYW5rIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWJsYW5rKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ibGFuaygpO31cbn1cblxuLnVrLWZvcm0tYmxhbms6Zm9jdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWJsYW5rLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ibGFuay1mb2N1cygpO31cbn1cblxuXG4vKiBXaWR0aCBtb2RpZmllcnMgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGaXhlZCB3aWR0aHNcbiAqIERpZmZlcmVudCB3aWR0aHMgZm9yIG1pbmkgc2l6ZWQgYGlucHV0YCBhbmQgYHNlbGVjdGAgZWxlbWVudHNcbiAqL1xuXG5pbnB1dC51ay1mb3JtLXdpZHRoLXhzbWFsbCB7IHdpZHRoOiAkZm9ybS13aWR0aC14c21hbGw7IH1cblxuc2VsZWN0LnVrLWZvcm0td2lkdGgteHNtYWxsIHsgd2lkdGg6ICgkZm9ybS13aWR0aC14c21hbGwgKyAyNXB4KTsgfVxuXG4udWstZm9ybS13aWR0aC1zbWFsbCB7IHdpZHRoOiAkZm9ybS13aWR0aC1zbWFsbDsgfVxuXG4udWstZm9ybS13aWR0aC1tZWRpdW0geyB3aWR0aDogJGZvcm0td2lkdGgtbWVkaXVtOyB9XG5cbi51ay1mb3JtLXdpZHRoLWxhcmdlIHsgd2lkdGg6ICRmb3JtLXdpZHRoLWxhcmdlOyB9XG5cblxuLyogU2VsZWN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHN0eWxlLiBBbHNvIHdvcmtzIGluIEZpcmVmb3hcbiAqIDIuIFN0eWxlXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBJRSAxMC8xMVxuICogNC4gU2V0IGBjb2xvcmAgZm9yIG9wdGlvbnMgaW4gdGhlIHNlbGVjdCBkcm9wZG93biwgYmVjYXVzZSB0aGUgaW5oZXJpdGVkIGBjb2xvcmAgbWlnaHQgYmUgdG9vIGxpZ2h0LlxuICovXG5cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tc2VsZWN0LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG59XG5cbi8qIDMgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOjotbXMtZXhwYW5kIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKiA0ICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSBvcHRpb24geyBjb2xvcjogJGZvcm0tc2VsZWN0LW9wdGlvbi1jb2xvcjsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTpkaXNhYmxlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXNlbGVjdC1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuXG5cbi8qIERhdGFsaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIENocm9tZVxuICovXG5cbiAudWstaW5wdXRbbGlzdF0ge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWRhdGFsaXN0LXBhZGRpbmctcmlnaHQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbn1cblxuLnVrLWlucHV0W2xpc3RdOmhvdmVyLFxuLnVrLWlucHV0W2xpc3RdOmZvY3VzIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tZGF0YWxpc3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yKTsgfVxuXG4vKiAxICovXG4udWstaW5wdXRbbGlzdF06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBSYWRpbyBhbmQgY2hlY2tib3hcbiAqIE5vdGU6IERvZXMgbm90IHdvcmsgaW4gSUUxMVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTdHlsZVxuICogMi4gTWFrZSBib3ggbW9yZSByb2J1c3Qgc28gaXQgY2xpcHMgdGhlIGNoaWxkIGVsZW1lbnRcbiAqIDMuIFZlcnRpY2FsIGFsaWdubWVudFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIEZpeCBibGFjayBiYWNrZ3JvdW5kIG9uIGlPU1xuICogNi4gQ2VudGVyIGljb25zXG4gKi9cblxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogJGZvcm0tcmFkaW8tc2l6ZTtcbiAgICB3aWR0aDogJGZvcm0tcmFkaW8tc2l6ZTtcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLXRvcDogJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8pKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvKCk7fVxufVxuXG4udWstcmFkaW8geyBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpmb2N1cyxcbi51ay1jaGVja2JveDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBDaGVja2VkXG4gKi9cblxuLnVrLXJhZGlvOmNoZWNrZWQsXG4udWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tY2hlY2tlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uc1xuICovXG5cbi51ay1yYWRpbzpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuXG4udWstcmFkaW86ZGlzYWJsZWQsXG4udWstY2hlY2tib3g6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCk7fVxufVxuXG4udWstcmFkaW86ZGlzYWJsZWQ6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpkaXNhYmxlZDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBMZWdlbmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGVnZW5kXG4gKiAxLiBCZWhhdmUgbGlrZSBibG9jayBlbGVtZW50XG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1sZWdlbmQge1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxlZ2VuZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tbGVnZW5kKCk7fVxufVxuXG5cbi8qIEN1c3RvbSBjb250cm9sc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gQmVoYXZlIGxpa2UgbW9zdCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAqL1xuXG4udWstZm9ybS1jdXN0b20ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKlxuICogMS4gUG9zaXRpb24gYW5kIHJlc2l6ZSB0aGUgZm9ybSBjb250cm9sIHRvIGFsd2F5cyBjb3ZlciBpdHMgY29udGFpbmVyXG4gKiAyLiBSZXF1aXJlZCBmb3IgRmlyZWZveCBmb3IgcG9zaXRpb25pbmcgdG8gdGhlIGxlZnRcbiAqIDMuIFJlcXVpcmVkIGZvciBXZWJraXQgdG8gbWFrZSBgaGVpZ2h0YCB3b3JrXG4gKiA0LiBIaWRlIGNvbnRyb2xlIGFuZCBzaG93IGN1cnNvclxuICogNS4gTmVlZGVkIGZvciB0aGUgY3Vyc29yXG4gKiA2LiBDbGlwIGhlaWdodCBjYXVzZWQgYnkgNS4gTmVlZGVkIGZvciBXZWJraXQgb25seVxuICovXG5cbi51ay1mb3JtLWN1c3RvbSBzZWxlY3QsXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBsZWZ0OiAwO1xuICAgIC8qIDMgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNCAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDUgKi9cbiAgICBmb250LXNpemU6IDUwMHB4O1xuICAgIC8qIDYgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWZvcm0tbGFiZWwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1sYWJlbCgpO31cbn1cblxuXG4vKiBMYXlvdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU3RhY2tlZFxuICovXG5cbi51ay1mb3JtLXN0YWNrZWQgLnVrLWZvcm0tbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCk7fVxufVxuXG4vKlxuICogSG9yaXpvbnRhbFxuICovXG5cbi8qIFRhYmxldCBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLyogQmVoYXZlIGxpa2UgYHVrLWZvcm0tc3RhY2tlZGAgKi9cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3RhY2tlZC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpO31cbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtd2lkdGg7XG4gICAgICAgIG1hcmdpbi10b3A6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKTt9XG4gICAgfVxuXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scyB7IG1hcmdpbi1sZWZ0OiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLW1hcmdpbi1sZWZ0OyB9XG5cbiAgICAvKiBCZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50IGlmIGNvbnRyb2xzIGFyZSBjaGVja2JveGVzIGFuZCByYWRpbyBidXR0b25zIHdpdGggdGV4dCAqL1xuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMtdGV4dCB7IHBhZGRpbmctdG9wOiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A7IH1cblxufVxuXG5cbi8qIEljb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2V0IHdpZHRoXG4gKiAzLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWZvcm0taWNvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAkZm9ybS1pY29uLXdpZHRoO1xuICAgIC8qIDMgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDQgKi9cbiAgICBjb2xvcjogJGZvcm0taWNvbi1jb2xvcjtcbn1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLWZvcm0taWNvbjpob3ZlciB7IGNvbG9yOiAkZm9ybS1pY29uLWhvdmVyLWNvbG9yOyB9XG5cbi8qXG4gKiBNYWtlIGBpbnB1dGAgZWxlbWVudCBjbGlja2FibGUgdGhyb3VnaCBpY29uLCBlLmcuIGlmIGl0J3MgYSBgc3BhbmBcbiAqL1xuXG4udWstZm9ybS1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIElucHV0IHBhZGRpbmdcbiAqL1xuXG4udWstZm9ybS1pY29uOm5vdCgudWstZm9ybS1pY29uLWZsaXApIH4gLnVrLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAkZm9ybS1pY29uLXdpZHRoICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cblxuLnVrLWZvcm0taWNvbi1mbGlwIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG4udWstZm9ybS1pY29uLWZsaXAgfiAudWstaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1pY29uLXdpZHRoICFpbXBvcnRhbnQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tYmxhbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWJsYW5rLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6ICAgZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0taWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0taWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKXt9XG4iLCIvL1xuLy8gQ29tcG9uZW50OiAgICAgICBNaXhpblxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZpbmVzIG1peGlucyB3aGljaCBhcmUgdXNlZCBhY3Jvc3MgYWxsIGNvbXBvbmVudHNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBTVkdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG5AbWl4aW4gc3ZnLWZpbGwoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpe1xuXG4gICAgJHJlcGxhY2Utc3JjOiBzdHItcmVwbGFjZSgkc3JjLCAkY29sb3ItZGVmYXVsdCwgJGNvbG9yLW5ldykgIWRlZmF1bHQ7XG4gICAgJHJlcGxhY2Utc3JjOiBzdHItcmVwbGFjZSgkcmVwbGFjZS1zcmMsIFwiI1wiLCBcIiUyM1wiKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwocXVvdGUoJHJlcGxhY2Utc3JjKSk7XG59IiwiLy8gTmFtZTogICAgICAgICAgICBCdXR0b25cbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBidXR0b25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYnV0dG9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWJ1dHRvbi1ncm91cGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1idXR0b24tZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1kYW5nZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tdGV4dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWxhcmdlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYnV0dG9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRidXR0b24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tdGV4dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbiRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCdXR0b25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIG1hcmdpbnMgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICogMi4gUmVtb3ZlIGJvcmRlcnMgZm9yIGBidXR0b25gLlxuICogMy4gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRS5cbiAqIDQuIENvcnJlY3QgYGZvbnRgIHByb3BlcnRpZXMgYW5kIGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBmb3IgYGJ1dHRvbmAuXG4gKiA1LiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDYuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGZvciBgaW5wdXQgdHlwZT1cInN1Ym1pdFwiYGluIGlPUy5cbiAqIDcuIFN0eWxlXG4gKiA4LiBgbGluZS1oZWlnaHRgIGlzIHVzZWQgdG8gY3JlYXRlIGEgaGVpZ2h0IGJlY2F1c2UgaXQgYWxzbyBjZW50ZXJzIHRoZSB0ZXh0IHZlcnRpY2FsbHkgZm9yIGBhYCBlbGVtZW50cy5cbiAqICAgIEJldHRlciB3b3VsZCBiZSB0byB1c2UgaGVpZ2h0IGFuZCBmbGV4Ym94IHRvIGNlbnRlciB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGJ1dCBmbGV4Ym94IGRvZXNuJ3Qgd29yayBpbiBGaXJlZm94IG9uIGBidXR0b25gIGVsZW1lbnRzLlxuICogOS4gQWxpZ24gdGV4dCBpZiBidXR0b24gaGFzIGEgd2lkdGhcbiAqIDEwLiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1idXR0b24ge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNCAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogNSAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC8qIDYgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA3ICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXNpemU7XG4gICAgLyogOCAqL1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxpbmUtaGVpZ2h0O1xuICAgIC8qIDkgKi9cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLyogMTAgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbigpO31cbn1cblxuLnVrLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1idXR0b246aG92ZXIge1xuICAgIC8qIDkgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1idXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1mb2N1cykpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1mb2N1cygpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbjphY3RpdmUsXG4udWstYnV0dG9uLnVrLWFjdGl2ZSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLWJ1dHRvbi1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4udWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsXG4udWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstYnV0dG9uLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnkoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tcHJpbWFyeTpob3Zlcixcbi51ay1idXR0b24tcHJpbWFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tcHJpbWFyeS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCk7fVxufVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLWJ1dHRvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsXG4udWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4udWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstYnV0dG9uLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRhbmdlcjpob3Zlcixcbi51ay1idXR0b24tZGFuZ2VyOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGFuZ2VyOmFjdGl2ZSxcbi51ay1idXR0b24tZGFuZ2VyLnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuICovXG5cbi51ay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZCxcbi51ay1idXR0b24tcHJpbWFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tc2Vjb25kYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1kYW5nZXI6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRpc2FibGVkKCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJ1dHRvbi1zbWFsbCB7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRidXR0b24tc21hbGwtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc21hbGwpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc21hbGwoKTt9XG59XG5cbi51ay1idXR0b24tbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWxhcmdlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWxhcmdlKCk7fVxufVxuXG5cbi8qIFRleHQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRleHRcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1idXR0b24tdGV4dCB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tdGV4dC1saW5lLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXRleHQ6aG92ZXIsXG4udWstYnV0dG9uLXRleHQ6Zm9jdXMge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG59XG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnV0dG9uLWxpbmsge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRidXR0b24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbGluaygpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1saW5rOmhvdmVyLFxuLnVrLWJ1dHRvbi1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogJGJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tbGluazpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLyogR3JvdXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gVXNpbmcgYGZsZXhgIGluc3RlYWQgb2YgYGlubGluZS1ibG9ja2AgdG8gcHJldmVudCB3aGl0ZXNwYWNlIGJldHdlZW50IGNoaWxkIGVsZW1lbnRzXG4gKiAyLiBCZWhhdmUgbGlrZSBidXR0b25cbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKi9cblxuLnVrLWJ1dHRvbi1ncm91cCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tbGluaygpe31cbiIsIi8vIEZ1bmN0aW9uc1xyXG5AZnVuY3Rpb24gdG9SZW0oJHNpemUpIHtcclxuICAgIEByZXR1cm4gJHNpemUgLyAkcm9vdC1mb250LXNpemUgKiAxcmVtO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gdG9FbSgkbWFyZ2luLCAkYmFzZUZvbnRTaXplKSB7XHJcbiAgICBAcmV0dXJuICRtYXJnaW4gLyAkYmFzZUZvbnRTaXplICogMWVtO1xyXG59XHJcbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29udGFpbmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBhbGlnbiBhbmQgY2VudGVyIHlvdXIgc2l0ZSBhbmQgZ3JpZCBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29udGFpbmVyYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWNvbnRhaW5lci1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1leHBhbmRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb250YWluZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOiAgICAgICAgICAgICA3NTBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDogICAgICAgICAgICAgIDE0MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXIteGxhcmdlLW1heC13aWR0aDogICAgICAgICAgICAgMTYwMHB4ICFkZWZhdWx0O1xuXG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBCb3ggc2l6aW5nIGhhcyB0byBiZSBgY29udGVudC1ib3hgIHNvIHRoZSBtYXgtd2lkdGggaXMgYWx3YXlzIHRoZSBzYW1lIGFuZFxuICogICAgdW5hZmZlY3RlZCBieSB0aGUgcGFkZGluZyBvbiBkaWZmZXJlbnQgYnJlYWtwb2ludHMuIEl0J3MgaW1wb3J0YW50IGZvciB0aGUgc2l6ZSBtb2RpZmllcnMuXG4gKi9cblxuLnVrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY29udGFpbmVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgcGFkZGluZyBmcm9tIG5lc3RlZCBjb250YWluZXJzXG4gKi9cblxuLnVrLWNvbnRhaW5lciAudWstY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6ICRjb250YWluZXIteHNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWxhcmdlIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLXhsYXJnZSB7IG1heC13aWR0aDogJGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXItZXhwYW5kIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cblxuLyogRXhwYW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEV4cGFuZCBvbmUgc2lkZSBvbmx5XG4gKi9cblxuLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4udWstY29udGFpbmVyLWV4cGFuZC1yaWdodCB7IG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci14c21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhzbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXN9KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXItc21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXN9KScpOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItc21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItc21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItbGFyZ2UsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLWxhcmdlIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteGxhcmdlLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14bGFyZ2UgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBVdGlsaXR5IGNsYXNzZXMgdG8gcmVzZXQgY29udGFpbmVyIHBhZGRpbmcgb24gdGhlIGxlZnQgb3IgcmlnaHQgc2lkZVxuICogTm90ZTogSXQgaGFzIHRvIGJlIG5lZ2F0aXZlIG1hcmdpbiBvbiB0aGUgaXRlbSwgYmVjYXVzZSBpdCdzIHNwZWNpZmljIHRvIHRoZSBpdGVtLlxuICovXG5cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWx9KScpIH1cblxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtc30pJykgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zKTsgfVxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zKTsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJykgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tKTsgfVxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tKTsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY29udGFpbmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb250YWluZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY29udGFpbmVyLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBDbG9zZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgY2xvc2UgYnV0dG9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2xvc2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2xvc2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ2xvc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1jbG9zZSB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1jbG9zZSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWNsb3NlOmhvdmVyLFxuLnVrLWNsb3NlOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2xvc2UtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWNsb3NlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jbG9zZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1jbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTcGlubmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBsb2FkaW5nIHNwaW5uZXJcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zcGlubmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzcGlubmVyLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc3Ryb2tlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kc3Bpbm5lci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3IoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpIC8gMikgIWRlZmF1bHQ7IC8vIE1pbnVzIHN0cm9rZSB3aWR0aCB0byBwcmV2ZW50IG92ZXJmbG93IGNsaXBwaW5nXG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiAgICAgICAgICAgICAgICAgICAgICAgICAgcm91bmQoMiAqIDMuMTQxICogJHNwaW5uZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRzcGlubmVyLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjRzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTcGlubmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstc3Bpbm5lciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNwaW5uZXIpKSB7QGluY2x1ZGUgaG9vay1zcGlubmVyKCk7fVxufVxuXG5cbi8qIFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zcGlubmVyID4gKiB7IGFuaW1hdGlvbjogdWstc3Bpbm5lci1yb3RhdGUgJHNwaW5uZXItZHVyYXRpb24gbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1yb3RhdGUge1xuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxufVxuXG4vKlxuICogQ2lyY2xlXG4gKi9cblxuLnVrLXNwaW5uZXIgPiAqID4gKiB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgYW5pbWF0aW9uOiB1ay1zcGlubmVyLWRhc2ggJHNwaW5uZXItZHVyYXRpb24gZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgc3Ryb2tlLXdpZHRoOiAkc3Bpbm5lci1zdHJva2Utd2lkdGg7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xufVxuXG5Aa2V5ZnJhbWVzIHVrLXNwaW5uZXItZGFzaCB7XG4gICAgMCUgeyBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTsgfVxuICAgIDUwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlLzQ7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlO1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDQ1MGRlZyk7XG4gICAgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNwaW5uZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXNwaW5uZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3Bpbm5lcigpe31cbi8vIEBtaXhpbiBob29rLXNwaW5uZXItbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTW9kYWxcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBtb2RhbCBkaWFsb2dzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbW9kYWxgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbW9kYWwtcGFnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWRpYWxvZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1mb290ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1vdXRzaWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2UtZnVsbGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1tb2RhbC1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1mdWxsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1vZGFsLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC42KSAhZGVmYXVsdDtcblxuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zOiAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRhaW5lci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgKCRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgKCRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEuMyAhZGVmYXVsdDtcblxuJG1vZGFsLWNsb3NlLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGU6ICAgICAgICAgICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1vZGFsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstbW9kYWwge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRtb2RhbC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogJG1vZGFsLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tb2RhbCB7IHBhZGRpbmc6ICRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXMgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstbW9kYWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1tb2RhbC51ay1vcGVuIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cblxuLnVrLW1vZGFsLXBhZ2UgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cblxuLyogRGlhbG9nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBzcGlubmVyIGFuZCBjbG9zZSBidXR0b25cbiAqIDIuIERpbWVuc2lvbnNcbiAqIDMuIEZpeCBgbWF4LXdpZHRoOiAxMDAlYCBub3Qgd29ya2luZyBpbiBjb21iaW5hdGlvbiB3aXRoIGZsZXggYW5kIHJlc3BvbnNpdmUgaW1hZ2VzIGluIElFMTFcbiAqICAgIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcndyaXRlIGB1ay13aWR0aC1hdXRvYC4gU2VlIGAjbW9kYWwtbWVkaWEtaW1hZ2VgIGluIHRlc3RzXG4gKiA0LiBTdHlsZVxuICogNS4gU2xpZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1tb2RhbC1kaWFsb2cge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6ICRtb2RhbC1kaWFsb2ctd2lkdGg7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gMC4wMXB4KScpICFpbXBvcnRhbnQ7XG4gICAgLyogNCAqL1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDtcbiAgICAvKiA1ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWRpYWxvZykpIHtAaW5jbHVkZSBob29rLW1vZGFsLWRpYWxvZygpO31cbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstb3BlbiA+IC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29udGFpbmVyIHNpemVcbiAqIFRha2UgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgQ29udGFpbmVyIGNvbXBvbmVudFxuICovXG5cbi51ay1tb2RhbC1jb250YWluZXIgLnVrLW1vZGFsLWRpYWxvZyB7IHdpZHRoOiAkbW9kYWwtY29udGFpbmVyLXdpZHRoOyB9XG5cbi8qXG4gKiBGdWxsIHNpemVcbiAqIDEuIFJlbW92ZSBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGZyb20gbW9kYWxcbiAqIDIuIFJlc2V0IGFsbCBkZWZhdWx0IGRlY2xhcmF0aW9ucyBmcm9tIG1vZGFsIGRpYWxvZ1xuICovXG5cbi8qIDEgKi9cbi51ay1tb2RhbC1mdWxsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qIDIgKi9cbi51ay1tb2RhbC1mdWxsIC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1mdWxsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZnVsbCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tb2RhbC1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1ib2R5KCk7fVxufVxuXG4udWstbW9kYWwtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtaGVhZGVyKCk7fVxufVxuXG4udWstbW9kYWwtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJG1vZGFsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1mb290ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZm9vdGVyKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLW1vZGFsLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1mb290ZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkbW9kYWwtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtdGl0bGUoKTt9XG59XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ10ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkbW9kYWwtei1pbmRleDtcbiAgICB0b3A6ICRtb2RhbC1jbG9zZS1wb3NpdGlvbjtcbiAgICByaWdodDogJG1vZGFsLWNsb3NlLXBvc2l0aW9uO1xuICAgIHBhZGRpbmc6ICRtb2RhbC1jbG9zZS1wYWRkaW5nO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXTpmaXJzdC1jaGlsZCArICogeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1ob3ZlcigpO31cbn1cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstbW9kYWwtY2xvc2UtZGVmYXVsdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCk7fVxufVxuXG4udWstbW9kYWwtY2xvc2UtZGVmYXVsdDpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4vKlxuICogT3V0c2lkZVxuICogMS4gUHJldmVudCBzY3JvbGxiYXIgb24gc21hbGwgZGV2aWNlc1xuICovXG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlIHtcbiAgICB0b3A6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uO1xuICAgIC8qIDEgKi9cbiAgICByaWdodDogKC0kbW9kYWwtY2xvc2UtcGFkZGluZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLSgkbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGUpKTtcbiAgICBjb2xvcjogJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLW91dHNpZGUpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKCk7fVxufVxuXG4udWstbW9kYWwtY2xvc2Utb3V0c2lkZTpob3ZlciB7XG4gICAgY29sb3I6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3ZlcigpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAvKiAxICovXG4gICAgLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgICAgICByaWdodDogJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb247XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSwgLSgkbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGUpKTtcbiAgICB9XG5cbn1cblxuLypcbiAqIEZ1bGxcbiAqL1xuXG4udWstbW9kYWwtY2xvc2UtZnVsbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWZ1bGwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1mdWxsKCk7fVxufVxuXG4udWstbW9kYWwtY2xvc2UtZnVsbDpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWRpYWxvZygpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWZ1bGwoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTGlnaHRib3hcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBsaWdodGJveCBpbWFnZSBnYWxsZXJ5XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlnaHRib3hgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbGlnaHRib3gtcGFnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWl0ZW1zYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtdG9vbGJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWJ1dHRvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWNhcHRpb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1pZnJhbWVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGlnaHRib3gtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAxMDB2dyAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxMDB2aCAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLDAuMykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1pY29uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC1idXR0b24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRsaWdodGJveC10b29sYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlnaHRib3hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICogNy4gUHJldmVudCBjYW5jZWxsYXRpb24gb2YgcG9pbnRlciBldmVudHMgd2hpbGUgZHJhZ2dpbmdcbiAqL1xuXG4udWstbGlnaHRib3gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRsaWdodGJveC16LWluZGV4O1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICAvKiA3ICovXG4gICAgdG91Y2gtYWN0aW9uOiBwaW5jaC16b29tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveCkpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94KCk7fVxufVxuXG4vKlxuICogT3BlblxuICogMS4gQ2VudGVyIGNoaWxkXG4gKiAyLiBGYWRlLWluXG4gKi9cblxuLnVrLWxpZ2h0Ym94LnVrLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBvcGFjaXR5OiAxO1xufVxuXG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cblxuLnVrLWxpZ2h0Ym94LXBhZ2UgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgY2hpbGQgd2l0aGluIHRoZSB2aWV3cG9ydFxuICogMi4gTm90IHZpc2libGUgYnkgZGVmYXVsdFxuICogMy4gQ29sb3IgbmVlZGVkIGZvciBzcGlubmVyIGljb25cbiAqIDQuIE9wdGltaXplIGFuaW1hdGlvblxuICogNS4gUmVzcG9uc2l2ZW5lc3NcbiAqICAgIFVzaW5nIGB2aGAgZm9yIGBtYXgtaGVpZ2h0YCB0byBmaXggaW1hZ2UgcHJvcG9ydGlvbnMgYWZ0ZXIgcmVzaXplIGluIFNhZmFyaSBhbmQgT3BlcmFcbiAqICAgIFVzaW5nIGB2aGAgYW5kIGB2d2AgdG8gbWFrZSByZXNwb25zaXZlIGltYWdlIHdvcmsgaW4gSUUxMVxuICogNi4gU3VwcHJlc3Mgb3V0bGluZSBvbiBmb2N1c1xuICovXG5cbi51ay1saWdodGJveC1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkbGlnaHRib3gtaXRlbS1jb2xvcjtcbiAgICAvKiA0ICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtaXRlbSkpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LWl0ZW0oKTt9XG59XG5cbi8qIDUgKi9cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiAqIHtcbiAgICBtYXgtd2lkdGg6ICRsaWdodGJveC1pdGVtLW1heC13aWR0aDtcbiAgICBtYXgtaGVpZ2h0OiAkbGlnaHRib3gtaXRlbS1tYXgtaGVpZ2h0O1xufVxuXG4vKiA2ICovXG4udWstbGlnaHRib3gtaXRlbXMgPiA6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiA6bm90KGlmcmFtZSkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gLnVrLWFjdGl2ZSB7IGRpc3BsYXk6IGZsZXg7IH1cblxuLyogVG9vbGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC10b29sYmFyIHtcbiAgICBwYWRkaW5nOiAkbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsICRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhcikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKTt9XG59XG5cbi51ay1saWdodGJveC10b29sYmFyID4gKiB7IGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1jb2xvcjsgfVxuXG5cbi8qIFRvb2xiYXIgSWNvbiAoQ2xvc2UpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbiB7XG4gICAgcGFkZGluZzogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1wYWRkaW5nO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyLWljb24pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyLWljb24oKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay1saWdodGJveC10b29sYmFyLWljb246aG92ZXIge1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKTt9XG59XG5cblxuXG4vKiBCdXR0b24gKFNsaWRlbmF2KVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstbGlnaHRib3gtYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbGlnaHRib3gtYnV0dG9uLXNpemU7XG4gICAgaGVpZ2h0OiAkbGlnaHRib3gtYnV0dG9uLXNpemU7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtYnV0dG9uLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1idXR0b24oKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay1saWdodGJveC1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAkbGlnaHRib3gtYnV0dG9uLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKTt9XG59XG5cblxuLyogQ2FwdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC1jYXB0aW9uIHt9XG4udWstbGlnaHRib3gtY2FwdGlvbjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiBJZnJhbWVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtaWZyYW1lIHtcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogODAlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saWdodGJveCgpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTm90aWZpY2F0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbm90aWZpY2F0aW9uIG1lc3NhZ2VzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbm90aWZpY2F0aW9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1ub3RpZmljYXRpb24tdG9wLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgNDAgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tY2xvc2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5vdGlmaWNhdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIERpbWVuc2lvbnNcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICBsZWZ0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgIHotaW5kZXg6ICRub3RpZmljYXRpb24tei1pbmRleDtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG5vdGlmaWNhdGlvbi13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uKCk7fVxufVxuXG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbn1cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyLFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6ICgkbm90aWZpY2F0aW9uLXdpZHRoIC8gLTIpO1xufVxuXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1sZWZ0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206ICRub3RpZmljYXRpb24tcG9zaXRpb247XG59XG5cblxuLyogUmVzcG9uc2l2ZW5lc3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFBob25lcyBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay1ub3RpZmljYXRpb24ge1xuICAgICAgICBsZWZ0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgICAgICByaWdodDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbn1cblxuXG4vKiBNZXNzYWdlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpO31cbn1cblxuKiArIC51ay1ub3RpZmljYXRpb24tbWVzc2FnZSB7IG1hcmdpbi10b3A6ICRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wOyB9XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkbm90aWZpY2F0aW9uLWNsb3NlLXRvcDtcbiAgICByaWdodDogJG5vdGlmaWNhdGlvbi1jbG9zZS1yaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCk7fVxufVxuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2U6aG92ZXIgLnVrLW5vdGlmaWNhdGlvbi1jbG9zZSB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcyB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcygpO31cbn1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZyB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQW5pbWF0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3Iga2V5ZnJhbWUgYW5pbWF0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFuaW1hdGlvbi0qYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWFuaW1hdGlvbi1mYWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNjYWxlLXVwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNjYWxlLWRvd25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24ta2VuYnVybnNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2hha2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc3Ryb2tlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXJldmVyc2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tZmFzdGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hbmltYXRpb24tdG9nZ2xlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAwLjhzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zdHJva2UtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgIDJzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgIDE1cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAwLjFzICFkZWZhdWx0O1xuXG4kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbmltYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1hbmltYXRpb24tJ10ge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG5cbi8qIEFuaW1hdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRmFkZVxuICovXG5cbi51ay1hbmltYXRpb24tZmFkZSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGU7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWZhZGUtZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuXG4vKlxuICogU2NhbGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNjYWxlLXVwIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMDI7IH1cbi51ay1hbmltYXRpb24tc2NhbGUtZG93biB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTE4OyB9XG5cbi8qXG4gKiBTbGlkZVxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0IHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0OyB9XG5cbi8qXG4gKiBTbGlkZSBTbWFsbFxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLXNtYWxsOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LXNtYWxsOyB9XG5cbi8qXG4gKiBTbGlkZSBNZWRpdW1cbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1tZWRpdW0geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3AtbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1tZWRpdW07IH1cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtbWVkaXVtOyB9XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG5cbi51ay1hbmltYXRpb24ta2VuYnVybnMge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1zY2FsZS1rZW5idXJucztcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb247XG59XG5cbi8qXG4gKiBTaGFrZVxuICovXG5cbi51ay1hbmltYXRpb24tc2hha2UgeyBhbmltYXRpb24tbmFtZTogdWstc2hha2U7IH1cblxuLypcbiAqIFNWRyBTdHJva2VcbiAqIFRoZSBgLS11ay1hbmltYXRpb24tc3Ryb2tlYCBjdXN0b20gcHJvcGVydHkgY29udGFpbnMgdGhlIGxvbmdlc3QgcGF0aCBsZW5ndGguXG4gKiBTZXQgaXQgbWFudWFsbHkgb3IgdXNlIGB1ay1zdmc9XCJzdHJva2UtYW5pbWF0aW9uOiB0cnVlXCJgIHRvIHNldCBpdCBhdXRvbWF0aWNhbGx5LlxuICogQWxsIHN0cm9rZXMgYXJlIGFuaW1hdGVkIGJ5IHRoZSBzYW1lIHBhY2UgYW5kIGRvZXNuJ3QgZW5kIHNpbXVsdGFuZW91c2x5LlxuICogVG8gZW5kIHNpbXVsdGFuZW91c2x5LCBgcGF0aExlbmd0aD1cIjFcImAgY291bGQgYmUgdXNlZCwgYnV0IGl0J3Mgbm90IHdvcmtpbmcgaW4gU2FmYXJpIHlldC5cbiAqL1xuXG4udWstYW5pbWF0aW9uLXN0cm9rZSB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLXN0cm9rZTtcbiAgICBzdHJva2UtZGFzaGFycmF5OiB2YXIoLS11ay1hbmltYXRpb24tc3Ryb2tlKTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tc3Ryb2tlLWR1cmF0aW9uO1xufVxuXG5cbi8qIERpcmVjdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAudWstYW5pbWF0aW9uLXJldmVyc2Uge1xuICAgIGFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuXG4vKiBEdXJhdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAudWstYW5pbWF0aW9uLWZhc3QgeyBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjsgfVxuXG5cbi8qIFRvZ2dsZSAoSG92ZXIgKyBGb2N1cylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUaGUgdG9nZ2xlIGlzIHRyaWdnZXJlZCBvbiB0b3VjaCBkZXZpY2VzIHVzaW5nIGA6Zm9jdXNgIGFuZCB0YWJpbmRleFxuICovXG5cbi51ay1hbmltYXRpb24tdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIFtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7IGFuaW1hdGlvbi1uYW1lOiBub25lOyB9XG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay1hbmltYXRpb24tdG9nZ2xlIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIFJlbW92ZSBvdXRsaW5lIGZvciBgdGFiaW5kZXhgXG4gKi9cblxuLnVrLWFuaW1hdGlvbi10b2dnbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cblxuLyogS2V5ZnJhbWVzIHVzZWQgYnkgYW5pbWF0aW9uIGNsYXNzZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRmFkZVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZSB7XG4gICAgMCUgeyBvcGFjaXR5OiAwOyB9XG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3Age1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBCb3R0b21cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBMZWZ0XG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgVG9wIFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBCb3R0b20gU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdCBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0LXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFJpZ2h0IFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgVG9wIE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3AtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBCb3R0b20gTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdCBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFJpZ2h0IE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2NhbGUgVXBcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMDIge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTY2FsZSBEb3duXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTE4IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS44KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLXNjYWxlLWtlbmJ1cm5zIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG59XG5cbi8qXG4gKiBTaGFrZVxuICovXG5cbkBrZXlmcmFtZXMgdWstc2hha2Uge1xuICAgIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gICAgMTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC05cHgpOyB9XG4gICAgMjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cbiAgICAzMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTdweCk7IH1cbiAgICA0MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNnB4KTsgfVxuICAgIDUwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNXB4KTsgfVxuICAgIDYwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpOyB9XG4gICAgNzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpOyB9XG4gICAgODAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCk7IH1cbiAgICA5MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTFweCk7IH1cbn1cblxuLypcbiAqIFN0cm9rZVxuICovXG5cbiBAa2V5ZnJhbWVzIHVrLXN0cm9rZSB7XG4gICAgMCUgeyBzdHJva2UtZGFzaG9mZnNldDogdmFyKC0tdWstYW5pbWF0aW9uLXN0cm9rZSk7IH1cbiAgICAxMDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7IH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hbmltYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWFuaW1hdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbmltYXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGV4dFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRleHRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10ZXh0LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRleHQtbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGVhZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtZW1waGFzaXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxlYWQge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICR0ZXh0LWxlYWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLXRleHQtbGVhZCgpO31cbn1cblxuLnVrLXRleHQtbWV0YSB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1tZXRhLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbWV0YS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbWV0YS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1tZXRhKSkge0BpbmNsdWRlIGhvb2stdGV4dC1tZXRhKCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1zbWFsbC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1zbWFsbCkpIHtAaW5jbHVkZSBob29rLXRleHQtc21hbGwoKTt9XG59XG5cbi51ay10ZXh0LWxhcmdlIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay10ZXh0LWxhcmdlKCk7fVxufVxuXG4udWstdGV4dC1kZWZhdWx0IHtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8qIFdlaWdodCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxpZ2h0IHsgZm9udC13ZWlnaHQ6IDMwMDsgfVxuLnVrLXRleHQtbm9ybWFsIHsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuLnVrLXRleHQtYm9sZCB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiBcbi51ay10ZXh0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogbGlnaHRlcjsgfVxuLnVrLXRleHQtYm9sZGVyIHsgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4gXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4udWstdGV4dC1pdGFsaWMgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuXG4vKiBUcmFuc2Zvcm0gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtdXBwZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1sb3dlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZC1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1lbXBoYXNpcyB7IGNvbG9yOiAkdGV4dC1lbXBoYXNpcy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtc2Vjb25kYXJ5IHsgY29sb3I6ICR0ZXh0LXNlY29uZGFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1zdWNjZXNzIHsgY29sb3I6ICR0ZXh0LXN1Y2Nlc3MtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtd2FybmluZyB7IGNvbG9yOiAkdGV4dC13YXJuaW5nLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWRhbmdlciB7IGNvbG9yOiAkdGV4dC1kYW5nZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG5cbi8qIEJhY2tncm91bmQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gVGhlIGJhY2tncm91bmQgY2xpcHMgdG8gdGhlIGZvcmVncm91bmQgdGV4dC4gV29ya3MgaW4gQ2hyb21lLCBGaXJlZm94LCBTYWZhcmksIEVkZ2UgYW5kIE9wZXJhXG4gKiAgICBEZWZhdWx0IGNvbG9yIGlzIHNldCB0byB0cmFuc3BhcmVudFxuICogMi4gQ29udGFpbmVyIGZpdHMgdGhlIHRleHRcbiAqIDMuIEZhbGxiYWNrIGNvbG9yIGZvciBJRTExXG4gKi9cblxuLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbkBzdXBwb3J0cyAoLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQpIHtcblxuICAgIC51ay10ZXh0LWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtYmFja2dyb3VuZCkpIHtAaW5jbHVkZSBob29rLXRleHQtYmFja2dyb3VuZCgpO31cbiAgICB9XG5cbn1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAcyB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAcyB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBzIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBtIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBtIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQG0geyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAbCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAbCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBsIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQHhsIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEB4bCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEB4bCB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLypcbiAqIFZlcnRpY2FsXG4gKi9cblxuLnVrLXRleHQtdG9wIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1taWRkbGUgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLnVrLXRleHQtYmFzZWxpbmUgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFdyYXAgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXNcbiAqL1xuXG4udWstdGV4dC1ub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qXG4gKiAxLiBNYWtlIHN1cmUgYSBtYXgtd2lkdGggaXMgc2V0IGFmdGVyIHdoaWNoIHRydW5jYXRpb24gY2FuIG9jY3VyXG4gKiAyLiBQcmV2ZW50IHRleHQgZnJvbSB3cmFwcGluZyBvbnRvIG11bHRpcGxlIGxpbmVzLCBhbmQgdHJ1bmNhdGUgd2l0aCBhbiBlbGxpcHNpc1xuICogMy4gRml4IGZvciB0YWJsZSBjZWxsc1xuICovXG5cbi51ay10ZXh0LXRydW5jYXRlIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIDIgKi9cbnRoLnVrLXRleHQtdHJ1bmNhdGUsXG50ZC51ay10ZXh0LXRydW5jYXRlIHsgbWF4LXdpZHRoOiAwOyB9XG5cblxuLypcbiAqIDEuIFdyYXAgbG9uZyB3b3JkcyBvbnRvIHRoZSBuZXh0IGxpbmUgYW5kIGJyZWFrIHRoZW0gaWYgdGhleSBhcmUgdG9vIGxvbmcgdG8gZml0XG4gKiAyLiBMZWdhY3kgYHdvcmQtd3JhcGAgYXMgZmFsbGJhY2sgZm9yIGBvdmVyZmxvdy13cmFwYFxuICogMy4gRml4IGBvdmVyZmxvdy13cmFwYCB3aGljaCBkb2Vzbid0IHdvcmsgd2l0aCB0YWJsZSBjZWxscyBpbiBDaHJvbWUsIE9wZXJhLCBJRTExIGFuZCBFZGdlXG4gKiAgICBNdXN0IHVzZSBgYnJlYWstYWxsYCB0byBzdXBwb3J0IElFMTEgYW5kIEVkZ2VcbiAqIE5vdGU6IE5vdCB1c2luZyBgaHlwaGVuczogYXV0bztgIGJlY2F1c2UgaXQgaHlwaGVuYXRlcyB0ZXh0IGV2ZW4gaWYgbm90IG5lZWRlZFxuICovXG5cbi51ay10ZXh0LWJyZWFrIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAvKiAyICovXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKiAzICovXG50aC51ay10ZXh0LWJyZWFrLFxudGQudWstdGV4dC1icmVhayB7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1taXNjKSkge0BpbmNsdWRlIGhvb2stdGV4dC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10ZXh0LWxlYWQoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtYmFja2dyb3VuZCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGbGV4XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgbGF5b3V0cyBiYXNlZCBvbiBmbGV4Ym94XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZmxleC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGbGV4XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWZsZXggeyBkaXNwbGF5OiBmbGV4OyB9XG4udWstZmxleC1pbmxpbmUgeyBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuXG4vKlxuICogUmVtb3ZlIHBzZXVkbyBlbGVtZW50cyBjcmVhdGVkIGJ5IG1pY3JvIGNsZWFyZml4IGFzIHByZWNhdXRpb25cbiAqL1xuXG4udWstZmxleDo6YmVmb3JlLFxuLnVrLWZsZXg6OmFmdGVyLFxuLnVrLWZsZXgtaW5saW5lOjpiZWZvcmUsXG4udWstZmxleC1pbmxpbmU6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIEFsaWdubWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBbGlnbiBpdGVtcyBhbG9uZyB0aGUgbWFpbiBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IEhvcml6b250YWxcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1sZWZ0IHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC1jZW50ZXIgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuLnVrLWZsZXgtcmlnaHQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4udWstZmxleC1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4udWstZmxleC1hcm91bmQgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBzIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAcyB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBzIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBzIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAcyB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAbSB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAbSB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAbSB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAbCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAbCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAbCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEB4bCB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEB4bCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEB4bCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLypcbiAqIEFsaWduIGl0ZW1zIGluIHRoZSBjcm9zcyBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IFZlcnRpY2FsXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtc3RyZXRjaCB7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4udWstZmxleC10b3AgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuLnVrLWZsZXgtbWlkZGxlIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLnVrLWZsZXgtYm90dG9tIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cblxuLyogRGlyZWN0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtcm93IHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuLnVrLWZsZXgtcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbi51ay1mbGV4LWNvbHVtbiB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbi51ay1mbGV4LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cblxuLyogV3JhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LW5vd3JhcCB7IGZsZXgtd3JhcDogbm93cmFwOyB9XG4udWstZmxleC13cmFwIHsgZmxleC13cmFwOiB3cmFwOyB9XG4udWstZmxleC13cmFwLXJldmVyc2UgeyBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTsgfVxuXG4vKlxuICogQWxpZ25zIGl0ZW1zIHdpdGhpbiB0aGUgZmxleCBjb250YWluZXIgd2hlbiB0aGVyZSBpcyBleHRyYSBzcGFjZSBpbiB0aGUgY3Jvc3MtYXhpc1xuICogT25seSB3b3JrcyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGxpbmUgb2YgZmxleCBpdGVtc1xuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LXdyYXAtc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7IH1cbi51ay1mbGV4LXdyYXAtdG9wIHsgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuLnVrLWZsZXgtd3JhcC1taWRkbGUgeyBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cbi51ay1mbGV4LXdyYXAtYm90dG9tIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQ7IH1cbi51ay1mbGV4LXdyYXAtYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi51ay1mbGV4LXdyYXAtYXJvdW5kIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cblxuLyogSXRlbSBvcmRlcmluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0IGlzIDBcbiAqL1xuXG4udWstZmxleC1maXJzdCB7IG9yZGVyOiAtMTt9XG4udWstZmxleC1sYXN0IHsgb3JkZXI6IDk5O31cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQHMgeyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAcyB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBtIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQG0geyBvcmRlcjogOTk7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEBsIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQGwgeyBvcmRlcjogOTk7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtZmlyc3RcXEB4bCB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEB4bCB7IG9yZGVyOiA5OTsgfVxuXG59XG5cblxuLyogSXRlbSBkaW1lbnNpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEluaXRpYWw6IDAgMSBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzXG4gKi9cblxuLypcbiAqIE5vIEZsZXg6IDAgMCBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnNcbiAqL1xuXG4udWstZmxleC1ub25lIHsgZmxleDogbm9uZTsgfVxuXG4vKlxuICogUmVsYXRpdmUgRmxleDogMSAxIGF1dG9cbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBjb25zaWRlcmluZyBjb250ZW50XG4gKi9cblxuLnVrLWZsZXgtYXV0byB7IGZsZXg6IGF1dG87IH1cblxuLypcbiAqIEFic29sdXRlIEZsZXg6IDEgMSAwJVxuICogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBmbGV4XG4gKi9cblxuLnVrLWZsZXgtMSB7IGZsZXg6IDE7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mbGV4LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mbGV4LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZsZXgtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIE1hcmdpblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIG1hcmdpbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tYXJnaW4tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1zbWFsbC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLW1lZGl1bS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLWxhcmdlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4teGxhcmdlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tcmVtb3ZlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tYXV0by0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtYXJnaW4tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbWVkaXVtLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuXG4kbWFyZ2luLWxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4teGxhcmdlLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFyZ2luXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstbWFyZ2luIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIE1lZGl1bVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tbWVkaXVtIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDsgfVxuICAgICogKyAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbWFyZ2luLWxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogWExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOyB9XG4gICAgKiArIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogQXV0b1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1hdXRvLXRvcCB7IG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWxlZnQgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQHMge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQHMgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAcyB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEBtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBtIHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQG0geyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEBsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBsIHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQGwgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEB4bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAeGwgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAeGwgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuIC51ay1tYXJnaW4tcmVtb3ZlIHsgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS10b3AgeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiBcbiAudWstbWFyZ2luLXJlbW92ZS12ZXJ0aWNhbCB7XG4gICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuIH1cbiBcbiAudWstbWFyZ2luLXJlbW92ZS1hZGphY2VudCArICosXG4gLnVrLW1hcmdpbi1yZW1vdmUtZmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbiAudWstbWFyZ2luLXJlbW92ZS1sYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQHMgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBzIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEBtIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAbSB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEBsIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAbCB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEB4bCB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQHhsIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbWFyZ2luLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1tYXJnaW4tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbWFyZ2luLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBvc2l0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBwb3NpdGlvbiBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcG9zaXRpb24tYWJzb2x1dGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1yZWxhdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXotaW5kZXhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3BgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNvdmVyYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXBvc2l0aW9uLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogRGlyZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cgaWYgYG1heC13aWR0aDogMTAwJWAgaXMgdXNlZCBpbnNpZGUgcG9zaXRpb24gY29udGFpbmVyLlxuICovXG5cbltjbGFzcyo9J3VrLXBvc2l0aW9uLXRvcCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tYm90dG9tJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1yaWdodCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyJ10ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cblxuLyogRWRnZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEb24ndCB1c2UgYHdpZHRoOiAxMDAlYCBiZWNhdXNlIGl0IGlzIHdyb25nIGlmIHRoZSBwYXJlbnQgaGFzIHBhZGRpbmcuICovXG4udWstcG9zaXRpb24tdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1sZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbn1cblxuXG4vKiBDb3JuZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLXRvcC1sZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLWxlZnQge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi8qXG4gKiBDZW50ZXJcbiAqIDEuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIGNvbnRlbnQgaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBjb250YWluZXIuXG4gKi9cblxuLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogVmVydGljYWwgKi9cbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQgeyBsZWZ0OiAwOyB9XG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHsgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0LW91dCB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0LW91dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIgeyB0b3A6IDA7IH1cbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgYm90dG9tOiAwOyB9XG5cblxuLyogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tY292ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cblxuLyogVXRpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi1yZWxhdGl2ZSB7IHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1hYnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1maXhlZCB7IHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi16LWluZGV4IHsgei1pbmRleDogMTsgfVxuXG5cbi8qIE1hcmdpbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1wb3NpdGlvbi1zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAoI3skcG9zaXRpb24tc21hbGwtbWFyZ2lufSAqIDIpKScpO1xuICAgIG1hcmdpbjogJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjtcbn1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbiwgKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbik7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi51ay1wb3NpdGlvbi1tZWRpdW0ge1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gKCN7JHBvc2l0aW9uLW1lZGl1bS1tYXJnaW59ICogMikpJyk7XG4gICAgbWFyZ2luOiAkcG9zaXRpb24tbWVkaXVtLW1hcmdpbjtcbn1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luLCAoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tbWVkaXVtW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbik7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtICgjeyRwb3NpdGlvbi1sYXJnZS1tYXJnaW59ICogMikpJyk7XG4gICAgbWFyZ2luOiAkcG9zaXRpb24tbGFyZ2UtbWFyZ2luO1xufVxuXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLCAoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4pKTsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbik7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luKTsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAoI3skcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWx9ICogMikpJyk7XG4gICAgICAgIG1hcmdpbjogJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sO1xuICAgIH1cblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCwgKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpKTsgfVxuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbiAgICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpOyB9XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wb3NpdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stcG9zaXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcG9zaXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVHJhbnNpdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRyYW5zaXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdHJhbnNpdGlvbi0qYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRyYW5zaXRpb24tZmFkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2NhbGUtdXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNjYWxlLWRvd25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1vcGFxdWVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsb3dgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstdHJhbnNpdGlvbi10b2dnbGVgLFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1hY3RpdmVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjNzICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zY2FsZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6ICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6ICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgMC43cyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVHJhbnNpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogVG9nZ2xlIChIb3ZlciArIEZvY3VzKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuXG4vKiBUcmFuc2l0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUaGUgdG9nZ2xlIGlzIHRyaWdnZXJlZCBvbiB0b3VjaCBkZXZpY2VzIGJ5IHR3byBtZXRob2RzOlxuICogMS4gVXNpbmcgYDpmb2N1c2AgYW5kIHRhYmluZGV4XG4gKiAyLiBVc2luZyBgOmhvdmVyYCBhbmQgYSBgdG91Y2hzdGFydGAgZXZlbnQgbGlzdGVuZXIgcmVnaXN0ZXJlZCBvbiB0aGUgZG9jdW1lbnRcbiAqICAgIChEb2Vzbid0IHdvcmsgb24gU3VyZmFjZSB0b3VjaCBkZXZpY2VzKVxuICpcbiAqIE5vdGU6IFRyYW5zaXRpb25zIGRvbid0IHdvcmsgd2l0aCBgdWstcG9zdGlvbi1jZW50ZXItKmAgY2xhc3NlcyBiZWNhdXNlIHRoZXkgYWxzbyB1c2UgYHRyYW5zZm9ybWAsXG4gKiAgICAgICB0aGVyZWZvcmUgaXQncyByZWNvbW1lbmRlZCB0byB1c2UgYW4gZXh0cmEgYGRpdmAgZm9yIHRoZSB0cmFuc2l0aW9uLlxuICovXG5cbi51ay10cmFuc2l0aW9uLWZhZGUsXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNjYWxlJ10sXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybSwgZmlsdGVyO1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLWZhZGUsXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tZmFkZSxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tZmFkZSB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIFNjYWxlXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSk7IH1cbi51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24geyB0cmFuc2Zvcm06IHNjYWxlKCR0cmFuc2l0aW9uLXNjYWxlLCR0cmFuc2l0aW9uLXNjYWxlKTsgfVxuXG4vKiBTaG93ICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoJHRyYW5zaXRpb24tc2NhbGUsJHRyYW5zaXRpb24tc2NhbGUpO1xufVxuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwxKTtcbn1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3AtbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApO1xufVxuXG5cbi8qIE9wYWNpdHkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNpdGlvbi1vcGFxdWUgeyBvcGFjaXR5OiAxOyB9XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zaXRpb24tc2xvdyB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb247IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10cmFuc2l0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10cmFuc2l0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRyYW5zaXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUHJpbnRcbi8vIERlc2NyaXB0aW9uOiAgICAgT3B0aW1pemUgcGFnZSBmb3IgcHJpbnRpbmdcbi8vXG4vLyBBZGFwdGVkIGZyb20gaHR0cDovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZVxuLy9cbi8vIE1vZGlmaWNhdGlvbnM6ICAgUmVtb3ZlZCBsaW5rIGBocmVmYCBhbmQgYHRpdGxlYCByZWxhdGVkIHJ1bGVzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByaW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHByaW50IHtcblxuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByaW50KSkge0BpbmNsdWRlIGhvb2stcHJpbnQoKTt9XG5cbn1cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1wcmludCgpe31cbiIsIi8vIEZvbnQgd2VpZ2h0LCBjb2xvciBhcmUgc2V0IGluIHZhcmlhYmxlcy10aGVtZVxyXG4lX2hlYWRpbmctYmFzZSB7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWhlYWRpbmc7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4laGVhZGluZy1wYWdlIHtcclxuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tYW5yb3BlO1xyXG4gICAgZm9udC1zaXplOiB0b1JlbSgkZm9udC1zaXplLWhlYWRpbmctcGFnZSk7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XHJcbiAgICBsaW5lLWhlaWdodDogMi4xNTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbiVoZWFkaW5nLXhzbWFsbCB7XHJcbiAgICBAZXh0ZW5kICVfaGVhZGluZy1iYXNlICFvcHRpb25hbDtcclxuXHJcbiAgICBmb250LXNpemU6IHRvUmVtKCRmb250LXNpemUtaGVhZGluZy14c21hbGwpO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKCRmb250LXNpemUtaGVhZGluZy14c21hbGwgLSAyKTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKCRmb250LXNpemUtaGVhZGluZy14c21hbGwgLSA0KTtcclxuICAgIH1cclxufVxyXG5cclxuJWhlYWRpbmctc21hbGwge1xyXG4gICAgQGV4dGVuZCAlX2hlYWRpbmctYmFzZSAhb3B0aW9uYWw7XHJcblxyXG4gICAgZm9udC1zaXplOiB0b1JlbSgkZm9udC1zaXplLWhlYWRpbmctc21hbGwpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbn1cclxuXHJcbiVoZWFkaW5nLXNlbWktc21hbGwge1xyXG4gICAgQGV4dGVuZCAlX2hlYWRpbmctYmFzZSAhb3B0aW9uYWw7XHJcblxyXG4gICAgZm9udC1zaXplOiB0b1JlbSgkZm9udC1zaXplLWhlYWRpbmctc2VtaS1zbWFsbCk7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcclxufVxyXG5cclxuJWhlYWRpbmctc21hbGwtd2l0aC1kZWNyZWFzZSB7XHJcbiAgICBAZXh0ZW5kICVoZWFkaW5nLXNtYWxsO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMjBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMThweCk7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNnB4KTtcclxuICAgIH1cclxufVxyXG5cclxuJWhlYWRpbmctbWVkaXVtIHtcclxuICAgIEBleHRlbmQgJV9oZWFkaW5nLWJhc2UgIW9wdGlvbmFsO1xyXG5cclxuICAgIGZvbnQtc2l6ZTogdG9SZW0oJGZvbnQtc2l6ZS1oZWFkaW5nLW1lZGl1bSk7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xMTc2NTtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgzNnB4KTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDM0cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDMycHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMzBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiVoZWFkaW5nLWxhcmdlIHtcclxuICAgIEBleHRlbmQgJV9oZWFkaW5nLWJhc2UgIW9wdGlvbmFsO1xyXG5cclxuICAgIGxpbmUtaGVpZ2h0OiAwLjg2NTtcclxuICAgIGZvbnQtc2l6ZTogdG9SZW0oJGZvbnQtc2l6ZS1oZWFkaW5nLWxhcmdlKTtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSg0NnB4KTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDQ0cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDQwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMzhweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiVoZWFkaW5nLXhsYXJnZSB7XHJcbiAgICBAZXh0ZW5kICVfaGVhZGluZy1iYXNlICFvcHRpb25hbDtcclxuXHJcbiAgICBmb250LXNpemU6IHRvUmVtKCRmb250LXNpemUtaGVhZGluZy14bGFyZ2UpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDAuOTE2NjtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSg1NXB4KTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDUwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDQ1cHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oNDBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiVoZWFkaW5nLXdpdGgtaGlnaGxpZ2h0IHtcclxuICAgIHN0cm9uZyB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICB9XHJcbn1cclxuIiwiJXRleHQteGxhcmdlIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogdG9SZW0oMjJweCk7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xODI7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgyMHB4KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxOHB4KTtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE2cHgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4ldGV4dC1sYXJnZSB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlbjtcclxuICAgIGZvbnQtc2l6ZTogdG9SZW0oMThweCk7XHJcbiAgICBsaW5lLWhlaWdodDogMS43Nzc7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTZweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE0cHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg1NTtcclxuICAgIH1cclxufVxyXG5cclxuJXRleHQtc21hbGwge1xyXG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZW47XHJcbiAgICBmb250LXNpemU6IHRvUmVtKDE0cHgpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMjg1O1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTJweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIH1cclxufVxyXG4iLCIuVGhlQ29udGVudCB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlbjtcclxuICAgIGZvbnQtc2l6ZTogdG9SZW0oMThweCk7XHJcbiAgICBsaW5lLWhlaWdodDogMS43Nzc3O1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTZweCk7XHJcbiAgICB9XHJcblxyXG4gICAgPiAqIHtcclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgxIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLW1lZGl1bTtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1zbWFsbDtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDY0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQ4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmcteHNtYWxsO1xyXG5cclxuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRleHQtZGVjb3JhdGlvbi1jb2xvciAwLjJzIGVhc2Utb3V0O1xyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcgKyBpbWcge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDE2cHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdWwsXHJcbiAgICBvbCB7XHJcbiAgICAgICAgQGV4dGVuZCAlY29udGVudC1saXN0ICFvcHRpb25hbDtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVjb250ZW50LWxpc3QtaXRlbSAhb3B0aW9uYWw7XHJcblxyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI5cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgICAtLXVub3JkZXJlZC1saXN0LWJ1bGxldC1jb2xvcjogI3skY29sb3ItYWNjZW50LWRlZmF1bHR9O1xyXG4gICAgICAgIC0tdW5vcmRlcmVkLWxpc3QtYnVsbGV0LWJvcmRlci1jb2xvcjogI3skY29sb3ItYWNjZW50LWRlZmF1bHR9O1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS11bm9yZGVyZWQtbGlzdC1idWxsZXQtY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tdW5vcmRlcmVkLWxpc3QtYnVsbGV0LWJvcmRlci1jb2xvcik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgc2l6ZTogOXB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxMnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIC0tdW5vcmRlcmVkLWxpc3QtYnVsbGV0LWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgIC0tdW5vcmRlcmVkLWxpc3QtYnVsbGV0LWJvcmRlci1jb2xvcjogI3skY29sb3ItYWNjZW50LWRlZmF1bHR9O1xyXG5cclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9sIHtcclxuICAgICAgICBjb3VudGVyLXJlc2V0OiBsaXN0LWNvdW50ZXI7XHJcblxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGxpc3QtY291bnRlcjtcclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIobGlzdC1jb3VudGVyKSBcIi5cIjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBzdHJvbmcsXHJcbiAgICBiIHtcclxuICAgICAgICBjb2xvcjogaW5oZXJpdDtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlc3BvbnNpdmVFbWJlZCB7XHJcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgODBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDI0cHggMCA2NHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDQ4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIiVsYXp5LWxvYWRpbmctYnV0dG9uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgICAmOm5vdCguaXMtYWxsLWxvYWRlZCkge1xyXG4gICAgICAgICAgICAlbGF6eS1sb2FkaW5nLXNwaW5uZXIge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJWxhenktbG9hZGluZy1idXR0b24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaXMtYWxsLWxvYWRlZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xyXG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWNvbG9yO1xyXG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiVsYXp5LWxvYWRpbmctYnV0dG9uLXRleHQge1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0O1xyXG59XHJcblxyXG4lbGF6eS1sb2FkaW5nLXNwaW5uZXIge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZS1vdXQ7XHJcbn1cclxuIiwiLkxheW91dCB7XHJcbiAgICAkei1pbmRleC1ib2R5OiAxO1xyXG4gICAgJHotaW5kZXgtaGVhZGVyOiAkei1pbmRleC1ib2R5ICsgMTtcclxuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuXHJcbiAgICAmX19oZWFkZXIsXHJcbiAgICAmX19ib2R5IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGVyIHtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1oZWFkZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYm9keSB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWJvZHk7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZm9vdGVyIHtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgIEBleHRlbmQgLnVrLWNvbnRhaW5lcjtcclxuXHJcbiAgICAgICAgJi0tc21hbGwge1xyXG4gICAgICAgICAgICBAZXh0ZW5kIC51ay1jb250YWluZXItc21hbGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1tZWRpdW0ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWVkaXVtLW1heC13aWR0aDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLXhsYXJnZSB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgLnVrLWNvbnRhaW5lci14bGFyZ2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1ub1BhZGRpbmcge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIlZnVsbC1zaXplIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuJWZ1bGwtc2l6ZS1pbWFnZSB7XHJcbiAgICBAZXh0ZW5kICVmdWxsLXNpemU7XHJcblxyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuXHJcbiVmdWxsLXNpemUtaW1hZ2UtY29udGFpbmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wbGFjZWhvbGRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuJWZsZXgtY2VudGVyIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbiVzaG93LWZvci1zciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBzaXplOiAxcHg7XHJcbn1cclxuXHJcbiVwYWdlLWxheW91dCB7XHJcbiAgICBwYWRkaW5nLXk6IDYwcHggMTQwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgcGFkZGluZy15OiA0OHB4IDEyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBwYWRkaW5nLXk6IDM2cHggOTBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBwYWRkaW5nLXk6IDI0cHggNjVweDtcclxuICAgIH1cclxufVxyXG5cclxuJXdpdGgtYm90dG9tLWxpbmUge1xyXG4gICAgJGJvcmRlci13aWR0aDogMXB4O1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgIGJvdHRvbTogLSRib3JkZXItd2lkdGg7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgaGVpZ2h0OiA0cHg7XHJcbiAgICBsZWZ0OiAtJGJvcmRlci13aWR0aDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRib3JkZXItd2lkdGh9KTtcclxufVxyXG5cclxuJWNpcmNsZS13aXRoLWFycm93LWRvdWJsZWQge1xyXG4gICAgQGV4dGVuZCAlZmxleC1jZW50ZXI7XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OSwgMTAxLCAyMDcsIDAuMik7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBwYWRkaW5nOiA5cHg7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcbn1cclxuXHJcbiVjaXJjbGUtd2l0aC1hcnJvdyB7XHJcbiAgICBAZXh0ZW5kICVmbGV4LWNlbnRlcjtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBmbGV4LXNocmluazogMDtcclxuICAgIHNpemU6IDI3cHg7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xyXG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZGVmYXVsdDtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgY29sb3I7XHJcbn1cclxuXHJcbiVjaXJjbGUtd2l0aC1hcnJvdy1pbnZlcnNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxufVxyXG5cclxuJWJhY2stYnV0dG9uLXdyYXBwZXIge1xyXG4gICAgQGluY2x1ZGUgdncteHhsYXJnZS11cCB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC02OHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXh4bGFyZ2UtZG93biB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgIH1cclxufVxyXG5cclxuJXpvb20taW1hZ2Utb24taG92ZXItaW1hZ2Utc3RhdGUge1xyXG4gICAgaW1nIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM3NXMgJHRyYW5zaXRpb24tZGVmYXVsdC1lYXNpbmc7XHJcbiAgICB9XHJcbn1cclxuXHJcbiV6b29tLWltYWdlLW9uLWhvdmVyIHtcclxuICAgIEBleHRlbmQgJXpvb20taW1hZ2Utb24taG92ZXItaW1hZ2Utc3RhdGU7XHJcblxyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkc2NhbGUtaW1hZ2Utb24taG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuJWxhcmdlLW51bWJlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iZWJhcztcclxuICAgIGZvbnQtc2l6ZTogdG9SZW0oMTcwcHgpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAwLjIyOTU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcblxyXG4gICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTQwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTEwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDkwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oNzBweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b24tYXJyb3ctaG92ZXJlZC1zdGF0ZSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KTtcclxufVxyXG5cclxuLnNob3ctZm9yLWpzIHtcclxuICAgIEBhdC1yb290IC5uby1qcyAmIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uaGlkZS1mb3ItanMge1xyXG4gICAgQGF0LXJvb3QgLmpzICYge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZXNwb25zaXZlRW1iZWQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMCB7XHJcbiAgICAgICAgYm90dG9tOiBhc3BlY3QtcmF0aW8oMTYsIDkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmcmFtZSB7XHJcbiAgICAgICAgYWJzb2x1dGU6IHRvcCBsZWZ0O1xyXG4gICAgICAgIC8vIG92ZXJyaWRlIGlubGluZSBzdHlsZXNcclxuICAgICAgICBzaXplOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi52aXN1YWxseS1oaWRkZW4ge1xyXG4gICAgY2xpcDogcmVjdCgxcHggMXB4IDFweCAxcHgpOyAvKiBJRTYsIElFNyAqL1xyXG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xyXG4gICAgaGVpZ2h0OiAxcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgd2lkdGg6IDFweDtcclxufVxyXG5cclxuW2hpZGRlbl0ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcbiIsIiRoZWFkZXItbGluay1ob3Zlci1jb2xvcjogZGFya2VuKCRjb2xvci1hY2NlbnQtZGVmYXVsdCwgMTApO1xyXG4kaGVhZGVyLWxpbmstaG92ZXItY29sb3ItbGlnaHQ6IGRhcmtlbih3aGl0ZSwgMTApO1xyXG5cclxuLlNpdGVIZWFkZXIge1xyXG4gICAgJGJsb2NrOiAmO1xyXG5cclxuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgICYtLWZpeGVkIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tbGlnaHQge1xyXG4gICAgICAgICN7JGJsb2NrfV9fbG9nbyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItbGluay1ob3Zlci1jb2xvci1saWdodFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAlaGVhZGVyLW5hdi1pdGVtLWlubmVyLFxyXG4gICAgICAgICVoZWFkZXItbmF2LWNoZXZyb24ge1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAlaGVhZGVyLW5hdi1pdGVtLWxpbmsge1xyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLWxpbmstaG92ZXItY29sb3ItbGlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICVoZWFkZXItbmF2LWl0ZW0tZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzLXdpdGhpbiB7XHJcbiAgICAgICAgICAgICAgICAlaGVhZGVyLW5hdi1pdGVtLWlubmVyLFxyXG4gICAgICAgICAgICAgICAgJWhlYWRlci1uYXYtY2hldnJvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItbGluay1ob3Zlci1jb2xvci1saWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19ncmlkIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbG9nbyB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX25hdiB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYnV0dG9uIHtcclxuICAgICAgICBAZXh0ZW5kIC51ay1idXR0b24sIC51ay1idXR0b24tbGFyZ2UsIC51ay1idXR0b24tcHJpbWFyeTtcclxuXHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGFtYnVyZ2VyIHtcclxuICAgICAgICBAZXh0ZW5kIC51ay1idXR0b24sIC51ay1idXR0b24tbGFyZ2UsIC51ay1idXR0b24tcHJpbWFyeTtcclxuICAgICAgICBAZXh0ZW5kICVmbGV4LWNlbnRlcjtcclxuXHJcbiAgICAgICAgZm9udC1zaXplOiAwO1xyXG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHNpemU6ICRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLXVwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLXVwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uSGVhZGVyTmF2IHtcclxuICAgIEBleHRlbmQgJWZsZXgtY2VudGVyO1xyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzZweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tZHJvcGRvd24ge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVoZWFkZXItbmF2LWl0ZW0tZHJvcGRvd24gIW9wdGlvbmFsO1xyXG5cclxuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cy13aXRoaW4ge1xyXG4gICAgICAgICAgICAgICAgJWhlYWRlci1uYXYtaXRlbS1pbm5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItbGluay1ob3Zlci1jb2xvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAlaGVhZGVyLW5hdi1kcm9wZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XHJcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAlaGVhZGVyLW5hdi1jaGV2cm9uIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tYWN0aXZlIHtcclxuICAgICAgICAgICAgJWhlYWRlci1uYXYtaXRlbS1pbm5lciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2xpbmssXHJcbiAgICAmX19sYWJlbCB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGVyLW5hdi1pdGVtLWlubmVyICFvcHRpb25hbDtcclxuXHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA3MTU7XHJcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGluayB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGVyLW5hdi1pdGVtLWxpbmsgIW9wdGlvbmFsO1xyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlci1saW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jaGV2cm9uIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkZXItbmF2LWNoZXZyb24gIW9wdGlvbmFsO1xyXG5cclxuICAgICAgICBjb2xvcjogJGNvbG9yLW11dGVkLWRlZmF1bHQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI3NXMgMC4zNXMgJHRyYW5zaXRpb24tZGVmYXVsdC1lYXNpbmcsIGNvbG9yICR0cmFuc2l0aW9uLWRlZmF1bHQtdGltZSAkdHJhbnNpdGlvbi1kZWZhdWx0LWVhc2luZztcclxuICAgIH1cclxuXHJcbiAgICAmX19kcm9wZG93biB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGVyLW5hdi1kcm9wZG93biAhb3B0aW9uYWw7XHJcblxyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbWluLXdpZHRoOiA0NTBweDtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1vdXQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4zNXM7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCB2aXNpYmlsaXR5O1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJXdpdGgtYm90dG9tLWxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2Ryb3Bkb3duSW5uZXIge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkY2RmZTQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAyMHB4IDMxcHggcmdiYSg4OCwgOTIsIDE3NywgMC4xMyk7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHBhZGRpbmc6IDI0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZHJvcGRvd25JdGVtIHtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tYWN0aXZlIHtcclxuICAgICAgICAgICAgJWhlYWRlci1uYXYtZHJvcGRvd24taXRlbS1pbm5lciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2Ryb3Bkb3duTGluayxcclxuICAgICZfX2Ryb3Bkb3duTGFiZWwge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRlci1uYXYtZHJvcGRvd24taXRlbS1pbm5lciAhb3B0aW9uYWw7XHJcblxyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVuO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmX19kcm9wZG93bkxpbmsge1xyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuU2l0ZUZvb3RlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbXV0ZWQtbGlnaHRlbjtcclxuICAgIHBhZGRpbmc6IDQ1cHggMCAzMHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyNHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJmaXJzdCBuYXYgc2VydmljZXMgbGFzdFwiO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIGF1dG8pIDFmciBhdXRvO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAyNHB4O1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byAxZnI7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiZmlyc3Qgc2VydmljZXMgbGFzdFwiIFwibmF2IHNlcnZpY2VzIGxhc3RcIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImZpcnN0XCIgXCJuYXZcIiBcInNlcnZpY2VzXCIgXCJsYXN0XCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1ib3R0b20ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbHVtbiB7XHJcbiAgICAgICAgJi0tZmlyc3Qge1xyXG4gICAgICAgICAgICBncmlkLWFyZWE6IGZpcnN0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tbGFzdCB7XHJcbiAgICAgICAgICAgIGdyaWQtYXJlYTogbGFzdDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjgwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzJweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNjZweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbG9nbyB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvcHlyaWdodCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZW47XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxM3B4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMwNzU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogMTYwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX25hdiB7XHJcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBuYXY7XHJcbiAgICAgICAgcGFkZGluZy14OiA3NXB4IDg1cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy14OiA1MHB4IDYwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy14OiAwIDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc2VydmljZXMge1xyXG4gICAgICAgIGdyaWQtYXJlYTogc2VydmljZXM7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19waG9uZSB7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJlYmFzO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDMycHgpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19lbWFpbHMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZW1haWwge1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDE2cHgpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19hZGRyZXNzIHtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE2cHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGV2ZWxvcGVyIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVuO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTNweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1tZWRpdW07XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zMDc1O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGlua3Mge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxuXHJcbiAgICAmX19saW5rIHtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZW47XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDEzcHgpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzA3NTtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLkZvb3Rlck5hdiB7XHJcbiAgICAkYmxvY2s6ICY7XHJcblxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICN7JGJsb2NrfV9faW5uZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1zbWFsbDtcclxuXHJcbiAgICAgICAgQGF0LXJvb3QgYSN7Jn0ge1xyXG4gICAgICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkYXJrZW4oJGNvbG9yLWFjY2VudC1kZWZhdWx0LCAxNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5Gb290ZXJTZXJ2aWNlcyB7XHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXNtYWxsO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2xpc3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDE1cHggNTJweDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAzMnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogMjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVuO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTJweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTY2O1xyXG4gICAgfVxyXG59XHJcbiIsIiRvZmYtY2FudmFzLWxheWVyLXdpZHRoLXM6IDMwMHB4ICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1sYXllci13aWR0aDogMTAwJSAhZGVmYXVsdDtcclxuXHJcbkBtaXhpbiBvZmYtY2FudmFzLWNoZWNrZWQtc3RhdGUge1xyXG4gICAgJjpjaGVja2VkIHtcclxuICAgICAgICB+ICVvZmYtY2FudmFzLWxheWVyLXZpc2libGUsXHJcbiAgICAgICAgfiAqICVvZmYtY2FudmFzLWxheWVyLXZpc2libGUge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVvZmYtY2FudmFzLWxheWVyLXZpc2libGUtc3R5bGUgIW9wdGlvbmFsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgfiAlb2ZmLWNhbnZhcy1iYWNrZ3JvdW5kLWxheWVyLWhpZGRlbixcclxuICAgICAgICB+ICogJW9mZi1jYW52YXMtYmFja2dyb3VuZC1sYXllci1oaWRkZW4ge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVvZmYtY2FudmFzLWJhY2tncm91bmQtbGF5ZXItaGlkZGVuLXN0eWxlICFvcHRpb25hbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIH4gJW9mZi1jYW52YXMtYmFja2dyb3VuZC1sYXllci1oaWRkZW4sXHJcbiAgICAgICAgfiAlb2ZmLWNhbnZhcy1sYXllci12aXNpYmxlLFxyXG4gICAgICAgIH4gKiB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuJW9mZi1jYW52YXMtbGF5ZXItdmlzaWJsZS1zdHlsZSB7XHJcbiAgICBAaWYgKG1peGluX2V4aXN0cyhvZmYtY2FudmFzLWxheWVyLXZpc2libGUpKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1sYXllci12aXNpYmxlO1xyXG4gICAgfVxyXG59XHJcblxyXG4lb2ZmLWNhbnZhcy1iYWNrZ3JvdW5kLWxheWVyLWhpZGRlbi1zdHlsZSB7XHJcbiAgICBAaWYgKG1peGluX2V4aXN0cyhvZmYtY2FudmFzLWFjdGl2ZS1iYWNrZ3JvdW5kLWxheWVyKSkge1xyXG4gICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYWN0aXZlLWJhY2tncm91bmQtbGF5ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5vZmZDYW52YXMge1xyXG4gICAgJi1tb2RlbCB7XHJcbiAgICAgICAgQGV4dGVuZCAlb2ZmQ2FudmFzLW1vZGVsICFvcHRpb25hbDtcclxuXHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgQGlmIChtaXhpbi1leGlzdHMob2ZmLWNhbnZhcy1tb2RlbC13YXRjaCkpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1tb2RlbC13YXRjaDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1sYXllciB7XHJcbiAgICAgICAgQGV4dGVuZCAlb2ZmQ2FudmFzLWxheWVyICFvcHRpb25hbDtcclxuICAgICAgICBAZXh0ZW5kICVvZmYtY2FudmFzLWxheWVyLXZpc2libGUgIW9wdGlvbmFsO1xyXG5cclxuICAgICAgICBmaXhlZDogdG9wIHJpZ2h0O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgICB3aWR0aDogJG9mZi1jYW52YXMtbGF5ZXItd2lkdGgtcztcclxuICAgICAgICB6LWluZGV4OiAxMTtcclxuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRvZmYtY2FudmFzLWxheWVyLXdpZHRoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmIChtaXhpbi1leGlzdHMob2ZmLWNhbnZhcy1sYXllcikpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1sYXllcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1iYWNrZHJvcCB7XHJcbiAgICAgICAgQGV4dGVuZCAlb2ZmQ2FudmFzLWJhY2tkcm9wICFvcHRpb25hbDtcclxuXHJcbiAgICAgICAgQGlmIChtaXhpbi1leGlzdHMob2ZmLWNhbnZhcy1iYWNrZHJvcCkpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYWNrZHJvcDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAobWl4aW4tZXhpc3RzKG9mZi1jYW52YXMtYmFja2Ryb3AtYWN0aXZlKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhY2tkcm9wLWFjdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1iYWNrZ3JvdW5kTGF5ZXIge1xyXG4gICAgICAgIEBleHRlbmQgJW9mZkNhbnZhcy1iYWNrZ3JvdW5kTGF5ZXIgIW9wdGlvbmFsO1xyXG4gICAgICAgIEBleHRlbmQgJW9mZi1jYW52YXMtYmFja2dyb3VuZC1sYXllci1oaWRkZW4gIW9wdGlvbmFsO1xyXG5cclxuICAgICAgICBAaWYgKG1peGluX2V4aXN0cyhvZmYtY2FudmFzLWJhY2tncm91bmQtbGF5ZXIpKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFja2dyb3VuZC1sYXllcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiJG9mZi1jYW52YXMtbGF5ZXItd2lkdGgtczogMzAwcHggIWRlZmF1bHQ7XHJcbiRvZmYtY2FudmFzLWxheWVyLWJhY2tncm91bmQtY29sb3I6IHdoaXRlICFkZWZhdWx0O1xyXG4kb2ZmLWNhbnZhcy1iYWNrZHJvcC1sYXllci1iYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjgpICFkZWZhdWx0O1xyXG5cclxuQG1peGluIG9mZi1jYW52YXMtYmFja2Ryb3AtYWN0aXZlIHtcclxuICAgICZbZm9yPVwib2ZmLWNhbnZhc1wiXSB7XHJcbiAgICAgICAgQGV4dGVuZCAlbmF2LW9mZi1jYW52YXMtYmFja2Ryb3AtYWN0aXZlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1tb2RlbC13YXRjaCB7XHJcbiAgICAmW2lkPVwib2ZmLWNhbnZhc1wiXSB7XHJcbiAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jaGVja2VkLXN0YXRlO1xyXG5cclxuICAgICAgICAmOmNoZWNrZWQgfiAlbmF2LW9mZi1jYW52YXMtYmFja2Ryb3AtYWN0aXZlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYWNrZHJvcC12aXNpYmxlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIG9mZi1jYW52YXMtbGF5ZXIge1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmLWNhbnZhcy1sYXllci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRvZmYtY2FudmFzLWxheWVyLXdpZHRoLXMpO1xyXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCB2aXNpYmlsaXR5O1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41cztcclxuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XHJcblxyXG4gICAgQGluY2x1ZGUgdncteHNtYWxsLWRvd24ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkb2ZmLWNhbnZhcy1sYXllci13aWR0aCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBvZmYtY2FudmFzLWxheWVyLXZpc2libGUge1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xyXG59XHJcblxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYWNrZ3JvdW5kLWxheWVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xyXG59XHJcblxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1hY3RpdmUtYmFja2dyb3VuZC1sYXllciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRvZmYtY2FudmFzLWxheWVyLXdpZHRoKTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYWNrZHJvcCB7XHJcbiAgICBmaXhlZDogdG9wIGxlZnQ7XHJcbiAgICBzaXplOiAxMDAlO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmLWNhbnZhcy1iYWNrZHJvcC1sYXllci1iYWNrZ3JvdW5kLWNvbG9yO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjoge1xyXG4gICAgICAgIHByb3BlcnR5OiBvcGFjaXR5LCB2aXNpYmlsaXR5O1xyXG4gICAgICAgIGR1cmF0aW9uOiAwLjVzO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYWNrZHJvcC12aXNpYmxlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuIiwiJG9mZi1jYW52YXMtbGF5ZXItd2lkdGgtczogMjgwcHg7XHJcbiRvZmYtY2FudmFzLWJhY2tkcm9wLWxheWVyLWJhY2tncm91bmQtY29sb3I6IHJnYmEoYmxhY2ssIDAuNSk7XHJcbiIsIi5TaXRlT2ZmQ2FudmFzIHtcclxuICAgICR6LWluZGV4LWltYWdlOiAxO1xyXG4gICAgJHotaW5kZXgtYmFja2dyb3VuZC1pbWFnZTogJHotaW5kZXgtaW1hZ2UgKyAxO1xyXG5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmX19oZWFkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxuXHJcbiAgICAmX19uYXZpZ2F0aW9uIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNzhweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jbG9zZSB7XHJcbiAgICAgICAgQGV4dGVuZCAudWstYnV0dG9uLCAudWstYnV0dG9uLWxhcmdlLCAudWstYnV0dG9uLXByaW1hcnk7XHJcbiAgICAgICAgQGV4dGVuZCAlZmxleC1jZW50ZXI7XHJcblxyXG4gICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgICBtaW4td2lkdGg6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBzaXplOiAkYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtYmFja2dyb3VuZC1pbWFnZTtcclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplLWltYWdlO1xyXG5cclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1pbWFnZTtcclxuICAgIH1cclxufVxyXG5cclxuLlNpdGVPZmZDYW52YXNOYXZpZ2F0aW9uIHtcclxuICAgICRibG9jazogJjtcclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tYWN0aXZlIHtcclxuICAgICAgICAgICAgI3skYmxvY2t9X19pbm5lciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2lubmVyIHtcclxuICAgICAgICBAZXh0ZW5kICVvZmYtY2FudmFzLWlubmVyICFvcHRpb25hbDtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLW1lZGl1bTtcclxuXHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NoZWNrYm94IHtcclxuICAgICAgICAmOmNoZWNrZWQge1xyXG4gICAgICAgICAgICB+ICVvZmYtY2FudmFzLWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICArICVvZmYtY2FudmFzLWlubmVyIHtcclxuICAgICAgICAgICAgICAgICVvZmYtY2FudmFzLWNoZXZyb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2Ryb3Bkb3duIHtcclxuICAgICAgICBAZXh0ZW5kICVvZmYtY2FudmFzLWRyb3Bkb3duICFvcHRpb25hbDtcclxuXHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2Ryb3Bkb3duSXRlbSB7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICN7JGJsb2NrfV9fZHJvcGRvd25Jbm5lciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2Ryb3Bkb3duSW5uZXIge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVuO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTJweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTY2NjtcclxuICAgIH1cclxuXHJcbiAgICAmX19jaGV2cm9uIHtcclxuICAgICAgICBAZXh0ZW5kICVvZmYtY2FudmFzLWNoZXZyb24gIW9wdGlvbmFsO1xyXG4gICAgICAgIEBleHRlbmQgJWZsZXgtY2VudGVyO1xyXG5cclxuICAgICAgICBtYXJnaW4tbGVmdDogOXB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDBkZWcpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI3NXMgJHRyYW5zaXRpb24tZGVmYXVsdC1lYXNpbmc7XHJcbiAgICB9XHJcbn1cclxuXHJcbiVvZmZDYW52YXMtbW9kZWwge1xyXG4gICAgZGlzcGxheTogaW5pdGlhbDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbn1cclxuXHJcbiVvZmZDYW52YXMtbGF5ZXIge1xyXG4gICAgcGFkZGluZzogMTVweCAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbCA0MHB4O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG4iLCIuU2l0ZUZvcm0ge1xyXG4gICAgJGJsb2NrOiAmO1xyXG5cclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtZ2FwOiAxNnB4IDMycHg7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLWdhcDogMjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tdmVydGljYWwge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMTZweDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gKiB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udHJvbCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICAmLS1zaW5nbGUge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC11cCB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IC0xO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyAtMTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItbXV0ZWQtZGVmYXVsdDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxMnB4KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcclxuICAgICAgICBvcmRlcjogLTE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlLW91dDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTJweCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2lucHV0IHtcclxuICAgICAgICBAZXh0ZW5kIC51ay1pbnB1dDtcclxuXHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNHB4KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmcteDogMTZweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuXHJcbiAgICAgICAgICAgICsgI3skYmxvY2t9X19sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmRpc2FibGVkIHtcclxuICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb3JtLWRpc2FibGVkLWNvbG9yO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmlzLWludmFsaWQge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1kYW5nZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NoZWNrYm94V3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jaGVja2JveCB7XHJcbiAgICAgICAgQGV4dGVuZCAudWstY2hlY2tib3g7XHJcblxyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZm9vdGVyIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19hZ3JlZW1lbnQge1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKDIxLCA0MiwgNzEsIDAuNyk7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxMnB4KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zMzM7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0ODBweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMnB4O1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbiB7XHJcbiAgICAgICAgQGV4dGVuZCAudWstYnV0dG9uLCAudWstYnV0dG9uLXByaW1hcnk7XHJcbiAgICAgICAgQGV4dGVuZCAlbGF6eS1sb2FkaW5nLWJ1dHRvbjtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICBtaW4td2lkdGg6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMCAzMnB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RleHRhcmVhIHtcclxuICAgICAgICBAZXh0ZW5kICVmb3JtLXRleHRhcmVhICFvcHRpb25hbDtcclxuICAgICAgICBAZXh0ZW5kIC51ay10ZXh0YXJlYTtcclxuXHJcbiAgICAgICAgbWF4LWhlaWdodDogNTIwcHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTMwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLWZ1bGwge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAxNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19idXR0b25UZXh0IHtcclxuICAgICAgICBAZXh0ZW5kICVsYXp5LWxvYWRpbmctYnV0dG9uLXRleHQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc3Bpbm5lciB7XHJcbiAgICAgICAgQGV4dGVuZCAlbGF6eS1sb2FkaW5nLXNwaW5uZXI7XHJcbiAgICB9XHJcbn1cclxuIiwiLkJ1dHRvbkFycm93IHtcclxuICAgIEBleHRlbmQgJWJ1dHRvbi1hcnJvdyAhb3B0aW9uYWw7XHJcblxyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBmb250LXNpemU6IHRvUmVtKDEzcHgpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XHJcbiAgICBsaW5lLWhlaWdodDogMS4xNTM4NTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcblxyXG4gICAgQGF0LXJvb3QgYSN7Jn0ge1xyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcblxyXG4gICAgICAgICAgICAlYnV0dG9uLWFycm93LWNpcmNsZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tYXJyb3ctaG92ZXJlZC1zdGF0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jaXJjbGUge1xyXG4gICAgICAgIEBleHRlbmQgJWJ1dHRvbi1hcnJvdy1jaXJjbGUgIW9wdGlvbmFsO1xyXG4gICAgICAgIEBleHRlbmQgJWNpcmNsZS13aXRoLWFycm93O1xyXG5cclxuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuQmFja0J1dHRvbiB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGZvbnQtc2l6ZTogdG9SZW0oMTNweCk7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1Mzg1O1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZGVmYXVsdDtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgJWJhY2stYXJyb3ctY2lyY2xlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jaXJjbGUge1xyXG4gICAgICAgIEBleHRlbmQgJWJhY2stYXJyb3ctY2lyY2xlICFvcHRpb25hbDtcclxuICAgICAgICBAZXh0ZW5kICVjaXJjbGUtd2l0aC1hcnJvdztcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW11dGVkLWxpZ2h0ZW47XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuU2l0ZUdhbGxlcnkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICZfX3NsaWRlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplLWltYWdlLWNvbnRhaW5lcjtcclxuXHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYXNwZWN0LXJhdGlvKDE0NTAsIDgxNSk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZS1pbWFnZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udHJvbHMge1xyXG4gICAgICAgIGJvdHRvbTogNTBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBib3R0b206IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMzBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14c21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYnV0dG9ucyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgfVxyXG59XHJcbiIsIi5Qcm9qZWN0Q2FyZCB7XHJcbiAgICAkYmxvY2s6ICY7XHJcbiAgICAkei1pbmRleC1zaGFkb3c6IDE7XHJcbiAgICAkei1pbmRleC1pbWFnZTogJHotaW5kZXgtc2hhZG93ICsgMTtcclxuICAgICR6LWluZGV4LW92ZXJsYXk6ICR6LWluZGV4LWltYWdlICsgMTtcclxuXHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgI3skYmxvY2t9X190aXRsZSxcclxuICAgICAgICAlYnV0dG9uLWFycm93IHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICVidXR0b24tYXJyb3ctY2lyY2xlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWFycm93LWhvdmVyZWQtc3RhdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAjeyRibG9ja31fX2ltYWdlIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHNjYWxlLWltYWdlLW9uLWhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplLWltYWdlLWNvbnRhaW5lcjtcclxuICAgICAgICBAZXh0ZW5kICV6b29tLWltYWdlLW9uLWhvdmVyLWltYWdlLXN0YXRlO1xyXG5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGFzcGVjdC1yYXRpbyg2MTIsIDQ0MCk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemU7XHJcblxyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDMwcHggMTAwcHggcmdiYSg4OCwgOTIsIDE3NywgMC4zKTtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MS4xNSU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6ICR6LWluZGV4LXNoYWRvdztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZS1pbWFnZTtcclxuXHJcbiAgICAgICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWltYWdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19vdmVybGF5IHtcclxuICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemU7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wbGFjZWhvbGRlcjtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1vdmVybGF5O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlbjtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE0cHgpO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjg1O1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLW1lZGl1bTtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbi1kZWZhdWx0O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxufVxyXG4iLCIuUGFnZUZpbHRlcnMge1xyXG4gICAgJGJsb2NrOiAmO1xyXG4gICAgJGl0ZW0taG9yaXpvbnRhbC1ndXR0ZXI6IDE1cHg7XHJcbiAgICAkaXRlbS12ZXJ0aWNhbC1ndXR0ZXI6IDE4cHg7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtJGl0ZW0taG9yaXpvbnRhbC1ndXR0ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtJGl0ZW0tdmVydGljYWwtZ3V0dGVyO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIG1hcmdpbi14OiAtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgJHNjcm9sbC1ndXR0ZXI6IDE2cHg7XHJcblxyXG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0kc2Nyb2xsLWd1dHRlcjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNjcm9sbC1ndXR0ZXI7XHJcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaXRlbS12ZXJ0aWNhbC1ndXR0ZXI7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkaXRlbS1ob3Jpem9udGFsLWd1dHRlcjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1hY3RpdmUge1xyXG4gICAgICAgICAgICAjeyRibG9ja31fX2lubmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW11dGVkLWxpZ2h0ZW47XHJcbiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVuO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTNweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG5cclxuICAgICAgICBAYXQtcm9vdCBhI3smfSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuQ29uc3VsdGF0aW9uIHtcclxuICAgICRib3JkZXItd2lkdGg6IDFweDtcclxuICAgICR6LWluZGV4LWltYWdlOiAxO1xyXG4gICAgJHotaW5kZXgtb3ZlcmxheTogJHotaW5kZXgtaW1hZ2UgKyAxO1xyXG4gICAgJHotaW5kZXgtY29udGVudDogJHotaW5kZXgtb3ZlcmxheSArIDE7XHJcbiAgICAkei1pbmRleC1saW5lOiAkei1pbmRleC1jb250ZW50ICsgMTtcclxuXHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbXV0ZWQtZXh0cmEtbGlnaHRlbjtcclxuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAjZDNkNWQ5O1xyXG4gICAgcGFkZGluZzogNjBweCA1MHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDM1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICBAZXh0ZW5kICV3aXRoLWJvdHRvbS1saW5lO1xyXG5cclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1saW5lO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDAgMzBweCA0MHB4IHJnYmEoODgsIDkyLCAxNzcsIDAuMDgpO1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgaGVpZ2h0OiA4OC41JTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgfVxyXG5cclxuICAgICZfX292ZXJsYXkge1xyXG4gICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZTtcclxuXHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDk1ZGVnLCAkY29sb3ItbXV0ZWQtZXh0cmEtbGlnaHRlbiAwJSwgJGNvbG9yLW11dGVkLWV4dHJhLWxpZ2h0ZW4gNTIuNSUsIHJnYmEoMjUwLCAyNTAsIDI1MCwgMCkgMTAwJSk7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtb3ZlcmxheTtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtY29udGVudDtcclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLWxhcmdlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlbjtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE4cHgpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ0NDQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDE2cHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbiB7XHJcbiAgICAgICAgQGV4dGVuZCAudWstYnV0dG9uLCAudWstYnV0dG9uLXByaW1hcnk7XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZS1pbWFnZTtcclxuXHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtaW1hZ2U7XHJcbiAgICB9XHJcbn1cclxuIiwiQG1peGluIGFjdGl2ZS1zdGF0ZSgkYmxvY2spIHtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cclxuICAgICN7JGJsb2NrfV9faXRlbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5Mb2NhbGVQaWNrZXIge1xyXG4gICAgJGJsb2NrOiAmO1xyXG4gICAgJGl0ZW0tcGFkZGluZzogNXB4O1xyXG4gICAgJGJvcmRlci1jb2xvcjogI2QzZDVkOTtcclxuXHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBib3gtc2hhZG93OiAwIDRweCAzMnB4IHJnYmEoODgsIDkyLCAxNzcsIDAuMjUpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAxNnB4IC0gJGl0ZW0tcGFkZGluZztcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBzaXplOiAkYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzLXdpdGhpbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtdXAge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBhY3RpdmUtc3RhdGUoJGJsb2NrKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi4jey0tYWN0aXZlfSB7XHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFjdGl2ZS1zdGF0ZSgkYmxvY2spO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kZWZhdWx0O1xyXG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtYm9keS1iYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgI3skYmxvY2t9X19pbm5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogM3B4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg4cHgpO1xyXG5cclxuICAgICAgICAgICAgICAgICN7JGJsb2NrfV9faW5uZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tYWN0aXZlIHtcclxuICAgICAgICAgICAgI3skYmxvY2t9X19pbm5lciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWV4dHJhLWxpZ2h0ZW47XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4wNzE1O1xyXG4gICAgICAgIHBhZGRpbmc6ICRpdGVtLXBhZGRpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYXJyb3cge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS11cCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuRmVhdHVyZWRTbGlkZXIge1xyXG4gICAgJHotaW5kZXgtaW1hZ2U6IDE7XHJcbiAgICAkei1pbmRleC1jb250ZW50OiAkei1pbmRleC1pbWFnZSArIDE7XHJcbiAgICAkei1pbmRleC1wYW5lbDogJHotaW5kZXgtY29udGVudCArIDE7XHJcblxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemUtaW1hZ2U7XHJcblxyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWltYWdlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wbGFjZWhvbGRlcjtcclxuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgIHBhZGRpbmc6IDE2MHB4IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWNvbnRlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGFpbmVyLFxyXG4gICAgJl9fZ3JpZCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oOTBweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcclxuICAgICAgICBtYXgtd2lkdGg6IDgxMnB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSg3MnB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSg1NnB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDQycHgpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC44NTcxNTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIEBleHRlbmQgJXRleHQteGxhcmdlO1xyXG5cclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX3BhbmVsIHtcclxuICAgICAgICBib3R0b206IDUycHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtcGFuZWw7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5GZWF0dXJlZFNsaWRlclBhbmVsIHtcclxuICAgICRibG9jazogJjtcclxuICAgICR6LWluZGV4LXJ1bm5lcjogMTtcclxuICAgICR6LWluZGV4LWl0ZW06ICR6LWluZGV4LXJ1bm5lciArIDE7XHJcbiAgICAkaXRlbXMtY291bnQ6IDM7XHJcbiAgICAkaXRlbS13aWR0aDogMTAwJSAvICRpdGVtcy1jb3VudDtcclxuICAgICRjbGlwLXBhdGgtZmlyc3QtczogcG9seWdvbihjYWxjKDEwMCUgLSAyMHB4KSAwLCAxMDAlIDUwJSwgY2FsYygxMDAlIC0gMjBweCkgMTAwJSwgMCAxMDAlLCAwIDIwcHgsIDAgMCk7XHJcbiAgICAkY2xpcC1wYXRoLXM6IHBvbHlnb24oY2FsYygxMDAlIC0gMTBweCkgMCwgMTAwJSA1MCUsIGNhbGMoMTAwJSAtIDEwcHgpIDEwMCUsIDAgMTAwJSwgMTBweCA1MCUsIDAgMCk7XHJcbiAgICAkY2xpcC1wYXRoLWZpcnN0OiBwb2x5Z29uKGNhbGMoMTAwJSAtIDEwcHgpIDAsIDEwMCUgNTAlLCBjYWxjKDEwMCUgLSAxMHB4KSAxMDAlLCAwIDEwMCUsIDAgMCk7XHJcbiAgICAkY2xpcC1wYXRoOiBwb2x5Z29uKGNhbGMoMTAwJSAtIDEwcHgpIDAsIDEwMCUgNTAlLCBjYWxjKDEwMCUgLSAxMHB4KSAxMDAlLCAwIDEwMCUsIDVweCA1MCUsIDAgMCk7XHJcblxyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgJl9fZ3JpZCB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIH1cclxuXHJcbiAgICAmX19pbm5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgY2xpcC1wYXRoOiAkY2xpcC1wYXRoLWZpcnN0LXM7XHJcbiAgICAgICAgY291bnRlci1yZXNldDogJGNvdW50ZXItZmVhdHVyZWQtc2xpZGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBjbGlwLXBhdGg6ICRjbGlwLXBhdGgtZmlyc3Q7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6ICRjb3VudGVyLWZlYXR1cmVkLXNsaWRlcjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmc6IDI2cHggNTlweCAyMHB4IDIzcHg7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtaXRlbTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteHhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTFweCAxMnB4IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgJi4jey0tYWN0aXZlfSB7XHJcbiAgICAgICAgICAgICAgICB+ICVmZWF0dXJlZC1zbGlkZXItcGFuZWwtcnVubmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjbGlwLXBhdGg6ICRjbGlwLXBhdGgtcztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaXAtcGF0aDogJGNsaXAtcGF0aDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgJi4jey0tYWN0aXZlfSB7XHJcbiAgICAgICAgICAgICAgICB+ICVmZWF0dXJlZC1zbGlkZXItcGFuZWwtcnVubmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAgICAgJi4jey0tYWN0aXZlfSB7XHJcbiAgICAgICAgICAgICAgICB+ICVmZWF0dXJlZC1zbGlkZXItcGFuZWwtcnVubmVyIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwJSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuI3stLWFjdGl2ZX0ge1xyXG4gICAgICAgICAgICAjeyRibG9ja31fX251bWJlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAjeyRibG9ja31fX3RleHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX251bWJlciB7XHJcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50aXplKCRjb2xvci1wcmltYXJ5LWRlZmF1bHQsIDAuMik7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXNlbWktYm9sZDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg1NzE1O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZGVmYXVsdDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIjBcIiBjb3VudGVyKCRjb3VudGVyLWZlYXR1cmVkLXNsaWRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RleHQge1xyXG4gICAgICAgIEBleHRlbmQgJV9oZWFkaW5nLWJhc2U7XHJcblxyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMjhweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDcxNTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDI0cHgpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDIwcHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTZweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14eHNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDE0cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19ydW5uZXIge1xyXG4gICAgICAgIEBleHRlbmQgJWZlYXR1cmVkLXNsaWRlci1wYW5lbC1ydW5uZXIgIW9wdGlvbmFsO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgY2xpcC1wYXRoOiAkY2xpcC1wYXRoLWZpcnN0LXM7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1kZWZhdWx0O1xyXG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgY2xpcC1wYXRoO1xyXG4gICAgICAgIHdpZHRoOiAkaXRlbS13aWR0aDtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1ydW5uZXI7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBjbGlwLXBhdGg6ICRjbGlwLXBhdGgtZmlyc3Q7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uRmVhdHVyZWRTbGlkZXJTY3JvbGwge1xyXG4gICAgJGJsb2NrOiAmO1xyXG5cclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZm9udC1zaXplOiB0b1JlbSgxM3B4KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuMTUzODU7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgI3skYmxvY2t9X19jaXJjbGUge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2lyY2xlIHtcclxuICAgICAgICBAZXh0ZW5kICVjaXJjbGUtd2l0aC1hcnJvdy1kb3VibGVkO1xyXG5cclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jaXJjbGVJbm5lciB7XHJcbiAgICAgICAgQGV4dGVuZCAlY2lyY2xlLXdpdGgtYXJyb3c7XHJcblxyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWig5MGRlZyk7XHJcbiAgICB9XHJcbn1cclxuIiwiLlBhcnRuZXJzIHtcclxuICAgICRibG9jazogJjtcclxuXHJcbiAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4teDogLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zbGlkZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlZmxleC1jZW50ZXI7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHN3aXBlci1jYWxjLXNsaWRlKDYsIDE2cHgpO1xyXG5cclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzd2lwZXItY2FsYy1zbGlkZSg1LCAxNnB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3dpcGVyLWNhbGMtc2xpZGUoNCwgMTZweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3dpcGVyLWNhbGMtc2xpZGUoMywgMTZweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14c21hbGwtdXAge1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDVkOTtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMnB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteHNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA5NnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICN7JGJsb2NrfV9faW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdncteHNtYWxsLXVwIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTZweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdncteHNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19uYXZpZ2F0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgIH1cclxufVxyXG4iLCIvLy8gQ2FsY3VsYXRlIHNsaWRlIHdpZHRoIGluIHJlbGF0aXZlIHVuaXRzXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb3VudCAtIENvdW50IG9mIHNsaWRlIHBlciByb3dcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIC0gSG9yaXpvbnRhbCBndXR0ZXIgYmV0d2VlbiBzbGlkZXMgaW4gcHhcclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBSZXR1cm5zIHNsaWRlIHdpZHRoIGluIHJlbGF0aXZlIHdpZHRoXHJcbi8vLyBAZXhhbXBsZTogY2FsYygxMDAlIC8gNCArIE5weClcclxuQGZ1bmN0aW9uIHN3aXBlci1zbGlkZS13aWR0aCgkY291bnQsICRndXR0ZXIpIHtcclxuICAgIEByZXR1cm4gY2FsYygxMDAlIC8gI3skY291bnR9ICsgI3skZ3V0dGVyIC8gJGNvdW50fSk7XHJcbn1cclxuXHJcbi8vLyBDYWxjdWxhdGUgc2xpZGUgd2lkdGggYW5kIGFkZCBob3Jpem9udGFsIGd1dHRlclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY291bnQgLSBDb3VudCBvZiBzbGlkZSBwZXIgcm93XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciAtIEhvcml6b250YWwgZ3V0dGVyIGJldHdlZW4gc2xpZGVzIGluIHB4XHJcbkBtaXhpbiBzd2lwZXItY2FsYy1zbGlkZSgkY291bnQsICRndXR0ZXIpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XHJcbiAgICB3aWR0aDogc3dpcGVyLXNsaWRlLXdpZHRoKCRjb3VudCwgJGd1dHRlcik7XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyO1xyXG4gICAgfVxyXG59XHJcbiIsIi5Ib21lQWJvdXQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0OHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctcGFnZTtcclxuICAgIH1cclxuXHJcbiAgICAmX19ncmlkIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbHVtbiB7XHJcbiAgICAgICAgJi0tbGVmdCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tcmlnaHQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDhweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy13aXRoLWhpZ2hsaWdodDtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXhsYXJnZTtcclxuXHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzZweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICBAZXh0ZW5kICV0ZXh0LWxhcmdlO1xyXG5cclxuICAgICAgICBtYXgtd2lkdGg6IDYxNHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLkhvbWVOdW1iZXJzIHtcclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDMycHg7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMjBweDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMjBweCAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgJW9yZGVyZWQtY2FyZCB7XHJcbiAgICAgICAgICAgIHNpemU6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5PcmRlcmVkQ2FyZCB7XHJcbiAgICBAZXh0ZW5kICVvcmRlcmVkLWNhcmQgIW9wdGlvbmFsO1xyXG5cclxuICAgICRibG9jazogJjtcclxuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkM2Q1ZDk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBhdC1yb290IGEjeyZ9IHtcclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAjeyRibG9ja31fX3RpdGxlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAjeyRibG9ja31fX2J1dHRvbkljb24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWFycm93LWhvdmVyZWQtc3RhdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBAZXh0ZW5kICV3aXRoLWJvdHRvbS1saW5lO1xyXG4gICAgfVxyXG5cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgICBib3JkZXI6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHNpemU6IDE0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbnVtYmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlbjtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE0cHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg1NzE1O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctc21hbGwtd2l0aC1kZWNyZWFzZTtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19idXR0b24ge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDEzcHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaS1ib2xkO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1Mzg1O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYnV0dG9uSWNvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xyXG4gICAgICAgIG1heC13aWR0aDogOXB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAycHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcbiAgICB9XHJcbn1cclxuIiwiLkhvbWVTZWN0aW9ucyB7XHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXBhZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGNvdW50ZXItcmVzZXQ6ICRjb3VudGVyLWhvbWUtc2VjdGlvbjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6ICRjb3VudGVyLWhvbWUtc2VjdGlvbjtcclxuXHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTQwcHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3NHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5Ib21lU2VjdGlvbiB7XHJcbiAgICAkYmxvY2s6ICY7XHJcbiAgICAkY2FyZHMtc2hpZnQteGw6IDg0cHg7XHJcbiAgICAkY2FyZHMtc2hpZnQtbDogMTQwcHg7XHJcbiAgICAkY2FyZHMtc2hpZnQtbTogMjAwcHg7XHJcbiAgICAkbnVtYmVyLW9mZnNldC14bDogODBweDtcclxuICAgICRudW1iZXItb2Zmc2V0LWw6IDYwcHg7XHJcbiAgICAkbnVtYmVyLW9mZnNldC1tOiA0MHB4O1xyXG4gICAgJHRpdGxlLXBhZGRpbmc6IDIwcHg7XHJcbiAgICAkei1pbmRleC1pbWFnZTogMTtcclxuICAgICR6LWluZGV4LWluZm86ICR6LWluZGV4LWltYWdlICsgMTtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tbGVmdCB7XHJcbiAgICAgICAgI3skYmxvY2t9X19pbWFnZUNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAkbnVtYmVyLW9mZnNldC14bDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogJG51bWJlci1vZmZzZXQtbDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAkbnVtYmVyLW9mZnNldC1tO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICN7JGJsb2NrfV9fdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkdGl0bGUtcGFkZGluZztcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICN7JGJsb2NrfV9fY2FyZHMge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSRjYXJkcy1zaGlmdC14bDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdncteHhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmRzLXNoaWZ0LWw7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtJGNhcmRzLXNoaWZ0LW07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXg6IC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19ncmlkIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2luZm8ge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1pbmZvO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLW1lZGl1bTtcclxuXHJcbiAgICAgICAgbWF4LXdpZHRoOiA3MDBweCArICR0aXRsZS1wYWRkaW5nO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0aXRsZS1wYWRkaW5nO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NhcmRzIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtZ2FwOiAzMHB4O1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmRzLXNoaWZ0LXhsO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDM0cHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA4MzJweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteHhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDI0cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSRjYXJkcy1zaGlmdC1sO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kY2FyZHMtc2hpZnQtbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAkc2Nyb2xsLWd1dHRlcjogMTZweDtcclxuXHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJHNjcm9sbC1ndXR0ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi14OiAtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2Nyb2xsLWd1dHRlcjtcclxuICAgICAgICAgICAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC11cCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NhcmQge1xyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gICAgICAgICAgICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAlZmVhdHVyZWQtY2FyZCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZUNvbnRhaW5lciB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIG1heC13aWR0aDogNTE0cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWltYWdlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14eGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjkwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYudWstc2Nyb2xsc3B5LWludmlldyB7XHJcbiAgICAgICAgICAgICN7JGJsb2NrfV9fbnVtYmVyIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbnVtYmVyIHtcclxuICAgICAgICBAZXh0ZW5kICVsYXJnZS1udW1iZXI7XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IC04cHg7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICByaWdodDogJG51bWJlci1vZmZzZXQteGw7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGFuaW1hdGlvbi1kdXJhdGlvbjtcclxuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjc1cztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAkbnVtYmVyLW9mZnNldC1sO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAkbnVtYmVyLW9mZnNldC1tO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDU5LCAxMDEsIDIwNywgMC4xKTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIjBcIiBjb3VudGVyKCRjb3VudGVyLWhvbWUtc2VjdGlvbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogYXNwZWN0LXJhdGlvKDUxNCwgNDczKTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplLWltYWdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuRmVhdHVyZWRDYXJkIHtcclxuICAgIEBleHRlbmQgJWZlYXR1cmVkLWNhcmQgIW9wdGlvbmFsO1xyXG5cclxuICAgICRibG9jazogJjtcclxuICAgICR6LWluZGV4LWltYWdlOiAxO1xyXG4gICAgJHotaW5kZXgtb3ZlcmxheTogJHotaW5kZXgtaW1hZ2UgKyAxO1xyXG4gICAgJHotaW5kZXgtY29udGVudDogJHotaW5kZXgtb3ZlcmxheSArIDE7XHJcblxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogYXNwZWN0LXJhdGlvKDE4MywgMjY2KTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBAYXQtcm9vdCBhI3smfSB7XHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgI3skYmxvY2t9X190aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudC1kZWZhdWx0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAjeyRibG9ja31fX2NpcmNsZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tYXJyb3ctaG92ZXJlZC1zdGF0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS1ub0ltYWdlIHtcclxuICAgICAgICBAYXQtcm9vdCBhI3smfSB7XHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgI3skYmxvY2t9X190aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAjeyRibG9ja31fX292ZXJsYXkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAjeyRibG9ja31fX3RpdGxlIHtcclxuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJWNpcmNsZS13aXRoLWFycm93IHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlY2lyY2xlLXdpdGgtYXJyb3ctaW52ZXJzZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZS1pbWFnZTtcclxuXHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtaW1hZ2U7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fb3ZlcmxheSB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDE2LjkxJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSA2My45NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45MikgODIuNjMlLCB3aGl0ZSAxMDAlKTtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1vdmVybGF5O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZTtcclxuXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4O1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1zbWFsbC13aXRoLWRlY3JlYXNlO1xyXG5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDE0cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jaXJjbGUge1xyXG4gICAgICAgIEBleHRlbmQgJWNpcmNsZS13aXRoLWFycm93O1xyXG5cclxuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgIH1cclxufVxyXG4iLCIuSG9tZVByb2plY3RzIHtcclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctcGFnZTtcclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogOTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDc1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19tb3JlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA5MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLkhvbWVQcm9qZWN0c01vcmUge1xyXG4gICAgJGJsb2NrOiAmO1xyXG5cclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDNkNWQ5O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAyNnB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMzRweDtcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgI3skYmxvY2t9X19jaXJjbGUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC11cCB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLWxhcmdlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC11cCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19saW5rIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC00cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RleHQge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTNweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1zZW1pLWJvbGQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTUzODU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOXB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2lyY2xlIHtcclxuICAgICAgICBAZXh0ZW5kICVjaXJjbGUtd2l0aC1hcnJvdy1kb3VibGVkO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NpcmNsZUlubmVyIHtcclxuICAgICAgICBAZXh0ZW5kICVjaXJjbGUtd2l0aC1hcnJvdztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtdXAge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooOTBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuSG9tZVByb2plY3Qge1xyXG4gICAgJGJsb2NrOiAmO1xyXG4gICAgJGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XHJcbiAgICAkaW1hZ2Utb2Zmc2V0LXM6IDQwcHg7XHJcbiAgICAkaW1hZ2Utb2Zmc2V0OiAyNHB4O1xyXG5cclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZy14OiAzMnB4O1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcblxyXG4gICAgJi0tbGVmdCB7XHJcbiAgICAgICAgI3skYmxvY2t9X19pbWFnZUNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBvcmRlcjogLTE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAjeyRibG9ja31fX2NvbnRlbnQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE0NXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDkycHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlQ29udGFpbmVyIHtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBtYXgtd2lkdGg6IDUwNnB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbWFnZS1vZmZzZXQtcztcclxuICAgICAgICBwYWRkaW5nLXRvcDogJGltYWdlLW9mZnNldC1zO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGltYWdlLW9mZnNldDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRpbWFnZS1vZmZzZXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjg4cHg7XHJcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGFzcGVjdC1yYXRpbyg1MDYsIDUzMCk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAkb2Zmc2V0OiAkaW1hZ2Utb2Zmc2V0LXMgLyAyO1xyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW11dGVkLWxpZ2h0ZW47XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGJvdHRvbTogJG9mZnNldDtcclxuICAgICAgICAgICAgbGVmdDogJG9mZnNldDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogJG9mZnNldDtcclxuICAgICAgICAgICAgdG9wOiAkb2Zmc2V0O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgJG9mZnNldDogJGltYWdlLW9mZnNldCAvIDI7XHJcblxyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAkb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogJG9mZnNldDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAkb2Zmc2V0O1xyXG4gICAgICAgICAgICAgICAgdG9wOiAkb2Zmc2V0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICN7JGJsb2NrfV9faW1hZ2VJbm5lciB7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHNjYWxlLWltYWdlLW9uLWhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZUlubmVyIHtcclxuICAgICAgICBAZXh0ZW5kICV6b29tLWltYWdlLW9uLWhvdmVyLWltYWdlLXN0YXRlO1xyXG5cclxuICAgICAgICAkei1pbmRleC1pbWFnZS1pbm5lci1pbWc6IDE7XHJcbiAgICAgICAgJHotaW5kZXgtaW1hZ2UtaW5uZXItYmVmb3JlOiAkei1pbmRleC1pbWFnZS1pbm5lci1pbWcgKyAxO1xyXG5cclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IC0kaW1hZ2Utb2Zmc2V0LXM7XHJcbiAgICAgICAgc2l6ZTogMTAwJTtcclxuICAgICAgICB0b3A6IC0kaW1hZ2Utb2Zmc2V0LXM7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgcmlnaHQ6IC0kaW1hZ2Utb2Zmc2V0O1xyXG4gICAgICAgICAgICB0b3A6IC0kaW1hZ2Utb2Zmc2V0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIC8vIHByZXZlbnQgcGFyYWxsYXggb24gbW9iaWxlXHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgc2l6ZTogMTAwJTtcclxuICAgICAgICAgICAgei1pbmRleDogJHotaW5kZXgtaW1hZ2UtaW5uZXItaW1nO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplO1xyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBsYWNlaG9sZGVyO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAkei1pbmRleC1pbWFnZS1pbm5lci1iZWZvcmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMS41JTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzMHB4IDEwMHB4IHJnYmEoODgsIDkyLCAxNzcsIDAuMyk7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBzaXplOiA4OSU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgICAgICBtYXgtd2lkdGg6IDUwNnB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNzRweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICBAZXh0ZW5kICV0ZXh0LXNtYWxsO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXhsYXJnZTtcclxuXHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi15OiAzMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi15OiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5Ib21lTWFwIHtcclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctcGFnZTtcclxuICAgIH1cclxuXHJcbiAgICAmX19ncmlkIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy13aXRoLWhpZ2hsaWdodDtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXhsYXJnZTtcclxuXHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xyXG4gICAgICAgIG1heC13aWR0aDogNDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIEBleHRlbmQgJXRleHQtbGFyZ2U7XHJcblxyXG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIG1heC13aWR0aDogNjE0cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwOHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14eGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3MnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX21hcENvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX21hcCB7XHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14c21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IGFzcGVjdC1yYXRpbygzMjAsIDM2MCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLFxyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS11cCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MjBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2FyZHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLXVwIHtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MzZweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jYXJkIHtcclxuICAgICAgICAmLFxyXG4gICAgICAgICVvcmRlcmVkLWNhcmQge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAlb3JkZXJlZC1jYXJkIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMTkwcHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE2OHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5XcmFwcGVkUGFydG5lcnMge1xyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1wYWdlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcbiIsIi5TZXJ2aWNlQ2FyZCB7XHJcbiAgICAkei1pbmRleC1pbWFnZTogMTtcclxuICAgICR6LWluZGV4LW51bWJlcjogJHotaW5kZXgtaW1hZ2UgKyAxO1xyXG5cclxuICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICBncmlkLWNvbHVtbi1nYXA6IDI0cHg7XHJcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImhlYWRpbmcgaW1hZ2VcIiBcImNvbnRlbnQgaW1hZ2VcIiBcImJ1dHRvbiBpbWFnZVwiO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJpbWFnZVwiIFwiaGVhZGluZ1wiIFwiY29udGVudFwiIFwiYnV0dG9uXCI7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLW9ubHkge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAlY29udGVudC1saXN0LWl0ZW0ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODU3MTU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zNzU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICB0b3A6IDlweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW5mbyB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzJweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLW1lZGl1bTtcclxuXHJcbiAgICAgICAgZ3JpZC1hcmVhOiBoZWFkaW5nO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIGdyaWQtYXJlYTogY29udGVudDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbiB7XHJcbiAgICAgICAgQGV4dGVuZCAudWstYnV0dG9uLCAudWstYnV0dG9uLXByaW1hcnk7XHJcblxyXG4gICAgICAgIGFsaWduLXNlbGY6IGVuZDtcclxuICAgICAgICBncmlkLWFyZWE6IGJ1dHRvbjtcclxuICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLW9ubHkge1xyXG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBlbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlQ29udGFpbmVyIHtcclxuICAgICAgICBncmlkLWFyZWE6IGltYWdlO1xyXG4gICAgICAgIG1heC13aWR0aDogNjE0cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZS1pbWFnZS1jb250YWluZXI7XHJcblxyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBhc3BlY3QtcmF0aW8oNjE0LCAyNzgpO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemUtaW1hZ2U7XHJcblxyXG4gICAgICAgICAgICB6LWluZGV4OiAkei1pbmRleC1pbWFnZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbnVtYmVyIHtcclxuICAgICAgICBAZXh0ZW5kICVsYXJnZS1udW1iZXI7XHJcblxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogNzZweDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtbnVtYmVyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDY0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogXCIwXCIgY291bnRlcigkY291bnRlci1zZXJ2aWNlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5Nb2RhbCB7XHJcbiAgICAkei1pbmRleC1iYWNrZ3JvdW5kOiAxO1xyXG4gICAgJHotaW5kZXgtb3ZlcmxheTogJHotaW5kZXgtYmFja2dyb3VuZCArIDE7XHJcbiAgICAkei1pbmRleC1jb250ZW50OiAkei1pbmRleC1iYWNrZ3JvdW5kICsgMTtcclxuICAgICR6LWluZGV4LWNsb3NlOiAkei1pbmRleC1jb250ZW50ICsgMTtcclxuXHJcbiAgICAmX19kaWFsb2cge1xyXG4gICAgICAgIHdpZHRoOiAxMDQ0cHg7XHJcblxyXG4gICAgICAgICYtLXNtYWxsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDM5OHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19ib2R5IHtcclxuICAgICAgICBwYWRkaW5nOiA5MHB4IDEwOHB4IDcwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNzBweCA5MnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDU1cHggNjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNDBweCA0OHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDI0cHggMzJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjRweCAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tZml4ZWRIZWlnaHQge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLXNtYWxsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNjJweCAyMHB4IDUwcHggMzZweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNTBweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMnB4IDE2cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjRweCAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGV4dGVuZCAld2l0aC1ib3R0b20tbGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi4jey0tY2VudGVyfSB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWZsZXgtY2VudGVyO1xyXG5cclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2xvc2Uge1xyXG4gICAgICAgIEBleHRlbmQgJWZsZXgtY2VudGVyO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWNjZW50LWRlZmF1bHQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMjVweDtcclxuICAgICAgICBzaXplOiA0NXB4O1xyXG4gICAgICAgIHRvcDogMjVweDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uLWRlZmF1bHQ7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtY2xvc2U7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgc2l6ZTogMzJweDtcclxuICAgICAgICAgICAgdG9wOiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxNnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJixcclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooOTBkZWcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tc21hbGwge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHNpemU6IDUwcHg7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuXHJcbiAgICAgICAgICAgICYsXHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDMycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1kZWZhdWx0IHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1zZW1pLXNtYWxsO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tbGFyZ2Uge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLWxhcmdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgQGV4dGVuZCAldGV4dC1sYXJnZTtcclxuXHJcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1zbWFsbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTZweCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZm9ybSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2JhY2tncm91bmQge1xyXG4gICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZTtcclxuXHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtYmFja2dyb3VuZDtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplO1xyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDk1ZGVnLCAkY29sb3ItbXV0ZWQtZXh0cmEtbGlnaHRlbiAwJSwgJGNvbG9yLW11dGVkLWV4dHJhLWxpZ2h0ZW4gMzUlLCByZ2JhKDI1MCwgMjUwLCAyNTAsIDApIDEwMCUpO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAkei1pbmRleC1vdmVybGF5O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplLWltYWdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtY29udGVudDtcclxuXHJcbiAgICAgICAgJi0tY2VudGVyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi4jey0taGlkZGVufSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5BYm91dEhlcm8ge1xyXG4gICAgJHotaW5kZXgtaW1hZ2U6IDE7XHJcbiAgICAkei1pbmRleC1jb250ZW50OiAkei1pbmRleC1pbWFnZSArIDE7XHJcblxyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1pbi1oZWlnaHQ6IDQ3MHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAzMjBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBtaW4taGVpZ2h0OiAyNDBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjRweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTM0cHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTEycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA5MnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcblxyXG4gICAgICAgICYtLXNtYWxsIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1wYWdlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0tbGFyZ2Uge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXhsYXJnZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgKyAmIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICBAZXh0ZW5kICV0ZXh0LXhsYXJnZTtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplO1xyXG5cclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1pbWFnZTtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplO1xyXG5cclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMSwgMTUsIDQ3LCAwLjUpO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplLWltYWdlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuQWJvdXROdW1iZXJzIHtcclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBjb3VudGVyLXJlc2V0OiAkY291bnRlci1hYm91dC1udW1iZXJzO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDEwOHB4IDMycHg7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogOTJweCAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA3MnB4IDIwcHg7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA2NHB4IDE2cHg7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14c21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA0OHB4O1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbSB7XHJcbiAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6ICRjb3VudGVyLWFib3V0LW51bWJlcnM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5BYm91dE51bWJlcnNJdGVtIHtcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQtZGVmYXVsdDtcclxuICAgICAgICBjb250ZW50OiBcIjBcIiBjb3VudGVyKCRjb3VudGVyLWFib3V0LW51bWJlcnMpO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmViYXM7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxMDBweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDkycHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDcycHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tYW5yb3BlO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzEyNTtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIEBleHRlbmQgJXRleHQtc21hbGw7XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLkFib3V0RmVhdHVyZXMge1xyXG4gICAgJHotaW5kZXgtaW1hZ2U6IDE7XHJcbiAgICAkei1pbmRleC1pdGVtczogJHotaW5kZXgtaW1hZ2UgKyAxO1xyXG5cclxuICAgICZfX2NhcmQge1xyXG4gICAgICAgIHBhZGRpbmc6IDY0cHggNTZweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNTZweCA0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDI0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMS4yNWZyIDFmcjtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtaXRlbXM7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICAkb2Zmc2V0OiA0OHB4O1xyXG5cclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRvZmZzZXQ7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJG9mZnNldDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDY1cHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZTtcclxuXHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtaW1hZ2U7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZTtcclxuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTEsIDE1LCA0NywgMC41KTtcclxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZS1pbWFnZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5BYm91dEZlYXR1cmVzSXRlbSB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAmX19udW1iZXIge1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJlYmFzO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTIwcHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTAwcHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oODBweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oNzBweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSg1NnB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iZWJhcztcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDIycHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMC45NTU7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSgyMHB4KTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMThweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNnB4KTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5BYm91dERvY3VtZW50cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbXV0ZWQtbGlnaHRlbjtcclxuICAgIHBhZGRpbmc6IDkwcHggMDtcclxuXHJcbiAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICBwYWRkaW5nOiA3MnB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDY0cHggMDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBwYWRkaW5nOiA1NnB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc2VjdGlvbiB7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOTBweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzJweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjRweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctc2VtaS1zbWFsbDtcclxuXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19udW1iZXIge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTZweCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5BYm91dENlcnRpZmljYXRlcyB7XHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmICsgJiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29sdW1uIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMnB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLWxhcmdlO1xyXG5cclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuXHJcbiAgICAmX19udW1iZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2Rlc2NyaXB0aW9uIHtcclxuICAgICAgICBAZXh0ZW5kICV0ZXh0LWxhcmdlO1xyXG5cclxuICAgICAgICBtYXgtd2lkdGg6IDcyMnB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14bGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uQWJvdXRPcmdhbml6YXRpb25zIHtcclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDQwcHggMTZweDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLWdhcDogMzJweDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjRweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDY0cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNTZweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkM2Q1ZDk7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDZweDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uQWJvdXRPcmdhbml6YXRpb25zSXRlbSB7XHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1tZWRpdW07XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbnVtYmVyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5BYm91dE1hcCB7XHJcbiAgICAkei1pbmRleC1tYXA6IDE7XHJcbiAgICAkei1pbmRleC1vdmVybGF5OiAkei1pbmRleC1tYXAgKyAxO1xyXG4gICAgJHotaW5kZXgtY29udGVudDogJHotaW5kZXgtb3ZlcmxheSArIDE7XHJcblxyXG4gICAgcGFkZGluZy10b3A6IDkwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDcycHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1NnB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzMnB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlZnVsbC1zaXplO1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICNDNEM0QzQgMCUsICNmOGY4ZjggMCUsIHJnYmEoMjQ4LCAyNDgsIDI0OCwgMCkgNDguOTklKTtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LW92ZXJsYXk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDkwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWNvbnRlbnQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNzJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDU2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy13aXRoLWhpZ2hsaWdodDtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLXhsYXJnZTtcclxuXHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1yZWd1bGFyO1xyXG4gICAgICAgIG1heC13aWR0aDogNjE0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIEBleHRlbmQgJXRleHQtbGFyZ2U7XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtdXAge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUzNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19tYXBDb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1tYXA7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtOTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbWFwIHtcclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogYXNwZWN0LXJhdGlvKDMyMCwgMzYwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYsXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLXVwIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcyMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuSG9tZVBhZ2Uge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2Fib3V0IHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMTAycHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDk1cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDkwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4NXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19udW1iZXJzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA2NXB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zZWN0aW9ucyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTQ1cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29uc3VsdGF0aW9uIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC02NXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19wcm9qZWN0cyB7XHJcbiAgICAgICAgJGNvbnN1bHRhdGlvbi1oYWxmLWhlaWdodC14czogMTE4cHg7XHJcbiAgICAgICAgJGNvbnN1bHRhdGlvbi1oYWxmLWhlaWdodDogMTQ0cHg7XHJcblxyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tdXRlZC1saWdodGVuO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMjBweCArICRjb25zdWx0YXRpb24taGFsZi1oZWlnaHQteHM7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMTBweCArICRjb25zdWx0YXRpb24taGFsZi1oZWlnaHQteHM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDBweCArICRjb25zdWx0YXRpb24taGFsZi1oZWlnaHQteHM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogOTBweCArICRjb25zdWx0YXRpb24taGFsZi1oZWlnaHQteHM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4MHB4ICsgJGNvbnN1bHRhdGlvbi1oYWxmLWhlaWdodC14cztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDgwcHggKyAkY29uc3VsdGF0aW9uLWhhbGYtaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19tYXAge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMTBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fcGFydG5lcnMge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuUHJvamVjdFBhZ2Uge1xyXG4gICAgJGJsb2NrOiAmO1xyXG4gICAgJGdhbGxlcnktaXRlbS12ZXJ0aWNhbC1ndXR0ZXItczogMjBweDtcclxuICAgICRnYWxsZXJ5LWl0ZW0tdmVydGljYWwtZ3V0dGVyOiAxMnB4O1xyXG5cclxuICAgIEBleHRlbmQgJXBhZ2UtbGF5b3V0O1xyXG5cclxuICAgIG1hcmdpbi10b3A6IDYwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2JhY2sge1xyXG4gICAgICAgIEBleHRlbmQgJWJhY2stYnV0dG9uLXdyYXBwZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1tZWRpdW07XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc3ViSGVhZGluZyB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1zZW1pLXNtYWxsO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2hlcm8ge1xyXG4gICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZS1pbWFnZS1jb250YWluZXI7XHJcblxyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGFzcGVjdC1yYXRpbygxMDQ1LCA0MTApO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3R0b206IDM0cHg7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMzBweCAxNTBweCByZ2JhKDg4LCA5MiwgMTc3LCAwLjMpO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMzRweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemUtaW1hZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2xpc3QsXHJcbiAgICAmX19pbmZvLFxyXG4gICAgJl9faW1hZ2VzLFxyXG4gICAgJl9fZ2FsbGVyeSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA3MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2ltYWdlIHtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0OHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19saXN0IHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtZ2FwOiA1MHB4IDMycHg7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiA0MHB4IDI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIGdyaWQtZ2FwOiAzMHB4IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgICAgIGdyaWQtcm93LWdhcDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGlzdExhYmVsIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlbjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1hbnJvcGU7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LXJlZ3VsYXI7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4yODU3MTU7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGlzdFZhbHVlIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGVmYXVsdDtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE2cHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zMTI1O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy14c21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW5mbyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA5MzdweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50LFxyXG4gICAgJl9faW1hZ2VDYXB0aW9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb250ZW50IHtcclxuICAgICAgICAmLndyYXAge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDBkZWcsIHRyYW5zcGFyZW50aXplKCRiYXNlLWJvZHktYmFja2dyb3VuZCwgMC4xKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2J1dHRvbiB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAkY29sb3ItcHJpbWFyeS1kZWZhdWx0O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtdXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgI3skYmxvY2t9X19jb250ZW50Om5vdCgud3JhcCkgKyAmIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZU92ZXJsYXlzIHtcclxuICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemU7XHJcblxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2VPdmVybGF5IHtcclxuICAgICAgICAmLS1jb3JuZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1ib2R5LWJhY2tncm91bmQ7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLW1pZGRsZSB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTAwO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoI3skY29udGFpbmVyLW1heC13aWR0aH0gLSB2YXIoLS1vdmVybGF5LWNvbnRhaW5lci1vZmZzZXQsIDBweCkpO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctY3VzdG9tLWRvd24oMTU2MHB4KSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoI3skY29udGFpbmVyLW1lZGl1bS1tYXgtd2lkdGh9IC0gdmFyKC0tb3ZlcmxheS1jb250YWluZXItb2Zmc2V0LCAwcHgpKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDIwMHB4ICsgdmFyKC0tb3ZlcmxheS1jb250YWluZXItb2Zmc2V0LCAwcHgpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pbWFnZUNhcHRpb24ge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVuO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMThweCk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzc3NztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDE2cHgpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19nYWxsZXJ5SXRlbXMge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IC0kZ2FsbGVyeS1pdGVtLXZlcnRpY2FsLWd1dHRlci1zO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGdhbGxlcnktaXRlbS12ZXJ0aWNhbC1ndXR0ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2dhbGxlcnlJdGVtIHtcclxuICAgICAgICBAZXh0ZW5kICV6b29tLWltYWdlLW9uLWhvdmVyLWltYWdlLXN0YXRlO1xyXG5cclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FsbGVyeS1pdGVtLXZlcnRpY2FsLWd1dHRlci1zO1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhbGxlcnktaXRlbS12ZXJ0aWNhbC1ndXR0ZXI7XHJcbiAgICAgICAgICAgIC8vIG92ZXJyaWRlIGlubGluZSBtYXNvbnJ5IHN0eWxlc1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtdXAge1xyXG4gICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRzY2FsZS1pbWFnZS1vbi1ob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb25zdWx0YXRpb24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE0MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5Qcm9qZWN0c1BhZ2Uge1xyXG4gICAgQGV4dGVuZCAlcGFnZS1sYXlvdXQ7XHJcblxyXG4gICAgJGJsb2NrOiAmO1xyXG5cclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIEBleHRlbmQgJWhlYWRpbmctcGFnZTtcclxuXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdG9FbSgzMHB4LCAkZm9udC1zaXplLWhlYWRpbmctbWVkaXVtKTtcclxuICAgIH1cclxuXHJcbiAgICAmX19maWx0ZXJzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2l0ZW1zIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtZ2FwOiA3MHB4IDMycHg7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICAgICAgICBtYXJnaW4tdG9wOiA3MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDYwcHggMjRweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDUwcHggMTZweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhzbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29uc3VsdGF0aW9uIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMzBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDExMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA5MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5TZXJ2aWNlc1BhZ2Uge1xyXG4gICAgQGV4dGVuZCAlcGFnZS1sYXlvdXQ7XHJcblxyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1wYWdlO1xyXG5cclxuICAgICAgICBtYXJnaW4tYm90dG9tOiB0b0VtKDMwcHgsICRmb250LXNpemUtaGVhZGluZy1tZWRpdW0pO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2ZpbHRlcnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faXRlbXMge1xyXG4gICAgICAgIGNvdW50ZXItcmVzZXQ6ICRjb3VudGVyLXNlcnZpY2VzO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLW9ubHkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogNjBweCAyMHB4O1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogJGNvdW50ZXItc2VydmljZXM7XHJcblxyXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTM1cHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1vbmx5IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdncteHNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb25zdWx0YXRpb24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE0MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi5TZXJ2aWNlUGFnZSB7XHJcbiAgICBAZXh0ZW5kICVwYWdlLWxheW91dDtcclxuXHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYmFjayB7XHJcbiAgICAgICAgQGV4dGVuZCAlYmFjay1idXR0b24td3JhcHBlcjtcclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkaW5nIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLW1lZGl1bTtcclxuXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdG9FbSgyMHB4LCAkZm9udC1zaXplLWhlYWRpbmctbWVkaXVtKTtcclxuICAgIH1cclxuXHJcbiAgICAmX19jb25zdWx0YXRpb24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXhsYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNzBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIuRXJyb3JQYWdlIHtcclxuICAgICRibG9jazogJjtcclxuICAgICR6LWluZGV4LWltYWdlOiAxO1xyXG4gICAgJHotaW5kZXgtZ3JpZDogJHotaW5kZXgtaW1hZ2UgKyAxO1xyXG5cclxuICAgIEBleHRlbmQgJWZsZXgtY2VudGVyO1xyXG5cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWV4dHJhLWxpZ2h0ZW47XHJcbiAgICBwYWRkaW5nOiA3MnB4IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgcGFkZGluZzogNjRweCAwO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy14bGFyZ2U7XHJcblxyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBtYXgtd2lkdGg6IDU0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWdyaWQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb2RlIHtcclxuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnRpemUod2hpdGUsIDAuNSk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iZWJhcztcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDUwMHB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNzJweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdncteGxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDQwMHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LWxhcmdlLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDMyMHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiB0b1JlbSgyNDBweCk7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIG9yZGVyOiAtMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvUmVtKDE1MHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIEBleHRlbmQgJXRleHQtbGFyZ2U7XHJcblxyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW1lZGl1bTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4xMTExO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0MzVweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19idXR0b24ge1xyXG4gICAgICAgIEBleHRlbmQgLnVrLWJ1dHRvbiwgLnVrLWJ1dHRvbi1wcmltYXJ5O1xyXG5cclxuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIEBleHRlbmQgJWZ1bGwtc2l6ZS1pbWFnZTtcclxuXHJcbiAgICAgICAgei1pbmRleDogJHotaW5kZXgtaW1hZ2U7XHJcbiAgICB9XHJcbn1cclxuIiwiLkNvbnRhY3RzUGFnZSB7XHJcbiAgICAkYmxvY2s6ICY7XHJcblxyXG4gICAgQGV4dGVuZCAlcGFnZS1sYXlvdXQ7XHJcblxyXG4gICAgJl9faGVhZGluZyB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1wYWdlO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBAZXh0ZW5kICVoZWFkaW5nLW1lZGl1bTtcclxuXHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19zdWJ0aXRsZSB7XHJcbiAgICAgICAgQGV4dGVuZCAlaGVhZGluZy1zZW1pLXNtYWxsO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2Zvcm1Db250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2xpc3QsXHJcbiAgICAmX19mb3JtIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc2VjdGlvbiB7XHJcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDgwcHg7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDcwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLkNvbnRhY3RzTGlzdCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcclxuICAgIGdyaWQtZ2FwOiAzMHB4IDEzOXB4O1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgYXV0byk7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDI0cHggMTAwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgIGdyaWQtZ2FwOiAyMHB4IDcycHg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDMycHg7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29sdW1uIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDI5MXB4O1xyXG5cclxuICAgICAgICAmLS1waG9uZXMge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tdXAge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW4tZW5kOiAtMTtcclxuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gMztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtcyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19pdGVtIHtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyN3B4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctbWVkaXVtLWRvd24ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdnctc21hbGwtZG93biB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2hlYWRpbmcge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVuO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbWFucm9wZTtcclxuICAgICAgICBmb250LXNpemU6IHRvUmVtKDE0cHgpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtcmVndWxhcjtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI4NTtcclxuICAgIH1cclxuXHJcbiAgICAmX192YWx1ZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRlZmF1bHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxNnB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzEyNTtcclxuICAgIH1cclxuXHJcbiAgICAmX19sYWJlbCB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0ZW47XHJcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxMnB4KTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLkNvbnRhY3RzTWFwIHtcclxuICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBsYWNlaG9sZGVyO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDI4MHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBhc3BlY3QtcmF0aW8oMTQ0MCwgNjEyKTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbWFwIHtcclxuICAgICAgICBAZXh0ZW5kICVmdWxsLXNpemU7XHJcbiAgICB9XHJcbn1cclxuIiwiLkFib3V0UGFnZSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XHJcblxyXG4gICAgQGluY2x1ZGUgdnctbGFyZ2UtZG93biB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19wcmltYXJ5SW5mbyxcclxuICAgICZfX2ZlYXR1cmVzLFxyXG4gICAgJl9fbnVtYmVycyxcclxuICAgICZfX2RvY3VtZW50cyxcclxuICAgICZfX3BhcnRuZXJzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiA5MHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNzJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LW1lZGl1bS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjRweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIHZ3LXNtYWxsLWRvd24ge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1NnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb25zdWx0YXRpb24ge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEzMHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1sYXJnZS1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1tZWRpdW0tZG93biB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDkwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSB2dy1zbWFsbC1kb3duIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19 */

/* End */


/* Start:/local/templates/ETIKA_TYPICAL_PAGE/assets/css/custom.css?1618906964202400*/
*, ::after, ::before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

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

blockquote, body, dd, dl, figcaption, figure, h1, h2, h3, h4, li, ol, p, ul {
    margin: 0
}

html {
    scroll-behavior: smooth
}

body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto
}

img {
    max-width: 100%;
    display: block
}

button, input, select, textarea {
    font: inherit
}

button {
    background: 0 0;
    border: none;
    margin: 0;
    padding: 0
}

@media (prefers-reduced-motion: reduce) {
    * {
        -webkit-animation-duration: 0s !important;
        animation-duration: 0s !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
        -webkit-transition-duration: 0s !important;
        -o-transition-duration: 0s !important;
        transition-duration: 0s !important;
        scroll-behavior: auto !important
    }
}

textarea {
    resize: vertical
}

iframe {
    max-width: 100%
}

fieldset {
    min-width: 0
}

th {
    font-weight: inherit;
    text-align: inherit
}

:root {
    --swiper-theme-color: #3b65cf
}

.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-container-vertical > .swiper-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    -o-transition-property: transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}

.swiper-container-android .swiper-slide, .swiper-wrapper {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.swiper-container-multirow > .swiper-wrapper {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.swiper-container-multirow-column > .swiper-wrapper {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.swiper-container-free-mode > .swiper-wrapper {
    -webkit-transition-timing-function: ease-out;
    -o-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-slide {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    -o-transition-property: transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
    height: auto
}

.swiper-container-autoheight .swiper-wrapper {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-transition-property: height, -webkit-transform;
    transition-property: height, -webkit-transform;
    -o-transition-property: transform, height;
    transition-property: transform, height;
    transition-property: transform, height, -webkit-transform
}

.swiper-container-3d {
    -webkit-perspective: 1200px;
    perspective: 1200px
}

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d
}

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-container-3d .swiper-slide-shadow-left {
    background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-right {
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-top {
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-3d .swiper-slide-shadow-bottom {
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, 0)));
    background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: -o-linear-gradient(top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-container-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch
}

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start
}

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
    -ms-scroll-snap-type: x mandatory;
    -webkit-scroll-snap-type: x mandatory;
    scroll-snap-type: x mandatory
}

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
    -ms-scroll-snap-type: y mandatory;
    -webkit-scroll-snap-type: y mandatory;
    scroll-snap-type: y mandatory
}

.swiper-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.swiper-button {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #3b65cf;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 27px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    outline: 0;
    -webkit-transition: .2s ease-out;
    -o-transition: .2s ease-out;
    transition: .2s ease-out;
    -webkit-transition-property: color, opacity, background-color;
    -o-transition-property: color, opacity, background-color;
    transition-property: color, opacity, background-color;
    width: 27px;
    z-index: 1
}

.swiper-button:not(:last-child) {
    margin-right: 10px
}

@media (max-width: 899px) {
    .swiper-button:not(:last-child) {
        margin-right: 8px
    }
}

@media (hover: hover) and (pointer: fine) {
    .swiper-button:not(.swiper-button-disabled):active, .swiper-button:not(.swiper-button-disabled):focus-within, .swiper-button:not(.swiper-button-disabled):hover {
        background-color: #2a4fad
    }
}

.swiper-button svg {
    max-width: 19px;
    -webkit-transition: stroke .2s ease-out;
    -o-transition: stroke .2s ease-out;
    transition: stroke .2s ease-out
}

.swiper-button-prev svg {
    -webkit-transform: rotateZ(180deg);
    -ms-transform: rotate(180deg);
    transform: rotateZ(180deg)
}

.swiper-button-disabled {
    background-color: #dcdfe5;
    color: #3d475f
}

.swiper-button-large {
    width: 50px;
    height: 50px
}

@media (max-width: 899px) {
    .swiper-button-large {
        width: 40px;
        height: 40px
    }
}

@media (max-width: 639px) {
    .swiper-button-large {
        width: 32px;
        height: 32px
    }
}

.swiper-button-large:not(:last-child) {
    margin-right: 20px
}

@media (max-width: 899px) {
    .swiper-button-large:not(:last-child) {
        margin-right: 16px
    }
}

@media (max-width: 639px) {
    .swiper-button-large:not(:last-child) {
        margin-right: 12px
    }
}

.swiper-button-white {
    background-color: #fff
}

@media (hover: hover) and (pointer: fine) {
    .swiper-button-white:not(.swiper-button-white-disabled):active, .swiper-button-white:not(.swiper-button-white-disabled):focus-within, .swiper-button-white:not(.swiper-button-white-disabled):hover {
        background-color: #2a4fad
    }

    .swiper-button-white:not(.swiper-button-white-disabled):active svg, .swiper-button-white:not(.swiper-button-white-disabled):focus-within svg, .swiper-button-white:not(.swiper-button-white-disabled):hover svg {
        stroke: #fff
    }
}

.swiper-button-white svg {
    stroke: #3b65cf
}

html {
    font-family: Manrope, sans-serif;
    font-size: 100%;
    font-weight: 400;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    background: #f8f8f8;
    color: #3d475f
}

body {
    margin: 0
}

a:active, a:hover {
    outline: 0
}

.uk-link, a {
    color: #3d475f;
    text-decoration: none;
    cursor: pointer;
    -webkit-transition: color .2s ease-out;
    -o-transition: color .2s ease-out;
    transition: color .2s ease-out
}

.uk-link-toggle:focus .uk-link, .uk-link-toggle:hover .uk-link, .uk-link:hover, a:hover {
    color: #3b65cf;
    text-decoration: none
}

abbr[title] {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    -webkit-text-decoration-style: dotted
}

b, strong {
    font-weight: bolder
}

:not(pre) > code, :not(pre) > kbd, :not(pre) > samp {
    font-family: Consolas, monaco, monospace;
    font-size: .875rem;
    color: #f25d50;
    white-space: nowrap
}

em {
    color: inherit
}

ins {
    background: #ffd;
    color: #666;
    text-decoration: none
}

mark {
    background: #ffd;
    color: #666
}

q {
    font-style: italic
}

small {
    font-size: 80%
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

audio, canvas, iframe, img, svg, video {
    vertical-align: middle
}

canvas, img, video {
    max-width: 100%;
    height: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@supports (display:block) {
    svg {
        max-width: 100%;
        height: auto;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

svg:not(:root) {
    overflow: hidden
}

img:not([src]) {
    min-width: 1px;
    visibility: hidden
}

iframe {
    border: 0
}

address, dl, fieldset, figure, ol, p, pre, ul {
    margin: 0
}

* + address, * + dl, * + fieldset, * + figure, * + ol, * + p, * + pre, * + ul {
    margin-top: 0
}

.uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6, .uk-heading-2xlarge, .uk-heading-large, .uk-heading-medium, .uk-heading-small, .uk-heading-xlarge, h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-family: "Bebas Neue", cursive;
    font-weight: 700;
    color: #3d475f;
    text-transform: none
}

* + .uk-h1, * + .uk-h2, * + .uk-h3, * + .uk-h4, * + .uk-h5, * + .uk-h6, * + .uk-heading-2xlarge, * + .uk-heading-large, * + .uk-heading-medium, * + .uk-heading-small, * + .uk-heading-xlarge, * + h1, * + h2, * + h3, * + h4, * + h5, * + h6 {
    margin-top: 0
}

.uk-h1, h1 {
    font-size: 2.23125rem;
    line-height: 1.2
}

.uk-h2, h2 {
    font-size: 1.7rem;
    line-height: 1.3
}

.uk-h3, h3 {
    font-size: 1.5rem;
    line-height: 1.4
}

.uk-h4, h4 {
    font-size: 1.25rem;
    line-height: 1.4
}

.uk-h5, h5 {
    font-size: 16px;
    line-height: 1.4
}

.uk-h6, h6 {
    font-size: .875rem;
    line-height: 1.4
}

@media (min-width: 900px) {
    .uk-h1, h1 {
        font-size: 2.625rem
    }

    .uk-h2, h2 {
        font-size: 2rem
    }
}

ol, ul {
    padding-left: 0
}

ol > li > ol, ol > li > ul, ul > li > ol, ul > li > ul {
    margin: 0
}

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

.uk-hr, hr {
    overflow: visible;
    text-align: inherit;
    margin: 0 0 20px 0;
    border: 0;
    border-top: 1px solid #e5e5e5
}

* + .uk-hr, * + hr {
    margin-top: 20px
}

address {
    font-style: normal
}

blockquote {
    margin: 0 0 20px 0;
    font-size: 1.25rem;
    line-height: 1.5;
    font-style: italic
}

* + blockquote {
    margin-top: 20px
}

blockquote p:last-of-type {
    margin-bottom: 0
}

blockquote footer {
    margin-top: 10px;
    font-size: .875rem;
    line-height: 1.5
}

pre {
    font: .875rem/1.5 Consolas, monaco, monospace;
    color: #666;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    overflow: auto;
    -webkit-overflow-scrolling: touch
}

pre code {
    font-family: Consolas, monaco, monospace
}

::-moz-selection {
    background: #39f;
    color: #fff;
    text-shadow: none
}

::selection {
    background: #39f;
    color: #fff;
    text-shadow: none
}

details, main {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

.uk-breakpoint-s::before {
    content: "640px"
}

.uk-breakpoint-m::before {
    content: "900px"
}

.uk-breakpoint-l::before {
    content: "1000px"
}

.uk-breakpoint-xl::before {
    content: "1200px"
}

:root {
    --uk-breakpoint-s: 640px;
    --uk-breakpoint-m: 900px;
    --uk-breakpoint-l: 1000px;
    --uk-breakpoint-xl: 1200px
}

.uk-icon {
    margin: 0;
    border: none;
    -webkit-border-radius: 0;
    border-radius: 0;
    overflow: visible;
    font: inherit;
    color: inherit;
    text-transform: none;
    padding: 0;
    background-color: transparent;
    display: inline-block;
    fill: currentcolor;
    line-height: 0
}

button.uk-icon:not(:disabled) {
    cursor: pointer
}

.uk-icon::-moz-focus-inner {
    border: 0;
    padding: 0
}

.uk-icon:not(.uk-preserve) [fill*='#']:not(.uk-preserve) {
    fill: currentcolor
}

.uk-icon:not(.uk-preserve) [stroke*='#']:not(.uk-preserve) {
    stroke: currentcolor
}

.uk-icon > * {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0)
}

.uk-icon-image {
    width: 20px;
    height: 20px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    -webkit-background-size: contain;
    background-size: contain;
    vertical-align: middle
}

.uk-icon-link {
    color: #999
}

.uk-icon-link:focus, .uk-icon-link:hover {
    color: #666;
    outline: 0
}

.uk-active > .uk-icon-link, .uk-icon-link:active {
    color: #595959
}

.uk-icon-button {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 36px;
    height: 36px;
    -webkit-border-radius: 500px;
    border-radius: 500px;
    background: #f8f8f8;
    color: #999;
    vertical-align: middle;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.uk-icon-button:focus, .uk-icon-button:hover {
    background-color: #ebebeb;
    color: #666;
    outline: 0
}

.uk-active > .uk-icon-button, .uk-icon-button:active {
    background-color: #dfdfdf;
    color: #666
}

.SiteForm__checkbox, .SiteForm__input, .SiteForm__textarea, .uk-checkbox, .uk-input, .uk-radio, .uk-select, .uk-textarea {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    -webkit-border-radius: 0;
    border-radius: 0;
    font: inherit
}

.SiteForm__input, .uk-input {
    overflow: visible
}

.uk-select {
    text-transform: none
}

.uk-select optgroup {
    font: inherit;
    font-weight: 700
}

.SiteForm__textarea, .uk-textarea {
    overflow: auto;
    -webkit-overflow-scrolling: touch
}

.SiteForm__input[type=search]::-webkit-search-cancel-button, .SiteForm__input[type=search]::-webkit-search-decoration, .uk-input[type=search]::-webkit-search-cancel-button, .uk-input[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

.SiteForm__input[type=number]::-webkit-inner-spin-button, .SiteForm__input[type=number]::-webkit-outer-spin-button, .uk-input[type=number]::-webkit-inner-spin-button, .uk-input[type=number]::-webkit-outer-spin-button {
    height: auto
}

.SiteForm__input::-moz-placeholder, .SiteForm__textarea::-moz-placeholder, .uk-input::-moz-placeholder, .uk-textarea::-moz-placeholder {
    opacity: 1
}

.SiteForm__checkbox:not(:disabled), .uk-checkbox:not(:disabled), .uk-radio:not(:disabled) {
    cursor: pointer
}

.uk-fieldset {
    border: none;
    margin: 0;
    padding: 0
}

.SiteForm__input, .SiteForm__textarea, .uk-input, .uk-textarea {
    -webkit-appearance: none
}

.SiteForm__input, .SiteForm__textarea, .uk-input, .uk-select, .uk-textarea {
    max-width: 100%;
    width: 100%;
    border: 0 none;
    padding: 0 20px;
    background: #fff;
    color: #3d475f
}

.SiteForm__input, .uk-input, .uk-select:not([multiple]):not([size]) {
    height: 48px;
    vertical-align: middle;
    display: inline-block;
    border: 1px solid #d3d5d9;
    caret-color: #3b65cf;
    -webkit-transition: .2s ease-out;
    -o-transition: .2s ease-out;
    transition: .2s ease-out;
    -webkit-transition-property: border-color, background-color;
    -o-transition-property: border-color, background-color;
    transition-property: border-color, background-color
}

.SiteForm__input:not(input), .uk-input:not(input), .uk-select:not(select) {
    line-height: 1.5
}

.SiteForm__textarea, .uk-select[multiple], .uk-select[size], .uk-textarea {
    padding-top: 12px;
    padding-bottom: 12px;
    vertical-align: top
}

.SiteForm__input:focus, .SiteForm__textarea:focus, .uk-input:focus, .uk-select:focus, .uk-textarea:focus {
    outline: 0;
    background-color: #fff;
    color: #3d475f
}

.SiteForm__input:disabled, .SiteForm__textarea:disabled, .uk-input:disabled, .uk-select:disabled, .uk-textarea:disabled {
    background-color: #f8f8f8;
    color: #868686
}

.SiteForm__input::-ms-input-placeholder, .uk-input::-ms-input-placeholder {
    color: rgba(61, 71, 95, .8) !important
}

.SiteForm__input::-moz-placeholder, .uk-input::-moz-placeholder {
    color: rgba(61, 71, 95, .8)
}

.SiteForm__input:-ms-input-placeholder, .uk-input:-ms-input-placeholder {
    color: rgba(61, 71, 95, .8)
}

.SiteForm__input::-ms-input-placeholder, .uk-input::-ms-input-placeholder {
    color: rgba(61, 71, 95, .8)
}

.SiteForm__input::-webkit-input-placeholder, .uk-input::-webkit-input-placeholder {
    color: rgba(61, 71, 95, .8)
}

.SiteForm__input::-moz-placeholder, .uk-input::-moz-placeholder {
    color: rgba(61, 71, 95, .8)
}

.SiteForm__input::-ms-input-placeholder, .uk-input::-ms-input-placeholder {
    color: rgba(61, 71, 95, .8)
}

.SiteForm__input::placeholder, .uk-input::placeholder {
    color: rgba(61, 71, 95, .8)
}

.SiteForm__textarea::-ms-input-placeholder, .uk-textarea::-ms-input-placeholder {
    color: rgba(61, 71, 95, .8) !important
}

.SiteForm__textarea::-moz-placeholder, .uk-textarea::-moz-placeholder {
    color: rgba(61, 71, 95, .8)
}

.SiteForm__textarea:-ms-input-placeholder, .uk-textarea:-ms-input-placeholder {
    color: rgba(61, 71, 95, .8)
}

.SiteForm__textarea::-ms-input-placeholder, .uk-textarea::-ms-input-placeholder {
    color: rgba(61, 71, 95, .8)
}

.SiteForm__textarea::-webkit-input-placeholder, .uk-textarea::-webkit-input-placeholder {
    color: rgba(61, 71, 95, .8)
}

.SiteForm__textarea::-moz-placeholder, .uk-textarea::-moz-placeholder {
    color: rgba(61, 71, 95, .8)
}

.SiteForm__textarea::-ms-input-placeholder, .uk-textarea::-ms-input-placeholder {
    color: rgba(61, 71, 95, .8)
}

.SiteForm__textarea::placeholder, .uk-textarea::placeholder {
    color: rgba(61, 71, 95, .8)
}

.uk-form-small {
    font-size: .875rem
}

.uk-form-small:not(textarea):not([multiple]):not([size]) {
    height: 30px;
    padding-left: 8px;
    padding-right: 8px
}

.uk-form-small:not(select):not(input):not(textarea) {
    line-height: 30px
}

.uk-form-large {
    font-size: 1.25rem
}

.uk-form-large:not(textarea):not([multiple]):not([size]) {
    height: 55px;
    padding-left: 12px;
    padding-right: 12px
}

.uk-form-large:not(select):not(input):not(textarea) {
    line-height: 55px
}

.uk-form-danger, .uk-form-danger:focus {
    color: #f25d50
}

.uk-form-success, .uk-form-success:focus {
    color: #57a749
}

.uk-form-blank {
    background: 0 0
}

input.uk-form-width-xsmall {
    width: 50px
}

select.uk-form-width-xsmall {
    width: 75px
}

.uk-form-width-small {
    width: 130px
}

.uk-form-width-medium {
    width: 200px
}

.uk-form-width-large {
    width: 500px
}

.uk-select:not([multiple]):not([size]) {
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 20px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
    background-repeat: no-repeat;
    background-position: 100% 50%
}

.uk-select:not([multiple]):not([size])::-ms-expand {
    display: none
}

.uk-select:not([multiple]):not([size]) option {
    color: #444
}

.uk-select:not([multiple]):not([size]):disabled {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A")
}

.SiteForm__input[list], .uk-input[list] {
    padding-right: 20px;
    background-repeat: no-repeat;
    background-position: 100% 50%
}

.SiteForm__input[list]:focus, .SiteForm__input[list]:hover, .uk-input[list]:focus, .uk-input[list]:hover {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2012%208%206%2016%206%22%20%2F%3E%0A%3C%2Fsvg%3E%0A")
}

.SiteForm__input[list]::-webkit-calendar-picker-indicator, .uk-input[list]::-webkit-calendar-picker-indicator {
    display: none
}

.SiteForm__checkbox, .uk-checkbox, .uk-radio {
    display: inline-block;
    height: 16px;
    width: 16px;
    overflow: hidden;
    margin-top: -4px;
    vertical-align: middle;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #3b65cf;
    background-repeat: no-repeat;
    background-position: 50% 50%
}

.uk-radio {
    -webkit-border-radius: 50%;
    border-radius: 50%
}

.SiteForm__checkbox:focus, .uk-checkbox:focus, .uk-radio:focus {
    outline: 0
}

.SiteForm__checkbox:checked, .SiteForm__checkbox:indeterminate, .uk-checkbox:checked, .uk-checkbox:indeterminate, .uk-radio:checked {
    background-color: #3b65cf
}

.SiteForm__checkbox:checked:focus, .SiteForm__checkbox:indeterminate:focus, .uk-checkbox:checked:focus, .uk-checkbox:indeterminate:focus, .uk-radio:checked:focus {
    background-color: #3b65cf
}

.uk-radio:checked {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23fff%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E")
}

.SiteForm__checkbox:checked, .uk-checkbox:checked {
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.21981 0.469811L3.50006 5.18956L1.78031 3.46981C1.48603 3.18558 1.01825 3.18965 0.728947 3.47895C0.439647 3.76825 0.435582 4.23603 0.719811 4.53031L2.96981 6.78031C3.26269 7.0731 3.73744 7.0731 4.03031 6.78031L9.28031 1.53031C9.56454 1.23603 9.56047 0.768248 9.27117 0.478947C8.98187 0.189647 8.5141 0.185582 8.21981 0.469811Z' fill='white'/%3E%3C/svg%3E%0A")
}

.SiteForm__checkbox:indeterminate, .uk-checkbox:indeterminate {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23fff%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E")
}

.SiteForm__checkbox:disabled, .uk-checkbox:disabled, .uk-radio:disabled {
    background-color: #8da5e3
}

.uk-radio:disabled:checked {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23999%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E")
}

.SiteForm__checkbox:disabled:checked, .uk-checkbox:disabled:checked {
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='7' viewBox='0 0 10 7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M8.21981 0.469811L3.50006 5.18956L1.78031 3.46981C1.48603 3.18558 1.01825 3.18965 0.728947 3.47895C0.439647 3.76825 0.435582 4.23603 0.719811 4.53031L2.96981 6.78031C3.26269 7.0731 3.73744 7.0731 4.03031 6.78031L9.28031 1.53031C9.56454 1.23603 9.56047 0.768248 9.27117 0.478947C8.98187 0.189647 8.5141 0.185582 8.21981 0.469811Z' fill='white'/%3E%3C/svg%3E%0A")
}

.SiteForm__checkbox:disabled:indeterminate, .uk-checkbox:disabled:indeterminate {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23999%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E")
}

.uk-legend {
    width: 100%;
    color: inherit;
    padding: 0;
    font-size: 1.5rem;
    line-height: 1.4
}

.uk-form-custom {
    display: inline-block;
    position: relative;
    max-width: 100%;
    vertical-align: middle
}

.uk-form-custom input[type=file], .uk-form-custom select {
    position: absolute;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    left: 0;
    -webkit-appearance: none;
    opacity: 0;
    cursor: pointer
}

.uk-form-custom input[type=file] {
    font-size: 500px;
    overflow: hidden
}

.uk-form-stacked .uk-form-label {
    display: block;
    margin-bottom: 10px
}

@media (max-width: 899px) {
    .uk-form-horizontal .uk-form-label {
        display: block;
        margin-bottom: 10px
    }
}

@media (min-width: 900px) {
    .uk-form-horizontal .uk-form-label {
        width: 200px;
        margin-top: 7px;
        float: left
    }

    .uk-form-horizontal .uk-form-controls {
        margin-left: 215px
    }

    .uk-form-horizontal .uk-form-controls-text {
        padding-top: 7px
    }
}

.uk-form-icon {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 48px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #999
}

.uk-form-icon:hover {
    color: #666
}

.uk-form-icon:not(a):not(button):not(input) {
    pointer-events: none
}

.uk-form-icon:not(.uk-form-icon-flip) ~ .SiteForm__input, .uk-form-icon:not(.uk-form-icon-flip) ~ .uk-input {
    padding-left: 48px !important
}

.uk-form-icon-flip {
    right: 0;
    left: auto
}

.uk-form-icon-flip ~ .SiteForm__input, .uk-form-icon-flip ~ .uk-input {
    padding-right: 48px !important
}

.Consultation__button, .ErrorPage__button, .ServiceCard__button, .SiteForm__button, .SiteHeader__button, .SiteHeader__hamburger, .SiteOffCanvas__close, .uk-button {
    margin: 0;
    border: none;
    overflow: visible;
    font: inherit;
    color: inherit;
    text-transform: none;
    -webkit-appearance: none;
    -webkit-border-radius: 0;
    border-radius: 0;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 24px;
    vertical-align: middle;
    font-size: .8125rem;
    line-height: 42px;
    text-align: center;
    text-decoration: none;
    font-weight: 600;
    -webkit-transition: .2s ease-out;
    -o-transition: .2s ease-out;
    transition: .2s ease-out;
    -webkit-transition-property: background-color, color, border-color;
    -o-transition-property: background-color, color, border-color;
    transition-property: background-color, color, border-color
}

.Consultation__button:not(:disabled), .ErrorPage__button:not(:disabled), .ServiceCard__button:not(:disabled), .SiteForm__button:not(:disabled), .SiteHeader__button:not(:disabled), .SiteHeader__hamburger:not(:disabled), .SiteOffCanvas__close:not(:disabled), .uk-button:not(:disabled) {
    cursor: pointer
}

.Consultation__button::-moz-focus-inner, .ErrorPage__button::-moz-focus-inner, .ServiceCard__button::-moz-focus-inner, .SiteForm__button::-moz-focus-inner, .SiteHeader__button::-moz-focus-inner, .SiteHeader__hamburger::-moz-focus-inner, .SiteOffCanvas__close::-moz-focus-inner, .uk-button::-moz-focus-inner {
    border: 0;
    padding: 0
}

.Consultation__button:hover, .ErrorPage__button:hover, .ServiceCard__button:hover, .SiteForm__button:hover, .SiteHeader__button:hover, .SiteHeader__hamburger:hover, .SiteOffCanvas__close:hover, .uk-button:hover {
    text-decoration: none
}

.Consultation__button:focus, .ErrorPage__button:focus, .ServiceCard__button:focus, .SiteForm__button:focus, .SiteHeader__button:focus, .SiteHeader__hamburger:focus, .SiteOffCanvas__close:focus, .uk-button:focus {
    outline: 0
}

.uk-button-default {
    background-color: #fff;
    color: #3d475f;
    border: 1px solid #bfbfbf;
    -webkit-border-radius: 100px;
    border-radius: 100px
}

.uk-button-default:focus, .uk-button-default:hover {
    background-color: #3b65cf;
    color: #fff;
    border-color: #3b65cf
}

.uk-button-default.uk-active, .uk-button-default:active {
    background-color: #3b65cf;
    color: #fff
}

.Consultation__button, .ErrorPage__button, .ServiceCard__button, .SiteForm__button, .SiteHeader__button, .SiteHeader__hamburger, .SiteOffCanvas__close, .uk-button-primary {
    background-color: #3b65cf;
    color: #fff
}

.Consultation__button:focus, .Consultation__button:hover, .ErrorPage__button:focus, .ErrorPage__button:hover, .ServiceCard__button:focus, .ServiceCard__button:hover, .SiteForm__button:focus, .SiteForm__button:hover, .SiteHeader__button:focus, .SiteHeader__button:hover, .SiteHeader__hamburger:focus, .SiteHeader__hamburger:hover, .SiteOffCanvas__close:focus, .SiteOffCanvas__close:hover, .uk-button-primary:focus, .uk-button-primary:hover {
    background-color: #2f59c1;
    color: #fff
}

.Consultation__button:active, .ErrorPage__button:active, .ServiceCard__button:active, .SiteForm__button:active, .SiteHeader__button:active, .SiteHeader__hamburger:active, .SiteOffCanvas__close:active, .uk-active.Consultation__button, .uk-active.ErrorPage__button, .uk-active.ServiceCard__button, .uk-active.SiteForm__button, .uk-active.SiteHeader__button, .uk-active.SiteHeader__hamburger, .uk-active.SiteOffCanvas__close, .uk-button-primary.uk-active, .uk-button-primary:active {
    background-color: #2a4fad;
    color: #fff
}

.uk-button-secondary {
    background-color: #fff;
    color: #868686
}

.uk-button-secondary:focus, .uk-button-secondary:hover {
    background-color: #f2f2f2;
    color: #fff
}

.uk-button-secondary.uk-active, .uk-button-secondary:active {
    background-color: #e6e6e6;
    color: #fff
}

.uk-button-danger {
    background-color: #f25d50;
    color: #fff
}

.uk-button-danger:focus, .uk-button-danger:hover {
    background-color: #f04738;
    color: #fff
}

.uk-button-danger.uk-active, .uk-button-danger:active {
    background-color: #ee3120;
    color: #fff
}

.Consultation__button:disabled, .ErrorPage__button:disabled, .ServiceCard__button:disabled, .SiteForm__button:disabled, .SiteHeader__button:disabled, .SiteHeader__hamburger:disabled, .SiteOffCanvas__close:disabled, .uk-button-danger:disabled, .uk-button-default:disabled, .uk-button-primary:disabled, .uk-button-secondary:disabled {
    background-color: #3b65cf;
    color: #fff
}

.uk-button-small {
    padding: 0 15px;
    line-height: 30px;
    font-size: .875rem
}

.SiteHeader__button, .SiteHeader__hamburger, .SiteOffCanvas__close, .uk-button-large {
    padding: 0 24px;
    line-height: 47px;
    font-size: .8125rem
}

.uk-button-text {
    padding: 0;
    line-height: 1.5;
    background: 0 0;
    color: #999
}

.uk-button-text:focus, .uk-button-text:hover {
    color: #666
}

.uk-button-text:disabled {
    color: #999
}

.uk-button-link {
    padding: 0;
    line-height: 1.5;
    background: 0 0;
    color: #1e87f0
}

.uk-button-link:focus, .uk-button-link:hover {
    color: #0f6ecd;
    text-decoration: underline
}

.uk-button-link:disabled {
    color: #999;
    text-decoration: none
}

.uk-button-group {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    vertical-align: middle;
    position: relative
}

.Layout__container, .uk-container {
    display: flow-root;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    max-width: 1260px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px
}

@media (min-width: 640px) {
    .Layout__container, .uk-container {
        padding-left: 24px;
        padding-right: 24px
    }
}

@media (min-width: 900px) {
    .Layout__container, .uk-container {
        padding-left: 32px;
        padding-right: 32px
    }
}

.Layout__container > :last-child, .uk-container > :last-child {
    margin-bottom: 0
}

.Layout__container .Layout__container, .Layout__container .uk-container, .uk-container .Layout__container, .uk-container .uk-container {
    padding-left: 0;
    padding-right: 0
}

.uk-container-xsmall {
    max-width: 750px
}

.Layout__container--small, .uk-container-small {
    max-width: 808px
}

.uk-container-large {
    max-width: 1400px
}

.Layout__container--xlarge, .uk-container-xlarge {
    max-width: 1920px
}

.uk-container-expand {
    max-width: none
}

.uk-container-expand-left {
    margin-left: 0
}

.uk-container-expand-right {
    margin-right: 0
}

@media (min-width: 640px) {
    .uk-container-expand-left.uk-container-xsmall, .uk-container-expand-right.uk-container-xsmall {
        max-width: calc(50% + (750px / 2) - 24px)
    }

    .uk-container-expand-left.Layout__container--small, .uk-container-expand-left.uk-container-small, .uk-container-expand-right.Layout__container--small, .uk-container-expand-right.uk-container-small {
        max-width: calc(50% + (808px / 2) - 24px)
    }
}

@media (min-width: 900px) {
    .uk-container-expand-left, .uk-container-expand-right {
        max-width: calc(50% + (1260px / 2) - 32px)
    }

    .uk-container-expand-left.uk-container-xsmall, .uk-container-expand-right.uk-container-xsmall {
        max-width: calc(50% + (750px / 2) - 32px)
    }

    .uk-container-expand-left.Layout__container--small, .uk-container-expand-left.uk-container-small, .uk-container-expand-right.Layout__container--small, .uk-container-expand-right.uk-container-small {
        max-width: calc(50% + (808px / 2) - 32px)
    }

    .uk-container-expand-left.uk-container-large, .uk-container-expand-right.uk-container-large {
        max-width: calc(50% + (1400px / 2) - 32px)
    }

    .uk-container-expand-left.Layout__container--xlarge, .uk-container-expand-left.uk-container-xlarge, .uk-container-expand-right.Layout__container--xlarge, .uk-container-expand-right.uk-container-xlarge {
        max-width: calc(50% + (1920px / 2) - 32px)
    }
}

.uk-container-item-padding-remove-left, .uk-container-item-padding-remove-right {
    width: calc(100% + 16px)
}

.uk-container-item-padding-remove-left {
    margin-left: -16px
}

.uk-container-item-padding-remove-right {
    margin-right: -16px
}

@media (min-width: 640px) {
    .uk-container-item-padding-remove-left, .uk-container-item-padding-remove-right {
        width: calc(100% + 24px)
    }

    .uk-container-item-padding-remove-left {
        margin-left: -24px
    }

    .uk-container-item-padding-remove-right {
        margin-right: -24px
    }
}

@media (min-width: 900px) {
    .uk-container-item-padding-remove-left, .uk-container-item-padding-remove-right {
        width: calc(100% + 32px)
    }

    .uk-container-item-padding-remove-left {
        margin-left: -32px
    }

    .uk-container-item-padding-remove-right {
        margin-right: -32px
    }
}

.uk-close {
    color: #999
}

.uk-close:focus, .uk-close:hover {
    color: #666;
    outline: 0
}

.uk-spinner > * {
    -webkit-animation: uk-spinner-rotate 1.4s linear infinite;
    animation: uk-spinner-rotate 1.4s linear infinite
}

@-webkit-keyframes uk-spinner-rotate {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -webkit-transform: rotate(270deg);
        transform: rotate(270deg)
    }
}

@keyframes uk-spinner-rotate {
    0% {
        -webkit-transform: rotate(0);
        transform: rotate(0)
    }
    100% {
        -webkit-transform: rotate(270deg);
        transform: rotate(270deg)
    }
}

.uk-spinner > * > * {
    stroke-dasharray: 88px;
    stroke-dashoffset: 0;
    -webkit-transform-origin: center;
    -ms-transform-origin: center;
    transform-origin: center;
    -webkit-animation: uk-spinner-dash 1.4s ease-in-out infinite;
    animation: uk-spinner-dash 1.4s ease-in-out infinite;
    stroke-width: 1;
    stroke-linecap: round
}

@-webkit-keyframes uk-spinner-dash {
    0% {
        stroke-dashoffset: 88px
    }
    50% {
        stroke-dashoffset: 22px;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg)
    }
    100% {
        stroke-dashoffset: 88px;
        -webkit-transform: rotate(450deg);
        transform: rotate(450deg)
    }
}

@keyframes uk-spinner-dash {
    0% {
        stroke-dashoffset: 88px
    }
    50% {
        stroke-dashoffset: 22px;
        -webkit-transform: rotate(135deg);
        transform: rotate(135deg)
    }
    100% {
        stroke-dashoffset: 88px;
        -webkit-transform: rotate(450deg);
        transform: rotate(450deg)
    }
}

.uk-modal {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1001;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 15px 15px;
    background: rgba(0, 0, 0, .6);
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear
}

@media (min-width: 640px) {
    .uk-modal {
        padding: 50px 30px
    }
}

@media (min-width: 900px) {
    .uk-modal {
        padding-left: 40px;
        padding-right: 40px
    }
}

.uk-modal.uk-open {
    opacity: 1
}

.uk-modal-page {
    overflow: hidden
}

.uk-modal-dialog {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
    width: 600px;
    max-width: calc(100% - .01px) !important;
    background: #fff;
    opacity: 0;
    -webkit-transform: translateY(-100px);
    -ms-transform: translateY(-100px);
    transform: translateY(-100px);
    -webkit-transition: .3s linear;
    -o-transition: .3s linear;
    transition: .3s linear;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    -o-transition-property: opacity, transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform
}

.uk-open > .uk-modal-dialog {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.uk-modal-container .uk-modal-dialog {
    width: 1200px
}

.uk-modal-full {
    padding: 0;
    background: 0 0
}

.uk-modal-full .uk-modal-dialog {
    margin: 0;
    width: 100%;
    max-width: 100%;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0)
}

.uk-modal-body {
    display: flow-root;
    padding: 0 0
}

.uk-modal-header {
    display: flow-root;
    padding: 15px 30px;
    background: #f8f8f8
}

.uk-modal-footer {
    display: flow-root;
    padding: 15px 30px;
    background: #f8f8f8
}

.uk-modal-body > :last-child, .uk-modal-footer > :last-child, .uk-modal-header > :last-child {
    margin-bottom: 0
}

.uk-modal-title {
    font-size: 2rem;
    line-height: 1.3
}

[class*=uk-modal-close-] {
    position: absolute;
    z-index: 1001;
    top: 10px;
    right: 10px;
    padding: 5px
}

[class*=uk-modal-close-]:first-child + * {
    margin-top: 0
}

.uk-modal-close-outside {
    top: 0;
    right: -5px;
    -webkit-transform: translate(0, -100%);
    -ms-transform: translate(0, -100%);
    transform: translate(0, -100%);
    color: #fff
}

.uk-modal-close-outside:hover {
    color: #fff
}

@media (min-width: 900px) {
    .uk-modal-close-outside {
        right: 0;
        -webkit-transform: translate(100%, -100%);
        -ms-transform: translate(100%, -100%);
        transform: translate(100%, -100%)
    }
}

.uk-lightbox {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1010;
    background: #000;
    opacity: 0;
    -webkit-transition: opacity .15s linear;
    -o-transition: opacity .15s linear;
    transition: opacity .15s linear;
    -ms-touch-action: pinch-zoom;
    touch-action: pinch-zoom
}

.uk-lightbox.uk-open {
    display: block;
    opacity: 1
}

.uk-lightbox-page {
    overflow: hidden
}

.uk-lightbox-items > * {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: none;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: rgba(255, 255, 255, .7);
    will-change: transform, opacity
}

.uk-lightbox-items > * > * {
    max-width: 100vw;
    max-height: 100vh
}

.uk-lightbox-items > :focus {
    outline: 0
}

.uk-lightbox-items > * > :not(iframe) {
    width: auto;
    height: auto
}

.uk-lightbox-items > .uk-active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.uk-lightbox-toolbar {
    padding: 10px 10px;
    background: rgba(0, 0, 0, .3);
    color: rgba(255, 255, 255, .7)
}

.uk-lightbox-toolbar > * {
    color: rgba(255, 255, 255, .7)
}

.uk-lightbox-toolbar-icon {
    padding: 5px;
    color: rgba(255, 255, 255, .7)
}

.uk-lightbox-toolbar-icon:hover {
    color: #fff
}

.uk-lightbox-button {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 50px;
    height: 50px;
    background: rgba(0, 0, 0, .3);
    color: rgba(255, 255, 255, .7);
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.uk-lightbox-button:hover {
    color: #fff
}

.uk-lightbox-caption:empty {
    display: none
}

.uk-lightbox-iframe {
    width: 80%;
    height: 80%
}

.uk-notification {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 20041;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 350px
}

.uk-notification-bottom-right, .uk-notification-top-right {
    left: auto;
    right: 10px
}

.uk-notification-bottom-center, .uk-notification-top-center {
    left: 50%;
    margin-left: -175px
}

.uk-notification-bottom-center, .uk-notification-bottom-left, .uk-notification-bottom-right {
    top: auto;
    bottom: 10px
}

@media (max-width: 639px) {
    .uk-notification {
        left: 10px;
        right: 10px;
        width: auto;
        margin: 0
    }
}

.uk-notification-message {
    position: relative;
    padding: 12px;
    background: #c96;
    color: #fff;
    font-size: .875rem;
    line-height: 1.5;
    cursor: pointer;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    padding-right: 24px
}

* + .uk-notification-message {
    margin-top: 15px
}

.uk-notification-close {
    display: none;
    position: absolute;
    top: 50%;
    right: 12px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.uk-notification-close, .uk-notification-close:hover {
    color: #fff
}

.uk-notification-message:hover .uk-notification-close {
    display: block
}

.uk-notification-message-primary {
    color: #fff;
    background-color: #c96
}

.uk-notification-message-success {
    color: #fff;
    background-color: #57a749
}

.uk-notification-message-warning {
    color: #fff;
    background-color: #f6bb31
}

.uk-notification-message-danger {
    color: #fff;
    background-color: #f25d50
}

[class*=uk-animation-] {
    -webkit-animation-duration: .5s;
    animation-duration: .5s;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both
}

.uk-animation-fade {
    -webkit-animation-name: uk-fade;
    animation-name: uk-fade;
    -webkit-animation-duration: .8s;
    animation-duration: .8s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear
}

.uk-animation-scale-up {
    -webkit-animation-name: uk-fade-scale-02;
    animation-name: uk-fade-scale-02
}

.uk-animation-scale-down {
    -webkit-animation-name: uk-fade-scale-18;
    animation-name: uk-fade-scale-18
}

.uk-animation-slide-top {
    -webkit-animation-name: uk-fade-top;
    animation-name: uk-fade-top
}

.uk-animation-slide-bottom {
    -webkit-animation-name: uk-fade-bottom;
    animation-name: uk-fade-bottom
}

.uk-animation-slide-left {
    -webkit-animation-name: uk-fade-left;
    animation-name: uk-fade-left
}

.uk-animation-slide-right {
    -webkit-animation-name: uk-fade-right;
    animation-name: uk-fade-right
}

.uk-animation-slide-top-small {
    -webkit-animation-name: uk-fade-top-small;
    animation-name: uk-fade-top-small
}

.uk-animation-slide-bottom-small {
    -webkit-animation-name: uk-fade-bottom-small;
    animation-name: uk-fade-bottom-small
}

.uk-animation-slide-left-small {
    -webkit-animation-name: uk-fade-left-small;
    animation-name: uk-fade-left-small
}

.uk-animation-slide-right-small {
    -webkit-animation-name: uk-fade-right-small;
    animation-name: uk-fade-right-small
}

.uk-animation-slide-top-medium {
    -webkit-animation-name: uk-fade-top-medium;
    animation-name: uk-fade-top-medium
}

.uk-animation-slide-bottom-medium {
    -webkit-animation-name: uk-fade-bottom-medium;
    animation-name: uk-fade-bottom-medium
}

.uk-animation-slide-left-medium {
    -webkit-animation-name: uk-fade-left-medium;
    animation-name: uk-fade-left-medium
}

.uk-animation-slide-right-medium {
    -webkit-animation-name: uk-fade-right-medium;
    animation-name: uk-fade-right-medium
}

.uk-animation-kenburns {
    -webkit-animation-name: uk-scale-kenburns;
    animation-name: uk-scale-kenburns;
    -webkit-animation-duration: 15s;
    animation-duration: 15s
}

.uk-animation-shake {
    -webkit-animation-name: uk-shake;
    animation-name: uk-shake
}

.uk-animation-stroke {
    -webkit-animation-name: uk-stroke;
    animation-name: uk-stroke;
    stroke-dasharray: var(--uk-animation-stroke);
    -webkit-animation-duration: 2s;
    animation-duration: 2s
}

.uk-animation-reverse {
    animation-direction: reverse;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in
}

.uk-animation-fast {
    -webkit-animation-duration: .25s;
    animation-duration: .25s
}

.uk-animation-toggle:not(:hover):not(:focus) [class*=uk-animation-] {
    -webkit-animation-name: none;
    animation-name: none
}

.uk-animation-toggle {
    -webkit-tap-highlight-color: transparent
}

.uk-animation-toggle:focus {
    outline: 0
}

@-webkit-keyframes uk-fade {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@keyframes uk-fade {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}

@-webkit-keyframes uk-fade-top {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes uk-fade-top {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes uk-fade-bottom {
    0% {
        opacity: 0;
        -webkit-transform: translateY(100%);
        transform: translateY(100%)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes uk-fade-bottom {
    0% {
        opacity: 0;
        -webkit-transform: translateY(100%);
        transform: translateY(100%)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes uk-fade-left {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes uk-fade-left {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes uk-fade-right {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes uk-fade-right {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100%);
        transform: translateX(100%)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes uk-fade-top-small {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes uk-fade-top-small {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes uk-fade-bottom-small {
    0% {
        opacity: 0;
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes uk-fade-bottom-small {
    0% {
        opacity: 0;
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes uk-fade-left-small {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-10px);
        transform: translateX(-10px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes uk-fade-left-small {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-10px);
        transform: translateX(-10px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes uk-fade-right-small {
    0% {
        opacity: 0;
        -webkit-transform: translateX(10px);
        transform: translateX(10px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes uk-fade-right-small {
    0% {
        opacity: 0;
        -webkit-transform: translateX(10px);
        transform: translateX(10px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes uk-fade-top-medium {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-50px);
        transform: translateY(-50px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes uk-fade-top-medium {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-50px);
        transform: translateY(-50px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes uk-fade-bottom-medium {
    0% {
        opacity: 0;
        -webkit-transform: translateY(50px);
        transform: translateY(50px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes uk-fade-bottom-medium {
    0% {
        opacity: 0;
        -webkit-transform: translateY(50px);
        transform: translateY(50px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes uk-fade-left-medium {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes uk-fade-left-medium {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-50px);
        transform: translateX(-50px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes uk-fade-right-medium {
    0% {
        opacity: 0;
        -webkit-transform: translateX(50px);
        transform: translateX(50px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@keyframes uk-fade-right-medium {
    0% {
        opacity: 0;
        -webkit-transform: translateX(50px);
        transform: translateX(50px)
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
}

@-webkit-keyframes uk-fade-scale-02 {
    0% {
        opacity: 0;
        -webkit-transform: scale(.2);
        transform: scale(.2)
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes uk-fade-scale-02 {
    0% {
        opacity: 0;
        -webkit-transform: scale(.2);
        transform: scale(.2)
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@-webkit-keyframes uk-fade-scale-18 {
    0% {
        opacity: 0;
        -webkit-transform: scale(1.8);
        transform: scale(1.8)
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes uk-fade-scale-18 {
    0% {
        opacity: 0;
        -webkit-transform: scale(1.8);
        transform: scale(1.8)
    }
    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@-webkit-keyframes uk-scale-kenburns {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
}

@keyframes uk-scale-kenburns {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(1.2);
        transform: scale(1.2)
    }
}

@-webkit-keyframes uk-shake {
    0%, 100% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    10% {
        -webkit-transform: translateX(-9px);
        transform: translateX(-9px)
    }
    20% {
        -webkit-transform: translateX(8px);
        transform: translateX(8px)
    }
    30% {
        -webkit-transform: translateX(-7px);
        transform: translateX(-7px)
    }
    40% {
        -webkit-transform: translateX(6px);
        transform: translateX(6px)
    }
    50% {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px)
    }
    60% {
        -webkit-transform: translateX(4px);
        transform: translateX(4px)
    }
    70% {
        -webkit-transform: translateX(-3px);
        transform: translateX(-3px)
    }
    80% {
        -webkit-transform: translateX(2px);
        transform: translateX(2px)
    }
    90% {
        -webkit-transform: translateX(-1px);
        transform: translateX(-1px)
    }
}

@keyframes uk-shake {
    0%, 100% {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    10% {
        -webkit-transform: translateX(-9px);
        transform: translateX(-9px)
    }
    20% {
        -webkit-transform: translateX(8px);
        transform: translateX(8px)
    }
    30% {
        -webkit-transform: translateX(-7px);
        transform: translateX(-7px)
    }
    40% {
        -webkit-transform: translateX(6px);
        transform: translateX(6px)
    }
    50% {
        -webkit-transform: translateX(-5px);
        transform: translateX(-5px)
    }
    60% {
        -webkit-transform: translateX(4px);
        transform: translateX(4px)
    }
    70% {
        -webkit-transform: translateX(-3px);
        transform: translateX(-3px)
    }
    80% {
        -webkit-transform: translateX(2px);
        transform: translateX(2px)
    }
    90% {
        -webkit-transform: translateX(-1px);
        transform: translateX(-1px)
    }
}

@-webkit-keyframes uk-stroke {
    0% {
        stroke-dashoffset: var(--uk-animation-stroke)
    }
    100% {
        stroke-dashoffset: 0
    }
}

@keyframes uk-stroke {
    0% {
        stroke-dashoffset: var(--uk-animation-stroke)
    }
    100% {
        stroke-dashoffset: 0
    }
}

.uk-text-lead {
    font-size: 1.5rem;
    line-height: 1.5;
    color: #333
}

.uk-text-meta {
    font-size: .875rem;
    line-height: 1.4;
    color: #999
}

.uk-text-small {
    font-size: .875rem;
    line-height: 1.5
}

.uk-text-large {
    font-size: 1.5rem;
    line-height: 1.5
}

.uk-text-default {
    font-size: 16px;
    line-height: 1.5
}

.uk-text-light {
    font-weight: 300
}

.uk-text-normal {
    font-weight: 400
}

.uk-text-bold {
    font-weight: 700
}

.uk-text-lighter {
    font-weight: lighter
}

.uk-text-bolder {
    font-weight: bolder
}

.uk-text-italic {
    font-style: italic
}

.uk-text-capitalize {
    text-transform: capitalize !important
}

.uk-text-uppercase {
    text-transform: uppercase !important
}

.uk-text-lowercase {
    text-transform: lowercase !important
}

.uk-text-muted {
    color: #999 !important
}

.uk-text-emphasis {
    color: #333 !important
}

.uk-text-primary {
    color: #c96 !important
}

.uk-text-secondary {
    color: #222 !important
}

.uk-text-success {
    color: #57a749 !important
}

.uk-text-warning {
    color: #f6bb31 !important
}

.uk-text-danger {
    color: #f25d50 !important
}

.uk-text-background {
    -webkit-background-clip: text;
    display: inline-block;
    color: #c96 !important
}

@supports (-webkit-background-clip:text) {
    .uk-text-background {
        background-color: #c96;
        color: transparent !important
    }
}

.uk-text-left {
    text-align: left !important
}

.uk-text-right {
    text-align: right !important
}

.uk-text-center {
    text-align: center !important
}

.uk-text-justify {
    text-align: justify !important
}

@media (min-width: 640px) {
    .uk-text-left\@s {
        text-align: left !important
    }

    .uk-text-right\@s {
        text-align: right !important
    }

    .uk-text-center\@s {
        text-align: center !important
    }
}

@media (min-width: 900px) {
    .uk-text-left\@m {
        text-align: left !important
    }

    .uk-text-right\@m {
        text-align: right !important
    }

    .uk-text-center\@m {
        text-align: center !important
    }
}

@media (min-width: 1000px) {
    .uk-text-left\@l {
        text-align: left !important
    }

    .uk-text-right\@l {
        text-align: right !important
    }

    .uk-text-center\@l {
        text-align: center !important
    }
}

@media (min-width: 1200px) {
    .uk-text-left\@xl {
        text-align: left !important
    }

    .uk-text-right\@xl {
        text-align: right !important
    }

    .uk-text-center\@xl {
        text-align: center !important
    }
}

.uk-text-top {
    vertical-align: top !important
}

.uk-text-middle {
    vertical-align: middle !important
}

.uk-text-bottom {
    vertical-align: bottom !important
}

.uk-text-baseline {
    vertical-align: baseline !important
}

.uk-text-nowrap {
    white-space: nowrap
}

.uk-text-truncate {
    max-width: 100%;
    overflow: hidden;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    white-space: nowrap
}

td.uk-text-truncate, th.uk-text-truncate {
    max-width: 0
}

.uk-text-break {
    overflow-wrap: break-word;
    word-wrap: break-word
}

td.uk-text-break, th.uk-text-break {
    word-break: break-all
}

.uk-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.uk-flex-inline {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex
}

.uk-flex-inline::after, .uk-flex-inline::before, .uk-flex::after, .uk-flex::before {
    display: none
}

.uk-flex-left {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.uk-flex-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.uk-flex-right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.uk-flex-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.uk-flex-around {
    -ms-flex-pack: distribute;
    justify-content: space-around
}

@media (min-width: 640px) {
    .uk-flex-left\@s {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .uk-flex-center\@s {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .uk-flex-right\@s {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }

    .uk-flex-between\@s {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .uk-flex-around\@s {
        -ms-flex-pack: distribute;
        justify-content: space-around
    }
}

@media (min-width: 900px) {
    .uk-flex-left\@m {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .uk-flex-center\@m {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .uk-flex-right\@m {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }

    .uk-flex-between\@m {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .uk-flex-around\@m {
        -ms-flex-pack: distribute;
        justify-content: space-around
    }
}

@media (min-width: 1000px) {
    .uk-flex-left\@l {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .uk-flex-center\@l {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .uk-flex-right\@l {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }

    .uk-flex-between\@l {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .uk-flex-around\@l {
        -ms-flex-pack: distribute;
        justify-content: space-around
    }
}

@media (min-width: 1200px) {
    .uk-flex-left\@xl {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .uk-flex-center\@xl {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .uk-flex-right\@xl {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }

    .uk-flex-between\@xl {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .uk-flex-around\@xl {
        -ms-flex-pack: distribute;
        justify-content: space-around
    }
}

.uk-flex-stretch {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch
}

.uk-flex-top {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.uk-flex-middle {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.uk-flex-bottom {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
}

.uk-flex-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row
}

.uk-flex-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

.uk-flex-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.uk-flex-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
}

.uk-flex-nowrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

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

.uk-flex-wrap-reverse {
    -ms-flex-wrap: wrap-reverse;
    flex-wrap: wrap-reverse
}

.uk-flex-wrap-stretch {
    -ms-flex-line-pack: stretch;
    align-content: stretch
}

.uk-flex-wrap-top {
    -ms-flex-line-pack: start;
    align-content: flex-start
}

.uk-flex-wrap-middle {
    -ms-flex-line-pack: center;
    align-content: center
}

.uk-flex-wrap-bottom {
    -ms-flex-line-pack: end;
    align-content: flex-end
}

.uk-flex-wrap-between {
    -ms-flex-line-pack: justify;
    align-content: space-between
}

.uk-flex-wrap-around {
    -ms-flex-line-pack: distribute;
    align-content: space-around
}

.uk-flex-first {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1
}

.uk-flex-last {
    -webkit-box-ordinal-group: 100;
    -ms-flex-order: 99;
    order: 99
}

@media (min-width: 640px) {
    .uk-flex-first\@s {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1
    }

    .uk-flex-last\@s {
        -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
        order: 99
    }
}

@media (min-width: 900px) {
    .uk-flex-first\@m {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1
    }

    .uk-flex-last\@m {
        -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
        order: 99
    }
}

@media (min-width: 1000px) {
    .uk-flex-first\@l {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1
    }

    .uk-flex-last\@l {
        -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
        order: 99
    }
}

@media (min-width: 1200px) {
    .uk-flex-first\@xl {
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1
    }

    .uk-flex-last\@xl {
        -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
        order: 99
    }
}

.uk-flex-none {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none
}

.uk-flex-auto {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto
}

.uk-flex-1 {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}

.uk-margin {
    margin-bottom: 20px
}

* + .uk-margin {
    margin-top: 20px !important
}

.uk-margin-top {
    margin-top: 20px !important
}

.uk-margin-bottom {
    margin-bottom: 20px !important
}

.uk-margin-left {
    margin-left: 20px !important
}

.uk-margin-right {
    margin-right: 20px !important
}

.uk-margin-small {
    margin-bottom: 10px
}

* + .uk-margin-small {
    margin-top: 10px !important
}

.uk-margin-small-top {
    margin-top: 10px !important
}

.uk-margin-small-bottom {
    margin-bottom: 10px !important
}

.uk-margin-small-left {
    margin-left: 10px !important
}

.uk-margin-small-right {
    margin-right: 10px !important
}

.uk-margin-medium {
    margin-bottom: 40px
}

* + .uk-margin-medium {
    margin-top: 40px !important
}

.uk-margin-medium-top {
    margin-top: 40px !important
}

.uk-margin-medium-bottom {
    margin-bottom: 40px !important
}

.uk-margin-medium-left {
    margin-left: 40px !important
}

.uk-margin-medium-right {
    margin-right: 40px !important
}

.uk-margin-large {
    margin-bottom: 40px
}

* + .uk-margin-large {
    margin-top: 40px !important
}

.uk-margin-large-top {
    margin-top: 40px !important
}

.uk-margin-large-bottom {
    margin-bottom: 40px !important
}

.uk-margin-large-left {
    margin-left: 40px !important
}

.uk-margin-large-right {
    margin-right: 40px !important
}

@media (min-width: 1000px) {
    .uk-margin-large {
        margin-bottom: 70px
    }

    * + .uk-margin-large {
        margin-top: 70px !important
    }

    .uk-margin-large-top {
        margin-top: 70px !important
    }

    .uk-margin-large-bottom {
        margin-bottom: 70px !important
    }

    .uk-margin-large-left {
        margin-left: 70px !important
    }

    .uk-margin-large-right {
        margin-right: 70px !important
    }
}

.uk-margin-xlarge {
    margin-bottom: 70px
}

* + .uk-margin-xlarge {
    margin-top: 70px !important
}

.uk-margin-xlarge-top {
    margin-top: 70px !important
}

.uk-margin-xlarge-bottom {
    margin-bottom: 70px !important
}

.uk-margin-xlarge-left {
    margin-left: 70px !important
}

.uk-margin-xlarge-right {
    margin-right: 70px !important
}

@media (min-width: 1000px) {
    .uk-margin-xlarge {
        margin-bottom: 140px
    }

    * + .uk-margin-xlarge {
        margin-top: 140px !important
    }

    .uk-margin-xlarge-top {
        margin-top: 140px !important
    }

    .uk-margin-xlarge-bottom {
        margin-bottom: 140px !important
    }

    .uk-margin-xlarge-left {
        margin-left: 140px !important
    }

    .uk-margin-xlarge-right {
        margin-right: 140px !important
    }
}

.uk-margin-auto {
    margin-left: auto !important;
    margin-right: auto !important
}

.uk-margin-auto-top {
    margin-top: auto !important
}

.uk-margin-auto-bottom {
    margin-bottom: auto !important
}

.uk-margin-auto-left {
    margin-left: auto !important
}

.uk-margin-auto-right {
    margin-right: auto !important
}

.uk-margin-auto-vertical {
    margin-top: auto !important;
    margin-bottom: auto !important
}

@media (min-width: 640px) {
    .uk-margin-auto\@s {
        margin-left: auto !important;
        margin-right: auto !important
    }

    .uk-margin-auto-left\@s {
        margin-left: auto !important
    }

    .uk-margin-auto-right\@s {
        margin-right: auto !important
    }
}

@media (min-width: 900px) {
    .uk-margin-auto\@m {
        margin-left: auto !important;
        margin-right: auto !important
    }

    .uk-margin-auto-left\@m {
        margin-left: auto !important
    }

    .uk-margin-auto-right\@m {
        margin-right: auto !important
    }
}

@media (min-width: 1000px) {
    .uk-margin-auto\@l {
        margin-left: auto !important;
        margin-right: auto !important
    }

    .uk-margin-auto-left\@l {
        margin-left: auto !important
    }

    .uk-margin-auto-right\@l {
        margin-right: auto !important
    }
}

@media (min-width: 1200px) {
    .uk-margin-auto\@xl {
        margin-left: auto !important;
        margin-right: auto !important
    }

    .uk-margin-auto-left\@xl {
        margin-left: auto !important
    }

    .uk-margin-auto-right\@xl {
        margin-right: auto !important
    }
}

.uk-margin-remove {
    margin: 0 !important
}

.uk-margin-remove-top {
    margin-top: 0 !important
}

.uk-margin-remove-bottom {
    margin-bottom: 0 !important
}

.uk-margin-remove-left {
    margin-left: 0 !important
}

.uk-margin-remove-right {
    margin-right: 0 !important
}

.uk-margin-remove-vertical {
    margin-top: 0 !important;
    margin-bottom: 0 !important
}

.uk-margin-remove-adjacent + *, .uk-margin-remove-first-child > :first-child {
    margin-top: 0 !important
}

.uk-margin-remove-last-child > :last-child {
    margin-bottom: 0 !important
}

@media (min-width: 640px) {
    .uk-margin-remove-left\@s {
        margin-left: 0 !important
    }

    .uk-margin-remove-right\@s {
        margin-right: 0 !important
    }
}

@media (min-width: 900px) {
    .uk-margin-remove-left\@m {
        margin-left: 0 !important
    }

    .uk-margin-remove-right\@m {
        margin-right: 0 !important
    }
}

@media (min-width: 1000px) {
    .uk-margin-remove-left\@l {
        margin-left: 0 !important
    }

    .uk-margin-remove-right\@l {
        margin-right: 0 !important
    }
}

@media (min-width: 1200px) {
    .uk-margin-remove-left\@xl {
        margin-left: 0 !important
    }

    .uk-margin-remove-right\@xl {
        margin-right: 0 !important
    }
}

[class*=uk-position-bottom], [class*=uk-position-center], [class*=uk-position-left], [class*=uk-position-right], [class*=uk-position-top] {
    position: absolute !important;
    max-width: 100%
}

.uk-position-top {
    top: 0;
    left: 0;
    right: 0
}

.uk-position-bottom {
    bottom: 0;
    left: 0;
    right: 0
}

.uk-position-left {
    top: 0;
    bottom: 0;
    left: 0
}

.uk-position-right {
    top: 0;
    bottom: 0;
    right: 0
}

.uk-position-top-left {
    top: 0;
    left: 0
}

.uk-position-top-right {
    top: 0;
    right: 0
}

.uk-position-bottom-left {
    bottom: 0;
    left: 0
}

.uk-position-bottom-right {
    bottom: 0;
    right: 0
}

.uk-position-center {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

[class*=uk-position-center-left], [class*=uk-position-center-right] {
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%)
}

.uk-position-center-left {
    left: 0
}

.uk-position-center-right {
    right: 0
}

.uk-position-center-left-out {
    right: 100%;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content
}

.uk-position-center-right-out {
    left: 100%;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content
}

.uk-position-bottom-center, .uk-position-top-center {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.uk-position-top-center {
    top: 0
}

.uk-position-bottom-center {
    bottom: 0
}

.uk-position-cover {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.uk-position-relative {
    position: relative !important
}

.uk-position-absolute {
    position: absolute !important
}

.uk-position-fixed {
    position: fixed !important
}

.uk-position-z-index {
    z-index: 1
}

.uk-position-small {
    max-width: calc(100% - (15px * 2));
    margin: 15px
}

.uk-position-small.uk-position-center {
    -webkit-transform: translate(-50%, -50%) translate(-15px, -15px);
    -ms-transform: translate(-50%, -50%) translate(-15px, -15px);
    transform: translate(-50%, -50%) translate(-15px, -15px)
}

.uk-position-small[class*=uk-position-center-left], .uk-position-small[class*=uk-position-center-right] {
    -webkit-transform: translateY(-50%) translateY(-15px);
    -ms-transform: translateY(-50%) translateY(-15px);
    transform: translateY(-50%) translateY(-15px)
}

.uk-position-small.uk-position-bottom-center, .uk-position-small.uk-position-top-center {
    -webkit-transform: translateX(-50%) translateX(-15px);
    -ms-transform: translateX(-50%) translateX(-15px);
    transform: translateX(-50%) translateX(-15px)
}

.uk-position-medium {
    max-width: calc(100% - (30px * 2));
    margin: 30px
}

.uk-position-medium.uk-position-center {
    -webkit-transform: translate(-50%, -50%) translate(-30px, -30px);
    -ms-transform: translate(-50%, -50%) translate(-30px, -30px);
    transform: translate(-50%, -50%) translate(-30px, -30px)
}

.uk-position-medium[class*=uk-position-center-left], .uk-position-medium[class*=uk-position-center-right] {
    -webkit-transform: translateY(-50%) translateY(-30px);
    -ms-transform: translateY(-50%) translateY(-30px);
    transform: translateY(-50%) translateY(-30px)
}

.uk-position-medium.uk-position-bottom-center, .uk-position-medium.uk-position-top-center {
    -webkit-transform: translateX(-50%) translateX(-30px);
    -ms-transform: translateX(-50%) translateX(-30px);
    transform: translateX(-50%) translateX(-30px)
}

.uk-position-large {
    max-width: calc(100% - (30px * 2));
    margin: 30px
}

.uk-position-large.uk-position-center {
    -webkit-transform: translate(-50%, -50%) translate(-30px, -30px);
    -ms-transform: translate(-50%, -50%) translate(-30px, -30px);
    transform: translate(-50%, -50%) translate(-30px, -30px)
}

.uk-position-large[class*=uk-position-center-left], .uk-position-large[class*=uk-position-center-right] {
    -webkit-transform: translateY(-50%) translateY(-30px);
    -ms-transform: translateY(-50%) translateY(-30px);
    transform: translateY(-50%) translateY(-30px)
}

.uk-position-large.uk-position-bottom-center, .uk-position-large.uk-position-top-center {
    -webkit-transform: translateX(-50%) translateX(-30px);
    -ms-transform: translateX(-50%) translateX(-30px);
    transform: translateX(-50%) translateX(-30px)
}

@media (min-width: 1000px) {
    .uk-position-large {
        max-width: calc(100% - (50px * 2));
        margin: 50px
    }

    .uk-position-large.uk-position-center {
        -webkit-transform: translate(-50%, -50%) translate(-50px, -50px);
        -ms-transform: translate(-50%, -50%) translate(-50px, -50px);
        transform: translate(-50%, -50%) translate(-50px, -50px)
    }

    .uk-position-large[class*=uk-position-center-left], .uk-position-large[class*=uk-position-center-right] {
        -webkit-transform: translateY(-50%) translateY(-50px);
        -ms-transform: translateY(-50%) translateY(-50px);
        transform: translateY(-50%) translateY(-50px)
    }

    .uk-position-large.uk-position-bottom-center, .uk-position-large.uk-position-top-center {
        -webkit-transform: translateX(-50%) translateX(-50px);
        -ms-transform: translateX(-50%) translateX(-50px);
        transform: translateX(-50%) translateX(-50px)
    }
}

.uk-transition-toggle {
    -webkit-tap-highlight-color: transparent
}

.uk-transition-toggle:focus {
    outline: 0
}

.uk-transition-fade, [class*=uk-transition-scale], [class*=uk-transition-slide] {
    -webkit-transition: .3s ease-out;
    -o-transition: .3s ease-out;
    transition: .3s ease-out;
    transition-property: opacity, transform, -webkit-filter;
    -webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
    transition-property: opacity, -webkit-transform, -webkit-filter;
    -o-transition-property: opacity, transform, filter;
    transition-property: opacity, transform, filter;
    transition-property: opacity, transform, filter, -webkit-transform, -webkit-filter;
    transition-property: opacity, transform, filter, -webkit-filter;
    opacity: 0
}

.uk-transition-active.uk-active .uk-transition-fade, .uk-transition-toggle:focus .uk-transition-fade, .uk-transition-toggle:hover .uk-transition-fade {
    opacity: 1
}

.uk-transition-scale-up {
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1)
}

.uk-transition-scale-down {
    -webkit-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1)
}

.uk-transition-active.uk-active .uk-transition-scale-up, .uk-transition-toggle:focus .uk-transition-scale-up, .uk-transition-toggle:hover .uk-transition-scale-up {
    opacity: 1;
    -webkit-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1)
}

.uk-transition-active.uk-active .uk-transition-scale-down, .uk-transition-toggle:focus .uk-transition-scale-down, .uk-transition-toggle:hover .uk-transition-scale-down {
    opacity: 1;
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    transform: scale(1, 1)
}

.uk-transition-slide-top {
    -webkit-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    transform: translateY(-100%)
}

.uk-transition-slide-bottom {
    -webkit-transform: translateY(100%);
    -ms-transform: translateY(100%);
    transform: translateY(100%)
}

.uk-transition-slide-left {
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%)
}

.uk-transition-slide-right {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%)
}

.uk-transition-slide-top-small {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px)
}

.uk-transition-slide-bottom-small {
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px)
}

.uk-transition-slide-left-small {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px)
}

.uk-transition-slide-right-small {
    -webkit-transform: translateX(10px);
    -ms-transform: translateX(10px);
    transform: translateX(10px)
}

.uk-transition-slide-top-medium {
    -webkit-transform: translateY(-50px);
    -ms-transform: translateY(-50px);
    transform: translateY(-50px)
}

.uk-transition-slide-bottom-medium {
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px)
}

.uk-transition-slide-left-medium {
    -webkit-transform: translateX(-50px);
    -ms-transform: translateX(-50px);
    transform: translateX(-50px)
}

.uk-transition-slide-right-medium {
    -webkit-transform: translateX(50px);
    -ms-transform: translateX(50px);
    transform: translateX(50px)
}

.uk-transition-active.uk-active [class*=uk-transition-slide], .uk-transition-toggle:focus [class*=uk-transition-slide], .uk-transition-toggle:hover [class*=uk-transition-slide] {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0)
}

.uk-transition-opaque {
    opacity: 1
}

.uk-transition-slow {
    -webkit-transition-duration: .7s;
    -o-transition-duration: .7s;
    transition-duration: .7s
}

@media print {
    *, ::after, ::before {
        background: 0 0 !important;
        color: #000 !important;
        -webkit-box-shadow: none !important;
        box-shadow: none !important;
        text-shadow: none !important
    }

    a, a:visited {
        text-decoration: underline
    }

    blockquote, pre {
        border: 1px solid #999;
        page-break-inside: avoid
    }

    thead {
        display: table-header-group
    }

    img, tr {
        page-break-inside: avoid
    }

    img {
        max-width: 100% !important
    }

    @page {
        margin: .5cm
    }

    h2, h3, p {
        orphans: 3;
        widows: 3
    }

    h2, h3 {
        page-break-after: avoid
    }
}

.AboutCertificates__title, .AboutDocuments__heading, .AboutHero__heading--large, .AboutMap__heading, .AboutOrganizationsItem__title, .Consultation__heading, .ContactsPage__subtitle, .ContactsPage__title, .ErrorPage__heading, .FeaturedCard__title, .FeaturedSliderPanel__text, .FooterNav__inner, .FooterServices__heading, .HomeAbout__title, .HomeMap__title, .HomeProject__title, .HomeProjectsMore__heading, .HomeSection__title, .Modal__heading--default, .Modal__heading--large, .OrderedCard__title, .ProjectCard__title, .ProjectPage__heading, .ProjectPage__subHeading, .ServiceCard__heading, .ServicePage__heading, .SiteOffCanvasNavigation__inner, .TheContent h1, .TheContent h2, .TheContent h3 {
    font-family: "Bebas Neue", cursive;
    font-weight: 700;
    text-transform: uppercase
}

.AboutHero__heading--small, .ContactsPage__heading, .HomeAbout__heading, .HomeMap__heading, .HomeProjects__heading, .HomeSections__heading, .ProjectsPage__heading, .ServicesPage__heading, .WrappedPartners__heading {
    color: #3d475f;
    font-family: Manrope, sans-serif;
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 2.15;
    text-transform: uppercase
}

.TheContent h3 {
    font-size: 1.125rem
}

@media (max-width: 899px) {
    .TheContent h3 {
        font-size: 1rem
    }
}

@media (max-width: 639px) {
    .TheContent h3 {
        font-size: .875rem
    }
}

.FeaturedCard__title, .FooterNav__inner, .FooterServices__heading, .OrderedCard__title, .TheContent h2 {
    font-size: 1.375rem;
    line-height: 1
}

.AboutDocuments__heading, .ContactsPage__subtitle, .Modal__heading--default, .ProjectPage__subHeading {
    font-size: 1.75rem;
    line-height: 1.25
}

@media (max-width: 999px) {
    .FeaturedCard__title, .OrderedCard__title {
        font-size: 1.25rem
    }
}

@media (max-width: 899px) {
    .FeaturedCard__title, .OrderedCard__title {
        font-size: 1.125rem
    }
}

@media (max-width: 639px) {
    .FeaturedCard__title, .OrderedCard__title {
        font-size: 1rem
    }
}

.AboutOrganizationsItem__title, .ContactsPage__title, .HomeSection__title, .ProjectCard__title, .ProjectPage__heading, .ServiceCard__heading, .ServicePage__heading, .SiteOffCanvasNavigation__inner, .TheContent h1 {
    font-size: 2.375rem;
    line-height: 1.11765
}

@media (max-width: 1199px) {
    .AboutOrganizationsItem__title, .ContactsPage__title, .HomeSection__title, .ProjectCard__title, .ProjectPage__heading, .ServiceCard__heading, .ServicePage__heading, .SiteOffCanvasNavigation__inner, .TheContent h1 {
        font-size: 2.25rem
    }
}

@media (max-width: 999px) {
    .AboutOrganizationsItem__title, .ContactsPage__title, .HomeSection__title, .ProjectCard__title, .ProjectPage__heading, .ServiceCard__heading, .ServicePage__heading, .SiteOffCanvasNavigation__inner, .TheContent h1 {
        font-size: 2.125rem
    }
}

@media (max-width: 899px) {
    .AboutOrganizationsItem__title, .ContactsPage__title, .HomeSection__title, .ProjectCard__title, .ProjectPage__heading, .ServiceCard__heading, .ServicePage__heading, .SiteOffCanvasNavigation__inner, .TheContent h1 {
        font-size: 2rem
    }
}

@media (max-width: 639px) {
    .AboutOrganizationsItem__title, .ContactsPage__title, .HomeSection__title, .ProjectCard__title, .ProjectPage__heading, .ServiceCard__heading, .ServicePage__heading, .SiteOffCanvasNavigation__inner, .TheContent h1 {
        font-size: 1.875rem
    }
}

.AboutCertificates__title, .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large {
    line-height: .865;
    font-size: 3rem
}

@media (max-width: 1199px) {
    .AboutCertificates__title, .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large {
        font-size: 2.875rem
    }
}

@media (max-width: 999px) {
    .AboutCertificates__title, .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large {
        font-size: 2.75rem
    }
}

@media (max-width: 899px) {
    .AboutCertificates__title, .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large {
        font-size: 2.5rem
    }
}

@media (max-width: 639px) {
    .AboutCertificates__title, .Consultation__heading, .HomeProjectsMore__heading, .Modal__heading--large {
        font-size: 2.375rem
    }
}

.AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading, .HomeAbout__title, .HomeMap__title, .HomeProject__title {
    font-size: 3.75rem;
    line-height: .9166
}

@media (max-width: 1199px) {
    .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading, .HomeAbout__title, .HomeMap__title, .HomeProject__title {
        font-size: 3.4375rem
    }
}

@media (max-width: 999px) {
    .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading, .HomeAbout__title, .HomeMap__title, .HomeProject__title {
        font-size: 3.125rem
    }
}

@media (max-width: 899px) {
    .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading, .HomeAbout__title, .HomeMap__title, .HomeProject__title {
        font-size: 2.8125rem
    }
}

@media (max-width: 639px) {
    .AboutHero__heading--large, .AboutMap__heading, .ErrorPage__heading, .HomeAbout__title, .HomeMap__title, .HomeProject__title {
        font-size: 2.5rem
    }
}

.AboutMap__heading strong, .HomeAbout__title strong, .HomeMap__title strong {
    color: #3b65cf;
    font-weight: 700
}

.AboutHero__description, .FeaturedSlider__description {
    color: #fff;
    font-size: 1.375rem;
    line-height: 1.182
}

@media (max-width: 999px) {
    .AboutHero__description, .FeaturedSlider__description {
        font-size: 1.25rem;
        line-height: 1.25
    }
}

@media (max-width: 899px) {
    .AboutHero__description, .FeaturedSlider__description {
        font-size: 1.125rem
    }
}

@media (max-width: 639px) {
    .AboutHero__description, .FeaturedSlider__description {
        font-size: 1rem
    }
}

.AboutCertificates__description, .AboutMap__description, .ErrorPage__description, .HomeAbout__description, .HomeMap__description, .Modal__description {
    color: rgba(61, 71, 95, .8);
    font-size: 1.125rem;
    line-height: 1.777
}

@media (max-width: 899px) {
    .AboutCertificates__description, .AboutMap__description, .ErrorPage__description, .HomeAbout__description, .HomeMap__description, .Modal__description {
        font-size: 1rem;
        line-height: 1.8
    }
}

@media (max-width: 639px) {
    .AboutCertificates__description, .AboutMap__description, .ErrorPage__description, .HomeAbout__description, .HomeMap__description, .Modal__description {
        font-size: .875rem;
        line-height: 1.855
    }
}

.AboutNumbersItem__description, .HomeProject__description {
    color: rgba(61, 71, 95, .8);
    font-size: .875rem;
    line-height: 1.285
}

@media (max-width: 639px) {
    .AboutNumbersItem__description, .HomeProject__description {
        font-size: .75rem;
        line-height: 1.5
    }
}

.TheContent {
    color: rgba(61, 71, 95, .8);
    font-size: 1.125rem;
    line-height: 1.7777
}

@media (max-width: 639px) {
    .TheContent {
        font-size: 1rem
    }
}

.TheContent > :first-child {
    margin-top: 0
}

.TheContent > :last-child {
    margin-bottom: 0
}

.TheContent h2 {
    margin-top: 80px
}

@media (max-width: 999px) {
    .TheContent h2 {
        margin-top: 64px
    }
}

@media (max-width: 899px) {
    .TheContent h2 {
        margin-top: 48px
    }
}

@media (max-width: 639px) {
    .TheContent h2 {
        margin-top: 40px
    }
}

.TheContent h3 {
    margin-top: 60px
}

@media (max-width: 999px) {
    .TheContent h3 {
        margin-top: 52px
    }
}

@media (max-width: 899px) {
    .TheContent h3 {
        margin-top: 40px
    }
}

@media (max-width: 639px) {
    .TheContent h3 {
        margin-top: 24px
    }
}

.TheContent a {
    color: #3b65cf;
    -webkit-text-decoration: underline transparent;
    text-decoration: underline transparent;
    transition: -webkit-text-decoration-color .2s ease-out;
    -webkit-transition: -webkit-text-decoration-color .2s ease-out;
    -o-transition: text-decoration-color .2s ease-out;
    transition: text-decoration-color .2s ease-out;
    transition: text-decoration-color .2s ease-out, -webkit-text-decoration-color .2s ease-out
}

.TheContent a:focus, .TheContent a:hover {
    -webkit-text-decoration-color: inherit;
    text-decoration-color: inherit
}

.TheContent img {
    margin-top: 20px;
    width: 100%
}

@media (max-width: 899px) {
    .TheContent img {
        margin-top: 16px
    }
}

.TheContent img + img {
    margin-top: 40px
}

@media (max-width: 899px) {
    .TheContent img + img {
        margin-top: 32px
    }
}

@media (max-width: 639px) {
    .TheContent img + img {
        margin-top: 24px
    }
}

.TheContent p {
    margin: 20px 0
}

@media (max-width: 899px) {
    .TheContent p {
        margin: 16px 0
    }
}

.TheContent ol, .TheContent ul {
    margin-top: 20px
}

@media (max-width: 899px) {
    .TheContent ol, .TheContent ul {
        margin-top: 16px
    }
}

.TheContent ol li, .TheContent ul li {
    margin-bottom: 10px;
    padding-left: 29px;
    position: relative
}

.TheContent ol li::before, .TheContent ul li::before {
    left: 0;
    position: absolute
}

.TheContent ol li:last-of-type, .TheContent ul li:last-of-type {
    margin-bottom: 0
}

.TheContent ul {
    --unordered-list-bullet-color: #3b65cf;
    --unordered-list-bullet-border-color: #3b65cf
}

.TheContent ul li::before {
    background-color: var(--unordered-list-bullet-color);
    border: 1px solid var(--unordered-list-bullet-border-color);
    -webkit-border-radius: 50%;
    border-radius: 50%;
    content: "";
    width: 9px;
    height: 9px;
    top: 12px
}

.TheContent ul li > ul {
    --unordered-list-bullet-color: white;
    --unordered-list-bullet-border-color: #3b65cf;
    margin-left: 12px
}

.TheContent ol {
    counter-reset: list-counter
}

.TheContent ol li {
    counter-increment: list-counter
}

.TheContent ol li::before {
    color: inherit;
    content: counter(list-counter) ".";
    font-size: inherit;
    font-weight: 700;
    top: 0
}

.TheContent b, .TheContent strong {
    color: inherit;
    font-weight: 700
}

.TheContent .responsiveEmbed {
    margin: 30px 0 80px
}

@media (max-width: 899px) {
    .TheContent .responsiveEmbed {
        margin: 24px 0 64px
    }
}

@media (max-width: 639px) {
    .TheContent .responsiveEmbed {
        margin: 20px 0 48px
    }
}

.SiteForm__button {
    position: relative
}

.SiteForm__button:disabled:not(.is-all-loaded) .SiteForm__spinner {
    opacity: 1
}

.SiteForm__button:disabled:not(.is-all-loaded) .SiteForm__buttonText {
    opacity: 0
}

.is-all-loaded.SiteForm__button {
    background-color: #3b65cf;
    color: #fff;
    cursor: default;
    opacity: .8
}

.SiteForm__buttonText {
    -webkit-transition: opacity .2s ease-out;
    -o-transition: opacity .2s ease-out;
    transition: opacity .2s ease-out
}

.SiteForm__spinner {
    left: 50%;
    opacity: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: opacity .2s ease-out;
    -o-transition: opacity .2s ease-out;
    transition: opacity .2s ease-out
}

.Layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    min-height: 100vh
}

.Layout__body, .Layout__header {
    position: relative
}

.Layout__header {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    z-index: 2
}

.Layout__body {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    z-index: 1
}

.Layout__footer {
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.Layout__container--medium {
    max-width: 1045px
}

.Layout__container--noPadding {
    padding: 0
}

.AboutFeatures__image, .AboutFeatures__image img, .AboutFeatures__image::before, .AboutHero__image, .AboutHero__image img, .AboutHero__image::before, .AboutMap::before, .Consultation__image, .Consultation__overlay, .ContactsMap__map, .ErrorPage__image, .FeaturedCard__content, .FeaturedCard__image, .FeaturedCard__overlay, .FeaturedSlider__image, .HomeProject__imageInner::before, .HomeSection__image img, .Modal__background, .Modal__background img, .Modal__background::before, .ProjectCard__image img, .ProjectCard__image::before, .ProjectCard__overlay, .ProjectPage__hero img, .ServiceCard__image img, .SiteGallery__image img, .SiteOffCanvas__image {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.AboutFeatures__image img, .AboutHero__image img, .Consultation__image, .ErrorPage__image, .FeaturedCard__image, .FeaturedSlider__image, .HomeSection__image img, .Modal__background img, .ProjectCard__image img, .ProjectPage__hero img, .ServiceCard__image img, .SiteGallery__image img, .SiteOffCanvas__image {
    -o-object-fit: cover;
    object-fit: cover
}

.ProjectCard__image, .ProjectPage__hero, .ServiceCard__image, .SiteGallery__image {
    background-color: rgba(13, 100, 172, .1);
    position: relative
}

.BackButton__circle, .ButtonArrow__circle, .ErrorPage, .FeaturedCard__circle, .FeaturedSliderScroll__circle, .FeaturedSliderScroll__circleInner, .HeaderNav, .HomeProjectsMore__circle, .HomeProjectsMore__circleInner, .Modal__body.--center, .Modal__close, .Partners__slide, .SiteHeader__hamburger, .SiteOffCanvasNavigation__chevron, .SiteOffCanvas__close {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.ArticlePage__main, .ContactsPage, .ProjectPage, .ProjectsPage, .ServicePage, .ServicesPage {
    padding-top: 60px;
    padding-bottom: 140px
}

@media (max-width: 999px) {
    .ArticlePage__main, .ContactsPage, .ProjectPage, .ProjectsPage, .ServicePage, .ServicesPage {
        padding-top: 48px;
        padding-bottom: 120px
    }
}

@media (max-width: 899px) {
    .ArticlePage__main, .ContactsPage, .ProjectPage, .ProjectsPage, .ServicePage, .ServicesPage {
        padding-top: 36px;
        padding-bottom: 90px
    }
}

@media (max-width: 639px) {
    .ArticlePage__main, .ContactsPage, .ProjectPage, .ProjectsPage, .ServicePage, .ServicesPage {
        padding-top: 24px;
        padding-bottom: 65px
    }
}

.Consultation::after, .HeaderNav__dropdown::after, .Modal__body--small::before, .OrderedCard::before {
    background-color: #3b65cf;
    bottom: -1px;
    content: "";
    height: 4px;
    left: -1px;
    position: absolute;
    width: calc(100% + 1px)
}

.FeaturedSliderScroll__circle, .HomeProjectsMore__circle {
    background-color: rgba(59, 101, 207, .2);
    -webkit-border-radius: 50%;
    border-radius: 50%;
    padding: 9px;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition: -webkit-transform .2s ease-out;
    transition: -webkit-transform .2s ease-out;
    -o-transition: transform .2s ease-out;
    transition: transform .2s ease-out;
    transition: transform .2s ease-out, -webkit-transform .2s ease-out
}

.BackButton__circle, .ButtonArrow__circle, .FeaturedCard__circle, .FeaturedSliderScroll__circleInner, .HomeProjectsMore__circleInner {
    background-color: #3b65cf;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    color: #fff;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 27px;
    height: 27px;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition: .2s ease-out;
    -o-transition: .2s ease-out;
    transition: .2s ease-out;
    -webkit-transition-property: color, -webkit-transform;
    transition-property: color, -webkit-transform;
    -o-transition-property: transform, color;
    transition-property: transform, color;
    transition-property: transform, color, -webkit-transform
}

.FeaturedCard--noImage .BackButton__circle, .FeaturedCard--noImage .ButtonArrow__circle, .FeaturedCard--noImage .FeaturedCard__circle, .FeaturedCard--noImage .FeaturedSliderScroll__circleInner, .FeaturedCard--noImage .HomeProjectsMore__circleInner {
    background-color: #fff;
    color: #3b65cf
}

@media (min-width: 1366px) {
    .ProjectPage__back, .ServicePage__back {
        margin-left: -68px;
        position: absolute;
        -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        transform: translateX(-100%)
    }
}

@media (max-width: 1365px) {
    .ProjectPage__back, .ServicePage__back {
        margin-bottom: 16px
    }
}

.HomeProject__imageInner img, .ProjectCard__image img, .ProjectPage__galleryItem img {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: -webkit-transform 375ms ease-out;
    transition: -webkit-transform 375ms ease-out;
    -o-transition: transform 375ms ease-out;
    transition: transform 375ms ease-out;
    transition: transform 375ms ease-out, -webkit-transform 375ms ease-out
}

.HomeSection__number, .ServiceCard__number {
    color: #3b65cf;
    font-family: "Bebas Neue", cursive;
    font-size: 10.625rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: .2295;
    position: absolute
}

@media (max-width: 1199px) {
    .HomeSection__number, .ServiceCard__number {
        font-size: 8.75rem
    }
}

@media (max-width: 999px) {
    .HomeSection__number, .ServiceCard__number {
        font-size: 6.875rem
    }
}

@media (max-width: 899px) {
    .HomeSection__number, .ServiceCard__number {
        font-size: 5.625rem
    }
}

@media (max-width: 639px) {
    .HomeSection__number, .ServiceCard__number {
        font-size: 4.375rem
    }
}

.no-js .show-for-js {
    display: none
}

.js .hide-for-js {
    display: none
}

.responsiveEmbed {
    position: relative;
    padding: 0;
    padding-bottom: 56.25%
}

.responsiveEmbed iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100% !important;
    height: 100% !important
}

.visually-hidden {
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    white-space: nowrap;
    width: 1px
}

[hidden] {
    display: none !important
}

.SiteHeader {
    padding-top: 16px
}

@media (max-width: 999px) {
    .SiteHeader {
        padding-top: 15px
    }
}

.SiteHeader--fixed {
    position: absolute;
    width: 100%
}

.SiteHeader--light .SiteHeader__logo {
    color: #fff
}

.SiteHeader--light .SiteHeader__logo:focus, .SiteHeader--light .SiteHeader__logo:hover {
    color: #e6e6e6
}

.SiteHeader--light .HeaderNav__chevron, .SiteHeader--light .HeaderNav__label, .SiteHeader--light .HeaderNav__link {
    color: #fff
}

.SiteHeader--light .HeaderNav__link:focus, .SiteHeader--light .HeaderNav__link:hover {
    color: #e6e6e6
}

.SiteHeader--light .HeaderNav__item--dropdown:focus-within .HeaderNav__chevron, .SiteHeader--light .HeaderNav__item--dropdown:focus-within .HeaderNav__label, .SiteHeader--light .HeaderNav__item--dropdown:focus-within .HeaderNav__link, .SiteHeader--light .HeaderNav__item--dropdown:hover .HeaderNav__chevron, .SiteHeader--light .HeaderNav__item--dropdown:hover .HeaderNav__label, .SiteHeader--light .HeaderNav__item--dropdown:hover .HeaderNav__link {
    color: #e6e6e6
}

.SiteHeader__grid {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.SiteHeader__logo {
    color: #3d475f;
    margin-right: auto;
    outline: 0
}

.SiteHeader__logo:focus, .SiteHeader__logo:hover {
    color: #3b65cf
}

.SiteHeader__nav {
    margin-right: 40px
}

@media (max-width: 999px) {
    .SiteHeader__nav {
        display: none
    }
}

.SiteHeader__button {
    height: 100%
}

@media (max-width: 639px) {
    .SiteHeader__button {
        display: none
    }
}

.SiteHeader__hamburger {
    font-size: 0;
    min-width: auto;
    padding: 0;
    width: 47px;
    height: 47px
}

@media (min-width: 1000px) {
    .SiteHeader__hamburger {
        display: none
    }
}

@media (min-width: 640px) {
    .SiteHeader__hamburger {
        margin-left: 16px
    }
}

.HeaderNav__item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative
}

.HeaderNav__item:not(:last-child) {
    margin-right: 36px
}

@media (max-width: 1199px) {
    .HeaderNav__item:not(:last-child) {
        margin-right: 32px
    }
}

.HeaderNav__item--dropdown {
    cursor: default
}

.HeaderNav__item--dropdown:focus-within .HeaderNav__label, .HeaderNav__item--dropdown:focus-within .HeaderNav__link, .HeaderNav__item--dropdown:hover .HeaderNav__label, .HeaderNav__item--dropdown:hover .HeaderNav__link {
    color: #2a4fad
}

.HeaderNav__item--dropdown:focus-within .HeaderNav__dropdown, .HeaderNav__item--dropdown:hover .HeaderNav__dropdown {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
    visibility: visible
}

.HeaderNav__item--dropdown:focus-within .HeaderNav__chevron, .HeaderNav__item--dropdown:hover .HeaderNav__chevron {
    color: #3d475f;
    -webkit-transition-delay: 0s;
    -o-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform: rotateZ(180deg);
    -ms-transform: rotate(180deg);
    transform: rotateZ(180deg)
}

.HeaderNav__item--active .HeaderNav__label, .HeaderNav__item--active .HeaderNav__link {
    color: #3b65cf
}

.HeaderNav__label, .HeaderNav__link {
    color: #3d475f;
    display: block;
    font-size: .875rem;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1.0715;
    padding: 16px 0;
    -webkit-transition: color .2s ease-out;
    -o-transition: color .2s ease-out;
    transition: color .2s ease-out
}

.HeaderNav__link:focus, .HeaderNav__link:hover {
    color: #2a4fad
}

.HeaderNav__chevron {
    color: #868686;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 8px;
    -webkit-transition: color .2s ease-out, -webkit-transform 275ms .35s ease-out;
    transition: color .2s ease-out, -webkit-transform 275ms .35s ease-out;
    -o-transition: transform 275ms .35s ease-out, color .2s ease-out;
    transition: transform 275ms .35s ease-out, color .2s ease-out;
    transition: transform 275ms .35s ease-out, color .2s ease-out, -webkit-transform 275ms .35s ease-out
}

.HeaderNav__dropdown {
    left: 0;
    min-width: 450px;
    opacity: 0;
    padding-top: 10px;
    position: absolute;
    top: 100%;
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px);
    -webkit-transition: .2s ease-out;
    -o-transition: .2s ease-out;
    transition: .2s ease-out;
    -webkit-transition-delay: .35s;
    -o-transition-delay: .35s;
    transition-delay: .35s;
    -webkit-transition-property: opacity, visibility, -webkit-transform;
    transition-property: opacity, visibility, -webkit-transform;
    -o-transition-property: opacity, transform, visibility;
    transition-property: opacity, transform, visibility;
    transition-property: opacity, transform, visibility, -webkit-transform;
    visibility: hidden;
    width: 100%;
    z-index: 1
}

.HeaderNav__dropdownInner {
    border: 1px solid #dcdfe4;
    background-color: #fff;
    -webkit-box-shadow: 0 20px 31px rgba(88, 92, 177, .13);
    box-shadow: 0 20px 31px rgba(88, 92, 177, .13);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 24px
}

.HeaderNav__dropdownItem:not(:last-child) {
    margin-bottom: 24px
}

.HeaderNav__dropdownItem--active .HeaderNav__dropdownLabel, .HeaderNav__dropdownItem--active .HeaderNav__dropdownLink {
    color: #3b65cf
}

.HeaderNav__dropdownLabel, .HeaderNav__dropdownLink {
    color: rgba(61, 71, 95, .8);
    display: block;
    font-size: .875rem;
    line-height: 1.25;
    outline: 0
}

.HeaderNav__dropdownLink:focus, .HeaderNav__dropdownLink:hover {
    color: #3d475f
}

.SiteFooter {
    background-color: #eaebed;
    padding: 45px 0 30px
}

@media (max-width: 639px) {
    .SiteFooter {
        padding-bottom: 24px;
        padding-top: 60px
    }
}

.SiteFooter__grid {
    display: grid;
    grid-template-areas:"first nav services last";
    grid-template-columns:repeat(2, auto) 1fr auto
}

@media (max-width: 999px) {
    .SiteFooter__grid {
        grid-column-gap: 24px;
        grid-template-columns:auto auto 1fr;
        grid-template-areas:"first services last" "nav services last"
    }
}

@media (max-width: 899px) {
    .SiteFooter__grid {
        grid-column-gap: 16px
    }
}

@media (max-width: 639px) {
    .SiteFooter__grid {
        grid-template-columns:1fr;
        grid-template-areas:"first" "nav" "services" "last"
    }
}

.SiteFooter__grid--bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 20px
}

@media (max-width: 639px) {
    .SiteFooter__grid--bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 50px
    }
}

.SiteFooter__column--first {
    grid-area: first
}

.SiteFooter__column--last {
    grid-area: last;
    margin-left: auto;
    max-width: 280px;
    padding-left: 32px;
    text-align: right
}

@media (max-width: 1199px) {
    .SiteFooter__column--last {
        padding-left: 24px
    }
}

@media (max-width: 999px) {
    .SiteFooter__column--last {
        padding-left: 0
    }
}

@media (max-width: 639px) {
    .SiteFooter__column--last {
        margin-left: 0;
        max-width: none;
        margin-top: 66px;
        text-align: left
    }
}

.SiteFooter__logo {
    color: #3d475f;
    display: block
}

.SiteFooter__logo:focus, .SiteFooter__logo:hover {
    color: #3b65cf
}

.SiteFooter__copyright {
    color: rgba(61, 71, 95, .8);
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.3075;
    margin-top: 8px;
    max-width: 160px
}

@media (max-width: 639px) {
    .SiteFooter__copyright {
        margin-top: 4px
    }
}

.SiteFooter__nav {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    grid-area: nav;
    padding-left: 75px;
    padding-right: 85px
}

@media (max-width: 1199px) {
    .SiteFooter__nav {
        padding-left: 50px;
        padding-right: 60px
    }
}

@media (max-width: 999px) {
    .SiteFooter__nav {
        padding-left: 0;
        padding-right: 40px
    }
}

@media (max-width: 899px) {
    .SiteFooter__nav {
        padding-right: 0
    }
}

@media (max-width: 639px) {
    .SiteFooter__nav {
        margin-top: 45px
    }
}

.SiteFooter__services {
    grid-area: services;
    max-width: 480px
}

@media (max-width: 999px) {
    .SiteFooter__services {
        max-width: none
    }
}

@media (max-width: 639px) {
    .SiteFooter__services {
        margin-top: 20px
    }
}

.SiteFooter__phone:not(:last-child) {
    margin-bottom: 4px
}

.SiteFooter__phone a {
    display: block;
    font-family: "Bebas Neue", cursive;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .02em;
    text-transform: uppercase;
    white-space: nowrap
}

.SiteFooter__emails {
    margin-top: 5px
}

@media (max-width: 639px) {
    .SiteFooter__emails {
        margin-top: 8px
    }
}

.SiteFooter__email:not(:last-child) {
    margin-bottom: 4px
}

.SiteFooter__email a {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.125
}

.SiteFooter__address {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.125;
    margin-top: 30px
}

@media (max-width: 639px) {
    .SiteFooter__address {
        margin-top: 20px
    }
}

.SiteFooter__developer {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: rgba(61, 71, 95, .8);
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.3075
}

@media (max-width: 639px) {
    .SiteFooter__developer {
        margin-top: 16px
    }
}

.SiteFooter__developer span {
    margin-right: 4px;
    padding-top: 5px
}

.SiteFooter__links {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.SiteFooter__link:not(:last-child) {
    margin-bottom: 5px
}

.SiteFooter__link a {
    color: rgba(61, 71, 95, .8);
    display: block;
    font-size: .8125rem;
    font-weight: 500;
    line-height: 1.3075
}

.SiteFooter__link a:focus, .SiteFooter__link a:hover {
    color: #3b65cf
}

.FooterNav__item:not(:last-child) {
    margin-bottom: 15px
}

.FooterNav__item--active .FooterNav__inner {
    color: #3b65cf
}

a.FooterNav__inner:focus, a.FooterNav__inner:hover {
    color: #254698
}

.FooterServices__list {
    display: grid;
    grid-gap: 15px 52px;
    grid-template-columns:repeat(2, 1fr);
    margin-top: 15px
}

@media (max-width: 1199px) {
    .FooterServices__list {
        grid-column-gap: 32px
    }
}

@media (max-width: 999px) {
    .FooterServices__list {
        grid-column-gap: 24px
    }
}

@media (max-width: 899px) {
    .FooterServices__list {
        grid-template-columns:1fr
    }
}

@media (max-width: 639px) {
    .FooterServices__list {
        margin-top: 10px
    }
}

.FooterServices__inner {
    color: rgba(61, 71, 95, .8);
    display: block;
    font-size: .75rem;
    line-height: 1.166
}

.offCanvas-model[id=off-canvas]:checked ~ * .offCanvas-layer, .offCanvas-model[id=off-canvas]:checked ~ .offCanvas-layer {
    visibility: visible;
    pointer-events: auto;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0)
}

.offCanvas-model[id=off-canvas]:checked ~ * .offCanvas-backgroundLayer, .offCanvas-model[id=off-canvas]:checked ~ .offCanvas-backgroundLayer {
    -webkit-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    transform: translateX(-100%);
    pointer-events: none
}

.offCanvas-model {
    display: none
}

.offCanvas-model[id=off-canvas]:checked ~ .offCanvas-backdrop[for=off-canvas] {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    cursor: pointer
}

.offCanvas-layer {
    position: fixed;
    right: 0;
    top: 0;
    height: 100%;
    overflow: auto;
    width: 280px;
    z-index: 11;
    -webkit-overflow-scrolling: touch;
    visibility: hidden;
    pointer-events: none;
    background-color: #fff;
    -webkit-transform: translateX(280px);
    -ms-transform: translateX(280px);
    transform: translateX(280px);
    -webkit-transition-property: visibility, -webkit-transform;
    transition-property: visibility, -webkit-transform;
    -o-transition-property: transform, visibility;
    transition-property: transform, visibility;
    transition-property: transform, visibility, -webkit-transform;
    -webkit-transition-duration: .5s;
    -o-transition-duration: .5s;
    transition-duration: .5s;
    will-change: transform
}

@media (max-width: 424px) {
    .offCanvas-layer {
        width: 100%
    }
}

@media (max-width: 424px) {
    .offCanvas-layer {
        -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
        transform: translateX(100%)
    }
}

.offCanvas-backdrop {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    background-color: rgba(0, 0, 0, .5);
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    -webkit-transition-property: opacity, visibility;
    -o-transition-property: opacity, visibility;
    transition-property: opacity, visibility;
    -webkit-transition-duration: .5s;
    -o-transition-duration: .5s;
    transition-duration: .5s
}

.offCanvas-backgroundLayer {
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    -webkit-transition: -webkit-transform .5s;
    transition: -webkit-transform .5s;
    -o-transition: transform .5s;
    transition: transform .5s;
    transition: transform .5s, -webkit-transform .5s
}

.SiteOffCanvas {
    position: relative
}

.SiteOffCanvas__header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.SiteOffCanvas__navigation {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-top: 78px
}

.SiteOffCanvas__close {
    font-size: 0;
    min-width: auto;
    padding: 0;
    width: 47px;
    height: 47px
}

.SiteOffCanvas__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    overflow-y: auto;
    position: relative;
    z-index: 2;
    -webkit-overflow-scrolling: touch
}

.SiteOffCanvas__image {
    z-index: 1
}

.SiteOffCanvasNavigation__item:not(:last-child) {
    margin-bottom: 30px
}

.SiteOffCanvasNavigation__item--active .SiteOffCanvasNavigation__inner {
    color: #3b65cf
}

.SiteOffCanvasNavigation__inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.SiteOffCanvasNavigation__checkbox:checked ~ .SiteOffCanvasNavigation__dropdown {
    display: block
}

.SiteOffCanvasNavigation__checkbox:checked + .SiteOffCanvasNavigation__inner .SiteOffCanvasNavigation__chevron {
    -webkit-transform: rotateZ(180deg);
    -ms-transform: rotate(180deg);
    transform: rotateZ(180deg)
}

.SiteOffCanvasNavigation__dropdown {
    display: none;
    margin-top: 15px
}

.SiteOffCanvasNavigation__dropdownItem:not(:last-child) {
    margin-bottom: 15px
}

.SiteOffCanvasNavigation__dropdownItem--active .SiteOffCanvasNavigation__dropdownInner {
    color: #3b65cf
}

.SiteOffCanvasNavigation__dropdownInner {
    color: rgba(61, 71, 95, .8);
    display: block;
    font-size: .75rem;
    line-height: 1.1666
}

.SiteOffCanvasNavigation__chevron {
    margin-left: 9px;
    margin-top: -4px;
    -webkit-transform: rotateZ(0);
    -ms-transform: rotate(0);
    transform: rotateZ(0);
    -webkit-transition: -webkit-transform 275ms ease-out;
    transition: -webkit-transform 275ms ease-out;
    -o-transition: transform 275ms ease-out;
    transition: transform 275ms ease-out;
    transition: transform 275ms ease-out, -webkit-transform 275ms ease-out
}

.offCanvas-model {
    display: initial;
    left: 0;
    position: absolute;
    top: 0
}

.offCanvas-layer {
    padding: 15px 16px 40px;
    position: fixed;
    top: 0
}

@media (max-width: 424px) {
    .offCanvas-layer {
        width: 100%
    }
}

.SiteForm__grid {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    display: grid;
    grid-gap: 16px 32px;
    grid-template-columns:repeat(2, 1fr)
}

@media (max-width: 999px) {
    .SiteForm__grid {
        grid-column-gap: 24px
    }
}

@media (max-width: 899px) {
    .SiteForm__grid {
        grid-column-gap: 16px
    }
}

@media (max-width: 639px) {
    .SiteForm__grid {
        grid-template-columns:1fr
    }
}

.SiteForm__grid--vertical {
    grid-gap: 16px;
    grid-template-columns:1fr
}

.SiteForm__grid > * {
    min-width: 0
}

.SiteForm__control {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.SiteForm__control--single {
    height: 100%
}

@media (min-width: 640px) {
    .SiteForm__control--single {
        grid-column-end: -1;
        grid-row: 1/-1
    }
}

@media (max-width: 639px) {
    .SiteForm__control--single {
        height: auto
    }
}

.SiteForm__label {
    color: #868686;
    display: inline-block;
    font-size: .75rem;
    line-height: 1.5;
    margin-bottom: 9px;
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1;
    -webkit-transition: color .2s ease-out;
    -o-transition: color .2s ease-out;
    transition: color .2s ease-out
}

@media (max-width: 639px) {
    .SiteForm__label {
        font-size: .75rem;
        margin-bottom: 11px
    }
}

.SiteForm__input {
    font-size: .875rem
}

@media (max-width: 639px) {
    .SiteForm__input {
        padding-left: 16px;
        padding-right: 16px
    }
}

.SiteForm__input:focus {
    border-color: #3b65cf
}

.SiteForm__input:focus + .SiteForm__label {
    color: #3b65cf
}

.SiteForm__input:disabled::-moz-placeholder {
    color: #868686
}

.SiteForm__input:disabled:-ms-input-placeholder {
    color: #868686
}

.SiteForm__input:disabled::-ms-input-placeholder {
    color: #868686
}

.SiteForm__input:disabled::-webkit-input-placeholder {
    color: #868686
}

.SiteForm__input:disabled::placeholder {
    color: #868686
}

.SiteForm__input.is-invalid {
    border-color: #eb6262
}

.SiteForm__checkboxWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.SiteForm__checkbox {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-right: 10px;
    margin-top: 4px
}

.SiteForm__footer {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 16px
}

.SiteForm__agreement {
    color: rgba(21, 42, 71, .7);
    font-size: .75rem;
    line-height: 1.333;
    max-width: 480px;
    padding-top: 2px
}

.SiteForm__agreement a {
    color: inherit;
    text-decoration: underline
}

.SiteForm__agreement a:focus, .SiteForm__agreement a:hover {
    color: #3b65cf
}

.SiteForm__button {
    margin-top: 30px;
    min-width: auto;
    padding: 0 32px
}

.SiteForm__textarea {
    max-height: 520px;
    min-height: 130px
}

@media (max-width: 639px) {
    .SiteForm__textarea {
        min-height: 150px
    }
}

.SiteForm__textarea--full {
    min-height: 100%
}

@media (max-width: 639px) {
    .SiteForm__textarea--full {
        min-height: 150px
    }
}

.ButtonArrow {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #3d475f;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.15385;
    -webkit-transition: color .2s ease-out;
    -o-transition: color .2s ease-out;
    transition: color .2s ease-out
}

a.ButtonArrow:focus, a.ButtonArrow:hover {
    color: #3b65cf
}

a.ButtonArrow:focus .ButtonArrow__circle, a.ButtonArrow:hover .ButtonArrow__circle {
    -webkit-transform: translateX(5px);
    -ms-transform: translateX(5px);
    transform: translateX(5px)
}

.ButtonArrow__circle {
    margin-left: 15px
}

@media (max-width: 639px) {
    .ButtonArrow__circle {
        margin-left: 10px
    }
}

.BackButton {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #3d475f;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.15385;
    -webkit-transition: color .2s ease-out;
    -o-transition: color .2s ease-out;
    transition: color .2s ease-out
}

.BackButton:focus .BackButton__circle, .BackButton:hover .BackButton__circle {
    color: #3b65cf;
    -webkit-transform: translateX(-5px);
    -ms-transform: translateX(-5px);
    transform: translateX(-5px)
}

.BackButton__circle {
    background-color: #eaebed;
    color: #3d475f;
    margin-right: 15px
}

@media (max-width: 639px) {
    .BackButton__circle {
        margin-right: 10px
    }
}

.BackButton__circle svg {
    -webkit-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
    transform: scaleX(-1)
}

.SiteGallery {
    position: relative
}

.SiteGallery__slide {
    width: 100%
}

.SiteGallery__image {
    overflow: hidden;
    padding-bottom: 56.2069%;
    width: 100%
}

.SiteGallery__controls {
    bottom: 50px;
    position: absolute;
    right: 0;
    width: 100%
}

@media (max-width: 999px) {
    .SiteGallery__controls {
        bottom: 40px
    }
}

@media (max-width: 899px) {
    .SiteGallery__controls {
        bottom: 30px
    }
}

@media (max-width: 639px) {
    .SiteGallery__controls {
        bottom: 20px
    }
}

@media (max-width: 424px) {
    .SiteGallery__controls {
        bottom: 16px
    }
}

.SiteGallery__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
}

.ProjectCard {
    display: block
}

.ProjectCard:focus .ButtonArrow, .ProjectCard:focus .ProjectCard__title, .ProjectCard:hover .ButtonArrow, .ProjectCard:hover .ProjectCard__title {
    color: #3b65cf
}

.ProjectCard:focus .ButtonArrow__circle, .ProjectCard:hover .ButtonArrow__circle {
    -webkit-transform: translateX(5px);
    -ms-transform: translateX(5px);
    transform: translateX(5px)
}

.ProjectCard:focus .ProjectCard__image img, .ProjectCard:hover .ProjectCard__image img {
    -webkit-transform: scale(1.04);
    -ms-transform: scale(1.04);
    transform: scale(1.04)
}

.ProjectCard__image {
    margin-bottom: 40px;
    overflow: hidden;
    padding-bottom: 71.89542%
}

@media (max-width: 999px) {
    .ProjectCard__image {
        margin-bottom: 35px
    }
}

@media (max-width: 899px) {
    .ProjectCard__image {
        margin-bottom: 30px
    }
}

@media (max-width: 639px) {
    .ProjectCard__image {
        margin-bottom: 25px
    }
}

.ProjectCard__image::before {
    -webkit-box-shadow: 0 30px 100px rgba(88, 92, 177, .3);
    box-shadow: 0 30px 100px rgba(88, 92, 177, .3);
    content: "";
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 91.15%;
    z-index: 1
}

.ProjectCard__image img {
    z-index: 2
}

.ProjectCard__overlay {
    background-color: rgba(13, 100, 172, .1);
    z-index: 3
}

.ProjectCard__description {
    color: rgba(61, 71, 95, .8);
    font-size: .875rem;
    letter-spacing: .05em;
    line-height: 1.285
}

.ProjectCard__title {
    margin-top: 20px;
    -webkit-transition: color .2s ease-out;
    -o-transition: color .2s ease-out;
    transition: color .2s ease-out
}

.ProjectCard__button {
    margin-top: 20px
}

.PageFilters {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -15px;
    margin-bottom: -18px
}

@media (max-width: 639px) {
    .PageFilters {
        margin-left: -16px;
        margin-right: -16px
    }
}

@media (max-width: 639px) {
    .PageFilters {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        margin-bottom: -16px;
        padding-bottom: 16px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch
    }
}

.PageFilters__item {
    margin-bottom: 18px;
    padding-left: 15px
}

@media (max-width: 639px) {
    .PageFilters__item {
        margin-bottom: 0;
        white-space: nowrap
    }
}

@media (max-width: 639px) {
    .PageFilters__item:last-child {
        padding-right: 16px
    }
}

.PageFilters__item--active .PageFilters__inner {
    background-color: #3b65cf;
    color: #fff
}

.PageFilters__inner {
    background-color: #eaebed;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    -webkit-border-radius: 100px;
    border-radius: 100px;
    color: rgba(61, 71, 95, .8);
    display: block;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.15;
    padding: 10px 15px
}

a.PageFilters__inner:focus, a.PageFilters__inner:hover {
    color: #3b65cf
}

.Consultation {
    background: #fafafa;
    border: 1px solid #d3d5d9;
    padding: 60px 50px;
    position: relative
}

@media (max-width: 899px) {
    .Consultation {
        padding: 50px 35px
    }
}

@media (max-width: 639px) {
    .Consultation {
        padding: 40px 20px
    }
}

.Consultation::after {
    z-index: 4
}

.Consultation::before {
    bottom: 0;
    -webkit-box-shadow: 0 30px 40px rgba(88, 92, 177, .08);
    box-shadow: 0 30px 40px rgba(88, 92, 177, .08);
    content: "";
    height: 88.5%;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 95%;
    z-index: -1
}

.Consultation__overlay {
    background-image: -webkit-linear-gradient(355deg, #fafafa 0, #fafafa 52.5%, rgba(250, 250, 250, 0) 100%);
    background-image: -o-linear-gradient(355deg, #fafafa 0, #fafafa 52.5%, rgba(250, 250, 250, 0) 100%);
    background-image: linear-gradient(95deg, #fafafa 0, #fafafa 52.5%, rgba(250, 250, 250, 0) 100%);
    z-index: 2
}

.Consultation__content {
    position: relative;
    z-index: 3
}

.Consultation__description {
    color: rgba(61, 71, 95, .8);
    font-size: 1.125rem;
    line-height: 1.4444;
    margin-top: 10px
}

@media (max-width: 899px) {
    .Consultation__description {
        font-size: 1rem
    }
}

@media (max-width: 639px) {
    .Consultation__description {
        font-size: .875rem;
        line-height: 1.4285
    }
}

.Consultation__button {
    margin-top: 40px
}

@media (max-width: 899px) {
    .Consultation__button {
        margin-top: 30px
    }
}

.Consultation__image {
    z-index: 1
}

.LocalePicker {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #fff;
    -webkit-box-shadow: 0 4px 32px rgba(88, 92, 177, .25);
    box-shadow: 0 4px 32px rgba(88, 92, 177, .25);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    outline: 0;
    padding: 11px
}

@media (max-width: 999px) {
    .LocalePicker {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        overflow: hidden;
        padding: 0;
        width: 47px;
        height: 47px
    }
}

@media (min-width: 640px) {
    .LocalePicker:focus-within, .LocalePicker:hover {
        overflow: visible
    }

    .LocalePicker:focus-within .LocalePicker__item, .LocalePicker:hover .LocalePicker__item {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}

@media (max-width: 639px) {
    .LocalePicker.--active {
        overflow: visible
    }

    .LocalePicker.--active .LocalePicker__item {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0)
    }
}

.LocalePicker__item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition: .2s ease-out;
    -o-transition: .2s ease-out;
    transition: .2s ease-out;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    -o-transition-property: opacity, transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    white-space: nowrap;
    width: 100%
}

@media (max-width: 999px) {
    .LocalePicker__item {
        background-color: #f8f8f8;
        border: 1px solid #d3d5d9;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        text-align: center
    }
}

@media (max-width: 999px) {
    .LocalePicker__item:first-child {
        height: 100%;
        -ms-flex-negative: 0;
        flex-shrink: 0
    }

    .LocalePicker__item:first-child .LocalePicker__inner {
        padding-right: 3px
    }
}

@media (max-width: 999px) {
    .LocalePicker__item:not(:first-child) {
        border-top: none;
        opacity: 0;
        -webkit-transform: translateY(8px);
        -ms-transform: translateY(8px);
        transform: translateY(8px)
    }

    .LocalePicker__item:not(:first-child) .LocalePicker__inner {
        padding: 8px;
        width: 100%
    }
}

.LocalePicker__item--active .LocalePicker__inner {
    color: #3d475f
}

.LocalePicker__inner {
    color: rgba(61, 71, 95, .5);
    display: block;
    font-size: .875rem;
    font-weight: 600;
    line-height: 1.0715;
    padding: 5px
}

.LocalePicker__arrow {
    color: #3d475f
}

@media (min-width: 1000px) {
    .LocalePicker__arrow {
        display: none
    }
}

@media (max-width: 999px) {
    .LocalePicker__arrow {
        padding-right: 2px
    }
}

.FeaturedSlider {
    position: relative
}

.FeaturedSlider__image {
    z-index: 1
}

.FeaturedSlider__content {
    background-color: rgba(13, 100, 172, .1);
    height: 100vh;
    padding: 160px 0;
    position: relative;
    z-index: 2
}

.FeaturedSlider__container, .FeaturedSlider__grid {
    height: 100%
}

.FeaturedSlider__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.FeaturedSlider__title {
    color: #fff;
    font-size: 5.625rem;
    line-height: .9;
    max-width: 812px
}

@media (max-width: 999px) {
    .FeaturedSlider__title {
        font-size: 4.5rem
    }
}

@media (max-width: 899px) {
    .FeaturedSlider__title {
        font-size: 3.5rem
    }
}

@media (max-width: 639px) {
    .FeaturedSlider__title {
        font-size: 2.625rem;
        line-height: .85715
    }
}

.FeaturedSlider__description {
    margin-top: 20px
}

.FeaturedSlider__panel {
    bottom: 52px;
    left: 0;
    position: absolute;
    z-index: 3
}

.FeaturedSliderPanel {
    width: 100%
}

.FeaturedSliderPanel__grid {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.FeaturedSliderPanel__inner {
    background-color: #fff;
    -webkit-clip-path: polygon(calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0 20px, 0 0);
    clip-path: polygon(calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0 20px, 0 0);
    counter-reset: featured-slider;
    display: inline-grid;
    grid-template-columns:repeat(3, 1fr);
    overflow: hidden;
    position: relative
}

@media (max-width: 639px) {
    .FeaturedSliderPanel__inner {
        -webkit-clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 0 0);
        clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 0 0)
    }
}

.FeaturedSliderPanel__item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    counter-increment: featured-slider;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    outline: 0;
    padding: 26px 59px 20px 23px;
    z-index: 2
}

@media (max-width: 999px) {
    .FeaturedSliderPanel__item {
        padding: 20px
    }
}

@media (max-width: 899px) {
    .FeaturedSliderPanel__item {
        padding: 16px
    }
}

@media (max-width: 639px) {
    .FeaturedSliderPanel__item {
        padding: 12px 16px
    }
}

@media (max-width: 374px) {
    .FeaturedSliderPanel__item {
        padding: 11px 12px 10px
    }
}

.FeaturedSliderPanel__item:not(:first-child).--active ~ .FeaturedSliderPanel__runner {
    -webkit-clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 10px 50%, 0 0);
    clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 10px 50%, 0 0)
}

@media (max-width: 639px) {
    .FeaturedSliderPanel__item:not(:first-child).--active ~ .FeaturedSliderPanel__runner {
        -webkit-clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 5px 50%, 0 0);
        clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 5px 50%, 0 0)
    }
}

.FeaturedSliderPanel__item:nth-child(2).--active ~ .FeaturedSliderPanel__runner {
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    transform: translateX(100%)
}

.FeaturedSliderPanel__item:nth-child(3).--active ~ .FeaturedSliderPanel__runner {
    -webkit-transform: translateX(200%);
    -ms-transform: translateX(200%);
    transform: translateX(200%)
}

.FeaturedSliderPanel__item.--active .FeaturedSliderPanel__number {
    color: rgba(255, 255, 255, .8)
}

.FeaturedSliderPanel__item.--active .FeaturedSliderPanel__text {
    color: #fff
}

.FeaturedSliderPanel__number {
    color: rgba(61, 71, 95, .8);
    font-size: .875rem;
    font-weight: 600;
    letter-spacing: .03em;
    line-height: 1.85715;
    text-transform: uppercase;
    margin-right: 14px;
    margin-top: -4px;
    -webkit-transition: color .2s ease-out;
    -o-transition: color .2s ease-out;
    transition: color .2s ease-out
}

@media (max-width: 639px) {
    .FeaturedSliderPanel__number {
        display: none
    }
}

.FeaturedSliderPanel__number::before {
    content: "0" counter(featured-slider)
}

.FeaturedSliderPanel__text {
    color: #3d475f;
    font-size: 1.75rem;
    line-height: 1.0715;
    text-transform: uppercase;
    -webkit-transition: color .2s ease-out;
    -o-transition: color .2s ease-out;
    transition: color .2s ease-out
}

@media (max-width: 999px) {
    .FeaturedSliderPanel__text {
        font-size: 1.5rem;
        line-height: 1.5
    }
}

@media (max-width: 899px) {
    .FeaturedSliderPanel__text {
        font-size: 1.25rem
    }
}

@media (max-width: 639px) {
    .FeaturedSliderPanel__text {
        font-size: 1rem
    }
}

@media (max-width: 374px) {
    .FeaturedSliderPanel__text {
        font-size: .875rem
    }
}

.FeaturedSliderPanel__runner {
    background-color: #3b65cf;
    -webkit-clip-path: polygon(calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0 20px, 0 0);
    clip-path: polygon(calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%, 0 20px, 0 0);
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    -webkit-transition: .2s ease-out;
    -o-transition: .2s ease-out;
    transition: .2s ease-out;
    transition-property: transform, -webkit-clip-path;
    -webkit-transition-property: -webkit-transform, -webkit-clip-path;
    transition-property: -webkit-transform, -webkit-clip-path;
    -o-transition-property: transform, clip-path;
    transition-property: transform, clip-path;
    transition-property: transform, clip-path, -webkit-transform, -webkit-clip-path;
    transition-property: transform, clip-path, -webkit-clip-path;
    width: 33.33333%;
    z-index: 1
}

@media (max-width: 639px) {
    .FeaturedSliderPanel__runner {
        -webkit-clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 0 0);
        clip-path: polygon(calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%, 0 0)
    }
}

.FeaturedSliderScroll {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.15385;
    text-align: right
}

@media (max-width: 899px) {
    .FeaturedSliderScroll {
        display: none
    }
}

.FeaturedSliderScroll:focus .FeaturedSliderScroll__circle, .FeaturedSliderScroll:hover .FeaturedSliderScroll__circle {
    -webkit-transform: translateY(5px);
    -ms-transform: translateY(5px);
    transform: translateY(5px)
}

.FeaturedSliderScroll__circle {
    margin-left: 10px
}

.FeaturedSliderScroll__circleInner {
    -webkit-transform: rotateZ(90deg);
    -ms-transform: rotate(90deg);
    transform: rotateZ(90deg)
}

@media (max-width: 639px) {
    .Partners__container {
        margin-left: -16px;
        margin-right: -16px
    }
}

.Partners__slide {
    padding-right: 16px;
    width: calc(100% / 6 + 2.66667px);
    height: auto
}

.Partners__slide:last-child {
    margin-right: -16px
}

@media (max-width: 999px) {
    .Partners__slide {
        padding-right: 16px;
        width: calc(100% / 5 + 3.2px)
    }

    .Partners__slide:last-child {
        margin-right: -16px
    }
}

@media (max-width: 899px) {
    .Partners__slide {
        padding-right: 16px;
        width: calc(100% / 4 + 4px)
    }

    .Partners__slide:last-child {
        margin-right: -16px
    }
}

@media (max-width: 639px) {
    .Partners__slide {
        padding-right: 16px;
        width: calc(100% / 3 + 5.33333px)
    }

    .Partners__slide:last-child {
        margin-right: -16px
    }
}

@media (min-width: 425px) {
    .Partners__slide::before {
        background-color: #d3d5d9;
        content: "";
        height: 100%;
        left: -2px;
        position: absolute;
        top: 0;
        width: 1px
    }
}

@media (max-width: 424px) {
    .Partners__slide {
        -webkit-box-sizing: content-box;
        box-sizing: content-box;
        max-width: 96px;
        padding-left: 16px;
        padding-right: 0
    }
}

@media (min-width: 425px) {
    .Partners__slide:not(:first-child) .Partners__image {
        margin-left: 16px
    }
}

@media (max-width: 424px) {
    .Partners__slide:last-child {
        margin-right: 16px
    }
}

.Partners__navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: 12px
}

.HomeAbout {
    position: relative
}

@media (max-width: 639px) {
    .HomeAbout {
        padding-bottom: 48px
    }
}

.HomeAbout__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 40px
}

@media (max-width: 1199px) {
    .HomeAbout__grid {
        margin-top: 35px
    }
}

@media (max-width: 999px) {
    .HomeAbout__grid {
        margin-top: 30px
    }
}

@media (max-width: 899px) {
    .HomeAbout__grid {
        margin-top: 25px
    }
}

@media (max-width: 639px) {
    .HomeAbout__grid {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 20px
    }
}

.HomeAbout__column--left {
    padding-right: 64px
}

@media (max-width: 1199px) {
    .HomeAbout__column--left {
        padding-right: 32px
    }
}

@media (max-width: 999px) {
    .HomeAbout__column--left {
        padding-right: 24px
    }
}

@media (max-width: 899px) {
    .HomeAbout__column--left {
        padding-right: 16px
    }
}

@media (max-width: 639px) {
    .HomeAbout__column--left {
        padding-right: 0
    }
}

.HomeAbout__column--right {
    padding-right: 108px
}

@media (max-width: 1199px) {
    .HomeAbout__column--right {
        padding-right: 64px
    }
}

@media (max-width: 999px) {
    .HomeAbout__column--right {
        padding-right: 0
    }
}

.HomeAbout__title {
    font-weight: 400
}

.HomeAbout__button {
    margin-top: 36px
}

@media (max-width: 639px) {
    .HomeAbout__button {
        bottom: 0;
        left: 0;
        margin: 0;
        position: absolute
    }
}

.HomeAbout__description {
    max-width: 614px
}

@media (max-width: 639px) {
    .HomeAbout__description {
        margin-top: 20px
    }
}

.HomeNumbers__grid {
    display: grid;
    grid-gap: 32px;
    grid-template-columns:repeat(4, 1fr)
}

@media (max-width: 1199px) {
    .HomeNumbers__grid {
        grid-gap: 24px
    }
}

@media (max-width: 999px) {
    .HomeNumbers__grid {
        grid-gap: 20px;
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (max-width: 639px) {
    .HomeNumbers__grid {
        grid-gap: 20px 16px
    }
}

.HomeNumbers__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%
}

.HomeNumbers__item .OrderedCard {
    width: 100%;
    height: 100%
}

.OrderedCard {
    background-color: #fff;
    border: 1px solid #d3d5d9;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 20px;
    padding-top: 12px;
    position: relative
}

@media (max-width: 639px) {
    .OrderedCard {
        padding: 10px
    }
}

a.OrderedCard:focus .OrderedCard__title, a.OrderedCard:hover .OrderedCard__title {
    color: #3b65cf
}

a.OrderedCard:focus .OrderedCard__buttonIcon, a.OrderedCard:hover .OrderedCard__buttonIcon {
    -webkit-transform: translateX(5px);
    -ms-transform: translateX(5px);
    transform: translateX(5px)
}

.OrderedCard::after {
    border: 7px solid transparent;
    border-right-color: #3b65cf;
    border-top-color: #3b65cf;
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 14px;
    height: 14px
}

.OrderedCard__number {
    color: rgba(61, 71, 95, .8);
    font-size: .875rem;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1.85715;
    text-transform: uppercase
}

.OrderedCard__title {
    margin-top: auto;
    padding-right: 28px;
    padding-top: 32px;
    -webkit-transition: color .2s ease-out;
    -o-transition: color .2s ease-out;
    transition: color .2s ease-out
}

@media (max-width: 639px) {
    .OrderedCard__title {
        padding-right: 0;
        padding-top: 6px
    }
}

.OrderedCard__button {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #3d475f;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.15385;
    margin-top: 10px
}

.OrderedCard__buttonIcon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 4px;
    max-width: 9px;
    padding-top: 2px;
    -webkit-transition: -webkit-transform .2s ease-out;
    transition: -webkit-transform .2s ease-out;
    -o-transition: transform .2s ease-out;
    transition: transform .2s ease-out;
    transition: transform .2s ease-out, -webkit-transform .2s ease-out
}

.HomeSections__items {
    counter-reset: home-sections;
    margin-top: 30px
}

@media (max-width: 639px) {
    .HomeSections__items {
        margin-top: 20px
    }
}

.HomeSections__item {
    counter-increment: home-sections
}

.HomeSections__item:not(:last-child) {
    margin-bottom: 140px
}

@media (max-width: 999px) {
    .HomeSections__item:not(:last-child) {
        margin-bottom: 120px
    }
}

@media (max-width: 899px) {
    .HomeSections__item:not(:last-child) {
        margin-bottom: 100px
    }
}

@media (max-width: 639px) {
    .HomeSections__item:not(:last-child) {
        margin-bottom: 74px
    }
}

@media (max-width: 639px) {
    .HomeSection {
        position: relative
    }
}

.HomeSection--left .HomeSection__imageContainer {
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1
}

.HomeSection--left .HomeSection__imageContainer::before {
    left: 80px
}

@media (max-width: 1199px) {
    .HomeSection--left .HomeSection__imageContainer::before {
        left: 60px
    }
}

@media (max-width: 999px) {
    .HomeSection--left .HomeSection__imageContainer::before {
        left: 40px
    }
}

@media (max-width: 639px) {
    .HomeSection--left .HomeSection__imageContainer::before {
        left: auto;
        right: 0
    }
}

.HomeSection--left .HomeSection__title {
    margin-left: auto;
    padding-left: 20px;
    padding-right: 0;
    text-align: right
}

@media (max-width: 639px) {
    .HomeSection--left .HomeSection__title {
        padding-left: 0;
        text-align: left
    }
}

.HomeSection--left .HomeSection__cards {
    margin-left: -84px;
    margin-right: 0
}

@media (max-width: 1365px) {
    .HomeSection--left .HomeSection__cards {
        margin-left: -140px
    }
}

@media (max-width: 1199px) {
    .HomeSection--left .HomeSection__cards {
        margin-left: -200px
    }
}

@media (max-width: 639px) {
    .HomeSection--left .HomeSection__cards {
        margin-left: -16px;
        margin-right: -16px
    }
}

.HomeSection__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.HomeSection__info {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    z-index: 2
}

@media (max-width: 639px) {
    .HomeSection__info {
        width: 100%
    }
}

.HomeSection__title {
    max-width: 720px;
    padding-right: 20px
}

.HomeSection__cards {
    display: grid;
    grid-gap: 30px;
    grid-template-columns:repeat(4, 1fr);
    margin-right: -84px;
    margin-top: 34px;
    max-width: 832px
}

@media (max-width: 1365px) {
    .HomeSection__cards {
        grid-gap: 24px;
        margin-right: -140px
    }
}

@media (max-width: 1199px) {
    .HomeSection__cards {
        margin-right: -200px
    }
}

@media (max-width: 899px) {
    .HomeSection__cards {
        margin-top: 20px
    }
}

@media (max-width: 639px) {
    .HomeSection__cards {
        grid-gap: 0;
        margin-bottom: -16px;
        margin-left: -16px;
        margin-right: -16px;
        overflow-x: auto;
        padding-bottom: 16px;
        -ms-scroll-snap-type: x mandatory;
        -webkit-scroll-snap-type: x mandatory;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch
    }
}

.HomeSection__cards::after {
    content: "";
    display: block;
    width: 16px
}

@media (min-width: 640px) {
    .HomeSection__cards::after {
        display: none
    }
}

@media (max-width: 639px) {
    .HomeSection__card {
        padding-left: 16px;
        scroll-snap-align: start
    }
}

@media (max-width: 639px) {
    .HomeSection__card:last-child {
        padding-right: 16px
    }
}

@media (max-width: 639px) {
    .HomeSection__card .FeaturedCard {
        min-width: 120px
    }
}

.HomeSection__imageContainer {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 514px;
    position: relative;
    width: 100%;
    z-index: 1
}

@media (max-width: 1365px) {
    .HomeSection__imageContainer {
        max-width: 420px
    }
}

@media (max-width: 1199px) {
    .HomeSection__imageContainer {
        max-width: 340px
    }
}

@media (max-width: 999px) {
    .HomeSection__imageContainer {
        max-width: 290px
    }
}

@media (max-width: 899px) {
    .HomeSection__imageContainer {
        max-width: 240px
    }
}

@media (max-width: 639px) {
    .HomeSection__imageContainer {
        -webkit-box-flex: 0;
        -ms-flex-positive: 0;
        flex-grow: 0;
        position: static;
        width: auto
    }
}

.HomeSection__imageContainer.uk-scrollspy-inview .HomeSection__number {
    opacity: 1
}

.HomeSection__number {
    margin-top: -8px;
    opacity: 0;
    right: 80px;
    top: 0;
    -webkit-transition: opacity .5s;
    -o-transition: opacity .5s;
    transition: opacity .5s;
    -webkit-transition-delay: .75s;
    -o-transition-delay: .75s;
    transition-delay: .75s;
    z-index: 1
}

@media (max-width: 1199px) {
    .HomeSection__number {
        right: 60px
    }
}

@media (max-width: 999px) {
    .HomeSection__number {
        right: 40px
    }
}

@media (max-width: 639px) {
    .HomeSection__number {
        color: rgba(59, 101, 207, .1);
        margin-top: 0;
        right: 0
    }
}

.HomeSection__number::before {
    content: "0" counter(home-sections)
}

.HomeSection__image {
    padding-bottom: 92.02335%;
    position: relative
}

@media (max-width: 639px) {
    .HomeSection__image {
        display: none
    }
}

.FeaturedCard {
    display: block;
    padding-bottom: 145.35519%;
    position: relative
}

a.FeaturedCard:focus .FeaturedCard__title, a.FeaturedCard:hover .FeaturedCard__title {
    color: #3b65cf
}

a.FeaturedCard:focus .FeaturedCard__circle, a.FeaturedCard:hover .FeaturedCard__circle {
    -webkit-transform: translateX(5px);
    -ms-transform: translateX(5px);
    transform: translateX(5px)
}

a.FeaturedCard--noImage:focus .FeaturedCard__title, a.FeaturedCard--noImage:hover .FeaturedCard__title {
    color: #fff
}

.FeaturedCard--noImage .FeaturedCard__overlay {
    background: #3b65cf
}

.FeaturedCard--noImage .FeaturedCard__title {
    color: #fff
}

.FeaturedCard__image {
    z-index: 1
}

.FeaturedCard__overlay {
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(16.91%, rgba(255, 255, 255, 0)), color-stop(63.94%, rgba(255, 255, 255, .95)), color-stop(82.63%, rgba(255, 255, 255, .92)), to(white));
    background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 16.91%, rgba(255, 255, 255, .95) 63.94%, rgba(255, 255, 255, .92) 82.63%, #fff 100%);
    background-image: -o-linear-gradient(top, rgba(255, 255, 255, 0) 16.91%, rgba(255, 255, 255, .95) 63.94%, rgba(255, 255, 255, .92) 82.63%, #fff 100%);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 16.91%, rgba(255, 255, 255, .95) 63.94%, rgba(255, 255, 255, .92) 82.63%, #fff 100%);
    z-index: 2
}

.FeaturedCard__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding: 12px 14px;
    z-index: 3
}

@media (max-width: 899px) {
    .FeaturedCard__content {
        padding: 12px
    }
}

@media (max-width: 639px) {
    .FeaturedCard__content {
        padding: 10px
    }
}

.FeaturedCard__title {
    margin-bottom: 11px;
    -webkit-transition: color .2s ease-out;
    -o-transition: color .2s ease-out;
    transition: color .2s ease-out
}

@media (max-width: 639px) {
    .FeaturedCard__title {
        font-size: .875rem
    }
}

.FeaturedCard__circle {
    -ms-flex-item-align: end;
    align-self: flex-end
}

.HomeProjects__items {
    margin-top: 90px
}

@media (max-width: 999px) {
    .HomeProjects__items {
        margin-top: 75px
    }
}

@media (max-width: 899px) {
    .HomeProjects__items {
        margin-top: 40px
    }
}

@media (max-width: 639px) {
    .HomeProjects__items {
        margin-top: 20px
    }
}

.HomeProjects__item:not(:last-child) {
    margin-bottom: 80px
}

@media (max-width: 899px) {
    .HomeProjects__item:not(:last-child) {
        margin-bottom: 70px
    }
}

@media (max-width: 639px) {
    .HomeProjects__item:not(:last-child) {
        margin-bottom: 60px
    }
}

.HomeProjects__more {
    margin-top: 110px
}

@media (max-width: 1199px) {
    .HomeProjects__more {
        margin-top: 100px
    }
}

@media (max-width: 999px) {
    .HomeProjects__more {
        margin-top: 90px
    }
}

@media (max-width: 899px) {
    .HomeProjects__more {
        margin-top: 70px
    }
}

@media (max-width: 639px) {
    .HomeProjects__more {
        margin-top: 0;
        -webkit-transform: translateY(50%);
        -ms-transform: translateY(50%);
        transform: translateY(50%)
    }
}

.HomeProjectsMore {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    text-align: center
}

@media (max-width: 639px) {
    .HomeProjectsMore {
        background-color: #fff;
        border: 1px solid #d3d5d9;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 40px 26px;
        padding-left: 34px
    }
}

@media (min-width: 640px) {
    .HomeProjectsMore:focus .HomeProjectsMore__circle, .HomeProjectsMore:hover .HomeProjectsMore__circle {
        -webkit-transform: translateY(5px);
        -ms-transform: translateY(5px);
        transform: translateY(5px)
    }
}

@media (min-width: 640px) {
    .HomeProjectsMore__heading {
        margin-bottom: 20px
    }
}

@media (max-width: 639px) {
    .HomeProjectsMore__heading {
        margin-right: 20px
    }
}

.HomeProjectsMore__link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

@media (max-width: 639px) {
    .HomeProjectsMore__link {
        margin-top: -4px
    }
}

.HomeProjectsMore__text {
    color: #3d475f;
    font-size: .8125rem;
    font-weight: 600;
    line-height: 1.15385;
    margin-bottom: 9px
}

@media (max-width: 639px) {
    .HomeProjectsMore__text {
        display: none
    }
}

@media (min-width: 640px) {
    .HomeProjectsMore__circleInner {
        -webkit-transform: rotateZ(90deg);
        -ms-transform: rotate(90deg);
        transform: rotateZ(90deg)
    }
}

.HomeProject {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 32px;
    padding-right: 32px
}

@media (max-width: 899px) {
    .HomeProject {
        padding: 0
    }
}

@media (max-width: 639px) {
    .HomeProject {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.HomeProject--left .HomeProject__imageContainer {
    margin-left: 0;
    -webkit-box-ordinal-group: 0;
    -ms-flex-order: -1;
    order: -1
}

.HomeProject--left .HomeProject__content {
    padding-left: 145px;
    padding-right: 0
}

@media (max-width: 1199px) {
    .HomeProject--left .HomeProject__content {
        padding-left: 120px
    }
}

@media (max-width: 999px) {
    .HomeProject--left .HomeProject__content {
        padding-left: 92px
    }
}

@media (max-width: 899px) {
    .HomeProject--left .HomeProject__content {
        padding-left: 48px
    }
}

@media (max-width: 639px) {
    .HomeProject--left .HomeProject__content {
        padding: 0
    }
}

.HomeProject__imageContainer {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: auto;
    max-width: 506px;
    padding-right: 40px;
    padding-top: 40px;
    width: 100%
}

@media (max-width: 1199px) {
    .HomeProject__imageContainer {
        max-width: 420px
    }
}

@media (max-width: 999px) {
    .HomeProject__imageContainer {
        max-width: 350px
    }
}

@media (max-width: 899px) {
    .HomeProject__imageContainer {
        max-width: 260px;
        padding-right: 24px;
        padding-top: 24px
    }
}

@media (max-width: 639px) {
    .HomeProject__imageContainer {
        margin-bottom: 20px;
        margin-left: 0;
        max-width: 288px;
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1;
        padding: 0
    }
}

@media (max-width: 424px) {
    .HomeProject__imageContainer {
        max-width: none
    }
}

.HomeProject__image {
    background-color: #f8f8f8;
    padding-bottom: 104.74308%;
    position: relative
}

.HomeProject__image::before {
    background-color: #eaebed;
    content: "";
    bottom: 20px;
    left: 20px;
    position: absolute;
    right: 20px;
    top: 20px
}

@media (max-width: 899px) {
    .HomeProject__image::before {
        bottom: 12px;
        left: 12px;
        right: 12px;
        top: 12px
    }
}

@media (max-width: 639px) {
    .HomeProject__image::before {
        display: none
    }
}

.HomeProject__image:focus .HomeProject__imageInner img, .HomeProject__image:hover .HomeProject__imageInner img {
    -webkit-transform: scale(1.04);
    -ms-transform: scale(1.04);
    transform: scale(1.04)
}

.HomeProject__imageInner {
    position: absolute;
    right: -40px;
    width: 100%;
    height: 100%;
    top: -40px
}

@media (max-width: 899px) {
    .HomeProject__imageInner {
        right: -24px;
        top: -24px
    }
}

@media (max-width: 639px) {
    .HomeProject__imageInner {
        right: 0;
        top: 0;
        -webkit-transform: none !important;
        -ms-transform: none !important;
        transform: none !important
    }
}

.HomeProject__imageInner img {
    -o-object-fit: cover;
    object-fit: cover;
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1
}

.HomeProject__imageInner::before {
    background-color: rgba(13, 100, 172, .1);
    content: "";
    z-index: 2
}

.HomeProject__imageInner::after {
    bottom: 1.5%;
    -webkit-box-shadow: 0 30px 100px rgba(88, 92, 177, .3);
    box-shadow: 0 30px 100px rgba(88, 92, 177, .3);
    content: "";
    left: 50%;
    position: absolute;
    width: 89%;
    height: 89%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%)
}

@media (max-width: 639px) {
    .HomeProject__imageInner::after {
        display: none
    }
}

.HomeProject__content {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    max-width: 506px;
    padding-left: 74px;
    padding-right: 16px
}

@media (max-width: 1199px) {
    .HomeProject__content {
        padding-left: 64px
    }
}

@media (max-width: 999px) {
    .HomeProject__content {
        padding-left: 48px
    }
}

@media (max-width: 899px) {
    .HomeProject__content {
        padding-left: 20px;
        padding-right: 8px
    }
}

@media (max-width: 639px) {
    .HomeProject__content {
        padding: 0
    }
}

.HomeProject__title {
    display: inline-block;
    margin-top: 30px;
    margin-bottom: 30px
}

@media (max-width: 899px) {
    .HomeProject__title {
        margin-top: 20px;
        margin-bottom: 20px
    }
}

@media (max-width: 639px) {
    .HomeProject__title {
        margin-top: 10px
    }
}

.HomeMap__grid {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 40px
}

@media (max-width: 899px) {
    .HomeMap__grid {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 30px
    }
}

@media (max-width: 639px) {
    .HomeMap__grid {
        margin-top: 20px
    }
}

.HomeMap__title {
    font-weight: 400;
    max-width: 450px
}

.HomeMap__description {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    margin-left: auto;
    max-width: 614px;
    padding-left: 24px;
    padding-right: 108px
}

@media (max-width: 1365px) {
    .HomeMap__description {
        padding-right: 72px
    }
}

@media (max-width: 1199px) {
    .HomeMap__description {
        padding-right: 48px
    }
}

@media (max-width: 999px) {
    .HomeMap__description {
        padding-left: 0;
        padding-right: 32px
    }
}

@media (max-width: 899px) {
    .HomeMap__description {
        margin-left: 0;
        margin-top: 30px;
        padding-right: 0
    }
}

.HomeMap__mapContainer {
    position: relative
}

@media (max-width: 899px) {
    .HomeMap__mapContainer {
        margin-top: 30px
    }
}

@media (max-width: 899px) {
    .HomeMap__map {
        height: 400px;
        position: relative
    }
}

@media (max-width: 424px) {
    .HomeMap__map {
        height: auto;
        padding-bottom: 112.5%
    }
}

@media (min-width: 900px) {
    .HomeMap__map, .HomeMap__map svg {
        width: 100%
    }
}

@media (max-width: 899px) {
    .HomeMap__map svg {
        max-width: 720px;
        position: absolute;
        right: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

.HomeMap__cards {
    display: grid;
    grid-gap: 20px;
    grid-template-columns:repeat(2, 1fr)
}

@media (min-width: 900px) {
    .HomeMap__cards {
        left: 0;
        max-width: 536px;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

@media (max-width: 899px) {
    .HomeMap__cards {
        margin-top: 30px
    }
}

@media (max-width: 639px) {
    .HomeMap__cards {
        grid-gap: 16px
    }
}

.HomeMap__card, .HomeMap__card .OrderedCard {
    height: 100%
}

.HomeMap__card .OrderedCard {
    min-height: 190px
}

@media (max-width: 639px) {
    .HomeMap__card .OrderedCard {
        min-height: 168px
    }
}

.WrappedPartners__items {
    margin-top: 20px
}

.ServiceCard {
    display: grid;
    grid-column-gap: 24px;
    grid-template-areas:"heading image" "content image" "button image";
    grid-template-columns:repeat(2, 1fr);
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media (max-width: 899px) {
    .ServiceCard {
        grid-template-areas:"image" "heading" "content" "button";
        grid-template-columns:1fr
    }
}

@media (min-width: 640px) and (max-width: 899px) {
    .ServiceCard {
        height: 100%
    }
}

.ServiceCard .TheContent ol li, .ServiceCard .TheContent ul li, .TheContent ol .ServiceCard li, .TheContent ul .ServiceCard li {
    font-size: .875rem;
    line-height: 1.85715
}

@media (max-width: 639px) {
    .ServiceCard .TheContent ol li, .ServiceCard .TheContent ul li, .TheContent ol .ServiceCard li, .TheContent ul .ServiceCard li {
        line-height: 1.375
    }
}

.ServiceCard .TheContent ol li::before, .ServiceCard .TheContent ul li::before, .TheContent ol .ServiceCard li::before, .TheContent ul .ServiceCard li::before {
    top: 9px
}

.ServiceCard__info {
    padding-right: 32px
}

.ServiceCard__heading {
    grid-area: heading
}

.ServiceCard__content {
    grid-area: content;
    margin-top: 20px
}

.ServiceCard__button {
    -ms-flex-item-align: end;
    align-self: end;
    grid-area: button;
    justify-self: start;
    margin-top: 50px
}

@media (max-width: 999px) {
    .ServiceCard__button {
        margin-top: 40px
    }
}

@media (max-width: 899px) {
    .ServiceCard__button {
        margin-top: 20px
    }
}

@media (min-width: 640px) and (max-width: 899px) {
    .ServiceCard__button {
        -ms-flex-item-align: end;
        align-self: end
    }
}

.ServiceCard__imageContainer {
    grid-area: image;
    max-width: 614px;
    position: relative;
    width: 100%
}

@media (max-width: 899px) {
    .ServiceCard__imageContainer {
        margin-bottom: 24px;
        max-width: none
    }
}

.ServiceCard__image {
    padding-bottom: 45.27687%
}

.ServiceCard__image img {
    z-index: 1
}

.ServiceCard__number {
    position: absolute;
    right: 76px;
    top: 0;
    z-index: 2
}

@media (max-width: 999px) {
    .ServiceCard__number {
        right: 64px
    }
}

@media (max-width: 899px) {
    .ServiceCard__number {
        right: 16px
    }
}

.ServiceCard__number::before {
    content: "0" counter(services)
}

.Modal__dialog {
    width: 1044px
}

.Modal__dialog--small {
    width: 398px
}

.Modal__body {
    padding: 90px 108px 70px
}

@media (max-width: 1199px) {
    .Modal__body {
        padding: 70px 92px
    }
}

@media (max-width: 999px) {
    .Modal__body {
        padding: 55px 64px
    }
}

@media (max-width: 899px) {
    .Modal__body {
        padding: 40px 48px
    }
}

@media (max-width: 639px) {
    .Modal__body {
        padding: 24px 32px
    }
}

@media (max-width: 424px) {
    .Modal__body {
        padding: 24px 16px
    }
}

.Modal__body--fixedHeight {
    min-height: 520px
}

.Modal__body--small {
    padding: 62px 20px 50px 36px
}

@media (max-width: 999px) {
    .Modal__body--small {
        padding: 50px 20px
    }
}

@media (max-width: 899px) {
    .Modal__body--small {
        padding: 32px 16px
    }
}

@media (max-width: 639px) {
    .Modal__body--small {
        padding: 24px 16px
    }
}

.Modal__body.--center {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.Modal__close {
    background-color: #3b65cf;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    position: absolute;
    right: 25px;
    width: 45px;
    height: 45px;
    top: 25px;
    -webkit-transform: rotateZ(0);
    -ms-transform: rotate(0);
    transform: rotateZ(0);
    -webkit-transition: -webkit-transform .2s ease-out;
    transition: -webkit-transform .2s ease-out;
    -o-transition: transform .2s ease-out;
    transition: transform .2s ease-out;
    transition: transform .2s ease-out, -webkit-transform .2s ease-out;
    z-index: 3
}

@media (max-width: 899px) {
    .Modal__close {
        width: 32px;
        height: 32px;
        top: 24px
    }
}

@media (max-width: 639px) {
    .Modal__close {
        right: 16px
    }
}

.Modal__close, .Modal__close:focus, .Modal__close:hover {
    color: #fff
}

.Modal__close:focus, .Modal__close:hover {
    -webkit-transform: rotateZ(90deg);
    -ms-transform: rotate(90deg);
    transform: rotateZ(90deg)
}

.Modal__close--small {
    background-color: transparent;
    right: 0;
    width: 50px;
    height: 50px;
    top: 0
}

.Modal__close--small, .Modal__close--small:focus, .Modal__close--small:hover {
    color: #3d475f
}

@media (max-width: 639px) {
    .Modal__heading {
        padding-right: 32px
    }
}

.Modal__description:not(:first-child) {
    margin-top: 10px
}

.Modal__description--small {
    font-size: 1rem;
    line-height: 1.625
}

.Modal__form {
    margin-top: 30px
}

@media (max-width: 899px) {
    .Modal__form {
        margin-top: 24px
    }
}

@media (max-width: 639px) {
    .Modal__form {
        margin-top: 16px
    }
}

.Modal__background {
    z-index: 1
}

.Modal__background::before {
    background-image: -webkit-linear-gradient(355deg, #fafafa 0, #fafafa 35%, rgba(250, 250, 250, 0) 100%);
    background-image: -o-linear-gradient(355deg, #fafafa 0, #fafafa 35%, rgba(250, 250, 250, 0) 100%);
    background-image: linear-gradient(95deg, #fafafa 0, #fafafa 35%, rgba(250, 250, 250, 0) 100%);
    content: "";
    z-index: 2
}

.Modal__content {
    position: relative;
    z-index: 2
}

.Modal__content--center {
    text-align: center
}

.Modal__content.--hidden {
    display: none
}

.AboutHero {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 470px;
    position: relative
}

@media (max-width: 999px) {
    .AboutHero {
        min-height: 400px
    }
}

@media (max-width: 899px) {
    .AboutHero {
        min-height: 320px
    }
}

@media (max-width: 639px) {
    .AboutHero {
        min-height: 240px
    }
}

.AboutHero__content {
    padding-bottom: 24px;
    padding-top: 134px;
    position: relative;
    width: 100%;
    z-index: 2
}

@media (max-width: 999px) {
    .AboutHero__content {
        padding-top: 112px
    }
}

@media (max-width: 899px) {
    .AboutHero__content {
        padding-top: 92px
    }
}

.AboutHero__heading {
    color: #fff
}

.AboutHero__heading + .AboutHero__heading {
    margin-top: 50px
}

@media (max-width: 999px) {
    .AboutHero__heading + .AboutHero__heading {
        margin-top: 32px
    }
}

@media (max-width: 899px) {
    .AboutHero__heading + .AboutHero__heading {
        margin-top: 24px
    }
}

@media (max-width: 639px) {
    .AboutHero__heading + .AboutHero__heading {
        margin-top: 16px
    }
}

.AboutHero__description {
    margin-top: 20px
}

@media (max-width: 899px) {
    .AboutHero__description {
        margin-top: 16px
    }
}

.AboutHero__image {
    z-index: 1
}

.AboutHero__image::before {
    background-color: rgba(11, 15, 47, .5);
    content: "";
    z-index: 1
}

.AboutNumbers__items {
    counter-reset: about-numbers;
    display: grid;
    grid-gap: 108px 32px;
    grid-template-columns:repeat(4, 1fr)
}

@media (max-width: 1199px) {
    .AboutNumbers__items {
        grid-gap: 92px 24px
    }
}

@media (max-width: 999px) {
    .AboutNumbers__items {
        grid-gap: 72px 20px;
        grid-template-columns:repeat(3, 1fr)
    }
}

@media (max-width: 899px) {
    .AboutNumbers__items {
        grid-gap: 64px 16px;
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (max-width: 424px) {
    .AboutNumbers__items {
        grid-gap: 48px;
        grid-template-columns:1fr
    }
}

.AboutNumbers__item {
    counter-increment: about-numbers
}

.AboutNumbersItem::before {
    color: #3b65cf;
    content: "0" counter(about-numbers);
    font-family: "Bebas Neue", cursive;
    font-size: 6.25rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1
}

@media (max-width: 999px) {
    .AboutNumbersItem::before {
        font-size: 5.75rem
    }
}

@media (max-width: 899px) {
    .AboutNumbersItem::before {
        font-size: 4.5rem
    }
}

.AboutNumbersItem__title {
    color: #3d475f;
    font-family: Manrope, sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3125;
    margin-top: 10px
}

@media (max-width: 899px) {
    .AboutNumbersItem__title {
        margin-top: 4px
    }
}

.AboutNumbersItem__description {
    margin-top: 20px
}

@media (max-width: 899px) {
    .AboutNumbersItem__description {
        margin-top: 12px
    }
}

.AboutFeatures__card {
    padding: 64px 56px;
    position: relative
}

@media (max-width: 1199px) {
    .AboutFeatures__card {
        padding: 56px 40px
    }
}

@media (max-width: 999px) {
    .AboutFeatures__card {
        padding: 40px
    }
}

@media (max-width: 899px) {
    .AboutFeatures__card {
        padding: 24px
    }
}

.AboutFeatures__items {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: grid;
    grid-template-columns:1fr 1.25fr 1fr;
    position: relative;
    z-index: 2
}

@media (max-width: 999px) {
    .AboutFeatures__items {
        grid-gap: 8px
    }
}

@media (max-width: 899px) {
    .AboutFeatures__items {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (max-width: 639px) {
    .AboutFeatures__items {
        grid-template-columns:1fr
    }
}

.AboutFeatures__item:not(:last-child) {
    margin-right: 48px
}

@media (max-width: 999px) {
    .AboutFeatures__item:not(:last-child) {
        margin-right: 0
    }
}

.AboutFeatures__item:not(:first-child) {
    padding-left: 48px;
    position: relative
}

@media (max-width: 999px) {
    .AboutFeatures__item:not(:first-child) {
        padding-left: 0
    }
}

.AboutFeatures__item:not(:first-child)::before {
    background-color: #fff;
    content: "";
    height: 65px;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 1px
}

@media (max-width: 999px) {
    .AboutFeatures__item:not(:first-child)::before {
        display: none
    }
}

.AboutFeatures__image {
    z-index: 1
}

.AboutFeatures__image::before {
    background-color: rgba(11, 15, 47, .5);
    content: "";
    z-index: 1
}

.AboutFeaturesItem {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.AboutFeaturesItem__number {
    color: #fff;
    font-family: "Bebas Neue", cursive;
    font-size: 7.5rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1;
    padding-top: 12px
}

@media (max-width: 1199px) {
    .AboutFeaturesItem__number {
        font-size: 6.25rem
    }
}

@media (max-width: 999px) {
    .AboutFeaturesItem__number {
        font-size: 5rem
    }
}

@media (max-width: 899px) {
    .AboutFeaturesItem__number {
        font-size: 4.375rem
    }
}

@media (max-width: 639px) {
    .AboutFeaturesItem__number {
        font-size: 3.5rem
    }
}

.AboutFeaturesItem__description {
    color: rgba(255, 255, 255, .9);
    font-family: "Bebas Neue", cursive;
    font-size: 1.375rem;
    font-weight: 700;
    line-height: .955;
    margin-left: 30px
}

@media (max-width: 1199px) {
    .AboutFeaturesItem__description {
        margin-left: 24px
    }
}

@media (max-width: 999px) {
    .AboutFeaturesItem__description {
        font-size: 1.25rem;
        margin-left: 20px
    }
}

@media (max-width: 899px) {
    .AboutFeaturesItem__description {
        font-size: 1.125rem
    }
}

@media (max-width: 639px) {
    .AboutFeaturesItem__description {
        font-size: 1rem;
        margin-left: 12px
    }
}

.AboutDocuments {
    background-color: #eaebed;
    padding: 90px 0
}

@media (max-width: 999px) {
    .AboutDocuments {
        padding: 72px 0
    }
}

@media (max-width: 899px) {
    .AboutDocuments {
        padding: 64px 0
    }
}

@media (max-width: 639px) {
    .AboutDocuments {
        padding: 56px 0
    }
}

.AboutDocuments__section:not(:last-child) {
    margin-bottom: 90px
}

@media (max-width: 999px) {
    .AboutDocuments__section:not(:last-child) {
        margin-bottom: 72px
    }
}

@media (max-width: 899px) {
    .AboutDocuments__section:not(:last-child) {
        margin-bottom: 64px
    }
}

@media (max-width: 639px) {
    .AboutDocuments__section:not(:last-child) {
        margin-bottom: 56px
    }
}

.AboutDocuments__heading {
    margin-bottom: 20px
}

.AboutDocuments__number {
    color: #3d475f;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3125
}

.AboutCertificates__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media (max-width: 639px) {
    .AboutCertificates__item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}

.AboutCertificates__item + .AboutCertificates__item {
    margin-top: 50px
}

@media (max-width: 639px) {
    .AboutCertificates__item + .AboutCertificates__item {
        margin-top: 40px
    }
}

.AboutCertificates__column {
    padding-right: 32px
}

.AboutCertificates__title {
    line-height: 1
}

.AboutCertificates__number {
    margin-top: 10px
}

@media (max-width: 639px) {
    .AboutCertificates__number {
        margin-top: 4px
    }
}

.AboutCertificates__description {
    max-width: 722px
}

@media (max-width: 1199px) {
    .AboutCertificates__description {
        max-width: 640px
    }
}

@media (max-width: 999px) {
    .AboutCertificates__description {
        max-width: 560px
    }
}

@media (max-width: 899px) {
    .AboutCertificates__description {
        max-width: 420px
    }
}

@media (max-width: 639px) {
    .AboutCertificates__description {
        max-width: none;
        margin-top: 12px
    }
}

.AboutOrganizations__items {
    display: grid;
    grid-template-columns:repeat(3, 1fr)
}

@media (max-width: 899px) {
    .AboutOrganizations__items {
        grid-gap: 40px 16px;
        grid-template-columns:repeat(2, 1fr)
    }
}

@media (max-width: 639px) {
    .AboutOrganizations__items {
        grid-gap: 32px;
        grid-template-columns:1fr
    }
}

.AboutOrganizations__item:not(:last-child) {
    margin-right: 24px
}

@media (max-width: 999px) {
    .AboutOrganizations__item:not(:last-child) {
        margin-right: 20px
    }
}

@media (max-width: 899px) {
    .AboutOrganizations__item:not(:last-child) {
        margin-right: 0
    }
}

.AboutOrganizations__item:not(:first-child) {
    padding-left: 64px;
    position: relative
}

@media (max-width: 1199px) {
    .AboutOrganizations__item:not(:first-child) {
        padding-left: 56px
    }
}

@media (max-width: 999px) {
    .AboutOrganizations__item:not(:first-child) {
        padding-left: 48px
    }
}

@media (max-width: 899px) {
    .AboutOrganizations__item:not(:first-child) {
        padding-left: 0
    }
}

.AboutOrganizations__item:not(:first-child)::before {
    background-color: #d3d5d9;
    content: "";
    height: 106px;
    left: 0;
    position: absolute;
    top: 0;
    width: 1px
}

@media (max-width: 899px) {
    .AboutOrganizations__item:not(:first-child)::before {
        display: none
    }
}

.AboutOrganizationsItem__number {
    margin-top: 8px
}

@media (max-width: 639px) {
    .AboutOrganizationsItem__number {
        margin-top: 2px
    }
}

.AboutMap {
    padding-top: 90px;
    position: relative
}

@media (max-width: 999px) {
    .AboutMap {
        padding-top: 72px
    }
}

@media (max-width: 899px) {
    .AboutMap {
        padding-top: 56px
    }
}

@media (max-width: 639px) {
    .AboutMap {
        padding-top: 32px
    }
}

.AboutMap::before {
    background-image: -webkit-gradient(linear, left top, right top, from(#c4c4c4), color-stop(0, #f8f8f8), color-stop(48.99%, rgba(248, 248, 248, 0)));
    background-image: -webkit-linear-gradient(left, #c4c4c4 0, #f8f8f8 0, rgba(248, 248, 248, 0) 48.99%);
    background-image: -o-linear-gradient(left, #c4c4c4 0, #f8f8f8 0, rgba(248, 248, 248, 0) 48.99%);
    background-image: linear-gradient(90deg, #c4c4c4 0, #f8f8f8 0, rgba(248, 248, 248, 0) 48.99%);
    content: "";
    z-index: 2
}

@media (max-width: 424px) {
    .AboutMap::before {
        display: none
    }
}

.AboutMap__content {
    padding-top: 90px;
    position: absolute;
    z-index: 3
}

@media (max-width: 999px) {
    .AboutMap__content {
        padding-top: 72px
    }
}

@media (max-width: 899px) {
    .AboutMap__content {
        padding-top: 56px
    }
}

@media (max-width: 639px) {
    .AboutMap__content {
        padding-top: 0;
        position: relative
    }
}

.AboutMap__heading {
    font-weight: 400;
    max-width: 614px
}

.AboutMap__description {
    margin-top: 40px
}

@media (max-width: 899px) {
    .AboutMap__description {
        margin-top: 32px
    }
}

@media (max-width: 639px) {
    .AboutMap__description {
        margin-top: 24px
    }
}

@media (min-width: 640px) {
    .AboutMap__description {
        max-width: 536px
    }
}

.AboutMap__mapContainer {
    position: relative;
    z-index: 1
}

@media (max-width: 639px) {
    .AboutMap__mapContainer {
        margin-top: -90px
    }
}

@media (max-width: 899px) {
    .AboutMap__map {
        height: 400px;
        position: relative
    }
}

@media (max-width: 424px) {
    .AboutMap__map {
        height: auto;
        padding-bottom: 112.5%
    }
}

@media (min-width: 900px) {
    .AboutMap__map, .AboutMap__map svg {
        width: 100%
    }
}

@media (max-width: 899px) {
    .AboutMap__map svg {
        max-width: 720px;
        position: absolute;
        right: 0;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%)
    }
}

.HomePage {
    padding-bottom: 60px
}

@media (max-width: 899px) {
    .HomePage {
        padding-bottom: 70px
    }
}

@media (max-width: 639px) {
    .HomePage {
        padding-bottom: 80px
    }
}

.HomePage__about {
    padding-top: 102px
}

@media (max-width: 1199px) {
    .HomePage__about {
        padding-top: 95px
    }
}

@media (max-width: 999px) {
    .HomePage__about {
        padding-top: 90px
    }
}

@media (max-width: 899px) {
    .HomePage__about {
        padding-top: 85px
    }
}

@media (max-width: 639px) {
    .HomePage__about {
        padding-top: 80px
    }
}

.HomePage__numbers {
    margin-top: 65px
}

@media (max-width: 999px) {
    .HomePage__numbers {
        margin-top: 60px
    }
}

@media (max-width: 899px) {
    .HomePage__numbers {
        margin-top: 55px
    }
}

@media (max-width: 639px) {
    .HomePage__numbers {
        margin-top: 50px
    }
}

.HomePage__sections {
    margin-top: 145px
}

@media (max-width: 999px) {
    .HomePage__sections {
        margin-top: 120px
    }
}

@media (max-width: 899px) {
    .HomePage__sections {
        margin-top: 100px
    }
}

@media (max-width: 639px) {
    .HomePage__sections {
        margin-top: 80px
    }
}

.HomePage__consultation {
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%)
}

@media (max-width: 639px) {
    .HomePage__consultation {
        margin-top: -65px
    }
}

.HomePage__projects {
    background-color: #eaebed;
    padding-bottom: 70px;
    padding-top: 238px
}

@media (max-width: 1199px) {
    .HomePage__projects {
        padding-bottom: 60px;
        padding-top: 228px
    }
}

@media (max-width: 999px) {
    .HomePage__projects {
        padding-bottom: 50px;
        padding-top: 218px
    }
}

@media (max-width: 899px) {
    .HomePage__projects {
        padding-bottom: 40px;
        padding-top: 208px
    }
}

@media (max-width: 639px) {
    .HomePage__projects {
        padding-bottom: 0;
        padding-top: 198px
    }
}

@media (max-width: 424px) {
    .HomePage__projects {
        padding-top: 224px
    }
}

.HomePage__map {
    padding-top: 110px
}

@media (max-width: 639px) {
    .HomePage__map {
        padding-top: 140px
    }
}

.HomePage__partners {
    padding-top: 16px
}

@media (max-width: 899px) {
    .HomePage__partners {
        padding-top: 50px
    }
}

@media (max-width: 639px) {
    .HomePage__partners {
        padding-top: 80px
    }
}

.ProjectPage {
    margin-top: 60px
}

@media (max-width: 999px) {
    .ProjectPage {
        margin-top: 50px
    }
}

@media (max-width: 899px) {
    .ProjectPage {
        margin-top: 40px
    }
}

@media (max-width: 639px) {
    .ProjectPage {
        margin-top: 20px
    }
}

@media (max-width: 424px) {
    .ProjectPage {
        margin-top: 10px
    }
}

.ProjectPage__hero {
    margin-top: 30px;
    padding-bottom: 39.23445%
}

@media (max-width: 899px) {
    .ProjectPage__hero {
        margin-top: 20px
    }
}

.ProjectPage__hero::before {
    bottom: 34px;
    -webkit-box-shadow: 0 30px 150px rgba(88, 92, 177, .3);
    box-shadow: 0 30px 150px rgba(88, 92, 177, .3);
    content: "";
    left: 50px;
    position: absolute;
    top: 34px;
    right: 50px
}

.ProjectPage__gallery, .ProjectPage__image, .ProjectPage__info, .ProjectPage__list {
    margin-top: 80px
}

@media (max-width: 1199px) {
    .ProjectPage__gallery, .ProjectPage__image, .ProjectPage__info, .ProjectPage__list {
        margin-top: 70px
    }
}

@media (max-width: 999px) {
    .ProjectPage__gallery, .ProjectPage__image, .ProjectPage__info, .ProjectPage__list {
        margin-top: 60px
    }
}

@media (max-width: 899px) {
    .ProjectPage__gallery, .ProjectPage__image, .ProjectPage__info, .ProjectPage__list {
        margin-top: 50px
    }
}

.ProjectPage__list {
    display: grid;
    grid-gap: 50px 32px;
    grid-template-columns:repeat(2, 1fr)
}

@media (max-width: 999px) {
    .ProjectPage__list {
        grid-gap: 40px 24px
    }
}

@media (max-width: 899px) {
    .ProjectPage__list {
        grid-gap: 30px 16px
    }
}

@media (max-width: 639px) {
    .ProjectPage__list {
        grid-template-columns:1fr;
        grid-row-gap: 20px
    }
}

.ProjectPage__listLabel {
    color: rgba(61, 71, 95, .8);
    font-family: Manrope, sans-serif;
    font-size: .875rem;
    font-weight: 400;
    letter-spacing: .05em;
    line-height: 1.285715
}

.ProjectPage__listValue {
    color: #3d475f;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3125;
    margin-top: 15px
}

@media (max-width: 899px) {
    .ProjectPage__listValue {
        margin-top: 12px
    }
}

@media (max-width: 639px) {
    .ProjectPage__listValue {
        margin-top: 8px
    }
}

@media (max-width: 424px) {
    .ProjectPage__listValue {
        margin-top: 4px
    }
}

.ProjectPage__info {
    max-width: 937px
}

.ProjectPage__content, .ProjectPage__imageCaption {
    margin-top: 20px
}

@media (max-width: 899px) {
    .ProjectPage__content, .ProjectPage__imageCaption {
        margin-top: 16px
    }
}

@media (max-width: 639px) {
    .ProjectPage__content, .ProjectPage__imageCaption {
        margin-top: 12px
    }
}

@media (max-width: 424px) {
    .ProjectPage__content, .ProjectPage__imageCaption {
        margin-top: 8px
    }
}

@media (max-width: 639px) {
    .ProjectPage__content.wrap {
        max-height: 200px;
        overflow: hidden;
        position: relative
    }

    .ProjectPage__content.wrap::after {
        background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(248, 248, 248, .9)), to(rgba(255, 255, 255, 0)));
        background-image: -webkit-linear-gradient(bottom, rgba(248, 248, 248, .9), rgba(255, 255, 255, 0));
        background-image: -o-linear-gradient(bottom, rgba(248, 248, 248, .9), rgba(255, 255, 255, 0));
        background-image: linear-gradient(0deg, rgba(248, 248, 248, .9), rgba(255, 255, 255, 0));
        bottom: 0;
        height: 60px;
        content: "";
        left: 0;
        position: absolute;
        width: 100%
    }
}

.ProjectPage__button {
    border-bottom: 1px dashed #3d475f;
    margin-top: 8px
}

@media (min-width: 640px) {
    .ProjectPage__button {
        display: none
    }
}

.ProjectPage__content:not(.wrap) + .ProjectPage__button {
    display: none
}

.ProjectPage__image img {
    margin: 0 auto;
    width: 100%
}

.ProjectPage__imageCaption {
    color: rgba(61, 71, 95, .8);
    font-size: 1.125rem;
    line-height: 1.7777
}

@media (max-width: 899px) {
    .ProjectPage__imageCaption {
        font-size: 1rem;
        line-height: 1.5
    }
}

.ProjectPage__galleryItems {
    margin-bottom: -20px;
    margin-top: 30px
}

@media (max-width: 899px) {
    .ProjectPage__galleryItems {
        margin-top: 20px
    }
}

@media (max-width: 639px) {
    .ProjectPage__galleryItems {
        margin-bottom: -12px
    }
}

.ProjectPage__galleryItem {
    display: block;
    margin-bottom: 20px;
    max-width: 100%;
    overflow: hidden
}

@media (max-width: 639px) {
    .ProjectPage__galleryItem {
        margin-bottom: 12px;
        position: static !important
    }
}

@media (min-width: 640px) {
    .ProjectPage__galleryItem:hover img {
        -webkit-transform: scale(1.04);
        -ms-transform: scale(1.04);
        transform: scale(1.04)
    }
}

.ProjectPage__galleryItem img {
    width: 100%
}

.ProjectPage__consultation {
    margin-top: 140px
}

@media (max-width: 999px) {
    .ProjectPage__consultation {
        margin-top: 120px
    }
}

@media (max-width: 899px) {
    .ProjectPage__consultation {
        margin-top: 100px
    }
}

@media (max-width: 639px) {
    .ProjectPage__consultation {
        margin-top: 80px
    }
}

.ProjectsPage__heading {
    margin-bottom: .78947em
}

.ProjectsPage__filters {
    margin-top: 20px
}

.ProjectsPage__items {
    display: grid;
    grid-gap: 70px 32px;
    grid-template-columns:repeat(2, 1fr);
    margin-top: 70px
}

@media (max-width: 999px) {
    .ProjectsPage__items {
        grid-gap: 60px 24px;
        margin-top: 60px
    }
}

@media (max-width: 899px) {
    .ProjectsPage__items {
        grid-gap: 50px 16px;
        margin-top: 50px
    }
}

@media (max-width: 639px) {
    .ProjectsPage__items {
        grid-template-columns:1fr;
        margin-top: 40px
    }
}

@media (max-width: 424px) {
    .ProjectsPage__items {
        margin-top: 30px
    }
}

.ProjectsPage__consultation {
    margin-top: 130px
}

@media (max-width: 999px) {
    .ProjectsPage__consultation {
        margin-top: 110px
    }
}

@media (max-width: 899px) {
    .ProjectsPage__consultation {
        margin-top: 90px
    }
}

@media (max-width: 639px) {
    .ProjectsPage__consultation {
        margin-top: 70px
    }
}

.ServicesPage__heading {
    margin-bottom: .78947em
}

.ServicesPage__filters {
    margin-top: 20px
}

.ServicesPage__items {
    counter-reset: services;
    margin-top: 50px
}

@media (max-width: 999px) {
    .ServicesPage__items {
        margin-top: 40px
    }
}

@media (min-width: 640px) and (max-width: 899px) {
    .ServicesPage__items {
        display: grid;
        grid-gap: 60px 20px;
        grid-template-columns:repeat(2, 1fr);
        margin-top: 30px
    }
}

.ServicesPage__item {
    counter-increment: services
}

.ServicesPage__item:not(:last-child) {
    margin-bottom: 150px
}

@media (max-width: 1199px) {
    .ServicesPage__item:not(:last-child) {
        margin-bottom: 135px
    }
}

@media (max-width: 999px) {
    .ServicesPage__item:not(:last-child) {
        margin-bottom: 120px
    }
}

@media (min-width: 640px) and (max-width: 899px) {
    .ServicesPage__item:not(:last-child) {
        margin-bottom: 0
    }
}

@media (max-width: 639px) {
    .ServicesPage__item:not(:last-child) {
        margin-bottom: 70px
    }
}

@media (max-width: 424px) {
    .ServicesPage__item:not(:last-child) {
        margin-bottom: 60px
    }
}

.ServicesPage__consultation {
    margin-top: 140px
}

@media (max-width: 999px) {
    .ServicesPage__consultation {
        margin-top: 120px
    }
}

@media (max-width: 899px) {
    .ServicesPage__consultation {
        margin-top: 100px
    }
}

@media (max-width: 639px) {
    .ServicesPage__consultation {
        margin-top: 80px
    }
}

.ServicePage {
    margin-top: 30px
}

@media (max-width: 899px) {
    .ServicePage {
        margin-top: 20px
    }
}

@media (max-width: 639px) {
    .ServicePage {
        margin-top: 10px
    }
}

.ServicePage__heading {
    margin-bottom: .52632em
}

.ServicePage__consultation {
    margin-top: 80px
}

@media (max-width: 1199px) {
    .ServicePage__consultation {
        margin-top: 70px
    }
}

@media (max-width: 999px) {
    .ServicePage__consultation {
        margin-top: 60px
    }
}

@media (max-width: 899px) {
    .ServicePage__consultation {
        margin-top: 50px
    }
}

.ErrorPage {
    background-color: rgba(61, 71, 95, .5);
    padding: 72px 0;
    position: relative
}

@media (max-width: 639px) {
    .ErrorPage {
        padding: 64px 0
    }
}

.ErrorPage__container {
    width: 100%
}

.ErrorPage__heading {
    color: #fff;
    max-width: 540px
}

.ErrorPage__grid {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    z-index: 2
}

@media (max-width: 899px) {
    .ErrorPage__grid {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        text-align: center
    }
}

.ErrorPage__code {
    color: rgba(255, 255, 255, .5);
    font-family: "Bebas Neue", cursive;
    font-size: 31.25rem;
    font-weight: 700;
    line-height: 1;
    margin-top: 72px
}

@media (max-width: 1199px) {
    .ErrorPage__code {
        font-size: 25rem
    }
}

@media (max-width: 999px) {
    .ErrorPage__code {
        font-size: 20rem
    }
}

@media (max-width: 899px) {
    .ErrorPage__code {
        font-size: 15rem;
        margin-top: 0;
        -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
        order: -1
    }
}

@media (max-width: 639px) {
    .ErrorPage__code {
        font-size: 9.375rem
    }
}

.ErrorPage__description {
    color: #fff;
    font-weight: 500;
    line-height: 1.1111;
    margin-top: 15px;
    max-width: 435px
}

@media (max-width: 899px) {
    .ErrorPage__description {
        margin-top: 10px
    }
}

.ErrorPage__button {
    margin-top: 50px
}

@media (max-width: 899px) {
    .ErrorPage__button {
        margin-top: 40px
    }
}

@media (max-width: 639px) {
    .ErrorPage__button {
        margin-top: 30px
    }
}

.ErrorPage__image {
    z-index: 1
}

.ContactsPage__title {
    margin-top: 20px
}

@media (max-width: 899px) {
    .ContactsPage__title {
        margin-top: 16px
    }
}

.ContactsPage__formContainer {
    margin-left: 0
}

.ContactsPage__form, .ContactsPage__list {
    margin-top: 30px
}

@media (max-width: 899px) {
    .ContactsPage__form, .ContactsPage__list {
        margin-top: 24px
    }
}

@media (max-width: 639px) {
    .ContactsPage__form, .ContactsPage__list {
        margin-top: 16px
    }
}

.ContactsPage__section:not(:first-child) {
    margin-top: 80px
}

@media (max-width: 999px) {
    .ContactsPage__section:not(:first-child) {
        margin-top: 70px
    }
}

@media (max-width: 899px) {
    .ContactsPage__section:not(:first-child) {
        margin-top: 60px
    }
}

@media (max-width: 639px) {
    .ContactsPage__section:not(:first-child) {
        margin-top: 50px
    }
}

.ContactsList {
    display: inline-grid;
    grid-gap: 30px 139px;
    grid-template-columns:repeat(2, auto)
}

@media (max-width: 999px) {
    .ContactsList {
        grid-gap: 24px 100px
    }
}

@media (max-width: 899px) {
    .ContactsList {
        grid-gap: 20px 72px
    }
}

@media (max-width: 639px) {
    .ContactsList {
        grid-gap: 32px;
        grid-template-columns:1fr
    }
}

.ContactsList__column {
    max-width: 291px
}

@media (min-width: 900px) {
    .ContactsList__column--phones {
        grid-column-end: -1;
        grid-row: 1/3
    }
}

.ContactsList__items {
    margin-top: 15px
}

@media (max-width: 899px) {
    .ContactsList__items {
        margin-top: 8px
    }
}

@media (max-width: 639px) {
    .ContactsList__items {
        margin-top: 4px
    }
}

.ContactsList__item:not(:last-child) {
    margin-bottom: 27px
}

@media (max-width: 899px) {
    .ContactsList__item:not(:last-child) {
        margin-bottom: 20px
    }
}

@media (max-width: 639px) {
    .ContactsList__item:not(:last-child) {
        margin-bottom: 12px
    }
}

.ContactsList__heading {
    color: rgba(61, 71, 95, .8);
    font-family: Manrope, sans-serif;
    font-size: .875rem;
    font-weight: 400;
    letter-spacing: .05em;
    line-height: 1.285
}

.ContactsList__value {
    color: #3d475f;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.3125
}

.ContactsList__label {
    color: rgba(61, 71, 95, .8);
    font-size: .75rem;
    letter-spacing: .05em;
    line-height: 1.5;
    margin-top: 6px
}

@media (max-width: 639px) {
    .ContactsList__label {
        margin-top: 2px
    }
}

.ContactsMap__container {
    background-color: rgba(13, 100, 172, .1);
    min-height: 280px;
    padding-bottom: 42.5%;
    position: relative
}

.AboutPage {
    padding-bottom: 120px
}

@media (max-width: 999px) {
    .AboutPage {
        padding-bottom: 100px
    }
}

@media (max-width: 899px) {
    .AboutPage {
        padding-bottom: 80px
    }
}

@media (max-width: 639px) {
    .AboutPage {
        padding-bottom: 60px
    }
}

.AboutPage__documents, .AboutPage__features, .AboutPage__numbers, .AboutPage__partners, .AboutPage__primaryInfo {
    margin-top: 90px
}

@media (max-width: 999px) {
    .AboutPage__documents, .AboutPage__features, .AboutPage__numbers, .AboutPage__partners, .AboutPage__primaryInfo {
        margin-top: 72px
    }
}

@media (max-width: 899px) {
    .AboutPage__documents, .AboutPage__features, .AboutPage__numbers, .AboutPage__partners, .AboutPage__primaryInfo {
        margin-top: 64px
    }
}

@media (max-width: 639px) {
    .AboutPage__documents, .AboutPage__features, .AboutPage__numbers, .AboutPage__partners, .AboutPage__primaryInfo {
        margin-top: 56px
    }
}

.AboutPage__consultation {
    margin-top: 130px
}

@media (max-width: 999px) {
    .AboutPage__consultation {
        margin-top: 110px
    }
}

@media (max-width: 899px) {
    .AboutPage__consultation {
        margin-top: 90px
    }
}

@media (max-width: 639px) {
    .AboutPage__consultation {
        margin-top: 70px
    }
}
/* End */
/* /local/templates/ETIKA_TYPICAL_PAGE/assets/css/style.573125dd45a52dd9e0d54a439c22975c.css?16188783971073489 */
/* /local/templates/ETIKA_TYPICAL_PAGE/assets/css/style.local.css?16242371301077349 */
/* /local/templates/ETIKA_TYPICAL_PAGE/assets/css/custom.css?1618906964202400 */
