@charset "UTF-8";
/**
  Breakpoints
 */
/**
 * Image border
 * Options:
 *    - style: bordered or filled
 *    - color: white, Yellow, pink, green
 *    - position: left / right, bottom/top
 */
/**
 * This is used to display a picture or img tag in full width/height of it's container
 *
 * default: nothing special
 * withOverlay: with a black overlay
 * withGradient (optional): with an overlay with a gradient
 */
/**
    Improved screen reader only CSS class
    @author Gaël Poupard
*/
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;700&display=swap");
.sr-only {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  white-space: nowrap !important;
}

.mb {
  margin-bottom: 60px;
}

@media (min-width: 992px) {
  .mt_desktop {
    margin-top: 60px;
  }
  .mr_desktop {
    margin-right: 60px;
  }
  .mb {
    margin-bottom: 120px;
  }
}

.hidden {
  display: none !important;
}

/* ========================================================================
   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: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
  background: #fff;
  color: #666;
}

/*
 * 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: #1e87f0;
  text-decoration: none;
  cursor: pointer;
}

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

/* 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: #f0506e;
  white-space: nowrap;
  padding: 2px 6px;
  background: #f8f8f8;
}

/*
 * Emphasize
 */
em {
  color: #f0506e;
}

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

/* Add margin if adjacent element */
* + p,
* + ul,
* + ol,
* + dl,
* + pre,
* + address,
* + fieldset,
* + figure {
  margin-top: 20px;
}

/* 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 20px 0;
  font-family: "Poppins", sans-serif;
  font-weight: normal;
  color: #333;
  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: 40px;
}

/*
 * 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: 992px) {
  h1, .uk-h1 {
    font-size: 2.625rem;
  }
  h2, .uk-h2 {
    font-size: 2rem;
  }
}

/* Lists
 ========================================================================== */
ul,
ol {
  padding-left: 30px;
}

/*
 * Reset margin for nested lists
 */
ul > li > ul,
ul > li > ol,
ol > li > ol,
ol > li > ul {
  margin: 0;
}

/* Description lists
 ========================================================================== */
dt {
  font-weight: bold;
}

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;
  color: #333;
}

/* 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;
  color: #666;
}

blockquote footer::before {
  content: "— ";
}

/* 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;
  padding: 10px;
  border: 1px solid #e5e5e5;
  border-radius: 3px;
  background: #fff;
}

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: "768";
}

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

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

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

:root {
  --uk-breakpoint-s: 768;
  --uk-breakpoint-m: 992px;
  --uk-breakpoint-l: 1200px;
  --uk-breakpoint-xl: 1680px;
}

/* ========================================================================
   Component: Link
 ========================================================================== */
/* Muted
 ========================================================================== */
a.uk-link-muted,
.uk-link-muted a {
  color: #999;
}

a.uk-link-muted:hover,
.uk-link-muted a:hover,
.uk-link-toggle:hover .uk-link-muted,
.uk-link-toggle:focus .uk-link-muted {
  color: #666;
}

/* Text
 ========================================================================== */
a.uk-link-text,
.uk-link-text a {
  color: inherit;
}

a.uk-link-text:hover,
.uk-link-text a:hover,
.uk-link-toggle:hover .uk-link-text,
.uk-link-toggle:focus .uk-link-text {
  color: #999;
}

/* Heading
 ========================================================================== */
a.uk-link-heading,
.uk-link-heading a {
  color: inherit;
}

a.uk-link-heading:hover,
.uk-link-heading a:hover,
.uk-link-toggle:hover .uk-link-heading,
.uk-link-toggle:focus .uk-link-heading {
  color: #1e87f0;
  text-decoration: none;
}

/* Reset
 ========================================================================== */
/*
 * `!important` needed to override inverse component
 */
a.uk-link-reset,
.uk-link-reset a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Toggle
 ========================================================================== */
.uk-link-toggle {
  color: inherit !important;
  text-decoration: none !important;
}

.uk-link-toggle:focus {
  outline: none;
}

/* ========================================================================
   Component: Heading
 ========================================================================== */
.uk-heading-small {
  font-size: 2.6rem;
  line-height: 1.2;
}

.uk-heading-medium {
  font-size: 2.8875rem;
  line-height: 1.1;
}

.uk-heading-large {
  font-size: 3.4rem;
  line-height: 1.1;
}

.uk-heading-xlarge {
  font-size: 4rem;
  line-height: 1;
}

.uk-heading-2xlarge {
  font-size: 6rem;
  line-height: 1;
}

/* Tablet Landscape and bigger */
@media (min-width: 992px) {
  .uk-heading-small {
    font-size: 3.25rem;
  }
  .uk-heading-medium {
    font-size: 3.5rem;
  }
  .uk-heading-large {
    font-size: 4rem;
  }
  .uk-heading-xlarge {
    font-size: 6rem;
  }
  .uk-heading-2xlarge {
    font-size: 8rem;
  }
}

/* Laptop and bigger */
@media (min-width: 1200px) {
  .uk-heading-medium {
    font-size: 4rem;
  }
  .uk-heading-large {
    font-size: 6rem;
  }
  .uk-heading-xlarge {
    font-size: 8rem;
  }
  .uk-heading-2xlarge {
    font-size: 11rem;
  }
}

/* Primary
   Deprecated: Use `uk-heading-medium` instead
 ========================================================================== */
/* Tablet landscape and bigger */
/* Desktop and bigger */
/* Hero
   Deprecated: Use `uk-heading-xlarge` instead
 ========================================================================== */
/* Tablet landscape and bigger */
/* Desktop and bigger */
/* Divider
 ========================================================================== */
.uk-heading-divider {
  padding-bottom: calc(5px + 0.1em);
  border-bottom: calc(0.2px + 0.05em) solid #e5e5e5;
}

/* Bullet
 ========================================================================== */
.uk-heading-bullet {
  position: relative;
}

/*
 * 1. Using `inline-block` to make it work with text alignment
 * 2. Center vertically
 * 3. Style
 */
.uk-heading-bullet::before {
  content: "";
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  top: calc(-0.1 * 1em);
  vertical-align: middle;
  /* 3 */
  height: calc(4px + 0.7em);
  margin-right: calc(5px + 0.2em);
  border-left: calc(5px + 0.1em) solid #e5e5e5;
}

/* Line
 ========================================================================== */
/*
 * Clip the child element
 */
.uk-heading-line {
  overflow: hidden;
}

/*
 * Extra markup is needed to make it work with text align
 */
.uk-heading-line > * {
  display: inline-block;
  position: relative;
}

/*
 * 1. Center vertically
 * 2. Make the element as large as possible. It's clipped by the container.
 * 3. Style
 */
.uk-heading-line > ::before,
.uk-heading-line > ::after {
  content: "";
  /* 1 */
  position: absolute;
  top: calc(50% - (calc(0.2px + 0.05em) / 2));
  /* 2 */
  width: 2000px;
  /* 3 */
  border-bottom: calc(0.2px + 0.05em) solid #e5e5e5;
}

.uk-heading-line > ::before {
  right: 100%;
  margin-right: calc(5px + 0.3em);
}

.uk-heading-line > ::after {
  left: 100%;
  margin-left: calc(5px + 0.3em);
}

/* ========================================================================
   Component: Divider
 ========================================================================== */
/*
 * 1. Reset default `hr`
 * 2. Set margin if a `div` is used for semantical reason
 */
[class*='uk-divider'] {
  /* 1 */
  border: none;
  /* 2 */
  margin-bottom: 20px;
}

/* Add margin if adjacent element */
* + [class*='uk-divider'] {
  margin-top: 20px;
}

/* Icon
 ========================================================================== */
.uk-divider-icon {
  position: relative;
  height: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22%23e5e5e5%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.uk-divider-icon::before,
.uk-divider-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  max-width: calc(50% - (50px / 2));
  border-bottom: 1px solid #e5e5e5;
}

.uk-divider-icon::before {
  right: calc(50% + (50px / 2));
  width: 100%;
}

.uk-divider-icon::after {
  left: calc(50% + (50px / 2));
  width: 100%;
}

/* Small
 ========================================================================== */
/*
 * 1. Fix height because of `inline-block`
 * 2. Using ::after and inline-block to make `text-align` work
 */
/* 1 */
.uk-divider-small {
  line-height: 0;
}

/* 2 */
.uk-divider-small::after {
  content: "";
  display: inline-block;
  width: 100px;
  max-width: 100%;
  border-top: 1px solid #e5e5e5;
  vertical-align: top;
}

/* Vertical
 ========================================================================== */
.uk-divider-vertical {
  width: 1px;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
  border-left: 1px solid #e5e5e5;
}

/* ========================================================================
   Component: List
 ========================================================================== */
.uk-list {
  padding: 0;
  list-style: none;
}

/*
 * Micro clearfix
 */
.uk-list > li::before,
.uk-list > li::after {
  content: "";
  display: table;
}

.uk-list > li::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */
.uk-list > li > :last-child {
  margin-bottom: 0;
}

/*
 * Nested lists
 */
.uk-list ul {
  margin: 0;
  padding-left: 30px;
  list-style: none;
}

/*
 * Style
 */
.uk-list > li:nth-child(n+2),
.uk-list > li > ul {
  margin-top: 10px;
}

/* Style modifiers
 ========================================================================== */
/*
 * Divider
 */
.uk-list-divider > li:nth-child(n+2) {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e5e5e5;
}

/*
 * Striped
 */
.uk-list-striped > li {
  padding: 10px 10px;
}

.uk-list-striped > li:nth-of-type(odd) {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.uk-list-striped > li:nth-of-type(odd) {
  background: #f8f8f8;
}

.uk-list-striped > li:nth-child(n+2) {
  margin-top: 0;
}

/*
 * Bullet
 * 1. Reset display `table` which causes issues in combination with multi column layouts.
 */
.uk-list-bullet > li {
  position: relative;
  padding-left: calc(1.5em + 10px);
}

.uk-list-bullet > li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1.5em;
  height: 1.5em;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23666%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  /* 1 */
  display: block;
}

/* Size modifier
 ========================================================================== */
.uk-list-large > li:nth-child(n+2),
.uk-list-large > li > ul {
  margin-top: 20px;
}

/*
 * Divider
 */
.uk-list-large.uk-list-divider > li:nth-child(n+2) {
  margin-top: 20px;
  padding-top: 20px;
}

/*
 * Striped
 */
.uk-list-large.uk-list-striped > li {
  padding: 20px 10px;
}

.uk-list-large.uk-list-striped > li:nth-of-type(odd) {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

.uk-list-large.uk-list-striped > li:nth-child(n+2) {
  margin-top: 0;
}

/* ========================================================================
   Component: Description list
 ========================================================================== */
/*
 * Term
 */
.uk-description-list > dt {
  color: #333;
  font-size: 0.875rem;
  font-weight: normal;
  text-transform: uppercase;
}

.uk-description-list > dt:nth-child(n+2) {
  margin-top: 20px;
}

/*
 * Description
 */
/* Style modifier
 ========================================================================== */
/*
 * Line
 */
.uk-description-list-divider > dt:nth-child(n+2) {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #e5e5e5;
}

/* ========================================================================
   Component: Table
 ========================================================================== */
/*
 * 1. Remove most spacing between table cells.
 * 2. Behave like a block element
 * 3. Style
 */
.uk-table {
  /* 1 */
  border-collapse: collapse;
  border-spacing: 0;
  /* 2 */
  width: 100%;
  /* 3 */
  margin-bottom: 20px;
}

/* Add margin if adjacent element */
* + .uk-table {
  margin-top: 20px;
}

/* Header cell
 ========================================================================== */
/*
 * 1. Style
 */
.uk-table th {
  padding: 16px 12px;
  text-align: left;
  vertical-align: bottom;
  /* 1 */
  font-size: 0.875rem;
  font-weight: normal;
  color: #999;
  text-transform: uppercase;
}

/* Cell
 ========================================================================== */
.uk-table td {
  padding: 16px 12px;
  vertical-align: top;
}

/*
 * Remove margin from the last-child
 */
.uk-table td > :last-child {
  margin-bottom: 0;
}

/* Footer
 ========================================================================== */
.uk-table tfoot {
  font-size: 0.875rem;
}

/* Caption
 ========================================================================== */
.uk-table caption {
  font-size: 0.875rem;
  text-align: left;
  color: #999;
}

/* Alignment modifier
 ========================================================================== */
.uk-table-middle,
.uk-table-middle td {
  vertical-align: middle !important;
}

/* Style modifiers
 ========================================================================== */
/*
 * Divider
 */
.uk-table-divider > tr:not(:first-child),
.uk-table-divider > :not(:first-child) > tr,
.uk-table-divider > :first-child > tr:not(:first-child) {
  border-top: 1px solid #e5e5e5;
}

/*
 * Striped
 */
.uk-table-striped > tr:nth-of-type(odd),
.uk-table-striped tbody tr:nth-of-type(odd) {
  background: #f8f8f8;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

/*
 * Hover
 */
.uk-table-hover > tr:hover,
.uk-table-hover tbody tr:hover {
  background: #ffd;
}

/* Active state
 ========================================================================== */
.uk-table > tr.uk-active,
.uk-table tbody tr.uk-active {
  background: #ffd;
}

/* Size modifier
 ========================================================================== */
.uk-table-small th,
.uk-table-small td {
  padding: 10px 12px;
}

.uk-table-large th,
.uk-table-large td {
  padding: 22px 12px;
}

/* Justify modifier
 ========================================================================== */
.uk-table-justify th:first-child,
.uk-table-justify td:first-child {
  padding-left: 0;
}

.uk-table-justify th:last-child,
.uk-table-justify td:last-child {
  padding-right: 0;
}

/* Cell size modifier
 ========================================================================== */
.uk-table-shrink {
  width: 1px;
}

.uk-table-expand {
  min-width: 150px;
}

/* Cell link modifier
 ========================================================================== */
/*
 * Does not work with `uk-table-justify` at the moment
 */
.uk-table-link {
  padding: 0 !important;
}

.uk-table-link > a {
  display: block;
  padding: 16px 12px;
}

.uk-table-small .uk-table-link > a {
  padding: 10px 12px;
}

/* Responsive table
 ========================================================================== */
/* Phone landscape and smaller */
@media (max-width: 991px) {
  .uk-table-responsive,
  .uk-table-responsive tbody,
  .uk-table-responsive th,
  .uk-table-responsive td,
  .uk-table-responsive tr {
    display: block;
  }
  .uk-table-responsive thead {
    display: none;
  }
  .uk-table-responsive th,
  .uk-table-responsive td {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
    white-space: normal !important;
  }
  .uk-table-responsive th:not(:first-child):not(.uk-table-link),
  .uk-table-responsive td:not(:first-child):not(.uk-table-link),
  .uk-table-responsive .uk-table-link:not(:first-child) > a {
    padding-top: 5px !important;
  }
  .uk-table-responsive th:not(:last-child):not(.uk-table-link),
  .uk-table-responsive td:not(:last-child):not(.uk-table-link),
  .uk-table-responsive .uk-table-link:not(:last-child) > a {
    padding-bottom: 5px !important;
  }
  .uk-table-justify.uk-table-responsive th,
  .uk-table-justify.uk-table-responsive td {
    padding-left: 0;
    padding-right: 0;
  }
}

.uk-table tbody tr {
  -webkit-transition: background-color 0.1s linear;
  transition: background-color 0.1s linear;
}

/* ========================================================================
   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 */
  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);
          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;
  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;
  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;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
}

/* 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 Range
 ========================================================================== */
/*
 * 1. Normalize and defaults
 * 2. Prevent content overflow if a fixed width is used
 * 3. Take the full width
 * 4. Remove default style
 * 5. Remove white background in Chrome
 * 6. Remove padding in IE11
 */
.uk-range {
  /* 1 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  vertical-align: middle;
  /* 2 */
  max-width: 100%;
  /* 3 */
  width: 100%;
  /* 4 */
  -webkit-appearance: none;
  /* 5 */
  background: transparent;
  /* 6 */
  padding: 0;
}

/* Focus */
.uk-range:focus {
  outline: none;
}

.uk-range::-moz-focus-outer {
  border: none;
}

/* IE11 Reset */
.uk-range::-ms-track {
  height: 15px;
  background: transparent;
  border-color: transparent;
  color: transparent;
}

/*
 * Improves consistency of cursor style for clickable elements
 */
.uk-range:not(:disabled)::-webkit-slider-thumb {
  cursor: pointer;
}

.uk-range:not(:disabled)::-moz-range-thumb {
  cursor: pointer;
}

.uk-range:not(:disabled)::-ms-thumb {
  cursor: pointer;
}

/* Thumb
 ========================================================================== */
/*
 * 1. Reset
 * 2. Style
 */
/* Webkit */
.uk-range::-webkit-slider-thumb {
  /* 1 */
  -webkit-appearance: none;
  margin-top: -7px;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccccc;
}

/* Firefox */
.uk-range::-moz-range-thumb {
  /* 1 */
  border: none;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccccc;
}

/* Edge */
.uk-range::-ms-thumb {
  /* 1 */
  margin-top: 0;
}

/* IE11 */
.uk-range::-ms-thumb {
  /* 1 */
  border: none;
  /* 2 */
  height: 15px;
  width: 15px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid #cccccc;
}

/* Edge + IE11 */
.uk-range::-ms-tooltip {
  display: none;
}

/* Track
 ========================================================================== */
/*
 * 1. Safari doesn't have a focus state. Using active instead.
 */
/* Webkit */
.uk-range::-webkit-slider-runnable-track {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px;
}

.uk-range:focus::-webkit-slider-runnable-track,
.uk-range:active::-webkit-slider-runnable-track {
  background: #d2d2d2;
}

/* Firefox */
.uk-range::-moz-range-track {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px;
}

.uk-range:focus::-moz-range-track {
  background: #d2d2d2;
}

/* Edge */
.uk-range::-ms-fill-lower,
.uk-range::-ms-fill-upper {
  height: 3px;
  background: #ebebeb;
  border-radius: 500px;
}

.uk-range:focus::-ms-fill-lower,
.uk-range:focus::-ms-fill-upper {
  background: #d2d2d2;
}

/* ========================================================================
   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,
.uk-select,
.uk-textarea,
.uk-radio,
.uk-checkbox {
  /* 1 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  border-radius: 0;
  /* 4 */
  font: inherit;
}

/*
 * Show the overflow in Edge.
 */
.uk-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: bold;
}

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

/*
 * 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,
.uk-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,
.uk-input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/*
 * Removes placeholder transparency in Firefox.
 */
.uk-input::-moz-placeholder,
.uk-textarea::-moz-placeholder {
  opacity: 1;
}

/*
 * Improves consistency of cursor style for clickable elements
 */
.uk-radio:not(:disabled),
.uk-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,
.uk-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,
.uk-select,
.uk-textarea {
  /* 1 */
  max-width: 100%;
  /* 2 */
  width: 100%;
  /* 3 */
  border: 0 none;
  /* 4 */
  padding: 0 10px;
  background: #fff;
  color: #666;
  border: 1px solid #e5e5e5;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  -webkit-transition-property: color, background-color, border;
  transition-property: color, background-color, border;
}

/*
 * 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,
.uk-select:not([multiple]):not([size]) {
  height: 40px;
  vertical-align: middle;
  /* 1 */
  display: inline-block;
}

/* 2 */
.uk-input:not(input),
.uk-select:not(select) {
  line-height: 38px;
}

/*
 * Multi-line
 */
.uk-select[multiple],
.uk-select[size],
.uk-textarea {
  padding-top: 4px;
  padding-bottom: 4px;
  vertical-align: top;
}

/* Focus */
.uk-input:focus,
.uk-select:focus,
.uk-textarea:focus {
  outline: none;
  background-color: #fff;
  color: #666;
  border-color: #1e87f0;
}

/* Disabled */
.uk-input:disabled,
.uk-select:disabled,
.uk-textarea:disabled {
  background-color: #f8f8f8;
  color: #999;
  border-color: #e5e5e5;
}

/*
 * Placeholder
 */
.uk-input::-ms-input-placeholder {
  color: #999 !important;
}

.uk-input::-webkit-input-placeholder {
  color: #999;
}

.uk-input::-moz-placeholder {
  color: #999;
}

.uk-input::placeholder {
  color: #999;
}

.uk-textarea::-ms-input-placeholder {
  color: #999 !important;
}

.uk-textarea::-webkit-input-placeholder {
  color: #999;
}

.uk-textarea::-moz-placeholder {
  color: #999;
}

.uk-textarea::placeholder {
  color: #999;
}

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

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

/* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
 ========================================================================== */
/*
 * Error
 */
.uk-form-danger,
.uk-form-danger:focus {
  color: #f0506e;
  border-color: #f0506e;
}

/*
 * Success
 */
.uk-form-success,
.uk-form-success:focus {
  color: #32d296;
  border-color: #32d296;
}

/*
 * Blank
 */
.uk-form-blank {
  background: none;
  border-color: transparent;
}

.uk-form-blank:focus {
  border-color: #e5e5e5;
  border-style: dashed;
}

/* 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] {
  padding-right: 20px;
  background-repeat: no-repeat;
  background-position: 100% 50%;
}

.uk-input[list]:hover,
.uk-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 {
  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 {
  /* 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: transparent;
  /* 6 */
  background-repeat: no-repeat;
  background-position: 50% 50%;
  border: 1px solid #cccccc;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  -webkit-transition-property: background-color, border;
  transition-property: background-color, border;
}

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

/* Focus */
.uk-radio:focus,
.uk-checkbox:focus {
  outline: none;
  border-color: #1e87f0;
}

/*
 * Checked
 */
.uk-radio:checked,
.uk-checkbox:checked,
.uk-checkbox:indeterminate {
  background-color: #1e87f0;
  border-color: transparent;
}

/* Focus */
.uk-radio:checked:focus,
.uk-checkbox:checked:focus,
.uk-checkbox:indeterminate:focus {
  background-color: #0e6ecd;
}

/*
 * 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 {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.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");
}

/*
 * Disabled
 */
.uk-radio:disabled,
.uk-checkbox:disabled {
  background-color: #f8f8f8;
  border-color: #e5e5e5;
}

.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 {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%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%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.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");
}

/* 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
 ========================================================================== */
.uk-form-label {
  color: #333;
  font-size: 0.875rem;
}

/* Layout
 ========================================================================== */
/*
 * Stacked
 */
.uk-form-stacked .uk-form-label {
  display: block;
  margin-bottom: 5px;
}

/*
 * Horizontal
 */
/* Tablet portrait and smaller */
@media (max-width: 991px) {
  /* Behave like `uk-form-stacked` */
  .uk-form-horizontal .uk-form-label {
    display: block;
    margin-bottom: 5px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .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: 40px;
  /* 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 {
  padding-left: 40px !important;
}

/*
 * Position modifier
 */
.uk-form-icon-flip {
  right: 0;
  left: auto;
}

.uk-form-icon-flip ~ .uk-input {
  padding-right: 40px !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 {
  /* 1 */
  margin: 0;
  /* 2 */
  border: none;
  /* 3 */
  overflow: visible;
  /* 4 */
  font: inherit;
  color: inherit;
  /* 5 */
  text-transform: none;
  /* 6 */
  -webkit-appearance: none;
  border-radius: 0;
  /* 7 */
  display: inline-block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0 30px;
  vertical-align: middle;
  font-size: 0.875rem;
  /* 8 */
  line-height: 38px;
  /* 9 */
  text-align: center;
  /* 10 */
  text-decoration: none;
  text-transform: uppercase;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  -webkit-transition-property: color, background-color, border-color;
  transition-property: color, background-color, border-color;
}

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

/*
 * Remove the inner border and padding in Firefox.
 */
.uk-button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/* Hover */
.uk-button:hover {
  /* 9 */
  text-decoration: none;
}

/* Focus */
.uk-button:focus {
  outline: none;
}

/* OnClick + Active */
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-button-default {
  background-color: transparent;
  color: #333;
  border: 1px solid #e5e5e5;
}

/* Hover + Focus */
.uk-button-default:hover,
.uk-button-default:focus {
  background-color: transparent;
  color: #333;
  border-color: #b2b2b2;
}

/* OnClick + Active */
.uk-button-default:active,
.uk-button-default.uk-active {
  background-color: transparent;
  color: #333;
  border-color: #999999;
}

/*
 * Primary
 */
.uk-button-primary {
  background-color: #24b8f1;
  color: #fff;
  border: 1px solid transparent;
}

/* Hover + Focus */
.uk-button-primary:hover,
.uk-button-primary:focus {
  background-color: #0071ba;
  color: #fff;
}

/* OnClick + Active */
.uk-button-primary:active,
.uk-button-primary.uk-active {
  background-color: #0e9dd4;
  color: #fff;
}

/*
 * Secondary
 */
.uk-button-secondary {
  background-color: #222;
  color: #fff;
  border: 1px solid transparent;
}

/* Hover + Focus */
.uk-button-secondary:hover,
.uk-button-secondary:focus {
  background-color: #151515;
  color: #fff;
}

/* OnClick + Active */
.uk-button-secondary:active,
.uk-button-secondary.uk-active {
  background-color: #090909;
  color: #fff;
}

/*
 * Danger
 */
.uk-button-danger {
  background-color: #f0506e;
  color: #fff;
  border: 1px solid transparent;
}

/* Hover + Focus */
.uk-button-danger:hover,
.uk-button-danger:focus {
  background-color: #ee395b;
  color: #fff;
}

/* OnClick + Active */
.uk-button-danger:active,
.uk-button-danger.uk-active {
  background-color: #ec2147;
  color: #fff;
}

/*
 * Disabled
 * The same for all style modifiers
 */
.uk-button-default:disabled,
.uk-button-primary:disabled,
.uk-button-secondary:disabled,
.uk-button-danger:disabled {
  background-color: transparent;
  color: #ffffff;
  border-color: 1px solid #bdc3c6;
}

/* Size modifiers
 ========================================================================== */
.uk-button-small {
  padding: 0 15px;
  line-height: 28px;
  font-size: 0.875rem;
}

.uk-button-large {
  padding: 0 40px;
  line-height: 53px;
  font-size: 0.875rem;
}

/* Text modifiers
 ========================================================================== */
/*
 * Text
 * 1. Reset
 * 2. Style
 */
.uk-button-text {
  /* 1 */
  padding: 0;
  line-height: 1.5;
  background: none;
  /* 2 */
  color: #333;
  position: relative;
}

.uk-button-text::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 100%;
  border-bottom: 1px solid #333;
  -webkit-transition: right 0.3s ease-out;
  transition: right 0.3s ease-out;
}

/* Hover + Focus */
.uk-button-text:hover,
.uk-button-text:focus {
  color: #333;
}

.uk-button-text:hover::before,
.uk-button-text:focus::before {
  right: 0;
}

/* Disabled */
.uk-button-text:disabled {
  color: #999;
}

.uk-button-text:disabled::before {
  display: none;
}

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

/* Group
     ========================================================================== */
/*
     * Collapse border
     */
.uk-button-group > .uk-button:nth-child(n+2),
.uk-button-group > div:nth-child(n+2) .uk-button {
  margin-left: -1px;
}

/*
     * Create position context to superimpose the successor elements border
     * Known issue: If you use an `a` element as button and an icon inside,
     * the active state will not work if you click the icon inside the button
     * Workaround: Just use a `button` or `input` element as button
     */
.uk-button-group .uk-button:hover,
.uk-button-group .uk-button:focus,
.uk-button-group .uk-button:active,
.uk-button-group .uk-button.uk-active {
  position: relative;
  z-index: 1;
}

/* ========================================================================
   Component: Section
 ========================================================================== */
/*
 * 1. Make it work with `100vh` and height in general
 */
.uk-section {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding-top: 40px;
  padding-bottom: 40px;
}

/* Desktop and bigger */
@media (min-width: 992px) {
  .uk-section {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}

/*
 * Micro clearfix
 */
.uk-section::before,
.uk-section::after {
  content: "";
  display: table;
}

.uk-section::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */
.uk-section > :last-child {
  margin-bottom: 0;
}

/* Size modifiers
 ========================================================================== */
/*
 * XSmall
 */
.uk-section-xsmall {
  padding-top: 20px;
  padding-bottom: 20px;
}

/*
 * Small
 */
.uk-section-small {
  padding-top: 40px;
  padding-bottom: 40px;
}

/*
 * Large
 */
.uk-section-large {
  padding-top: 70px;
  padding-bottom: 70px;
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-section-large {
    padding-top: 140px;
    padding-bottom: 140px;
  }
}

/*
 * XLarge
 */
.uk-section-xlarge {
  padding-top: 140px;
  padding-bottom: 140px;
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-section-xlarge {
    padding-top: 210px;
    padding-bottom: 210px;
  }
}

/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-section-default {
  background: #fff;
}

/*
 * Muted
 */
.uk-section-muted {
  background: #f8f8f8;
}

/*
 * Primary
 */
.uk-section-primary {
  background: #1e87f0;
}

/*
 * Secondary
 */
.uk-section-secondary {
  background: #222;
}

/* Overlap modifier
 ========================================================================== */
/*
 * Reserved modifier to make a section overlap another section with an border image
 * Implemented by the theme
 */
/* ========================================================================
   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 {
  /* 1 */
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

/* Phone landscape and bigger */
@media (min-width: 768) {
  .uk-container {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-container {
    padding-left: 40px;
    padding-right: 40px;
  }
}

/*
 * Micro clearfix
 */
.uk-container::before,
.uk-container::after {
  content: "";
  display: table;
}

.uk-container::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */
.uk-container > :last-child {
  margin-bottom: 0;
}

/*
 * Remove padding from nested containers
 */
.uk-container .uk-container {
  padding-left: 0;
  padding-right: 0;
}

/* Size modifier
 ========================================================================== */
.uk-container-xsmall {
  max-width: 750px;
}

.uk-container-small {
  max-width: 900px;
}

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

.uk-container-xlarge {
  max-width: 1600px;
}

.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: 768) {
  .uk-container-expand-left.uk-container-xsmall,
  .uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (750px / 2) - 30px);
  }
  .uk-container-expand-left.uk-container-small,
  .uk-container-expand-right.uk-container-small {
    max-width: calc(50% + (900px / 2) - 30px);
  }
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-container-expand-left,
  .uk-container-expand-right {
    max-width: calc(50% + (1200px / 2) - 40px);
  }
  .uk-container-expand-left.uk-container-xsmall,
  .uk-container-expand-right.uk-container-xsmall {
    max-width: calc(50% + (750px / 2) - 40px);
  }
  .uk-container-expand-left.uk-container-small,
  .uk-container-expand-right.uk-container-small {
    max-width: calc(50% + (900px / 2) - 40px);
  }
  .uk-container-expand-left.uk-container-large,
  .uk-container-expand-right.uk-container-large {
    max-width: calc(50% + (1400px / 2) - 40px);
  }
  .uk-container-expand-left.uk-container-xlarge,
  .uk-container-expand-right.uk-container-xlarge {
    max-width: calc(50% + (1600px / 2) - 40px);
  }
}

/* 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% + 15px);
}

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

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

/* Phone landscape and bigger */
@media (min-width: 768) {
  .uk-container-item-padding-remove-left,
  .uk-container-item-padding-remove-right {
    width: calc(100% + 30px);
  }
  .uk-container-item-padding-remove-left {
    margin-left: -30px;
  }
  .uk-container-item-padding-remove-right {
    margin-right: -30px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-container-item-padding-remove-left,
  .uk-container-item-padding-remove-right {
    width: calc(100% + 40px);
  }
  .uk-container-item-padding-remove-left {
    margin-left: -40px;
  }
  .uk-container-item-padding-remove-right {
    margin-right: -40px;
  }
}

/* ========================================================================
   Component: Grid
 ========================================================================== */
/*
 * 1. Allow cells to wrap into the next line
 * 2. Reset list
 */
.uk-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
}

/*
 * Grid cell
 * Note: Space is allocated solely based on content dimensions, but shrinks: 0 1 auto
 * Reset margin for e.g. paragraphs
 */
.uk-grid > * {
  margin: 0;
}

/*
 * Remove margin from the last-child
 */
.uk-grid > * > :last-child {
  margin-bottom: 0;
}

/* Gutter
 ========================================================================== */
/*
 * Default
 */
/* Horizontal */
.uk-grid {
  margin-left: -30px;
}

.uk-grid > * {
  padding-left: 30px;
}

/* Vertical */
.uk-grid + .uk-grid,
.uk-grid > .uk-grid-margin,
* + .uk-grid-margin {
  margin-top: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid {
    margin-left: -40px;
  }
  .uk-grid > * {
    padding-left: 40px;
  }
  /* Vertical */
  .uk-grid + .uk-grid,
  .uk-grid > .uk-grid-margin,
  * + .uk-grid-margin {
    margin-top: 40px;
  }
}

/*
 * Small
 */
/* Horizontal */
.uk-grid-small,
.uk-grid-column-small {
  margin-left: -15px;
}

.uk-grid-small > *,
.uk-grid-column-small > * {
  padding-left: 15px;
}

/* Vertical */
.uk-grid + .uk-grid-small,
.uk-grid + .uk-grid-row-small,
.uk-grid-small > .uk-grid-margin,
.uk-grid-row-small > .uk-grid-margin,
* + .uk-grid-margin-small {
  margin-top: 15px;
}

/*
 * Medium
 */
/* Horizontal */
.uk-grid-medium,
.uk-grid-column-medium {
  margin-left: -30px;
}

.uk-grid-medium > *,
.uk-grid-column-medium > * {
  padding-left: 30px;
}

/* Vertical */
.uk-grid + .uk-grid-medium,
.uk-grid + .uk-grid-row-medium,
.uk-grid-medium > .uk-grid-margin,
.uk-grid-row-medium > .uk-grid-margin,
* + .uk-grid-margin-medium {
  margin-top: 30px;
}

/*
 * Large
 */
/* Horizontal */
.uk-grid-large,
.uk-grid-column-large {
  margin-left: -40px;
}

.uk-grid-large > *,
.uk-grid-column-large > * {
  padding-left: 40px;
}

/* Vertical */
.uk-grid + .uk-grid-large,
.uk-grid + .uk-grid-row-large,
.uk-grid-large > .uk-grid-margin,
.uk-grid-row-large > .uk-grid-margin,
* + .uk-grid-margin-large {
  margin-top: 40px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-large,
  .uk-grid-column-large {
    margin-left: -70px;
  }
  .uk-grid-large > *,
  .uk-grid-column-large > * {
    padding-left: 70px;
  }
  /* Vertical */
  .uk-grid + .uk-grid-large,
  .uk-grid + .uk-grid-row-large,
  .uk-grid-large > .uk-grid-margin,
  .uk-grid-row-large > .uk-grid-margin,
  * + .uk-grid-margin-large {
    margin-top: 70px;
  }
}

/*
 * Collapse
 */
/* Horizontal */
.uk-grid-collapse,
.uk-grid-column-collapse {
  margin-left: 0;
}

.uk-grid-collapse > *,
.uk-grid-column-collapse > * {
  padding-left: 0;
}

/* Vertical */
.uk-grid + .uk-grid-collapse,
.uk-grid + .uk-grid-row-collapse,
.uk-grid-collapse > .uk-grid-margin,
.uk-grid-row-collapse > .uk-grid-margin {
  margin-top: 0;
}

/* Divider
 ========================================================================== */
.uk-grid-divider > * {
  position: relative;
}

.uk-grid-divider > :not(.uk-first-column)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  border-left: 1px solid #e5e5e5;
}

/* Vertical */
.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  border-top: 1px solid #e5e5e5;
}

/*
 * Default
 */
/* Horizontal */
.uk-grid-divider {
  margin-left: -60px;
}

.uk-grid-divider > * {
  padding-left: 60px;
}

.uk-grid-divider > :not(.uk-first-column)::before {
  left: 30px;
}

/* Vertical */
.uk-grid-divider.uk-grid-stack > .uk-grid-margin {
  margin-top: 60px;
}

.uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
  left: 60px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-divider {
    margin-left: -80px;
  }
  .uk-grid-divider > * {
    padding-left: 80px;
  }
  .uk-grid-divider > :not(.uk-first-column)::before {
    left: 40px;
  }
  /* Vertical */
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin {
    margin-top: 80px;
  }
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
    top: -40px;
    left: 80px;
  }
}

/*
 * Small
 */
/* Horizontal */
.uk-grid-divider.uk-grid-small,
.uk-grid-divider.uk-grid-column-small {
  margin-left: -30px;
}

.uk-grid-divider.uk-grid-small > *,
.uk-grid-divider.uk-grid-column-small > * {
  padding-left: 30px;
}

.uk-grid-divider.uk-grid-small > :not(.uk-first-column)::before,
.uk-grid-divider.uk-grid-column-small > :not(.uk-first-column)::before {
  left: 15px;
}

/* Vertical */
.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin,
.uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin {
  margin-top: 30px;
}

.uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin::before {
  top: -15px;
  left: 30px;
}

.uk-grid-divider.uk-grid-row-small.uk-grid-stack > .uk-grid-margin::before {
  top: -15px;
}

.uk-grid-divider.uk-grid-column-small.uk-grid-stack > .uk-grid-margin::before {
  left: 30px;
}

/*
 * Medium
 */
/* Horizontal */
.uk-grid-divider.uk-grid-medium,
.uk-grid-divider.uk-grid-column-medium {
  margin-left: -60px;
}

.uk-grid-divider.uk-grid-medium > *,
.uk-grid-divider.uk-grid-column-medium > * {
  padding-left: 60px;
}

.uk-grid-divider.uk-grid-medium > :not(.uk-first-column)::before,
.uk-grid-divider.uk-grid-column-medium > :not(.uk-first-column)::before {
  left: 30px;
}

/* Vertical */
.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin,
.uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin {
  margin-top: 60px;
}

.uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
  left: 60px;
}

.uk-grid-divider.uk-grid-row-medium.uk-grid-stack > .uk-grid-margin::before {
  top: -30px;
}

.uk-grid-divider.uk-grid-column-medium.uk-grid-stack > .uk-grid-margin::before {
  left: 60px;
}

/*
 * Large
 */
/* Horizontal */
.uk-grid-divider.uk-grid-large,
.uk-grid-divider.uk-grid-column-large {
  margin-left: -80px;
}

.uk-grid-divider.uk-grid-large > *,
.uk-grid-divider.uk-grid-column-large > * {
  padding-left: 80px;
}

.uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before,
.uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before {
  left: 40px;
}

/* Vertical */
.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin {
  margin-top: 80px;
}

.uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
  top: -40px;
  left: 80px;
}

.uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before {
  top: -40px;
}

.uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before {
  left: 80px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Horizontal */
  .uk-grid-divider.uk-grid-large,
  .uk-grid-divider.uk-grid-column-large {
    margin-left: -140px;
  }
  .uk-grid-divider.uk-grid-large > *,
  .uk-grid-divider.uk-grid-column-large > * {
    padding-left: 140px;
  }
  .uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before,
  .uk-grid-divider.uk-grid-column-large > :not(.uk-first-column)::before {
    left: 70px;
  }
  /* Vertical */
  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin,
  .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin {
    margin-top: 140px;
  }
  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
    top: -70px;
    left: 140px;
  }
  .uk-grid-divider.uk-grid-row-large.uk-grid-stack > .uk-grid-margin::before {
    top: -70px;
  }
  .uk-grid-divider.uk-grid-column-large.uk-grid-stack > .uk-grid-margin::before {
    left: 140px;
  }
}

/* Match child of a grid cell
 ========================================================================== */
/*
 * Behave like a block element
 * 1. Wrap into the next line
 * 2. Take the full width, at least 100%. Only if no class from the Width component is set.
 * 3. Expand width even if larger than 100%, e.g. because of negative margin (Needed for nested grids)
 */
.uk-grid-match > *,
.uk-grid-item-match {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.uk-grid-match > * > :not([class*='uk-width']),
.uk-grid-item-match > :not([class*='uk-width']) {
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  /* 3 */
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
}

/* ========================================================================
   Component: Tile
 ========================================================================== */
.uk-tile {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 40px;
  padding-bottom: 40px;
}

/* Phone landscape and bigger */
@media (min-width: 768) {
  .uk-tile {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-tile {
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 70px;
    padding-bottom: 70px;
  }
}

/*
 * Micro clearfix
 */
.uk-tile::before,
.uk-tile::after {
  content: "";
  display: table;
}

.uk-tile::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */
.uk-tile > :last-child {
  margin-bottom: 0;
}

/* Size modifiers
 ========================================================================== */
/*
 * XSmall
 */
.uk-tile-xsmall {
  padding-top: 20px;
  padding-bottom: 20px;
}

/*
 * Small
 */
.uk-tile-small {
  padding-top: 40px;
  padding-bottom: 40px;
}

/*
 * Large
 */
.uk-tile-large {
  padding-top: 70px;
  padding-bottom: 70px;
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-tile-large {
    padding-top: 140px;
    padding-bottom: 140px;
  }
}

/*
 * XLarge
 */
.uk-tile-xlarge {
  padding-top: 140px;
  padding-bottom: 140px;
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-tile-xlarge {
    padding-top: 210px;
    padding-bottom: 210px;
  }
}

/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-tile-default {
  background: #fff;
}

/*
 * Muted
 */
.uk-tile-muted {
  background: #f8f8f8;
}

/*
 * Primary
 */
.uk-tile-primary {
  background: #1e87f0;
}

/*
 * Secondary
 */
.uk-tile-secondary {
  background: #222;
}

/* ========================================================================
   Component: Card
 ========================================================================== */
.uk-card {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out, -webkit-box-shadow 0.1s ease-in-out;
}

/* Sections
 ========================================================================== */
.uk-card-body {
  padding: 30px 30px;
}

.uk-card-header {
  padding: 15px 30px;
}

.uk-card-footer {
  padding: 15px 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-body {
    padding: 40px 40px;
  }
  .uk-card-header {
    padding: 20px 40px;
  }
  .uk-card-footer {
    padding: 20px 40px;
  }
}

/*
 * Micro clearfix
 */
.uk-card-body::before,
.uk-card-body::after,
.uk-card-header::before,
.uk-card-header::after,
.uk-card-footer::before,
.uk-card-footer::after {
  content: "";
  display: table;
}

.uk-card-body::after,
.uk-card-header::after,
.uk-card-footer::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */
.uk-card-body > :last-child,
.uk-card-header > :last-child,
.uk-card-footer > :last-child {
  margin-bottom: 0;
}

/* Media
 ========================================================================== */
/*
 * Reserved alignment modifier to style the media element, e.g. with `border-radius`
 * Implemented by the theme
 */
/* Title
 ========================================================================== */
.uk-card-title {
  font-size: 1.5rem;
  line-height: 1.4;
}

/* Badge
 ========================================================================== */
.uk-card-badge {
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 1;
}

/*
 * Remove margin from adjacent element
 */
.uk-card-badge:first-child + * {
  margin-top: 0;
}

/* Hover modifier
 ========================================================================== */
.uk-card-hover:not(.uk-card-default):not(.uk-card-primary):not(.uk-card-secondary):hover {
  background: #fff;
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

/* Style modifiers
 ========================================================================== */
/*
 * Default
 * Note: Header and Footer are only implemented for the default style
 */
.uk-card-default {
  background: #fff;
  color: #666;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-card-default .uk-card-title {
  color: #333;
}

.uk-card-default.uk-card-hover:hover {
  background-color: #fff;
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

.uk-card-default .uk-card-header {
  border-bottom: 1px solid #e5e5e5;
}

.uk-card-default .uk-card-footer {
  border-top: 1px solid #e5e5e5;
}

/*
 * Primary
 */
.uk-card-primary {
  background: #1e87f0;
  color: #fff;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-card-primary .uk-card-title {
  color: #fff;
}

.uk-card-primary.uk-card-hover:hover {
  background-color: #1e87f0;
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

/*
 * Secondary
 */
.uk-card-secondary {
  background: #222;
  color: #fff;
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-card-secondary .uk-card-title {
  color: #fff;
}

.uk-card-secondary.uk-card-hover:hover {
  background-color: #222;
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

/* Size modifier
 ========================================================================== */
/*
 * Small
 */
.uk-card-small.uk-card-body,
.uk-card-small .uk-card-body {
  padding: 20px 20px;
}

.uk-card-small .uk-card-header {
  padding: 13px 20px;
}

.uk-card-small .uk-card-footer {
  padding: 13px 20px;
}

/*
 * Large
 */
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-large.uk-card-body,
  .uk-card-large .uk-card-body {
    padding: 70px 70px;
  }
  .uk-card-large .uk-card-header {
    padding: 35px 70px;
  }
  .uk-card-large .uk-card-footer {
    padding: 35px 70px;
  }
}

/*
     * Default
     */
.uk-card-body > .uk-nav-default {
  margin-left: -30px;
  margin-right: -30px;
}

.uk-card-body > .uk-nav-default:only-child {
  margin-top: -15px;
  margin-bottom: -15px;
}

.uk-card-body .uk-nav-default > li > a,
.uk-card-body .uk-nav-default .uk-nav-header,
.uk-card-body .uk-nav-default .uk-nav-divider {
  padding-left: 30px;
  padding-right: 30px;
}

.uk-card-body .uk-nav-default .uk-nav-sub {
  padding-left: 45px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-body > .uk-nav-default {
    margin-left: -40px;
    margin-right: -40px;
  }
  .uk-card-body > .uk-nav-default:only-child {
    margin-top: -25px;
    margin-bottom: -25px;
  }
  .uk-card-body .uk-nav-default > li > a,
  .uk-card-body .uk-nav-default .uk-nav-header,
  .uk-card-body .uk-nav-default .uk-nav-divider {
    padding-left: 40px;
    padding-right: 40px;
  }
  .uk-card-body .uk-nav-default .uk-nav-sub {
    padding-left: 55px;
  }
}

/*
     * Small
     */
.uk-card-small > .uk-nav-default {
  margin-left: -20px;
  margin-right: -20px;
}

.uk-card-small > .uk-nav-default:only-child {
  margin-top: -5px;
  margin-bottom: -5px;
}

.uk-card-small .uk-nav-default > li > a,
.uk-card-small .uk-nav-default .uk-nav-header,
.uk-card-small .uk-nav-default .uk-nav-divider {
  padding-left: 20px;
  padding-right: 20px;
}

.uk-card-small .uk-nav-default .uk-nav-sub {
  padding-left: 35px;
}

/*
     * Large
     */
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-card-large > .uk-nav-default {
    margin: 0;
  }
  .uk-card-large > .uk-nav-default:only-child {
    margin: 0;
  }
  .uk-card-large .uk-nav-default > li > a,
  .uk-card-large .uk-nav-default .uk-nav-header,
  .uk-card-large .uk-nav-default .uk-nav-divider {
    padding-left: 0;
    padding-right: 0;
  }
  .uk-card-large .uk-nav-default .uk-nav-sub {
    padding-left: 15px;
  }
}

/* ========================================================================
   Component: Close
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-close {
  color: #999;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  -webkit-transition-property: color, opacity;
  transition-property: color, opacity;
}

/* 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;
          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: Totop
 ========================================================================== */
/*
 * Addopts `uk-icon`
 */
.uk-totop {
  padding: 5px;
  color: #999;
  -webkit-transition: color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out;
}

/* Hover + Focus */
.uk-totop:hover,
.uk-totop:focus {
  color: #666;
  outline: none;
}

/* OnClick */
.uk-totop:active {
  color: #333;
}

/* ========================================================================
   Component: Marker
 ========================================================================== */
/*
 * Addopts `uk-icon`
 */
.uk-marker {
  padding: 5px;
  background: #222;
  color: #fff;
  border-radius: 500px;
}

/* Hover + Focus */
.uk-marker:hover,
.uk-marker:focus {
  color: #fff;
  outline: none;
}

/* ========================================================================
   Component: Alert
 ========================================================================== */
.uk-alert {
  position: relative;
  margin-bottom: 20px;
  padding: 15px 29px 15px 15px;
  background: #f8f8f8;
  color: #666;
}

/* Add margin if adjacent element */
* + .uk-alert {
  margin-top: 20px;
}

/*
 * Remove margin from the last-child
 */
.uk-alert > :last-child {
  margin-bottom: 0;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-alert-close {
  position: absolute;
  top: 20px;
  right: 15px;
  color: inherit;
  opacity: 0.4;
}

/*
 * Remove margin from adjacent element
 */
.uk-alert-close:first-child + * {
  margin-top: 0;
}

/*
 * Hover + Focus
 */
.uk-alert-close:hover,
.uk-alert-close:focus {
  color: inherit;
  opacity: 0.8;
}

/* Style modifiers
 ========================================================================== */
/*
 * Primary
 */
.uk-alert-primary {
  background: #d8eafc;
  color: #1e87f0;
}

/*
 * Success
 */
.uk-alert-success {
  background: #edfbf6;
  color: #32d296;
}

/*
 * Warning
 */
.uk-alert-warning {
  background: #fef5ee;
  color: #faa05a;
}

/*
 * Danger
 */
.uk-alert-danger {
  background: #fef4f6;
  color: #f0506e;
}

/*
     * Content
     */
.uk-alert h1,
.uk-alert h2,
.uk-alert h3,
.uk-alert h4,
.uk-alert h5,
.uk-alert h6 {
  color: inherit;
}

.uk-alert a:not([class]) {
  color: inherit;
  text-decoration: underline;
}

.uk-alert a:not([class]):hover {
  color: inherit;
  text-decoration: underline;
}

/* ========================================================================
   Component: Badge
 ========================================================================== */
/*
 * 1. Style
 * 2. Center child vertically and horizontally
 */
.uk-badge {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  border-radius: 500px;
  vertical-align: middle;
  /* 1 */
  background: #1e87f0;
  color: #fff;
  font-size: 0.875rem;
  /* 2 */
  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;
}

/*
 * Required for `a`
 */
.uk-badge:hover,
.uk-badge:focus {
  color: #fff;
  text-decoration: none;
  outline: none;
}

/* ========================================================================
   Component: Label
 ========================================================================== */
.uk-label {
  display: inline-block;
  padding: 0 10px;
  background: #1e87f0;
  line-height: 1.5;
  font-size: 0.875rem;
  color: #fff;
  vertical-align: middle;
  white-space: nowrap;
  border-radius: 2px;
  text-transform: uppercase;
}

/* Color modifiers
 ========================================================================== */
/*
 * Success
 */
.uk-label-success {
  background-color: #32d296;
  color: #fff;
}

/*
 * Warning
 */
.uk-label-warning {
  background-color: #faa05a;
  color: #fff;
}

/*
 * Danger
 */
.uk-label-danger {
  background-color: #f0506e;
  color: #fff;
}

/* ========================================================================
   Component: Overlay
 ========================================================================== */
.uk-overlay {
  padding: 30px 30px;
}

/*
 * Remove margin from the last-child
 */
.uk-overlay > :last-child {
  margin-bottom: 0;
}

/* Icon
 ========================================================================== */
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-overlay-default {
  background: rgba(255, 255, 255, 0.8);
}

/*
 * Primary
 */
.uk-overlay-primary {
  background: rgba(34, 34, 34, 0.8);
}

/* ========================================================================
   Component: Article
 ========================================================================== */
/*
 * Micro clearfix
 */
.uk-article::before,
.uk-article::after {
  content: "";
  display: table;
}

.uk-article::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */
.uk-article > :last-child {
  margin-bottom: 0;
}

/* Adjacent sibling
 ========================================================================== */
.uk-article + .uk-article {
  margin-top: 70px;
}

/* Title
 ========================================================================== */
.uk-article-title {
  font-size: 2.23125rem;
  line-height: 1.2;
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-article-title {
    font-size: 2.625rem;
  }
}

/* Meta
 ========================================================================== */
.uk-article-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999;
}

.uk-article-meta a {
  color: #999;
}

.uk-article-meta a:hover {
  color: #666;
  text-decoration: none;
}

/* ========================================================================
   Component: Comment
 ========================================================================== */
/* Sections
 ========================================================================== */
.uk-comment-body {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.uk-comment-header {
  margin-bottom: 20px;
}

/*
 * Micro clearfix
 */
.uk-comment-body::before,
.uk-comment-body::after,
.uk-comment-header::before,
.uk-comment-header::after {
  content: "";
  display: table;
}

.uk-comment-body::after,
.uk-comment-header::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */
.uk-comment-body > :last-child,
.uk-comment-header > :last-child {
  margin-bottom: 0;
}

/* Title
 ========================================================================== */
.uk-comment-title {
  font-size: 1.25rem;
  line-height: 1.4;
}

/* Meta
 ========================================================================== */
.uk-comment-meta {
  font-size: 0.875rem;
  line-height: 1.4;
  color: #999;
}

/* Avatar
 ========================================================================== */
/* List
 ========================================================================== */
.uk-comment-list {
  padding: 0;
  list-style: none;
}

/* Adjacent siblings */
.uk-comment-list > :nth-child(n+2) {
  margin-top: 70px;
}

/*
 * Sublists
 * Note: General sibling selector allows reply block between comment and sublist
 */
.uk-comment-list .uk-comment ~ ul {
  margin: 70px 0 0 0;
  padding-left: 30px;
  list-style: none;
}

/* Tablet and bigger */
@media (min-width: 992px) {
  .uk-comment-list .uk-comment ~ ul {
    padding-left: 100px;
  }
}

/* Adjacent siblings */
.uk-comment-list .uk-comment ~ ul > :nth-child(n+2) {
  margin-top: 70px;
}

/* Style modifier
 ========================================================================== */
.uk-comment-primary {
  padding: 30px;
  background-color: #f8f8f8;
}

/* ========================================================================
   Component: Search
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Reset `form`
 */
.uk-search {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  margin: 0;
}

/* Input
 ========================================================================== */
/*
 * Remove the inner padding and cancel buttons in Chrome on OS X and Safari on OS X.
 */
.uk-search-input::-webkit-search-cancel-button,
.uk-search-input::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
 * Removes placeholder transparency in Firefox.
 */
.uk-search-input::-moz-placeholder {
  opacity: 1;
}

/*
 * 1. Define consistent box sizing.
 * 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
 * 5. Show the overflow in Edge.
 * 6. Remove default style in iOS.
 * 7. Vertical alignment
 * 8. Take the full container width
 * 9. Style
 */
.uk-search-input {
  /* 1 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 2 */
  margin: 0;
  /* 3 */
  border-radius: 0;
  /* 4 */
  font: inherit;
  /* 5 */
  overflow: visible;
  /* 6 */
  -webkit-appearance: none;
  /* 7 */
  vertical-align: middle;
  /* 8 */
  width: 100%;
  /* 9 */
  border: none;
  color: #666;
}

.uk-search-input:focus {
  outline: none;
}

/* Placeholder */
.uk-search-input:-ms-input-placeholder {
  color: #999 !important;
}

.uk-search-input::-webkit-input-placeholder {
  color: #999;
}

.uk-search-input::-moz-placeholder {
  color: #999;
}

.uk-search-input::-ms-input-placeholder {
  color: #999;
}

.uk-search-input::placeholder {
  color: #999;
}

/* Icon (Adopts `uk-icon`)
 ========================================================================== */
/*
 * Remove default focus style
 */
.uk-search-icon:focus {
  outline: none;
}

/*
 * Position above input
 * 1. Set position
 * 2. Center icon vertically and horizontally
 * 3. Style
 */
.uk-search .uk-search-icon {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  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;
  /* 3 */
  color: #999;
}

/*
 * Required for `a`.
 */
.uk-search .uk-search-icon:hover {
  color: #999;
}

/*
 * Make `input` element clickable through icon, e.g. if it's a `span`
 */
.uk-search .uk-search-icon:not(a):not(button):not(input) {
  pointer-events: none;
}

/*
 * Position modifier
 */
.uk-search .uk-search-icon-flip {
  right: 0;
  left: auto;
}

/* Default modifier
 ========================================================================== */
.uk-search-default {
  width: 180px;
}

/*
 * Input
 */
.uk-search-default .uk-search-input {
  height: 40px;
  padding-left: 6px;
  padding-right: 6px;
  background: transparent;
  border: 1px solid #e5e5e5;
}

/* Focus */
.uk-search-default .uk-search-input:focus {
  background-color: transparent;
}

/*
 * Icon
 */
.uk-search-default .uk-search-icon {
  width: 40px;
}

.uk-search-default .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 40px;
}

.uk-search-default .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 40px;
}

/* Navbar modifier
 ========================================================================== */
.uk-search-navbar {
  width: 400px;
}

/*
 * Input
 */
.uk-search-navbar .uk-search-input {
  height: 40px;
  background: transparent;
  font-size: 1.5rem;
}

/*
 * Icon
 */
.uk-search-navbar .uk-search-icon {
  width: 40px;
}

.uk-search-navbar .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 40px;
}

.uk-search-navbar .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 40px;
}

/* Large modifier
 ========================================================================== */
.uk-search-large {
  width: 500px;
}

/*
 * Input
 */
.uk-search-large .uk-search-input {
  height: 80px;
  background: transparent;
  font-size: 2.625rem;
}

/*
 * Icon
 */
.uk-search-large .uk-search-icon {
  width: 80px;
}

.uk-search-large .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
  padding-left: 80px;
}

.uk-search-large .uk-search-icon-flip ~ .uk-search-input {
  padding-right: 80px;
}

/* Toggle
 ========================================================================== */
.uk-search-toggle {
  color: #999;
}

/* Hover + Focus */
.uk-search-toggle:hover,
.uk-search-toggle:focus {
  color: #666;
}

/* ========================================================================
   Component: Nav
 ========================================================================== */
/*
 * Reset
 * 1. Prepare lists
 * 2. Prepare links
 * 3. Remove default focus style
 */
/* 1 */
.uk-nav,
.uk-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 2 */
.uk-nav li > a {
  display: block;
  text-decoration: none;
}

/* 3 */
.uk-nav li > a:focus {
  outline: none;
}

/*
 * Items
 * Must target `a` elements to exclude other elements (e.g. lists)
 */
.uk-nav > li > a {
  padding: 5px 0;
}

/* Sublists
 ========================================================================== */
/*
 * Level 2
 * `ul` needed for higher specificity to override padding
 */
ul.uk-nav-sub {
  padding: 5px 0 5px 15px;
}

/*
 * Level 3 and deeper
 */
.uk-nav-sub ul {
  padding-left: 15px;
}

/*
 * Items
 */
.uk-nav-sub a {
  padding: 2px 0;
}

/* Parent icon modifier
 ========================================================================== */
.uk-nav-parent-icon > .uk-parent > a::after {
  content: "";
  width: 1.5em;
  height: 1.5em;
  float: right;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23666%22%20stroke-width%3D%221.1%22%20points%3D%2210%201%204%207%2010%2013%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.uk-nav-parent-icon > .uk-parent.uk-open > a::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23666%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

/* Header
 ========================================================================== */
.uk-nav-header {
  padding: 5px 0;
  text-transform: uppercase;
  font-size: 0.875rem;
}

.uk-nav-header:not(:first-child) {
  margin-top: 20px;
}

/* Divider
 ========================================================================== */
.uk-nav-divider {
  margin: 5px 0;
}

/* Default modifier
 ========================================================================== */
.uk-nav-default {
  font-size: 0.875rem;
}

/*
 * Items
 */
.uk-nav-default > li > a {
  color: #999;
}

/* Hover + Focus */
.uk-nav-default > li > a:hover,
.uk-nav-default > li > a:focus {
  color: #666;
}

/* Active */
.uk-nav-default > li.uk-active > a {
  color: #333;
}

/*
 * Header
 */
.uk-nav-default .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */
.uk-nav-default .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */
.uk-nav-default .uk-nav-sub a {
  color: #999;
}

.uk-nav-default .uk-nav-sub a:hover,
.uk-nav-default .uk-nav-sub a:focus {
  color: #666;
}

.uk-nav-default .uk-nav-sub li.uk-active > a {
  color: #333;
}

/* Primary modifier
 ========================================================================== */
/*
 * Items
 */
.uk-nav-primary > li > a {
  font-size: 1.5rem;
  line-height: 1.5;
  color: #999;
}

/* Hover + Focus */
.uk-nav-primary > li > a:hover,
.uk-nav-primary > li > a:focus {
  color: #666;
}

/* Active */
.uk-nav-primary > li.uk-active > a {
  color: #333;
}

/*
 * Header
 */
.uk-nav-primary .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */
.uk-nav-primary .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */
.uk-nav-primary .uk-nav-sub a {
  color: #999;
}

.uk-nav-primary .uk-nav-sub a:hover,
.uk-nav-primary .uk-nav-sub a:focus {
  color: #666;
}

.uk-nav-primary .uk-nav-sub li.uk-active > a {
  color: #333;
}

/* Alignment modifier
 ========================================================================== */
.uk-nav-center {
  text-align: center;
}

/* Sublists */
.uk-nav-center .uk-nav-sub,
.uk-nav-center .uk-nav-sub ul {
  padding-left: 0;
}

/* Parent icon modifier  */
.uk-nav-center.uk-nav-parent-icon > .uk-parent > a::after {
  position: absolute;
}

/* ========================================================================
   Component: Navbar
 ========================================================================== */
/*
 * 1. Create position context to center navbar group
 */
.uk-navbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  position: relative;
}

/* Container
 ========================================================================== */
.uk-navbar-container:not(.uk-navbar-transparent) {
  background: #f8f8f8;
}

/*
 * Remove pseudo elements created by micro clearfix as precaution (if Container component is used)
 */
.uk-navbar-container > ::before,
.uk-navbar-container > ::after {
  display: none !important;
}

/* Groups
 ========================================================================== */
/*
 * 1. Align navs and items vertically if they have a different height
 * 2. Note: IE 11 requires an extra `div` which affects the center selector
 */
.uk-navbar-left,
.uk-navbar-right,
.uk-navbar-center,
.uk-navbar-center-left > *,
.uk-navbar-center-right > * {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/*
 * Horizontal alignment
 * 1. Create position context for centered navbar with sub groups (left/right)
 * 2. Fix text wrapping if content is larger than 50% of the container.
 * 3. Needed for dropdowns because a new position context is created
 *    `z-index` must be smaller than off-canvas
 * 4. Align sub groups for centered navbar
 */
.uk-navbar-right {
  margin-left: auto;
}

.uk-navbar-center:only-child {
  margin-left: auto;
  margin-right: auto;
  /* 1 */
  position: relative;
}

.uk-navbar-center:not(:only-child) {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  /* 2 */
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 3 */
  z-index: 990;
}

/* 4 */
.uk-navbar-center-left,
.uk-navbar-center-right {
  position: absolute;
  top: 0;
}

.uk-navbar-center-left {
  right: 100%;
}

.uk-navbar-center-right {
  left: 100%;
}

[class*='uk-navbar-center-'] {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Nav
 ========================================================================== */
/*
 * 1. Reset list
 */
.uk-navbar-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  margin: 0;
  padding: 0;
  list-style: none;
}

/*
 * Allow items to wrap into the next line
 * Only not `absolute` positioned groups
 */
.uk-navbar-left,
.uk-navbar-right,
.uk-navbar-center:only-child {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

/*
 * Items
 * 1. Center content vertically and horizontally
 * 2. Dimensions
 * 3. Style
 * 4. Required for `a`
 */
.uk-navbar-nav > li > a,
.uk-navbar-item,
.uk-navbar-toggle {
  /* 1 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-height: 80px;
  padding: 0 15px;
  /* 3 */
  font-size: 0.875rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  /* 4 */
  text-decoration: none;
}

/*
 * Nav items
 */
.uk-navbar-nav > li > a {
  color: #999;
  text-transform: uppercase;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
}

/*
 * Hover
 * Apply hover style also to focus state and if dropdown is opened
 */
.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a:focus,
.uk-navbar-nav > li > a.uk-open {
  color: #666;
  outline: none;
}

/* OnClick */
.uk-navbar-nav > li > a:active {
  color: #333;
}

/* Active */
.uk-navbar-nav > li.uk-active > a {
  color: #333;
}

/* Item
 ========================================================================== */
.uk-navbar-item {
  color: #666;
}

/* Toggle
 ========================================================================== */
.uk-navbar-toggle {
  color: #999;
}

.uk-navbar-toggle:hover,
.uk-navbar-toggle:focus,
.uk-navbar-toggle.uk-open {
  color: #666;
  outline: none;
  text-decoration: none;
}

/*
 * Icon
 * Adopts `uk-icon`
 */
/* Hover + Focus */
/* Subtitle
 ========================================================================== */
.uk-navbar-subtitle {
  font-size: 0.875rem;
}

/* Style modifiers
 ========================================================================== */
/* Dropdown
 ========================================================================== */
/*
 * Adopts `uk-dropdown`
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 * 4. Style
 */
.uk-navbar-dropdown {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 200px;
  /* 4 */
  padding: 25px;
  background: #fff;
  color: #666;
  -webkit-box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}

/* Show */
.uk-navbar-dropdown.uk-open {
  display: block;
}

/*
 * Direction / Alignment modifiers
 */
/* Direction */
[class*='uk-navbar-dropdown-top'] {
  margin-top: -15px;
}

[class*='uk-navbar-dropdown-bottom'] {
  margin-top: 15px;
}

[class*='uk-navbar-dropdown-left'] {
  margin-left: -15px;
}

[class*='uk-navbar-dropdown-right'] {
  margin-left: 15px;
}

/*
 * Grid
 * Adopts `uk-grid`
 */
/* Gutter Horizontal */
.uk-navbar-dropdown-grid {
  margin-left: -50px;
}

.uk-navbar-dropdown-grid > * {
  padding-left: 50px;
}

/* Gutter Vertical */
.uk-navbar-dropdown-grid > .uk-grid-margin {
  margin-top: 50px;
}

/* Stack */
.uk-navbar-dropdown-stack .uk-navbar-dropdown-grid > * {
  width: 100% !important;
}

/*
 * Width modifier
 */
.uk-navbar-dropdown-width-2:not(.uk-navbar-dropdown-stack) {
  width: 400px;
}

.uk-navbar-dropdown-width-3:not(.uk-navbar-dropdown-stack) {
  width: 600px;
}

.uk-navbar-dropdown-width-4:not(.uk-navbar-dropdown-stack) {
  width: 800px;
}

.uk-navbar-dropdown-width-5:not(.uk-navbar-dropdown-stack) {
  width: 1000px;
}

/*
 * Dropbar modifier
 */
.uk-navbar-dropdown-dropbar {
  margin-top: 0;
  margin-bottom: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
}

/* Dropdown Nav
 * Adopts `uk-nav`
 ========================================================================== */
.uk-navbar-dropdown-nav {
  font-size: 0.875rem;
}

/*
 * Items
 */
.uk-navbar-dropdown-nav > li > a {
  color: #999;
}

/* Hover + Focus */
.uk-navbar-dropdown-nav > li > a:hover,
.uk-navbar-dropdown-nav > li > a:focus {
  color: #666;
}

/* Active */
.uk-navbar-dropdown-nav > li.uk-active > a {
  color: #333;
}

/*
 * Header
 */
.uk-navbar-dropdown-nav .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */
.uk-navbar-dropdown-nav .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */
.uk-navbar-dropdown-nav .uk-nav-sub a {
  color: #999;
}

.uk-navbar-dropdown-nav .uk-nav-sub a:hover,
.uk-navbar-dropdown-nav .uk-nav-sub a:focus {
  color: #666;
}

.uk-navbar-dropdown-nav .uk-nav-sub li.uk-active > a {
  color: #333;
}

/* Dropbar
 ========================================================================== */
.uk-navbar-dropbar {
  background: #fff;
}

/*
 * Slide modifier
 */
.uk-navbar-dropbar-slide {
  position: absolute;
  z-index: 980;
  left: 0;
  right: 0;
  -webkit-box-shadow: 0 5px 7px rgba(0, 0, 0, 0.05);
          box-shadow: 0 5px 7px rgba(0, 0, 0, 0.05);
}

/*
     * Navbar
     */
.uk-navbar-container > .uk-container .uk-navbar-left {
  margin-left: -15px;
  margin-right: -15px;
}

.uk-navbar-container > .uk-container .uk-navbar-right {
  margin-right: -15px;
}

/*
     * Grid Divider
     */
.uk-navbar-dropdown-grid > * {
  position: relative;
}

.uk-navbar-dropdown-grid > :not(.uk-first-column)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 25px;
  border-left: 1px solid #e5e5e5;
}

/* Vertical */
.uk-navbar-dropdown-grid.uk-grid-stack > .uk-grid-margin::before {
  content: "";
  position: absolute;
  top: -25px;
  left: 50px;
  right: 0;
  border-top: 1px solid #e5e5e5;
}

/* ========================================================================
   Component: Subnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-subnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin-left: -20px;
  /* 3 */
  padding: 0;
  list-style: none;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-subnav > * {
  /* 1 */
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative;
}

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * Using `:first-child` instead of `a` to support `span` elements for text
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-subnav > * > :first-child {
  /* 1 */
  display: block;
  /* 2 */
  color: #999;
  font-size: 0.875rem;
  text-transform: uppercase;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out;
  -webkit-transition-property: color, background-color;
  transition-property: color, background-color;
}

/* Hover + Focus */
.uk-subnav > * > a:hover,
.uk-subnav > * > a:focus {
  color: #666;
  text-decoration: none;
  outline: none;
}

/* Active */
.uk-subnav > .uk-active > a {
  color: #333;
}

/* Divider modifier
 ========================================================================== */
/*
 * 1. Align items and divider vertically
 */
.uk-subnav-divider > * {
  /* 1 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/*
 * Divider
 * `nth-child` makes it also work without JS if it's only one row
 */
.uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
  content: "";
  height: 1.5em;
  margin-left: 0px;
  margin-right: 20px;
  border-left: 1px solid #e5e5e5;
}

/* Pill modifier
 ========================================================================== */
.uk-subnav-pill > * > :first-child {
  padding: 5px 10px;
  background: transparent;
  color: #999;
}

/* Hover + Focus */
.uk-subnav-pill > * > a:hover,
.uk-subnav-pill > * > a:focus {
  background-color: #f8f8f8;
  color: #666;
}

/* OnClick */
.uk-subnav-pill > * > a:active {
  background-color: #f8f8f8;
  color: #666;
}

/* Active */
.uk-subnav-pill > .uk-active > a {
  background-color: #1e87f0;
  color: #fff;
}

/* Disabled
 * The same for all style modifiers
 ========================================================================== */
.uk-subnav > .uk-disabled > a {
  color: #999;
}

/* ========================================================================
   Component: Breadcrumb
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 */
.uk-breadcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  padding: 0;
  list-style: none;
}

/*
 * Space is allocated solely based on content dimensions: 0 0 auto
 */
.uk-breadcrumb > * {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}

/* Items
 ========================================================================== */
.uk-breadcrumb > * > * {
  display: inline-block;
  font-size: 0.875rem;
  color: #999;
}

/* Hover + Focus */
.uk-breadcrumb > * > :hover,
.uk-breadcrumb > * > :focus {
  color: #666;
  text-decoration: none;
}

/* Disabled */
/* Active */
.uk-breadcrumb > :last-child > * {
  color: #666;
}

/*
 * Divider
 * `nth-child` makes it also work without JS if it's only one row
 */
.uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
  content: "/";
  display: inline-block;
  margin: 0 20px;
  font-size: 0.875rem;
  color: #999;
}

/* ========================================================================
   Component: Pagination
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin-left: -20px;
  /* 3 */
  padding: 0;
  list-style: none;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-pagination > * {
  /* 1 */
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative;
}

/* Items
 ========================================================================== */
/*
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-pagination > * > * {
  /* 1 */
  display: block;
  /* 2 */
  color: #999;
  -webkit-transition: color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out;
}

/* Hover + Focus */
.uk-pagination > * > :hover,
.uk-pagination > * > :focus {
  color: #666;
  text-decoration: none;
}

/* Active */
.uk-pagination > .uk-active > * {
  color: #666;
}

/* Disabled */
.uk-pagination > .uk-disabled > * {
  color: #999;
}

/* ========================================================================
   Component: Tab
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Gutter
 * 3. Reset list
 */
.uk-tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin-left: -20px;
  /* 3 */
  padding: 0;
  list-style: none;
  position: relative;
}

.uk-tab::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 20px;
  right: 0;
  border-bottom: 1px solid #e5e5e5;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 * 3. Create position context for dropdowns
 */
.uk-tab > * {
  /* 1 */
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative;
}

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Center text if a width is set
 * 2. Style
 */
.uk-tab > * > a {
  /* 1 */
  display: block;
  text-align: center;
  /* 2 */
  padding: 5px 10px;
  color: #999;
  border-bottom: 1px solid transparent;
  font-size: 0.875rem;
  text-transform: uppercase;
  -webkit-transition: color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out;
}

/* Hover + Focus */
.uk-tab > * > a:hover,
.uk-tab > * > a:focus {
  color: #666;
  text-decoration: none;
}

/* Active */
.uk-tab > .uk-active > a {
  color: #333;
  border-color: #1e87f0;
}

/* Disabled */
.uk-tab > .uk-disabled > a {
  color: #999;
}

/* Position modifier
 ========================================================================== */
/*
 * Bottom
 */
.uk-tab-bottom::before {
  top: 0;
  bottom: auto;
}

.uk-tab-bottom > * > a {
  border-top: 1px solid transparent;
  border-bottom: none;
}

/*
 * Left + Right
 * 1. Reset Gutter
 */
.uk-tab-left,
.uk-tab-right {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  /* 1 */
  margin-left: 0;
}

/* 1 */
.uk-tab-left > *,
.uk-tab-right > * {
  padding-left: 0;
}

.uk-tab-left::before {
  top: 0;
  bottom: 0;
  left: auto;
  right: 0;
  border-left: 1px solid #e5e5e5;
  border-bottom: none;
}

.uk-tab-right::before {
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  border-left: 1px solid #e5e5e5;
  border-bottom: none;
}

.uk-tab-left > * > a {
  text-align: left;
  border-right: 1px solid transparent;
  border-bottom: none;
}

.uk-tab-right > * > a {
  text-align: left;
  border-left: 1px solid transparent;
  border-bottom: none;
}

.uk-tab .uk-dropdown {
  margin-left: 30px;
}

/* ========================================================================
   Component: Slidenav
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-slidenav {
  padding: 5px 10px;
  color: rgba(102, 102, 102, 0.5);
  -webkit-transition: color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out;
}

/* Hover + Focus */
.uk-slidenav:hover,
.uk-slidenav:focus {
  color: rgba(102, 102, 102, 0.9);
  outline: none;
}

/* OnClick */
.uk-slidenav:active {
  color: rgba(102, 102, 102, 0.5);
}

/* Icon modifier
 ========================================================================== */
/*
 * Previous
 */
/*
 * Next
 */
/* Size modifier
 ========================================================================== */
.uk-slidenav-large {
  padding: 10px 10px;
}

/* Container
 ========================================================================== */
.uk-slidenav-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* ========================================================================
   Component: Dotnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-dotnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -12px;
}

/*
 * 1. Space is allocated solely based on content dimensions: 0 0 auto
 * 2. Gutter
 */
.uk-dotnav > * {
  /* 1 */
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /* 2 */
  padding-left: 12px;
}

/* Items
 ========================================================================== */
/*
 * Items
 * 1. Hide text if present
 */
.uk-dotnav > * > * {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: transparent;
  /* 1 */
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  border: 1px solid rgba(102, 102, 102, 0.4);
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  -webkit-transition-property: background-color, border-color;
  transition-property: background-color, border-color;
}

/* Hover + Focus */
.uk-dotnav > * > :hover,
.uk-dotnav > * > :focus {
  background-color: rgba(102, 102, 102, 0.6);
  outline: none;
  border-color: transparent;
}

/* OnClick */
.uk-dotnav > * > :active {
  background-color: rgba(102, 102, 102, 0.2);
  border-color: transparent;
}

/* Active */
.uk-dotnav > .uk-active > * {
  background-color: rgba(102, 102, 102, 0.6);
  border-color: transparent;
}

/* Modifier: 'uk-dotnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-dotnav-vertical {
  /* 1 */
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -12px;
}

/* 2 */
.uk-dotnav-vertical > * {
  padding-left: 0;
  padding-top: 12px;
}

/* ========================================================================
   Component: Thumbnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-thumbnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -15px;
}

/*
 * Space is allocated based on content dimensions, but shrinks: 0 1 auto
 * 1. Gutter
 */
.uk-thumbnav > * {
  /* 1 */
  padding-left: 15px;
}

/* Items
 ========================================================================== */
/*
 * Items
 */
.uk-thumbnav > * > * {
  display: inline-block;
  position: relative;
}

.uk-thumbnav > * > *::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.4);
  -webkit-transition: background-color 0.1s ease-in-out;
  transition: background-color 0.1s ease-in-out;
}

/* Hover + Focus */
.uk-thumbnav > * > :hover,
.uk-thumbnav > * > :focus {
  outline: none;
}

.uk-thumbnav > * > :hover::after,
.uk-thumbnav > * > :focus::after {
  background-color: transparent;
}

/* Active */
.uk-thumbnav > .uk-active > *::after {
  background-color: transparent;
}

/* Modifier: 'uk-thumbnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-thumbnav-vertical {
  /* 1 */
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -15px;
}

/* 2 */
.uk-thumbnav-vertical > * {
  padding-left: 0;
  padding-top: 15px;
}

/* ========================================================================
   Component: Accordion
 ========================================================================== */
.uk-accordion {
  padding: 0;
  list-style: none;
}

/* Item
 ========================================================================== */
.uk-accordion > :nth-child(n+2) {
  margin-top: 20px;
}

/* Title
 ========================================================================== */
.uk-accordion-title {
  display: block;
  font-size: 1.25rem;
  line-height: 1.4;
  color: #333;
  overflow: hidden;
}

.uk-accordion-title::before {
  content: "";
  width: 1.4em;
  height: 1.4em;
  margin-left: 10px;
  float: right;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: 50% 50%;
}

.uk-open > .uk-accordion-title::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23666%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

/* Hover + Focus */
.uk-accordion-title:hover,
.uk-accordion-title:focus {
  color: #666;
  text-decoration: none;
  outline: none;
}

/* Content
 ========================================================================== */
.uk-accordion-content {
  margin-top: 20px;
}

/*
 * Micro clearfix
 */
.uk-accordion-content::before,
.uk-accordion-content::after {
  content: "";
  display: table;
}

.uk-accordion-content::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */
.uk-accordion-content > :last-child {
  margin-bottom: 0;
}

/* ========================================================================
   Component: Drop
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 */
.uk-drop {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 300px;
}

/* Show */
.uk-drop.uk-open {
  display: block;
}

/* Direction / Alignment modifiers
 ========================================================================== */
/* Direction */
[class*='uk-drop-top'] {
  margin-top: -20px;
}

[class*='uk-drop-bottom'] {
  margin-top: 20px;
}

[class*='uk-drop-left'] {
  margin-left: -20px;
}

[class*='uk-drop-right'] {
  margin-left: 20px;
}

/* Grid modifiers
 ========================================================================== */
.uk-drop-stack .uk-drop-grid > * {
  width: 100% !important;
}

/* ========================================================================
   Component: Dropdown
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Set a default width
 * 4. Style
 */
.uk-dropdown {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1020;
  /* 3 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 200px;
  /* 4 */
  padding: 25px;
  background: #fff;
  color: #666;
  -webkit-box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
          box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}

/* Show */
.uk-dropdown.uk-open {
  display: block;
}

/* Nav
 * Adopts `uk-nav`
 ========================================================================== */
.uk-dropdown-nav {
  white-space: nowrap;
  font-size: 0.875rem;
}

/*
 * Items
 */
.uk-dropdown-nav > li > a {
  color: #999;
}

/* Hover + Focus + Active */
.uk-dropdown-nav > li > a:hover,
.uk-dropdown-nav > li > a:focus,
.uk-dropdown-nav > li.uk-active > a {
  color: #666;
}

/*
 * Header
 */
.uk-dropdown-nav .uk-nav-header {
  color: #333;
}

/*
 * Divider
 */
.uk-dropdown-nav .uk-nav-divider {
  border-top: 1px solid #e5e5e5;
}

/*
 * Sublists
 */
.uk-dropdown-nav .uk-nav-sub a {
  color: #999;
}

.uk-dropdown-nav .uk-nav-sub a:hover,
.uk-dropdown-nav .uk-nav-sub a:focus,
.uk-dropdown-nav .uk-nav-sub li.uk-active > a {
  color: #666;
}

/* Direction / Alignment modifiers
 ========================================================================== */
/* Direction */
[class*='uk-dropdown-top'] {
  margin-top: -10px;
}

[class*='uk-dropdown-bottom'] {
  margin-top: 10px;
}

[class*='uk-dropdown-left'] {
  margin-left: -10px;
}

[class*='uk-dropdown-right'] {
  margin-left: 10px;
}

/* Grid modifiers
 ========================================================================== */
.uk-dropdown-stack .uk-dropdown-grid > * {
  width: 100% !important;
}

/* ========================================================================
   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: 1010;
  /* 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;
  transition: opacity 0.15s linear;
}

/* Phone landscape and bigger */
@media (min-width: 768) {
  .uk-modal {
    padding: 50px 30px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .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);
          transform: translateY(-100px);
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}

/*
 * Open
 */
.uk-open > .uk-modal-dialog {
  opacity: 1;
  -webkit-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);
          transform: translateY(0);
}

/* Sections
 ========================================================================== */
.uk-modal-body {
  padding: 30px 30px;
}

.uk-modal-header {
  padding: 15px 30px;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
}

.uk-modal-footer {
  padding: 15px 30px;
  background: #fff;
  border-top: 1px solid #e5e5e5;
}

/*
 * Micro clearfix
 */
.uk-modal-body::before,
.uk-modal-body::after,
.uk-modal-header::before,
.uk-modal-header::after,
.uk-modal-footer::before,
.uk-modal-footer::after {
  content: "";
  display: table;
}

.uk-modal-body::after,
.uk-modal-header::after,
.uk-modal-footer::after {
  clear: both;
}

/*
 * 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: 1010;
  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%);
          transform: translate(0, -100%);
  color: white;
}

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

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  /* 1 */
  .uk-modal-close-outside {
    right: 0;
    -webkit-transform: translate(100%, -100%);
            transform: translate(100%, -100%);
  }
}

/*
 * Full
 */
.uk-modal-close-full {
  top: 0;
  right: 0;
  padding: 20px;
  background: #fff;
}

/* ========================================================================
   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
 */
.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;
  transition: opacity 0.15s linear;
}

/*
 * 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
 ========================================================================== */
/* Iframe
 ========================================================================== */
.uk-lightbox-iframe {
  width: 80%;
  height: 80%;
}

/* ========================================================================
   Component: Slideshow
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-slideshow {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/* Items
 ========================================================================== */
/*
 * 1. Create position and stacking context
 * 2. Reset list
 * 3. Clip child elements
 * 4. Prevent displaying the callout information on iOS.
 */
.uk-slideshow-items {
  /* 1 */
  position: relative;
  z-index: 0;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  overflow: hidden;
  /* 4 */
  -webkit-touch-callout: none;
}

/* Item
 ========================================================================== */
/*
 * 1. Position items above each other
 * 2. Take the full width
 * 3. Clip child elements, e.g. for `uk-cover`
 * 4. Optimize animation
 * 5. Disable horizontal panning gestures in IE11 and Edge
 * 6. Suppress outline on focus
 */
.uk-slideshow-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  left: 0;
  /* 2 */
  right: 0;
  bottom: 0;
  /* 3 */
  overflow: hidden;
  /* 4 */
  will-change: transform, opacity;
  /* 5 */
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

/* 6 */
.uk-slideshow-items > :focus {
  outline: none;
}

/*
 * Hide not active items
 */
.uk-slideshow-items > :not(.uk-active) {
  display: none;
}

/* ========================================================================
   Component: Slider
 ========================================================================== */
/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-slider {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/* Container
 ========================================================================== */
/*
 * 1. Clip child elements
 */
.uk-slider-container {
  /* 1 */
  overflow: hidden;
}

/* Items
 ========================================================================== */
/*
 * 1. Optimize animation
 * 2. Create a containing block. In Safari it's neither created by `transform` nor `will-change`.
 */
.uk-slider-items {
  /* 1 */
  will-change: transform;
  /* 2 */
  position: relative;
}

/*
 * 1. Reset list style without interfering with grid
 * 2. Prevent displaying the callout information on iOS.
 */
.uk-slider-items:not(.uk-grid) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 2 */
  -webkit-touch-callout: none;
}

.uk-slider-items.uk-grid {
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

/* Item
 ========================================================================== */
/*
 * 1. Let items take content dimensions (0 0 auto)
 * 2. Create position context
 * 3. Disable horizontal panning gestures in IE11 and Edge
 * 4. Suppress outline on focus
 */
.uk-slider-items > * {
  /* 1 */
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  /* 2 */
  position: relative;
  /* 3 */
  -ms-touch-action: pan-y;
      touch-action: pan-y;
}

/* 4 */
.uk-slider-items > :focus {
  outline: none;
}

/* ========================================================================
   Component: Sticky
 ========================================================================== */
/*
 * 1. Resolve frame rate issues on devices with lower frame rates by forcing hardware acceleration
 */
.uk-sticky-fixed {
  z-index: 980;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0 !important;
  /* 1 */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*
 * Faster animations
 */
.uk-sticky[class*='uk-animation-'] {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
}

.uk-sticky.uk-animation-reverse {
  -webkit-animation-duration: 0.2s;
          animation-duration: 0.2s;
}

/* ========================================================================
   Component: Off-canvas
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 */
.uk-offcanvas {
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
}

/*
 * Flip modifier
 */
.uk-offcanvas-flip .uk-offcanvas {
  right: 0;
  left: auto;
}

/* Bar
 ========================================================================== */
/*
 * 1. Set position
 * 2. Size and style
 * 3. Allow scrolling
 */
.uk-offcanvas-bar {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: -270px;
  /* 2 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 270px;
  padding: 20px 20px;
  background: #222;
  /* 3 */
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-offcanvas-bar {
    left: -350px;
    width: 350px;
    padding: 40px 40px;
  }
}

/* Flip modifier */
.uk-offcanvas-flip .uk-offcanvas-bar {
  left: auto;
  right: -270px;
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-offcanvas-flip .uk-offcanvas-bar {
    right: -350px;
  }
}

/*
 * Open
 */
.uk-open > .uk-offcanvas-bar {
  left: 0;
}

.uk-offcanvas-flip .uk-open > .uk-offcanvas-bar {
  left: auto;
  right: 0;
}

/*
 * Slide Animation (Used in slide and push mode)
 */
.uk-offcanvas-bar-animation {
  -webkit-transition: left 0.3s ease-out;
  transition: left 0.3s ease-out;
}

.uk-offcanvas-flip .uk-offcanvas-bar-animation {
  -webkit-transition-property: right;
  transition-property: right;
}

/*
 * Reveal Animation
 * 1. Set position
 * 2. Clip the bar
 * 3. Animation
 * 4. Reset position
 */
.uk-offcanvas-reveal {
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  width: 0;
  overflow: hidden;
  /* 3 */
  -webkit-transition: width 0.3s ease-out;
  transition: width 0.3s ease-out;
}

.uk-offcanvas-reveal .uk-offcanvas-bar {
  /* 4 */
  left: 0;
}

.uk-offcanvas-flip .uk-offcanvas-reveal .uk-offcanvas-bar {
  /* 4 */
  left: auto;
  right: 0;
}

.uk-open > .uk-offcanvas-reveal {
  width: 270px;
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-open > .uk-offcanvas-reveal {
    width: 350px;
  }
}

/*
 * Flip modifier
 */
.uk-offcanvas-flip .uk-offcanvas-reveal {
  right: 0;
  left: auto;
}

/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-offcanvas-close {
  position: absolute;
  z-index: 1000;
  top: 20px;
  right: 20px;
  padding: 5px;
}

/* Overlay
 ========================================================================== */
/*
 * Overlay the whole page. Needed for the `::before`
 * 1. Using `100vw` so no modification is needed when off-canvas is flipped
 * 2. Allow for closing with swipe gesture on devices with pointer events.
 */
.uk-offcanvas-overlay {
  /* 1 */
  width: 100vw;
  /* 2 */
  -ms-touch-action: none;
      touch-action: none;
}

/*
 * 1. Mask the whole page
 * 2. Fade-in transition
 */
.uk-offcanvas-overlay::before {
  /* 1 */
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.1);
  /* 2 */
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}

.uk-offcanvas-overlay.uk-open::before {
  opacity: 1;
}

/* Prevent scrolling
 ========================================================================== */
/*
 * Prevent horizontal scrollbar when the content is slide-out
 * Has to be on the `html` element too to make it work on the `body`
 */
.uk-offcanvas-page,
.uk-offcanvas-container {
  overflow-x: hidden;
}

/* Container
 ========================================================================== */
/*
 * Prepare slide-out animation (Used in reveal and push mode)
 * Using `position: left` instead of `transform` because position `fixed` elements like sticky navbars
 * lose their fixed state and behaves like `absolute` within a transformed container
 * 1. Provide a fixed width and prevent shrinking
 */
.uk-offcanvas-container {
  position: relative;
  left: 0;
  -webkit-transition: left 0.3s ease-out;
  transition: left 0.3s ease-out;
  /* 1 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
}

/*
 * Activate slide-out animation
 */
:not(.uk-offcanvas-flip).uk-offcanvas-container-animation {
  left: 270px;
}

.uk-offcanvas-flip.uk-offcanvas-container-animation {
  left: -270px;
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  :not(.uk-offcanvas-flip).uk-offcanvas-container-animation {
    left: 350px;
  }
  .uk-offcanvas-flip.uk-offcanvas-container-animation {
    left: -350px;
  }
}

/* ========================================================================
   Component: Switcher
 ========================================================================== */
/*
 * Reset list
 */
.uk-switcher {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Items
 ========================================================================== */
/*
 * Hide not active items
 */
.uk-switcher > :not(.uk-active) {
  display: none;
}

/*
 * Remove margin from the last-child
 */
.uk-switcher > * > :last-child {
  margin-bottom: 0;
}

/* ========================================================================
   Component: Leader
 ========================================================================== */
.uk-leader {
  overflow: hidden;
}

/*
 * 1. Place element in text flow
 * 2. Never break into a new line
 * 3. Get a string back with as many repeating characters to fill the container
 * 4. Prevent wrapping. Overflowing characters will be clipped by the container
 */
.uk-leader-fill::after {
  /* 1 */
  display: inline-block;
  margin-left: 15px;
  /* 2 */
  width: 0;
  /* 3 */
  content: attr(data-fill);
  /* 4 */
  white-space: nowrap;
}

/*
 * Hide if media does not match
 */
.uk-leader-fill.uk-leader-hide::after {
  display: none;
}

/*
 * Pass fill character to JS
 */
.uk-leader-fill-content::before {
  content: ".";
}

:root {
  --uk-leader-fill-content: .;
}

/* ========================================================================
   Component: Iconnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-iconnav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 1 */
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 2 */
  margin: 0;
  padding: 0;
  list-style: none;
  /* 3 */
  margin-left: -10px;
}

/*
 * Space is allocated based on content dimensions, but shrinks: 0 1 auto
 * 1. Gutter
 */
.uk-iconnav > * {
  /* 1 */
  padding-left: 10px;
}

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Prevent gap if child element is `inline-block`, e.g. an icon
 * 2. Style
 */
.uk-iconnav > * > a {
  /* 1 */
  display: block;
  /* 2 */
  color: #999;
}

/* Hover + Focus */
.uk-iconnav > * > a:hover,
.uk-iconnav > * > a:focus {
  color: #666;
  outline: none;
}

/* Active */
.uk-iconnav > .uk-active > a {
  color: #666;
}

/* Modifier: 'uk-iconnav-vertical'
 ========================================================================== */
/*
 * 1. Change direction
 * 2. Gutter
 */
.uk-iconnav-vertical {
  /* 1 */
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -10px;
}

/* 2 */
.uk-iconnav-vertical > * {
  padding-left: 0;
  padding-top: 10px;
}

/* ========================================================================
   Component: Notification
 ========================================================================== */
/*
 * 1. Set position
 * 2. Dimensions
 */
.uk-notification {
  /* 1 */
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1040;
  /* 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: 767) {
  .uk-notification {
    left: 10px;
    right: 10px;
    width: auto;
    margin: 0;
  }
}

/* Message
========================================================================== */
.uk-notification-message {
  position: relative;
  padding: 15px;
  background: #f8f8f8;
  color: #666;
  font-size: 1.25rem;
  line-height: 1.4;
  cursor: pointer;
}

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

/* Close
 * Adopts `uk-close`
 ========================================================================== */
.uk-notification-close {
  display: none;
  position: absolute;
  top: 20px;
  right: 15px;
}

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

/* Style modifiers
 ========================================================================== */
/*
 * Primary
 */
.uk-notification-message-primary {
  color: #1e87f0;
}

/*
 * Success
 */
.uk-notification-message-success {
  color: #32d296;
}

/*
 * Warning
 */
.uk-notification-message-warning {
  color: #faa05a;
}

/*
 * Danger
 */
.uk-notification-message-danger {
  color: #f0506e;
}

/* ========================================================================
   Component: Tooltip
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Position
 * 3. Dimensions
 * 4. Style
 */
.uk-tooltip {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1030;
  /* 3 */
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 200px;
  padding: 3px 6px;
  /* 4 */
  background: #666;
  border-radius: 2px;
  color: #fff;
  font-size: 12px;
}

/* Show */
.uk-tooltip.uk-active {
  display: block;
}

/* Direction / Alignment modifiers
 ========================================================================== */
/* Direction */
[class*='uk-tooltip-top'] {
  margin-top: -10px;
}

[class*='uk-tooltip-bottom'] {
  margin-top: 10px;
}

[class*='uk-tooltip-left'] {
  margin-left: -10px;
}

[class*='uk-tooltip-right'] {
  margin-left: 10px;
}

/* ========================================================================
   Component: Placeholder
 ========================================================================== */
.uk-placeholder {
  margin-bottom: 20px;
  padding: 30px 30px;
  background: transparent;
  border: 1px dashed #e5e5e5;
}

/* Add margin if adjacent element */
* + .uk-placeholder {
  margin-top: 20px;
}

/*
 * Remove margin from the last-child
 */
.uk-placeholder > :last-child {
  margin-bottom: 0;
}

/* ========================================================================
   Component: Progress
 ========================================================================== */
/*
 * 1. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 * 2. Remove default style
 * 3. Behave like a block element
 * 4. Remove borders in Firefox and Edge
 * 5. Set background color for progress container in Firefox, IE11 and Edge
 * 6. Style
 */
.uk-progress {
  /* 1 */
  vertical-align: baseline;
  /* 2 */
  -webkit-appearance: none;
  -moz-appearance: none;
  /* 3 */
  display: block;
  width: 100%;
  /* 4 */
  border: 0;
  /* 5 */
  background-color: #f8f8f8;
  /* 6 */
  margin-bottom: 20px;
  height: 15px;
  border-radius: 500px;
  overflow: hidden;
}

/* Add margin if adjacent element */
* + .uk-progress {
  margin-top: 20px;
}

/*
 * Remove animated circles for indeterminate state in IE11 and Edge
 */
.uk-progress:indeterminate {
  color: transparent;
}

/*
 * Progress container
 * 2. Remove progress bar for indeterminate state in Firefox
 */
.uk-progress::-webkit-progress-bar {
  background-color: #f8f8f8;
  border-radius: 500px;
  overflow: hidden;
}

/* 2 */
.uk-progress:indeterminate::-moz-progress-bar {
  width: 0;
}

/*
 * Progress bar
 * 1. Remove right border in IE11 and Edge
 */
.uk-progress::-webkit-progress-value {
  background-color: #1e87f0;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease;
}

.uk-progress::-moz-progress-bar {
  background-color: #1e87f0;
}

.uk-progress::-ms-fill {
  background-color: #1e87f0;
  -webkit-transition: width 0.6s ease;
  transition: width 0.6s ease;
  /* 1 */
  border: 0;
}

/* ========================================================================
   Component: Sortable
 ========================================================================== */
.uk-sortable {
  position: relative;
}

/*
 * Deactivate pointer-events on SVGs in Safari
 */
.uk-sortable svg {
  pointer-events: none;
}

/*
 * Remove margin from the last-child
 */
.uk-sortable > :last-child {
  margin-bottom: 0;
}

/* Drag
 ========================================================================== */
.uk-sortable-drag {
  position: absolute !important;
  z-index: 1050 !important;
  pointer-events: none;
}

/* Placeholder
 ========================================================================== */
.uk-sortable-placeholder {
  opacity: 0;
  pointer-events: none;
}

/* Empty modifier
 ========================================================================== */
.uk-sortable-empty {
  min-height: 50px;
}

/* Handle
 ========================================================================== */
/* Hover */
.uk-sortable-handle:hover {
  cursor: move;
}

/* ========================================================================
   Component: Countdown
 ========================================================================== */
/* Item
 ========================================================================== */
/* Number
 ========================================================================== */
.uk-countdown-number {
  font-size: 2rem;
  line-height: 0.8;
}

/* Phone landscape and bigger */
@media (min-width: 768) {
  .uk-countdown-number {
    font-size: 4rem;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-countdown-number {
    font-size: 6rem;
  }
}

/* Separator
 ========================================================================== */
.uk-countdown-separator {
  font-size: 1rem;
  line-height: 1.6;
}

/* Phone landscape and bigger */
@media (min-width: 768) {
  .uk-countdown-separator {
    font-size: 2rem;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-countdown-separator {
    font-size: 3rem;
  }
}

/* Label
 ========================================================================== */
/* ========================================================================
   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.1s;
          animation-duration: 0.1s;
}

/* 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: Width
 ========================================================================== */
/* Equal child widths
 ========================================================================== */
[class*='uk-child-width'] > * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
}

.uk-child-width-1-2 > * {
  width: 50%;
}

.uk-child-width-1-3 > * {
  width: calc(100% * 1 / 3.001);
}

.uk-child-width-1-4 > * {
  width: 25%;
}

.uk-child-width-1-5 > * {
  width: 20%;
}

.uk-child-width-1-6 > * {
  width: calc(100% * 1 / 6.001);
}

.uk-child-width-auto > * {
  width: auto;
}

/*
 * 1. Reset the `min-width`, which is set to auto by default, because
 *    flex items won't shrink below their minimum intrinsic content size.
 *    Using `1px` instead of `0`, so items still wrap into the next line,
 *    if they have zero width and padding and the predecessor is 100% wide.
 */
.uk-child-width-expand > :not([class*='uk-width']) {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  /* 1 */
  min-width: 1px;
}

/* Phone landscape and bigger */
@media (min-width: 768) {
  .uk-child-width-1-1\@s > * {
    width: 100%;
  }
  .uk-child-width-1-2\@s > * {
    width: 50%;
  }
  .uk-child-width-1-3\@s > * {
    width: calc(100% * 1 / 3.001);
  }
  .uk-child-width-1-4\@s > * {
    width: 25%;
  }
  .uk-child-width-1-5\@s > * {
    width: 20%;
  }
  .uk-child-width-1-6\@s > * {
    width: calc(100% * 1 / 6.001);
  }
  .uk-child-width-auto\@s > * {
    width: auto;
  }
  .uk-child-width-expand\@s > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-child-width-1-1\@m > * {
    width: 100%;
  }
  .uk-child-width-1-2\@m > * {
    width: 50%;
  }
  .uk-child-width-1-3\@m > * {
    width: calc(100% * 1 / 3.001);
  }
  .uk-child-width-1-4\@m > * {
    width: 25%;
  }
  .uk-child-width-1-5\@m > * {
    width: 20%;
  }
  .uk-child-width-1-6\@m > * {
    width: calc(100% * 1 / 6.001);
  }
  .uk-child-width-auto\@m > * {
    width: auto;
  }
  .uk-child-width-expand\@m > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-child-width-1-1\@l > * {
    width: 100%;
  }
  .uk-child-width-1-2\@l > * {
    width: 50%;
  }
  .uk-child-width-1-3\@l > * {
    width: calc(100% * 1 / 3.001);
  }
  .uk-child-width-1-4\@l > * {
    width: 25%;
  }
  .uk-child-width-1-5\@l > * {
    width: 20%;
  }
  .uk-child-width-1-6\@l > * {
    width: calc(100% * 1 / 6.001);
  }
  .uk-child-width-auto\@l > * {
    width: auto;
  }
  .uk-child-width-expand\@l > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px;
  }
}

/* Large screen and bigger */
@media (min-width: 1680px) {
  .uk-child-width-1-1\@xl > * {
    width: 100%;
  }
  .uk-child-width-1-2\@xl > * {
    width: 50%;
  }
  .uk-child-width-1-3\@xl > * {
    width: calc(100% * 1 / 3.001);
  }
  .uk-child-width-1-4\@xl > * {
    width: 25%;
  }
  .uk-child-width-1-5\@xl > * {
    width: 20%;
  }
  .uk-child-width-1-6\@xl > * {
    width: calc(100% * 1 / 6.001);
  }
  .uk-child-width-auto\@xl > * {
    width: auto;
  }
  .uk-child-width-expand\@xl > :not([class*='uk-width']) {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px;
  }
}

/* Single Widths
 ========================================================================== */
/*
 * 1. `max-width` is needed for the pixel-based classes
 */
[class*='uk-width'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  /* 1 */
  max-width: 100%;
}

/* Halves */
.uk-width-1-2 {
  width: 50%;
}

/* Thirds */
.uk-width-1-3 {
  width: calc(100% * 1 / 3.001);
}

.uk-width-2-3 {
  width: calc(100% * 2 / 3.001);
}

/* Quarters */
.uk-width-1-4 {
  width: 25%;
}

.uk-width-3-4 {
  width: 75%;
}

/* Fifths */
.uk-width-1-5 {
  width: 20%;
}

.uk-width-2-5 {
  width: 40%;
}

.uk-width-3-5 {
  width: 60%;
}

.uk-width-4-5 {
  width: 80%;
}

/* Sixths */
.uk-width-1-6 {
  width: calc(100% * 1 / 6.001);
}

.uk-width-5-6 {
  width: calc(100% * 5 / 6.001);
}

/* Pixel */
.uk-width-small {
  width: 150px;
}

.uk-width-medium {
  width: 300px;
}

.uk-width-large {
  width: 450px;
}

.uk-width-xlarge {
  width: 600px;
}

.uk-width-xxlarge {
  width: 750px;
}

/* Auto */
.uk-width-auto {
  width: auto;
}

/* Expand */
.uk-width-expand {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 1px;
}

/* Phone landscape and bigger */
@media (min-width: 768) {
  /* Whole */
  .uk-width-1-1\@s {
    width: 100%;
  }
  /* Halves */
  .uk-width-1-2\@s {
    width: 50%;
  }
  /* Thirds */
  .uk-width-1-3\@s {
    width: calc(100% * 1 / 3.001);
  }
  .uk-width-2-3\@s {
    width: calc(100% * 2 / 3.001);
  }
  /* Quarters */
  .uk-width-1-4\@s {
    width: 25%;
  }
  .uk-width-3-4\@s {
    width: 75%;
  }
  /* Fifths */
  .uk-width-1-5\@s {
    width: 20%;
  }
  .uk-width-2-5\@s {
    width: 40%;
  }
  .uk-width-3-5\@s {
    width: 60%;
  }
  .uk-width-4-5\@s {
    width: 80%;
  }
  /* Sixths */
  .uk-width-1-6\@s {
    width: calc(100% * 1 / 6.001);
  }
  .uk-width-5-6\@s {
    width: calc(100% * 5 / 6.001);
  }
  /* Pixel */
  .uk-width-small\@s {
    width: 150px;
  }
  .uk-width-medium\@s {
    width: 300px;
  }
  .uk-width-large\@s {
    width: 450px;
  }
  .uk-width-xlarge\@s {
    width: 600px;
  }
  .uk-width-xxlarge\@s {
    width: 750px;
  }
  /* Auto */
  .uk-width-auto\@s {
    width: auto;
  }
  /* Expand */
  .uk-width-expand\@s {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  /* Whole */
  .uk-width-1-1\@m {
    width: 100%;
  }
  /* Halves */
  .uk-width-1-2\@m {
    width: 50%;
  }
  /* Thirds */
  .uk-width-1-3\@m {
    width: calc(100% * 1 / 3.001);
  }
  .uk-width-2-3\@m {
    width: calc(100% * 2 / 3.001);
  }
  /* Quarters */
  .uk-width-1-4\@m {
    width: 25%;
  }
  .uk-width-3-4\@m {
    width: 75%;
  }
  /* Fifths */
  .uk-width-1-5\@m {
    width: 20%;
  }
  .uk-width-2-5\@m {
    width: 40%;
  }
  .uk-width-3-5\@m {
    width: 60%;
  }
  .uk-width-4-5\@m {
    width: 80%;
  }
  /* Sixths */
  .uk-width-1-6\@m {
    width: calc(100% * 1 / 6.001);
  }
  .uk-width-5-6\@m {
    width: calc(100% * 5 / 6.001);
  }
  /* Pixel */
  .uk-width-small\@m {
    width: 150px;
  }
  .uk-width-medium\@m {
    width: 300px;
  }
  .uk-width-large\@m {
    width: 450px;
  }
  .uk-width-xlarge\@m {
    width: 600px;
  }
  .uk-width-xxlarge\@m {
    width: 750px;
  }
  /* Auto */
  .uk-width-auto\@m {
    width: auto;
  }
  /* Expand */
  .uk-width-expand\@m {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  /* Whole */
  .uk-width-1-1\@l {
    width: 100%;
  }
  /* Halves */
  .uk-width-1-2\@l {
    width: 50%;
  }
  /* Thirds */
  .uk-width-1-3\@l {
    width: calc(100% * 1 / 3.001);
  }
  .uk-width-2-3\@l {
    width: calc(100% * 2 / 3.001);
  }
  /* Quarters */
  .uk-width-1-4\@l {
    width: 25%;
  }
  .uk-width-3-4\@l {
    width: 75%;
  }
  /* Fifths */
  .uk-width-1-5\@l {
    width: 20%;
  }
  .uk-width-2-5\@l {
    width: 40%;
  }
  .uk-width-3-5\@l {
    width: 60%;
  }
  .uk-width-4-5\@l {
    width: 80%;
  }
  /* Sixths */
  .uk-width-1-6\@l {
    width: calc(100% * 1 / 6.001);
  }
  .uk-width-5-6\@l {
    width: calc(100% * 5 / 6.001);
  }
  /* Pixel */
  .uk-width-small\@l {
    width: 150px;
  }
  .uk-width-medium\@l {
    width: 300px;
  }
  .uk-width-large\@l {
    width: 450px;
  }
  .uk-width-xlarge\@l {
    width: 600px;
  }
  .uk-width-xxlarge\@l {
    width: 750px;
  }
  /* Auto */
  .uk-width-auto\@l {
    width: auto;
  }
  /* Expand */
  .uk-width-expand\@l {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px;
  }
}

/* Large screen and bigger */
@media (min-width: 1680px) {
  /* Whole */
  .uk-width-1-1\@xl {
    width: 100%;
  }
  /* Halves */
  .uk-width-1-2\@xl {
    width: 50%;
  }
  /* Thirds */
  .uk-width-1-3\@xl {
    width: calc(100% * 1 / 3.001);
  }
  .uk-width-2-3\@xl {
    width: calc(100% * 2 / 3.001);
  }
  /* Quarters */
  .uk-width-1-4\@xl {
    width: 25%;
  }
  .uk-width-3-4\@xl {
    width: 75%;
  }
  /* Fifths */
  .uk-width-1-5\@xl {
    width: 20%;
  }
  .uk-width-2-5\@xl {
    width: 40%;
  }
  .uk-width-3-5\@xl {
    width: 60%;
  }
  .uk-width-4-5\@xl {
    width: 80%;
  }
  /* Sixths */
  .uk-width-1-6\@xl {
    width: calc(100% * 1 / 6.001);
  }
  .uk-width-5-6\@xl {
    width: calc(100% * 5 / 6.001);
  }
  /* Pixel */
  .uk-width-small\@xl {
    width: 150px;
  }
  .uk-width-medium\@xl {
    width: 300px;
  }
  .uk-width-large\@xl {
    width: 450px;
  }
  .uk-width-xlarge\@xl {
    width: 600px;
  }
  .uk-width-xxlarge\@xl {
    width: 750px;
  }
  /* Auto */
  .uk-width-auto\@xl {
    width: auto;
  }
  /* Expand */
  .uk-width-expand\@xl {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 1px;
  }
}

/* ========================================================================
   Component: Height
 ========================================================================== */
[class*='uk-height'] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*
 * Only works if parent element has a height set
 */
.uk-height-1-1 {
  height: 100%;
}

/*
 * Useful to create image teasers
 */
.uk-height-viewport {
  min-height: 100vh;
}

/*
 * Pixel
 * Useful for `overflow: auto`
 */
.uk-height-small {
  height: 150px;
}

.uk-height-medium {
  height: 300px;
}

.uk-height-large {
  height: 450px;
}

.uk-height-max-small {
  max-height: 150px;
}

.uk-height-max-medium {
  max-height: 300px;
}

.uk-height-max-large {
  max-height: 450px;
}

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

.uk-text-meta a {
  color: #999;
}

.uk-text-meta a:hover {
  color: #666;
  text-decoration: none;
}

/* Size modifiers
 ========================================================================== */
.uk-text-small {
  font-size: 0.875rem;
  line-height: 1.5;
}

.uk-text-large {
  font-size: 1.5rem;
  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: #1e87f0 !important;
}

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

.uk-text-success {
  color: #32d296 !important;
}

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

.uk-text-danger {
  color: #f0506e !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;
  -webkit-text-fill-color: transparent;
  /* 2 */
  display: inline-block;
  /* 3 */
  color: #1e87f0 !important;
}

@supports (-webkit-background-clip: text) {
  .uk-text-background {
    background-color: #1e87f0;
  }
}

/* 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: 768) {
  .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: 992px) {
  .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: 1200px) {
  .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: 1680px) {
  .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;
  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: Column
 ========================================================================== */
[class*='uk-column-'] {
  -webkit-column-gap: 30px;
     -moz-column-gap: 30px;
          column-gap: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  [class*='uk-column-'] {
    -webkit-column-gap: 40px;
       -moz-column-gap: 40px;
            column-gap: 40px;
  }
}

/*
 * Fix image 1px line wrapping into the next column in Chrome
 */
[class*='uk-column-'] img {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

/* Divider
 ========================================================================== */
/*
 * 1. Double the column gap
 */
.uk-column-divider {
  -webkit-column-rule: 1px solid #e5e5e5;
     -moz-column-rule: 1px solid #e5e5e5;
          column-rule: 1px solid #e5e5e5;
  /* 1 */
  -webkit-column-gap: 60px;
     -moz-column-gap: 60px;
          column-gap: 60px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-divider {
    -webkit-column-gap: 80px;
       -moz-column-gap: 80px;
            column-gap: 80px;
  }
}

/* Width modifiers
 ========================================================================== */
.uk-column-1-2 {
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
}

.uk-column-1-3 {
  -webkit-column-count: 3;
     -moz-column-count: 3;
          column-count: 3;
}

.uk-column-1-4 {
  -webkit-column-count: 4;
     -moz-column-count: 4;
          column-count: 4;
}

.uk-column-1-5 {
  -webkit-column-count: 5;
     -moz-column-count: 5;
          column-count: 5;
}

.uk-column-1-6 {
  -webkit-column-count: 6;
     -moz-column-count: 6;
          column-count: 6;
}

/* Phone landscape and bigger */
@media (min-width: 768) {
  .uk-column-1-2\@s {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
  .uk-column-1-3\@s {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
  }
  .uk-column-1-4\@s {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4;
  }
  .uk-column-1-5\@s {
    -webkit-column-count: 5;
       -moz-column-count: 5;
            column-count: 5;
  }
  .uk-column-1-6\@s {
    -webkit-column-count: 6;
       -moz-column-count: 6;
            column-count: 6;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-column-1-2\@m {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
  .uk-column-1-3\@m {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
  }
  .uk-column-1-4\@m {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4;
  }
  .uk-column-1-5\@m {
    -webkit-column-count: 5;
       -moz-column-count: 5;
            column-count: 5;
  }
  .uk-column-1-6\@m {
    -webkit-column-count: 6;
       -moz-column-count: 6;
            column-count: 6;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-1-2\@l {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
  .uk-column-1-3\@l {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
  }
  .uk-column-1-4\@l {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4;
  }
  .uk-column-1-5\@l {
    -webkit-column-count: 5;
       -moz-column-count: 5;
            column-count: 5;
  }
  .uk-column-1-6\@l {
    -webkit-column-count: 6;
       -moz-column-count: 6;
            column-count: 6;
  }
}

/* Large screen and bigger */
@media (min-width: 1680px) {
  .uk-column-1-2\@xl {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
  }
  .uk-column-1-3\@xl {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
  }
  .uk-column-1-4\@xl {
    -webkit-column-count: 4;
       -moz-column-count: 4;
            column-count: 4;
  }
  .uk-column-1-5\@xl {
    -webkit-column-count: 5;
       -moz-column-count: 5;
            column-count: 5;
  }
  .uk-column-1-6\@xl {
    -webkit-column-count: 6;
       -moz-column-count: 6;
            column-count: 6;
  }
}

/* Make element span across all columns
 * Does not work in Firefox yet
 ========================================================================== */
.uk-column-span {
  -webkit-column-span: all;
     -moz-column-span: all;
          column-span: all;
}

/* ========================================================================
   Component: Cover
 ========================================================================== */
/*
 * Works with iframes and embedded content
 * 1. Reset responsiveness for embedded content
 * 2. Center object
 * Note: Percent values on the `top` property only works if this element
 *       is absolute positioned or if the container has a height
 */
.uk-cover {
  /* 1 */
  max-width: none;
  /* 2 */
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

iframe.uk-cover {
  pointer-events: none;
}

/* Container
 ========================================================================== */
/*
 * 1. Parent container which clips resized object
 * 2. Needed if the child is positioned absolute. See note above
 */
.uk-cover-container {
  /* 1 */
  overflow: hidden;
  /* 2 */
  position: relative;
}

/* ========================================================================
   Component: Background
 ========================================================================== */
/* Color
 ========================================================================== */
.uk-background-default {
  background-color: #fff;
}

.uk-background-muted {
  background-color: #f8f8f8;
}

.uk-background-primary {
  background-color: #1e87f0;
}

.uk-background-secondary {
  background-color: #222;
}

/* Size
 ========================================================================== */
.uk-background-cover,
.uk-background-contain {
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

.uk-background-cover {
  background-size: cover;
}

.uk-background-contain {
  background-size: contain;
}

/* Position
 ========================================================================== */
.uk-background-top-left {
  background-position: 0 0;
}

.uk-background-top-center {
  background-position: 50% 0;
}

.uk-background-top-right {
  background-position: 100% 0;
}

.uk-background-center-left {
  background-position: 0 50%;
}

.uk-background-center-center {
  background-position: 50% 50%;
}

.uk-background-center-right {
  background-position: 100% 50%;
}

.uk-background-bottom-left {
  background-position: 0 100%;
}

.uk-background-bottom-center {
  background-position: 50% 100%;
}

.uk-background-bottom-right {
  background-position: 100% 100%;
}

/* Repeat
 ========================================================================== */
.uk-background-norepeat {
  background-repeat: no-repeat;
}

/* Attachment
 ========================================================================== */
/*
 * 1. Fix bug introduced in Chrome 67: the background image is not visible if any element on the page uses `translate3d`
 */
.uk-background-fixed {
  background-attachment: fixed;
  /* 1 */
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

/*
 * Exclude touch devices because `fixed` doesn't work on iOS and Android
 */
@media (pointer: coarse) {
  .uk-background-fixed {
    background-attachment: scroll;
  }
}

/* Image
 ========================================================================== */
/* Phone portrait and smaller */
@media (max-width: 767) {
  .uk-background-image\@s {
    background-image: none !important;
  }
}

/* Phone landscape and smaller */
@media (max-width: 991px) {
  .uk-background-image\@m {
    background-image: none !important;
  }
}

/* Tablet landscape and smaller */
@media (max-width: 1199px) {
  .uk-background-image\@l {
    background-image: none !important;
  }
}

/* Desktop and smaller */
@media (max-width: 1679px) {
  .uk-background-image\@xl {
    background-image: none !important;
  }
}

/* Blend modes
 ========================================================================== */
.uk-background-blend-multiply {
  background-blend-mode: multiply;
}

.uk-background-blend-screen {
  background-blend-mode: screen;
}

.uk-background-blend-overlay {
  background-blend-mode: overlay;
}

.uk-background-blend-darken {
  background-blend-mode: darken;
}

.uk-background-blend-lighten {
  background-blend-mode: lighten;
}

.uk-background-blend-color-dodge {
  background-blend-mode: color-dodge;
}

.uk-background-blend-color-burn {
  background-blend-mode: color-burn;
}

.uk-background-blend-hard-light {
  background-blend-mode: hard-light;
}

.uk-background-blend-soft-light {
  background-blend-mode: soft-light;
}

.uk-background-blend-difference {
  background-blend-mode: difference;
}

.uk-background-blend-exclusion {
  background-blend-mode: exclusion;
}

.uk-background-blend-hue {
  background-blend-mode: hue;
}

.uk-background-blend-saturation {
  background-blend-mode: saturation;
}

.uk-background-blend-color {
  background-blend-mode: color;
}

.uk-background-blend-luminosity {
  background-blend-mode: luminosity;
}

/* ========================================================================
   Component: Align
 ========================================================================== */
/*
 * Default
 */
[class*='uk-align'] {
  display: block;
  margin-bottom: 30px;
}

* + [class*='uk-align'] {
  margin-top: 30px;
}

/*
 * Center
 */
.uk-align-center {
  margin-left: auto;
  margin-right: auto;
}

/*
 * Left/Right
 */
.uk-align-left {
  margin-top: 0;
  margin-right: 30px;
  float: left;
}

.uk-align-right {
  margin-top: 0;
  margin-left: 30px;
  float: right;
}

/* Phone landscape and bigger */
@media (min-width: 768) {
  .uk-align-left\@s {
    margin-top: 0;
    margin-right: 30px;
    float: left;
  }
  .uk-align-right\@s {
    margin-top: 0;
    margin-left: 30px;
    float: right;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-align-left\@m {
    margin-top: 0;
    margin-right: 30px;
    float: left;
  }
  .uk-align-right\@m {
    margin-top: 0;
    margin-left: 30px;
    float: right;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-align-left\@l {
    margin-top: 0;
    float: left;
  }
  .uk-align-right\@l {
    margin-top: 0;
    float: right;
  }
  .uk-align-left,
  .uk-align-left\@s,
  .uk-align-left\@m,
  .uk-align-left\@l {
    margin-right: 40px;
  }
  .uk-align-right,
  .uk-align-right\@s,
  .uk-align-right\@m,
  .uk-align-right\@l {
    margin-left: 40px;
  }
}

/* Large screen and bigger */
@media (min-width: 1680px) {
  .uk-align-left\@xl {
    margin-top: 0;
    margin-right: 40px;
    float: left;
  }
  .uk-align-right\@xl {
    margin-top: 0;
    margin-left: 40px;
    float: right;
  }
}

/* ========================================================================
   Component: SVG
 ========================================================================== */
/*
 * 1. Fill all SVG elements with the current text color if no `fill` attribute is set
 * 2. Set the fill and stroke color of all SVG elements to the current text color
 */
/* 1 */
.uk-svg,
.uk-svg:not(.uk-preserve) [fill*='#']:not(.uk-preserve) {
  fill: currentcolor;
}

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

/*
 * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
 */
.uk-svg {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

/* ========================================================================
   Component: Utility
 ========================================================================== */
/* Panel
 ========================================================================== */
.uk-panel {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*
 * Micro clearfix
 */
.uk-panel::before,
.uk-panel::after {
  content: "";
  display: table;
}

.uk-panel::after {
  clear: both;
}

/*
 * Remove margin from the last-child
 */
.uk-panel > :last-child {
  margin-bottom: 0;
}

/*
 * Scrollable
 */
.uk-panel-scrollable {
  height: 170px;
  padding: 10px;
  border: 1px solid #e5e5e5;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  resize: both;
}

/* Clearfix
 ========================================================================== */
/*
 * 1. `table-cell` is used with `::before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit
 * 2. `table` is used again with `::after` because `clear` only works with block elements.
 * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari
 */
/* 1 */
.uk-clearfix::before {
  content: "";
  display: table-cell;
}

/* 2 */
.uk-clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* Float
 ========================================================================== */
/*
 * 1. Prevent content overflow
 */
.uk-float-left {
  float: left;
}

.uk-float-right {
  float: right;
}

/* 1 */
[class*='uk-float-'] {
  max-width: 100%;
}

/* Overfow
 ========================================================================== */
.uk-overflow-hidden {
  overflow: hidden;
}

/*
 * Enable scrollbars if content is clipped
 * Note: Firefox ignores `padding-bottom` for the scrollable overflow https://bugzilla.mozilla.org/show_bug.cgi?id=748518
 */
.uk-overflow-auto {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.uk-overflow-auto > :last-child {
  margin-bottom: 0;
}

/* Resize
 ========================================================================== */
.uk-resize {
  resize: both;
}

.uk-resize-vertical {
  resize: vertical;
}

/* Display
 ========================================================================== */
.uk-display-block {
  display: block !important;
}

.uk-display-inline {
  display: inline !important;
}

.uk-display-inline-block {
  display: inline-block !important;
}

/* Inline
 ========================================================================== */
/*
 * 1. Container fits its content
 * 2. Create position context
 * 3. Prevent content overflow
 * 4. Behave like most inline-block elements
 * 5. Force hardware acceleration without creating a new stacking context
 *    to fix 1px glitch when combined with overlays and transitions in Webkit
 * 6. Clip child elements
 */
[class*='uk-inline'] {
  /* 1 */
  display: inline-block;
  /* 2 */
  position: relative;
  /* 3 */
  max-width: 100%;
  /* 4 */
  vertical-align: middle;
  /* 5 */
  -webkit-backface-visibility: hidden;
}

.uk-inline-clip {
  /* 6 */
  overflow: hidden;
}

/* Responsive objects
 ========================================================================== */
/*
 * Preserve original dimensions
 * Because `img, `video`, `canvas` and  `audio` are already responsive by default, see Base component
 */
.uk-preserve-width,
.uk-preserve-width canvas,
.uk-preserve-width img,
.uk-preserve-width svg,
.uk-preserve-width video {
  max-width: none;
}

/*
 * Responsiveness
 * Corrects `max-width` and `max-height` behavior if padding and border are used
 */
.uk-responsive-width,
.uk-responsive-height {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/*
 * 1. Set a maximum width. `important` needed to override `uk-preserve-width img`
 * 2. Auto scale the height. Only needed if `height` attribute is present
 */
.uk-responsive-width {
  /* 1 */
  max-width: 100% !important;
  /* 2 */
  height: auto;
}

/*
 * 1. Set a maximum height. Only works if the parent element has a fixed height
 * 2. Auto scale the width. Only needed if `width` attribute is present
 * 3. Reset max-width, which `img, `video`, `canvas` and  `audio` already have by default
 */
.uk-responsive-height {
  /* 1 */
  max-height: 100%;
  /* 2 */
  width: auto;
  /* 3 */
  max-width: none;
}

/* Border
 ========================================================================== */
.uk-border-circle {
  border-radius: 50%;
}

.uk-border-pill {
  border-radius: 500px;
}

.uk-border-rounded {
  border-radius: 5px;
}

/*
 * Fix `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit
 */
.uk-inline-clip[class*='uk-border-'] {
  -webkit-transform: translateZ(0);
}

/* Box-shadow
 ========================================================================== */
.uk-box-shadow-small {
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-medium {
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-large {
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

.uk-box-shadow-xlarge {
  -webkit-box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
          box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
}

/*
 * Hover
 */
[class*='uk-box-shadow-hover'] {
  -webkit-transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: -webkit-box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out;
  transition: box-shadow 0.1s ease-in-out, -webkit-box-shadow 0.1s ease-in-out;
}

.uk-box-shadow-hover-small:hover {
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
          box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-hover-medium:hover {
  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
          box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-hover-large:hover {
  -webkit-box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
          box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

.uk-box-shadow-hover-xlarge:hover {
  -webkit-box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
          box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
}

/* Box-shadow bottom
 ========================================================================== */
/*
 * 1. Set position.
 * 2. Set style
 * 3. Blur doesn't work on pseudo elements with negative `z-index` in Edge.
 *    Solved by using `before` and add position context to child elements.
 */
@supports ((-webkit-filter: blur(0)) or (filter: blur(0))) {
  .uk-box-shadow-bottom {
    display: inline-block;
    position: relative;
    max-width: 100%;
    vertical-align: middle;
  }
  .uk-box-shadow-bottom::before {
    content: '';
    /* 1 */
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    /* 2 */
    height: 30px;
    border-radius: 100%;
    background: #444;
    -webkit-filter: blur(20px);
            filter: blur(20px);
  }
  /* 3 */
  .uk-box-shadow-bottom > * {
    position: relative;
  }
}

/* Drop cap
 ========================================================================== */
/*
 * 1. Firefox doesn't apply `::first-letter` if the first letter is inside child elements
 *    https://bugzilla.mozilla.org/show_bug.cgi?id=214004
 * 2. In Firefox, a floating `::first-letter` doesn't have a line box and there for no `line-height`
 *    https://bugzilla.mozilla.org/show_bug.cgi?id=317933
 * 3. Caused by 1.: Edge creates two nested `::first-letter` containers, one for each selector
 *    This doubles the `font-size` exponential when using the `em` unit.
 */
.uk-dropcap::first-letter,
.uk-dropcap > p:first-of-type::first-letter {
  display: block;
  margin-right: 10px;
  float: left;
  font-size: 4.5em;
  line-height: 1;
  margin-bottom: -2px;
}

/* 2 */
@-moz-document url-prefix() {
  .uk-dropcap::first-letter,
  .uk-dropcap > p:first-of-type::first-letter {
    margin-top: 1.1%;
  }
}

/* 3 */
@supports (-ms-ime-align: auto) {
  .uk-dropcap > p:first-of-type::first-letter {
    font-size: 1em;
  }
}

/* Logo
 ========================================================================== */
/*
 * 1. Required for `a`
 */
.uk-logo {
  font-size: 1.5rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  color: #666;
  /* 1 */
  text-decoration: none;
}

/* Hover + Focus */
.uk-logo:hover,
.uk-logo:focus {
  color: #666;
  outline: none;
  /* 1 */
  text-decoration: none;
}

.uk-logo-inverse {
  display: none;
}

/* Disabled State
 ========================================================================== */
.uk-disabled {
  pointer-events: none;
}

/* Drag State
 ========================================================================== */
/*
 * 1. Needed if moving over elements with have their own cursor on hover, e.g. links or buttons
 * 2. Fix dragging over iframes
 */
.uk-drag,
.uk-drag * {
  cursor: move;
}

/* 2 */
.uk-drag iframe {
  pointer-events: none;
}

/* Dragover State
 ========================================================================== */
/*
 * Create a box-shadow when dragging a file over the upload area
 */
.uk-dragover {
  -webkit-box-shadow: 0 0 20px rgba(100, 100, 100, 0.3);
          box-shadow: 0 0 20px rgba(100, 100, 100, 0.3);
}

/* Blend modes
 ========================================================================== */
.uk-blend-multiply {
  mix-blend-mode: multiply;
}

.uk-blend-screen {
  mix-blend-mode: screen;
}

.uk-blend-overlay {
  mix-blend-mode: overlay;
}

.uk-blend-darken {
  mix-blend-mode: darken;
}

.uk-blend-lighten {
  mix-blend-mode: lighten;
}

.uk-blend-color-dodge {
  mix-blend-mode: color-dodge;
}

.uk-blend-color-burn {
  mix-blend-mode: color-burn;
}

.uk-blend-hard-light {
  mix-blend-mode: hard-light;
}

.uk-blend-soft-light {
  mix-blend-mode: soft-light;
}

.uk-blend-difference {
  mix-blend-mode: difference;
}

.uk-blend-exclusion {
  mix-blend-mode: exclusion;
}

.uk-blend-hue {
  mix-blend-mode: hue;
}

.uk-blend-saturation {
  mix-blend-mode: saturation;
}

.uk-blend-color {
  mix-blend-mode: color;
}

.uk-blend-luminosity {
  mix-blend-mode: luminosity;
}

/* Transform
========================================================================== */
.uk-transform-center {
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/* Transform Origin
========================================================================== */
.uk-transform-origin-top-left {
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
}

.uk-transform-origin-top-center {
  -webkit-transform-origin: 50% 0;
          transform-origin: 50% 0;
}

.uk-transform-origin-top-right {
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0;
}

.uk-transform-origin-center-left {
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
}

.uk-transform-origin-center-right {
  -webkit-transform-origin: 100% 50%;
          transform-origin: 100% 50%;
}

.uk-transform-origin-bottom-left {
  -webkit-transform-origin: 0 100%;
          transform-origin: 0 100%;
}

.uk-transform-origin-bottom-center {
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
}

.uk-transform-origin-bottom-right {
  -webkit-transform-origin: 100% 100%;
          transform-origin: 100% 100%;
}

/* ========================================================================
   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: 768) {
  .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: 992px) {
  .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: 1200px) {
  .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: 1680px) {
  .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: 768) {
  .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: 992px) {
  .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: 1200px) {
  .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: 1680px) {
  .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: 1200px) {
  .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: 1200px) {
  .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: 768) {
  .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: 992px) {
  .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: 1200px) {
  .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: 1680px) {
  .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: 768) {
  .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: 992px) {
  .uk-margin-remove-left\@m {
    margin-left: 0 !important;
  }
  .uk-margin-remove-right\@m {
    margin-right: 0 !important;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .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: 1680px) {
  .uk-margin-remove-left\@xl {
    margin-left: 0 !important;
  }
  .uk-margin-remove-right\@xl {
    margin-right: 0 !important;
  }
}

/* ========================================================================
   Component: Padding
 ========================================================================== */
.uk-padding {
  padding: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-padding {
    padding: 40px;
  }
}

/* Small
 ========================================================================== */
.uk-padding-small {
  padding: 15px;
}

/* Large
 ========================================================================== */
.uk-padding-large {
  padding: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-padding-large {
    padding: 70px;
  }
}

/* Remove
 ========================================================================== */
.uk-padding-remove {
  padding: 0 !important;
}

.uk-padding-remove-top {
  padding-top: 0 !important;
}

.uk-padding-remove-bottom {
  padding-bottom: 0 !important;
}

.uk-padding-remove-left {
  padding-left: 0 !important;
}

.uk-padding-remove-right {
  padding-right: 0 !important;
}

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

.uk-padding-remove-horizontal {
  padding-left: 0 !important;
  padding-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%);
          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%);
          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%);
          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);
          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);
          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);
          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);
          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);
          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);
          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);
          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);
          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);
          transform: translateX(-50%) translateX(-30px);
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .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);
            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);
            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);
            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;
  transition: 0.3s ease-out;
  -webkit-transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, -webkit-transform, -webkit-filter;
  transition-property: opacity, transform, filter;
  transition-property: opacity, transform, filter, -webkit-transform, -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);
          transform: scale(1, 1);
}

.uk-transition-scale-down {
  -webkit-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);
          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);
          transform: scale(1, 1);
}

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

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

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

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

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

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

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

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

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

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

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

.uk-transition-slide-right-medium {
  -webkit-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);
          transform: translate(0, 0);
}

/* Opacity modifier
 ========================================================================== */
.uk-transition-opaque {
  opacity: 1;
}

/* Duration modifiers
 ========================================================================== */
.uk-transition-slow {
  -webkit-transition-duration: 0.7s;
          transition-duration: 0.7s;
}

/* ========================================================================
   Component: Visibility
 ========================================================================== */
/*
 * Hidden
 * `hidden` attribute also set here to make it stronger
 */
[hidden],
.uk-hidden {
  display: none !important;
}

/* Phone landscape and bigger */
@media (min-width: 768) {
  .uk-hidden\@s {
    display: none !important;
  }
}

/* Tablet landscape and bigger */
@media (min-width: 992px) {
  .uk-hidden\@m {
    display: none !important;
  }
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-hidden\@l {
    display: none !important;
  }
}

/* Large screen and bigger */
@media (min-width: 1680px) {
  .uk-hidden\@xl {
    display: none !important;
  }
}

/*
 * Visible
 */
/* Phone portrait and smaller */
@media (max-width: 767) {
  .uk-visible\@s {
    display: none !important;
  }
}

/* Phone landscape and smaller */
@media (max-width: 991px) {
  .uk-visible\@m {
    display: none !important;
  }
}

/* Tablet landscape and smaller */
@media (max-width: 1199px) {
  .uk-visible\@l {
    display: none !important;
  }
}

/* Desktop and smaller */
@media (max-width: 1679px) {
  .uk-visible\@xl {
    display: none !important;
  }
}

/* Visibility
 ========================================================================== */
.uk-invisible {
  visibility: hidden !important;
}

/* Toggle (Hover + Focus)
 ========================================================================== */
/*
 * Hidden
 * 1. The toggle is triggered on touch devices using `:focus` and tabindex
 * 2. The target stays visible if any element within receives focus through keyboard
 *    Doesn't work in Edge, yet.
 * 3. Can't use `display: none` nor `visibility: hidden` because both are not focusable.
 *
 */
/* 1 + 2 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within) {
  /* 3 */
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/*
 * Invisible
 */
/* 1 + 2 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-invisible-hover:not(:focus-within) {
  /* 3 */
  opacity: 0 !important;
}

/*
 * 1. Prevent tab highlighting on iOS.
 */
.uk-visible-toggle {
  /* 1 */
  -webkit-tap-highlight-color: transparent;
}

/*
 * Remove outline for `tabindex`
 */
.uk-visible-toggle:focus {
  outline: none;
}

/* Touch
 ========================================================================== */
/*
 * Hide if primary pointing device has limited accuracy, e.g. a touch screen.
 * Works on mobile browsers: Safari, Chrome and Android browser
 */
@media (pointer: coarse) {
  .uk-hidden-touch {
    display: none !important;
  }
}

/*
 * Hide if primary pointing device is accurate, e.g. mouse.
 * 1. Fallback for IE11 and Firefox, because `pointer` is not supported
 * 2. Reset if supported
 */
/* 1 */
.uk-hidden-notouch {
  display: none !important;
}

@media (pointer: coarse) {
  .uk-hidden-notouch {
    display: block !important;
  }
}

/* ========================================================================
   Component: Inverse
 ========================================================================== */
/*
 * Implemented class depends on the general theme color
 * `uk-light` is for light colors on dark backgrounds
 * `uk-dark` is or dark colors on light backgrounds
 */
.uk-light, .uk-section-primary:not(.uk-preserve-color), .uk-section-secondary:not(.uk-preserve-color), .uk-tile-primary:not(.uk-preserve-color), .uk-tile-secondary:not(.uk-preserve-color), .uk-card-primary.uk-card-body, .uk-card-primary > :not([class*='uk-card-media']), .uk-card-secondary.uk-card-body, .uk-card-secondary > :not([class*='uk-card-media']), .uk-overlay-primary, .uk-offcanvas-bar {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light a, .uk-section-primary:not(.uk-preserve-color) a, .uk-section-secondary:not(.uk-preserve-color) a, .uk-tile-primary:not(.uk-preserve-color) a, .uk-tile-secondary:not(.uk-preserve-color) a, .uk-card-primary.uk-card-body a, .uk-card-primary > :not([class*='uk-card-media']) a, .uk-card-secondary.uk-card-body a, .uk-card-secondary > :not([class*='uk-card-media']) a, .uk-overlay-primary a, .uk-offcanvas-bar a,
.uk-light .uk-link,
.uk-section-primary:not(.uk-preserve-color) .uk-link,
.uk-section-secondary:not(.uk-preserve-color) .uk-link,
.uk-tile-primary:not(.uk-preserve-color) .uk-link,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link,
.uk-card-primary.uk-card-body .uk-link,
.uk-card-primary > :not([class*='uk-card-media']) .uk-link,
.uk-card-secondary.uk-card-body .uk-link,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-link,
.uk-overlay-primary .uk-link,
.uk-offcanvas-bar .uk-link {
  color: #fff;
}

.uk-light a:hover, .uk-section-primary:not(.uk-preserve-color) a:hover, .uk-section-secondary:not(.uk-preserve-color) a:hover, .uk-tile-primary:not(.uk-preserve-color) a:hover, .uk-tile-secondary:not(.uk-preserve-color) a:hover, .uk-card-primary.uk-card-body a:hover, .uk-card-primary > :not([class*='uk-card-media']) a:hover, .uk-card-secondary.uk-card-body a:hover, .uk-card-secondary > :not([class*='uk-card-media']) a:hover, .uk-overlay-primary a:hover, .uk-offcanvas-bar a:hover,
.uk-light .uk-link:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-link:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-link:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-link:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link:hover,
.uk-card-primary.uk-card-body .uk-link:hover,
.uk-card-primary > :not([class*='uk-card-media']) .uk-link:hover,
.uk-card-secondary.uk-card-body .uk-link:hover,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-link:hover,
.uk-overlay-primary .uk-link:hover,
.uk-offcanvas-bar .uk-link:hover {
  color: #fff;
}

.uk-light :not(pre) > code, .uk-section-primary:not(.uk-preserve-color) :not(pre) > code, .uk-section-secondary:not(.uk-preserve-color) :not(pre) > code, .uk-tile-primary:not(.uk-preserve-color) :not(pre) > code, .uk-tile-secondary:not(.uk-preserve-color) :not(pre) > code, .uk-card-primary.uk-card-body :not(pre) > code, .uk-card-primary > :not([class*='uk-card-media']) :not(pre) > code, .uk-card-secondary.uk-card-body :not(pre) > code, .uk-card-secondary > :not([class*='uk-card-media']) :not(pre) > code, .uk-overlay-primary :not(pre) > code, .uk-offcanvas-bar :not(pre) > code,
.uk-light :not(pre) > kbd,
.uk-section-primary:not(.uk-preserve-color) :not(pre) > kbd,
.uk-section-secondary:not(.uk-preserve-color) :not(pre) > kbd,
.uk-tile-primary:not(.uk-preserve-color) :not(pre) > kbd,
.uk-tile-secondary:not(.uk-preserve-color) :not(pre) > kbd,
.uk-card-primary.uk-card-body :not(pre) > kbd,
.uk-card-primary > :not([class*='uk-card-media']) :not(pre) > kbd,
.uk-card-secondary.uk-card-body :not(pre) > kbd,
.uk-card-secondary > :not([class*='uk-card-media']) :not(pre) > kbd,
.uk-overlay-primary :not(pre) > kbd,
.uk-offcanvas-bar :not(pre) > kbd,
.uk-light :not(pre) > samp,
.uk-section-primary:not(.uk-preserve-color) :not(pre) > samp,
.uk-section-secondary:not(.uk-preserve-color) :not(pre) > samp,
.uk-tile-primary:not(.uk-preserve-color) :not(pre) > samp,
.uk-tile-secondary:not(.uk-preserve-color) :not(pre) > samp,
.uk-card-primary.uk-card-body :not(pre) > samp,
.uk-card-primary > :not([class*='uk-card-media']) :not(pre) > samp,
.uk-card-secondary.uk-card-body :not(pre) > samp,
.uk-card-secondary > :not([class*='uk-card-media']) :not(pre) > samp,
.uk-overlay-primary :not(pre) > samp,
.uk-offcanvas-bar :not(pre) > samp {
  color: rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.1);
}

.uk-light em, .uk-section-primary:not(.uk-preserve-color) em, .uk-section-secondary:not(.uk-preserve-color) em, .uk-tile-primary:not(.uk-preserve-color) em, .uk-tile-secondary:not(.uk-preserve-color) em, .uk-card-primary.uk-card-body em, .uk-card-primary > :not([class*='uk-card-media']) em, .uk-card-secondary.uk-card-body em, .uk-card-secondary > :not([class*='uk-card-media']) em, .uk-overlay-primary em, .uk-offcanvas-bar em {
  color: #fff;
}

.uk-light h1, .uk-section-primary:not(.uk-preserve-color) h1, .uk-section-secondary:not(.uk-preserve-color) h1, .uk-tile-primary:not(.uk-preserve-color) h1, .uk-tile-secondary:not(.uk-preserve-color) h1, .uk-card-primary.uk-card-body h1, .uk-card-primary > :not([class*='uk-card-media']) h1, .uk-card-secondary.uk-card-body h1, .uk-card-secondary > :not([class*='uk-card-media']) h1, .uk-overlay-primary h1, .uk-offcanvas-bar h1, .uk-light .uk-h1, .uk-section-primary:not(.uk-preserve-color) .uk-h1, .uk-section-secondary:not(.uk-preserve-color) .uk-h1, .uk-tile-primary:not(.uk-preserve-color) .uk-h1, .uk-tile-secondary:not(.uk-preserve-color) .uk-h1, .uk-card-primary.uk-card-body .uk-h1, .uk-card-primary > :not([class*='uk-card-media']) .uk-h1, .uk-card-secondary.uk-card-body .uk-h1, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h1, .uk-overlay-primary .uk-h1, .uk-offcanvas-bar .uk-h1,
.uk-light h2,
.uk-section-primary:not(.uk-preserve-color) h2,
.uk-section-secondary:not(.uk-preserve-color) h2,
.uk-tile-primary:not(.uk-preserve-color) h2,
.uk-tile-secondary:not(.uk-preserve-color) h2,
.uk-card-primary.uk-card-body h2,
.uk-card-primary > :not([class*='uk-card-media']) h2,
.uk-card-secondary.uk-card-body h2,
.uk-card-secondary > :not([class*='uk-card-media']) h2,
.uk-overlay-primary h2,
.uk-offcanvas-bar h2, .uk-light .uk-h2, .uk-section-primary:not(.uk-preserve-color) .uk-h2, .uk-section-secondary:not(.uk-preserve-color) .uk-h2, .uk-tile-primary:not(.uk-preserve-color) .uk-h2, .uk-tile-secondary:not(.uk-preserve-color) .uk-h2, .uk-card-primary.uk-card-body .uk-h2, .uk-card-primary > :not([class*='uk-card-media']) .uk-h2, .uk-card-secondary.uk-card-body .uk-h2, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h2, .uk-overlay-primary .uk-h2, .uk-offcanvas-bar .uk-h2,
.uk-light h3,
.uk-section-primary:not(.uk-preserve-color) h3,
.uk-section-secondary:not(.uk-preserve-color) h3,
.uk-tile-primary:not(.uk-preserve-color) h3,
.uk-tile-secondary:not(.uk-preserve-color) h3,
.uk-card-primary.uk-card-body h3,
.uk-card-primary > :not([class*='uk-card-media']) h3,
.uk-card-secondary.uk-card-body h3,
.uk-card-secondary > :not([class*='uk-card-media']) h3,
.uk-overlay-primary h3,
.uk-offcanvas-bar h3, .uk-light .uk-h3, .uk-section-primary:not(.uk-preserve-color) .uk-h3, .uk-section-secondary:not(.uk-preserve-color) .uk-h3, .uk-tile-primary:not(.uk-preserve-color) .uk-h3, .uk-tile-secondary:not(.uk-preserve-color) .uk-h3, .uk-card-primary.uk-card-body .uk-h3, .uk-card-primary > :not([class*='uk-card-media']) .uk-h3, .uk-card-secondary.uk-card-body .uk-h3, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h3, .uk-overlay-primary .uk-h3, .uk-offcanvas-bar .uk-h3,
.uk-light h4,
.uk-section-primary:not(.uk-preserve-color) h4,
.uk-section-secondary:not(.uk-preserve-color) h4,
.uk-tile-primary:not(.uk-preserve-color) h4,
.uk-tile-secondary:not(.uk-preserve-color) h4,
.uk-card-primary.uk-card-body h4,
.uk-card-primary > :not([class*='uk-card-media']) h4,
.uk-card-secondary.uk-card-body h4,
.uk-card-secondary > :not([class*='uk-card-media']) h4,
.uk-overlay-primary h4,
.uk-offcanvas-bar h4, .uk-light .uk-h4, .uk-section-primary:not(.uk-preserve-color) .uk-h4, .uk-section-secondary:not(.uk-preserve-color) .uk-h4, .uk-tile-primary:not(.uk-preserve-color) .uk-h4, .uk-tile-secondary:not(.uk-preserve-color) .uk-h4, .uk-card-primary.uk-card-body .uk-h4, .uk-card-primary > :not([class*='uk-card-media']) .uk-h4, .uk-card-secondary.uk-card-body .uk-h4, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h4, .uk-overlay-primary .uk-h4, .uk-offcanvas-bar .uk-h4,
.uk-light h5,
.uk-section-primary:not(.uk-preserve-color) h5,
.uk-section-secondary:not(.uk-preserve-color) h5,
.uk-tile-primary:not(.uk-preserve-color) h5,
.uk-tile-secondary:not(.uk-preserve-color) h5,
.uk-card-primary.uk-card-body h5,
.uk-card-primary > :not([class*='uk-card-media']) h5,
.uk-card-secondary.uk-card-body h5,
.uk-card-secondary > :not([class*='uk-card-media']) h5,
.uk-overlay-primary h5,
.uk-offcanvas-bar h5, .uk-light .uk-h5, .uk-section-primary:not(.uk-preserve-color) .uk-h5, .uk-section-secondary:not(.uk-preserve-color) .uk-h5, .uk-tile-primary:not(.uk-preserve-color) .uk-h5, .uk-tile-secondary:not(.uk-preserve-color) .uk-h5, .uk-card-primary.uk-card-body .uk-h5, .uk-card-primary > :not([class*='uk-card-media']) .uk-h5, .uk-card-secondary.uk-card-body .uk-h5, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h5, .uk-overlay-primary .uk-h5, .uk-offcanvas-bar .uk-h5,
.uk-light h6,
.uk-section-primary:not(.uk-preserve-color) h6,
.uk-section-secondary:not(.uk-preserve-color) h6,
.uk-tile-primary:not(.uk-preserve-color) h6,
.uk-tile-secondary:not(.uk-preserve-color) h6,
.uk-card-primary.uk-card-body h6,
.uk-card-primary > :not([class*='uk-card-media']) h6,
.uk-card-secondary.uk-card-body h6,
.uk-card-secondary > :not([class*='uk-card-media']) h6,
.uk-overlay-primary h6,
.uk-offcanvas-bar h6, .uk-light .uk-h6, .uk-section-primary:not(.uk-preserve-color) .uk-h6, .uk-section-secondary:not(.uk-preserve-color) .uk-h6, .uk-tile-primary:not(.uk-preserve-color) .uk-h6, .uk-tile-secondary:not(.uk-preserve-color) .uk-h6, .uk-card-primary.uk-card-body .uk-h6, .uk-card-primary > :not([class*='uk-card-media']) .uk-h6, .uk-card-secondary.uk-card-body .uk-h6, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h6, .uk-overlay-primary .uk-h6, .uk-offcanvas-bar .uk-h6,
.uk-light .uk-heading-small,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-small,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-small,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-small,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-small,
.uk-card-primary.uk-card-body .uk-heading-small,
.uk-card-primary > :not([class*='uk-card-media']) .uk-heading-small,
.uk-card-secondary.uk-card-body .uk-heading-small,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-small,
.uk-overlay-primary .uk-heading-small,
.uk-offcanvas-bar .uk-heading-small,
.uk-light .uk-heading-medium,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-medium,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-medium,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-medium,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-medium,
.uk-card-primary.uk-card-body .uk-heading-medium,
.uk-card-primary > :not([class*='uk-card-media']) .uk-heading-medium,
.uk-card-secondary.uk-card-body .uk-heading-medium,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-medium,
.uk-overlay-primary .uk-heading-medium,
.uk-offcanvas-bar .uk-heading-medium,
.uk-light .uk-heading-large,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-large,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-large,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-large,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-large,
.uk-card-primary.uk-card-body .uk-heading-large,
.uk-card-primary > :not([class*='uk-card-media']) .uk-heading-large,
.uk-card-secondary.uk-card-body .uk-heading-large,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-large,
.uk-overlay-primary .uk-heading-large,
.uk-offcanvas-bar .uk-heading-large,
.uk-light .uk-heading-xlarge,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-xlarge,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-xlarge,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-xlarge,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-xlarge,
.uk-card-primary.uk-card-body .uk-heading-xlarge,
.uk-card-primary > :not([class*='uk-card-media']) .uk-heading-xlarge,
.uk-card-secondary.uk-card-body .uk-heading-xlarge,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-xlarge,
.uk-overlay-primary .uk-heading-xlarge,
.uk-offcanvas-bar .uk-heading-xlarge,
.uk-light .uk-heading-2xlarge,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-2xlarge,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-2xlarge,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-2xlarge,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-2xlarge,
.uk-card-primary.uk-card-body .uk-heading-2xlarge,
.uk-card-primary > :not([class*='uk-card-media']) .uk-heading-2xlarge,
.uk-card-secondary.uk-card-body .uk-heading-2xlarge,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-2xlarge,
.uk-overlay-primary .uk-heading-2xlarge,
.uk-offcanvas-bar .uk-heading-2xlarge {
  color: #fff;
}

.uk-light blockquote, .uk-section-primary:not(.uk-preserve-color) blockquote, .uk-section-secondary:not(.uk-preserve-color) blockquote, .uk-tile-primary:not(.uk-preserve-color) blockquote, .uk-tile-secondary:not(.uk-preserve-color) blockquote, .uk-card-primary.uk-card-body blockquote, .uk-card-primary > :not([class*='uk-card-media']) blockquote, .uk-card-secondary.uk-card-body blockquote, .uk-card-secondary > :not([class*='uk-card-media']) blockquote, .uk-overlay-primary blockquote, .uk-offcanvas-bar blockquote {
  color: #fff;
}

.uk-light blockquote footer, .uk-section-primary:not(.uk-preserve-color) blockquote footer, .uk-section-secondary:not(.uk-preserve-color) blockquote footer, .uk-tile-primary:not(.uk-preserve-color) blockquote footer, .uk-tile-secondary:not(.uk-preserve-color) blockquote footer, .uk-card-primary.uk-card-body blockquote footer, .uk-card-primary > :not([class*='uk-card-media']) blockquote footer, .uk-card-secondary.uk-card-body blockquote footer, .uk-card-secondary > :not([class*='uk-card-media']) blockquote footer, .uk-overlay-primary blockquote footer, .uk-offcanvas-bar blockquote footer {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light hr, .uk-section-primary:not(.uk-preserve-color) hr, .uk-section-secondary:not(.uk-preserve-color) hr, .uk-tile-primary:not(.uk-preserve-color) hr, .uk-tile-secondary:not(.uk-preserve-color) hr, .uk-card-primary.uk-card-body hr, .uk-card-primary > :not([class*='uk-card-media']) hr, .uk-card-secondary.uk-card-body hr, .uk-card-secondary > :not([class*='uk-card-media']) hr, .uk-overlay-primary hr, .uk-offcanvas-bar hr, .uk-light .uk-hr, .uk-section-primary:not(.uk-preserve-color) .uk-hr, .uk-section-secondary:not(.uk-preserve-color) .uk-hr, .uk-tile-primary:not(.uk-preserve-color) .uk-hr, .uk-tile-secondary:not(.uk-preserve-color) .uk-hr, .uk-card-primary.uk-card-body .uk-hr, .uk-card-primary > :not([class*='uk-card-media']) .uk-hr, .uk-card-secondary.uk-card-body .uk-hr, .uk-card-secondary > :not([class*='uk-card-media']) .uk-hr, .uk-overlay-primary .uk-hr, .uk-offcanvas-bar .uk-hr {
  border-top-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-link-muted, .uk-section-primary:not(.uk-preserve-color) .uk-link-muted, .uk-section-secondary:not(.uk-preserve-color) .uk-link-muted, .uk-tile-primary:not(.uk-preserve-color) .uk-link-muted, .uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted, .uk-card-primary.uk-card-body .uk-link-muted, .uk-card-primary > :not([class*='uk-card-media']) .uk-link-muted, .uk-card-secondary.uk-card-body .uk-link-muted, .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-muted, .uk-overlay-primary .uk-link-muted, .uk-offcanvas-bar .uk-link-muted,
.uk-light .uk-link-muted a,
.uk-section-primary:not(.uk-preserve-color) .uk-link-muted a,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a,
.uk-card-primary.uk-card-body .uk-link-muted a,
.uk-card-primary > :not([class*='uk-card-media']) .uk-link-muted a,
.uk-card-secondary.uk-card-body .uk-link-muted a,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-link-muted a,
.uk-overlay-primary .uk-link-muted a,
.uk-offcanvas-bar .uk-link-muted a {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-link-muted:hover, .uk-section-primary:not(.uk-preserve-color) .uk-link-muted:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-link-muted:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-link-muted:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted:hover, .uk-card-primary.uk-card-body .uk-link-muted:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-link-muted:hover, .uk-card-secondary.uk-card-body .uk-link-muted:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-muted:hover, .uk-overlay-primary .uk-link-muted:hover, .uk-offcanvas-bar .uk-link-muted:hover,
.uk-light .uk-link-muted a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-link-muted a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,
.uk-card-primary.uk-card-body .uk-link-muted a:hover,
.uk-card-primary > :not([class*='uk-card-media']) .uk-link-muted a:hover,
.uk-card-secondary.uk-card-body .uk-link-muted a:hover,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-link-muted a:hover,
.uk-overlay-primary .uk-link-muted a:hover,
.uk-offcanvas-bar .uk-link-muted a:hover {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-link-text:hover, .uk-section-primary:not(.uk-preserve-color) .uk-link-text:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-link-text:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-link-text:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-link-text:hover, .uk-card-primary.uk-card-body .uk-link-text:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-link-text:hover, .uk-card-secondary.uk-card-body .uk-link-text:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-text:hover, .uk-overlay-primary .uk-link-text:hover, .uk-offcanvas-bar .uk-link-text:hover,
.uk-light .uk-link-text a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-link-text a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-text a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-text a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-text a:hover,
.uk-card-primary.uk-card-body .uk-link-text a:hover,
.uk-card-primary > :not([class*='uk-card-media']) .uk-link-text a:hover,
.uk-card-secondary.uk-card-body .uk-link-text a:hover,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-link-text a:hover,
.uk-overlay-primary .uk-link-text a:hover,
.uk-offcanvas-bar .uk-link-text a:hover {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-link-heading:hover, .uk-section-primary:not(.uk-preserve-color) .uk-link-heading:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-link-heading:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-link-heading:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-link-heading:hover, .uk-card-primary.uk-card-body .uk-link-heading:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-link-heading:hover, .uk-card-secondary.uk-card-body .uk-link-heading:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-heading:hover, .uk-overlay-primary .uk-link-heading:hover, .uk-offcanvas-bar .uk-link-heading:hover,
.uk-light .uk-link-heading a:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-link-heading a:hover,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-heading a:hover,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,
.uk-card-primary.uk-card-body .uk-link-heading a:hover,
.uk-card-primary > :not([class*='uk-card-media']) .uk-link-heading a:hover,
.uk-card-secondary.uk-card-body .uk-link-heading a:hover,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-link-heading a:hover,
.uk-overlay-primary .uk-link-heading a:hover,
.uk-offcanvas-bar .uk-link-heading a:hover {
  color: #fff;
}

.uk-light .uk-heading-divider, .uk-section-primary:not(.uk-preserve-color) .uk-heading-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-divider, .uk-card-primary.uk-card-body .uk-heading-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-divider, .uk-card-secondary.uk-card-body .uk-heading-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-divider, .uk-overlay-primary .uk-heading-divider, .uk-offcanvas-bar .uk-heading-divider {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-heading-bullet::before, .uk-section-primary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-card-primary.uk-card-body .uk-heading-bullet::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-bullet::before, .uk-card-secondary.uk-card-body .uk-heading-bullet::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-bullet::before, .uk-overlay-primary .uk-heading-bullet::before, .uk-offcanvas-bar .uk-heading-bullet::before {
  border-left-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-heading-line > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-card-primary.uk-card-body .uk-heading-line > ::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-line > ::before, .uk-card-secondary.uk-card-body .uk-heading-line > ::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-line > ::before, .uk-overlay-primary .uk-heading-line > ::before, .uk-offcanvas-bar .uk-heading-line > ::before,
.uk-light .uk-heading-line > ::after,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-line > ::after,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-line > ::after,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-line > ::after,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line > ::after,
.uk-card-primary.uk-card-body .uk-heading-line > ::after,
.uk-card-primary > :not([class*='uk-card-media']) .uk-heading-line > ::after,
.uk-card-secondary.uk-card-body .uk-heading-line > ::after,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-line > ::after,
.uk-overlay-primary .uk-heading-line > ::after,
.uk-offcanvas-bar .uk-heading-line > ::after {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-divider-icon, .uk-section-primary:not(.uk-preserve-color) .uk-divider-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon, .uk-card-primary.uk-card-body .uk-divider-icon, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-icon, .uk-card-secondary.uk-card-body .uk-divider-icon, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-icon, .uk-overlay-primary .uk-divider-icon, .uk-offcanvas-bar .uk-divider-icon {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.2)%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.uk-light .uk-divider-icon::before, .uk-section-primary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-card-primary.uk-card-body .uk-divider-icon::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-icon::before, .uk-card-secondary.uk-card-body .uk-divider-icon::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-icon::before, .uk-overlay-primary .uk-divider-icon::before, .uk-offcanvas-bar .uk-divider-icon::before,
.uk-light .uk-divider-icon::after,
.uk-section-primary:not(.uk-preserve-color) .uk-divider-icon::after,
.uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon::after,
.uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon::after,
.uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon::after,
.uk-card-primary.uk-card-body .uk-divider-icon::after,
.uk-card-primary > :not([class*='uk-card-media']) .uk-divider-icon::after,
.uk-card-secondary.uk-card-body .uk-divider-icon::after,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-icon::after,
.uk-overlay-primary .uk-divider-icon::after,
.uk-offcanvas-bar .uk-divider-icon::after {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-divider-small::after, .uk-section-primary:not(.uk-preserve-color) .uk-divider-small::after, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-small::after, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-small::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-small::after, .uk-card-primary.uk-card-body .uk-divider-small::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-small::after, .uk-card-secondary.uk-card-body .uk-divider-small::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-small::after, .uk-overlay-primary .uk-divider-small::after, .uk-offcanvas-bar .uk-divider-small::after {
  border-top-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-divider-vertical, .uk-section-primary:not(.uk-preserve-color) .uk-divider-vertical, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-vertical, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-vertical, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-vertical, .uk-card-primary.uk-card-body .uk-divider-vertical, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-vertical, .uk-card-secondary.uk-card-body .uk-divider-vertical, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-vertical, .uk-overlay-primary .uk-divider-vertical, .uk-offcanvas-bar .uk-divider-vertical {
  border-left-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-list-divider > li:nth-child(n+2), .uk-section-primary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-section-secondary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-tile-primary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-card-primary.uk-card-body .uk-list-divider > li:nth-child(n+2), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-divider > li:nth-child(n+2), .uk-card-secondary.uk-card-body .uk-list-divider > li:nth-child(n+2), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-divider > li:nth-child(n+2), .uk-overlay-primary .uk-list-divider > li:nth-child(n+2), .uk-offcanvas-bar .uk-list-divider > li:nth-child(n+2) {
  border-top-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-list-striped > li:nth-of-type(odd), .uk-section-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-card-primary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd), .uk-overlay-primary .uk-list-striped > li:nth-of-type(odd), .uk-offcanvas-bar .uk-list-striped > li:nth-of-type(odd) {
  border-top-color: rgba(255, 255, 255, 0.2);
  border-bottom-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-list-striped > li:nth-of-type(odd), .uk-section-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-card-primary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd), .uk-overlay-primary .uk-list-striped > li:nth-of-type(odd), .uk-offcanvas-bar .uk-list-striped > li:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.1);
}

.uk-light .uk-list-bullet > li::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-card-primary.uk-card-body .uk-list-bullet > li::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-list-bullet > li::before, .uk-card-secondary.uk-card-body .uk-list-bullet > li::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-bullet > li::before, .uk-overlay-primary .uk-list-bullet > li::before, .uk-offcanvas-bar .uk-list-bullet > li::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

.uk-light .uk-icon-link, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link, .uk-card-primary.uk-card-body .uk-icon-link, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link, .uk-card-secondary.uk-card-body .uk-icon-link, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link, .uk-overlay-primary .uk-icon-link, .uk-offcanvas-bar .uk-icon-link {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-icon-link:hover, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-card-primary.uk-card-body .uk-icon-link:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link:hover, .uk-card-secondary.uk-card-body .uk-icon-link:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link:hover, .uk-overlay-primary .uk-icon-link:hover, .uk-offcanvas-bar .uk-icon-link:hover,
.uk-light .uk-icon-link:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-icon-link:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:focus,
.uk-card-primary.uk-card-body .uk-icon-link:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link:focus,
.uk-card-secondary.uk-card-body .uk-icon-link:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link:focus,
.uk-overlay-primary .uk-icon-link:focus,
.uk-offcanvas-bar .uk-icon-link:focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-icon-link:active, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link:active, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:active, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:active, .uk-card-primary.uk-card-body .uk-icon-link:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link:active, .uk-card-secondary.uk-card-body .uk-icon-link:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link:active, .uk-overlay-primary .uk-icon-link:active, .uk-offcanvas-bar .uk-icon-link:active,
.uk-light .uk-active > .uk-icon-link,
.uk-section-primary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
.uk-section-secondary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
.uk-tile-primary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
.uk-tile-secondary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
.uk-card-primary.uk-card-body .uk-active > .uk-icon-link,
.uk-card-primary > :not([class*='uk-card-media']) .uk-active > .uk-icon-link,
.uk-card-secondary.uk-card-body .uk-active > .uk-icon-link,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-active > .uk-icon-link,
.uk-overlay-primary .uk-active > .uk-icon-link,
.uk-offcanvas-bar .uk-active > .uk-icon-link {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-icon-button, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button, .uk-card-primary.uk-card-body .uk-icon-button, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button, .uk-card-secondary.uk-card-body .uk-icon-button, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button, .uk-overlay-primary .uk-icon-button, .uk-offcanvas-bar .uk-icon-button {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-icon-button:hover, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-card-primary.uk-card-body .uk-icon-button:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button:hover, .uk-card-secondary.uk-card-body .uk-icon-button:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button:hover, .uk-overlay-primary .uk-icon-button:hover, .uk-offcanvas-bar .uk-icon-button:hover,
.uk-light .uk-icon-button:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-icon-button:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:focus,
.uk-card-primary.uk-card-body .uk-icon-button:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button:focus,
.uk-card-secondary.uk-card-body .uk-icon-button:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button:focus,
.uk-overlay-primary .uk-icon-button:focus,
.uk-offcanvas-bar .uk-icon-button:focus {
  background-color: rgba(242, 242, 242, 0.1);
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-icon-button:active, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button:active, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:active, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:active, .uk-card-primary.uk-card-body .uk-icon-button:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button:active, .uk-card-secondary.uk-card-body .uk-icon-button:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button:active, .uk-overlay-primary .uk-icon-button:active, .uk-offcanvas-bar .uk-icon-button:active {
  background-color: rgba(230, 230, 230, 0.1);
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-input, .uk-section-primary:not(.uk-preserve-color) .uk-input, .uk-section-secondary:not(.uk-preserve-color) .uk-input, .uk-tile-primary:not(.uk-preserve-color) .uk-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-input, .uk-card-primary.uk-card-body .uk-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-input, .uk-card-secondary.uk-card-body .uk-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input, .uk-overlay-primary .uk-input, .uk-offcanvas-bar .uk-input,
.uk-light .uk-select,
.uk-section-primary:not(.uk-preserve-color) .uk-select,
.uk-section-secondary:not(.uk-preserve-color) .uk-select,
.uk-tile-primary:not(.uk-preserve-color) .uk-select,
.uk-tile-secondary:not(.uk-preserve-color) .uk-select,
.uk-card-primary.uk-card-body .uk-select,
.uk-card-primary > :not([class*='uk-card-media']) .uk-select,
.uk-card-secondary.uk-card-body .uk-select,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-select,
.uk-overlay-primary .uk-select,
.uk-offcanvas-bar .uk-select,
.uk-light .uk-textarea,
.uk-section-primary:not(.uk-preserve-color) .uk-textarea,
.uk-section-secondary:not(.uk-preserve-color) .uk-textarea,
.uk-tile-primary:not(.uk-preserve-color) .uk-textarea,
.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea,
.uk-card-primary.uk-card-body .uk-textarea,
.uk-card-primary > :not([class*='uk-card-media']) .uk-textarea,
.uk-card-secondary.uk-card-body .uk-textarea,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea,
.uk-overlay-primary .uk-textarea,
.uk-offcanvas-bar .uk-textarea {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
  background-clip: padding-box;
  border-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-input:focus, .uk-card-primary.uk-card-body .uk-input:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-input:focus, .uk-card-secondary.uk-card-body .uk-input:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input:focus, .uk-overlay-primary .uk-input:focus, .uk-offcanvas-bar .uk-input:focus,
.uk-light .uk-select:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-select:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-select:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-select:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-select:focus,
.uk-card-primary.uk-card-body .uk-select:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-select:focus,
.uk-card-secondary.uk-card-body .uk-select:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-select:focus,
.uk-overlay-primary .uk-select:focus,
.uk-offcanvas-bar .uk-select:focus,
.uk-light .uk-textarea:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-textarea:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-textarea:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-textarea:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-textarea:focus,
.uk-card-primary.uk-card-body .uk-textarea:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-textarea:focus,
.uk-card-secondary.uk-card-body .uk-textarea:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea:focus,
.uk-overlay-primary .uk-textarea:focus,
.uk-offcanvas-bar .uk-textarea:focus {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-input::-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-input::-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input::-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-input::-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input::-ms-input-placeholder, .uk-overlay-primary .uk-input::-ms-input-placeholder, .uk-offcanvas-bar .uk-input::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.uk-light .uk-input::-webkit-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::-webkit-input-placeholder, .uk-card-primary.uk-card-body .uk-input::-webkit-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input::-webkit-input-placeholder, .uk-card-secondary.uk-card-body .uk-input::-webkit-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input::-webkit-input-placeholder, .uk-overlay-primary .uk-input::-webkit-input-placeholder, .uk-offcanvas-bar .uk-input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-input::-moz-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::-moz-placeholder, .uk-card-primary.uk-card-body .uk-input::-moz-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input::-moz-placeholder, .uk-card-secondary.uk-card-body .uk-input::-moz-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input::-moz-placeholder, .uk-overlay-primary .uk-input::-moz-placeholder, .uk-offcanvas-bar .uk-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-input::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::placeholder, .uk-card-primary.uk-card-body .uk-input::placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input::placeholder, .uk-card-secondary.uk-card-body .uk-input::placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input::placeholder, .uk-overlay-primary .uk-input::placeholder, .uk-offcanvas-bar .uk-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-textarea::-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-textarea::-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-textarea::-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::-ms-input-placeholder, .uk-overlay-primary .uk-textarea::-ms-input-placeholder, .uk-offcanvas-bar .uk-textarea::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.uk-light .uk-textarea::-webkit-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-webkit-input-placeholder, .uk-card-primary.uk-card-body .uk-textarea::-webkit-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::-webkit-input-placeholder, .uk-card-secondary.uk-card-body .uk-textarea::-webkit-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::-webkit-input-placeholder, .uk-overlay-primary .uk-textarea::-webkit-input-placeholder, .uk-offcanvas-bar .uk-textarea::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-textarea::-moz-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-moz-placeholder, .uk-card-primary.uk-card-body .uk-textarea::-moz-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::-moz-placeholder, .uk-card-secondary.uk-card-body .uk-textarea::-moz-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::-moz-placeholder, .uk-overlay-primary .uk-textarea::-moz-placeholder, .uk-offcanvas-bar .uk-textarea::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-textarea::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-card-primary.uk-card-body .uk-textarea::placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::placeholder, .uk-card-secondary.uk-card-body .uk-textarea::placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::placeholder, .uk-overlay-primary .uk-textarea::placeholder, .uk-offcanvas-bar .uk-textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-select:not([multiple]):not([size]), .uk-section-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-section-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-tile-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-tile-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-card-primary.uk-card-body .uk-select:not([multiple]):not([size]), .uk-card-primary > :not([class*='uk-card-media']) .uk-select:not([multiple]):not([size]), .uk-card-secondary.uk-card-body .uk-select:not([multiple]):not([size]), .uk-card-secondary > :not([class*='uk-card-media']) .uk-select:not([multiple]):not([size]), .uk-overlay-primary .uk-select:not([multiple]):not([size]), .uk-offcanvas-bar .uk-select:not([multiple]):not([size]) {
  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%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.uk-light .uk-input[list]:hover, .uk-section-primary:not(.uk-preserve-color) .uk-input[list]:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-input[list]:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-input[list]:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-input[list]:hover, .uk-card-primary.uk-card-body .uk-input[list]:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-input[list]:hover, .uk-card-secondary.uk-card-body .uk-input[list]:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input[list]:hover, .uk-overlay-primary .uk-input[list]:hover, .uk-offcanvas-bar .uk-input[list]:hover,
.uk-light .uk-input[list]:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-input[list]:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-input[list]:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-input[list]:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-input[list]:focus,
.uk-card-primary.uk-card-body .uk-input[list]:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-input[list]:focus,
.uk-card-secondary.uk-card-body .uk-input[list]:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-input[list]:focus,
.uk-overlay-primary .uk-input[list]:focus,
.uk-offcanvas-bar .uk-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%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%2012%208%206%2016%206%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}

.uk-light .uk-radio, .uk-section-primary:not(.uk-preserve-color) .uk-radio, .uk-section-secondary:not(.uk-preserve-color) .uk-radio, .uk-tile-primary:not(.uk-preserve-color) .uk-radio, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio, .uk-card-primary.uk-card-body .uk-radio, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio, .uk-card-secondary.uk-card-body .uk-radio, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio, .uk-overlay-primary .uk-radio, .uk-offcanvas-bar .uk-radio,
.uk-light .uk-checkbox,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox,
.uk-card-primary.uk-card-body .uk-checkbox,
.uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox,
.uk-card-secondary.uk-card-body .uk-checkbox,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox,
.uk-overlay-primary .uk-checkbox,
.uk-offcanvas-bar .uk-checkbox {
  background-color: rgba(242, 242, 242, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-radio:focus, .uk-section-primary:not(.uk-preserve-color) .uk-radio:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:focus, .uk-card-primary.uk-card-body .uk-radio:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:focus, .uk-card-secondary.uk-card-body .uk-radio:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:focus, .uk-overlay-primary .uk-radio:focus, .uk-offcanvas-bar .uk-radio:focus,
.uk-light .uk-checkbox:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:focus,
.uk-card-primary.uk-card-body .uk-checkbox:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:focus,
.uk-card-secondary.uk-card-body .uk-checkbox:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:focus,
.uk-overlay-primary .uk-checkbox:focus,
.uk-offcanvas-bar .uk-checkbox:focus {
  border-color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-radio:checked, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-card-primary.uk-card-body .uk-radio:checked, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-card-secondary.uk-card-body .uk-radio:checked, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-overlay-primary .uk-radio:checked, .uk-offcanvas-bar .uk-radio:checked,
.uk-light .uk-checkbox:checked,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-card-primary.uk-card-body .uk-checkbox:checked,
.uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:checked,
.uk-card-secondary.uk-card-body .uk-checkbox:checked,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:checked,
.uk-overlay-primary .uk-checkbox:checked,
.uk-offcanvas-bar .uk-checkbox:checked,
.uk-light .uk-checkbox:indeterminate,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-card-primary.uk-card-body .uk-checkbox:indeterminate,
.uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
.uk-card-secondary.uk-card-body .uk-checkbox:indeterminate,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
.uk-overlay-primary .uk-checkbox:indeterminate,
.uk-offcanvas-bar .uk-checkbox:indeterminate {
  background-color: #fff;
  border-color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-radio:checked:focus, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-card-primary.uk-card-body .uk-radio:checked:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked:focus, .uk-card-secondary.uk-card-body .uk-radio:checked:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked:focus, .uk-overlay-primary .uk-radio:checked:focus, .uk-offcanvas-bar .uk-radio:checked:focus,
.uk-light .uk-checkbox:checked:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
.uk-card-primary.uk-card-body .uk-checkbox:checked:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:checked:focus,
.uk-card-secondary.uk-card-body .uk-checkbox:checked:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:checked:focus,
.uk-overlay-primary .uk-checkbox:checked:focus,
.uk-offcanvas-bar .uk-checkbox:checked:focus,
.uk-light .uk-checkbox:indeterminate:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
.uk-card-primary.uk-card-body .uk-checkbox:indeterminate:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate:focus,
.uk-card-secondary.uk-card-body .uk-checkbox:indeterminate:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate:focus,
.uk-overlay-primary .uk-checkbox:indeterminate:focus,
.uk-offcanvas-bar .uk-checkbox:indeterminate:focus {
  background-color: #e6e6e6;
}

.uk-light .uk-radio:checked, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-card-primary.uk-card-body .uk-radio:checked, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-card-secondary.uk-card-body .uk-radio:checked, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-overlay-primary .uk-radio:checked, .uk-offcanvas-bar .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%23666%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E");
}


.uk-light .uk-checkbox:checked,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
.uk-card-primary.uk-card-body .uk-checkbox:checked,
.uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:checked,
.uk-card-secondary.uk-card-body .uk-checkbox:checked,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:checked,
.uk-overlay-primary .uk-checkbox:checked,
.uk-offcanvas-bar .uk-checkbox:checked {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%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%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
}


.uk-light .uk-checkbox:indeterminate,
.uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
.uk-card-primary.uk-card-body .uk-checkbox:indeterminate,
.uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
.uk-card-secondary.uk-card-body .uk-checkbox:indeterminate,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
.uk-overlay-primary .uk-checkbox:indeterminate,
.uk-offcanvas-bar .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%23666%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-light .uk-form-label, .uk-section-primary:not(.uk-preserve-color) .uk-form-label, .uk-section-secondary:not(.uk-preserve-color) .uk-form-label, .uk-tile-primary:not(.uk-preserve-color) .uk-form-label, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-label, .uk-card-primary.uk-card-body .uk-form-label, .uk-card-primary > :not([class*='uk-card-media']) .uk-form-label, .uk-card-secondary.uk-card-body .uk-form-label, .uk-card-secondary > :not([class*='uk-card-media']) .uk-form-label, .uk-overlay-primary .uk-form-label, .uk-offcanvas-bar .uk-form-label {
  color: #fff;
}

.uk-light .uk-form-icon, .uk-section-primary:not(.uk-preserve-color) .uk-form-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-form-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-form-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon, .uk-card-primary.uk-card-body .uk-form-icon, .uk-card-primary > :not([class*='uk-card-media']) .uk-form-icon, .uk-card-secondary.uk-card-body .uk-form-icon, .uk-card-secondary > :not([class*='uk-card-media']) .uk-form-icon, .uk-overlay-primary .uk-form-icon, .uk-offcanvas-bar .uk-form-icon {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-form-icon:hover, .uk-section-primary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-card-primary.uk-card-body .uk-form-icon:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-form-icon:hover, .uk-card-secondary.uk-card-body .uk-form-icon:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-form-icon:hover, .uk-overlay-primary .uk-form-icon:hover, .uk-offcanvas-bar .uk-form-icon:hover {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-button-default, .uk-section-primary:not(.uk-preserve-color) .uk-button-default, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default, .uk-card-primary.uk-card-body .uk-button-default, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default, .uk-card-secondary.uk-card-body .uk-button-default, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default, .uk-overlay-primary .uk-button-default, .uk-offcanvas-bar .uk-button-default {
  background-color: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-button-default:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-default:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:hover, .uk-card-primary.uk-card-body .uk-button-default:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default:hover, .uk-card-secondary.uk-card-body .uk-button-default:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default:hover, .uk-overlay-primary .uk-button-default:hover, .uk-offcanvas-bar .uk-button-default:hover,
.uk-light .uk-button-default:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-default:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-default:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-default:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:focus,
.uk-card-primary.uk-card-body .uk-button-default:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-button-default:focus,
.uk-card-secondary.uk-card-body .uk-button-default:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default:focus,
.uk-overlay-primary .uk-button-default:focus,
.uk-offcanvas-bar .uk-button-default:focus {
  background-color: transparent;
  color: #fff;
  border-color: #fff;
}

.uk-light .uk-button-default:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-default:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:active, .uk-card-primary.uk-card-body .uk-button-default:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default:active, .uk-card-secondary.uk-card-body .uk-button-default:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default:active, .uk-overlay-primary .uk-button-default:active, .uk-offcanvas-bar .uk-button-default:active,
.uk-light .uk-button-default.uk-active,
.uk-section-primary:not(.uk-preserve-color) .uk-button-default.uk-active,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-default.uk-active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,
.uk-card-primary.uk-card-body .uk-button-default.uk-active,
.uk-card-primary > :not([class*='uk-card-media']) .uk-button-default.uk-active,
.uk-card-secondary.uk-card-body .uk-button-default.uk-active,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default.uk-active,
.uk-overlay-primary .uk-button-default.uk-active,
.uk-offcanvas-bar .uk-button-default.uk-active {
  background-color: transparent;
  color: #fff;
  border-color: #fff;
}

.uk-light .uk-button-primary, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary, .uk-card-primary.uk-card-body .uk-button-primary, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary, .uk-card-secondary.uk-card-body .uk-button-primary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary, .uk-overlay-primary .uk-button-primary, .uk-offcanvas-bar .uk-button-primary {
  background-color: #fff;
  color: #666;
}

.uk-light .uk-button-primary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-card-primary.uk-card-body .uk-button-primary:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:hover, .uk-card-secondary.uk-card-body .uk-button-primary:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:hover, .uk-overlay-primary .uk-button-primary:hover, .uk-offcanvas-bar .uk-button-primary:hover,
.uk-light .uk-button-primary:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-primary:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:focus,
.uk-card-primary.uk-card-body .uk-button-primary:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:focus,
.uk-card-secondary.uk-card-body .uk-button-primary:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:focus,
.uk-overlay-primary .uk-button-primary:focus,
.uk-offcanvas-bar .uk-button-primary:focus {
  background-color: #f2f2f2;
  color: #666;
}

.uk-light .uk-button-primary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-card-primary.uk-card-body .uk-button-primary:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:active, .uk-card-secondary.uk-card-body .uk-button-primary:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:active, .uk-overlay-primary .uk-button-primary:active, .uk-offcanvas-bar .uk-button-primary:active,
.uk-light .uk-button-primary.uk-active,
.uk-section-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,
.uk-card-primary.uk-card-body .uk-button-primary.uk-active,
.uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary.uk-active,
.uk-card-secondary.uk-card-body .uk-button-primary.uk-active,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary.uk-active,
.uk-overlay-primary .uk-button-primary.uk-active,
.uk-offcanvas-bar .uk-button-primary.uk-active {
  background-color: #e6e6e6;
  color: #666;
}

.uk-light .uk-button-secondary, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-card-primary.uk-card-body .uk-button-secondary, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary, .uk-card-secondary.uk-card-body .uk-button-secondary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary, .uk-overlay-primary .uk-button-secondary, .uk-offcanvas-bar .uk-button-secondary {
  background-color: #fff;
  color: #666;
}

.uk-light .uk-button-secondary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-card-primary.uk-card-body .uk-button-secondary:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:hover, .uk-card-secondary.uk-card-body .uk-button-secondary:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:hover, .uk-overlay-primary .uk-button-secondary:hover, .uk-offcanvas-bar .uk-button-secondary:hover,
.uk-light .uk-button-secondary:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:focus,
.uk-card-primary.uk-card-body .uk-button-secondary:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:focus,
.uk-card-secondary.uk-card-body .uk-button-secondary:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:focus,
.uk-overlay-primary .uk-button-secondary:focus,
.uk-offcanvas-bar .uk-button-secondary:focus {
  background-color: #f2f2f2;
  color: #666;
}

.uk-light .uk-button-secondary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-card-primary.uk-card-body .uk-button-secondary:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:active, .uk-card-secondary.uk-card-body .uk-button-secondary:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:active, .uk-overlay-primary .uk-button-secondary:active, .uk-offcanvas-bar .uk-button-secondary:active,
.uk-light .uk-button-secondary.uk-active,
.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
.uk-card-primary.uk-card-body .uk-button-secondary.uk-active,
.uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary.uk-active,
.uk-card-secondary.uk-card-body .uk-button-secondary.uk-active,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary.uk-active,
.uk-overlay-primary .uk-button-secondary.uk-active,
.uk-offcanvas-bar .uk-button-secondary.uk-active {
  background-color: #e6e6e6;
  color: #666;
}

.uk-light .uk-button-text, .uk-section-primary:not(.uk-preserve-color) .uk-button-text, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text, .uk-card-primary.uk-card-body .uk-button-text, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text, .uk-card-secondary.uk-card-body .uk-button-text, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text, .uk-overlay-primary .uk-button-text, .uk-offcanvas-bar .uk-button-text {
  color: #fff;
}

.uk-light .uk-button-text::before, .uk-section-primary:not(.uk-preserve-color) .uk-button-text::before, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text::before, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text::before, .uk-card-primary.uk-card-body .uk-button-text::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text::before, .uk-card-secondary.uk-card-body .uk-button-text::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text::before, .uk-overlay-primary .uk-button-text::before, .uk-offcanvas-bar .uk-button-text::before {
  border-bottom-color: #fff;
}

.uk-light .uk-button-text:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-text:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:hover, .uk-card-primary.uk-card-body .uk-button-text:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text:hover, .uk-card-secondary.uk-card-body .uk-button-text:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text:hover, .uk-overlay-primary .uk-button-text:hover, .uk-offcanvas-bar .uk-button-text:hover,
.uk-light .uk-button-text:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-text:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-text:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-text:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:focus,
.uk-card-primary.uk-card-body .uk-button-text:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-button-text:focus,
.uk-card-secondary.uk-card-body .uk-button-text:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text:focus,
.uk-overlay-primary .uk-button-text:focus,
.uk-offcanvas-bar .uk-button-text:focus {
  color: #fff;
}

.uk-light .uk-button-text:disabled, .uk-section-primary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-card-primary.uk-card-body .uk-button-text:disabled, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text:disabled, .uk-card-secondary.uk-card-body .uk-button-text:disabled, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text:disabled, .uk-overlay-primary .uk-button-text:disabled, .uk-offcanvas-bar .uk-button-text:disabled {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-button-link, .uk-section-primary:not(.uk-preserve-color) .uk-button-link, .uk-section-secondary:not(.uk-preserve-color) .uk-button-link, .uk-tile-primary:not(.uk-preserve-color) .uk-button-link, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link, .uk-card-primary.uk-card-body .uk-button-link, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link, .uk-card-secondary.uk-card-body .uk-button-link, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link, .uk-overlay-primary .uk-button-link, .uk-offcanvas-bar .uk-button-link {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-button-link:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-link:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-link:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-link:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:hover, .uk-card-primary.uk-card-body .uk-button-link:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link:hover, .uk-card-secondary.uk-card-body .uk-button-link:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link:hover, .uk-overlay-primary .uk-button-link:hover, .uk-offcanvas-bar .uk-button-link:hover,
.uk-light .uk-button-link:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-link:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-button-link:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-button-link:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:focus,
.uk-card-primary.uk-card-body .uk-button-link:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-button-link:focus,
.uk-card-secondary.uk-card-body .uk-button-link:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link:focus,
.uk-overlay-primary .uk-button-link:focus,
.uk-offcanvas-bar .uk-button-link:focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-grid-divider > :not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-grid-divider > :not(.uk-first-column)::before, .uk-overlay-primary .uk-grid-divider > :not(.uk-first-column)::before, .uk-offcanvas-bar .uk-grid-divider > :not(.uk-first-column)::before {
  border-left-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-section-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-primary.uk-card-body .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-secondary.uk-card-body .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-overlay-primary .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-offcanvas-bar .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
  border-top-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-close, .uk-section-primary:not(.uk-preserve-color) .uk-close, .uk-section-secondary:not(.uk-preserve-color) .uk-close, .uk-tile-primary:not(.uk-preserve-color) .uk-close, .uk-tile-secondary:not(.uk-preserve-color) .uk-close, .uk-card-primary.uk-card-body .uk-close, .uk-card-primary > :not([class*='uk-card-media']) .uk-close, .uk-card-secondary.uk-card-body .uk-close, .uk-card-secondary > :not([class*='uk-card-media']) .uk-close, .uk-overlay-primary .uk-close, .uk-offcanvas-bar .uk-close {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-close:hover, .uk-section-primary:not(.uk-preserve-color) .uk-close:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-close:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-close:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-close:hover, .uk-card-primary.uk-card-body .uk-close:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-close:hover, .uk-card-secondary.uk-card-body .uk-close:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-close:hover, .uk-overlay-primary .uk-close:hover, .uk-offcanvas-bar .uk-close:hover,
.uk-light .uk-close:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-close:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-close:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-close:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-close:focus,
.uk-card-primary.uk-card-body .uk-close:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-close:focus,
.uk-card-secondary.uk-card-body .uk-close:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-close:focus,
.uk-overlay-primary .uk-close:focus,
.uk-offcanvas-bar .uk-close:focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-totop, .uk-section-primary:not(.uk-preserve-color) .uk-totop, .uk-section-secondary:not(.uk-preserve-color) .uk-totop, .uk-tile-primary:not(.uk-preserve-color) .uk-totop, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop, .uk-card-primary.uk-card-body .uk-totop, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop, .uk-card-secondary.uk-card-body .uk-totop, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop, .uk-overlay-primary .uk-totop, .uk-offcanvas-bar .uk-totop {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-totop:hover, .uk-section-primary:not(.uk-preserve-color) .uk-totop:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-totop:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-totop:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:hover, .uk-card-primary.uk-card-body .uk-totop:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:hover, .uk-card-secondary.uk-card-body .uk-totop:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:hover, .uk-overlay-primary .uk-totop:hover, .uk-offcanvas-bar .uk-totop:hover,
.uk-light .uk-totop:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-totop:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-totop:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-totop:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-totop:focus,
.uk-card-primary.uk-card-body .uk-totop:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-totop:focus,
.uk-card-secondary.uk-card-body .uk-totop:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:focus,
.uk-overlay-primary .uk-totop:focus,
.uk-offcanvas-bar .uk-totop:focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-totop:active, .uk-section-primary:not(.uk-preserve-color) .uk-totop:active, .uk-section-secondary:not(.uk-preserve-color) .uk-totop:active, .uk-tile-primary:not(.uk-preserve-color) .uk-totop:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:active, .uk-card-primary.uk-card-body .uk-totop:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:active, .uk-card-secondary.uk-card-body .uk-totop:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:active, .uk-overlay-primary .uk-totop:active, .uk-offcanvas-bar .uk-totop:active {
  color: #fff;
}

.uk-light .uk-badge, .uk-section-primary:not(.uk-preserve-color) .uk-badge, .uk-section-secondary:not(.uk-preserve-color) .uk-badge, .uk-tile-primary:not(.uk-preserve-color) .uk-badge, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge, .uk-card-primary.uk-card-body .uk-badge, .uk-card-primary > :not([class*='uk-card-media']) .uk-badge, .uk-card-secondary.uk-card-body .uk-badge, .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge, .uk-overlay-primary .uk-badge, .uk-offcanvas-bar .uk-badge {
  background-color: #fff;
  color: #666;
}

.uk-light .uk-badge:hover, .uk-section-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-card-primary.uk-card-body .uk-badge:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-badge:hover, .uk-card-secondary.uk-card-body .uk-badge:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge:hover, .uk-overlay-primary .uk-badge:hover, .uk-offcanvas-bar .uk-badge:hover,
.uk-light .uk-badge:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-badge:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-badge:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-badge:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-badge:focus,
.uk-card-primary.uk-card-body .uk-badge:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-badge:focus,
.uk-card-secondary.uk-card-body .uk-badge:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-badge:focus,
.uk-overlay-primary .uk-badge:focus,
.uk-offcanvas-bar .uk-badge:focus {
  color: #666;
}

.uk-light .uk-label, .uk-section-primary:not(.uk-preserve-color) .uk-label, .uk-section-secondary:not(.uk-preserve-color) .uk-label, .uk-tile-primary:not(.uk-preserve-color) .uk-label, .uk-tile-secondary:not(.uk-preserve-color) .uk-label, .uk-card-primary.uk-card-body .uk-label, .uk-card-primary > :not([class*='uk-card-media']) .uk-label, .uk-card-secondary.uk-card-body .uk-label, .uk-card-secondary > :not([class*='uk-card-media']) .uk-label, .uk-overlay-primary .uk-label, .uk-offcanvas-bar .uk-label {
  background-color: #fff;
  color: #666;
}

.uk-light .uk-article-meta, .uk-section-primary:not(.uk-preserve-color) .uk-article-meta, .uk-section-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-primary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-card-primary.uk-card-body .uk-article-meta, .uk-card-primary > :not([class*='uk-card-media']) .uk-article-meta, .uk-card-secondary.uk-card-body .uk-article-meta, .uk-card-secondary > :not([class*='uk-card-media']) .uk-article-meta, .uk-overlay-primary .uk-article-meta, .uk-offcanvas-bar .uk-article-meta {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input, .uk-card-primary.uk-card-body .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input, .uk-overlay-primary .uk-search-input, .uk-offcanvas-bar .uk-search-input {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-search-input:-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-search-input:-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input:-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-search-input:-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input:-ms-input-placeholder, .uk-overlay-primary .uk-search-input:-ms-input-placeholder, .uk-offcanvas-bar .uk-search-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.uk-light .uk-search-input::-webkit-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::-webkit-input-placeholder, .uk-card-primary.uk-card-body .uk-search-input::-webkit-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::-webkit-input-placeholder, .uk-card-secondary.uk-card-body .uk-search-input::-webkit-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::-webkit-input-placeholder, .uk-overlay-primary .uk-search-input::-webkit-input-placeholder, .uk-offcanvas-bar .uk-search-input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-search-input::-moz-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::-moz-placeholder, .uk-card-primary.uk-card-body .uk-search-input::-moz-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::-moz-placeholder, .uk-card-secondary.uk-card-body .uk-search-input::-moz-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::-moz-placeholder, .uk-overlay-primary .uk-search-input::-moz-placeholder, .uk-offcanvas-bar .uk-search-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-search-input::-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-search-input::-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-search-input::-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::-ms-input-placeholder, .uk-overlay-primary .uk-search-input::-ms-input-placeholder, .uk-offcanvas-bar .uk-search-input::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-search-input::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-card-primary.uk-card-body .uk-search-input::placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::placeholder, .uk-card-secondary.uk-card-body .uk-search-input::placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::placeholder, .uk-overlay-primary .uk-search-input::placeholder, .uk-offcanvas-bar .uk-search-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-search .uk-search-icon, .uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-card-primary.uk-card-body .uk-search .uk-search-icon, .uk-card-primary > :not([class*='uk-card-media']) .uk-search .uk-search-icon, .uk-card-secondary.uk-card-body .uk-search .uk-search-icon, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search .uk-search-icon, .uk-overlay-primary .uk-search .uk-search-icon, .uk-offcanvas-bar .uk-search .uk-search-icon {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-search .uk-search-icon:hover, .uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-card-primary.uk-card-body .uk-search .uk-search-icon:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-search .uk-search-icon:hover, .uk-card-secondary.uk-card-body .uk-search .uk-search-icon:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search .uk-search-icon:hover, .uk-overlay-primary .uk-search .uk-search-icon:hover, .uk-offcanvas-bar .uk-search .uk-search-icon:hover {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-search-default .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-card-primary.uk-card-body .uk-search-default .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-default .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input, .uk-overlay-primary .uk-search-default .uk-search-input, .uk-offcanvas-bar .uk-search-default .uk-search-input {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-search-default .uk-search-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-card-primary.uk-card-body .uk-search-default .uk-search-input:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input:focus, .uk-card-secondary.uk-card-body .uk-search-default .uk-search-input:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input:focus, .uk-overlay-primary .uk-search-default .uk-search-input:focus, .uk-offcanvas-bar .uk-search-default .uk-search-input:focus {
  background-color: transparent;
}

.uk-light .uk-search-navbar .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-card-primary.uk-card-body .uk-search-navbar .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-navbar .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-navbar .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-navbar .uk-search-input, .uk-overlay-primary .uk-search-navbar .uk-search-input, .uk-offcanvas-bar .uk-search-navbar .uk-search-input {
  background-color: transparent;
}

.uk-light .uk-search-large .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-card-primary.uk-card-body .uk-search-large .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-large .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-large .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-large .uk-search-input, .uk-overlay-primary .uk-search-large .uk-search-input, .uk-offcanvas-bar .uk-search-large .uk-search-input {
  background-color: transparent;
}

.uk-light .uk-search-toggle, .uk-section-primary:not(.uk-preserve-color) .uk-search-toggle, .uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle, .uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle, .uk-card-primary.uk-card-body .uk-search-toggle, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-toggle, .uk-card-secondary.uk-card-body .uk-search-toggle, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-toggle, .uk-overlay-primary .uk-search-toggle, .uk-offcanvas-bar .uk-search-toggle {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-search-toggle:hover, .uk-section-primary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-card-primary.uk-card-body .uk-search-toggle:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-toggle:hover, .uk-card-secondary.uk-card-body .uk-search-toggle:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-toggle:hover, .uk-overlay-primary .uk-search-toggle:hover, .uk-offcanvas-bar .uk-search-toggle:hover,
.uk-light .uk-search-toggle:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-search-toggle:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle:focus,
.uk-card-primary.uk-card-body .uk-search-toggle:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-search-toggle:focus,
.uk-card-secondary.uk-card-body .uk-search-toggle:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-search-toggle:focus,
.uk-overlay-primary .uk-search-toggle:focus,
.uk-offcanvas-bar .uk-search-toggle:focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-nav-parent-icon > .uk-parent > a::after, .uk-section-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-primary.uk-card-body .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-secondary.uk-card-body .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent > a::after, .uk-overlay-primary .uk-nav-parent-icon > .uk-parent > a::after, .uk-offcanvas-bar .uk-nav-parent-icon > .uk-parent > a::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.7)%22%20stroke-width%3D%221.1%22%20points%3D%2210%201%204%207%2010%2013%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

.uk-light .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-section-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-primary.uk-card-body .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-secondary.uk-card-body .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-overlay-primary .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-offcanvas-bar .uk-nav-parent-icon > .uk-parent.uk-open > a::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.7)%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

.uk-light .uk-nav-default > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-card-primary.uk-card-body .uk-nav-default > li > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li > a, .uk-card-secondary.uk-card-body .uk-nav-default > li > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li > a, .uk-overlay-primary .uk-nav-default > li > a, .uk-offcanvas-bar .uk-nav-default > li > a {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-nav-default > li > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-card-primary.uk-card-body .uk-nav-default > li > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li > a:hover, .uk-card-secondary.uk-card-body .uk-nav-default > li > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li > a:hover, .uk-overlay-primary .uk-nav-default > li > a:hover, .uk-offcanvas-bar .uk-nav-default > li > a:hover,
.uk-light .uk-nav-default > li > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
.uk-card-primary.uk-card-body .uk-nav-default > li > a:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li > a:focus,
.uk-card-secondary.uk-card-body .uk-nav-default > li > a:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li > a:focus,
.uk-overlay-primary .uk-nav-default > li > a:focus,
.uk-offcanvas-bar .uk-nav-default > li > a:focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-nav-default > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-default > li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-default > li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li.uk-active > a, .uk-overlay-primary .uk-nav-default > li.uk-active > a, .uk-offcanvas-bar .uk-nav-default > li.uk-active > a {
  color: #fff;
}

.uk-light .uk-nav-default .uk-nav-header, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-header, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-header, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-header, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-header, .uk-overlay-primary .uk-nav-default .uk-nav-header, .uk-offcanvas-bar .uk-nav-default .uk-nav-header {
  color: #fff;
}

.uk-light .uk-nav-default .uk-nav-divider, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-divider, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-divider, .uk-overlay-primary .uk-nav-default .uk-nav-divider, .uk-offcanvas-bar .uk-nav-default .uk-nav-divider {
  border-top-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-nav-default .uk-nav-sub a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a, .uk-overlay-primary .uk-nav-default .uk-nav-sub a, .uk-offcanvas-bar .uk-nav-default .uk-nav-sub a {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-nav-default .uk-nav-sub a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:hover, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:hover, .uk-overlay-primary .uk-nav-default .uk-nav-sub a:hover, .uk-offcanvas-bar .uk-nav-default .uk-nav-sub a:hover,
.uk-light .uk-nav-default .uk-nav-sub a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
.uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:focus,
.uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:focus,
.uk-overlay-primary .uk-nav-default .uk-nav-sub a:focus,
.uk-offcanvas-bar .uk-nav-default .uk-nav-sub a:focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-overlay-primary .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-offcanvas-bar .uk-nav-default .uk-nav-sub li.uk-active > a {
  color: #fff;
}

.uk-light .uk-nav-primary > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-card-primary.uk-card-body .uk-nav-primary > li > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li > a, .uk-card-secondary.uk-card-body .uk-nav-primary > li > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li > a, .uk-overlay-primary .uk-nav-primary > li > a, .uk-offcanvas-bar .uk-nav-primary > li > a {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-nav-primary > li > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-card-primary.uk-card-body .uk-nav-primary > li > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:hover, .uk-card-secondary.uk-card-body .uk-nav-primary > li > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:hover, .uk-overlay-primary .uk-nav-primary > li > a:hover, .uk-offcanvas-bar .uk-nav-primary > li > a:hover,
.uk-light .uk-nav-primary > li > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
.uk-card-primary.uk-card-body .uk-nav-primary > li > a:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:focus,
.uk-card-secondary.uk-card-body .uk-nav-primary > li > a:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:focus,
.uk-overlay-primary .uk-nav-primary > li > a:focus,
.uk-offcanvas-bar .uk-nav-primary > li > a:focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-nav-primary > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-primary > li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-primary > li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li.uk-active > a, .uk-overlay-primary .uk-nav-primary > li.uk-active > a, .uk-offcanvas-bar .uk-nav-primary > li.uk-active > a {
  color: #fff;
}

.uk-light .uk-nav-primary .uk-nav-header, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-header, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-header, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-header, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-header, .uk-overlay-primary .uk-nav-primary .uk-nav-header, .uk-offcanvas-bar .uk-nav-primary .uk-nav-header {
  color: #fff;
}

.uk-light .uk-nav-primary .uk-nav-divider, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-divider, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-divider, .uk-overlay-primary .uk-nav-primary .uk-nav-divider, .uk-offcanvas-bar .uk-nav-primary .uk-nav-divider {
  border-top-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-nav-primary .uk-nav-sub a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a, .uk-overlay-primary .uk-nav-primary .uk-nav-sub a, .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-nav-primary .uk-nav-sub a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:hover, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:hover, .uk-overlay-primary .uk-nav-primary .uk-nav-sub a:hover, .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a:hover,
.uk-light .uk-nav-primary .uk-nav-sub a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
.uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:focus,
.uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:focus,
.uk-overlay-primary .uk-nav-primary .uk-nav-sub a:focus,
.uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a:focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-overlay-primary .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub li.uk-active > a {
  color: #fff;
}

.uk-light .uk-navbar-nav > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a, .uk-overlay-primary .uk-navbar-nav > li > a, .uk-offcanvas-bar .uk-navbar-nav > li > a {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-navbar-nav > li:hover > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li:hover > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li:hover > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li:hover > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li:hover > a, .uk-overlay-primary .uk-navbar-nav > li:hover > a, .uk-offcanvas-bar .uk-navbar-nav > li:hover > a,
.uk-light .uk-navbar-nav > li > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:focus,
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:focus,
.uk-overlay-primary .uk-navbar-nav > li > a:focus,
.uk-offcanvas-bar .uk-navbar-nav > li > a:focus,
.uk-light .uk-navbar-nav > li > a.uk-open,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a.uk-open,
.uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a.uk-open,
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a.uk-open,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a.uk-open,
.uk-overlay-primary .uk-navbar-nav > li > a.uk-open,
.uk-offcanvas-bar .uk-navbar-nav > li > a.uk-open {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-navbar-nav > li > a:active, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-card-primary.uk-card-body .uk-navbar-nav > li > a:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:active, .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:active, .uk-overlay-primary .uk-navbar-nav > li > a:active, .uk-offcanvas-bar .uk-navbar-nav > li > a:active {
  color: #fff;
}

.uk-light .uk-navbar-nav > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li.uk-active > a, .uk-overlay-primary .uk-navbar-nav > li.uk-active > a, .uk-offcanvas-bar .uk-navbar-nav > li.uk-active > a {
  color: #fff;
}

.uk-light .uk-navbar-item, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-item, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-item, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-item, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-item, .uk-card-primary.uk-card-body .uk-navbar-item, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-item, .uk-card-secondary.uk-card-body .uk-navbar-item, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-item, .uk-overlay-primary .uk-navbar-item, .uk-offcanvas-bar .uk-navbar-item {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-navbar-toggle, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-card-primary.uk-card-body .uk-navbar-toggle, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle, .uk-card-secondary.uk-card-body .uk-navbar-toggle, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle, .uk-overlay-primary .uk-navbar-toggle, .uk-offcanvas-bar .uk-navbar-toggle {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-navbar-toggle:hover, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-card-primary.uk-card-body .uk-navbar-toggle:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle:hover, .uk-card-secondary.uk-card-body .uk-navbar-toggle:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle:hover, .uk-overlay-primary .uk-navbar-toggle:hover, .uk-offcanvas-bar .uk-navbar-toggle:hover,
.uk-light .uk-navbar-toggle:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
.uk-card-primary.uk-card-body .uk-navbar-toggle:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle:focus,
.uk-card-secondary.uk-card-body .uk-navbar-toggle:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle:focus,
.uk-overlay-primary .uk-navbar-toggle:focus,
.uk-offcanvas-bar .uk-navbar-toggle:focus,
.uk-light .uk-navbar-toggle.uk-open,
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
.uk-card-primary.uk-card-body .uk-navbar-toggle.uk-open,
.uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle.uk-open,
.uk-card-secondary.uk-card-body .uk-navbar-toggle.uk-open,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle.uk-open,
.uk-overlay-primary .uk-navbar-toggle.uk-open,
.uk-offcanvas-bar .uk-navbar-toggle.uk-open {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-subnav > * > :first-child, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-card-primary.uk-card-body .uk-subnav > * > :first-child, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > * > :first-child, .uk-card-secondary.uk-card-body .uk-subnav > * > :first-child, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > * > :first-child, .uk-overlay-primary .uk-subnav > * > :first-child, .uk-offcanvas-bar .uk-subnav > * > :first-child {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-subnav > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-card-primary.uk-card-body .uk-subnav > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > * > a:hover, .uk-card-secondary.uk-card-body .uk-subnav > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > * > a:hover, .uk-overlay-primary .uk-subnav > * > a:hover, .uk-offcanvas-bar .uk-subnav > * > a:hover,
.uk-light .uk-subnav > * > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
.uk-card-primary.uk-card-body .uk-subnav > * > a:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > * > a:focus,
.uk-card-secondary.uk-card-body .uk-subnav > * > a:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > * > a:focus,
.uk-overlay-primary .uk-subnav > * > a:focus,
.uk-offcanvas-bar .uk-subnav > * > a:focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-subnav > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-card-primary.uk-card-body .uk-subnav > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > .uk-active > a, .uk-card-secondary.uk-card-body .uk-subnav > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > .uk-active > a, .uk-overlay-primary .uk-subnav > .uk-active > a, .uk-offcanvas-bar .uk-subnav > .uk-active > a {
  color: #fff;
}

.uk-light .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-overlay-primary .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-offcanvas-bar .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
  border-left-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-subnav-pill > * > :first-child, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-card-primary.uk-card-body .uk-subnav-pill > * > :first-child, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > :first-child, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > :first-child, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > :first-child, .uk-overlay-primary .uk-subnav-pill > * > :first-child, .uk-offcanvas-bar .uk-subnav-pill > * > :first-child {
  background-color: transparent;
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-subnav-pill > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-card-primary.uk-card-body .uk-subnav-pill > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:hover, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:hover, .uk-overlay-primary .uk-subnav-pill > * > a:hover, .uk-offcanvas-bar .uk-subnav-pill > * > a:hover,
.uk-light .uk-subnav-pill > * > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
.uk-card-primary.uk-card-body .uk-subnav-pill > * > a:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:focus,
.uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:focus,
.uk-overlay-primary .uk-subnav-pill > * > a:focus,
.uk-offcanvas-bar .uk-subnav-pill > * > a:focus {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-subnav-pill > * > a:active, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-card-primary.uk-card-body .uk-subnav-pill > * > a:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:active, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:active, .uk-overlay-primary .uk-subnav-pill > * > a:active, .uk-offcanvas-bar .uk-subnav-pill > * > a:active {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-subnav-pill > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-card-primary.uk-card-body .uk-subnav-pill > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > .uk-active > a, .uk-card-secondary.uk-card-body .uk-subnav-pill > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > .uk-active > a, .uk-overlay-primary .uk-subnav-pill > .uk-active > a, .uk-offcanvas-bar .uk-subnav-pill > .uk-active > a {
  background-color: #fff;
  color: #666;
}

.uk-light .uk-subnav > .uk-disabled > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-card-primary.uk-card-body .uk-subnav > .uk-disabled > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > .uk-disabled > a, .uk-card-secondary.uk-card-body .uk-subnav > .uk-disabled > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > .uk-disabled > a, .uk-overlay-primary .uk-subnav > .uk-disabled > a, .uk-offcanvas-bar .uk-subnav > .uk-disabled > a {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-breadcrumb > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-card-primary.uk-card-body .uk-breadcrumb > * > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > * > *, .uk-card-secondary.uk-card-body .uk-breadcrumb > * > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > * > *, .uk-overlay-primary .uk-breadcrumb > * > *, .uk-offcanvas-bar .uk-breadcrumb > * > * {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-breadcrumb > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-card-primary.uk-card-body .uk-breadcrumb > * > :hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :hover, .uk-card-secondary.uk-card-body .uk-breadcrumb > * > :hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :hover, .uk-overlay-primary .uk-breadcrumb > * > :hover, .uk-offcanvas-bar .uk-breadcrumb > * > :hover,
.uk-light .uk-breadcrumb > * > :focus,
.uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
.uk-card-primary.uk-card-body .uk-breadcrumb > * > :focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :focus,
.uk-card-secondary.uk-card-body .uk-breadcrumb > * > :focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :focus,
.uk-overlay-primary .uk-breadcrumb > * > :focus,
.uk-offcanvas-bar .uk-breadcrumb > * > :focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-breadcrumb > :last-child > *, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-card-primary.uk-card-body .uk-breadcrumb > :last-child > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > :last-child > *, .uk-card-secondary.uk-card-body .uk-breadcrumb > :last-child > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > :last-child > *, .uk-overlay-primary .uk-breadcrumb > :last-child > *, .uk-offcanvas-bar .uk-breadcrumb > :last-child > * {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-overlay-primary .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-offcanvas-bar .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-pagination > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-card-primary.uk-card-body .uk-pagination > * > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > * > *, .uk-card-secondary.uk-card-body .uk-pagination > * > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > * > *, .uk-overlay-primary .uk-pagination > * > *, .uk-offcanvas-bar .uk-pagination > * > * {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-pagination > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-card-primary.uk-card-body .uk-pagination > * > :hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > * > :hover, .uk-card-secondary.uk-card-body .uk-pagination > * > :hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > * > :hover, .uk-overlay-primary .uk-pagination > * > :hover, .uk-offcanvas-bar .uk-pagination > * > :hover,
.uk-light .uk-pagination > * > :focus,
.uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > :focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > :focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > :focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > :focus,
.uk-card-primary.uk-card-body .uk-pagination > * > :focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > * > :focus,
.uk-card-secondary.uk-card-body .uk-pagination > * > :focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > * > :focus,
.uk-overlay-primary .uk-pagination > * > :focus,
.uk-offcanvas-bar .uk-pagination > * > :focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-pagination > .uk-active > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-card-primary.uk-card-body .uk-pagination > .uk-active > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > .uk-active > *, .uk-card-secondary.uk-card-body .uk-pagination > .uk-active > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > .uk-active > *, .uk-overlay-primary .uk-pagination > .uk-active > *, .uk-offcanvas-bar .uk-pagination > .uk-active > * {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-pagination > .uk-disabled > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-card-primary.uk-card-body .uk-pagination > .uk-disabled > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > .uk-disabled > *, .uk-card-secondary.uk-card-body .uk-pagination > .uk-disabled > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > .uk-disabled > *, .uk-overlay-primary .uk-pagination > .uk-disabled > *, .uk-offcanvas-bar .uk-pagination > .uk-disabled > * {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-tab::before, .uk-section-primary:not(.uk-preserve-color) .uk-tab::before, .uk-section-secondary:not(.uk-preserve-color) .uk-tab::before, .uk-tile-primary:not(.uk-preserve-color) .uk-tab::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab::before, .uk-card-primary.uk-card-body .uk-tab::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab::before, .uk-card-secondary.uk-card-body .uk-tab::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab::before, .uk-overlay-primary .uk-tab::before, .uk-offcanvas-bar .uk-tab::before {
  border-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-tab > * > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a, .uk-card-primary.uk-card-body .uk-tab > * > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > * > a, .uk-card-secondary.uk-card-body .uk-tab > * > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > * > a, .uk-overlay-primary .uk-tab > * > a, .uk-offcanvas-bar .uk-tab > * > a {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-tab > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-card-primary.uk-card-body .uk-tab > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > * > a:hover, .uk-card-secondary.uk-card-body .uk-tab > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > * > a:hover, .uk-overlay-primary .uk-tab > * > a:hover, .uk-offcanvas-bar .uk-tab > * > a:hover,
.uk-light .uk-tab > * > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a:focus,
.uk-card-primary.uk-card-body .uk-tab > * > a:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-tab > * > a:focus,
.uk-card-secondary.uk-card-body .uk-tab > * > a:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > * > a:focus,
.uk-overlay-primary .uk-tab > * > a:focus,
.uk-offcanvas-bar .uk-tab > * > a:focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-tab > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-card-primary.uk-card-body .uk-tab > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > .uk-active > a, .uk-card-secondary.uk-card-body .uk-tab > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > .uk-active > a, .uk-overlay-primary .uk-tab > .uk-active > a, .uk-offcanvas-bar .uk-tab > .uk-active > a {
  color: #fff;
  border-color: #fff;
}

.uk-light .uk-tab > .uk-disabled > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-card-primary.uk-card-body .uk-tab > .uk-disabled > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > .uk-disabled > a, .uk-card-secondary.uk-card-body .uk-tab > .uk-disabled > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > .uk-disabled > a, .uk-overlay-primary .uk-tab > .uk-disabled > a, .uk-offcanvas-bar .uk-tab > .uk-disabled > a {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-slidenav, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav, .uk-card-primary.uk-card-body .uk-slidenav, .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav, .uk-card-secondary.uk-card-body .uk-slidenav, .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav, .uk-overlay-primary .uk-slidenav, .uk-offcanvas-bar .uk-slidenav {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-slidenav:hover, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-card-primary.uk-card-body .uk-slidenav:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav:hover, .uk-card-secondary.uk-card-body .uk-slidenav:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav:hover, .uk-overlay-primary .uk-slidenav:hover, .uk-offcanvas-bar .uk-slidenav:hover,
.uk-light .uk-slidenav:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-slidenav:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:focus,
.uk-card-primary.uk-card-body .uk-slidenav:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav:focus,
.uk-card-secondary.uk-card-body .uk-slidenav:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav:focus,
.uk-overlay-primary .uk-slidenav:focus,
.uk-offcanvas-bar .uk-slidenav:focus {
  color: rgba(255, 255, 255, 0.95);
}

.uk-light .uk-slidenav:active, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav:active, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:active, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:active, .uk-card-primary.uk-card-body .uk-slidenav:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav:active, .uk-card-secondary.uk-card-body .uk-slidenav:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav:active, .uk-overlay-primary .uk-slidenav:active, .uk-offcanvas-bar .uk-slidenav:active {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-dotnav > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-card-primary.uk-card-body .uk-dotnav > * > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > *, .uk-card-secondary.uk-card-body .uk-dotnav > * > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > *, .uk-overlay-primary .uk-dotnav > * > *, .uk-offcanvas-bar .uk-dotnav > * > * {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.9);
}

.uk-light .uk-dotnav > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-card-primary.uk-card-body .uk-dotnav > * > :hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > :hover, .uk-card-secondary.uk-card-body .uk-dotnav > * > :hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > :hover, .uk-overlay-primary .uk-dotnav > * > :hover, .uk-offcanvas-bar .uk-dotnav > * > :hover,
.uk-light .uk-dotnav > * > :focus,
.uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
.uk-card-primary.uk-card-body .uk-dotnav > * > :focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > :focus,
.uk-card-secondary.uk-card-body .uk-dotnav > * > :focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > :focus,
.uk-overlay-primary .uk-dotnav > * > :focus,
.uk-offcanvas-bar .uk-dotnav > * > :focus {
  background-color: rgba(255, 255, 255, 0.9);
  border-color: transparent;
}

.uk-light .uk-dotnav > * > :active, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-card-primary.uk-card-body .uk-dotnav > * > :active, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > :active, .uk-card-secondary.uk-card-body .uk-dotnav > * > :active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > :active, .uk-overlay-primary .uk-dotnav > * > :active, .uk-offcanvas-bar .uk-dotnav > * > :active {
  background-color: rgba(255, 255, 255, 0.5);
  border-color: transparent;
}

.uk-light .uk-dotnav > .uk-active > *, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-card-primary.uk-card-body .uk-dotnav > .uk-active > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > .uk-active > *, .uk-card-secondary.uk-card-body .uk-dotnav > .uk-active > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > .uk-active > *, .uk-overlay-primary .uk-dotnav > .uk-active > *, .uk-offcanvas-bar .uk-dotnav > .uk-active > * {
  background-color: rgba(255, 255, 255, 0.9);
  border-color: transparent;
}

.uk-light .uk-accordion-title::before, .uk-section-primary:not(.uk-preserve-color) .uk-accordion-title::before, .uk-section-secondary:not(.uk-preserve-color) .uk-accordion-title::before, .uk-tile-primary:not(.uk-preserve-color) .uk-accordion-title::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-accordion-title::before, .uk-card-primary.uk-card-body .uk-accordion-title::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-accordion-title::before, .uk-card-secondary.uk-card-body .uk-accordion-title::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-accordion-title::before, .uk-overlay-primary .uk-accordion-title::before, .uk-offcanvas-bar .uk-accordion-title::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%221%22%20height%3D%2213%22%20x%3D%226%22%20y%3D%220%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

.uk-light .uk-open > .uk-accordion-title::before, .uk-section-primary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::before, .uk-section-secondary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::before, .uk-tile-primary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-open > .uk-accordion-title::before, .uk-card-primary.uk-card-body .uk-open > .uk-accordion-title::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-open > .uk-accordion-title::before, .uk-card-secondary.uk-card-body .uk-open > .uk-accordion-title::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-open > .uk-accordion-title::before, .uk-overlay-primary .uk-open > .uk-accordion-title::before, .uk-offcanvas-bar .uk-open > .uk-accordion-title::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2213%22%20height%3D%2213%22%20viewBox%3D%220%200%2013%2013%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20width%3D%2213%22%20height%3D%221%22%20x%3D%220%22%20y%3D%226%22%20%2F%3E%0A%3C%2Fsvg%3E");
}

.uk-light .uk-iconnav > * > a, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-card-primary.uk-card-body .uk-iconnav > * > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > a, .uk-card-secondary.uk-card-body .uk-iconnav > * > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > a, .uk-overlay-primary .uk-iconnav > * > a, .uk-offcanvas-bar .uk-iconnav > * > a {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-iconnav > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-card-primary.uk-card-body .uk-iconnav > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > a:hover, .uk-card-secondary.uk-card-body .uk-iconnav > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > a:hover, .uk-overlay-primary .uk-iconnav > * > a:hover, .uk-offcanvas-bar .uk-iconnav > * > a:hover,
.uk-light .uk-iconnav > * > a:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
.uk-card-primary.uk-card-body .uk-iconnav > * > a:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > a:focus,
.uk-card-secondary.uk-card-body .uk-iconnav > * > a:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > a:focus,
.uk-overlay-primary .uk-iconnav > * > a:focus,
.uk-offcanvas-bar .uk-iconnav > * > a:focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-iconnav > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-card-primary.uk-card-body .uk-iconnav > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > a, .uk-card-secondary.uk-card-body .uk-iconnav > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > a, .uk-overlay-primary .uk-iconnav > .uk-active > a, .uk-offcanvas-bar .uk-iconnav > .uk-active > a {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-text-lead, .uk-section-primary:not(.uk-preserve-color) .uk-text-lead, .uk-section-secondary:not(.uk-preserve-color) .uk-text-lead, .uk-tile-primary:not(.uk-preserve-color) .uk-text-lead, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-lead, .uk-card-primary.uk-card-body .uk-text-lead, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-lead, .uk-card-secondary.uk-card-body .uk-text-lead, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-lead, .uk-overlay-primary .uk-text-lead, .uk-offcanvas-bar .uk-text-lead {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-text-meta, .uk-section-primary:not(.uk-preserve-color) .uk-text-meta, .uk-section-secondary:not(.uk-preserve-color) .uk-text-meta, .uk-tile-primary:not(.uk-preserve-color) .uk-text-meta, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-meta, .uk-card-primary.uk-card-body .uk-text-meta, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-meta, .uk-card-secondary.uk-card-body .uk-text-meta, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-meta, .uk-overlay-primary .uk-text-meta, .uk-offcanvas-bar .uk-text-meta {
  color: rgba(255, 255, 255, 0.5);
}

.uk-light .uk-text-muted, .uk-section-primary:not(.uk-preserve-color) .uk-text-muted, .uk-section-secondary:not(.uk-preserve-color) .uk-text-muted, .uk-tile-primary:not(.uk-preserve-color) .uk-text-muted, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-muted, .uk-card-primary.uk-card-body .uk-text-muted, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-muted, .uk-card-secondary.uk-card-body .uk-text-muted, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-muted, .uk-overlay-primary .uk-text-muted, .uk-offcanvas-bar .uk-text-muted {
  color: rgba(255, 255, 255, 0.5) !important;
}

.uk-light .uk-text-emphasis, .uk-section-primary:not(.uk-preserve-color) .uk-text-emphasis, .uk-section-secondary:not(.uk-preserve-color) .uk-text-emphasis, .uk-tile-primary:not(.uk-preserve-color) .uk-text-emphasis, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-emphasis, .uk-card-primary.uk-card-body .uk-text-emphasis, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-emphasis, .uk-card-secondary.uk-card-body .uk-text-emphasis, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-emphasis, .uk-overlay-primary .uk-text-emphasis, .uk-offcanvas-bar .uk-text-emphasis {
  color: #fff !important;
}

.uk-light .uk-text-primary, .uk-section-primary:not(.uk-preserve-color) .uk-text-primary, .uk-section-secondary:not(.uk-preserve-color) .uk-text-primary, .uk-tile-primary:not(.uk-preserve-color) .uk-text-primary, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-primary, .uk-card-primary.uk-card-body .uk-text-primary, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-primary, .uk-card-secondary.uk-card-body .uk-text-primary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-primary, .uk-overlay-primary .uk-text-primary, .uk-offcanvas-bar .uk-text-primary {
  color: #fff !important;
}

.uk-light .uk-text-secondary, .uk-section-primary:not(.uk-preserve-color) .uk-text-secondary, .uk-section-secondary:not(.uk-preserve-color) .uk-text-secondary, .uk-tile-primary:not(.uk-preserve-color) .uk-text-secondary, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-secondary, .uk-card-primary.uk-card-body .uk-text-secondary, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-secondary, .uk-card-secondary.uk-card-body .uk-text-secondary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-secondary, .uk-overlay-primary .uk-text-secondary, .uk-offcanvas-bar .uk-text-secondary {
  color: #fff !important;
}

.uk-light .uk-column-divider, .uk-section-primary:not(.uk-preserve-color) .uk-column-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-column-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-column-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-column-divider, .uk-card-primary.uk-card-body .uk-column-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-column-divider, .uk-card-secondary.uk-card-body .uk-column-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-column-divider, .uk-overlay-primary .uk-column-divider, .uk-offcanvas-bar .uk-column-divider {
  -webkit-column-rule-color: rgba(255, 255, 255, 0.2);
     -moz-column-rule-color: rgba(255, 255, 255, 0.2);
          column-rule-color: rgba(255, 255, 255, 0.2);
}

.uk-light .uk-logo, .uk-section-primary:not(.uk-preserve-color) .uk-logo, .uk-section-secondary:not(.uk-preserve-color) .uk-logo, .uk-tile-primary:not(.uk-preserve-color) .uk-logo, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo, .uk-card-primary.uk-card-body .uk-logo, .uk-card-primary > :not([class*='uk-card-media']) .uk-logo, .uk-card-secondary.uk-card-body .uk-logo, .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo, .uk-overlay-primary .uk-logo, .uk-offcanvas-bar .uk-logo {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-logo:hover, .uk-section-primary:not(.uk-preserve-color) .uk-logo:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-logo:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-logo:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo:hover, .uk-card-primary.uk-card-body .uk-logo:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-logo:hover, .uk-card-secondary.uk-card-body .uk-logo:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo:hover, .uk-overlay-primary .uk-logo:hover, .uk-offcanvas-bar .uk-logo:hover,
.uk-light .uk-logo:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-logo:focus,
.uk-section-secondary:not(.uk-preserve-color) .uk-logo:focus,
.uk-tile-primary:not(.uk-preserve-color) .uk-logo:focus,
.uk-tile-secondary:not(.uk-preserve-color) .uk-logo:focus,
.uk-card-primary.uk-card-body .uk-logo:focus,
.uk-card-primary > :not([class*='uk-card-media']) .uk-logo:focus,
.uk-card-secondary.uk-card-body .uk-logo:focus,
.uk-card-secondary > :not([class*='uk-card-media']) .uk-logo:focus,
.uk-overlay-primary .uk-logo:focus,
.uk-offcanvas-bar .uk-logo:focus {
  color: rgba(255, 255, 255, 0.7);
}

.uk-light .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-section-primary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-section-secondary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-tile-primary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-tile-secondary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-primary.uk-card-body .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-primary > :not([class*='uk-card-media']) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-secondary.uk-card-body .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-overlay-primary .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-offcanvas-bar .uk-logo > :not(.uk-logo-inverse):not(:only-of-type) {
  display: none;
}

.uk-light .uk-logo-inverse, .uk-section-primary:not(.uk-preserve-color) .uk-logo-inverse, .uk-section-secondary:not(.uk-preserve-color) .uk-logo-inverse, .uk-tile-primary:not(.uk-preserve-color) .uk-logo-inverse, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo-inverse, .uk-card-primary.uk-card-body .uk-logo-inverse, .uk-card-primary > :not([class*='uk-card-media']) .uk-logo-inverse, .uk-card-secondary.uk-card-body .uk-logo-inverse, .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo-inverse, .uk-overlay-primary .uk-logo-inverse, .uk-offcanvas-bar .uk-logo-inverse {
  display: inline;
}

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

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 62.5%;
  /* 1em = 10px */
}

html *,
html *:before,
html *:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

body {
  font-size: 1.4rem;
  font-family: "Poppins", sans-serif;
  overflow-x: hidden;
}

@media (min-width: 1200px) {
  body {
    font-size: 1.5rem;
  }
}

@media (min-width: 1680px) {
  body {
    font-size: 1.7rem;
  }
}

.skip-link {
  position: absolute;
  left: -999px;
  width: 1px;
  height: 1px;
  top: auto;
}

.skip-link:focus {
  color: #ffffff;
  display: inline-block;
  height: auto;
  width: auto;
  left: auto;
  margin: auto;
  z-index: 50;
}

@media (max-width: 640px) {
  main {
    overflow-y: auto;
    overflow-x: hidden;
  }
}

.container {
  width: 100%;
  padding: 0 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media (min-width: 992px) {
  .container {
    width: 90%;
    margin: 0 auto;
    padding: 0;
    max-width: 1640px;
  }
}

@media (min-width: 1200px) {
  .container {
    width: 85%;
  }
}

section.row {
  padding: 60px 0;
}

@media (min-width: 992px) {
  section.row {
    padding: 120px 0;
  }
}

section.row + .row {
  padding-top: 0;
}

section.bg-gray {
  background-color: #d5d5d5;
}

section article {
  padding: 30px 0;
}

@media (min-width: 992px) {
  section article {
    padding: 60px 0;
    scroll-margin-top: -10px;
  }
}

section article:last-of-type {
  padding-bottom: 0;
}

b,
strong {
  font-weight: bold;
}

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

button {
  border: 0;
  background-color: transparent;
  font-family: "Poppins", sans-serif;
}

.img-bordered {
  display: block;
  border-radius: 8px;
  border: 1px solid #d5d5d5;
  overflow: hidden;
  margin-top: 30px;
}

.img-rounded-border {
  border-radius: 8px;
}

.scroll-top {
  display: none;
}

@media (min-width: 992px) {
  .scroll-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: fixed;
    right: 4px;
    bottom: 143px;
    border: 1px solid #24b8f1;
    border-radius: 50%;
    width: 42px;
    height: 42px;
  }
  .scroll-top svg {
    width: 12px;
    height: 12px;
    fill: #24b8f1;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }
  .scroll-top:hover, .scroll-top:focus {
    border-color: #0071ba;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
  }
  .scroll-top:hover svg, .scroll-top:focus svg {
    fill: #0071ba;
    -webkit-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
  }
}

@media (min-width: 1200px) {
  .scroll-top {
    width: 50px;
    height: 50px;
    right: 21px;
    bottom: 70px;
    border-width: 2px;
  }
}

@media (min-width: 1680px) {
  .scroll-top {
    width: 70px;
    height: 70px;
    right: 30px;
  }
  .scroll-top svg {
    width: 16px;
    height: 16px;
  }
}

.alt-bg, .alt-bg-blue {
  position: relative;
}

.alt-bg::after, .alt-bg-blue::after {
  content: "";
  background-color: #F5F5F5;
  position: absolute;
  width: 100vw;
  height: 100%;
  left: -20px;
  top: 0;
  z-index: -1;
}

@media (min-width: 992px) {
  .alt-bg::after, .alt-bg-blue::after {
    left: -40.7%;
  }
}

@media (min-width: 1200px) {
  .alt-bg::after, .alt-bg-blue::after {
    width: 150vw;
    left: -50vw;
  }
}

.alt-bg-blue::after {
  background-color: rgba(221, 232, 238, 0.5);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Poppins", sans-serif;
  font-weight: bold;
}

.dotted-title::after {
  content: '.';
  color: #0071ba;
}

h2, .uk-h2 {
  font-size: 2.5rem;
  margin-bottom: 0;
}

@media (min-width: 1200px) {
  h2, .uk-h2 {
    font-size: 3.5rem;
    margin-bottom: 10px;
  }
}

h2 + p,
.uk-h2 + p {
  margin-top: 10px;
}

h3, .uk-h3 {
  font-size: 2rem;
  color: #6a7a8a;
  margin: 25px 0 12px;
}

@media (min-width: 1200px) {
  h3, .uk-h3 {
    font-size: 2.6rem;
  }
}

p {
  font-size: 1.4rem;
  color: #323d3e;
}

@media (min-width: 1200px) {
  p {
    font-size: 1.5rem;
  }
}

@media (min-width: 1680px) {
  p {
    font-size: 1.7rem;
  }
}

.uk-text-small {
  font-size: 1.2rem;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media (min-width: 992px) {
  .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.row-lg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media (min-width: 1200px) {
  .row-lg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .row-lg + .row-lg {
    padding-top: 30px;
  }
}

.col-1 {
  width: 8.33333333%;
}

.col-2 {
  width: 16.666667%;
}

@media (min-width: 992px) {
  .col-3 {
    width: 25%;
  }
}

@media (min-width: 992px) {
  .col-4 {
    width: 33.3333%;
  }
}

.col-lg-4 {
  margin-top: 30px;
}

@media (min-width: 1200px) {
  .col-lg-4 {
    margin-top: 0;
    width: 33.3333%;
    text-align: right;
  }
}

.col-5 {
  width: 41.666667%;
}

@media (min-width: 992px) {
  .col-6 {
    width: 50%;
  }
}

.col-7 {
  width: 58.333333%;
}

@media (min-width: 1200px) {
  .col-lg-8 {
    width: 66.666667%;
  }
}

.col-lg-8 h2, .col-lg-8 h3 {
  margin: 0 0 15px;
}

.col-lg-8 img {
  margin-top: 30px;
}

@media (min-width: 992px) {
  .col-lg-8 img {
    margin-top: 60px;
  }
}

@media (min-width: 992px) {
  .col-lg-8 .col-6:first-child img {
    margin-right: 60px;
  }
}

@media (min-width: 992px) {
  .col-9 {
    width: 75%;
  }
}

.col-lg-10 {
  width: 100%;
}

@media (min-width: 1200px) {
  .col-lg-10 {
    margin: 0 auto;
    width: 83.33333333%;
  }
}

.col-lg-11 {
  width: 100%;
}

@media (min-width: 1200px) {
  .col-lg-11 {
    width: 91.666667%;
  }
}

.col-12 {
  width: 100%;
}

.has-right-nav {
  padding-top: 30px;
}

@media (min-width: 992px) {
  .has-right-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 60px;
  }
}

.has-right-nav .side-nav {
  display: none;
}

@media (min-width: 992px) {
  .has-right-nav .side-nav {
    display: block;
    width: 25%;
    padding-right: 8.33333333%;
    padding-top: 60px;
  }
}

@media (min-width: 992px) {
  .has-right-nav .content {
    width: 75%;
  }
}

.has-right-nav .content .col-lg-10 {
  margin: 0;
}

@media (min-width: 1680px) {
  .has-right-nav .content .col-lg-10 {
    margin: 0 -8.33333333%;
  }
}

header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 1011;
}

header > .container {
  position: relative;
}

.btn.btn-menu {
  position: absolute;
  top: 23px;
  right: 20px;
  z-index: 5;
  padding: 10px 5px;
}

@media (min-width: 640px) {
  .btn.btn-menu {
    padding: 20px 15px;
    top: 57px;
  }
}

@media (min-width: 992px) {
  .btn.btn-menu {
    padding: 10px 22px;
    right: 0;
  }
}

@media (min-width: 1200px) {
  .btn.btn-menu {
    top: 60px;
  }
}

@media (min-width: 1680px) {
  .btn.btn-menu {
    padding: 18px 30px;
    top: 60px;
  }
}

@media (max-width: 992px) {
  .btn.btn-menu .menu-label {
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    white-space: nowrap;
    height: 1px;
    width: 1px;
    overflow: hidden;
    position: absolute;
  }
}

.burger {
  width: 30px;
  height: 20px;
  display: inline-block;
  position: relative;
  border: 0;
  padding: 0;
  background-color: transparent;
  cursor: pointer;
}

@media (min-width: 992px) {
  .burger {
    margin-left: 20px;
  }
}

.burger .burger-toggle-inner,
.burger .burger-toggle-inner:after,
.burger .burger-toggle-inner:before {
  width: 18px;
  height: 2px;
  background-color: #ffffff;
  border-radius: 3px;
  position: absolute;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-transition-duration: 0.15s;
          transition-duration: 0.15s;
  -webkit-transition-timing-function: ease;
          transition-timing-function: ease;
}

@media (min-width: 640px) {
  .burger .burger-toggle-inner,
  .burger .burger-toggle-inner:after,
  .burger .burger-toggle-inner:before {
    width: 28px;
    height: 3px;
  }
}

.burger .burger-toggle-inner {
  left: 6px;
  bottom: 3px;
  -webkit-transition-duration: 0.13s;
          transition-duration: 0.13s;
  -webkit-transition-delay: 0.13s;
          transition-delay: 0.13s;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
          transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.burger .burger-toggle-inner::before, .burger .burger-toggle-inner::after {
  display: block;
  content: '';
}

.burger .burger-toggle-inner::before {
  top: -6px;
  -webkit-transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.burger .burger-toggle-inner::after {
  bottom: -10px;
  top: -12px;
  -webkit-transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}

@media (min-width: 640px) {
  .burger .burger-toggle-inner {
    left: 2px;
    bottom: 0;
  }
  .burger .burger-toggle-inner::before {
    top: -9px;
  }
  .burger .burger-toggle-inner::after {
    top: -17px;
  }
}

@media (min-width: 992px) {
  .burger .burger-toggle-inner {
    left: 0;
  }
}

.btn-menu.is-active {
  background-color: transparent;
}

.btn-menu.is-active:hover, .btn-menu.is-active:focus {
  background-color: transparent;
}

.btn-menu.is-active .burger-toggle-inner,
.btn-menu.is-active .burger-toggle-inner:after,
.btn-menu.is-active .burger-toggle-inner:before {
  background: #6a7a8a;
}

.btn-menu.is-active .burger-toggle-inner {
  -webkit-transform: translate3d(0, -10px, 0) rotate(-45deg);
          transform: translate3d(0, -10px, 0) rotate(-45deg);
  -webkit-transition-delay: 0.22s;
          transition-delay: 0.22s;
  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.btn-menu.is-active .burger-toggle-inner::before {
  top: 0;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: top 0.1s 0.16s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.13s 0.25s cubic-bezier(0.215, 0.61, 0.355, 1);
}

.btn-menu.is-active .burger-toggle-inner::after {
  top: 0;
  opacity: 0;
  -webkit-transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.22s linear;
}

#modalMenu {
  display: none;
  padding: 0;
}

#modalMenu .uk-modal-dialog {
  min-height: 100vh;
  height: auto;
  width: 100%;
}

.main-menu .container {
  padding-top: 30px;
  padding-bottom: 30px;
  position: relative;
}

@media (min-width: 1680px) {
  .main-menu .container {
    padding-top: 60px;
    padding-bottom: 120px;
  }
}

.main-menu .logo {
  display: inline-block;
  width: 40px;
  height: 40px;
}

@media (min-width: 1200px) {
  .main-menu .logo {
    width: 55px;
    height: 55px;
    position: absolute;
    top: 48px;
    left: 0;
  }
}

@media (min-width: 1920px) {
  .main-menu .logo {
    position: relative;
    top: 0;
  }
}

.main-menu .menu-section {
  margin-top: 30px;
}

@media (min-width: 1200px) {
  .main-menu .menu-section {
    padding-left: 8.33333333%;
    margin-top: 10px;
  }
  .main-menu .menu-section:last-child {
    margin-top: 80px;
  }
}

@media (min-width: 1200px) and (min-width: 1920px) {
  .main-menu .menu-section:last-child {
    margin-top: 120px;
  }
}

@media (min-width: 1200px) {
  .main-menu .menu-section:last-child .menu-group-list {
    width: auto;
    padding-top: 0;
  }
}

@media (min-width: 1680px) {
  .main-menu .menu-section {
    margin-top: 22px;
  }
}

.main-menu .menu-section-label {
  display: inline-block;
  font-size: 1.8rem;
  font-weight: bold;
  color: #6a7a8a;
}

.main-menu .menu-section-title {
  margin: 0 0 20px;
  color: #323d3e;
}

@media (min-width: 1200px) {
  .main-menu .menu-section-title {
    margin-bottom: 15px;
  }
}

.main-menu .menu-section .menu-list-container > .menu-group-list:first-of-type > .menu-list-title {
  border-top: 1px solid #d5d5d5;
}

@media (min-width: 992px) {
  .main-menu .menu-section .menu-list-container > .menu-group-list:first-of-type > .menu-list-title {
    border-top: none;
  }
}

@media (min-width: 992px) {
  .main-menu .menu-section .menu-list-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

@media (min-width: 992px) {
  .main-menu .menu-section .menu-group-list {
    width: calc(100% / 4);
    padding: 5px 20px 0 0;
  }
}

@media (min-width: 1200px) {
  .main-menu .menu-section .menu-group-list {
    width: 16.6666%;
  }
}

@media (min-width: 1680px) {
  .main-menu .menu-section .menu-group-list {
    padding-top: 20px;
  }
}

.main-menu .menu-list {
  display: none;
}

@media (min-width: 992px) {
  .main-menu .menu-list {
    display: block;
  }
}

.main-menu .menu-list-title {
  display: block;
  padding: 15px;
  border-bottom: 1px solid #d5d5d5;
}

@media (min-width: 992px) {
  .main-menu .menu-list-title {
    border-bottom: none;
    padding: 15px 0;
  }
}

.main-menu .menu-list-title h3 {
  color: #323d3e;
  font-size: 1.7rem;
  margin: 0;
}

.main-menu .menu-list-title:hover h3, .main-menu .menu-list-title:focus h3 {
  color: #0071ba;
}

.main-menu .menu-list-item {
  margin-bottom: 10px;
}

@media (min-width: 992px) {
  .main-menu .menu-list-item {
    margin-bottom: 7px;
  }
}

@media (min-width: 1680px) {
  .main-menu .menu-list-item {
    margin-bottom: 10px;
  }
}

.main-menu .menu-list-link {
  color: #323d3e;
  font-size: 1.5rem;
}

@media (min-width: 992px) {
  .main-menu .menu-list-link {
    font-size: 1.4rem;
  }
}

@media (min-width: 1680px) {
  .main-menu .menu-list-link {
    font-size: 1.5rem;
  }
}

.main-menu .menu-extra-link {
  margin-top: 30px;
}

@media (min-width: 640px) {
  .main-menu .menu-extra-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media (min-width: 992px) {
  .main-menu .menu-extra-link {
    margin-top: 0;
    margin-left: auto;
  }
}

.main-menu .menu-extra-link .link {
  margin-top: 30px;
  display: block;
  font-size: 1.5rem;
  text-transform: uppercase;
  text-decoration: underline;
}

@media (min-width: 640px) {
  .main-menu .menu-extra-link .link {
    margin-top: 0;
  }
}

@media (min-width: 992px) {
  .main-menu .menu-extra-link .link {
    margin-left: 30px;
  }
}

@media (min-width: 1200px) {
  .main-menu .menu-extra-link .link {
    margin-left: 60px;
  }
}

@media (min-width: 992px) {
  .side-nav-list {
    position: sticky;
    top: 44px;
    text-align: right;
  }
}

.side-nav-list li {
  position: relative;
  padding: 10px 30px 10px 0;
}

@media (min-width: 1680px) {
  .side-nav-list li {
    padding-right: 36px;
  }
}

.side-nav-list li::after {
  content: "";
  position: absolute;
  top: 18px;
  right: 0;
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background-color: #dde8ee;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

@media (min-width: 1680px) {
  .side-nav-list li::after {
    top: 19.5px;
  }
}

.side-nav-list li a {
  color: #323d3e;
  font-weight: 500;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.side-nav-list li.uk-active::after {
  top: 17px;
  width: 10px;
  height: 10px;
  background-color: #0071ba;
}

@media (min-width: 1680px) {
  .side-nav-list li.uk-active::after {
    top: 18px;
  }
}

.side-nav-list li.uk-active a {
  color: #0071ba;
  font-weight: bold;
}

.footer {
  background-color: #dde8ee;
  color: #6a7a8a;
  font-size: 1.2rem;
  padding: 30px 0 25px;
  text-align: center;
}

@media (min-width: 992px) {
  .footer {
    padding-top: 50px;
  }
  .footer .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    text-align: right;
  }
}

.footer-logo {
  display: block;
  width: 190px;
  height: 42px;
  margin: 0 auto;
}

@media (min-width: 992px) {
  .footer-logo {
    margin-left: 0;
    width: 200px;
    height: 44px;
  }
}

@media (min-width: 1680px) {
  .footer-logo {
    width: 290px;
    height: 62px;
  }
}

.footer-logo img {
  max-width: 100%;
}

.footer .btn {
  margin-top: 25px;
}

@media (min-width: 1200px) {
  .footer .btn {
    margin-top: 0;
  }
}

.footer .btn .icon-left {
  display: inline-block;
  width: 30px;
  height: 30px;
}

.footer .btn .icon-right {
  width: 14px;
  height: 14px;
}

.footer .btn .icon-right svg {
  fill: #ffffff;
}

.footer .copyright {
  margin: 25px 0 0;
  font-size: 1.3rem;
}

@media (min-width: 1680px) {
  .footer .copyright {
    font-size: 1.5rem;
  }
}

@media (min-width: 640px) {
  .vertical-align {
    height: 100%;
    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;
  }
}

.intro {
  max-width: 90%;
}

@media (min-width: 640px) {
  .intro {
    max-width: 535px;
  }
  .intro .vertical-align {
    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;
  }
}

.intro p {
  margin: 0;
  line-height: 1.9em;
}

.intro p + .link {
  margin-top: 20px;
}

.intro ul {
  margin-top: 20px;
  padding-left: 20px;
}

@media (min-width: 1200px) {
  .intro ul {
    margin-top: 45px;
  }
}

.intro ul li {
  line-height: 1.9em;
  list-style: disc;
  margin-top: 10px;
  color: #323d3e;
}

.intro ul li:first-of-type {
  margin-top: 0;
}

.highlighted-box {
  background-color: rgba(221, 232, 238, 0.5);
  border-radius: 8px;
  padding: 20px 24px;
}

@media (min-width: 992px) {
  .highlighted-box {
    max-width: 50%;
  }
}

.highlighted-box p {
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 20px;
}

.highlighted-box p:first-child {
  margin: 0;
}

@media (min-width: 992px) {
  .circular-img-container img {
    margin-left: 60px;
  }
}

.giant-rosace {
  position: relative;
}

.giant-rosace::before {
  content: "";
  position: absolute;
  top: -50px;
  right: -100px;
  width: 200px;
  height: 200px;
  background-image: url(../images/shapes/giant-rosace.svg);
  background-size: cover;
  z-index: -1;
}

@media (min-width: 640px) {
  .giant-rosace::before {
    right: 0;
  }
}

@media (min-width: 1200px) {
  .giant-rosace::before {
    top: -200px;
    right: -240px;
    width: 400px;
    height: 400px;
  }
}

.btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #24b8f1;
  color: #ffffff;
  font-family: "Poppins", sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 25px;
  letter-spacing: 0.75px;
  border-radius: 74px;
  padding: 16px 30px;
  margin: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}

@media (min-width: 992px) {
  .btn {
    font-size: 1.4rem;
    letter-spacing: 0.25px;
  }
}

@media (min-width: 1680px) {
  .btn {
    font-size: 1.5rem;
    letter-spacing: 0.75px;
  }
}

.btn:hover, .btn:focus {
  background-color: #0071ba;
  border-color: #0071ba;
  color: #ffffff;
  text-decoration: none;
}

.btn[download] svg {
  stroke: currentColor;
}

.btn .icon-left,
.btn .icon-right {
  display: inline-block;
  width: 20px;
  height: 20px;
}

.btn .icon-left svg,
.btn .icon-right svg {
  display: block;
  width: 100%;
  height: 100%;
}

.btn .icon-left {
  margin-right: 12px;
}

@media (min-width: 992px) {
  .btn .icon-left {
    margin-right: 20px;
  }
}

.btn .icon-right {
  margin-left: 12px;
}

@media (min-width: 992px) {
  .btn .icon-right {
    margin-left: 20px;
  }
}

.btn-outline {
  background-color: transparent;
  border: 2px solid #24b8f1;
  color: #24b8f1;
}

.btn-outline:hover, .btn-outline:focus {
  background-color: transparent;
  border-color: #0071ba;
  color: #0071ba;
  text-decoration: none;
}

.link {
  color: #24b8f1;
  font-size: 1.4rem;
  font-weight: bold;
  text-decoration: underline;
}

@media (min-width: 1200px) {
  .link {
    font-size: 1.5rem;
  }
}

@media (min-width: 1680px) {
  .link {
    font-size: 1.7rem;
  }
}

.link-arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.link-arrow .icon-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 14px;
  height: 14px;
  margin-left: 20px;
  fill: currentColor;
}

.link-arrow .icon-right svg {
  max-height: 100%;
}

.link[download] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.link[download] svg {
  width: 20px;
  height: 20px;
  stroke: #24b8f1;
  margin-right: 20px;
}

.btn-secondary {
  background: #000;
  border: 2px solid #000;
  color: #fff;
  text-transform: uppercase;
  font-weight: 200;
  min-height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
  letter-spacing: 1px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  max-width: 350px;
}

.btn-secondary:focus, .btn-secondary:hover {
  background: transparent;
  color: #000;
  text-decoration: none;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.uk-button-large {
  font-size: 1.6rem;
  min-height: 60px;
  padding: 0 20px;
}

@media (min-width: 640px) {
  .uk-button-large {
    padding: 0 40px;
  }
}

.uk-section-primary .uk-button-secondary,
.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary {
  background: #000;
  color: #fff;
}

.uk-section-primary .uk-button-secondary:focus, .uk-section-primary .uk-button-secondary:hover,
.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:focus,
.uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:hover {
  background: transparent;
  color: #000;
}

.color-badge-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media (min-width: 640px) {
  .color-badge-container {
    margin: 0 -12px;
  }
}

.color-label {
  color: #323d3e;
  font-size: 1.3rem;
  font-weight: bold;
}

.color-badge {
  width: 50%;
  margin-top: 30px;
}

@media (min-width: 640px) {
  .color-badge {
    width: 25%;
    padding: 0 12px;
    margin-top: 60px;
  }
}

@media (min-width: 1200px) {
  .color-badge {
    width: 25%;
  }
}

.color-badge p {
  margin: 0;
}

.color-badge .badge {
  width: 140px;
  height: 140px;
  border-radius: 100%;
  margin-top: 10px;
}

@media (min-width: 640px) {
  .color-badge .badge {
    height: 0;
    width: calc(100% - 50px);
    padding-bottom: calc(100% - 50px);
  }
}

.color-badge .badge.bordered {
  border: 1px solid #d5d5d5;
}

.color-meta {
  margin-top: 25px;
  color: #6a7a8a;
}

@media (min-width: 640px) {
  .color-meta {
    font-size: 1.4rem;
  }
}

.contact-box {
  background-color: #F5F5F5;
  border-radius: 8px;
  padding: 30px;
}

@media (min-width: 640px) {
  .contact-box {
    padding: 30px 15px;
  }
}

@media (min-width: 1200px) {
  .contact-box {
    width: 66.6666%;
    margin-left: auto;
  }
}

@media (min-width: 1680px) {
  .contact-box {
    padding: 30px;
  }
}

.btn + .contact-box {
  margin-top: 30px;
}

@media (min-width: 992px) {
  .btn + .contact-box {
    margin-top: 60px;
  }
}

.contact-box ul li + li {
  margin-top: 30px;
}

@media (min-width: 640px) {
  .contact-box ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  .contact-box ul li {
    padding: 0 15px;
    width: 50%;
  }
  .contact-box ul li + li {
    margin-top: 0;
  }
}

@media (min-width: 1200px) {
  .contact-box ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .contact-box ul li {
    width: 100%;
    padding: 0;
  }
  .contact-box ul li + li {
    margin-top: 30px;
  }
}

.contact-box p {
  margin: 0 0 10px;
}

.cta-banner {
  position: relative;
  border-radius: 8px;
  background-color: #F5F5F5;
  overflow: hidden;
  text-align: center;
}

.cta-banner.has-bg {
  background-size: cover;
  background-position: center;
}

.cta-banner.has-bg::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.09)), to(#111111));
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.09) 0%, #111111 100%);
}

.cta-banner.has-bg .cta-banner-title {
  color: #ffffff;
}

@media (min-width: 640px) {
  .cta-banner {
    text-align: left;
  }
}

@media (min-width: 1200px) {
  .cta-banner:not(.is-small) .cta-banner-title {
    font-size: 3.4rem;
    line-height: 1.3;
  }
}

@media (min-width: 1680px) {
  .cta-banner:not(.is-small) .cta-banner-container {
    padding: 80px 120px;
  }
  .cta-banner:not(.is-small) .cta-banner-title {
    font-size: 4rem;
    line-height: 1.2;
  }
}

.cta-banner-container {
  position: relative;
  padding: 30px 15px;
}

@media (min-width: 640px) {
  .cta-banner-container {
    padding: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 100%;
  }
}

@media (min-width: 1680px) {
  .cta-banner-container {
    padding: 60px 80px;
  }
}

.cta-banner-title {
  color: #323d3e;
  font-size: 2rem;
  font-weight: bold;
  display: block;
}

@media (min-width: 640px) {
  .cta-banner-title {
    padding-right: 60px;
  }
}

@media (min-width: 1200px) {
  .cta-banner-title {
    font-size: 3rem;
  }
}

@media (min-width: 1680px) {
  .cta-banner-title {
    font-size: 3.2rem;
    line-height: 1.3;
    padding-right: 80px;
    max-width: 75%;
  }
}

.cta-banner .btn {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-top: 30px;
}

@media (min-width: 640px) {
  .cta-banner .btn {
    margin-top: 0;
    margin-left: auto;
  }
}

.cta-banner .btn svg {
  stroke: white;
}

@media (min-width: 1200px) {
  .dont-labelled-list {
    width: 88.8%;
  }
}

.dont-labelled-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.dont-labelled-list li {
  text-align: center;
  position: relative;
  margin-top: 30px;
}

@media (min-width: 640px) {
  .dont-labelled-list li {
    width: calc(33.3333% - 30px);
    margin-top: 60px;
  }
}

.dont-labelled-list li svg {
  width: 34px;
  height: 34px;
  position: absolute;
  top: -17px;
  right: -12px;
}

.dont-labelled-list li img {
  border: 1px solid #d5d5d5;
  border-radius: 4px;
}

.dont-labelled-list li span {
  display: block;
  margin-top: 10px;
}

@media (min-width: 640px) {
  .download-cards-container {
    position: relative;
  }
  .download-cards-container:not(:first-of-type) .download-cards-container-link {
    top: 35px;
  }
}

@media (min-width: 992px) {
  .download-cards-container:not(:first-of-type) .download-cards-container-link {
    top: 63px;
  }
}

@media (min-width: 1200px) {
  .download-cards-container:not(:first-of-type) .download-cards-container-link {
    top: 68px;
  }
}

.download-cards-container h3 {
  margin-top: 0;
}

@media (min-width: 640px) {
  .download-cards-container-link {
    position: absolute;
    top: 5px;
    right: 0;
  }
}

@media (min-width: 992px) {
  .download-cards-container-link {
    top: 3px;
  }
}

@media (min-width: 1200px) {
  .download-cards-container-link {
    top: 8px;
  }
}

.download-card {
  margin-bottom: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media (min-width: 640px) {
  .download-card {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.download-card-item {
  position: relative;
}

.download-card-item ~ .download-card-item {
  margin-top: 20px;
}

@media (min-width: 640px) {
  .download-card-item ~ .download-card-item {
    margin-top: 0;
  }
}

.download-card-item:hover .download-card-img-wrapper .icon, .download-card-item:focus .download-card-img-wrapper .icon {
  opacity: 1;
}

.download-card-item:hover .download-card-img-wrapper::before, .download-card-item:focus .download-card-img-wrapper::before {
  background-color: #24b8f1;
}

@media (min-width: 640px) {
  .download-card-item {
    width: calc(33.333% - 30px);
  }
}

@media (min-width: 1200px) {
  .download-card-item {
    width: calc(33.333% - 52px);
  }
}

.download-card-img-wrapper {
  border: 1px solid #d5d5d5;
  border-radius: 8px;
  position: relative;
  overflow: hidden;
}

.download-card-img-wrapper img {
  width: 100%;
  margin: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.download-card-img-wrapper svg {
  width: 28px;
  height: 28px;
  stroke: #ffffff;
  margin-bottom: 10px;
}

.download-card-img-wrapper .icon {
  color: #ffffff;
  font-weight: bold;
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  opacity: 0;
}

.download-card-img-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  opacity: 0.7;
}

.download-card-link {
  color: #323d3e;
  font-size: 1.5rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.download-card-link.has-visible-label {
  margin-top: 5px;
}

.download-card-link:hover, .download-card-link:focus {
  color: #323d3e;
}

@media (min-width: 992px) {
  .download-card-link:hover, .download-card-link:focus {
    text-decoration: none;
  }
}

.download-card-link::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.download-card-link svg {
  display: block;
  width: 18px;
  height: 18px;
  stroke: #24b8f1;
}

.download-card.grid-small {
  margin-top: 20px;
}

@media (min-width: 640px) {
  .download-card.grid-small {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-left: -10px;
    margin-right: -10px;
  }
}

@media (min-width: 992px) {
  .download-card.grid-small {
    margin-top: 50px;
  }
}

@media (min-width: 640px) {
  .download-card.grid-small .download-card-item {
    width: calc(33.333% - 20px);
    margin: 10px;
  }
}

.download-card.grid-small .download-card-img-wrapper {
  font-size: 1.3rem;
}

.download-list-file {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 25px 15px 25px auto;
}

@media (min-width: 640px) {
  .download-list-file {
    margin-right: 30px;
  }
}

.download-list-file.multiple-files {
  width: 100%;
  margin: 25px auto 25px 15px;
}

@media (min-width: 640px) {
  .download-list-file.multiple-files {
    width: auto;
    margin: 25px 30px 25px auto;
  }
}

.download-list-file li ~ li {
  margin-left: 40px;
}

.download-list-file a {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #24b8f1;
  -webkit-transition: all .3s ease-out;
  transition: all .3s ease-out;
}

.download-list-file a:hover, .download-list-file a:focus {
  color: #0071ba;
  text-decoration: none;
}

.download-list-file a span:not(.sr-only) {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1;
  color: currentColor;
  margin-top: 6px;
}

.download-list-file a svg {
  width: 30px;
  height: 30px;
  fill: currentColor;
}

.download-list li {
  border-bottom: 1px solid #d5d5d5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.download-list li span {
  color: #323d3e;
  font-weight: 600;
  padding: 25px 15px;
  max-width: calc(100% - 45px);
}

@media (min-width: 640px) {
  .download-list li span {
    padding-left: 30px;
  }
}

.download-list li .download-sub-list {
  display: block;
  width: 100%;
  border-top: 1px solid #d5d5d5;
}

.download-list li .download-sub-list li:last-child {
  border-bottom: 0;
}

.download-list li .download-sub-list li span {
  font-weight: 400;
  padding-left: 30px;
}

@media (min-width: 640px) {
  .download-list li .download-sub-list li span {
    padding-left: 60px;
  }
}

.download-list .download-list-file.multiple-files {
  margin-top: 0;
}

@media (min-width: 640px) {
  .download-list .download-list-file.multiple-files {
    margin-top: 25px;
  }
}

.download-list .download-list-file li {
  padding: 0;
  border: none;
}

.download-list .download-list-file span {
  padding: 0;
}

.download-signature-list {
  margin-top: 30px;
}

@media (min-width: 992px) {
  .download-signature-list {
    margin-top: 60px;
  }
}

.download-signature-list > li {
  border-bottom: 1px solid #d5d5d5;
  padding: 30px 0 10px;
}

@media (min-width: 992px) {
  .download-signature-list > li {
    padding: 30px 0 35px;
  }
}

.download-signature-list > li:first-child {
  border-top: 1px solid #d5d5d5;
}

.download-signature-list > li h3 {
  margin-bottom: 20px;
}

@media (min-width: 992px) {
  .download-signature-list > li h3 {
    margin-bottom: 30px;
  }
}

.download-signature-list > li img {
  display: block;
  margin-top: 20px;
}

.download-signature-list > li .download-signature-preview-list > li {
  margin-bottom: 55px;
}

.download-signature-list > li .download-signature-preview-list > li:last-child {
  margin-bottom: 0;
}

.hero {
  position: relative;
  min-height: 100vh;
  max-height: 800px;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 10;
}

.hero::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(10%, rgba(1, 1, 1, 0.1)), to(#111111));
  background: linear-gradient(0deg, rgba(1, 1, 1, 0.1) 10%, #111111 100%);
}

.hero-logo {
  display: block;
  width: 167px;
  height: 36px;
  position: absolute;
  top: 25px;
  left: 20px;
  z-index: 5;
}

@media (min-width: 640px) {
  .hero-logo {
    width: 200px;
    height: 45px;
    top: 55px;
    left: auto;
  }
}

@media (min-width: 1680px) {
  .hero-logo {
    width: 290px;
    height: 63px;
  }
}

.hero-logo svg {
  width: 100%;
  height: 100%;
}

.hero-image {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.hero-image img, .hero-image picture {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  min-width: 100%;
  max-width: 100%;
  min-height: 100%;
  max-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.hero-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;
  height: 100%;
  min-height: 100vh;
  padding-bottom: 60px;
  position: relative;
}

@media (min-width: 640px) {
  .hero-content {
    padding-bottom: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.hero-content h1 {
  color: #ffffff;
  font-size: 4rem;
  margin: 0;
  max-width: 90%;
}

@media (min-width: 640px) {
  .hero-content h1 {
    max-width: 80%;
  }
}

@media (min-width: 992px) {
  .hero-content h1 {
    font-size: 5rem;
    max-width: 840px;
  }
}

@media (min-width: 1680px) {
  .hero-content h1 {
    font-size: 6rem;
    margin-left: 15%;
  }
}

.hero-anchor {
  display: none;
}

@media (min-width: 640px) {
  .hero-anchor {
    display: block;
    position: absolute;
    left: 50%;
    bottom: 20px;
    z-index: 100;
    width: 30px;
    height: 30px;
    margin-left: -15px;
  }
}

.default-bg {
  background-color: #24b8f1;
}

.default-bg::before {
  display: none;
}

.image-gallery--item {
  width: 100%;
}

.image-gallery--item img {
  width: 100%;
}

.image-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -30px;
  margin-bottom: 30px;
}

@media (min-width: 992px) {
  .image-grid {
    margin-bottom: 60px;
  }
}

.image-grid > * {
  padding-left: 30px;
  margin-top: 30px;
}

.image-grid img {
  border-radius: 8px;
}

.img-fullWidth {
  width: 100%;
}

.img-fullWidth img {
  width: 100%;
  margin-top: 0;
}

@media (min-width: 640px) {
  .uk-width-1-2\@s {
    width: 50%;
  }
}

.image-type {
  scroll-behavior: smooth;
}

.image-type-anchor-nav {
  list-style-type: none;
  counter-reset: item;
  margin: 30px 0 60px;
}

@media (min-width: 992px) {
  .image-type-anchor-nav {
    margin: 60px 0;
  }
}

.image-type-anchor-nav li {
  counter-increment: item;
  margin-bottom: 20px;
}

.image-type-anchor-nav li:last-child {
  margin-bottom: 0;
}

.image-type-anchor-nav a {
  font-size: 2.6rem;
  font-weight: bold;
  color: #323d3e;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (min-width: 640px) {
  .image-type-anchor-nav a {
    max-width: 340px;
  }
}

.image-type-anchor-nav a::before {
  content: counter(item, decimal-leading-zero);
  color: #0071ba;
  display: inline-block;
  padding-right: 5px;
}

.image-type-anchor-nav a svg {
  width: 15px;
  height: 15px;
  fill: #323d3e;
  margin-left: auto;
  position: relative;
  right: 0;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.image-type-anchor-nav a:hover, .image-type-anchor-nav a:focus {
  color: #0071ba;
  text-decoration: none;
}

.image-type-anchor-nav a:hover svg, .image-type-anchor-nav a:focus svg {
  right: -5px;
  fill: #0071ba;
}

.image-type-list {
  counter-reset: item;
}

.image-type-list > div {
  counter-increment: item;
  margin-bottom: 60px;
  scroll-margin-top: 30px;
}

.image-type-list > div:last-of-type {
  margin-bottom: 30px;
}

@media (min-width: 992px) {
  .image-type-list > div {
    margin-bottom: 120px;
  }
  .image-type-list > div:last-of-type {
    margin-bottom: 90px;
  }
}

.image-type-list > div > h3 {
  font-size: 2.6rem;
  font-weight: bold;
  color: #323d3e;
  margin-bottom: 0;
}

.image-type-list > div > h3::before {
  content: counter(item, decimal-leading-zero);
  color: #0071ba;
  display: inline-block;
  padding-right: 5px;
}

.image-type-list > div > .image-grid {
  margin-bottom: 30px;
}

@media (min-width: 992px) {
  .image-type-list > div > .image-grid {
    margin-bottom: 60px;
  }
}

.image-type-list-incorrect {
  background-color: #F5F5F5;
  border-radius: 8px;
  padding: 30px;
}

@media (min-width: 1200px) {
  .image-type-list-incorrect {
    padding: 30px 60px 60px;
  }
}

.image-type-list-incorrect h4 {
  font-size: 2.2rem;
  margin-bottom: 0;
}

.image-type-list-incorrect .image-grid {
  margin-bottom: 0;
}

.image-type-list-incorrect .image-grid > div {
  position: relative;
}

.image-type-list-incorrect .image-grid > div::after {
  content: "";
  position: absolute;
  top: -9px;
  right: -9px;
  width: 18px;
  height: 18px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30.85 30.85'%3E%3Cpath fill='%23ed4646' d='M30.57,24.78h0l-9.36-9.35,9.36-9.36h0a1,1,0,0,0,0-1.37L26.15.28a1,1,0,0,0-1.37,0h0L15.43,9.64,6.07.28h0A1,1,0,0,0,4.7.28L.28,4.7a1,1,0,0,0,0,1.37h0l9.36,9.35L.28,24.78h0a1,1,0,0,0,0,1.37L4.7,30.57a1,1,0,0,0,1.36,0h0l9.37-9.36,9.36,9.36h0a1,1,0,0,0,1.36,0l4.42-4.43a1,1,0,0,0,0-1.36Z'/%3E%3C/svg%3E");
}

.list-link-container {
  margin: 30px 0;
}

@media (min-width: 992px) {
  .list-link-container {
    margin: 60px 0;
  }
}

.list-link-container li {
  border-top: 1px solid #d5d5d5;
  padding: 10px 0;
}

.list-link-container li:last-child {
  border-bottom: 1px solid #d5d5d5;
}

.list-link-container a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 5px 0 10px;
  width: 100%;
}

@media (min-width: 640px) {
  .list-link-container a {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    padding: 5px 0;
  }
}

.list-link-container a:focus, .list-link-container a:hover {
  text-decoration: none;
}

.list-link-container a:focus *, .list-link-container a:hover * {
  color: #0071ba;
  -webkit-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
}

.list-link-container .name {
  display: block;
  width: 100%;
  color: #323d3e;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 15px;
}

@media (min-width: 640px) {
  .list-link-container .name {
    width: auto;
    margin-right: 30px;
    margin-bottom: 0;
  }
}

@media (min-width: 992px) {
  .list-link-container .name {
    max-width: calc(100% - 282px);
  }
}

@media (min-width: 1680px) {
  .list-link-container .name {
    font-size: 2rem;
  }
}

.list-link-container img {
  border-radius: 8px;
  max-width: 122px;
  margin: 0 auto 0 0;
}

@media (min-width: 640px) {
  .list-link-container img {
    margin: 0 30px 0 auto;
  }
}

.list-link-container .cta-preview {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #24b8f1;
  font-weight: bold;
}

@media (min-width: 992px) {
  .list-link-container .cta-preview {
    font-size: 1.6rem;
  }
}

@media (min-width: 1920px) {
  .list-link-container .cta-preview {
    margin-left: 30px;
  }
}

.list-link-container svg {
  width: 16px;
  height: 16px;
  margin-right: 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  fill: currentColor;
}

.uk-lightbox {
  background: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(3px);
          backdrop-filter: blur(3px);
}

.uk-lightbox-items img {
  border-radius: 8px;
}

.uk-lightbox-toolbar {
  background: transparent;
  color: #323d3e;
  font-weight: 600;
  padding: 20px;
}

.uk-lightbox-toolbar .uk-close {
  color: #ffffff;
  background-color: #24b8f1;
  border-radius: 50%;
  padding: 12px;
}

.uk-lightbox-toolbar .uk-close svg {
  width: 18px;
  height: 18px;
}

.uk-lightbox-toolbar .uk-close svg line {
  stroke-width: 2px;
}

.uk-lightbox-button {
  background: transparent;
  color: #24b8f1;
}

.uk-lightbox-button:hover, .uk-lightbox-button:focus {
  color: #0071ba;
}

.uk-lightbox-button svg polyline {
  stroke-width: 2px;
}

.quote-wrapper {
  padding: 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

@media (min-width: 992px) {
  .quote-wrapper {
    padding: 50px 0;
  }
}

.quote-wrapper .quote {
  width: 75%;
  margin: 0;
  padding-left: 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media (min-width: 992px) {
  .quote-wrapper .quote {
    width: 78%;
  }
}

@media (min-width: 1200px) {
  .quote-wrapper .quote {
    padding-left: 60px;
  }
}

@media (min-width: 1680px) {
  .quote-wrapper .quote {
    padding-left: 120px;
  }
}

.quote-wrapper .quote-img {
  width: 25%;
  height: auto;
}

@media (min-width: 992px) {
  .quote-wrapper .quote-img {
    width: 22%;
  }
}

.quote-wrapper .quote blockquote {
  font-size: 1.8rem;
  font-weight: bold;
  font-style: normal;
  color: #0071ba;
}

@media (min-width: 1200px) {
  .quote-wrapper .quote blockquote {
    font-size: 3rem;
    margin-bottom: 45px;
  }
}

@media (min-width: 1680px) {
  .quote-wrapper .quote blockquote {
    font-size: 3.5rem;
  }
}

.quote-wrapper .quote blockquote::before {
  content: "“";
  display: block;
}

.quote-wrapper .quote-author {
  color: #0071ba;
}

.wysiwyg .intro {
  font-size: 1.8rem;
  color: #6a7a8a;
  margin-bottom: 30px;
}

.typography-row--item {
  margin-top: 10px !important;
}

.video-container {
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  height: 0;
}

@media (min-width: 992px) {
  .video-container {
    margin-top: 60px;
  }
}

.video-container .img-preview {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}

.video-container .cta-play {
  z-index: 2;
  padding: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
  border-radius: 100%;
  background-color: #24b8f1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
}

.video-container .cta-play::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-45%, -50%);
          transform: translate(-45%, -50%);
  height: 14px;
  width: 12px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.757 10.008'%3E%3Cpath d='M8.3 4.198 1.415.129A.933.933 0 0 0 0 .936v8.133a.937.937 0 0 0 1.415.807L8.3 5.811a.937.937 0 0 0 0-1.613Z' fill='%23fff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

@media (min-width: 992px) {
  .video-container .cta-play {
    width: 60px;
    height: 60px;
  }
  .video-container .cta-play::after {
    height: 16px;
    width: 14px;
  }
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.video-container video {
  width: 100%;
  height: auto;
}

@media (max-width: 992px) {
  .discover .has-right-nav {
    padding-top: 0;
  }
}

@media (min-width: 1200px) {
  .discover .content h2 {
    margin-bottom: 30px;
  }
}

@media (min-width: 1680px) {
  .discover .content h2 {
    font-size: 4rem;
  }
}

.discover .content h2 span {
  color: #0071ba;
}

.discover .content h3 {
  color: #323d3e;
}

.discover .content p {
  line-height: 1.7;
}

@media (min-width: 1680px) {
  .discover .content p {
    line-height: 1.9;
  }
}

.discover .content li {
  color: #323d3e;
  line-height: 1.7;
}

@media (min-width: 1680px) {
  .discover .content li {
    line-height: 1.9;
  }
}

.discover article {
  padding: 60px 0;
}

@media (min-width: 992px) {
  .discover article {
    min-height: 100vh;
    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;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

@media (min-width: 1200px) {
  .discover article {
    padding: 90px 0;
  }
}

@media (min-width: 1680px) {
  .discover article {
    padding: 120px 0;
  }
}

@media (min-width: 640px) {
  .discover .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.discover .row-md {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

@media (min-width: 992px) {
  .discover .row-md {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

.discover .row-md .col-6 {
  width: 100%;
}

.discover .row-md .col-6:first-of-type {
  padding-right: 0;
}

.discover .row-md .col-6:nth-child(2) {
  padding-left: 0;
}

@media (min-width: 992px) {
  .discover .row-md .col-6 {
    width: 50%;
  }
  .discover .row-md .col-6:first-of-type {
    padding-right: 4%;
  }
  .discover .row-md .col-6:nth-child(2) {
    padding-left: 4%;
  }
}

@media (min-width: 640px) {
  .discover .col-6 {
    width: 50%;
  }
  .discover .col-6:first-of-type {
    padding-right: 4%;
  }
  .discover .col-6:nth-child(2) {
    padding-left: 4%;
  }
}

@media (min-width: 640px) {
  .discover .col-4 {
    width: 33.3333%;
  }
  .discover .col-4:first-of-type {
    padding-right: 4%;
  }
  .discover .col-4:nth-child(2) {
    padding-left: 2%;
    padding-right: 2%;
  }
  .discover .col-4:nth-child(3) {
    padding-left: 4%;
  }
}

[id="hello"] h2 {
  font-size: 5rem;
}

@media (min-width: 1200px) {
  [id="hello"] h2 {
    font-size: 7rem;
  }
}

@media (min-width: 1680px) {
  [id="hello"] h2 {
    font-size: 8rem;
  }
}

[id="hello"] h3 {
  font-size: 2.5rem;
  color: #323d3e;
}

@media (min-width: 992px) {
  [id="hello"] h3 {
    font-size: 2.5rem;
    max-width: 80%;
  }
}

@media (min-width: 1680px) {
  [id="hello"] h3 {
    font-size: 3.5rem;
  }
}

[id="hello"] .img-container {
  overflow: hidden;
}

[id="hello"] .img-container img, [id="hello"] .img-container picture {
  border-radius: 8px;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}

@media (min-width: 640px) {
  [id="hello"] .img-container img, [id="hello"] .img-container picture {
    max-height: 300px;
  }
}

@media (min-width: 992px) {
  [id="hello"] .img-container img, [id="hello"] .img-container picture {
    max-height: none;
    min-height: 100%;
  }
}

article[id="convicion-responsibility"] {
  position: relative;
  padding-bottom: 180px;
}

@media (min-width: 640px) {
  article[id="convicion-responsibility"] {
    padding-bottom: 230px;
  }
}

@media (min-width: 1200px) {
  article[id="convicion-responsibility"] {
    padding-top: 60px;
    padding-bottom: 310px;
    margin-top: 60px;
  }
  article[id="convicion-responsibility"]::before {
    content: "";
    background: url(../images/discover/giant-rosace.svg);
    position: absolute;
    top: 0;
    right: -100px;
    width: 480px;
    height: 480px;
  }
}

@media (min-width: 1680px) {
  article[id="convicion-responsibility"] {
    padding-bottom: 360px;
  }
}

article[id="convicion-responsibility"] .convicion-decoration {
  position: absolute;
  bottom: 0;
  width: 135px;
}

@media (min-width: 640px) {
  article[id="convicion-responsibility"] .convicion-decoration {
    width: 180px;
  }
}

@media (min-width: 1200px) {
  article[id="convicion-responsibility"] .convicion-decoration {
    width: 260px;
  }
}

@media (min-width: 1680px) {
  article[id="convicion-responsibility"] .convicion-decoration {
    width: 325px;
  }
}

[id="manifesto"] {
  position: relative;
}

@media (min-width: 1200px) {
  [id="manifesto"] .manifesto-container {
    width: 88.8888%;
  }
}

[id="manifesto"] .manifesto-moon {
  display: none;
}

@media (min-width: 1200px) {
  [id="manifesto"] .manifesto-moon {
    display: block;
    position: absolute;
    top: 112px;
    right: 0;
    width: 120px;
    height: 60px;
  }
}

@media (min-width: 1920px) {
  [id="manifesto"] .manifesto-moon {
    width: 160px;
    height: 80px;
  }
}

[id="manifesto"] p {
  color: #6a7a8a;
  font-weight: bold;
}

@media (min-width: 1200px) {
  [id="manifesto"] p {
    font-size: 2rem;
  }
}

[id="personality"] h3 {
  margin-top: 0;
}

@media (min-width: 992px) {
  [id="personality"] h3 {
    margin-bottom: 20px;
  }
}

[id="personality"] p {
  margin: 0;
}

[id="personality"] .row:not(:first-of-type) .col-6 {
  margin-top: 30px;
}

@media (min-width: 992px) {
  [id="personality"] .row:not(:first-of-type) .col-6 {
    margin-top: 60px;
  }
}

[id="personality"] .rounded-img {
  display: none;
}

@media (min-width: 992px) {
  [id="personality"] .rounded-img {
    display: block;
    max-width: 65%;
  }
}

[id="name-identity"] h3 {
  margin-top: 0;
}

@media (min-width: 992px) {
  [id="name-identity"] h3 {
    margin-bottom: 20px;
  }
}

[id="name-identity"] h3 span {
  color: #0071ba;
  display: block;
}

[id="name-identity"] .col-6 {
  margin-top: 30px;
}

@media (min-width: 992px) {
  [id="name-identity"] .col-6 {
    margin-top: 60px;
  }
}

[id="name-identity"] .col-6 p:last-of-type {
  margin-bottom: 0;
}

[id="name-identity"] .img-margin {
  margin-top: 0;
}

@media (min-width: 992px) {
  [id="name-identity"] .img-margin {
    margin-top: 60px;
  }
}

@media (min-width: 640px) {
  [id="name-identity"] .img-margin-logo img {
    margin-top: 50px;
  }
}

@media (min-width: 1200px) {
  [id="name-identity"] .img-margin-logo img {
    margin-top: 60px;
  }
}

[id="vision-mission"] h3 {
  font-size: 2.5rem;
}

@media (min-width: 1200px) {
  [id="vision-mission"] h3 {
    font-size: 3.5rem;
  }
}

@media (min-width: 1680px) {
  [id="vision-mission"] h3 {
    font-size: 4rem;
  }
}

[id="vision-mission"] .mission {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  padding: 40px 25px 120px;
  margin-top: 40px;
}

@media (min-width: 1200px) {
  [id="vision-mission"] .mission {
    padding: 60px 80px 200px;
  }
}

[id="vision-mission"] .mission::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

@media (min-width: 1200px) {
  [id="vision-mission"] .mission::before {
    display: none;
  }
}

[id="vision-mission"] .mission-content {
  position: relative;
}

@media (min-width: 640px) {
  [id="vision-mission"] .mission-content {
    max-width: 55%;
  }
}

@media (min-width: 1680px) {
  [id="vision-mission"] .mission-content {
    max-width: calc(50% - 8.33333333%);
  }
}

[id="vision-mission"] .mission-content h3 {
  font-size: 2.2rem;
}

@media (min-width: 1200px) {
  [id="vision-mission"] .mission-content h3 {
    font-size: 3rem;
  }
}

@media (min-width: 1680px) {
  [id="vision-mission"] .mission-content h3 {
    font-size: 3.5rem;
  }
}

[id="vision-mission"] .mission-content h3, [id="vision-mission"] .mission-content h3 + p {
  color: #ffffff;
}

[id="vision-mission"] .mission-img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

[id="vision-mission"] .mission-img img, [id="vision-mission"] .mission-img picture {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 0;
  height: 0;
  min-width: 100%;
  max-width: 100%;
  min-height: 100%;
  max-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

[id="client-relashionships"] .sub-title {
  font-size: 2rem;
  color: #323d3e;
  display: block;
  margin-top: 15px;
}

@media (min-width: 1200px) {
  [id="client-relashionships"] .sub-title {
    font-size: 2.6rem;
    margin-top: 0;
  }
}

[id="client-relashionships"] .circular-img-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

[id="client-relashionships"] .circular-img-container .circular-img {
  display: none;
}

@media (min-width: 1680px) {
  [id="client-relashionships"] .circular-img-container .circular-img {
    display: block;
    margin-top: auto;
  }
}

[id="client-relashionships"] .img-rounded-border {
  width: 100%;
}

@media (min-width: 992px) {
  [id="client-relashionships"] .img-rounded-border {
    height: 100%;
  }
}

[id="brand-essence-tagline"] h2 {
  margin-bottom: 20px;
}

@media (min-width: 1200px) {
  [id="brand-essence-tagline"] h2 {
    margin-bottom: 30px;
  }
}

[id="brand-essence-tagline"] .tagline {
  font-size: 2rem;
  color: #0071ba;
  display: block;
  margin: 20px 0 10px;
}

@media (min-width: 1200px) {
  [id="brand-essence-tagline"] .tagline {
    font-size: 3rem;
    margin-bottom: 20px;
  }
}

@media (min-width: 1680px) {
  [id="brand-essence-tagline"] .tagline {
    font-size: 4rem;
  }
}

[id="brand-essence-tagline"] .tagline + p {
  margin-top: 0;
}

@media (min-width: 640px) {
  [id="brand-essence-tagline"] .tagline-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 60px;
  }
}

@media (min-width: 640px) {
  [id="brand-essence-tagline"] .tagline-content {
    max-width: 60%;
  }
}

@media (min-width: 992px) {
  [id="brand-essence-tagline"] .tagline-content {
    max-width: 60%;
  }
}

[id="brand-essence-tagline"] .tagline-img {
  text-align: right;
}

@media (min-width: 640px) {
  [id="brand-essence-tagline"] .tagline-img {
    text-align: left;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    margin-top: 45px;
    width: 25%;
  }
}

@media (min-width: 1200px) {
  [id="brand-essence-tagline"] .tagline-img {
    margin-top: 50px;
  }
}

[id="brand-essence-tagline"] .tagline-img img {
  width: 100px;
  height: 50px;
}

@media (min-width: 640px) {
  [id="brand-essence-tagline"] .tagline-img img {
    width: 120px;
    height: 60px;
  }
}

@media (min-width: 1200px) {
  [id="brand-essence-tagline"] .tagline-img img {
    width: 160px;
    height: 80px;
  }
}

[id="tone-of-voice"] h2:first-of-type {
  margin-bottom: 0;
}

[id="tone-of-voice"] .row {
  margin-top: 40px;
}

@media (min-width: 1200px) {
  [id="tone-of-voice"] .row {
    margin-top: 60px;
  }
}

[id="tone-of-voice"] .row .col-6 > div {
  margin-bottom: 25px;
}

@media (min-width: 992px) {
  [id="tone-of-voice"] .row .col-6 > div {
    margin-bottom: 45px;
  }
}

[id="tone-of-voice"] .tone-of-voice-intro p {
  margin: 0;
}

[id="tone-of-voice"] .intro-content h3 {
  margin-bottom: 20px;
}

[id="tone-of-voice"] .intro-content:first-of-type {
  margin: 30px 0;
}

@media (min-width: 992px) {
  [id="tone-of-voice"] .intro-content:first-of-type {
    margin: 0 0 60px;
  }
}

[id="tone-of-voice"] .intro-content:first-of-type h3 {
  margin-top: 0;
}

[id="tone-of-voice"] .pillars,
[id="tone-of-voice"] .do-dont,
[id="tone-of-voice"] .vocabulary,
[id="tone-of-voice"] .tips {
  margin-top: 80px;
}

@media (min-width: 1200px) {
  [id="tone-of-voice"] .pillars,
  [id="tone-of-voice"] .do-dont,
  [id="tone-of-voice"] .vocabulary,
  [id="tone-of-voice"] .tips {
    margin-top: 200px;
  }
}

[id="tone-of-voice"] .pillars h2 {
  margin-bottom: 15px;
}

[id="tone-of-voice"] .pillars h3 {
  margin-top: 0;
}

[id="tone-of-voice"] .pillars h3 span {
  color: #0071ba;
}

[id="tone-of-voice"] .do-dont-category:not(:first-of-type) {
  margin-top: 60px;
}

@media (min-width: 1200px) {
  [id="tone-of-voice"] .do-dont-category:not(:first-of-type) {
    margin-top: 120px;
  }
}

[id="tone-of-voice"] .do-dont-grid {
  margin-top: 0;
}

@media (min-width: 640px) {
  [id="tone-of-voice"] .do-dont-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 8%;
    grid-template-areas: "header1 header2" "line1 line3" "line2 line4";
  }
}

@media (min-width: 992px) {
  [id="tone-of-voice"] .do-dont h3 {
    margin-top: 15px;
  }
}

[id="tone-of-voice"] .do-dont h4 {
  font-size: 1.7rem;
  position: relative;
}

@media (min-width: 1200px) {
  [id="tone-of-voice"] .do-dont h4 {
    font-size: 2.2rem;
    line-height: 1.5;
  }
}

[id="tone-of-voice"] .do-dont h4::before {
  content: "";
  position: absolute;
  top: 3px;
  left: -50px;
  width: 30px;
  height: 30px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

@media (min-width: 992px) {
  [id="tone-of-voice"] .do-dont h4::before {
    top: 6px;
    left: -40px;
    width: 25px;
    height: 25px;
  }
}

@media (min-width: 1680px) {
  [id="tone-of-voice"] .do-dont h4::before {
    top: 3px;
    left: -50px;
    width: 30px;
    height: 30px;
  }
}

[id="tone-of-voice"] .do-dont .header1,
[id="tone-of-voice"] .do-dont .header2,
[id="tone-of-voice"] .do-dont .line1,
[id="tone-of-voice"] .do-dont .line2,
[id="tone-of-voice"] .do-dont .line3,
[id="tone-of-voice"] .do-dont .line4 {
  padding-left: 60px;
}

@media (min-width: 640px) {
  [id="tone-of-voice"] .do-dont .header1,
  [id="tone-of-voice"] .do-dont .header2,
  [id="tone-of-voice"] .do-dont .line1,
  [id="tone-of-voice"] .do-dont .line2,
  [id="tone-of-voice"] .do-dont .line3,
  [id="tone-of-voice"] .do-dont .line4 {
    padding-left: 50px;
  }
}

@media (min-width: 992px) {
  [id="tone-of-voice"] .do-dont .header1,
  [id="tone-of-voice"] .do-dont .header2,
  [id="tone-of-voice"] .do-dont .line1,
  [id="tone-of-voice"] .do-dont .line2,
  [id="tone-of-voice"] .do-dont .line3,
  [id="tone-of-voice"] .do-dont .line4 {
    padding-left: 0;
  }
}

[id="tone-of-voice"] .do-dont .header1 {
  grid-area: header1;
}

[id="tone-of-voice"] .do-dont .header1 h3 {
  color: #24b8f1;
}

[id="tone-of-voice"] .do-dont .header2 {
  grid-area: header2;
  margin-top: 50px;
}

@media (min-width: 640px) {
  [id="tone-of-voice"] .do-dont .header2 {
    margin-top: 0;
  }
}

[id="tone-of-voice"] .do-dont .line1 {
  grid-area: line1;
}

[id="tone-of-voice"] .do-dont .line2 {
  grid-area: line2;
  margin-top: 40px;
}

[id="tone-of-voice"] .do-dont .line3 {
  grid-area: line3;
}

[id="tone-of-voice"] .do-dont .line4 {
  grid-area: line4;
  margin-top: 40px;
}

[id="tone-of-voice"] .do-dont .line1 h4::before,
[id="tone-of-voice"] .do-dont .line2 h4::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36'%3E%3Cpath fill='%2322b4ad' d='M12.23,30.9.53,19.2a1.79,1.79,0,0,1,0-2.55h0L3.07,14.1a1.81,1.81,0,0,1,2.55,0h0L13.5,22,30.38,5.1a1.81,1.81,0,0,1,2.55,0h0l2.54,2.55a1.79,1.79,0,0,1,0,2.55h0L14.77,30.9a1.8,1.8,0,0,1-2.54,0Z'/%3E%3C/svg%3E ");
}

[id="tone-of-voice"] .do-dont .line3 h4::before,
[id="tone-of-voice"] .do-dont .line4 h4::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30.85 30.85'%3E%3Cpath fill='%23ed4646' d='M30.57,24.78h0l-9.36-9.35,9.36-9.36h0a1,1,0,0,0,0-1.37L26.15.28a1,1,0,0,0-1.37,0h0L15.43,9.64,6.07.28h0A1,1,0,0,0,4.7.28L.28,4.7a1,1,0,0,0,0,1.37h0l9.36,9.35L.28,24.78h0a1,1,0,0,0,0,1.37L4.7,30.57a1,1,0,0,0,1.36,0h0l9.37-9.36,9.36,9.36h0a1,1,0,0,0,1.36,0l4.42-4.43a1,1,0,0,0,0-1.36Z'/%3E%3C/svg%3E");
}

[id="tone-of-voice"] .vocabulary {
  position: relative;
}

@media (min-width: 1200px) {
  [id="tone-of-voice"] .vocabulary::before {
    content: "";
    background: url(../images/discover/giant-rosace.svg);
    position: absolute;
    bottom: -240px;
    right: -100px;
    width: 480px;
    height: 480px;
  }
}

[id="tone-of-voice"] .vocabulary-intro {
  color: #6a7a8a;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 0;
}

@media (min-width: 640px) {
  [id="tone-of-voice"] .vocabulary-intro {
    font-size: 2.6rem;
    width: 66.666%;
  }
}

@media (min-width: 1200px) {
  [id="tone-of-voice"] .vocabulary-intro {
    font-size: 2.6rem;
    width: 50%;
  }
}

[id="tone-of-voice"] .vocabulary h3 {
  margin-top: 0;
  color: #0071ba;
}

[id="tone-of-voice"] .vocabulary li {
  margin-bottom: 10px;
}

@media (min-width: 640px) {
  [id="tone-of-voice"] .vocabulary .col-4 {
    width: 33.3333%;
  }
}

[id="tone-of-voice"] .vocabulary .col-4:not(:first-of-type) {
  margin-top: 35px;
}

@media (min-width: 640px) {
  [id="tone-of-voice"] .vocabulary .col-4:not(:first-of-type) {
    margin-top: 0;
  }
}

[id="tone-of-voice"] .tips p {
  margin: 0;
}

[id="tone-of-voice"] .tips p:first-of-type {
  margin-top: 15px;
}

[id="tone-of-voice"] .tips strong {
  display: block;
}

[id="tone-of-voice"] .tips .tips-intro {
  margin-top: 40px;
}

@media (min-width: 992px) {
  [id="tone-of-voice"] .tips .tips-intro {
    width: 75%;
    margin-bottom: 60px;
  }
}

@media (min-width: 1200px) {
  [id="tone-of-voice"] .tips .tips-intro {
    width: 66.6666%;
  }
}

@media (min-width: 640px) {
  [id="tone-of-voice"] .tips .col-4 strong {
    margin-top: 40px;
  }
  [id="tone-of-voice"] .tips .col-4 strong:first-of-type {
    margin-top: 0;
  }
}

[id="tone-of-voice"] .tips .col-4 .img-rounded-border {
  margin-bottom: 10px;
}

@media (min-width: 640px) {
  [id="tone-of-voice"] .tips .col-4 .img-rounded-border {
    max-width: 75%;
  }
}

@media (min-width: 1680px) {
  [id="tone-of-voice"] .tips .col-4 .img-rounded-border {
    max-width: 65%;
  }
}

[id="tone-of-voice"] .tips .col-4 strong {
  color: #0071ba;
  margin-top: 30px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsImFic3RyYWN0cy9faGVscGVycy5zY3NzIiwiYmFzZXMvX2ZvbnRzLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2Jhc2Uuc2NzcyIsInVpa2l0L3ZhcmlhYmxlcy10aGVtZS5zY3NzIiwidWlraXQvbWl4aW5zLXRoZW1lLnNjc3MiLCJhYnN0cmFjdHMvX3ZhcmlhYmxlcy5zY3NzIiwidWlraXQvY29tcG9uZW50cy9saW5rLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2hlYWRpbmcuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvZGl2aWRlci5zY3NzIiwidWlraXQvY29tcG9uZW50cy9taXhpbi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9saXN0LnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2Rlc2NyaXB0aW9uLWxpc3Quc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvdGFibGUuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvaWNvbi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9mb3JtLXJhbmdlLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2Zvcm0uc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvYnV0dG9uLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3NlY3Rpb24uc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvY29udGFpbmVyLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2dyaWQuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvdGlsZS5zY3NzIiwidWlraXQvY29tcG9uZW50cy9jYXJkLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2Nsb3NlLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3NwaW5uZXIuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvdG90b3Auc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvbWFya2VyLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2FsZXJ0LnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2JhZGdlLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2xhYmVsLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL292ZXJsYXkuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvYXJ0aWNsZS5zY3NzIiwidWlraXQvY29tcG9uZW50cy9jb21tZW50LnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3NlYXJjaC5zY3NzIiwidWlraXQvY29tcG9uZW50cy9uYXYuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvbmF2YmFyLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3N1Ym5hdi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9icmVhZGNydW1iLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3BhZ2luYXRpb24uc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvdGFiLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3NsaWRlbmF2LnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2RvdG5hdi5zY3NzIiwidWlraXQvY29tcG9uZW50cy90aHVtYm5hdi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9hY2NvcmRpb24uc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvZHJvcC5zY3NzIiwidWlraXQvY29tcG9uZW50cy9kcm9wZG93bi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9tb2RhbC5zY3NzIiwidWlraXQvY29tcG9uZW50cy9saWdodGJveC5zY3NzIiwidWlraXQvY29tcG9uZW50cy9zbGlkZXNob3cuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvc2xpZGVyLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3N0aWNreS5zY3NzIiwidWlraXQvY29tcG9uZW50cy9vZmZjYW52YXMuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvc3dpdGNoZXIuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvbGVhZGVyLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2ljb25uYXYuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvbm90aWZpY2F0aW9uLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3Rvb2x0aXAuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvcGxhY2Vob2xkZXIuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvcHJvZ3Jlc3Muc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvc29ydGFibGUuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvY291bnRkb3duLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL2FuaW1hdGlvbi5zY3NzIiwidWlraXQvY29tcG9uZW50cy93aWR0aC5zY3NzIiwidWlraXQvY29tcG9uZW50cy9oZWlnaHQuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvdGV4dC5zY3NzIiwidWlraXQvY29tcG9uZW50cy9jb2x1bW4uc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvY292ZXIuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvYmFja2dyb3VuZC5zY3NzIiwidWlraXQvY29tcG9uZW50cy9hbGlnbi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9zdmcuc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvdXRpbGl0eS5zY3NzIiwidWlraXQvY29tcG9uZW50cy9mbGV4LnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL21hcmdpbi5zY3NzIiwidWlraXQvY29tcG9uZW50cy9wYWRkaW5nLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3Bvc2l0aW9uLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3RyYW5zaXRpb24uc2NzcyIsInVpa2l0L2NvbXBvbmVudHMvdmlzaWJpbGl0eS5zY3NzIiwidWlraXQvY29tcG9uZW50cy9pbnZlcnNlLnNjc3MiLCJ1aWtpdC9jb21wb25lbnRzL3ByaW50LnNjc3MiLCJiYXNlcy9fYmFzZS5zY3NzIiwiYmFzZXMvX3R5cG9ncmFwaHkuc2NzcyIsImxheW91dC9fZ3JpZC5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fbWFpbi1uYXYuc2NzcyIsImxheW91dC9fc2lkZS1uYXYuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19hcnRpY2xlLWludHJvLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19jb2xvci1iYWRnZS5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1ib3guc2NzcyIsImNvbXBvbmVudHMvX2N0YS1iYW5uZXIuc2NzcyIsImNvbXBvbmVudHMvX2RvbnQuc2NzcyIsImNvbXBvbmVudHMvX2Rvd25sb2FkLWNhcmQuc2NzcyIsImNvbXBvbmVudHMvX2Rvd25sb2FkLWxpc3Quc2NzcyIsImNvbXBvbmVudHMvX2hlcm8uc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlLWdhbGxlcnkuc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlLWdyaWQuc2NzcyIsImNvbXBvbmVudHMvX2ltYWdlLWRvLWRvbnQuc2NzcyIsImNvbXBvbmVudHMvX2xpc3QtbGluay13aXRoLW1vZGFsLnNjc3MiLCJjb21wb25lbnRzL19xdW90ZS5zY3NzIiwiY29tcG9uZW50cy9fdGV4dC5zY3NzIiwiY29tcG9uZW50cy9fdHlwb2dyYXBoeS1yb3cuc2NzcyIsImNvbXBvbmVudHMvX3ZpZGVvLnNjc3MiLCJwYWdlL19kaXNjb3Zlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7R0FFRztBQWdDSDs7Ozs7O0dBTUc7QUF1RUg7Ozs7OztHQU1HO0FDckhIOzs7RUFHRTtBQ0hGLGtHQUFZO0FESVo7RUFDSSxxQkFBb0I7RUFDcEIsMENBQXlDO0VBQ3pDLHlDQUF3QztFQUN4QyxpQ0FBZ0M7RUFDaEMsdUJBQXNCO0VBQ3RCLDRCQUEyQjtFQUMzQixzQkFBcUI7RUFDckIsOEJBQTZCO0VBQzdCLHNCQUFxQjtFQUNyQiwrQkFBOEI7Q0FDakM7O0FBQ0Q7RUFDSSxvQkFBbUI7Q0FDdEI7O0FESEc7RUNNQTtJQUNJLGlCQUFnQjtHQUNuQjtFQUNEO0lBQ0ksbUJBQWtCO0dBQ3JCO0VBVkw7SUFZUSxxQkFBb0I7R0FDdkI7Q0ZxQko7O0FFbEJEO0VBQ0kseUJBQXdCO0NBQzNCOztBRWdERDs7OEVBRThFO0FBRTlFOzs7OztHQUtHO0FBRUg7RUFD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b0I7RUMyY1Usb0REaWtCdUI7VUNqa0J2Qiw0Q0Rpa0J1QjtDa0JuMkJ4RDs7QUFFRDtFakJpU21DLGlDRGxZWjtDa0JtR3RCOztBQUVEO0VqQjhSbUMsOEJEbllaO0NrQnVHdEI7O0FBRUQ7O0dBRUc7QUF4Q2lDO0VBMkNoQyxvQmxCek8rQjtFa0IwTy9CLFlsQnhQdUI7RUM2Z0JDLG1ERDZqQjZCO1VDN2pCN0IsMkNENmpCNkI7Q2tCaDFCeEQ7O0FBRUQ7RUFDSSxZbEI3UHVCO0NrQitQMUI7O0FBRUQ7RUFDSSwwQmxCcFArQjtFQ2lnQkQsb0RENGpCdUI7VUM1akJ2Qiw0Q0Q0akJ1QjtDa0J2MEJ4RDs7QUFRRDs7R0FFRztBQWxFdUQ7RUFxRXRELGlCbEI5TThCO0VrQitNOUIsWWxCbFJ1QjtFQ2doQkcsbUREMGpCMkI7VUMxakIzQiwyQ0QwakIyQjtDa0J0ekJ4RDs7QUFFRDtFQUNJLFlsQnZSdUI7Q2tCeVIxQjs7QUFFRDtFQUNJLHVCbEJ6TjhCO0VDK2NFLG9ERHlqQnFCO1VDempCckIsNENEeWpCcUI7Q2tCN3lCeEQ7O0FBU0Q7OEVBQzhFO0FBRTlFOztHQUVHO0FBRUg7O0VBQytCLG1CbEJ6VFg7Q2tCeVQ2Rjs7QUFFakg7RUFBaUMsbUJsQjNUYjtDa0IyVG1HOztBQUN2SDtFQUFpQyxtQmxCNVRiO0NrQjRUbUc7O0FBRXZIOztHQUVHO0FBRUgsd0JBQXdCO0FBQ3hCO0VBRUk7O0lBQytCLG1CbEJMVDtHa0JLK0Y7RUFFckg7SUFBaUMsbUJsQlBYO0drQk9xRztFQUMzSDtJQUFpQyxtQmxCUlg7R2tCUXFHO0N2Qm1uRzlIOztBTTc1Rkc7O09BRUc7QUFFSDtFQUNJLG1CRHBmWTtFQ3FmWixvQkRyZlk7Q0NzZmY7O0FBQ0Q7RUFDSSxrQkFBaUQ7RUFDakQscUJBQW9EO0NBQ3ZEOztBQUVEOzs7RUFHSSxtQkQvZlk7RUNnZ0JaLG9CRGhnQlk7Q0NpZ0JmOztBQUVEO0VBQTRDLG1CQUE4RTtDQUFJOztBQUc5SCx3QkFBd0I7QUFDeEI7RUFwQkE7SUF1QlEsbUJEdmdCZTtJQ3dnQmYsb0JEeGdC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MGxDdEI7O0FBcElEO0VBQ0ksOENEdjlCbUI7Q0N5OUJ0Qjs7QUFFRDtFQUNJLDRDRDU5Qm1CO0NDODlCdEI7O0FBRUQ7Ozs7Ozs7Ozs7OztFQUVJLDhDRGwrQm1CO0NDbytCdEI7O0FBNVFEO0VLcHNCQSwwWEFBMEM7Q0x1c0J6Qzs7QUFFRDs7Ozs7Ozs7Ozs7O0VBRUksOENEL3RCbUI7Q0NpdUJ0Qjs7QUFFRDtFQUNJLDJDRHB1Qm1CO0NDc3VCdEI7O0FBRUQ7RUFDSSw0Q0R6dUJtQjtDQzJ1QnRCOztBQW9YRDtFQUNJLDJDRGhtQ21CO0NDa21DdEI7O0FBMGVEO0VBQ0ksMkNEN2tEbUI7RUM4a0RuQiw4Q0Q5a0RtQjtDQytrRHRCOztBQUhEO0VBcGV5QywyQ0R4bUNsQjtDQ3dtQ3dFOztBQUUvRjtFS3RsQ0Esa1VBQTBDO0NMeWxDekM7O0FBL0dEO0VBQ0ksZ0NELy9CbUI7Q0NpZ0N0Qjs7QUFFRDs7Ozs7Ozs7Ozs7O0VBRUksZ0NEcmdDbUI7Q0N1Z0N0Qjs7QUFFRDs7Ozs7Ozs7Ozs7O0VBRUksZ0NEM2dDbUI7Q0M2Z0N0Qjs7QUFNRDtFQUNJLDJDRHBoQ21CO0VDcWhDbkIsZ0NEcmhDbUI7Q0N1aEN0Qjs7QUFFRDs7Ozs7Ozs7Ozs7O0VBRUksMkNEaGRQO0VDaWRPLGdDRDVoQ21CO0NDOGhDdEI7O0FBRUQ7RUFDSSwyQ0RqZFA7RUNrZE8sZ0NEbGlDbUI7Q0NvaUN0Qjs7QUF4TkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBR0ksMkNELzBCbUI7RUNnMUJuQixnQ0RoMUJtQjtFQ2kxQm5CLDZCQUE0QjtFQWRSLHVDRG4wQkQ7Q0N5MUJ0Qjs7QUFMRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFDSSwyQ0RyMUJlO0VDczFCZixnQ0R0MUJlO0VDbzBCTyx1Q0RwMEJQO0NDdzFCbEI7O0FBT0w7RUFBbUMsMkNBQWlEO0NBQUk7O0FBQ3hGO0VBQXlCLGdDRGgyQkY7Q0NnMkI0Qzs7QUFBbkU7RUFBeUIsZ0NEaDJCRjtDQ2cyQjRDOztBQUFuRTtFQUF5QixnQ0RoMkJGO0NDZzJCNEM7O0FBRW5FO0VBQXNDLDJDQUFpRDtDQUFJOztBQUMzRjtFQUE0QixnQ0RuMkJMO0NDbTJCK0M7O0FBQXRFO0VBQTRCLGdDRG4yQkw7Q0NtMkIrQzs7QUFBdEU7RUFBNEIsZ0NEbjJCTDtDQ20yQitDOztBQU10RTtFS3IxQkEsMmJBQTBDO0NMcTFCMEY7O0FBTXBJOzs7Ozs7Ozs7Ozs7RUszMUJBLHdVQUEwQztDTDQxQjZFOztBQU12SDs7Ozs7Ozs7Ozs7O0VBRUksMkNEM1lQO0VDd1ZpQyx1Q0RyMEJQO0NDMDNCdEI7O0FBR0Q7Ozs7Ozs7Ozs7OztFQXZEb0MsdUNEdDBCYjtDQ2c0QnRCOztBQUdEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdJLHVCRHQ0Qm1CO0VDdTBCZSx1Q0R2MEJmO0NDdzRCdEI7O0FBR0Q7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBR0ksMEJEM1pQO0NDNlpJOztBQUdEO0VLLzNCQSxvVEFBMEM7Q0wrM0IyRTs7O0FBQ3JIOzs7Ozs7Ozs7OztFS2g0QkEsb1ZBQTBDO0NMZzRCaUY7OztBQUMzSDs7Ozs7Ozs7Ozs7RUtqNEJBLHdVQUEwQztDTGk0QnFHOztBQUcvSTtFQS9FOEIsWUR6MEJQO0NDMDVCdEI7O0FBR0Q7RUFBZ0IsZ0NENzVCTztDQzY1QjRCOztBQUNuRDtFQUFzQixnQ0Q5NUJDO0NDODVCd0M7O0FBeGdCL0Q7RUFDSSw4QkR4S3VDO0VDeUt2QyxZRHhabUI7RUNpWVcsdUNEallYO0NDMFp0Qjs7QUFFRDs7Ozs7Ozs7Ozs7O0VBRUksOEJEN0s2QztFQzhLN0MsWUQvWm1CO0VDa1lpQixtQkRsWWpCO0NDaWF0Qjs7QUFFRDs7Ozs7Ozs7Ozs7O0VBRUksOEJEbEw4QztFQ21MOUMsWUR0YW1CO0VDbVlrQixtQkRuWWxCO0NDd2F0Qjs7QUFNRDtFQUNJLHVCRC9hbUI7RUNnYm5CLFlEbmJXO0NDcWJkOztBQUVEOzs7Ozs7Ozs7Ozs7RUFFSSwwQkQ1TFA7RUM2TE8sWUQxYlc7Q0M0YmQ7O0FBRUQ7Ozs7Ozs7Ozs7OztFQUVJLDBCRDlMUDtFQytMTyxZRGpjVztDQ21jZDs7QUFNRDtFQUNJLHVCRHZjbUI7RUN3Y25CLFlEM2NXO0NDNmNkOztBQUVEOzs7Ozs7Ozs7Ozs7RUFFSSwwQkR4TVA7RUN5TU8sWURsZFc7Q0NvZGQ7O0FBRUQ7Ozs7Ozs7Ozs7OztFQUVJLDBCRDFNUDtFQzJNTyxZRHpkVztDQzJkZDs7QUFNRDtFQUNJLFlEL2RtQjtDQ2lldEI7O0FBdEZEO0VBQVksMEJEM1lXO0NDMlk0Qzs7QUF3Rm5FOzs7Ozs7Ozs7Ozs7RUFFSSxZRHJlbUI7Q0N1ZXRCOztBQUVEO0VBQ0ksZ0NEMWVtQjtDQzRldEI7O0FBTUQ7RUFDSSxnQ0RuZm1CO0NDcWZ0Qjs7QUFFRDs7Ozs7Ozs7Ozs7O0VBQ3dCLGdDRHhmRDtDQ3dmNEM7O0FBNGFuRTtFQUFvRCw0Q0RwNkI3QjtDQ282QmdGOztBQUN2RztFQUEyRCwyQ0RyNkJwQztDQ3E2QnNGOztBQTVTN0c7RUFDSSxnQ0QxbkJtQjtDQzRuQnRCOztBQUVEOzs7Ozs7Ozs7Ozs7RUFFSSxnQ0Rob0JtQjtDQ2tvQnRCOztBQWdmRDtFQUNJLGdDRG5uQ21CO0NDcW5DdEI7O0FBRUQ7Ozs7Ozs7Ozs7OztFQUVJLGdDRHpuQ21CO0NDMm5DdEI7O0FBRUQ7RUFDSSxZRDluQ21CO0NDZ29DdEI7O0FBOWhDRDtFQUNJLHVCRG5HbUI7RUNvR25CLFlEdkdXO0NDeUdkOztBQUVEOzs7Ozs7Ozs7Ozs7RUFFSSxZRDdHVztDQytHZDs7QUF5aENEO0VBQ0ksdUJEdG9DbUI7RUN1b0NuQixZRDFvQ1c7Q0M0b0NkOztBQXJqQ0Q7RUFDSSxnQ0RyRm1CO0NDdUZ0Qjs7QUEyakNEO0VBQW1CLGdDRGxwQ0k7Q0NrcEM0Qjs7QUFFbkQ7RUFBeUMsMkNBQW1EO0NBQUk7O0FBQ2hHO0VBQWdDLGdDRHJwQ1Q7Q0NxcENxRDs7QUFBNUU7RUFBZ0MsZ0NEcnBDVDtDQ3FwQ3FEOztBQUE1RTtFQUFnQyxnQ0RycENUO0NDcXBDcUQ7O0FBQTVFO0VBQWdDLGdDRHJwQ1Q7Q0NxcENxRDs7QUFPNUU7RUFBNkIsZ0NENXBDTjtDQzRwQzJDOztBQUNsRTtFQUFtQyxnQ0Q3cENaO0NDNnBDaUQ7O0FBTXhFO0VBQ0ksOEJEN1N1QztFQzQ1QkgsdUNEbnhEakI7Q0NzcUN0Qjs7QUFDRDtFQUNJLDhCRGpUdUM7Q0NtVDFDOztBQUVEO0VBQ0ksOEJEcFRzQztDQ3NUekM7O0FBRUQ7RUFDSSw4QkR4VHFDO0NDMFR4Qzs7QUFNRDtFQUNJLGdDRDNyQ21CO0NDNnJDdEI7O0FBRUQ7Ozs7Ozs7Ozs7OztFQUVJLGdDRGpzQ21CO0NDbXNDdEI7O0FBU0Q7RUt4ckNBLHVYQUEwQztDTDJyQ3pDOztBQUVEO0VLN3JDQSxzWEFBMEM7Q0w2ckMwRzs7QUFNcEo7RUFDSSxnQ0R4dENtQjtDQzB0Q3RCOztBQUVEOzs7Ozs7Ozs7Ozs7RUFFSSxnQ0Q5dENtQjtDQ2d1Q3RCOztBQUVEO0VBQ0ksWURudUNtQjtDQ3F1Q3RCOztBQUVEO0VBQ0ksWUR4dUNtQjtDQzB1Q3RCOztBQUVEO0VBQ0ksMkNEN3VDbUI7Q0MrdUN0Qjs7QUFFRDtFQUFnQyxnQ0RqdkNUO0NDaXZDMkQ7O0FBRWxGOzs7Ozs7Ozs7Ozs7RUFDc0MsZ0NEcHZDZjtDQ292Q3VFOztBQUU5RjtFQUErQyxZRHR2Q3hCO0NDc3ZDaUY7O0FBTXhHO0VBQ0ksZ0NEN3ZDbUI7Q0MrdkN0Qjs7QUFFRDs7Ozs7Ozs7Ozs7O0VBRUksZ0NEbndDbUI7Q0Nxd0N0Qjs7QUFFRDtFQUNJLFlEeHdDbUI7Q0Mwd0N0Qjs7QUFFRDtFQUNJLFlEN3dDbUI7Q0Mrd0N0Qjs7QUFFRDtFQUNJLDJDRGx4Q21CO0NDb3hDdEI7O0FBRUQ7RUFBZ0MsZ0NEdHhDVDtDQ3N4QzJEOztBQUVsRjs7Ozs7Ozs7Ozs7O0VBQ3NDLGdDRHp4Q2Y7Q0N5eEN1RTs7QUFFOUY7RUFBK0MsWUQzeEN4QjtDQzJ4Q2lGOztBQUt4RztFQUNJLGdDRGp5Q21CO0NDbXlDdEI7O0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBR0ksZ0NEeHlDbUI7Q0MweUN0Qjs7QUFFRDtFQUNJLFlEN3lDbUI7Q0MreUN0Qjs7QUFFRDtFQUNJLFlEbHpDbUI7Q0NvekN0Qjs7QUFFRDtFQUNJLGdDRHZ6Q21CO0NDeXpDdEI7O0FBRUQ7RUFDSSxnQ0Q1ekNtQjtDQzh6Q3RCOztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdJLGdDRG4wQ21CO0NDcTBDdEI7O0FBS0Q7RUFDSSxnQ0QzMENtQjtDQzYwQ3RCOztBQUVEOzs7Ozs7Ozs7Ozs7RUFFSSxnQ0RqMUNtQjtDQ20xQ3RCOztBQUVEO0VBQ0ksWUR0MUNtQjtDQ3cxQ3RCOztBQU1EO0VBQ0ksNENELzFDbUI7Q0NpMkN0Qjs7QUFNRDtFQUNJLDhCRDlheUM7RUMrYXpDLGdDRHoyQ21CO0NDMjJDdEI7O0FBRUQ7Ozs7Ozs7Ozs7OztFQUVJLDJDRC8yQ21CO0VDZzNDbkIsZ0NEaDNDbUI7Q0NrM0N0Qjs7QUFFRDtFQUNJLDJDRHIzQ21CO0VDczNDbkIsZ0NEdDNDbUI7Q0N3M0N0Qjs7QUFFRDtFQUNJLHVCRDMzQ21CO0VDNDNDbkIsWUQvM0NXO0NDaTRDZDs7QUFNRDtFQUNJLGdDRHI0Q21CO0NDdTRDdEI7O0FBbG5DRDtFQUNJLGdDRHRSbUI7Q0N3UnRCOztBQUVEOzs7Ozs7Ozs7Ozs7RUFFSSxnQ0Q1Um1CO0NDOFJ0Qjs7QUFPRDtFQUNJLGdDRHRTbUI7Q0N3U3RCOztBQU1EO0VBQ0ksZ0NEL1NtQjtDQ2lUdEI7O0FBMmxDRDtFQUNJLGdDRDc0Q21CO0NDKzRDdEI7O0FBRUQ7Ozs7Ozs7Ozs7OztFQUVJLGdDRG41Q21CO0NDcTVDdEI7O0FBRUQ7RUFDSSxnQ0R4NUNtQjtDQzA1Q3RCOztBQUVEO0VBQ0ksZ0NENzVDbUI7Q0MrNUN0Qjs7QUE2ZkQ7RUFBWSx1Q0Q1NURXO0NDNDVEMEI7O0FBcGZqRDtFQUNJLGdDRHo2Q21CO0NDMjZDdEI7O0FBRUQ7Ozs7Ozs7Ozs7OztFQUVJLGdDRC82Q21CO0NDaTdDdEI7O0FBRUQ7RUFDSSxZRHA3Q21CO0VDaTZEWSxtQkRqNkRaO0NDczdDdEI7O0FBRUQ7RUFDSSxnQ0R6N0NtQjtDQzI3Q3RCOztBQUtEO0VBQ0ksZ0NEajhDbUI7Q0NtOEN0Qjs7QUFFRDs7Ozs7Ozs7Ozs7O0VBRUksaUNEdjhDbUI7Q0N5OEN0Qjs7QUFFRDtFQUNJ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Y2MsV0FBVTtJQUNWLG9CQUFtQjtHQUsxQjtDeEdtOGNSOztBQ2p2ZUc7RURvdmVGO0l3R3g4Y2MsZ0JBQWU7R0FFdEI7Q3hHeThjUjs7QUN2dmVHO0VEMHZlRjtJd0d0OGNrQixpQkFBZ0I7R0FLbkI7RXhHbzhjZjtJd0d0OGNzQixjQUFhO0dBQ2hCO0N4R3c4Y3BCOztBQUVEO0V3R3I4Y2dCLG9CQUFtQjtDQVN0Qjs7QXZHdDBCVDtFRHV3ZUY7SXdHdjhja0IsZUFBYztHQU1yQjtDeEdvOGNaOztBQzF3ZUc7RUQ2d2VGO0l3R3o4Y2tCLGVBQWM7R0FFckI7Q3hHMDhjWjs7QUFFRDtFd0d6OGNnQixlakc3MEJVO0VpRzgwQlYsaUJBQWdCO0NBQ25CIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gIEJyZWFrcG9pbnRzXG4gKi9cbi8qKlxuICogSW1hZ2UgYm9yZGVyXG4gKiBPcHRpb25zOlxuICogICAgLSBzdHlsZTogYm9yZGVyZWQgb3IgZmlsbGVkXG4gKiAgICAtIGNvbG9yOiB3aGl0ZSwgWWVsbG93LCBwaW5rLCBncmVlblxuICogICAgLSBwb3NpdGlvbjogbGVmdCAvIHJpZ2h0LCBib3R0b20vdG9wXG4gKi9cbi8qKlxuICogVGhpcyBpcyB1c2VkIHRvIGRpc3BsYXkgYSBwaWN0dXJlIG9yIGltZyB0YWcgaW4gZnVsbCB3aWR0aC9oZWlnaHQgb2YgaXQncyBjb250YWluZXJcbiAqXG4gKiBkZWZhdWx0OiBub3RoaW5nIHNwZWNpYWxcbiAqIHdpdGhPdmVybGF5OiB3aXRoIGEgYmxhY2sgb3ZlcmxheVxuICogd2l0aEdyYWRpZW50IChvcHRpb25hbCk6IHdpdGggYW4gb3ZlcmxheSB3aXRoIGEgZ3JhZGllbnRcbiAqL1xuLyoqXG4gICAgSW1wcm92ZWQgc2NyZWVuIHJlYWRlciBvbmx5IENTUyBjbGFzc1xuICAgIEBhdXRob3IgR2HDq2wgUG91cGFyZFxuKi9cbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1Qb3BwaW5zOndnaHRAMzAwOzQwMDs2MDA7NzAwJmRpc3BsYXk9c3dhcFwiKTtcbi5zci1vbmx5IHtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSAhaW1wb3J0YW50O1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cblxuLm1iIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tdF9kZXNrdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG4gIC5tcl9kZXNrdG9wIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gIH1cbiAgLm1iIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcbiAgfVxufVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IGBmb250LXNpemVgIHRvIHN1cHBvcnQgYHJlbWAgdW5pdHNcbiAqICAgIE5vdCB1c2luZyBgZm9udGAgcHJvcGVydHkgYmVjYXVzZSBhIGxlYWRpbmcgaHlwaGVuIChlLmcuIC1hcHBsZS1zeXN0ZW0pIGNhdXNlcyB0aGUgZm9udCB0byBicmVhayBpbiBJRTExIGFuZCBFZGdlXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqIDMuIFN0eWxlXG4gKi9cbmh0bWwge1xuICAvKiAxICovXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi9cbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIExpbmtzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLypcbiAqIFN0eWxlXG4gKi9cbmEsXG4udWstbGluayB7XG4gIGNvbG9yOiAjMWU4N2YwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuYTpob3Zlcixcbi51ay1saW5rOmhvdmVyLFxuLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLFxuLnVrLWxpbmstdG9nZ2xlOmZvY3VzIC51ay1saW5rIHtcbiAgY29sb3I6ICMwZjZlY2Q7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBFZGdlLlxuICogMi4gVGhlIHNob3J0aGFuZCBkZWNsYXJhdGlvbiBgdW5kZXJsaW5lIGRvdHRlZGAgaXMgbm90IHN1cHBvcnRlZCBpbiBTYWZhcmkuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc3R5bGU6IGRvdHRlZDtcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKlxuICogMS4gQ29uc29sYXMgaGFzIGEgYmV0dGVyIGJhc2VsaW5lIGluIHJ1bm5pbmcgdGV4dCBjb21wYXJlZCB0byBgQ291cmllcmBcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIFN0eWxlXG4gKi9cbjpub3QocHJlKSA+IGNvZGUsXG46bm90KHByZSkgPiBrYmQsXG46bm90KHByZSkgPiBzYW1wIHtcbiAgLyogMSAqL1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlO1xuICAvKiAyICovXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIC8qIDMgKi9cbiAgY29sb3I6ICNmMDUwNmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IDJweCA2cHg7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG59XG5cbi8qXG4gKiBFbXBoYXNpemVcbiAqL1xuZW0ge1xuICBjb2xvcjogI2YwNTA2ZTtcbn1cblxuLypcbiAqIEluc2VydFxuICovXG5pbnMge1xuICBiYWNrZ3JvdW5kOiAjZmZkO1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKlxuICogTWFya1xuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmZDtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi8qXG4gKiBRdW90ZVxuICovXG5xIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qXG4gKiBQcmV2ZW50cyBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGVtYmVkZGVkIGNvbnRlbnQgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVycy5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qXG4gKiAxLiBBZGQgcmVzcG9uc2l2ZW5lc3MuXG4gKiAyLiBBdXRvLXNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50LlxuICogMy4gQ29ycmVjdHMgcmVzcG9uc2l2ZSBgbWF4LXdpZHRoYCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWQuXG4gKiA0LiBFeGNsdWRlIFNWR3MgZm9yIElFMTEgYmVjYXVzZSB0aGV5IGRvbid0IHByZXNlcnZlIHRoZWlyIGFzcGVjdCByYXRpby5cbiAqL1xuY2FudmFzLFxuaW1nLFxudmlkZW8ge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBoZWlnaHQ6IGF1dG87XG4gIC8qIDMgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogNCAqL1xuQHN1cHBvcnRzIChkaXNwbGF5OiBibG9jaykge1xuICBzdmcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuXG4vKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLypcbiAqIDEuIEZpeCBsYXp5IGxvYWRpbmcgaW1hZ2VzIGlmIHBhcmVudCBlbGVtZW50IGlzIHNldCB0byBgZGlzcGxheTogaW5saW5lYCBhbmQgaGFzIGBvdmVyZmxvdzogaGlkZGVuYC5cbiAqIDIuIEhpZGUgYGFsdGAgdGV4dCBmb3IgbGF6eSBsb2FkaW5nIGltYWdlcy5cbiAqIE5vdGU6IFNlbGVjdG9yIGZvciBiYWNrZ3JvdW5kIHdoaWxlIGxvYWRpbmcgaW1nW2RhdGEtc3JjKj0nLmpwZyddW3NyYyo9J2RhdGE6aW1hZ2UnXSB7IGJhY2tncm91bmQ6IGdyZXk7IH1cbiAqL1xuaW1nOm5vdChbc3JjXSkge1xuICAvKiAxICovXG4gIG1pbi13aWR0aDogMXB4O1xuICAvKiAyICovXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIElmcmFtZVxuICogUmVtb3ZlIGJvcmRlciBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKiBCbG9jayBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTWFyZ2luc1xuICovXG5wLFxudWwsXG5vbCxcbmRsLFxucHJlLFxuYWRkcmVzcyxcbmZpZWxkc2V0LFxuZmlndXJlIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBwLFxuKiArIHVsLFxuKiArIG9sLFxuKiArIGRsLFxuKiArIHByZSxcbiogKyBhZGRyZXNzLFxuKiArIGZpZWxkc2V0LFxuKiArIGZpZ3VyZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi8qIEhlYWRpbmdzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmgxLCAudWstaDEsXG5oMiwgLnVrLWgyLFxuaDMsIC51ay1oMyxcbmg0LCAudWstaDQsXG5oNSwgLnVrLWg1LFxuaDYsIC51ay1oNixcbi51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLWhlYWRpbmctbWVkaXVtLFxuLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstaGVhZGluZy14bGFyZ2UsXG4udWstaGVhZGluZy0yeGxhcmdlIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaDEsICogKyAudWstaDEsXG4qICsgaDIsICogKyAudWstaDIsXG4qICsgaDMsICogKyAudWstaDMsXG4qICsgaDQsICogKyAudWstaDQsXG4qICsgaDUsICogKyAudWstaDUsXG4qICsgaDYsICogKyAudWstaDYsXG4qICsgLnVrLWhlYWRpbmctc21hbGwsXG4qICsgLnVrLWhlYWRpbmctbWVkaXVtLFxuKiArIC51ay1oZWFkaW5nLWxhcmdlLFxuKiArIC51ay1oZWFkaW5nLXhsYXJnZSxcbiogKyAudWstaGVhZGluZy0yeGxhcmdlIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLypcbiAqIFNpemVzXG4gKi9cbmgxLCAudWstaDEge1xuICBmb250LXNpemU6IDIuMjMxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbmgyLCAudWstaDIge1xuICBmb250LXNpemU6IDEuN3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuaDMsIC51ay1oMyB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG5oNCwgLnVrLWg0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG5oNSwgLnVrLWg1IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG5oNiwgLnVrLWg2IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgaDEsIC51ay1oMSB7XG4gICAgZm9udC1zaXplOiAyLjYyNXJlbTtcbiAgfVxuICBoMiwgLnVrLWgyIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cblxuLyogTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudWwsXG5vbCB7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbn1cblxuLypcbiAqIFJlc2V0IG1hcmdpbiBmb3IgbmVzdGVkIGxpc3RzXG4gKi9cbnVsID4gbGkgPiB1bCxcbnVsID4gbGkgPiBvbCxcbm9sID4gbGkgPiBvbCxcbm9sID4gbGkgPiB1bCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogRGVzY3JpcHRpb24gbGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuZHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuZGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyogSG9yaXpvbnRhbCBydWxlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gQ2hyb21lLCBFZGdlIGFuZCBJRS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0LWFsaWduIGluIEVkZ2UgYW5kIElFLlxuICogMy4gU3R5bGVcbiAqL1xuaHIsIC51ay1ociB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi9cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgLyogMyAqL1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGhyLFxuKiArIC51ay1ociB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi8qIEFkZHJlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogQmxvY2txdW90ZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBibG9ja3F1b3RlIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLypcbiAqIENvbnRlbnRcbiAqL1xuYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM2NjY7XG59XG5cbmJsb2NrcXVvdGUgZm9vdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKAlCBcIjtcbn1cblxuLyogUHJlZm9ybWF0dGVkIHRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250OiAwLjg3NXJlbSAvIDEuNSBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2U7XG4gIGNvbG9yOiAjNjY2O1xuICAtbW96LXRhYi1zaXplOiA0O1xuICB0YWItc2l6ZTogNDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogYXV0bztcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG5wcmUgY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2U7XG59XG5cbi8qIFNlbGVjdGlvbiBwc2V1ZG8tZWxlbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMzOWY7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLyogSFRNTDUgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuZGV0YWlscyxcbm1haW4ge1xuICAvKiAyICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogUGFzcyBtZWRpYSBicmVha3BvaW50cyB0byBKU1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQnJlYWtwb2ludHNcbiAqL1xuLnVrLWJyZWFrcG9pbnQtczo6YmVmb3JlIHtcbiAgY29udGVudDogXCI3NjhcIjtcbn1cblxuLnVrLWJyZWFrcG9pbnQtbTo6YmVmb3JlIHtcbiAgY29udGVudDogXCI5OTJweFwiO1xufVxuXG4udWstYnJlYWtwb2ludC1sOjpiZWZvcmUge1xuICBjb250ZW50OiBcIjEyMDBweFwiO1xufVxuXG4udWstYnJlYWtwb2ludC14bDo6YmVmb3JlIHtcbiAgY29udGVudDogXCIxNjgwcHhcIjtcbn1cblxuOnJvb3Qge1xuICAtLXVrLWJyZWFrcG9pbnQtczogNzY4O1xuICAtLXVrLWJyZWFrcG9pbnQtbTogOTkycHg7XG4gIC0tdWstYnJlYWtwb2ludC1sOiAxMjAwcHg7XG4gIC0tdWstYnJlYWtwb2ludC14bDogMTY4MHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlua1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBNdXRlZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5hLnVrLWxpbmstbXV0ZWQsXG4udWstbGluay1tdXRlZCBhIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbmEudWstbGluay1tdXRlZDpob3Zlcixcbi51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4udWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstbXV0ZWQsXG4udWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmstbXV0ZWQge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5hLnVrLWxpbmstdGV4dCxcbi51ay1saW5rLXRleHQgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5hLnVrLWxpbmstdGV4dDpob3Zlcixcbi51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay10ZXh0LFxuLnVrLWxpbmstdG9nZ2xlOmZvY3VzIC51ay1saW5rLXRleHQge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogSGVhZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5hLnVrLWxpbmstaGVhZGluZyxcbi51ay1saW5rLWhlYWRpbmcgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5hLnVrLWxpbmstaGVhZGluZzpob3Zlcixcbi51ay1saW5rLWhlYWRpbmcgYTpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1oZWFkaW5nLFxuLnVrLWxpbmstdG9nZ2xlOmZvY3VzIC51ay1saW5rLWhlYWRpbmcge1xuICBjb2xvcjogIzFlODdmMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBSZXNldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVycmlkZSBpbnZlcnNlIGNvbXBvbmVudFxuICovXG5hLnVrLWxpbmstcmVzZXQsXG4udWstbGluay1yZXNldCBhIHtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGluay10b2dnbGUge1xuICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnVrLWxpbmstdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWhlYWRpbmctc21hbGwge1xuICBmb250LXNpemU6IDIuNnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLnVrLWhlYWRpbmctbWVkaXVtIHtcbiAgZm9udC1zaXplOiAyLjg4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5cbi51ay1oZWFkaW5nLWxhcmdlIHtcbiAgZm9udC1zaXplOiAzLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5cbi51ay1oZWFkaW5nLXhsYXJnZSB7XG4gIGZvbnQtc2l6ZTogNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICBmb250LXNpemU6IDZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4vKiBUYWJsZXQgTGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstaGVhZGluZy1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAzLjI1cmVtO1xuICB9XG4gIC51ay1oZWFkaW5nLW1lZGl1bSB7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gIH1cbiAgLnVrLWhlYWRpbmctbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgfVxuICAudWstaGVhZGluZy14bGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgfVxuICAudWstaGVhZGluZy0yeGxhcmdlIHtcbiAgICBmb250LXNpemU6IDhyZW07XG4gIH1cbn1cblxuLyogTGFwdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWhlYWRpbmctbWVkaXVtIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cbiAgLnVrLWhlYWRpbmctbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgfVxuICAudWstaGVhZGluZy14bGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogOHJlbTtcbiAgfVxuICAudWstaGVhZGluZy0yeGxhcmdlIHtcbiAgICBmb250LXNpemU6IDExcmVtO1xuICB9XG59XG5cbi8qIFByaW1hcnlcbiAgIERlcHJlY2F0ZWQ6IFVzZSBgdWstaGVhZGluZy1tZWRpdW1gIGluc3RlYWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbi8qIEhlcm9cbiAgIERlcHJlY2F0ZWQ6IFVzZSBgdWstaGVhZGluZy14bGFyZ2VgIGluc3RlYWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWhlYWRpbmctZGl2aWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDVweCArIDAuMWVtKTtcbiAgYm9yZGVyLWJvdHRvbTogY2FsYygwLjJweCArIDAuMDVlbSkgc29saWQgI2U1ZTVlNTtcbn1cblxuLyogQnVsbGV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1oZWFkaW5nLWJ1bGxldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIDEuIFVzaW5nIGBpbmxpbmUtYmxvY2tgIHRvIG1ha2UgaXQgd29yayB3aXRoIHRleHQgYWxpZ25tZW50XG4gKiAyLiBDZW50ZXIgdmVydGljYWxseVxuICogMy4gU3R5bGVcbiAqL1xuLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogY2FsYygtMC4xICogMWVtKTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMyAqL1xuICBoZWlnaHQ6IGNhbGMoNHB4ICsgMC43ZW0pO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoNXB4ICsgMC4yZW0pO1xuICBib3JkZXItbGVmdDogY2FsYyg1cHggKyAwLjFlbSkgc29saWQgI2U1ZTVlNTtcbn1cblxuLyogTGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQ2xpcCB0aGUgY2hpbGQgZWxlbWVudFxuICovXG4udWstaGVhZGluZy1saW5lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLypcbiAqIEV4dHJhIG1hcmt1cCBpcyBuZWVkZWQgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGV4dCBhbGlnblxuICovXG4udWstaGVhZGluZy1saW5lID4gKiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogMS4gQ2VudGVyIHZlcnRpY2FsbHlcbiAqIDIuIE1ha2UgdGhlIGVsZW1lbnQgYXMgbGFyZ2UgYXMgcG9zc2libGUuIEl0J3MgY2xpcHBlZCBieSB0aGUgY29udGFpbmVyLlxuICogMy4gU3R5bGVcbiAqL1xuLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLFxuLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDUwJSAtIChjYWxjKDAuMnB4ICsgMC4wNWVtKSAvIDIpKTtcbiAgLyogMiAqL1xuICB3aWR0aDogMjAwMHB4O1xuICAvKiAzICovXG4gIGJvcmRlci1ib3R0b206IGNhbGMoMC4ycHggKyAwLjA1ZW0pIHNvbGlkICNlNWU1ZTU7XG59XG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoNXB4ICsgMC4zZW0pO1xufVxuXG4udWstaGVhZGluZy1saW5lID4gOjphZnRlciB7XG4gIGxlZnQ6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDVweCArIDAuM2VtKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlc2V0IGRlZmF1bHQgYGhyYFxuICogMi4gU2V0IG1hcmdpbiBpZiBhIGBkaXZgIGlzIHVzZWQgZm9yIHNlbWFudGljYWwgcmVhc29uXG4gKi9cbltjbGFzcyo9J3VrLWRpdmlkZXInXSB7XG4gIC8qIDEgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAyICovXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIFtjbGFzcyo9J3VrLWRpdmlkZXInXSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi8qIEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWRpdmlkZXItaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjIwJTIyJTIwaGVpZ2h0JTNEJTIyMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMCUyMDIwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiUyM2U1ZTVlNSUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xufVxuXG4udWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4udWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1heC13aWR0aDogY2FsYyg1MCUgLSAoNTBweCAvIDIpKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSB7XG4gIHJpZ2h0OiBjYWxjKDUwJSArICg1MHB4IC8gMikpO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICBsZWZ0OiBjYWxjKDUwJSArICg1MHB4IC8gMikpO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEZpeCBoZWlnaHQgYmVjYXVzZSBvZiBgaW5saW5lLWJsb2NrYFxuICogMi4gVXNpbmcgOjphZnRlciBhbmQgaW5saW5lLWJsb2NrIHRvIG1ha2UgYHRleHQtYWxpZ25gIHdvcmtcbiAqL1xuLyogMSAqL1xuLnVrLWRpdmlkZXItc21hbGwge1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLyogMiAqL1xuLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi8qIFZlcnRpY2FsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1kaXZpZGVyLXZlcnRpY2FsIHtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG4udWstbGlzdCA+IGxpOjpiZWZvcmUsXG4udWstbGlzdCA+IGxpOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstbGlzdCA+IGxpOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1saXN0ID4gbGkgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qXG4gKiBOZXN0ZWQgbGlzdHNcbiAqL1xuLnVrLWxpc3QgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIFN0eWxlXG4gKi9cbi51ay1saXN0ID4gbGk6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdCA+IGxpID4gdWwge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG4udWstbGlzdC1zdHJpcGVkID4gbGkge1xuICBwYWRkaW5nOiAxMHB4IDEwcHg7XG59XG5cbi51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4udWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG59XG5cbi51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qXG4gKiBCdWxsZXRcbiAqIDEuIFJlc2V0IGRpc3BsYXkgYHRhYmxlYCB3aGljaCBjYXVzZXMgaXNzdWVzIGluIGNvbWJpbmF0aW9uIHdpdGggbXVsdGkgY29sdW1uIGxheW91dHMuXG4gKi9cbi51ay1saXN0LWJ1bGxldCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGMoMS41ZW0gKyAxMHB4KTtcbn1cblxuLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNiUyMiUyMGhlaWdodCUzRCUyMjYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2JTIwNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saXN0LWxhcmdlID4gbGk6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdC1sYXJnZSA+IGxpID4gdWwge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vKlxuICogRGl2aWRlclxuICovXG4udWstbGlzdC1sYXJnZS51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG4udWstbGlzdC1sYXJnZS51ay1saXN0LXN0cmlwZWQgPiBsaSB7XG4gIHBhZGRpbmc6IDIwcHggMTBweDtcbn1cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGVzY3JpcHRpb24gbGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogVGVybVxuICovXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGR0IHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi51ay1kZXNjcmlwdGlvbi1saXN0ID4gZHQ6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vKlxuICogRGVzY3JpcHRpb25cbiAqL1xuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIExpbmVcbiAqL1xuLnVrLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlciA+IGR0Om50aC1jaGlsZChuKzIpIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqIDIuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMy4gU3R5bGVcbiAqL1xuLnVrLXRhYmxlIHtcbiAgLyogMSAqL1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgLyogMiAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogMyAqL1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstdGFibGUge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vKiBIZWFkZXIgY2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU3R5bGVcbiAqL1xuLnVrLXRhYmxlIHRoIHtcbiAgcGFkZGluZzogMTZweCAxMnB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjOTk5O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vKiBDZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZSB0ZCB7XG4gIHBhZGRpbmc6IDE2cHggMTJweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstdGFibGUgdGQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIEZvb3RlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUgdGZvb3Qge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4vKiBDYXB0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZSBjYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qIEFsaWdubWVudCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUtbWlkZGxlLFxuLnVrLXRhYmxlLW1pZGRsZSB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbn1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEaXZpZGVyXG4gKi9cbi51ay10YWJsZS1kaXZpZGVyID4gdHI6bm90KDpmaXJzdC1jaGlsZCksXG4udWstdGFibGUtZGl2aWRlciA+IDpub3QoOmZpcnN0LWNoaWxkKSA+IHRyLFxuLnVrLXRhYmxlLWRpdmlkZXIgPiA6Zmlyc3QtY2hpbGQgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG4udWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKG9kZCksXG4udWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKlxuICogSG92ZXJcbiAqL1xuLnVrLXRhYmxlLWhvdmVyID4gdHI6aG92ZXIsXG4udWstdGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZkO1xufVxuXG4vKiBBY3RpdmUgc3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRhYmxlID4gdHIudWstYWN0aXZlLFxuLnVrLXRhYmxlIHRib2R5IHRyLnVrLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmQ7XG59XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRhYmxlLXNtYWxsIHRoLFxuLnVrLXRhYmxlLXNtYWxsIHRkIHtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xufVxuXG4udWstdGFibGUtbGFyZ2UgdGgsXG4udWstdGFibGUtbGFyZ2UgdGQge1xuICBwYWRkaW5nOiAyMnB4IDEycHg7XG59XG5cbi8qIEp1c3RpZnkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRhYmxlLWp1c3RpZnkgdGg6Zmlyc3QtY2hpbGQsXG4udWstdGFibGUtanVzdGlmeSB0ZDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnVrLXRhYmxlLWp1c3RpZnkgdGg6bGFzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4vKiBDZWxsIHNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRhYmxlLXNocmluayB7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi51ay10YWJsZS1leHBhbmQge1xuICBtaW4td2lkdGg6IDE1MHB4O1xufVxuXG4vKiBDZWxsIGxpbmsgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERvZXMgbm90IHdvcmsgd2l0aCBgdWstdGFibGUtanVzdGlmeWAgYXQgdGhlIG1vbWVudFxuICovXG4udWstdGFibGUtbGluayB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLXRhYmxlLWxpbmsgPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDE2cHggMTJweDtcbn1cblxuLnVrLXRhYmxlLXNtYWxsIC51ay10YWJsZS1saW5rID4gYSB7XG4gIHBhZGRpbmc6IDEwcHggMTJweDtcbn1cblxuLyogUmVzcG9uc2l2ZSB0YWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWstdGFibGUtcmVzcG9uc2l2ZSxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGJvZHksXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgfVxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmZpcnN0LWNoaWxkKSA+IGEge1xuICAgIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDtcbiAgfVxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpsYXN0LWNoaWxkKSA+IGEge1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDtcbiAgfVxuICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG4udWstdGFibGUgdGJvZHkgdHIge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgbGluZWFyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTm90ZTogMS4gLSA3LiBpcyByZXF1aXJlZCBmb3IgYGJ1dHRvbmAgZWxlbWVudHMuIE5lZWRlZCBmb3IgQ2xvc2UgYW5kIEZvcm0gSWNvbiBjb21wb25lbnQuXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBSZW1vdmUgYm9yZGVyLXJhZGl1cyBpbiBDaHJvbWUuXG4gKiA0LiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNS4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDYuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNy4gUmVtb3ZlIGRlZmF1bHQgYGJ1dHRvbmAgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBjb2xvclxuICogOC4gU3R5bGVcbiAqIDkuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDEwLiBMZXQgdGhlIGNvbnRhaW5lciBmaXQgdGhlIGhlaWdodCBvZiB0aGUgaWNvblxuICovXG4udWstaWNvbiB7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMyAqL1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKiA0ICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiA1ICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiA2ICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiA3LiAqL1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogOCAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDkgKi9cbiAgZmlsbDogY3VycmVudGNvbG9yO1xuICAvKiAxMCAqL1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLyogUmVxdWlyZWQgZm9yIGBidXR0b25gLiAqL1xuYnV0dG9uLnVrLWljb246bm90KDpkaXNhYmxlZCkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG4udWstaWNvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG4udWstaWNvbjpub3QoLnVrLXByZXNlcnZlKSBbZmlsbCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7XG4gIGZpbGw6IGN1cnJlbnRjb2xvcjtcbn1cblxuLnVrLWljb246bm90KC51ay1wcmVzZXJ2ZSkgW3N0cm9rZSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7XG4gIHN0cm9rZTogY3VycmVudGNvbG9yO1xufVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuLnVrLWljb24gPiAqIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi8qIEltYWdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEaXNwbGF5IGltYWdlcyBpbiBpY29uIGRpbWVuc2lvbnNcbiAqL1xuLnVrLWljb24taW1hZ2Uge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTGlua1xuICovXG4udWstaWNvbi1saW5rIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi51ay1pY29uLWxpbms6aG92ZXIsXG4udWstaWNvbi1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWxpbms6YWN0aXZlLFxuLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmsge1xuICBjb2xvcjogIzU5NTk1OTtcbn1cblxuLypcbiAqIEJ1dHRvblxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cbi51ay1pY29uLWJ1dHRvbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBjb2xvcjogIzk5OTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbi1idXR0b246aG92ZXIsXG4udWstaWNvbi1idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViO1xuICBjb2xvcjogIzY2NjtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tYnV0dG9uOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm0gUmFuZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIE5vcm1hbGl6ZSBhbmQgZGVmYXVsdHNcbiAqIDIuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDMuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBSZW1vdmUgd2hpdGUgYmFja2dyb3VuZCBpbiBDaHJvbWVcbiAqIDYuIFJlbW92ZSBwYWRkaW5nIGluIElFMTFcbiAqL1xuLnVrLXJhbmdlIHtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDIgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAzICovXG4gIHdpZHRoOiAxMDAlO1xuICAvKiA0ICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogNSAqL1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgLyogNiAqL1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhbmdlOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnVrLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4vKiBJRTExIFJlc2V0ICovXG4udWstcmFuZ2U6Oi1tcy10cmFjayB7XG4gIGhlaWdodDogMTVweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIEltcHJvdmVzIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBmb3IgY2xpY2thYmxlIGVsZW1lbnRzXG4gKi9cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbXMtdGh1bWIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8qIFRodW1iXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuLyogV2Via2l0ICovXG4udWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgLyogMSAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC03cHg7XG4gIC8qIDIgKi9cbiAgaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG59XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIC8qIDEgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAyICovXG4gIGhlaWdodDogMTVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xufVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy10aHVtYiB7XG4gIC8qIDEgKi9cbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogSUUxMSAqL1xuLnVrLXJhbmdlOjotbXMtdGh1bWIge1xuICAvKiAxICovXG4gIGJvcmRlcjogbm9uZTtcbiAgLyogMiAqL1xuICBoZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcbn1cblxuLyogRWRnZSArIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRvb2x0aXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBUcmFja1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2FmYXJpIGRvZXNuJ3QgaGF2ZSBhIGZvY3VzIHN0YXRlLiBVc2luZyBhY3RpdmUgaW5zdGVhZC5cbiAqL1xuLyogV2Via2l0ICovXG4udWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuLnVrLXJhbmdlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAjZDJkMmQyO1xufVxuXG4vKiBGaXJlZm94ICovXG4udWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBoZWlnaHQ6IDNweDtcbiAgYmFja2dyb3VuZDogI2ViZWJlYjtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG59XG5cbi51ay1yYW5nZTpmb2N1czo6LW1vei1yYW5nZS10cmFjayB7XG4gIGJhY2tncm91bmQ6ICNkMmQyZDI7XG59XG5cbi8qIEVkZ2UgKi9cbi51ay1yYW5nZTo6LW1zLWZpbGwtbG93ZXIsXG4udWstcmFuZ2U6Oi1tcy1maWxsLXVwcGVyIHtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQ6ICNlYmViZWI7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOmZvY3VzOjotbXMtZmlsbC11cHBlciB7XG4gIGJhY2tncm91bmQ6ICNkMmQyZDI7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogICAgRGVmYXVsdCBpcyBgY29udGVudC1ib3hgIHdpdGggZm9sbG93aW5nIGV4Y2VwdGlvbnMgc2V0IHRvIGBib3JkZXItYm94YFxuICogICAgYHNlbGVjdGAsIGBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1gIGFuZCBgaW5wdXRbdHlwZT1cInJhZGlvXCJdYFxuICogICAgYGlucHV0W3R5cGU9XCJzZWFyY2hcIl1gIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYVxuICogICAgYGlucHV0W3R5cGU9XCJjb2xvclwiXWAgaW4gRmlyZWZveFxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbi51ay1pbnB1dCxcbi51ay1zZWxlY3QsXG4udWstdGV4dGFyZWEsXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovXG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC8qIDQgKi9cbiAgZm9udDogaW5oZXJpdDtcbn1cblxuLypcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbi51ay1pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG4udWstc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDIuIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgYW5kIHVzZSBgYm9sZGAgaW5zdGVhZC5cbiAqIE5PVEU6IEJvdGggZGVjbGFyYXRpb25zIGRvbid0IHdvcmsgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICovXG4udWstc2VsZWN0IG9wdGdyb3VwIHtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbi51ay10ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG4udWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsXG4udWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuLnVrLXJhZGlvOm5vdCg6ZGlzYWJsZWQpLFxuLnVrLWNoZWNrYm94Om5vdCg6ZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG4udWstZmllbGRzZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogSW5wdXQsIHNlbGVjdCBhbmQgdGV4dGFyZWFcbiAqIEFsbG93ZWQ6IGB0ZXh0YCwgYHBhc3N3b3JkYCwgYGRhdGV0aW1lYCwgYGRhdGV0aW1lLWxvY2FsYCwgYGRhdGVgLCAgYG1vbnRoYCxcbiAgICAgICAgICAgIGB0aW1lYCwgYHdlZWtgLCBgbnVtYmVyYCwgYGVtYWlsYCwgYHVybGAsIGBzZWFyY2hgLCBgdGVsYCwgYGNvbG9yYFxuICogRGlzYWxsb3dlZDogYHJhbmdlYCwgYHJhZGlvYCwgYGNoZWNrYm94YCwgYGZpbGVgLCBgc3VibWl0YCwgYHJlc2V0YCBhbmQgYGltYWdlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gaU9TLlxuICovXG4udWstaW5wdXQsXG4udWstdGV4dGFyZWEge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cgaWYgYSBmaXhlZCB3aWR0aCBpcyB1c2VkXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoXG4gKiAzLiBSZXNldCBkZWZhdWx0XG4gKiA0LiBTdHlsZVxuICovXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhIHtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgYm9yZGVyOiAwIG5vbmU7XG4gIC8qIDQgKi9cbiAgcGFkZGluZzogMCAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzY2NjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjtcbn1cblxuLypcbiAqIFNpbmdsZS1saW5lXG4gKiAxLiBBbGxvdyBhbnkgZWxlbWVudCB0byBsb29rIGxpa2UgYW4gYGlucHV0YCBvciBgc2VsZWN0YCBlbGVtZW50XG4gKiAyLiBNYWtlIHN1cmUgbGluZS1oZWlnaHQgaXMgbm90IGxhcmdlciB0aGFuIGhlaWdodFxuICogICAgQWxzbyBuZWVkZWQgdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHlcbiAqL1xuLnVrLWlucHV0LFxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiAyICovXG4udWstaW5wdXQ6bm90KGlucHV0KSxcbi51ay1zZWxlY3Q6bm90KHNlbGVjdCkge1xuICBsaW5lLWhlaWdodDogMzhweDtcbn1cblxuLypcbiAqIE11bHRpLWxpbmVcbiAqL1xuLnVrLXNlbGVjdFttdWx0aXBsZV0sXG4udWstc2VsZWN0W3NpemVdLFxuLnVrLXRleHRhcmVhIHtcbiAgcGFkZGluZy10b3A6IDRweDtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyogRm9jdXMgKi9cbi51ay1pbnB1dDpmb2N1cyxcbi51ay1zZWxlY3Q6Zm9jdXMsXG4udWstdGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzY2NjtcbiAgYm9yZGVyLWNvbG9yOiAjMWU4N2YwO1xufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWlucHV0OmRpc2FibGVkLFxuLnVrLXNlbGVjdDpkaXNhYmxlZCxcbi51ay10ZXh0YXJlYTpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjOTk5O1xuICBib3JkZXItY29sb3I6ICNlNWU1ZTU7XG59XG5cbi8qXG4gKiBQbGFjZWhvbGRlclxuICovXG4udWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLnVrLXRleHRhcmVhOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OSAhaW1wb3J0YW50O1xufVxuXG4udWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFNtYWxsXG4gKi9cbi51ay1mb3JtLXNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLnVrLWZvcm0tc21hbGw6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG5cbi51ay1mb3JtLXNtYWxsOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuLnVrLWZvcm0tbGFyZ2Uge1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5cbi51ay1mb3JtLWxhcmdlOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgaGVpZ2h0OiA1NXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG59XG5cbi51ay1mb3JtLWxhcmdlOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7XG4gIGxpbmUtaGVpZ2h0OiA1M3B4O1xufVxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBFcnJvclxuICovXG4udWstZm9ybS1kYW5nZXIsXG4udWstZm9ybS1kYW5nZXI6Zm9jdXMge1xuICBjb2xvcjogI2YwNTA2ZTtcbiAgYm9yZGVyLWNvbG9yOiAjZjA1MDZlO1xufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG4udWstZm9ybS1zdWNjZXNzLFxuLnVrLWZvcm0tc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjMzJkMjk2O1xuICBib3JkZXItY29sb3I6ICMzMmQyOTY7XG59XG5cbi8qXG4gKiBCbGFua1xuICovXG4udWstZm9ybS1ibGFuayB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi51ay1mb3JtLWJsYW5rOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuICBib3JkZXItc3R5bGU6IGRhc2hlZDtcbn1cblxuLyogV2lkdGggbW9kaWZpZXJzIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEZpeGVkIHdpZHRoc1xuICogRGlmZmVyZW50IHdpZHRocyBmb3IgbWluaSBzaXplZCBgaW5wdXRgIGFuZCBgc2VsZWN0YCBlbGVtZW50c1xuICovXG5pbnB1dC51ay1mb3JtLXdpZHRoLXhzbWFsbCB7XG4gIHdpZHRoOiA1MHB4O1xufVxuXG5zZWxlY3QudWstZm9ybS13aWR0aC14c21hbGwge1xuICB3aWR0aDogNzVweDtcbn1cblxuLnVrLWZvcm0td2lkdGgtc21hbGwge1xuICB3aWR0aDogMTMwcHg7XG59XG5cbi51ay1mb3JtLXdpZHRoLW1lZGl1bSB7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLnVrLWZvcm0td2lkdGgtbGFyZ2Uge1xuICB3aWR0aDogNTAwcHg7XG59XG5cbi8qIFNlbGVjdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUuIEFsc28gd29ya3MgaW4gRmlyZWZveFxuICogMi4gU3R5bGVcbiAqIDMuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIElFIDEwLzExXG4gKiA0LiBTZXQgYGNvbG9yYCBmb3Igb3B0aW9ucyBpbiB0aGUgc2VsZWN0IGRyb3Bkb3duLCBiZWNhdXNlIHRoZSBpbmhlcml0ZWQgYGNvbG9yYCBtaWdodCBiZSB0b28gbGlnaHQuXG4gKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgLyogMSAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogMiAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xufVxuXG4vKiAzICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIDQgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIG9wdGlvbiB7XG4gIGNvbG9yOiAjNDQ0O1xufVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk5OSUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG59XG5cbi8qIERhdGFsaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBDaHJvbWVcbiAqL1xuLnVrLWlucHV0W2xpc3RdIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG59XG5cbi51ay1pbnB1dFtsaXN0XTpob3Zlcixcbi51ay1pbnB1dFtsaXN0XTpmb2N1cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMiUyMDglMjA2JTIwMTYlMjA2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpO1xufVxuXG4vKiAxICovXG4udWstaW5wdXRbbGlzdF06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFJhZGlvIGFuZCBjaGVja2JveFxuICogTm90ZTogRG9lcyBub3Qgd29yayBpbiBJRTExXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTdHlsZVxuICogMi4gTWFrZSBib3ggbW9yZSByb2J1c3Qgc28gaXQgY2xpcHMgdGhlIGNoaWxkIGVsZW1lbnRcbiAqIDMuIFZlcnRpY2FsIGFsaWdubWVudFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIEZpeCBibGFjayBiYWNrZ3JvdW5kIG9uIGlPU1xuICogNi4gQ2VudGVyIGljb25zXG4gKi9cbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICAvKiAyICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDMgKi9cbiAgbWFyZ2luLXRvcDogLTRweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogNCAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogNSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogNiAqL1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7XG59XG5cbi51ay1yYWRpbyB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpmb2N1cyxcbi51ay1jaGVja2JveDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogIzFlODdmMDtcbn1cblxuLypcbiAqIENoZWNrZWRcbiAqL1xuLnVrLXJhZGlvOmNoZWNrZWQsXG4udWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlODdmMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwZTZlY2Q7XG59XG5cbi8qXG4gKiBJY29uc1xuICovXG4udWstcmFkaW86Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbn1cblxuLnVrLWNoZWNrYm94OmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTtcbn1cblxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbn1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cbi51ay1yYWRpbzpkaXNhYmxlZCxcbi51ay1jaGVja2JveDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGJvcmRlci1jb2xvcjogI2U1ZTVlNTtcbn1cblxuLnVrLXJhZGlvOmRpc2FibGVkOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyJTIzOTk5JTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7XG59XG5cbi51ay1jaGVja2JveDpkaXNhYmxlZDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG59XG5cbi51ay1jaGVja2JveDpkaXNhYmxlZDppbmRldGVybWluYXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7XG59XG5cbi8qIExlZ2VuZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTGVnZW5kXG4gKiAxLiBCZWhhdmUgbGlrZSBibG9jayBlbGVtZW50XG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiA0LiBTdHlsZVxuICovXG4udWstbGVnZW5kIHtcbiAgLyogMSAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMyAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiA0ICovXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiBDdXN0b20gY29udHJvbHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICovXG4udWstZm9ybS1jdXN0b20ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIDMgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiA0ICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qXG4gKiAxLiBQb3NpdGlvbiBhbmQgcmVzaXplIHRoZSBmb3JtIGNvbnRyb2wgdG8gYWx3YXlzIGNvdmVyIGl0cyBjb250YWluZXJcbiAqIDIuIFJlcXVpcmVkIGZvciBGaXJlZm94IGZvciBwb3NpdGlvbmluZyB0byB0aGUgbGVmdFxuICogMy4gUmVxdWlyZWQgZm9yIFdlYmtpdCB0byBtYWtlIGBoZWlnaHRgIHdvcmtcbiAqIDQuIEhpZGUgY29udHJvbGUgYW5kIHNob3cgY3Vyc29yXG4gKiA1LiBOZWVkZWQgZm9yIHRoZSBjdXJzb3JcbiAqIDYuIENsaXAgaGVpZ2h0IGNhdXNlZCBieSA1LiBOZWVkZWQgZm9yIFdlYmtpdCBvbmx5XG4gKi9cbi51ay1mb3JtLWN1c3RvbSBzZWxlY3QsXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICAvKiAyICovXG4gIGxlZnQ6IDA7XG4gIC8qIDMgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiA0ICovXG4gIG9wYWNpdHk6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVrLWZvcm0tY3VzdG9tIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgLyogNSAqL1xuICBmb250LXNpemU6IDUwMHB4O1xuICAvKiA2ICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1mb3JtLWxhYmVsIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi8qIExheW91dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogU3RhY2tlZFxuICovXG4udWstZm9ybS1zdGFja2VkIC51ay1mb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbn1cblxuLypcbiAqIEhvcml6b250YWxcbiAqL1xuLyogVGFibGV0IHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLyogQmVoYXZlIGxpa2UgYHVrLWZvcm0tc3RhY2tlZGAgKi9cbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tbGFiZWwge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tdG9wOiA3cHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scyB7XG4gICAgbWFyZ2luLWxlZnQ6IDIxNXB4O1xuICB9XG4gIC8qIEJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQgaWYgY29udHJvbHMgYXJlIGNoZWNrYm94ZXMgYW5kIHJhZGlvIGJ1dHRvbnMgd2l0aCB0ZXh0ICovXG4gIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMtdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDdweDtcbiAgfVxufVxuXG4vKiBJY29uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTZXQgd2lkdGhcbiAqIDMuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogNC4gU3R5bGVcbiAqL1xuLnVrLWZvcm0taWNvbiB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICB3aWR0aDogNDBweDtcbiAgLyogMyAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIDQgKi9cbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG4udWstZm9ybS1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi8qXG4gKiBNYWtlIGBpbnB1dGAgZWxlbWVudCBjbGlja2FibGUgdGhyb3VnaCBpY29uLCBlLmcuIGlmIGl0J3MgYSBgc3BhbmBcbiAqL1xuLnVrLWZvcm0taWNvbjpub3QoYSk6bm90KGJ1dHRvbik6bm90KGlucHV0KSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKlxuICogSW5wdXQgcGFkZGluZ1xuICovXG4udWstZm9ybS1pY29uOm5vdCgudWstZm9ybS1pY29uLWZsaXApIH4gLnVrLWlucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiBQb3NpdGlvbiBtb2RpZmllclxuICovXG4udWstZm9ybS1pY29uLWZsaXAge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLnVrLWZvcm0taWNvbi1mbGlwIH4gLnVrLWlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnV0dG9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNC4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDUuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgZm9yIGBpbnB1dCB0eXBlPVwic3VibWl0XCJgaW4gaU9TLlxuICogNy4gU3R5bGVcbiAqIDguIGBsaW5lLWhlaWdodGAgaXMgdXNlZCB0byBjcmVhdGUgYSBoZWlnaHQgYmVjYXVzZSBpdCBhbHNvIGNlbnRlcnMgdGhlIHRleHQgdmVydGljYWxseSBmb3IgYGFgIGVsZW1lbnRzLlxuICogICAgQmV0dGVyIHdvdWxkIGJlIHRvIHVzZSBoZWlnaHQgYW5kIGZsZXhib3ggdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHkgYnV0IGZsZXhib3ggZG9lc24ndCB3b3JrIGluIEZpcmVmb3ggb24gYGJ1dHRvbmAgZWxlbWVudHMuXG4gKiA5LiBBbGlnbiB0ZXh0IGlmIGJ1dHRvbiBoYXMgYSB3aWR0aFxuICogMTAuIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cbi51ay1idXR0b24ge1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDMgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDQgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDUgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC8qIDYgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKiA3ICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMCAzMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICAvKiA4ICovXG4gIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAvKiA5ICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogMTAgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuXG4udWstYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuLnVrLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1idXR0b246aG92ZXIge1xuICAvKiA5ICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogRm9jdXMgKi9cbi51ay1idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMzMzO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4udWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlci1jb2xvcjogI2IyYjJiMjtcbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbi51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlci1jb2xvcjogIzk5OTk5OTtcbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI0YjhmMTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4udWstYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MWJhO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGU5ZGQ0O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG4udWstYnV0dG9uLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsXG4udWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNTE1MTU7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4udWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkwOTA5O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLypcbiAqIERhbmdlclxuICovXG4udWstYnV0dG9uLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDUwNmU7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6aG92ZXIsXG4udWstYnV0dG9uLWRhbmdlcjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZTM5NWI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRhbmdlcjphY3RpdmUsXG4udWstYnV0dG9uLWRhbmdlci51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWMyMTQ3O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLypcbiAqIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuICovXG4udWstYnV0dG9uLWRlZmF1bHQ6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXByaW1hcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXNlY29uZGFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tZGFuZ2VyOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItY29sb3I6IDFweCBzb2xpZCAjYmRjM2M2O1xufVxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYnV0dG9uLXNtYWxsIHtcbiAgcGFkZGluZzogMCAxNXB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLnVrLWJ1dHRvbi1sYXJnZSB7XG4gIHBhZGRpbmc6IDAgNDBweDtcbiAgbGluZS1oZWlnaHQ6IDUzcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi8qIFRleHQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBUZXh0XG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuLnVrLWJ1dHRvbi10ZXh0IHtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvKiAyICovXG4gIGNvbG9yOiAjMzMzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51ay1idXR0b24tdGV4dDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMztcbiAgdHJhbnNpdGlvbjogcmlnaHQgMC4zcyBlYXNlLW91dDtcbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLFxuLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi51ay1idXR0b24tdGV4dDpob3Zlcjo6YmVmb3JlLFxuLnVrLWJ1dHRvbi10ZXh0OmZvY3VzOjpiZWZvcmUge1xuICByaWdodDogMDtcbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tdGV4dDpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4udWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuLnVrLWJ1dHRvbi1saW5rIHtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvKiAyICovXG4gIGNvbG9yOiAjMWU4N2YwO1xufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWxpbms6aG92ZXIsXG4udWstYnV0dG9uLWxpbms6Zm9jdXMge1xuICBjb2xvcjogIzBmNmVjZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLWxpbms6ZGlzYWJsZWQge1xuICBjb2xvcjogIzk5OTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBHcm91cFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gVXNpbmcgYGZsZXhgIGluc3RlYWQgb2YgYGlubGluZS1ibG9ja2AgdG8gcHJldmVudCB3aGl0ZXNwYWNlIGJldHdlZW50IGNoaWxkIGVsZW1lbnRzXG4gKiAyLiBCZWhhdmUgbGlrZSBidXR0b25cbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKi9cbi51ay1idXR0b24tZ3JvdXAge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAvKiAyICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDMgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBHcm91cFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBDb2xsYXBzZSBib3JkZXJcbiAgICAgKi9cbi51ay1idXR0b24tZ3JvdXAgPiAudWstYnV0dG9uOm50aC1jaGlsZChuKzIpLFxuLnVrLWJ1dHRvbi1ncm91cCA+IGRpdjpudGgtY2hpbGQobisyKSAudWstYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG59XG5cbi8qXG4gICAgICogQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgdG8gc3VwZXJpbXBvc2UgdGhlIHN1Y2Nlc3NvciBlbGVtZW50cyBib3JkZXJcbiAgICAgKiBLbm93biBpc3N1ZTogSWYgeW91IHVzZSBhbiBgYWAgZWxlbWVudCBhcyBidXR0b24gYW5kIGFuIGljb24gaW5zaWRlLFxuICAgICAqIHRoZSBhY3RpdmUgc3RhdGUgd2lsbCBub3Qgd29yayBpZiB5b3UgY2xpY2sgdGhlIGljb24gaW5zaWRlIHRoZSBidXR0b25cbiAgICAgKiBXb3JrYXJvdW5kOiBKdXN0IHVzZSBhIGBidXR0b25gIG9yIGBpbnB1dGAgZWxlbWVudCBhcyBidXR0b25cbiAgICAgKi9cbi51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjpob3Zlcixcbi51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjpmb2N1cyxcbi51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjphY3RpdmUsXG4udWstYnV0dG9uLWdyb3VwIC51ay1idXR0b24udWstYWN0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2VjdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gTWFrZSBpdCB3b3JrIHdpdGggYDEwMHZoYCBhbmQgaGVpZ2h0IGluIGdlbmVyYWxcbiAqL1xuLnVrLXNlY3Rpb24ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVrLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICB9XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG4udWstc2VjdGlvbjo6YmVmb3JlLFxuLnVrLXNlY3Rpb246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1zZWN0aW9uOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogWFNtYWxsXG4gKi9cbi51ay1zZWN0aW9uLXhzbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cbi51ay1zZWN0aW9uLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogNzBweDtcbiAgcGFkZGluZy1ib3R0b206IDcwcHg7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51ay1zZWN0aW9uLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE0MHB4O1xuICB9XG59XG5cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDE0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51ay1zZWN0aW9uLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDIxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMTBweDtcbiAgfVxufVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLXNlY3Rpb24tZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi8qXG4gKiBNdXRlZFxuICovXG4udWstc2VjdGlvbi1tdXRlZCB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cbi51ay1zZWN0aW9uLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMWU4N2YwO1xufVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cbi51ay1zZWN0aW9uLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICMyMjI7XG59XG5cbi8qIE92ZXJsYXAgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlc2VydmVkIG1vZGlmaWVyIHRvIG1ha2UgYSBzZWN0aW9uIG92ZXJsYXAgYW5vdGhlciBzZWN0aW9uIHdpdGggYW4gYm9yZGVyIGltYWdlXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQm94IHNpemluZyBoYXMgdG8gYmUgYGNvbnRlbnQtYm94YCBzbyB0aGUgbWF4LXdpZHRoIGlzIGFsd2F5cyB0aGUgc2FtZSBhbmRcbiAqICAgIHVuYWZmZWN0ZWQgYnkgdGhlIHBhZGRpbmcgb24gZGlmZmVyZW50IGJyZWFrcG9pbnRzLiBJdCdzIGltcG9ydGFudCBmb3IgdGhlIHNpemUgbW9kaWZpZXJzLlxuICovXG4udWstY29udGFpbmVyIHtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjgpIHtcbiAgLnVrLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVrLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cbi51ay1jb250YWluZXI6OmJlZm9yZSxcbi51ay1jb250YWluZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1jb250YWluZXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWNvbnRhaW5lciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLypcbiAqIFJlbW92ZSBwYWRkaW5nIGZyb20gbmVzdGVkIGNvbnRhaW5lcnNcbiAqL1xuLnVrLWNvbnRhaW5lciAudWstY29udGFpbmVyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb250YWluZXIteHNtYWxsIHtcbiAgbWF4LXdpZHRoOiA3NTBweDtcbn1cblxuLnVrLWNvbnRhaW5lci1zbWFsbCB7XG4gIG1heC13aWR0aDogOTAwcHg7XG59XG5cbi51ay1jb250YWluZXItbGFyZ2Uge1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbn1cblxuLnVrLWNvbnRhaW5lci14bGFyZ2Uge1xuICBtYXgtd2lkdGg6IDE2MDBweDtcbn1cblxuLnVrLWNvbnRhaW5lci1leHBhbmQge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8qIEV4cGFuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRXhwYW5kIG9uZSBzaWRlIG9ubHlcbiAqL1xuLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4udWstY29udGFpbmVyLWV4cGFuZC1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjgpIHtcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDc1MHB4IC8gMikgLSAzMHB4KTtcbiAgfVxuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDkwMHB4IC8gMikgLSAzMHB4KTtcbiAgfVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArICgxMjAwcHggLyAyKSAtIDQwcHgpO1xuICB9XG4gIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhzbWFsbCxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhzbWFsbCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArICg3NTBweCAvIDIpIC0gNDBweCk7XG4gIH1cbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItc21hbGwsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArICg5MDBweCAvIDIpIC0gNDBweCk7XG4gIH1cbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItbGFyZ2UsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1sYXJnZSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArICgxNDAwcHggLyAyKSAtIDQwcHgpO1xuICB9XG4gIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhsYXJnZSxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhsYXJnZSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArICgxNjAwcHggLyAyKSAtIDQwcHgpO1xuICB9XG59XG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFV0aWxpdHkgY2xhc3NlcyB0byByZXNldCBjb250YWluZXIgcGFkZGluZyBvbiB0aGUgbGVmdCBvciByaWdodCBzaWRlXG4gKiBOb3RlOiBJdCBoYXMgdG8gYmUgbmVnYXRpdmUgbWFyZ2luIG9uIHRoZSBpdGVtLCBiZWNhdXNlIGl0J3Mgc3BlY2lmaWMgdG8gdGhlIGl0ZW0uXG4gKi9cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDE1cHgpO1xufVxuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbn1cblxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjgpIHtcbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuICB9XG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gIH1cbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICB9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgfVxuICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICB9XG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogR3JpZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxsb3cgY2VsbHMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqL1xuLnVrLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBHcmlkIGNlbGxcbiAqIE5vdGU6IFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rczogMCAxIGF1dG9cbiAqIFJlc2V0IG1hcmdpbiBmb3IgZS5nLiBwYXJhZ3JhcGhzXG4gKi9cbi51ay1ncmlkID4gKiB7XG4gIG1hcmdpbjogMDtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstZ3JpZCA+ICogPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIEd1dHRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZCB7XG4gIG1hcmdpbi1sZWZ0OiAtMzBweDtcbn1cblxuLnVrLWdyaWQgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZCxcbi51ay1ncmlkID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBIb3Jpem9udGFsICovXG4gIC51ay1ncmlkIHtcbiAgICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gIH1cbiAgLnVrLWdyaWQgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gIH1cbiAgLyogVmVydGljYWwgKi9cbiAgLnVrLWdyaWQgKyAudWstZ3JpZCxcbiAgLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4gICogKyAudWstZ3JpZC1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLXNtYWxsLFxuLnVrLWdyaWQtY29sdW1uLXNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xufVxuXG4udWstZ3JpZC1zbWFsbCA+ICosXG4udWstZ3JpZC1jb2x1bW4tc21hbGwgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LXNtYWxsLFxuLnVrLWdyaWQtc21hbGwgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctc21hbGwgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLypcbiAqIE1lZGl1bVxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1jb2x1bW4tbWVkaXVtIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xufVxuXG4udWstZ3JpZC1tZWRpdW0gPiAqLFxuLnVrLWdyaWQtY29sdW1uLW1lZGl1bSA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLW1lZGl1bSxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LW1lZGl1bSxcbi51ay1ncmlkLW1lZGl1bSA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1tZWRpdW0gPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLW1lZGl1bSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1sYXJnZSxcbi51ay1ncmlkLWNvbHVtbi1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiAtNDBweDtcbn1cblxuLnVrLWdyaWQtbGFyZ2UgPiAqLFxuLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gKiB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZCArIC51ay1ncmlkLXJvdy1sYXJnZSxcbi51ay1ncmlkLWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtcm93LWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBIb3Jpem9udGFsICovXG4gIC51ay1ncmlkLWxhcmdlLFxuICAudWstZ3JpZC1jb2x1bW4tbGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAtNzBweDtcbiAgfVxuICAudWstZ3JpZC1sYXJnZSA+ICosXG4gIC51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogNzBweDtcbiAgfVxuICAvKiBWZXJ0aWNhbCAqL1xuICAudWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuICAudWstZ3JpZCArIC51ay1ncmlkLXJvdy1sYXJnZSxcbiAgLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4gIC51ay1ncmlkLXJvdy1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiAgKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcbiAgfVxufVxuXG4vKlxuICogQ29sbGFwc2VcbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtY29sbGFwc2UsXG4udWstZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLnVrLWdyaWQtY29sbGFwc2UgPiAqLFxuLnVrLWdyaWQtY29sdW1uLWNvbGxhcHNlID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtY29sbGFwc2UsXG4udWstZ3JpZCArIC51ay1ncmlkLXJvdy1jb2xsYXBzZSxcbi51ay1ncmlkLWNvbGxhcHNlID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtcm93LWNvbGxhcHNlID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZ3JpZC1kaXZpZGVyID4gKiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIge1xuICBtYXJnaW4tbGVmdDogLTYwcHg7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiA2MHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgbGVmdDogMzBweDtcbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgdG9wOiAtMzBweDtcbiAgbGVmdDogNjBweDtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qIEhvcml6b250YWwgKi9cbiAgLnVrLWdyaWQtZGl2aWRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IC04MHB4O1xuICB9XG4gIC51ay1ncmlkLWRpdmlkZXIgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbiAgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgbGVmdDogNDBweDtcbiAgfVxuICAvKiBWZXJ0aWNhbCAqL1xuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gIH1cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogLTQwcHg7XG4gICAgbGVmdDogODBweDtcbiAgfVxufVxuXG4vKlxuICogU21hbGxcbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1zbWFsbCB7XG4gIG1hcmdpbi1sZWZ0OiAtMzBweDtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsID4gKixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLXNtYWxsID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgbGVmdDogMTVweDtcbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIHRvcDogLTE1cHg7XG4gIGxlZnQ6IDMwcHg7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgdG9wOiAtMTVweDtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICBsZWZ0OiAzMHB4O1xufVxuXG4vKlxuICogTWVkaXVtXG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSB7XG4gIG1hcmdpbi1sZWZ0OiAtNjBweDtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSA+ICosXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gIGxlZnQ6IDMwcHg7XG59XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogNjBweDtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICB0b3A6IC0zMHB4O1xuICBsZWZ0OiA2MHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICB0b3A6IC0zMHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICBsZWZ0OiA2MHB4O1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiAtODBweDtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gKixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiA4MHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgbGVmdDogNDBweDtcbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogODBweDtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIHRvcDogLTQwcHg7XG4gIGxlZnQ6IDgwcHg7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgdG9wOiAtNDBweDtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICBsZWZ0OiA4MHB4O1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLyogSG9yaXpvbnRhbCAqL1xuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UsXG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTQwcHg7XG4gIH1cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gKixcbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMTQwcHg7XG4gIH1cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLFxuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBsZWZ0OiA3MHB4O1xuICB9XG4gIC8qIFZlcnRpY2FsICovXG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luLFxuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICAgIG1hcmdpbi10b3A6IDE0MHB4O1xuICB9XG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogLTcwcHg7XG4gICAgbGVmdDogMTQwcHg7XG4gIH1cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogLTcwcHg7XG4gIH1cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIGxlZnQ6IDE0MHB4O1xuICB9XG59XG5cbi8qIE1hdGNoIGNoaWxkIG9mIGEgZ3JpZCBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDEuIFdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoLCBhdCBsZWFzdCAxMDAlLiBPbmx5IGlmIG5vIGNsYXNzIGZyb20gdGhlIFdpZHRoIGNvbXBvbmVudCBpcyBzZXQuXG4gKiAzLiBFeHBhbmQgd2lkdGggZXZlbiBpZiBsYXJnZXIgdGhhbiAxMDAlLCBlLmcuIGJlY2F1c2Ugb2YgbmVnYXRpdmUgbWFyZ2luIChOZWVkZWQgZm9yIG5lc3RlZCBncmlkcylcbiAqL1xuLnVrLWdyaWQtbWF0Y2ggPiAqLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udWstZ3JpZC1tYXRjaCA+ICogPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiAzICovXG4gIGZsZXg6IGF1dG87XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUaWxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10aWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjgpIHtcbiAgLnVrLXRpbGUge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51ay10aWxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbiAgfVxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLXRpbGU6OmJlZm9yZSxcbi51ay10aWxlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstdGlsZTo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstdGlsZSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFhTbWFsbFxuICovXG4udWstdGlsZS14c21hbGwge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG4udWstdGlsZS1zbWFsbCB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cbi51ay10aWxlLWxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA3MHB4O1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstdGlsZS1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDE0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNDBweDtcbiAgfVxufVxuXG4vKlxuICogWExhcmdlXG4gKi9cbi51ay10aWxlLXhsYXJnZSB7XG4gIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDE0MHB4O1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstdGlsZS14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAyMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjEwcHg7XG4gIH1cbn1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi51ay10aWxlLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuLnVrLXRpbGUtbXV0ZWQge1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstdGlsZS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzFlODdmMDtcbn1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG4udWstdGlsZS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjMjIyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ2FyZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY2FyZC1ib2R5IHtcbiAgcGFkZGluZzogMzBweCAzMHB4O1xufVxuXG4udWstY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7XG59XG5cbi51ay1jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IDE1cHggMzBweDtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IDQwcHggNDBweDtcbiAgfVxuICAudWstY2FyZC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgfVxuICAudWstY2FyZC1mb290ZXIge1xuICAgIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgfVxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuLnVrLWNhcmQtYm9keTo6YmVmb3JlLFxuLnVrLWNhcmQtYm9keTo6YWZ0ZXIsXG4udWstY2FyZC1oZWFkZXI6OmJlZm9yZSxcbi51ay1jYXJkLWhlYWRlcjo6YWZ0ZXIsXG4udWstY2FyZC1mb290ZXI6OmJlZm9yZSxcbi51ay1jYXJkLWZvb3Rlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWNhcmQtYm9keTo6YWZ0ZXIsXG4udWstY2FyZC1oZWFkZXI6OmFmdGVyLFxuLnVrLWNhcmQtZm9vdGVyOjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1jYXJkLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtZm9vdGVyID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBNZWRpYVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVzZXJ2ZWQgYWxpZ25tZW50IG1vZGlmaWVyIHRvIHN0eWxlIHRoZSBtZWRpYSBlbGVtZW50LCBlLmcuIHdpdGggYGJvcmRlci1yYWRpdXNgXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQtdGl0bGUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLyogQmFkZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQtYmFkZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzBweDtcbiAgcmlnaHQ6IDMwcHg7XG4gIHotaW5kZXg6IDE7XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG4udWstY2FyZC1iYWRnZTpmaXJzdC1jaGlsZCArICoge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBIb3ZlciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY2FyZC1ob3Zlcjpub3QoLnVrLWNhcmQtZGVmYXVsdCk6bm90KC51ay1jYXJkLXByaW1hcnkpOm5vdCgudWstY2FyZC1zZWNvbmRhcnkpOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAxNHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcbn1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKiBOb3RlOiBIZWFkZXIgYW5kIEZvb3RlciBhcmUgb25seSBpbXBsZW1lbnRlZCBmb3IgdGhlIGRlZmF1bHQgc3R5bGVcbiAqL1xuLnVrLWNhcmQtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjNjY2O1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtdGl0bGUge1xuICBjb2xvcjogIzMzMztcbn1cblxuLnVrLWNhcmQtZGVmYXVsdC51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAxNHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuLnVrLWNhcmQtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMxZTg3ZjA7XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi51ay1jYXJkLXByaW1hcnkgLnVrLWNhcmQtdGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlODdmMDtcbiAgYm94LXNoYWRvdzogMCAxNHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcbn1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG4udWstY2FyZC1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjMjIyO1xuICBjb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4udWstY2FyZC1zZWNvbmRhcnkgLnVrLWNhcmQtdGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICBib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xufVxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTbWFsbFxuICovXG4udWstY2FyZC1zbWFsbC51ay1jYXJkLWJvZHksXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1ib2R5IHtcbiAgcGFkZGluZzogMjBweCAyMHB4O1xufVxuXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAxM3B4IDIwcHg7XG59XG5cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IDEzcHggMjBweDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY2FyZC1sYXJnZS51ay1jYXJkLWJvZHksXG4gIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IDcwcHggNzBweDtcbiAgfVxuICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDM1cHggNzBweDtcbiAgfVxuICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1mb290ZXIge1xuICAgIHBhZGRpbmc6IDM1cHggNzBweDtcbiAgfVxufVxuXG4vKlxuICAgICAqIERlZmF1bHRcbiAgICAgKi9cbi51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQge1xuICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gIG1hcmdpbi1yaWdodDogLTMwcHg7XG59XG5cbi51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IC0xNXB4O1xuICBtYXJnaW4tYm90dG9tOiAtMTVweDtcbn1cblxuLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsXG4udWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbi51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbn1cblxuLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIge1xuICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgICBtYXJnaW4tbGVmdDogLTQwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgfVxuICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IC0yNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IC0yNXB4O1xuICB9XG4gIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxuICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7XG4gICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICB9XG59XG5cbi8qXG4gICAgICogU21hbGxcbiAgICAgKi9cbi51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xufVxuXG4udWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgbWFyZ2luLWJvdHRvbTogLTVweDtcbn1cblxuLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHtcbiAgcGFkZGluZy1sZWZ0OiAzNXB4O1xufVxuXG4vKlxuICAgICAqIExhcmdlXG4gICAgICovXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnVrLWNhcmQtbGFyZ2UgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAudWstY2FyZC1sYXJnZSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gIC51ay1jYXJkLWxhcmdlIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG4gIC51ay1jYXJkLWxhcmdlIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDbG9zZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG4udWstY2xvc2Uge1xuICBjb2xvcjogIzk5OTtcbiAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIG9wYWNpdHk7XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1jbG9zZTpob3Zlcixcbi51ay1jbG9zZTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3Bpbm5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG4vKiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNwaW5uZXIgPiAqIHtcbiAgYW5pbWF0aW9uOiB1ay1zcGlubmVyLXJvdGF0ZSAxLjRzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLXJvdGF0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICB9XG59XG5cbi8qXG4gKiBDaXJjbGVcbiAqL1xuLnVrLXNwaW5uZXIgPiAqID4gKiB7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDg4cHg7XG4gIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIGFuaW1hdGlvbjogdWstc3Bpbm5lci1kYXNoIDEuNHMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIHN0cm9rZS13aWR0aDogMTtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xufVxuXG5Aa2V5ZnJhbWVzIHVrLXNwaW5uZXItZGFzaCB7XG4gIDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogODhweDtcbiAgfVxuICA1MCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAyMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDg4cHg7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDUwZGVnKTtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVG90b3BcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZG9wdHMgYHVrLWljb25gXG4gKi9cbi51ay10b3RvcCB7XG4gIHBhZGRpbmc6IDVweDtcbiAgY29sb3I6ICM5OTk7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10b3RvcDpob3Zlcixcbi51ay10b3RvcDpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiBPbkNsaWNrICovXG4udWstdG90b3A6YWN0aXZlIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNYXJrZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZG9wdHMgYHVrLWljb25gXG4gKi9cbi51ay1tYXJrZXIge1xuICBwYWRkaW5nOiA1cHg7XG4gIGJhY2tncm91bmQ6ICMyMjI7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA1MDBweDtcbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW1hcmtlcjpob3Zlcixcbi51ay1tYXJrZXI6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFsZXJ0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZzogMTVweCAyOXB4IDE1cHggMTVweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1hbGVydCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWFsZXJ0ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFsZXJ0LWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAxNXB4O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgb3BhY2l0eTogMC40O1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuLnVrLWFsZXJ0LWNsb3NlOmZpcnN0LWNoaWxkICsgKiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qXG4gKiBIb3ZlciArIEZvY3VzXG4gKi9cbi51ay1hbGVydC1jbG9zZTpob3Zlcixcbi51ay1hbGVydC1jbG9zZTpmb2N1cyB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstYWxlcnQtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICNkOGVhZmM7XG4gIGNvbG9yOiAjMWU4N2YwO1xufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG4udWstYWxlcnQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQ6ICNlZGZiZjY7XG4gIGNvbG9yOiAjMzJkMjk2O1xufVxuXG4vKlxuICogV2FybmluZ1xuICovXG4udWstYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQ6ICNmZWY1ZWU7XG4gIGNvbG9yOiAjZmFhMDVhO1xufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cbi51ay1hbGVydC1kYW5nZXIge1xuICBiYWNrZ3JvdW5kOiAjZmVmNGY2O1xuICBjb2xvcjogI2YwNTA2ZTtcbn1cblxuLypcbiAgICAgKiBDb250ZW50XG4gICAgICovXG4udWstYWxlcnQgaDEsXG4udWstYWxlcnQgaDIsXG4udWstYWxlcnQgaDMsXG4udWstYWxlcnQgaDQsXG4udWstYWxlcnQgaDUsXG4udWstYWxlcnQgaDYge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLnVrLWFsZXJ0IGE6bm90KFtjbGFzc10pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udWstYWxlcnQgYTpub3QoW2NsYXNzXSk6aG92ZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIENlbnRlciBjaGlsZCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuLnVrLWJhZGdlIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLXdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMSAqL1xuICBiYWNrZ3JvdW5kOiAjMWU4N2YwO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cbi51ay1iYWRnZTpob3Zlcixcbi51ay1iYWRnZTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgYmFja2dyb3VuZDogIzFlODdmMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTdWNjZXNzXG4gKi9cbi51ay1sYWJlbC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyZDI5NjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cbi51ay1sYWJlbC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhYTA1YTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuLnVrLWxhYmVsLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDUwNmU7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstb3ZlcmxheSB7XG4gIHBhZGRpbmc6IDMwcHggMzBweDtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstb3ZlcmxheSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLW92ZXJsYXktZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuLnVrLW92ZXJsYXktcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzQsIDM0LCAzNCwgMC44KTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFydGljbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cbi51ay1hcnRpY2xlOjpiZWZvcmUsXG4udWstYXJ0aWNsZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWFydGljbGU6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWFydGljbGUgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIEFkamFjZW50IHNpYmxpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFydGljbGUgKyAudWstYXJ0aWNsZSB7XG4gIG1hcmdpbi10b3A6IDcwcHg7XG59XG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hcnRpY2xlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyLjIzMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstYXJ0aWNsZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjYyNXJlbTtcbiAgfVxufVxuXG4vKiBNZXRhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hcnRpY2xlLW1ldGEge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzk5OTtcbn1cblxuLnVrLWFydGljbGUtbWV0YSBhIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi51ay1hcnRpY2xlLW1ldGEgYTpob3ZlciB7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb21tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb21tZW50LWJvZHkge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi51ay1jb21tZW50LWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG4udWstY29tbWVudC1ib2R5OjpiZWZvcmUsXG4udWstY29tbWVudC1ib2R5OjphZnRlcixcbi51ay1jb21tZW50LWhlYWRlcjo6YmVmb3JlLFxuLnVrLWNvbW1lbnQtaGVhZGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstY29tbWVudC1ib2R5OjphZnRlcixcbi51ay1jb21tZW50LWhlYWRlcjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstY29tbWVudC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY29tbWVudC1oZWFkZXIgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb21tZW50LXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiBNZXRhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb21tZW50LW1ldGEge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogQXZhdGFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNvbW1lbnQtbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qIEFkamFjZW50IHNpYmxpbmdzICovXG4udWstY29tbWVudC1saXN0ID4gOm50aC1jaGlsZChuKzIpIHtcbiAgbWFyZ2luLXRvcDogNzBweDtcbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKiBOb3RlOiBHZW5lcmFsIHNpYmxpbmcgc2VsZWN0b3IgYWxsb3dzIHJlcGx5IGJsb2NrIGJldHdlZW4gY29tbWVudCBhbmQgc3VibGlzdFxuICovXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwge1xuICBtYXJnaW46IDcwcHggMCAwIDA7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogVGFibGV0IGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwge1xuICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gIH1cbn1cblxuLyogQWRqYWNlbnQgc2libGluZ3MgKi9cbi51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCA+IDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDcwcHg7XG59XG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb21tZW50LXByaW1hcnkge1xuICBwYWRkaW5nOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2VhcmNoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gUmVzZXQgYGZvcm1gXG4gKi9cbi51ay1zZWFyY2gge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIDMgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiA0ICovXG4gIG1hcmdpbjogMDtcbn1cblxuLyogSW5wdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cbi51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKlxuICogMS4gRGVmaW5lIGNvbnNpc3RlbnQgYm94IHNpemluZy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveC9JRSBhbmQgQ2hyb21lL1NhZmFyaS9PcGVyYS5cbiAqIDMuIFJlbW92ZSBgYm9yZGVyLXJhZGl1c2AgaW4gaU9TLlxuICogNC4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiA1LiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gaU9TLlxuICogNy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA4LiBUYWtlIHRoZSBmdWxsIGNvbnRhaW5lciB3aWR0aFxuICogOS4gU3R5bGVcbiAqL1xuLnVrLXNlYXJjaC1pbnB1dCB7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi9cbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLyogNCAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiA1ICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiA2ICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogNyAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiA4ICovXG4gIHdpZHRoOiAxMDAlO1xuICAvKiA5ICovXG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiBQbGFjZWhvbGRlciAqL1xuLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OSAhaW1wb3J0YW50O1xufVxuXG4udWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiBJY29uIChBZG9wdHMgYHVrLWljb25gKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgZm9jdXMgc3R5bGVcbiAqL1xuLnVrLXNlYXJjaC1pY29uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLypcbiAqIFBvc2l0aW9uIGFib3ZlIGlucHV0XG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMy4gU3R5bGVcbiAqL1xuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24ge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiAzICovXG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpub3QoYSk6bm90KGJ1dHRvbik6bm90KGlucHV0KSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24tZmxpcCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zZWFyY2gtZGVmYXVsdCB7XG4gIHdpZHRoOiAxODBweDtcbn1cblxuLypcbiAqIElucHV0XG4gKi9cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLyogRm9jdXMgKi9cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb24ge1xuICB3aWR0aDogNDBweDtcbn1cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApIH4gLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbn1cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbi1mbGlwIH4gLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG59XG5cbi8qIE5hdmJhciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc2VhcmNoLW5hdmJhciB7XG4gIHdpZHRoOiA0MDBweDtcbn1cblxuLypcbiAqIElucHV0XG4gKi9cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDEuNXJlbTtcbn1cblxuLypcbiAqIEljb25cbiAqL1xuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uIHtcbiAgd2lkdGg6IDQwcHg7XG59XG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApIH4gLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbn1cblxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbn1cblxuLyogTGFyZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNlYXJjaC1sYXJnZSB7XG4gIHdpZHRoOiA1MDBweDtcbn1cblxuLypcbiAqIElucHV0XG4gKi9cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIGhlaWdodDogODBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMi42MjVyZW07XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uIHtcbiAgd2lkdGg6IDgwcHg7XG59XG5cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgfiAudWstc2VhcmNoLWlucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiA4MHB4O1xufVxuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbi1mbGlwIH4gLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG59XG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc2VhcmNoLXRvZ2dsZSB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc2VhcmNoLXRvZ2dsZTpob3Zlcixcbi51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBOYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlc2V0XG4gKiAxLiBQcmVwYXJlIGxpc3RzXG4gKiAyLiBQcmVwYXJlIGxpbmtzXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG4vKiAxICovXG4udWstbmF2LFxuLnVrLW5hdiB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogMiAqL1xuLnVrLW5hdiBsaSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiAzICovXG4udWstbmF2IGxpID4gYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qXG4gKiBJdGVtc1xuICogTXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gbGlzdHMpXG4gKi9cbi51ay1uYXYgPiBsaSA+IGEge1xuICBwYWRkaW5nOiA1cHggMDtcbn1cblxuLyogU3VibGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIExldmVsIDJcbiAqIGB1bGAgbmVlZGVkIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgcGFkZGluZ1xuICovXG51bC51ay1uYXYtc3ViIHtcbiAgcGFkZGluZzogNXB4IDAgNXB4IDE1cHg7XG59XG5cbi8qXG4gKiBMZXZlbCAzIGFuZCBkZWVwZXJcbiAqL1xuLnVrLW5hdi1zdWIgdWwge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG4udWstbmF2LXN1YiBhIHtcbiAgcGFkZGluZzogMnB4IDA7XG59XG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMS41ZW07XG4gIGhlaWdodDogMS41ZW07XG4gIGZsb2F0OiByaWdodDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiUyMzY2NiUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjEwJTIwMSUyMDQlMjA3JTIwMTAlMjAxMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbn1cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiUyMzY2NiUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjElMjA0JTIwNyUyMDEwJTIwMTMlMjA0JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xufVxuXG4vKiBIZWFkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdi1oZWFkZXIge1xuICBwYWRkaW5nOiA1cHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLnVrLW5hdi1oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtZGl2aWRlciB7XG4gIG1hcmdpbjogNXB4IDA7XG59XG5cbi8qIERlZmF1bHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdi1kZWZhdWx0IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMztcbn1cblxuLyogUHJpbWFyeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSXRlbXNcbiAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMztcbn1cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiBTdWJsaXN0cyAqL1xuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIsXG4udWstbmF2LWNlbnRlciAudWstbmF2LXN1YiB1bCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXIgICovXG4udWstbmF2LWNlbnRlci51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBOYXZiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IHRvIGNlbnRlciBuYXZiYXIgZ3JvdXBcbiAqL1xuLnVrLW5hdmJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbn1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uIChpZiBDb250YWluZXIgY29tcG9uZW50IGlzIHVzZWQpXG4gKi9cbi51ay1uYXZiYXItY29udGFpbmVyID4gOjpiZWZvcmUsXG4udWstbmF2YmFyLWNvbnRhaW5lciA+IDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIEdyb3Vwc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxpZ24gbmF2cyBhbmQgaXRlbXMgdmVydGljYWxseSBpZiB0aGV5IGhhdmUgYSBkaWZmZXJlbnQgaGVpZ2h0XG4gKiAyLiBOb3RlOiBJRSAxMSByZXF1aXJlcyBhbiBleHRyYSBgZGl2YCB3aGljaCBhZmZlY3RzIHRoZSBjZW50ZXIgc2VsZWN0b3JcbiAqL1xuLnVrLW5hdmJhci1sZWZ0LFxuLnVrLW5hdmJhci1yaWdodCxcbi51ay1uYXZiYXItY2VudGVyLFxuLnVrLW5hdmJhci1jZW50ZXItbGVmdCA+ICosXG4udWstbmF2YmFyLWNlbnRlci1yaWdodCA+ICoge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBIb3Jpem9udGFsIGFsaWdubWVudFxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGNlbnRlcmVkIG5hdmJhciB3aXRoIHN1YiBncm91cHMgKGxlZnQvcmlnaHQpXG4gKiAyLiBGaXggdGV4dCB3cmFwcGluZyBpZiBjb250ZW50IGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgY29udGFpbmVyLlxuICogMy4gTmVlZGVkIGZvciBkcm9wZG93bnMgYmVjYXVzZSBhIG5ldyBwb3NpdGlvbiBjb250ZXh0IGlzIGNyZWF0ZWRcbiAqICAgIGB6LWluZGV4YCBtdXN0IGJlIHNtYWxsZXIgdGhhbiBvZmYtY2FudmFzXG4gKiA0LiBBbGlnbiBzdWIgZ3JvdXBzIGZvciBjZW50ZXJlZCBuYXZiYXJcbiAqL1xuLnVrLW5hdmJhci1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4udWstbmF2YmFyLWNlbnRlcjpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51ay1uYXZiYXItY2VudGVyOm5vdCg6b25seS1jaGlsZCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAvKiAyICovXG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMyAqL1xuICB6LWluZGV4OiA5OTA7XG59XG5cbi8qIDQgKi9cbi51ay1uYXZiYXItY2VudGVyLWxlZnQsXG4udWstbmF2YmFyLWNlbnRlci1yaWdodCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xufVxuXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0IHtcbiAgcmlnaHQ6IDEwMCU7XG59XG5cbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0IHtcbiAgbGVmdDogMTAwJTtcbn1cblxuW2NsYXNzKj0ndWstbmF2YmFyLWNlbnRlci0nXSB7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZXNldCBsaXN0XG4gKi9cbi51ay1uYXZiYXItbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogT25seSBub3QgYGFic29sdXRlYCBwb3NpdGlvbmVkIGdyb3Vwc1xuICovXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuLnVrLW5hdmJhci1jZW50ZXI6b25seS1jaGlsZCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLypcbiAqIEl0ZW1zXG4gKiAxLiBDZW50ZXIgY29udGVudCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDIuIERpbWVuc2lvbnNcbiAqIDMuIFN0eWxlXG4gKiA0LiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLFxuLnVrLW5hdmJhci1pdGVtLFxuLnVrLW5hdmJhci10b2dnbGUge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi1oZWlnaHQ6IDgwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDtcbiAgLyogMyAqL1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAvKiA0ICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLypcbiAqIE5hdiBpdGVtc1xuICovXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gIGNvbG9yOiAjOTk5O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cblxuLypcbiAqIEhvdmVyXG4gKiBBcHBseSBob3ZlciBzdHlsZSBhbHNvIHRvIGZvY3VzIHN0YXRlIGFuZCBpZiBkcm9wZG93biBpcyBvcGVuZWRcbiAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICBjb2xvcjogIzY2NjtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLyogT25DbGljayAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdmJhci1pdGVtIHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2YmFyLXRvZ2dsZSB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4udWstbmF2YmFyLXRvZ2dsZTpob3Zlcixcbi51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuLnVrLW5hdmJhci10b2dnbGUudWstb3BlbiB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBJY29uXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi8qIFN1YnRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXZiYXItc3VidGl0bGUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogRHJvcGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkb3B0cyBgdWstZHJvcGRvd25gXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93biB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMjA7XG4gIC8qIDMgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDIwMHB4O1xuICAvKiA0ICovXG4gIHBhZGRpbmc6IDI1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjNjY2O1xuICBib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8qIFNob3cgKi9cbi51ay1uYXZiYXItZHJvcGRvd24udWstb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuICovXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi10b3AnXSB7XG4gIG1hcmdpbi10b3A6IC0xNXB4O1xufVxuXG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tYm90dG9tJ10ge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tbGVmdCddIHtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xufVxuXG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tcmlnaHQnXSB7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xufVxuXG4vKlxuICogR3JpZFxuICogQWRvcHRzIGB1ay1ncmlkYFxuICovXG4vKiBHdXR0ZXIgSG9yaXpvbnRhbCAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IC01MHB4O1xufVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLWdyaWQgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4O1xufVxuXG4vKiBHdXR0ZXIgVmVydGljYWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+IC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG59XG5cbi8qIFN0YWNrICovXG4udWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICoge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4vKlxuICogV2lkdGggbW9kaWZpZXJcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0yOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7XG4gIHdpZHRoOiA0MDBweDtcbn1cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0zOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7XG4gIHdpZHRoOiA2MDBweDtcbn1cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC00Om5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7XG4gIHdpZHRoOiA4MDBweDtcbn1cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC01Om5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7XG4gIHdpZHRoOiAxMDAwcHg7XG59XG5cbi8qXG4gKiBEcm9wYmFyIG1vZGlmaWVyXG4gKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZHJvcGJhciB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8qIERyb3Bkb3duIE5hdlxuICogQWRvcHRzIGB1ay1uYXZgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaSA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMztcbn1cblxuLypcbiAqIEhlYWRlclxuICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LWhlYWRlciB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vKlxuICogRGl2aWRlclxuICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGEge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vKiBEcm9wYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXZiYXItZHJvcGJhciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi8qXG4gKiBTbGlkZSBtb2RpZmllclxuICovXG4udWstbmF2YmFyLWRyb3BiYXItc2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk4MDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4vKlxuICAgICAqIE5hdmJhclxuICAgICAqL1xuLnVrLW5hdmJhci1jb250YWluZXIgPiAudWstY29udGFpbmVyIC51ay1uYXZiYXItbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbn1cblxuLnVrLW5hdmJhci1jb250YWluZXIgPiAudWstY29udGFpbmVyIC51ay1uYXZiYXItcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xufVxuXG4vKlxuICAgICAqIEdyaWQgRGl2aWRlclxuICAgICAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gKiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMjVweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMjVweDtcbiAgbGVmdDogNTBweDtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3VibmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0XG4gKi9cbi51ay1zdWJuYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIC8qIDMgKi9cbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cbi51ay1zdWJuYXYgPiAqIHtcbiAgLyogMSAqL1xuICBmbGV4OiBub25lO1xuICAvKiAyICovXG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogMyAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiBVc2luZyBgOmZpcnN0LWNoaWxkYCBpbnN0ZWFkIG9mIGBhYCB0byBzdXBwb3J0IGBzcGFuYCBlbGVtZW50cyBmb3IgdGV4dFxuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG4udWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIC8qIDIgKi9cbiAgY29sb3I6ICM5OTk7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2ID4gKiA+IGE6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vKiBEaXZpZGVyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGlnbiBpdGVtcyBhbmQgZGl2aWRlciB2ZXJ0aWNhbGx5XG4gKi9cbi51ay1zdWJuYXYtZGl2aWRlciA+ICoge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKiBgbnRoLWNoaWxkYCBtYWtlcyBpdCBhbHNvIHdvcmsgd2l0aG91dCBKUyBpZiBpdCdzIG9ubHkgb25lIHJvd1xuICovXG4udWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDEuNWVtO1xuICBtYXJnaW4tbGVmdDogMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLyogUGlsbCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4vKiBPbkNsaWNrICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogQWN0aXZlICovXG4udWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg3ZjA7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBEaXNhYmxlZFxuICogVGhlIHNhbWUgZm9yIGFsbCBzdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJyZWFkY3J1bWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKi9cbi51ay1icmVhZGNydW1iIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8qIDIgKi9cbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICovXG4udWstYnJlYWRjcnVtYiA+ICoge1xuICBmbGV4OiBub25lO1xufVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYnJlYWRjcnVtYiA+ICogPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLFxuLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogRGlzYWJsZWQgKi9cbi8qIEFjdGl2ZSAqL1xuLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICoge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLypcbiAqIERpdmlkZXJcbiAqIGBudGgtY2hpbGRgIG1ha2VzIGl0IGFsc28gd29yayB3aXRob3V0IEpTIGlmIGl0J3Mgb25seSBvbmUgcm93XG4gKi9cbi51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgY29udGVudDogXCIvXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDIwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGFnaW5hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG4udWstcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgZmxleC13cmFwOiB3cmFwO1xuICAvKiAyICovXG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgLyogMyAqL1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuLnVrLXBhZ2luYXRpb24gPiAqIHtcbiAgLyogMSAqL1xuICBmbGV4OiBub25lO1xuICAvKiAyICovXG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogMyAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cbi51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvKiAyICovXG4gIGNvbG9yOiAjOTk5O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsXG4udWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICoge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFiXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0XG4gKi9cbi51ay10YWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIC8qIDMgKi9cbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWstdGFiOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMjBweDtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuLnVrLXRhYiA+ICoge1xuICAvKiAxICovXG4gIGZsZXg6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiAzICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIDEuIENlbnRlciB0ZXh0IGlmIGEgd2lkdGggaXMgc2V0XG4gKiAyLiBTdHlsZVxuICovXG4udWstdGFiID4gKiA+IGEge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8qIDIgKi9cbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGNvbG9yOiAjOTk5O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10YWIgPiAqID4gYTpob3Zlcixcbi51ay10YWIgPiAqID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMzM7XG4gIGJvcmRlci1jb2xvcjogIzFlODdmMDtcbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBCb3R0b21cbiAqL1xuLnVrLXRhYi1ib3R0b206OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiBhdXRvO1xufVxuXG4udWstdGFiLWJvdHRvbSA+ICogPiBhIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4vKlxuICogTGVmdCArIFJpZ2h0XG4gKiAxLiBSZXNldCBHdXR0ZXJcbiAqL1xuLnVrLXRhYi1sZWZ0LFxuLnVrLXRhYi1yaWdodCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC8qIDEgKi9cbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qIDEgKi9cbi51ay10YWItbGVmdCA+ICosXG4udWstdGFiLXJpZ2h0ID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLnVrLXRhYi1sZWZ0OjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U1ZTVlNTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnVrLXRhYi1yaWdodDo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi51ay10YWItbGVmdCA+ICogPiBhIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi51ay10YWItcmlnaHQgPiAqID4gYSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi51ay10YWIgLnVrLWRyb3Bkb3duIHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZW5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG4udWstc2xpZGVuYXYge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMC41KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXNsaWRlbmF2OmhvdmVyLFxuLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMC45KTtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLyogT25DbGljayAqL1xuLnVrLXNsaWRlbmF2OmFjdGl2ZSB7XG4gIGNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuNSk7XG59XG5cbi8qIEljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXZpb3VzXG4gKi9cbi8qXG4gKiBOZXh0XG4gKi9cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNsaWRlbmF2LWxhcmdlIHtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xufVxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNsaWRlbmF2LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEb3RuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuLnVrLWRvdG5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgZmxleC13cmFwOiB3cmFwO1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgLyogMyAqL1xuICBtYXJnaW4tbGVmdDogLTEycHg7XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICovXG4udWstZG90bmF2ID4gKiB7XG4gIC8qIDEgKi9cbiAgZmxleDogbm9uZTtcbiAgLyogMiAqL1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG59XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtc1xuICogMS4gSGlkZSB0ZXh0IGlmIHByZXNlbnRcbiAqL1xuLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAyLCAxMDIsIDEwMiwgMC40KTtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstZG90bmF2ID4gKiA+IDpob3Zlcixcbi51ay1kb3RuYXYgPiAqID4gOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjYpO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBPbkNsaWNrICovXG4udWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuMik7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjYpO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBNb2RpZmllcjogJ3VrLWRvdG5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENoYW5nZSBkaXJlY3Rpb25cbiAqIDIuIEd1dHRlclxuICovXG4udWstZG90bmF2LXZlcnRpY2FsIHtcbiAgLyogMSAqL1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvKiAyICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbn1cblxuLyogMiAqL1xuLnVrLWRvdG5hdi12ZXJ0aWNhbCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctdG9wOiAxMnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGh1bWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuLnVrLXRodW1ibmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAvKiAzICovXG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbn1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogMS4gR3V0dGVyXG4gKi9cbi51ay10aHVtYm5hdiA+ICoge1xuICAvKiAxICovXG4gIHBhZGRpbmctbGVmdDogMTVweDtcbn1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEl0ZW1zXG4gKi9cbi51ay10aHVtYm5hdiA+ICogPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51ay10aHVtYm5hdiA+ICogPiAqOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRodW1ibmF2ID4gKiA+IDpob3Zlcixcbi51ay10aHVtYm5hdiA+ICogPiA6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4udWstdGh1bWJuYXYgPiAqID4gOmhvdmVyOjphZnRlcixcbi51ay10aHVtYm5hdiA+ICogPiA6Zm9jdXM6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXRodW1ibmF2ID4gLnVrLWFjdGl2ZSA+ICo6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIE1vZGlmaWVyOiAndWstdGh1bWJuYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuLnVrLXRodW1ibmF2LXZlcnRpY2FsIHtcbiAgLyogMSAqL1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvKiAyICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTVweDtcbn1cblxuLyogMiAqL1xuLnVrLXRodW1ibmF2LXZlcnRpY2FsID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBY2NvcmRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFjY29yZGlvbiB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFjY29yZGlvbiA+IDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hY2NvcmRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzMzMztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDEuNGVtO1xuICBoZWlnaHQ6IDEuNGVtO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMyUyMDEzJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwd2lkdGglM0QlMjIxJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB4JTNEJTIyNiUyMiUyMHklM0QlMjIwJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xufVxuXG4udWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYWNjb3JkaW9uLXRpdGxlOmhvdmVyLFxuLnVrLWFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIENvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFjY29yZGlvbi1jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cbi51ay1hY2NvcmRpb24tY29udGVudDo6YmVmb3JlLFxuLnVrLWFjY29yZGlvbi1jb250ZW50OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstYWNjb3JkaW9uLWNvbnRlbnQ6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWFjY29yZGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRHJvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIFNldCBhIGRlZmF1bHQgd2lkdGhcbiAqL1xuLnVrLWRyb3Age1xuICAvKiAxICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDIwO1xuICAvKiAzICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAzMDBweDtcbn1cblxuLyogU2hvdyAqL1xuLnVrLWRyb3AudWstb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstZHJvcC10b3AnXSB7XG4gIG1hcmdpbi10b3A6IC0yMHB4O1xufVxuXG5bY2xhc3MqPSd1ay1kcm9wLWJvdHRvbSddIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuW2NsYXNzKj0ndWstZHJvcC1sZWZ0J10ge1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG59XG5cbltjbGFzcyo9J3VrLWRyb3AtcmlnaHQnXSB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xufVxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZHJvcC1zdGFjayAudWstZHJvcC1ncmlkID4gKiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIFNldCBhIGRlZmF1bHQgd2lkdGhcbiAqIDQuIFN0eWxlXG4gKi9cbi51ay1kcm9wZG93biB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMjA7XG4gIC8qIDMgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgLyogNCAqL1xuICBwYWRkaW5nOiAyNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzY2NjtcbiAgYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4vKiBTaG93ICovXG4udWstZHJvcGRvd24udWstb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZHJvcGRvd24tbmF2IHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGEge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogSG92ZXIgKyBGb2N1cyArIEFjdGl2ZSAqL1xuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3Zlcixcbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4udWstZHJvcGRvd24tbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1oZWFkZXIge1xuICBjb2xvcjogIzMzMztcbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLWRyb3Bkb3duLXRvcCddIHtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG59XG5cbltjbGFzcyo9J3VrLWRyb3Bkb3duLWJvdHRvbSddIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuW2NsYXNzKj0ndWstZHJvcGRvd24tbGVmdCddIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xufVxuXG5bY2xhc3MqPSd1ay1kcm9wZG93bi1yaWdodCddIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi8qIEdyaWQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1kcm9wZG93bi1zdGFjayAudWstZHJvcGRvd24tZ3JpZCA+ICoge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTW9kYWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuLnVrLW1vZGFsIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDEwO1xuICAvKiAzICovXG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLyogNCAqL1xuICBwYWRkaW5nOiAxNXB4IDE1cHg7XG4gIC8qIDUgKi9cbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAvKiA2ICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OCkge1xuICAudWstbW9kYWwge1xuICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgfVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstbW9kYWwge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG5cbi8qXG4gKiBPcGVuXG4gKi9cbi51ay1tb2RhbC51ay1vcGVuIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cbi51ay1tb2RhbC1wYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRGlhbG9nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3Igc3Bpbm5lciBhbmQgY2xvc2UgYnV0dG9uXG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBGaXggYG1heC13aWR0aDogMTAwJWAgbm90IHdvcmtpbmcgaW4gY29tYmluYXRpb24gd2l0aCBmbGV4IGFuZCByZXNwb25zaXZlIGltYWdlcyBpbiBJRTExXG4gKiAgICBgIWltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJ3cml0ZSBgdWstd2lkdGgtYXV0b2AuIFNlZSBgI21vZGFsLW1lZGlhLWltYWdlYCBpbiB0ZXN0c1xuICogNC4gU3R5bGVcbiAqIDUuIFNsaWRlLWluIHRyYW5zaXRpb25cbiAqL1xuLnVrLW1vZGFsLWRpYWxvZyB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogNjAwcHg7XG4gIC8qIDMgKi9cbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAwLjAxcHgpICFpbXBvcnRhbnQ7XG4gIC8qIDQgKi9cbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogNSAqL1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgdHJhbnNpdGlvbjogMC4zcyBsaW5lYXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuLnVrLW9wZW4gPiAudWstbW9kYWwtZGlhbG9nIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBDb250YWluZXIgc2l6ZVxuICogVGFrZSB0aGUgc2FtZSBzaXplIGFzIHRoZSBDb250YWluZXIgY29tcG9uZW50XG4gKi9cbi51ay1tb2RhbC1jb250YWluZXIgLnVrLW1vZGFsLWRpYWxvZyB7XG4gIHdpZHRoOiAxMjAwcHg7XG59XG5cbi8qXG4gKiBGdWxsIHNpemVcbiAqIDEuIFJlbW92ZSBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGZyb20gbW9kYWxcbiAqIDIuIFJlc2V0IGFsbCBkZWZhdWx0IGRlY2xhcmF0aW9ucyBmcm9tIG1vZGFsIGRpYWxvZ1xuICovXG4vKiAxICovXG4udWstbW9kYWwtZnVsbCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qIDIgKi9cbi51ay1tb2RhbC1mdWxsIC51ay1tb2RhbC1kaWFsb2cge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1vZGFsLWJvZHkge1xuICBwYWRkaW5nOiAzMHB4IDMwcHg7XG59XG5cbi51ay1tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4udWstbW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogMTVweCAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cbi51ay1tb2RhbC1ib2R5OjpiZWZvcmUsXG4udWstbW9kYWwtYm9keTo6YWZ0ZXIsXG4udWstbW9kYWwtaGVhZGVyOjpiZWZvcmUsXG4udWstbW9kYWwtaGVhZGVyOjphZnRlcixcbi51ay1tb2RhbC1mb290ZXI6OmJlZm9yZSxcbi51ay1tb2RhbC1mb290ZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1tb2RhbC1ib2R5OjphZnRlcixcbi51ay1tb2RhbC1oZWFkZXI6OmFmdGVyLFxuLnVrLW1vZGFsLWZvb3Rlcjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstbW9kYWwtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWZvb3RlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1vZGFsLXRpdGxlIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ10ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMTA7XG4gIHRvcDogMTBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmc6IDVweDtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddOmZpcnN0LWNoaWxkICsgKiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG4vKlxuICogRGVmYXVsdFxuICovXG4vKlxuICogT3V0c2lkZVxuICogMS4gUHJldmVudCBzY3JvbGxiYXIgb24gc21hbGwgZGV2aWNlc1xuICovXG4udWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gIHRvcDogMDtcbiAgLyogMSAqL1xuICByaWdodDogLTVweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC8qIDEgKi9cbiAgLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC0xMDAlKTtcbiAgfVxufVxuXG4vKlxuICogRnVsbFxuICovXG4udWstbW9kYWwtY2xvc2UtZnVsbCB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaWdodGJveFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICovXG4udWstbGlnaHRib3gge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMTA7XG4gIC8qIDUgKi9cbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgLyogNiAqL1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbn1cblxuLypcbiAqIE9wZW5cbiAqIDEuIENlbnRlciBjaGlsZFxuICogMi4gRmFkZS1pblxuICovXG4udWstbGlnaHRib3gudWstb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvKiAyICovXG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG4udWstbGlnaHRib3gtcGFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENlbnRlciBjaGlsZCB3aXRoaW4gdGhlIHZpZXdwb3J0XG4gKiAyLiBOb3QgdmlzaWJsZSBieSBkZWZhdWx0XG4gKiAzLiBDb2xvciBuZWVkZWQgZm9yIHNwaW5uZXIgaWNvblxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA1LiBSZXNwb25zaXZlbmVzc1xuICogICAgVXNpbmcgYHZoYCBmb3IgYG1heC1oZWlnaHRgIHRvIGZpeCBpbWFnZSBwcm9wb3J0aW9ucyBhZnRlciByZXNpemUgaW4gU2FmYXJpIGFuZCBPcGVyYVxuICogICAgVXNpbmcgYHZoYCBhbmQgYHZ3YCB0byBtYWtlIHJlc3BvbnNpdmUgaW1hZ2Ugd29yayBpbiBJRTExXG4gKiA2LiBTdXBwcmVzcyBvdXRsaW5lIG9uIGZvY3VzXG4gKi9cbi51ay1saWdodGJveC1pdGVtcyA+ICoge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICAvKiAyICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiAzICovXG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIC8qIDQgKi9cbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cblxuLyogNSAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiA+ICoge1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICBtYXgtaGVpZ2h0OiAxMDB2aDtcbn1cblxuLyogNiAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiA+IDpub3QoaWZyYW1lKSB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi51ay1saWdodGJveC1pdGVtcyA+IC51ay1hY3RpdmUge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKiBUb29sYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saWdodGJveC10b29sYmFyIHtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51ay1saWdodGJveC10b29sYmFyID4gKiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi8qIFRvb2xiYXIgSWNvbiAoQ2xvc2UpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saWdodGJveC10b29sYmFyLWljb24ge1xuICBwYWRkaW5nOiA1cHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qIEJ1dHRvbiAoU2xpZGVuYXYpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuLnVrLWxpZ2h0Ym94LWJ1dHRvbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG4udWstbGlnaHRib3gtYnV0dG9uOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSWZyYW1lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saWdodGJveC1pZnJhbWUge1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IDgwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlc2hvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuLnVrLXNsaWRlc2hvdyB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBhbmQgc3RhY2tpbmcgY29udGV4dFxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICogNC4gUHJldmVudCBkaXNwbGF5aW5nIHRoZSBjYWxsb3V0IGluZm9ybWF0aW9uIG9uIGlPUy5cbiAqL1xuLnVrLXNsaWRlc2hvdy1pdGVtcyB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgLyogMyAqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiA0ICovXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbn1cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUG9zaXRpb24gaXRlbXMgYWJvdmUgZWFjaCBvdGhlclxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50cywgZS5nLiBmb3IgYHVrLWNvdmVyYFxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA1LiBEaXNhYmxlIGhvcml6b250YWwgcGFubmluZyBnZXN0dXJlcyBpbiBJRTExIGFuZCBFZGdlXG4gKiA2LiBTdXBwcmVzcyBvdXRsaW5lIG9uIGZvY3VzXG4gKi9cbi51ay1zbGlkZXNob3ctaXRlbXMgPiAqIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICAvKiAzICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDQgKi9cbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgLyogNSAqL1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4vKiA2ICovXG4udWstc2xpZGVzaG93LWl0ZW1zID4gOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG4udWstc2xpZGVzaG93LWl0ZW1zID4gOm5vdCgudWstYWN0aXZlKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cbi51ay1zbGlkZXIge1xuICAvKiAxICovXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICovXG4udWstc2xpZGVyLWNvbnRhaW5lciB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIE9wdGltaXplIGFuaW1hdGlvblxuICogMi4gQ3JlYXRlIGEgY29udGFpbmluZyBibG9jay4gSW4gU2FmYXJpIGl0J3MgbmVpdGhlciBjcmVhdGVkIGJ5IGB0cmFuc2Zvcm1gIG5vciBgd2lsbC1jaGFuZ2VgLlxuICovXG4udWstc2xpZGVyLWl0ZW1zIHtcbiAgLyogMSAqL1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIDEuIFJlc2V0IGxpc3Qgc3R5bGUgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIGdyaWRcbiAqIDIuIFByZXZlbnQgZGlzcGxheWluZyB0aGUgY2FsbG91dCBpbmZvcm1hdGlvbiBvbiBpT1MuXG4gKi9cbi51ay1zbGlkZXItaXRlbXM6bm90KC51ay1ncmlkKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAvKiAyICovXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbn1cblxuLnVrLXNsaWRlci1pdGVtcy51ay1ncmlkIHtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIExldCBpdGVtcyB0YWtlIGNvbnRlbnQgZGltZW5zaW9ucyAoMCAwIGF1dG8pXG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gRGlzYWJsZSBob3Jpem9udGFsIHBhbm5pbmcgZ2VzdHVyZXMgaW4gSUUxMSBhbmQgRWRnZVxuICogNC4gU3VwcHJlc3Mgb3V0bGluZSBvbiBmb2N1c1xuICovXG4udWstc2xpZGVyLWl0ZW1zID4gKiB7XG4gIC8qIDEgKi9cbiAgZmxleDogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIDMgKi9cbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLyogNCAqL1xuLnVrLXNsaWRlci1pdGVtcyA+IDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdGlja3lcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlc29sdmUgZnJhbWUgcmF0ZSBpc3N1ZXMgb24gZGV2aWNlcyB3aXRoIGxvd2VyIGZyYW1lIHJhdGVzIGJ5IGZvcmNpbmcgaGFyZHdhcmUgYWNjZWxlcmF0aW9uXG4gKi9cbi51ay1zdGlja3ktZml4ZWQge1xuICB6LWluZGV4OiA5ODA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBGYXN0ZXIgYW5pbWF0aW9uc1xuICovXG4udWstc3RpY2t5W2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xufVxuXG4udWstc3RpY2t5LnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT2ZmLWNhbnZhc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqL1xuLnVrLW9mZmNhbnZhcyB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xufVxuXG4vKlxuICogRmxpcCBtb2RpZmllclxuICovXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcyB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vKiBCYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2l6ZSBhbmQgc3R5bGVcbiAqIDMuIEFsbG93IHNjcm9sbGluZ1xuICovXG4udWstb2ZmY2FudmFzLWJhciB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogLTI3MHB4O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAyNzBweDtcbiAgcGFkZGluZzogMjBweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjMjIyO1xuICAvKiAzICovXG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIGxlZnQ6IC0zNTBweDtcbiAgICB3aWR0aDogMzUwcHg7XG4gICAgcGFkZGluZzogNDBweCA0MHB4O1xuICB9XG59XG5cbi8qIEZsaXAgbW9kaWZpZXIgKi9cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMjcwcHg7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgcmlnaHQ6IC0zNTBweDtcbiAgfVxufVxuXG4vKlxuICogT3BlblxuICovXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtYmFyIHtcbiAgbGVmdDogMDtcbn1cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1iYXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbn1cblxuLypcbiAqIFNsaWRlIEFuaW1hdGlvbiAoVXNlZCBpbiBzbGlkZSBhbmQgcHVzaCBtb2RlKVxuICovXG4udWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24ge1xuICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7XG59XG5cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24ge1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiByaWdodDtcbn1cblxuLypcbiAqIFJldmVhbCBBbmltYXRpb25cbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gQ2xpcCB0aGUgYmFyXG4gKiAzLiBBbmltYXRpb25cbiAqIDQuIFJlc2V0IHBvc2l0aW9uXG4gKi9cbi51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICAvKiAyICovXG4gIHdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAvKiAzICovXG4gIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgLyogNCAqL1xuICBsZWZ0OiAwO1xufVxuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1yZXZlYWwgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAvKiA0ICovXG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xufVxuXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgd2lkdGg6IDI3MHB4O1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstb3BlbiA+IC51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgICB3aWR0aDogMzUwcHg7XG4gIH1cbn1cblxuLypcbiAqIEZsaXAgbW9kaWZpZXJcbiAqL1xuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstb2ZmY2FudmFzLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDAwO1xuICB0b3A6IDIwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi8qIE92ZXJsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIE92ZXJsYXkgdGhlIHdob2xlIHBhZ2UuIE5lZWRlZCBmb3IgdGhlIGA6OmJlZm9yZWBcbiAqIDEuIFVzaW5nIGAxMDB2d2Agc28gbm8gbW9kaWZpY2F0aW9uIGlzIG5lZWRlZCB3aGVuIG9mZi1jYW52YXMgaXMgZmxpcHBlZFxuICogMi4gQWxsb3cgZm9yIGNsb3Npbmcgd2l0aCBzd2lwZSBnZXN0dXJlIG9uIGRldmljZXMgd2l0aCBwb2ludGVyIGV2ZW50cy5cbiAqL1xuLnVrLW9mZmNhbnZhcy1vdmVybGF5IHtcbiAgLyogMSAqL1xuICB3aWR0aDogMTAwdnc7XG4gIC8qIDIgKi9cbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vKlxuICogMS4gTWFzayB0aGUgd2hvbGUgcGFnZVxuICogMi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cbi51ay1vZmZjYW52YXMtb3ZlcmxheTo6YmVmb3JlIHtcbiAgLyogMSAqL1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAvKiAyICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xufVxuXG4udWstb2ZmY2FudmFzLW92ZXJsYXkudWstb3Blbjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogUHJldmVudCBzY3JvbGxpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXZlbnQgaG9yaXpvbnRhbCBzY3JvbGxiYXIgd2hlbiB0aGUgY29udGVudCBpcyBzbGlkZS1vdXRcbiAqIEhhcyB0byBiZSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQgdG9vIHRvIG1ha2UgaXQgd29yayBvbiB0aGUgYGJvZHlgXG4gKi9cbi51ay1vZmZjYW52YXMtcGFnZSxcbi51ay1vZmZjYW52YXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXBhcmUgc2xpZGUtb3V0IGFuaW1hdGlvbiAoVXNlZCBpbiByZXZlYWwgYW5kIHB1c2ggbW9kZSlcbiAqIFVzaW5nIGBwb3NpdGlvbjogbGVmdGAgaW5zdGVhZCBvZiBgdHJhbnNmb3JtYCBiZWNhdXNlIHBvc2l0aW9uIGBmaXhlZGAgZWxlbWVudHMgbGlrZSBzdGlja3kgbmF2YmFyc1xuICogbG9zZSB0aGVpciBmaXhlZCBzdGF0ZSBhbmQgYmVoYXZlcyBsaWtlIGBhYnNvbHV0ZWAgd2l0aGluIGEgdHJhbnNmb3JtZWQgY29udGFpbmVyXG4gKiAxLiBQcm92aWRlIGEgZml4ZWQgd2lkdGggYW5kIHByZXZlbnQgc2hyaW5raW5nXG4gKi9cbi51ay1vZmZjYW52YXMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qXG4gKiBBY3RpdmF0ZSBzbGlkZS1vdXQgYW5pbWF0aW9uXG4gKi9cbjpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKS51ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbiB7XG4gIGxlZnQ6IDI3MHB4O1xufVxuXG4udWstb2ZmY2FudmFzLWZsaXAudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24ge1xuICBsZWZ0OiAtMjcwcHg7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIDpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKS51ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbiB7XG4gICAgbGVmdDogMzUwcHg7XG4gIH1cbiAgLnVrLW9mZmNhbnZhcy1mbGlwLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHtcbiAgICBsZWZ0OiAtMzUwcHg7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN3aXRjaGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZXNldCBsaXN0XG4gKi9cbi51ay1zd2l0Y2hlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG4udWstc3dpdGNoZXIgPiA6bm90KC51ay1hY3RpdmUpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstc3dpdGNoZXIgPiAqID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1sZWFkZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKlxuICogMS4gUGxhY2UgZWxlbWVudCBpbiB0ZXh0IGZsb3dcbiAqIDIuIE5ldmVyIGJyZWFrIGludG8gYSBuZXcgbGluZVxuICogMy4gR2V0IGEgc3RyaW5nIGJhY2sgd2l0aCBhcyBtYW55IHJlcGVhdGluZyBjaGFyYWN0ZXJzIHRvIGZpbGwgdGhlIGNvbnRhaW5lclxuICogNC4gUHJldmVudCB3cmFwcGluZy4gT3ZlcmZsb3dpbmcgY2hhcmFjdGVycyB3aWxsIGJlIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lclxuICovXG4udWstbGVhZGVyLWZpbGw6OmFmdGVyIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAvKiAyICovXG4gIHdpZHRoOiAwO1xuICAvKiAzICovXG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1maWxsKTtcbiAgLyogNCAqL1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKlxuICogSGlkZSBpZiBtZWRpYSBkb2VzIG5vdCBtYXRjaFxuICovXG4udWstbGVhZGVyLWZpbGwudWstbGVhZGVyLWhpZGU6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLypcbiAqIFBhc3MgZmlsbCBjaGFyYWN0ZXIgdG8gSlNcbiAqL1xuLnVrLWxlYWRlci1maWxsLWNvbnRlbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiLlwiO1xufVxuXG46cm9vdCB7XG4gIC0tdWstbGVhZGVyLWZpbGwtY29udGVudDogLjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25uYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuLnVrLWljb25uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8qIDMgKi9cbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xufVxuXG4vKlxuICogU3BhY2UgaXMgYWxsb2NhdGVkIGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3M6IDAgMSBhdXRvXG4gKiAxLiBHdXR0ZXJcbiAqL1xuLnVrLWljb25uYXYgPiAqIHtcbiAgLyogMSAqL1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cbi51ay1pY29ubmF2ID4gKiA+IGEge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvKiAyICovXG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLFxuLnVrLWljb25uYXYgPiAqID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNjY2O1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogTW9kaWZpZXI6ICd1ay1pY29ubmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cbi51ay1pY29ubmF2LXZlcnRpY2FsIHtcbiAgLyogMSAqL1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvKiAyICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbn1cblxuLyogMiAqL1xuLnVrLWljb25uYXYtdmVydGljYWwgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5vdGlmaWNhdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBEaW1lbnNpb25zXG4gKi9cbi51ay1ub3RpZmljYXRpb24ge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxMHB4O1xuICBsZWZ0OiAxMHB4O1xuICB6LWluZGV4OiAxMDQwO1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAzNTBweDtcbn1cblxuLyogUG9zaXRpb24gbW9kaWZpZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5vdGlmaWNhdGlvbi10b3AtcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMHB4O1xufVxuXG4udWstbm90aWZpY2F0aW9uLXRvcC1jZW50ZXIsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMTc1cHg7XG59XG5cbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlciB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAxMHB4O1xufVxuXG4vKiBSZXNwb25zaXZlbmVzc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBob25lcyBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2Nykge1xuICAudWstbm90aWZpY2F0aW9uIHtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4vKiBNZXNzYWdlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbiogKyAudWstbm90aWZpY2F0aW9uLW1lc3NhZ2Uge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5vdGlmaWNhdGlvbi1jbG9zZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMHB4O1xuICByaWdodDogMTVweDtcbn1cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlOmhvdmVyIC51ay1ub3RpZmljYXRpb24tY2xvc2Uge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmltYXJ5XG4gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5IHtcbiAgY29sb3I6ICMxZTg3ZjA7XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzIHtcbiAgY29sb3I6ICMzMmQyOTY7XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nIHtcbiAgY29sb3I6ICNmYWEwNWE7XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlciB7XG4gIGNvbG9yOiAjZjA1MDZlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVG9vbHRpcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBQb3NpdGlvblxuICogMy4gRGltZW5zaW9uc1xuICogNC4gU3R5bGVcbiAqL1xuLnVrLXRvb2x0aXAge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDMwO1xuICAvKiAzICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIHBhZGRpbmc6IDNweCA2cHg7XG4gIC8qIDQgKi9cbiAgYmFja2dyb3VuZDogIzY2NjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vKiBTaG93ICovXG4udWstdG9vbHRpcC51ay1hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLXRvb2x0aXAtdG9wJ10ge1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbn1cblxuW2NsYXNzKj0ndWstdG9vbHRpcC1ib3R0b20nXSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbltjbGFzcyo9J3VrLXRvb2x0aXAtbGVmdCddIHtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xufVxuXG5bY2xhc3MqPSd1ay10b29sdGlwLXJpZ2h0J10ge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wbGFjZWhvbGRlciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDMwcHggMzBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCAjZTVlNWU1O1xufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcGxhY2Vob2xkZXIge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1wbGFjZWhvbGRlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByb2dyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICogMi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDMuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogNC4gUmVtb3ZlIGJvcmRlcnMgaW4gRmlyZWZveCBhbmQgRWRnZVxuICogNS4gU2V0IGJhY2tncm91bmQgY29sb3IgZm9yIHByb2dyZXNzIGNvbnRhaW5lciBpbiBGaXJlZm94LCBJRTExIGFuZCBFZGdlXG4gKiA2LiBTdHlsZVxuICovXG4udWstcHJvZ3Jlc3Mge1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogMyAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDQgKi9cbiAgYm9yZGVyOiAwO1xuICAvKiA1ICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIC8qIDYgKi9cbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXByb2dyZXNzIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLypcbiAqIFJlbW92ZSBhbmltYXRlZCBjaXJjbGVzIGZvciBpbmRldGVybWluYXRlIHN0YXRlIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuLnVrLXByb2dyZXNzOmluZGV0ZXJtaW5hdGUge1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBQcm9ncmVzcyBjb250YWluZXJcbiAqIDIuIFJlbW92ZSBwcm9ncmVzcyBiYXIgZm9yIGluZGV0ZXJtaW5hdGUgc3RhdGUgaW4gRmlyZWZveFxuICovXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIDIgKi9cbi51ay1wcm9ncmVzczppbmRldGVybWluYXRlOjotbW96LXByb2dyZXNzLWJhciB7XG4gIHdpZHRoOiAwO1xufVxuXG4vKlxuICogUHJvZ3Jlc3MgYmFyXG4gKiAxLiBSZW1vdmUgcmlnaHQgYm9yZGVyIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuLnVrLXByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlODdmMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlO1xufVxuXG4udWstcHJvZ3Jlc3M6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlODdmMDtcbn1cblxuLnVrLXByb2dyZXNzOjotbXMtZmlsbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg3ZjA7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgLyogMSAqL1xuICBib3JkZXI6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTb3J0YWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc29ydGFibGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiBEZWFjdGl2YXRlIHBvaW50ZXItZXZlbnRzIG9uIFNWR3MgaW4gU2FmYXJpXG4gKi9cbi51ay1zb3J0YWJsZSBzdmcge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstc29ydGFibGUgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIERyYWdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNvcnRhYmxlLWRyYWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgei1pbmRleDogMTA1MCAhaW1wb3J0YW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogUGxhY2Vob2xkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIEVtcHR5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zb3J0YWJsZS1lbXB0eSB7XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG59XG5cbi8qIEhhbmRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBIb3ZlciAqL1xuLnVrLXNvcnRhYmxlLWhhbmRsZTpob3ZlciB7XG4gIGN1cnNvcjogbW92ZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvdW50ZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIE51bWJlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY291bnRkb3duLW51bWJlciB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDAuODtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjgpIHtcbiAgLnVrLWNvdW50ZG93bi1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgfVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstY291bnRkb3duLW51bWJlciB7XG4gICAgZm9udC1zaXplOiA2cmVtO1xuICB9XG59XG5cbi8qIFNlcGFyYXRvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjgpIHtcbiAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbmltYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLyogQW5pbWF0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRmFkZVxuICovXG4udWstYW5pbWF0aW9uLWZhZGUge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjhzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG5cbi8qXG4gKiBTY2FsZVxuICovXG4udWstYW5pbWF0aW9uLXNjYWxlLXVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMDI7XG59XG5cbi51ay1hbmltYXRpb24tc2NhbGUtZG93biB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTE4O1xufVxuXG4vKlxuICogU2xpZGVcbiAqL1xuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3Age1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3A7XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0O1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQ7XG59XG5cbi8qXG4gKiBTbGlkZSBTbWFsbFxuICovXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1zbWFsbCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1zbWFsbDtcbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tc21hbGwge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tc21hbGw7XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtc21hbGw7XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtc21hbGwge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1zbWFsbDtcbn1cblxuLypcbiAqIFNsaWRlIE1lZGl1bVxuICovXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1tZWRpdW0ge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3AtbWVkaXVtO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0ge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tbWVkaXVtO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtbGVmdC1tZWRpdW07XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtbWVkaXVtO1xufVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuLnVrLWFuaW1hdGlvbi1rZW5idXJucyB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1zY2FsZS1rZW5idXJucztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxNXM7XG59XG5cbi8qXG4gKiBTaGFrZVxuICovXG4udWstYW5pbWF0aW9uLXNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLXNoYWtlO1xufVxuXG4vKlxuICogU1ZHIFN0cm9rZVxuICogVGhlIGAtLXVrLWFuaW1hdGlvbi1zdHJva2VgIGN1c3RvbSBwcm9wZXJ0eSBjb250YWlucyB0aGUgbG9uZ2VzdCBwYXRoIGxlbmd0aC5cbiAqIFNldCBpdCBtYW51YWxseSBvciB1c2UgYHVrLXN2Zz1cInN0cm9rZS1hbmltYXRpb246IHRydWVcImAgdG8gc2V0IGl0IGF1dG9tYXRpY2FsbHkuXG4gKiBBbGwgc3Ryb2tlcyBhcmUgYW5pbWF0ZWQgYnkgdGhlIHNhbWUgcGFjZSBhbmQgZG9lc24ndCBlbmQgc2ltdWx0YW5lb3VzbHkuXG4gKiBUbyBlbmQgc2ltdWx0YW5lb3VzbHksIGBwYXRoTGVuZ3RoPVwiMVwiYCBjb3VsZCBiZSB1c2VkLCBidXQgaXQncyBub3Qgd29ya2luZyBpbiBTYWZhcmkgeWV0LlxuICovXG4udWstYW5pbWF0aW9uLXN0cm9rZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1zdHJva2U7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IHZhcigtLXVrLWFuaW1hdGlvbi1zdHJva2UpO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xufVxuXG4vKiBEaXJlY3Rpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuLyogRHVyYXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFuaW1hdGlvbi1mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjFzO1xufVxuXG4vKiBUb2dnbGUgKEhvdmVyICsgRm9jdXMpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFRoZSB0b2dnbGUgaXMgdHJpZ2dlcmVkIG9uIHRvdWNoIGRldmljZXMgdXNpbmcgYDpmb2N1c2AgYW5kIHRhYmluZGV4XG4gKi9cbi51ay1hbmltYXRpb24tdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIFtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBub25lO1xufVxuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuLnVrLWFuaW1hdGlvbi10b2dnbGUge1xuICAvKiAxICovXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG4udWstYW5pbWF0aW9uLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIEtleWZyYW1lcyB1c2VkIGJ5IGFuaW1hdGlvbiBjbGFzc2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBGYWRlXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnRcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBTbWFsbFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLXNtYWxsIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tIFNtYWxsXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnQgU21hbGxcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBTbWFsbFxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtc21hbGwge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBNZWRpdW1cbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLXRvcC1tZWRpdW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi8qXG4gKiBTbGlkZSBCb3R0b20gTWVkaXVtXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tbWVkaXVtIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IE1lZGl1bVxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1tZWRpdW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBNZWRpdW1cbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LW1lZGl1bSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4vKlxuICogU2NhbGUgVXBcbiAqL1xuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTAyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4vKlxuICogU2NhbGUgRG93blxuICovXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMTgge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG5Aa2V5ZnJhbWVzIHVrLXNjYWxlLWtlbmJ1cm5zIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICB9XG59XG5cbi8qXG4gKiBTaGFrZVxuICovXG5Aa2V5ZnJhbWVzIHVrLXNoYWtlIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOXB4KTtcbiAgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO1xuICB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03cHgpO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcbiAgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpO1xuICB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpO1xuICB9XG59XG5cbi8qXG4gKiBTdHJva2VcbiAqL1xuQGtleWZyYW1lcyB1ay1zdHJva2Uge1xuICAwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IHZhcigtLXVrLWFuaW1hdGlvbi1zdHJva2UpO1xuICB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAwO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBXaWR0aFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBFcXVhbCBjaGlsZCB3aWR0aHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuW2NsYXNzKj0ndWstY2hpbGQtd2lkdGgnXSA+ICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnVrLWNoaWxkLXdpZHRoLTEtMiA+ICoge1xuICB3aWR0aDogNTAlO1xufVxuXG4udWstY2hpbGQtd2lkdGgtMS0zID4gKiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpO1xufVxuXG4udWstY2hpbGQtd2lkdGgtMS00ID4gKiB7XG4gIHdpZHRoOiAyNSU7XG59XG5cbi51ay1jaGlsZC13aWR0aC0xLTUgPiAqIHtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLnVrLWNoaWxkLXdpZHRoLTEtNiA+ICoge1xuICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTtcbn1cblxuLnVrLWNoaWxkLXdpZHRoLWF1dG8gPiAqIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8qXG4gKiAxLiBSZXNldCB0aGUgYG1pbi13aWR0aGAsIHdoaWNoIGlzIHNldCB0byBhdXRvIGJ5IGRlZmF1bHQsIGJlY2F1c2VcbiAqICAgIGZsZXggaXRlbXMgd29uJ3Qgc2hyaW5rIGJlbG93IHRoZWlyIG1pbmltdW0gaW50cmluc2ljIGNvbnRlbnQgc2l6ZS5cbiAqICAgIFVzaW5nIGAxcHhgIGluc3RlYWQgb2YgYDBgLCBzbyBpdGVtcyBzdGlsbCB3cmFwIGludG8gdGhlIG5leHQgbGluZSxcbiAqICAgIGlmIHRoZXkgaGF2ZSB6ZXJvIHdpZHRoIGFuZCBwYWRkaW5nIGFuZCB0aGUgcHJlZGVjZXNzb3IgaXMgMTAwJSB3aWRlLlxuICovXG4udWstY2hpbGQtd2lkdGgtZXhwYW5kID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gIGZsZXg6IDE7XG4gIC8qIDEgKi9cbiAgbWluLXdpZHRoOiAxcHg7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4KSB7XG4gIC51ay1jaGlsZC13aWR0aC0xLTFcXEBzID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHMgPiAqIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEBzID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHMgPiAqIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTVcXEBzID4gKiB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAcyA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAcyA+ICoge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBzID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDFweDtcbiAgfVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbSA+ICoge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTJcXEBtID4gKiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbSA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTRcXEBtID4gKiB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtMS01XFxAbSA+ICoge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQG0gPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQG0gPiAqIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbSA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7XG4gIH1cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jaGlsZC13aWR0aC0xLTFcXEBsID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQGwgPiAqIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEBsID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQGwgPiAqIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTVcXEBsID4gKiB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAbCA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbCA+ICoge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBsID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDFweDtcbiAgfVxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAudWstY2hpbGQtd2lkdGgtMS0xXFxAeGwgPiAqIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtMS0yXFxAeGwgPiAqIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEB4bCA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTRcXEB4bCA+ICoge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHhsID4gKiB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAeGwgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDYuMDAxKTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHhsID4gKiB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHhsID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDFweDtcbiAgfVxufVxuXG4vKiBTaW5nbGUgV2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBgbWF4LXdpZHRoYCBpcyBuZWVkZWQgZm9yIHRoZSBwaXhlbC1iYXNlZCBjbGFzc2VzXG4gKi9cbltjbGFzcyo9J3VrLXdpZHRoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIEhhbHZlcyAqL1xuLnVrLXdpZHRoLTEtMiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi8qIFRoaXJkcyAqL1xuLnVrLXdpZHRoLTEtMyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpO1xufVxuXG4udWstd2lkdGgtMi0zIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAqIDIgLyAzLjAwMSk7XG59XG5cbi8qIFF1YXJ0ZXJzICovXG4udWstd2lkdGgtMS00IHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLnVrLXdpZHRoLTMtNCB7XG4gIHdpZHRoOiA3NSU7XG59XG5cbi8qIEZpZnRocyAqL1xuLnVrLXdpZHRoLTEtNSB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi51ay13aWR0aC0yLTUge1xuICB3aWR0aDogNDAlO1xufVxuXG4udWstd2lkdGgtMy01IHtcbiAgd2lkdGg6IDYwJTtcbn1cblxuLnVrLXdpZHRoLTQtNSB7XG4gIHdpZHRoOiA4MCU7XG59XG5cbi8qIFNpeHRocyAqL1xuLnVrLXdpZHRoLTEtNiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpO1xufVxuXG4udWstd2lkdGgtNS02IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAqIDUgLyA2LjAwMSk7XG59XG5cbi8qIFBpeGVsICovXG4udWstd2lkdGgtc21hbGwge1xuICB3aWR0aDogMTUwcHg7XG59XG5cbi51ay13aWR0aC1tZWRpdW0ge1xuICB3aWR0aDogMzAwcHg7XG59XG5cbi51ay13aWR0aC1sYXJnZSB7XG4gIHdpZHRoOiA0NTBweDtcbn1cblxuLnVrLXdpZHRoLXhsYXJnZSB7XG4gIHdpZHRoOiA2MDBweDtcbn1cblxuLnVrLXdpZHRoLXh4bGFyZ2Uge1xuICB3aWR0aDogNzUwcHg7XG59XG5cbi8qIEF1dG8gKi9cbi51ay13aWR0aC1hdXRvIHtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8qIEV4cGFuZCAqL1xuLnVrLXdpZHRoLWV4cGFuZCB7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMXB4O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OCkge1xuICAvKiBXaG9sZSAqL1xuICAudWstd2lkdGgtMS0xXFxAcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLyogSGFsdmVzICovXG4gIC51ay13aWR0aC0xLTJcXEBzIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC8qIFRoaXJkcyAqL1xuICAudWstd2lkdGgtMS0zXFxAcyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyAzLjAwMSk7XG4gIH1cbiAgLnVrLXdpZHRoLTItM1xcQHMge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAyIC8gMy4wMDEpO1xuICB9XG4gIC8qIFF1YXJ0ZXJzICovXG4gIC51ay13aWR0aC0xLTRcXEBzIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC51ay13aWR0aC0zLTRcXEBzIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC8qIEZpZnRocyAqL1xuICAudWstd2lkdGgtMS01XFxAcyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAudWstd2lkdGgtMi01XFxAcyB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxuICAudWstd2lkdGgtMy01XFxAcyB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuICAudWstd2lkdGgtNC01XFxAcyB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuICAvKiBTaXh0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNlxcQHMge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpO1xuICB9XG4gIC51ay13aWR0aC01LTZcXEBzIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogNSAvIDYuMDAxKTtcbiAgfVxuICAvKiBQaXhlbCAqL1xuICAudWstd2lkdGgtc21hbGxcXEBzIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gIH1cbiAgLnVrLXdpZHRoLW1lZGl1bVxcQHMge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgfVxuICAudWstd2lkdGgtbGFyZ2VcXEBzIHtcbiAgICB3aWR0aDogNDUwcHg7XG4gIH1cbiAgLnVrLXdpZHRoLXhsYXJnZVxcQHMge1xuICAgIHdpZHRoOiA2MDBweDtcbiAgfVxuICAudWstd2lkdGgteHhsYXJnZVxcQHMge1xuICAgIHdpZHRoOiA3NTBweDtcbiAgfVxuICAvKiBBdXRvICovXG4gIC51ay13aWR0aC1hdXRvXFxAcyB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLyogRXhwYW5kICovXG4gIC51ay13aWR0aC1leHBhbmRcXEBzIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4O1xuICB9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC8qIFdob2xlICovXG4gIC51ay13aWR0aC0xLTFcXEBtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAvKiBIYWx2ZXMgKi9cbiAgLnVrLXdpZHRoLTEtMlxcQG0ge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLyogVGhpcmRzICovXG4gIC51ay13aWR0aC0xLTNcXEBtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTtcbiAgfVxuICAudWstd2lkdGgtMi0zXFxAbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDIgLyAzLjAwMSk7XG4gIH1cbiAgLyogUXVhcnRlcnMgKi9cbiAgLnVrLXdpZHRoLTEtNFxcQG0ge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnVrLXdpZHRoLTMtNFxcQG0ge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLyogRmlmdGhzICovXG4gIC51ay13aWR0aC0xLTVcXEBtIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC51ay13aWR0aC0yLTVcXEBtIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC51ay13aWR0aC0zLTVcXEBtIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG4gIC51ay13aWR0aC00LTVcXEBtIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC8qIFNpeHRocyAqL1xuICAudWstd2lkdGgtMS02XFxAbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7XG4gIH1cbiAgLnVrLXdpZHRoLTUtNlxcQG0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiA1IC8gNi4wMDEpO1xuICB9XG4gIC8qIFBpeGVsICovXG4gIC51ay13aWR0aC1zbWFsbFxcQG0ge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgfVxuICAudWstd2lkdGgtbWVkaXVtXFxAbSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICB9XG4gIC51ay13aWR0aC1sYXJnZVxcQG0ge1xuICAgIHdpZHRoOiA0NTBweDtcbiAgfVxuICAudWstd2lkdGgteGxhcmdlXFxAbSB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICB9XG4gIC51ay13aWR0aC14eGxhcmdlXFxAbSB7XG4gICAgd2lkdGg6IDc1MHB4O1xuICB9XG4gIC8qIEF1dG8gKi9cbiAgLnVrLXdpZHRoLWF1dG9cXEBtIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAvKiBFeHBhbmQgKi9cbiAgLnVrLXdpZHRoLWV4cGFuZFxcQG0ge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7XG4gIH1cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qIFdob2xlICovXG4gIC51ay13aWR0aC0xLTFcXEBsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAvKiBIYWx2ZXMgKi9cbiAgLnVrLXdpZHRoLTEtMlxcQGwge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLyogVGhpcmRzICovXG4gIC51ay13aWR0aC0xLTNcXEBsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICogMSAvIDMuMDAxKTtcbiAgfVxuICAudWstd2lkdGgtMi0zXFxAbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDIgLyAzLjAwMSk7XG4gIH1cbiAgLyogUXVhcnRlcnMgKi9cbiAgLnVrLXdpZHRoLTEtNFxcQGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnVrLXdpZHRoLTMtNFxcQGwge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLyogRmlmdGhzICovXG4gIC51ay13aWR0aC0xLTVcXEBsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC51ay13aWR0aC0yLTVcXEBsIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC51ay13aWR0aC0zLTVcXEBsIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG4gIC51ay13aWR0aC00LTVcXEBsIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC8qIFNpeHRocyAqL1xuICAudWstd2lkdGgtMS02XFxAbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDEgLyA2LjAwMSk7XG4gIH1cbiAgLnVrLXdpZHRoLTUtNlxcQGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiA1IC8gNi4wMDEpO1xuICB9XG4gIC8qIFBpeGVsICovXG4gIC51ay13aWR0aC1zbWFsbFxcQGwge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgfVxuICAudWstd2lkdGgtbWVkaXVtXFxAbCB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICB9XG4gIC51ay13aWR0aC1sYXJnZVxcQGwge1xuICAgIHdpZHRoOiA0NTBweDtcbiAgfVxuICAudWstd2lkdGgteGxhcmdlXFxAbCB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICB9XG4gIC51ay13aWR0aC14eGxhcmdlXFxAbCB7XG4gICAgd2lkdGg6IDc1MHB4O1xuICB9XG4gIC8qIEF1dG8gKi9cbiAgLnVrLXdpZHRoLWF1dG9cXEBsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAvKiBFeHBhbmQgKi9cbiAgLnVrLXdpZHRoLWV4cGFuZFxcQGwge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7XG4gIH1cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgLyogV2hvbGUgKi9cbiAgLnVrLXdpZHRoLTEtMVxcQHhsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAvKiBIYWx2ZXMgKi9cbiAgLnVrLXdpZHRoLTEtMlxcQHhsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC8qIFRoaXJkcyAqL1xuICAudWstd2lkdGgtMS0zXFxAeGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gMy4wMDEpO1xuICB9XG4gIC51ay13aWR0aC0yLTNcXEB4bCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDIgLyAzLjAwMSk7XG4gIH1cbiAgLyogUXVhcnRlcnMgKi9cbiAgLnVrLXdpZHRoLTEtNFxcQHhsIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC51ay13aWR0aC0zLTRcXEB4bCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAvKiBGaWZ0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNVxcQHhsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC51ay13aWR0aC0yLTVcXEB4bCB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxuICAudWstd2lkdGgtMy01XFxAeGwge1xuICAgIHdpZHRoOiA2MCU7XG4gIH1cbiAgLnVrLXdpZHRoLTQtNVxcQHhsIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC8qIFNpeHRocyAqL1xuICAudWstd2lkdGgtMS02XFxAeGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKiAxIC8gNi4wMDEpO1xuICB9XG4gIC51ay13aWR0aC01LTZcXEB4bCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAqIDUgLyA2LjAwMSk7XG4gIH1cbiAgLyogUGl4ZWwgKi9cbiAgLnVrLXdpZHRoLXNtYWxsXFxAeGwge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgfVxuICAudWstd2lkdGgtbWVkaXVtXFxAeGwge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgfVxuICAudWstd2lkdGgtbGFyZ2VcXEB4bCB7XG4gICAgd2lkdGg6IDQ1MHB4O1xuICB9XG4gIC51ay13aWR0aC14bGFyZ2VcXEB4bCB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICB9XG4gIC51ay13aWR0aC14eGxhcmdlXFxAeGwge1xuICAgIHdpZHRoOiA3NTBweDtcbiAgfVxuICAvKiBBdXRvICovXG4gIC51ay13aWR0aC1hdXRvXFxAeGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC8qIEV4cGFuZCAqL1xuICAudWstd2lkdGgtZXhwYW5kXFxAeGwge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7XG4gIH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlaWdodFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5bY2xhc3MqPSd1ay1oZWlnaHQnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qXG4gKiBPbmx5IHdvcmtzIGlmIHBhcmVudCBlbGVtZW50IGhhcyBhIGhlaWdodCBzZXRcbiAqL1xuLnVrLWhlaWdodC0xLTEge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qXG4gKiBVc2VmdWwgdG8gY3JlYXRlIGltYWdlIHRlYXNlcnNcbiAqL1xuLnVrLWhlaWdodC12aWV3cG9ydCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4vKlxuICogUGl4ZWxcbiAqIFVzZWZ1bCBmb3IgYG92ZXJmbG93OiBhdXRvYFxuICovXG4udWstaGVpZ2h0LXNtYWxsIHtcbiAgaGVpZ2h0OiAxNTBweDtcbn1cblxuLnVrLWhlaWdodC1tZWRpdW0ge1xuICBoZWlnaHQ6IDMwMHB4O1xufVxuXG4udWstaGVpZ2h0LWxhcmdlIHtcbiAgaGVpZ2h0OiA0NTBweDtcbn1cblxuLnVrLWhlaWdodC1tYXgtc21hbGwge1xuICBtYXgtaGVpZ2h0OiAxNTBweDtcbn1cblxuLnVrLWhlaWdodC1tYXgtbWVkaXVtIHtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG59XG5cbi51ay1oZWlnaHQtbWF4LWxhcmdlIHtcbiAgbWF4LWhlaWdodDogNDUwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUZXh0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1sZWFkIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4udWstdGV4dC1tZXRhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi51ay10ZXh0LW1ldGEgYSB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4udWstdGV4dC1tZXRhIGE6aG92ZXIge1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi51ay10ZXh0LWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIFdlaWdodCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi51ay10ZXh0LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi51ay10ZXh0LWJvbGQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4udWstdGV4dC1saWdodGVyIHtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG59XG5cbi51ay10ZXh0LWJvbGRlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogVHJhbnNmb3JtIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50O1xufVxuXG4udWstdGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG59XG5cbi51ay10ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LW11dGVkIHtcbiAgY29sb3I6ICM5OTkgIWltcG9ydGFudDtcbn1cblxuLnVrLXRleHQtZW1waGFzaXMge1xuICBjb2xvcjogIzMzMyAhaW1wb3J0YW50O1xufVxuXG4udWstdGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICMxZTg3ZjAgIWltcG9ydGFudDtcbn1cblxuLnVrLXRleHQtc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICMyMjIgIWltcG9ydGFudDtcbn1cblxuLnVrLXRleHQtc3VjY2VzcyB7XG4gIGNvbG9yOiAjMzJkMjk2ICFpbXBvcnRhbnQ7XG59XG5cbi51ay10ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogI2ZhYTA1YSAhaW1wb3J0YW50O1xufVxuXG4udWstdGV4dC1kYW5nZXIge1xuICBjb2xvcjogI2YwNTA2ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBCYWNrZ3JvdW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBUaGUgYmFja2dyb3VuZCBjbGlwcyB0byB0aGUgZm9yZWdyb3VuZCB0ZXh0LiBXb3JrcyBpbiBDaHJvbWUsIEZpcmVmb3gsIFNhZmFyaSwgRWRnZSBhbmQgT3BlcmFcbiAqICAgIERlZmF1bHQgY29sb3IgaXMgc2V0IHRvIHRyYW5zcGFyZW50XG4gKiAyLiBDb250YWluZXIgZml0cyB0aGUgdGV4dFxuICogMy4gRmFsbGJhY2sgY29sb3IgZm9yIElFMTFcbiAqL1xuLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDMgKi9cbiAgY29sb3I6ICMxZTg3ZjAgIWltcG9ydGFudDtcbn1cblxuQHN1cHBvcnRzICgtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dCkge1xuICAudWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4N2YwO1xuICB9XG59XG5cbi8qIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnVrLXRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xufVxuXG4udWstdGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLnVrLXRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjgpIHtcbiAgLnVrLXRleHQtbGVmdFxcQHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAudWstdGV4dC1yaWdodFxcQHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLXRleHQtY2VudGVyXFxAcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVrLXRleHQtbGVmdFxcQG0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAudWstdGV4dC1yaWdodFxcQG0ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLXRleHQtY2VudGVyXFxAbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay10ZXh0LWxlZnRcXEBsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLXRleHQtcmlnaHRcXEBsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC51ay10ZXh0LWNlbnRlclxcQGwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIC51ay10ZXh0LWxlZnRcXEB4bCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC51ay10ZXh0LXJpZ2h0XFxAeGwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLXRleHQtY2VudGVyXFxAeGwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qXG4gKiBWZXJ0aWNhbFxuICovXG4udWstdGV4dC10b3Age1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XG59XG5cbi51ay10ZXh0LW1pZGRsZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbn1cblxuLnVrLXRleHQtYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50O1xufVxuXG4udWstdGV4dC1iYXNlbGluZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xufVxuXG4vKiBXcmFwIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lc1xuICovXG4udWstdGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKlxuICogMS4gTWFrZSBzdXJlIGEgbWF4LXdpZHRoIGlzIHNldCBhZnRlciB3aGljaCB0cnVuY2F0aW9uIGNhbiBvY2N1clxuICogMi4gUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lcywgYW5kIHRydW5jYXRlIHdpdGggYW4gZWxsaXBzaXNcbiAqIDMuIEZpeCBmb3IgdGFibGUgY2VsbHNcbiAqL1xuLnVrLXRleHQtdHJ1bmNhdGUge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogMiAqL1xudGgudWstdGV4dC10cnVuY2F0ZSxcbnRkLnVrLXRleHQtdHJ1bmNhdGUge1xuICBtYXgtd2lkdGg6IDA7XG59XG5cbi8qXG4gKiAxLiBXcmFwIGxvbmcgd29yZHMgb250byB0aGUgbmV4dCBsaW5lIGFuZCBicmVhayB0aGVtIGlmIHRoZXkgYXJlIHRvbyBsb25nIHRvIGZpdFxuICogMi4gTGVnYWN5IGB3b3JkLXdyYXBgIGFzIGZhbGxiYWNrIGZvciBgb3ZlcmZsb3ctd3JhcGBcbiAqIDMuIEZpeCBgb3ZlcmZsb3ctd3JhcGAgd2hpY2ggZG9lc24ndCB3b3JrIHdpdGggdGFibGUgY2VsbHMgaW4gQ2hyb21lLCBPcGVyYSwgSUUxMSBhbmQgRWRnZVxuICogICAgTXVzdCB1c2UgYGJyZWFrLWFsbGAgdG8gc3VwcG9ydCBJRTExIGFuZCBFZGdlXG4gKiBOb3RlOiBOb3QgdXNpbmcgYGh5cGhlbnM6IGF1dG87YCBiZWNhdXNlIGl0IGh5cGhlbmF0ZXMgdGV4dCBldmVuIGlmIG5vdCBuZWVkZWRcbiAqL1xuLnVrLXRleHQtYnJlYWsge1xuICAvKiAxICovXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC8qIDIgKi9cbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKiAzICovXG50aC51ay10ZXh0LWJyZWFrLFxudGQudWstdGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbHVtblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5bY2xhc3MqPSd1ay1jb2x1bW4tJ10ge1xuICBjb2x1bW4tZ2FwOiAzMHB4O1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgW2NsYXNzKj0ndWstY29sdW1uLSddIHtcbiAgICBjb2x1bW4tZ2FwOiA0MHB4O1xuICB9XG59XG5cbi8qXG4gKiBGaXggaW1hZ2UgMXB4IGxpbmUgd3JhcHBpbmcgaW50byB0aGUgbmV4dCBjb2x1bW4gaW4gQ2hyb21lXG4gKi9cbltjbGFzcyo9J3VrLWNvbHVtbi0nXSBpbWcge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBEb3VibGUgdGhlIGNvbHVtbiBnYXBcbiAqL1xuLnVrLWNvbHVtbi1kaXZpZGVyIHtcbiAgY29sdW1uLXJ1bGU6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAvKiAxICovXG4gIGNvbHVtbi1nYXA6IDYwcHg7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY29sdW1uLWRpdmlkZXIge1xuICAgIGNvbHVtbi1nYXA6IDgwcHg7XG4gIH1cbn1cblxuLyogV2lkdGggbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb2x1bW4tMS0yIHtcbiAgY29sdW1uLWNvdW50OiAyO1xufVxuXG4udWstY29sdW1uLTEtMyB7XG4gIGNvbHVtbi1jb3VudDogMztcbn1cblxuLnVrLWNvbHVtbi0xLTQge1xuICBjb2x1bW4tY291bnQ6IDQ7XG59XG5cbi51ay1jb2x1bW4tMS01IHtcbiAgY29sdW1uLWNvdW50OiA1O1xufVxuXG4udWstY29sdW1uLTEtNiB7XG4gIGNvbHVtbi1jb3VudDogNjtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjgpIHtcbiAgLnVrLWNvbHVtbi0xLTJcXEBzIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTNcXEBzIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTRcXEBzIHtcbiAgICBjb2x1bW4tY291bnQ6IDQ7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTVcXEBzIHtcbiAgICBjb2x1bW4tY291bnQ6IDU7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTZcXEBzIHtcbiAgICBjb2x1bW4tY291bnQ6IDY7XG4gIH1cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVrLWNvbHVtbi0xLTJcXEBtIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTNcXEBtIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTRcXEBtIHtcbiAgICBjb2x1bW4tY291bnQ6IDQ7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTVcXEBtIHtcbiAgICBjb2x1bW4tY291bnQ6IDU7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTZcXEBtIHtcbiAgICBjb2x1bW4tY291bnQ6IDY7XG4gIH1cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jb2x1bW4tMS0yXFxAbCB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICB9XG4gIC51ay1jb2x1bW4tMS0zXFxAbCB7XG4gICAgY29sdW1uLWNvdW50OiAzO1xuICB9XG4gIC51ay1jb2x1bW4tMS00XFxAbCB7XG4gICAgY29sdW1uLWNvdW50OiA0O1xuICB9XG4gIC51ay1jb2x1bW4tMS01XFxAbCB7XG4gICAgY29sdW1uLWNvdW50OiA1O1xuICB9XG4gIC51ay1jb2x1bW4tMS02XFxAbCB7XG4gICAgY29sdW1uLWNvdW50OiA2O1xuICB9XG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIC51ay1jb2x1bW4tMS0yXFxAeGwge1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgfVxuICAudWstY29sdW1uLTEtM1xcQHhsIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTRcXEB4bCB7XG4gICAgY29sdW1uLWNvdW50OiA0O1xuICB9XG4gIC51ay1jb2x1bW4tMS01XFxAeGwge1xuICAgIGNvbHVtbi1jb3VudDogNTtcbiAgfVxuICAudWstY29sdW1uLTEtNlxcQHhsIHtcbiAgICBjb2x1bW4tY291bnQ6IDY7XG4gIH1cbn1cblxuLyogTWFrZSBlbGVtZW50IHNwYW4gYWNyb3NzIGFsbCBjb2x1bW5zXG4gKiBEb2VzIG5vdCB3b3JrIGluIEZpcmVmb3ggeWV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb2x1bW4tc3BhbiB7XG4gIGNvbHVtbi1zcGFuOiBhbGw7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogV29ya3Mgd2l0aCBpZnJhbWVzIGFuZCBlbWJlZGRlZCBjb250ZW50XG4gKiAxLiBSZXNldCByZXNwb25zaXZlbmVzcyBmb3IgZW1iZWRkZWQgY29udGVudFxuICogMi4gQ2VudGVyIG9iamVjdFxuICogTm90ZTogUGVyY2VudCB2YWx1ZXMgb24gdGhlIGB0b3BgIHByb3BlcnR5IG9ubHkgd29ya3MgaWYgdGhpcyBlbGVtZW50XG4gKiAgICAgICBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkIG9yIGlmIHRoZSBjb250YWluZXIgaGFzIGEgaGVpZ2h0XG4gKi9cbi51ay1jb3ZlciB7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbmlmcmFtZS51ay1jb3ZlciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFBhcmVudCBjb250YWluZXIgd2hpY2ggY2xpcHMgcmVzaXplZCBvYmplY3RcbiAqIDIuIE5lZWRlZCBpZiB0aGUgY2hpbGQgaXMgcG9zaXRpb25lZCBhYnNvbHV0ZS4gU2VlIG5vdGUgYWJvdmVcbiAqL1xuLnVrLWNvdmVyLWNvbnRhaW5lciB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYWNrZ3JvdW5kXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1iYWNrZ3JvdW5kLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4udWstYmFja2dyb3VuZC1tdXRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG59XG5cbi51ay1iYWNrZ3JvdW5kLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4N2YwO1xufVxuXG4udWstYmFja2dyb3VuZC1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xufVxuXG4vKiBTaXplXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1iYWNrZ3JvdW5kLWNvdmVyLFxuLnVrLWJhY2tncm91bmQtY29udGFpbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWNvdmVyIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLnVrLWJhY2tncm91bmQtY29udGFpbiB7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cblxuLyogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJhY2tncm91bmQtdG9wLWxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG59XG5cbi51ay1iYWNrZ3JvdW5kLXRvcC1jZW50ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcbn1cblxuLnVrLWJhY2tncm91bmQtdG9wLXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwO1xufVxuXG4udWstYmFja2dyb3VuZC1jZW50ZXItbGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlO1xufVxuXG4udWstYmFja2dyb3VuZC1jZW50ZXItY2VudGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbn1cblxuLnVrLWJhY2tncm91bmQtY2VudGVyLXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1sZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xufVxuXG4udWstYmFja2dyb3VuZC1ib3R0b20tY2VudGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1yaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcbn1cblxuLyogUmVwZWF0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1iYWNrZ3JvdW5kLW5vcmVwZWF0IHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLyogQXR0YWNobWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gRml4IGJ1ZyBpbnRyb2R1Y2VkIGluIENocm9tZSA2NzogdGhlIGJhY2tncm91bmQgaW1hZ2UgaXMgbm90IHZpc2libGUgaWYgYW55IGVsZW1lbnQgb24gdGhlIHBhZ2UgdXNlcyBgdHJhbnNsYXRlM2RgXG4gKi9cbi51ay1iYWNrZ3JvdW5kLWZpeGVkIHtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgLyogMSAqL1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBFeGNsdWRlIHRvdWNoIGRldmljZXMgYmVjYXVzZSBgZml4ZWRgIGRvZXNuJ3Qgd29yayBvbiBpT1MgYW5kIEFuZHJvaWRcbiAqL1xuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgLnVrLWJhY2tncm91bmQtZml4ZWQge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xuICB9XG59XG5cbi8qIEltYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBob25lIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3KSB7XG4gIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogRGVza3RvcCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDE2NzlweCkge1xuICAudWstYmFja2dyb3VuZC1pbWFnZVxcQHhsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJhY2tncm91bmQtYmxlbmQtbXVsdGlwbHkge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5O1xufVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1zY3JlZW4ge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNjcmVlbjtcbn1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogb3ZlcmxheTtcbn1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtZGFya2VuIHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBkYXJrZW47XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWxpZ2h0ZW4ge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGxpZ2h0ZW47XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yLWRvZGdlIHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvci1kb2RnZTtcbn1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3ItYnVybiB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3ItYnVybjtcbn1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtaGFyZC1saWdodCB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogaGFyZC1saWdodDtcbn1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtc29mdC1saWdodCB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogc29mdC1saWdodDtcbn1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtZGlmZmVyZW5jZSB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogZGlmZmVyZW5jZTtcbn1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtZXhjbHVzaW9uIHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBleGNsdXNpb247XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWh1ZSB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogaHVlO1xufVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1zYXR1cmF0aW9uIHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzYXR1cmF0aW9uO1xufVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvciB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3I7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWx1bWlub3NpdHkge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGx1bWlub3NpdHk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGlnblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICovXG5bY2xhc3MqPSd1ay1hbGlnbiddIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbiogKyBbY2xhc3MqPSd1ay1hbGlnbiddIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLypcbiAqIENlbnRlclxuICovXG4udWstYWxpZ24tY2VudGVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLypcbiAqIExlZnQvUmlnaHRcbiAqL1xuLnVrLWFsaWduLWxlZnQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udWstYWxpZ24tcmlnaHQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OCkge1xuICAudWstYWxpZ24tbGVmdFxcQHMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC51ay1hbGlnbi1yaWdodFxcQHMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC51ay1hbGlnbi1sZWZ0XFxAbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnVrLWFsaWduLXJpZ2h0XFxAbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1hbGlnbi1sZWZ0XFxAbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAudWstYWxpZ24tcmlnaHRcXEBsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAudWstYWxpZ24tbGVmdCxcbiAgLnVrLWFsaWduLWxlZnRcXEBzLFxuICAudWstYWxpZ24tbGVmdFxcQG0sXG4gIC51ay1hbGlnbi1sZWZ0XFxAbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0MHB4O1xuICB9XG4gIC51ay1hbGlnbi1yaWdodCxcbiAgLnVrLWFsaWduLXJpZ2h0XFxAcyxcbiAgLnVrLWFsaWduLXJpZ2h0XFxAbSxcbiAgLnVrLWFsaWduLXJpZ2h0XFxAbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gIH1cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgLnVrLWFsaWduLWxlZnRcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnVrLWFsaWduLXJpZ2h0XFxAeGwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDIuIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG4vKiAxICovXG4udWstc3ZnLFxuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbZmlsbCo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7XG4gIGZpbGw6IGN1cnJlbnRjb2xvcjtcbn1cblxuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHtcbiAgc3Ryb2tlOiBjdXJyZW50Y29sb3I7XG59XG5cbi8qXG4gKiBGaXggRmlyZWZveCBibHVycnkgU1ZHIHJlbmRlcmluZzogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgzNVxuICovXG4udWstc3ZnIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBhbmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wYW5lbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cbi51ay1wYW5lbDo6YmVmb3JlLFxuLnVrLXBhbmVsOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstcGFuZWw6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLXBhbmVsID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKlxuICogU2Nyb2xsYWJsZVxuICovXG4udWstcGFuZWwtc2Nyb2xsYWJsZSB7XG4gIGhlaWdodDogMTcwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHJlc2l6ZTogYm90aDtcbn1cblxuLyogQ2xlYXJmaXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIGB0YWJsZS1jZWxsYCBpcyB1c2VkIHdpdGggYDo6YmVmb3JlYCBiZWNhdXNlIGB0YWJsZWAgY3JlYXRlcyBhIDFweCBnYXAgd2hlbiBpdCBiZWNvbWVzIGEgZmxleCBpdGVtLCBvbmx5IGluIFdlYmtpdFxuICogMi4gYHRhYmxlYCBpcyB1c2VkIGFnYWluIHdpdGggYDo6YWZ0ZXJgIGJlY2F1c2UgYGNsZWFyYCBvbmx5IHdvcmtzIHdpdGggYmxvY2sgZWxlbWVudHMuXG4gKiBOb3RlOiBgZGlzcGxheTogYmxvY2tgIHdpdGggYG92ZXJmbG93OiBoaWRkZW5gIGlzIGN1cnJlbnRseSBub3Qgd29ya2luZyBpbiB0aGUgbGF0ZXN0IFNhZmFyaVxuICovXG4vKiAxICovXG4udWstY2xlYXJmaXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbi8qIDIgKi9cbi51ay1jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qIEZsb2F0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqL1xuLnVrLWZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnVrLWZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKiAxICovXG5bY2xhc3MqPSd1ay1mbG9hdC0nXSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogT3ZlcmZvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstb3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLypcbiAqIEVuYWJsZSBzY3JvbGxiYXJzIGlmIGNvbnRlbnQgaXMgY2xpcHBlZFxuICogTm90ZTogRmlyZWZveCBpZ25vcmVzIGBwYWRkaW5nLWJvdHRvbWAgZm9yIHRoZSBzY3JvbGxhYmxlIG92ZXJmbG93IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODUxOFxuICovXG4udWstb3ZlcmZsb3ctYXV0byB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi51ay1vdmVyZmxvdy1hdXRvID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBSZXNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXJlc2l6ZSB7XG4gIHJlc2l6ZTogYm90aDtcbn1cblxuLnVrLXJlc2l6ZS12ZXJ0aWNhbCB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qIERpc3BsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWRpc3BsYXktYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4udWstZGlzcGxheS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbn1cblxuLnVrLWRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi8qIElubGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKiA1LiBGb3JjZSBoYXJkd2FyZSBhY2NlbGVyYXRpb24gd2l0aG91dCBjcmVhdGluZyBhIG5ldyBzdGFja2luZyBjb250ZXh0XG4gKiAgICB0byBmaXggMXB4IGdsaXRjaCB3aGVuIGNvbWJpbmVkIHdpdGggb3ZlcmxheXMgYW5kIHRyYW5zaXRpb25zIGluIFdlYmtpdFxuICogNi4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICovXG5bY2xhc3MqPSd1ay1pbmxpbmUnXSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMyAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDQgKi9cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogNSAqL1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnVrLWlubGluZS1jbGlwIHtcbiAgLyogNiAqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBSZXNwb25zaXZlIG9iamVjdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXNlcnZlIG9yaWdpbmFsIGRpbWVuc2lvbnNcbiAqIEJlY2F1c2UgYGltZywgYHZpZGVvYCwgYGNhbnZhc2AgYW5kICBgYXVkaW9gIGFyZSBhbHJlYWR5IHJlc3BvbnNpdmUgYnkgZGVmYXVsdCwgc2VlIEJhc2UgY29tcG9uZW50XG4gKi9cbi51ay1wcmVzZXJ2ZS13aWR0aCxcbi51ay1wcmVzZXJ2ZS13aWR0aCBjYW52YXMsXG4udWstcHJlc2VydmUtd2lkdGggaW1nLFxuLnVrLXByZXNlcnZlLXdpZHRoIHN2Zyxcbi51ay1wcmVzZXJ2ZS13aWR0aCB2aWRlbyB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLypcbiAqIFJlc3BvbnNpdmVuZXNzXG4gKiBDb3JyZWN0cyBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZFxuICovXG4udWstcmVzcG9uc2l2ZS13aWR0aCxcbi51ay1yZXNwb25zaXZlLWhlaWdodCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIHdpZHRoLiBgaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgYHVrLXByZXNlcnZlLXdpZHRoIGltZ2BcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIGhlaWdodC4gT25seSBuZWVkZWQgaWYgYGhlaWdodGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqL1xuLnVrLXJlc3BvbnNpdmUtd2lkdGgge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAvKiAyICovXG4gIGhlaWdodDogYXV0bztcbn1cblxuLypcbiAqIDEuIFNldCBhIG1heGltdW0gaGVpZ2h0LiBPbmx5IHdvcmtzIGlmIHRoZSBwYXJlbnQgZWxlbWVudCBoYXMgYSBmaXhlZCBoZWlnaHRcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIHdpZHRoLiBPbmx5IG5lZWRlZCBpZiBgd2lkdGhgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKiAzLiBSZXNldCBtYXgtd2lkdGgsIHdoaWNoIGBpbWcsIGB2aWRlb2AsIGBjYW52YXNgIGFuZCAgYGF1ZGlvYCBhbHJlYWR5IGhhdmUgYnkgZGVmYXVsdFxuICovXG4udWstcmVzcG9uc2l2ZS1oZWlnaHQge1xuICAvKiAxICovXG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IGF1dG87XG4gIC8qIDMgKi9cbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4vKiBCb3JkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJvcmRlci1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi51ay1ib3JkZXItcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xufVxuXG4udWstYm9yZGVyLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi8qXG4gKiBGaXggYG92ZXJmbG93OiBoaWRkZW5gIHRvIGJlIGlnbm9yZWQgd2l0aCBib3JkZXItcmFkaXVzIGFuZCBDU1MgdHJhbnNmb3JtcyBpbiBXZWJraXRcbiAqL1xuLnVrLWlubGluZS1jbGlwW2NsYXNzKj0ndWstYm9yZGVyLSddIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG59XG5cbi8qIEJveC1zaGFkb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJveC1zaGFkb3ctc21hbGwge1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cblxuLnVrLWJveC1zaGFkb3ctbWVkaXVtIHtcbiAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4udWstYm94LXNoYWRvdy1sYXJnZSB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG59XG5cbi51ay1ib3gtc2hhZG93LXhsYXJnZSB7XG4gIGJveC1zaGFkb3c6IDAgMjhweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5bY2xhc3MqPSd1ay1ib3gtc2hhZG93LWhvdmVyJ10ge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5cbi51ay1ib3gtc2hhZG93LWhvdmVyLXNtYWxsOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi51ay1ib3gtc2hhZG93LWhvdmVyLW1lZGl1bTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cblxuLnVrLWJveC1zaGFkb3ctaG92ZXItbGFyZ2U6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xufVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci14bGFyZ2U6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDI4cHggNTBweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xufVxuXG4vKiBCb3gtc2hhZG93IGJvdHRvbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uLlxuICogMi4gU2V0IHN0eWxlXG4gKiAzLiBCbHVyIGRvZXNuJ3Qgd29yayBvbiBwc2V1ZG8gZWxlbWVudHMgd2l0aCBuZWdhdGl2ZSBgei1pbmRleGAgaW4gRWRnZS5cbiAqICAgIFNvbHZlZCBieSB1c2luZyBgYmVmb3JlYCBhbmQgYWRkIHBvc2l0aW9uIGNvbnRleHQgdG8gY2hpbGQgZWxlbWVudHMuXG4gKi9cbkBzdXBwb3J0cyAoZmlsdGVyOiBibHVyKDApKSB7XG4gIC51ay1ib3gtc2hhZG93LWJvdHRvbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAudWstYm94LXNoYWRvdy1ib3R0b206OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0zMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7XG4gICAgZmlsdGVyOiBibHVyKDIwcHgpO1xuICB9XG4gIC8qIDMgKi9cbiAgLnVrLWJveC1zaGFkb3ctYm90dG9tID4gKiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbi8qIERyb3AgY2FwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBGaXJlZm94IGRvZXNuJ3QgYXBwbHkgYDo6Zmlyc3QtbGV0dGVyYCBpZiB0aGUgZmlyc3QgbGV0dGVyIGlzIGluc2lkZSBjaGlsZCBlbGVtZW50c1xuICogICAgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MDA0XG4gKiAyLiBJbiBGaXJlZm94LCBhIGZsb2F0aW5nIGA6OmZpcnN0LWxldHRlcmAgZG9lc24ndCBoYXZlIGEgbGluZSBib3ggYW5kIHRoZXJlIGZvciBubyBgbGluZS1oZWlnaHRgXG4gKiAgICBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTc5MzNcbiAqIDMuIENhdXNlZCBieSAxLjogRWRnZSBjcmVhdGVzIHR3byBuZXN0ZWQgYDo6Zmlyc3QtbGV0dGVyYCBjb250YWluZXJzLCBvbmUgZm9yIGVhY2ggc2VsZWN0b3JcbiAqICAgIFRoaXMgZG91YmxlcyB0aGUgYGZvbnQtc2l6ZWAgZXhwb25lbnRpYWwgd2hlbiB1c2luZyB0aGUgYGVtYCB1bml0LlxuICovXG4udWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDQuNWVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogLTJweDtcbn1cblxuLyogMiAqL1xuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbiAgLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gICAgbWFyZ2luLXRvcDogMS4xJTtcbiAgfVxufVxuXG4vKiAzICovXG5Ac3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cblxuLyogTG9nb1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVxdWlyZWQgZm9yIGBhYFxuICovXG4udWstbG9nbyB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBjb2xvcjogIzY2NjtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1sb2dvOmhvdmVyLFxuLnVrLWxvZ286Zm9jdXMge1xuICBjb2xvcjogIzY2NjtcbiAgb3V0bGluZTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi51ay1sb2dvLWludmVyc2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBEaXNhYmxlZCBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogRHJhZyBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gTmVlZGVkIGlmIG1vdmluZyBvdmVyIGVsZW1lbnRzIHdpdGggaGF2ZSB0aGVpciBvd24gY3Vyc29yIG9uIGhvdmVyLCBlLmcuIGxpbmtzIG9yIGJ1dHRvbnNcbiAqIDIuIEZpeCBkcmFnZ2luZyBvdmVyIGlmcmFtZXNcbiAqL1xuLnVrLWRyYWcsXG4udWstZHJhZyAqIHtcbiAgY3Vyc29yOiBtb3ZlO1xufVxuXG4vKiAyICovXG4udWstZHJhZyBpZnJhbWUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogRHJhZ292ZXIgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIENyZWF0ZSBhIGJveC1zaGFkb3cgd2hlbiBkcmFnZ2luZyBhIGZpbGUgb3ZlciB0aGUgdXBsb2FkIGFyZWFcbiAqL1xuLnVrLWRyYWdvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjMpO1xufVxuXG4vKiBCbGVuZCBtb2Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYmxlbmQtbXVsdGlwbHkge1xuICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG59XG5cbi51ay1ibGVuZC1zY3JlZW4ge1xuICBtaXgtYmxlbmQtbW9kZTogc2NyZWVuO1xufVxuXG4udWstYmxlbmQtb3ZlcmxheSB7XG4gIG1peC1ibGVuZC1tb2RlOiBvdmVybGF5O1xufVxuXG4udWstYmxlbmQtZGFya2VuIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjtcbn1cblxuLnVrLWJsZW5kLWxpZ2h0ZW4ge1xuICBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbjtcbn1cblxuLnVrLWJsZW5kLWNvbG9yLWRvZGdlIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlO1xufVxuXG4udWstYmxlbmQtY29sb3ItYnVybiB7XG4gIG1peC1ibGVuZC1tb2RlOiBjb2xvci1idXJuO1xufVxuXG4udWstYmxlbmQtaGFyZC1saWdodCB7XG4gIG1peC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0O1xufVxuXG4udWstYmxlbmQtc29mdC1saWdodCB7XG4gIG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0O1xufVxuXG4udWstYmxlbmQtZGlmZmVyZW5jZSB7XG4gIG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlO1xufVxuXG4udWstYmxlbmQtZXhjbHVzaW9uIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjtcbn1cblxuLnVrLWJsZW5kLWh1ZSB7XG4gIG1peC1ibGVuZC1tb2RlOiBodWU7XG59XG5cbi51ay1ibGVuZC1zYXR1cmF0aW9uIHtcbiAgbWl4LWJsZW5kLW1vZGU6IHNhdHVyYXRpb247XG59XG5cbi51ay1ibGVuZC1jb2xvciB7XG4gIG1peC1ibGVuZC1tb2RlOiBjb2xvcjtcbn1cblxuLnVrLWJsZW5kLWx1bWlub3NpdHkge1xuICBtaXgtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTtcbn1cblxuLyogVHJhbnNmb3JtXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRyYW5zZm9ybS1jZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLyogVHJhbnNmb3JtIE9yaWdpblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1sZWZ0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xufVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtY2VudGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG59XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1yaWdodCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbn1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLWxlZnQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbn1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLXJpZ2h0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7XG59XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1sZWZ0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xufVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tY2VudGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG59XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1yaWdodCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZsZXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4udWstZmxleC1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uXG4gKi9cbi51ay1mbGV4OjpiZWZvcmUsXG4udWstZmxleDo6YWZ0ZXIsXG4udWstZmxleC1pbmxpbmU6OmJlZm9yZSxcbi51ay1mbGV4LWlubGluZTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBBbGlnbm1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFsaWduIGl0ZW1zIGFsb25nIHRoZSBtYWluIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogSG9yaXpvbnRhbFxuICovXG4udWstZmxleC1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4udWstZmxleC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnVrLWZsZXgtcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4udWstZmxleC1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4udWstZmxleC1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjgpIHtcbiAgLnVrLWZsZXgtbGVmdFxcQHMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAudWstZmxleC1jZW50ZXJcXEBzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAudWstZmxleC1yaWdodFxcQHMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgLnVrLWZsZXgtYmV0d2VlblxcQHMge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAudWstZmxleC1hcm91bmRcXEBzIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgfVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstZmxleC1sZWZ0XFxAbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC51ay1mbGV4LWNlbnRlclxcQG0ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuICAudWstZmxleC1iZXR3ZWVuXFxAbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC51ay1mbGV4LWFyb3VuZFxcQG0ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstZmxleC1sZWZ0XFxAbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC51ay1mbGV4LWNlbnRlclxcQGwge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuICAudWstZmxleC1iZXR3ZWVuXFxAbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC51ay1mbGV4LWFyb3VuZFxcQGwge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIC51ay1mbGV4LWxlZnRcXEB4bCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC51ay1mbGV4LWNlbnRlclxcQHhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAudWstZmxleC1yaWdodFxcQHhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gIC51ay1mbGV4LWJldHdlZW5cXEB4bCB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC51ay1mbGV4LWFyb3VuZFxcQHhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgfVxufVxuXG4vKlxuICogQWxpZ24gaXRlbXMgaW4gdGhlIGNyb3NzIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogVmVydGljYWxcbiAqL1xuLnVrLWZsZXgtc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4udWstZmxleC10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnVrLWZsZXgtbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnVrLWZsZXgtYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4vKiBEaXJlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWZsZXgtcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLnVrLWZsZXgtcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi51ay1mbGV4LWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi51ay1mbGV4LWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuXG4vKiBXcmFwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1mbGV4LW5vd3JhcCB7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xufVxuXG4udWstZmxleC13cmFwIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udWstZmxleC13cmFwLXJldmVyc2Uge1xuICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTtcbn1cblxuLypcbiAqIEFsaWducyBpdGVtcyB3aXRoaW4gdGhlIGZsZXggY29udGFpbmVyIHdoZW4gdGhlcmUgaXMgZXh0cmEgc3BhY2UgaW4gdGhlIGNyb3NzLWF4aXNcbiAqIE9ubHkgd29ya3MgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBsaW5lIG9mIGZsZXggaXRlbXNcbiAqL1xuLnVrLWZsZXgtd3JhcC1zdHJldGNoIHtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbn1cblxuLnVrLWZsZXgtd3JhcC10b3Age1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4udWstZmxleC13cmFwLW1pZGRsZSB7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnVrLWZsZXgtd3JhcC1ib3R0b20ge1xuICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLnVrLWZsZXgtd3JhcC1iZXR3ZWVuIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLnVrLWZsZXgtd3JhcC1hcm91bmQge1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi8qIEl0ZW0gb3JkZXJpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHQgaXMgMFxuICovXG4udWstZmxleC1maXJzdCB7XG4gIG9yZGVyOiAtMTtcbn1cblxuLnVrLWZsZXgtbGFzdCB7XG4gIG9yZGVyOiA5OTtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjgpIHtcbiAgLnVrLWZsZXgtZmlyc3RcXEBzIHtcbiAgICBvcmRlcjogLTE7XG4gIH1cbiAgLnVrLWZsZXgtbGFzdFxcQHMge1xuICAgIG9yZGVyOiA5OTtcbiAgfVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstZmxleC1maXJzdFxcQG0ge1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuICAudWstZmxleC1sYXN0XFxAbSB7XG4gICAgb3JkZXI6IDk5O1xuICB9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstZmxleC1maXJzdFxcQGwge1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuICAudWstZmxleC1sYXN0XFxAbCB7XG4gICAgb3JkZXI6IDk5O1xuICB9XG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIC51ay1mbGV4LWZpcnN0XFxAeGwge1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuICAudWstZmxleC1sYXN0XFxAeGwge1xuICAgIG9yZGVyOiA5OTtcbiAgfVxufVxuXG4vKiBJdGVtIGRpbWVuc2lvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEluaXRpYWw6IDAgMSBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzXG4gKi9cbi8qXG4gKiBObyBGbGV4OiAwIDAgYXV0b1xuICogQ29udGVudCBkaW1lbnNpb25zXG4gKi9cbi51ay1mbGV4LW5vbmUge1xuICBmbGV4OiBub25lO1xufVxuXG4vKlxuICogUmVsYXRpdmUgRmxleDogMSAxIGF1dG9cbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBjb25zaWRlcmluZyBjb250ZW50XG4gKi9cbi51ay1mbGV4LWF1dG8ge1xuICBmbGV4OiBhdXRvO1xufVxuXG4vKlxuICogQWJzb2x1dGUgRmxleDogMSAxIDAlXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGZsZXhcbiAqL1xuLnVrLWZsZXgtMSB7XG4gIGZsZXg6IDE7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNYXJnaW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLW1hcmdpbiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbiogKyAudWstbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1zbWFsbCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbiogKyAudWstbWFyZ2luLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXNtYWxsLXRvcCB7XG4gIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1zbWFsbC1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tc21hbGwtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tc21hbGwtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLyogTWVkaXVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4tbWVkaXVtIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuKiArIC51ay1tYXJnaW4tbWVkaXVtIHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLW1lZGl1bS10b3Age1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tbWVkaXVtLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1tZWRpdW0tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tbWVkaXVtLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4tbGFyZ2Uge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4qICsgLnVrLW1hcmdpbi1sYXJnZSB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1sYXJnZS10b3Age1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLWxhcmdlLWxlZnQge1xuICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLWxhcmdlLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstbWFyZ2luLWxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICB9XG4gICogKyAudWstbWFyZ2luLWxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLW1hcmdpbi1sYXJnZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC51ay1tYXJnaW4tbGFyZ2UtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLWxhcmdlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDcwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBYTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi14bGFyZ2Uge1xuICBtYXJnaW4tYm90dG9tOiA3MHB4O1xufVxuXG4qICsgLnVrLW1hcmdpbi14bGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4teGxhcmdlLXRvcCB7XG4gIG1hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogNzBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXhsYXJnZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDcwcHggIWltcG9ydGFudDtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1tYXJnaW4teGxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNDBweDtcbiAgfVxuICAqICsgLnVrLW1hcmdpbi14bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDE0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAxNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTQwcHggIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLXhsYXJnZS1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogMTQwcHggIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLXhsYXJnZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNDBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIEF1dG9cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1hdXRvIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tYXV0by10b3Age1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tYXV0by1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tYXV0by1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1hdXRvLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tYXV0by12ZXJ0aWNhbCB7XG4gIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OCkge1xuICAudWstbWFyZ2luLWF1dG9cXEBzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAcyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEBzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstbWFyZ2luLWF1dG9cXEBtIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAbSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEBtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLW1hcmdpbi1hdXRvXFxAbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQGwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgLnVrLW1hcmdpbi1hdXRvXFxAeGwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEB4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEB4bCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4tcmVtb3ZlIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tcmVtb3ZlLXRvcCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1yZW1vdmUtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXJlbW92ZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1yZW1vdmUtdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1yZW1vdmUtYWRqYWNlbnQgKyAqLFxuLnVrLW1hcmdpbi1yZW1vdmUtZmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tcmVtb3ZlLWxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjgpIHtcbiAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQHMge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBzIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQG0ge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQGwge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEB4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQHhsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGFkZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGFkZGluZyB7XG4gIHBhZGRpbmc6IDMwcHg7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstcGFkZGluZyB7XG4gICAgcGFkZGluZzogNDBweDtcbiAgfVxufVxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGFkZGluZy1zbWFsbCB7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wYWRkaW5nLWxhcmdlIHtcbiAgcGFkZGluZzogMzBweDtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1wYWRkaW5nLWxhcmdlIHtcbiAgICBwYWRkaW5nOiA3MHB4O1xuICB9XG59XG5cbi8qIFJlbW92ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGFkZGluZy1yZW1vdmUge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1wYWRkaW5nLXJlbW92ZS10b3Age1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4udWstcGFkZGluZy1yZW1vdmUtYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLWxlZnQge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4udWstcGFkZGluZy1yZW1vdmUtdmVydGljYWwge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udWstcGFkZGluZy1yZW1vdmUtaG9yaXpvbnRhbCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEaXJlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cgaWYgYG1heC13aWR0aDogMTAwJWAgaXMgdXNlZCBpbnNpZGUgcG9zaXRpb24gY29udGFpbmVyLlxuICovXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi10b3AnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWJvdHRvbSddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tcmlnaHQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlciddIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBFZGdlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEb24ndCB1c2UgYHdpZHRoOiAxMDAlYCBiZWNhdXNlIGl0IGlzIHdyb25nIGlmIHRoZSBwYXJlbnQgaGFzIHBhZGRpbmcuICovXG4udWstcG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1yaWdodCB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbn1cblxuLyogQ29ybmVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcG9zaXRpb24tdG9wLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi10b3AtcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLWxlZnQge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tcmlnaHQge1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4vKlxuICogQ2VudGVyXG4gKiAxLiBGaXggdGV4dCB3cmFwcGluZyBpZiBjb250ZW50IGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgY29udGFpbmVyLlxuICovXG4udWstcG9zaXRpb24tY2VudGVyIHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIC8qIDEgKi9cbiAgd2lkdGg6IG1heC1jb250ZW50O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFZlcnRpY2FsICovXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10ge1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQge1xuICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHtcbiAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdC1vdXQge1xuICByaWdodDogMTAwJTtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0LW91dCB7XG4gIGxlZnQ6IDEwMCU7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAvKiAxICovXG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4udWstcG9zaXRpb24tdG9wLWNlbnRlciB7XG4gIHRvcDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICBib3R0b206IDA7XG59XG5cbi8qIENvdmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wb3NpdGlvbi1jb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4vKiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG4udWstcG9zaXRpb24tYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn1cblxuLnVrLXBvc2l0aW9uLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi51ay1wb3NpdGlvbi16LWluZGV4IHtcbiAgei1pbmRleDogMTtcbn1cblxuLyogTWFyZ2luIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTbWFsbFxuICovXG4udWstcG9zaXRpb24tc21hbGwge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgxNXB4ICogMikpO1xuICBtYXJnaW46IDE1cHg7XG59XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1jZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLTE1cHgsIC0xNXB4KTtcbn1cblxuLnVrLXBvc2l0aW9uLXNtYWxsW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTE1cHgpO1xufVxuXG4udWstcG9zaXRpb24tc21hbGwudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLTE1cHgpO1xufVxuXG4vKlxuICogTWVkaXVtXG4gKi9cbi51ay1wb3NpdGlvbi1tZWRpdW0ge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgzMHB4ICogMikpO1xuICBtYXJnaW46IDMwcHg7XG59XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0zMHB4LCAtMzBweCk7XG59XG5cbi51ay1wb3NpdGlvbi1tZWRpdW1bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTMwcHgpO1xufVxuXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbWVkaXVtLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtMzBweCk7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG4udWstcG9zaXRpb24tbGFyZ2Uge1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgzMHB4ICogMikpO1xuICBtYXJnaW46IDMwcHg7XG59XG5cbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1jZW50ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLTMwcHgsIC0zMHB4KTtcbn1cblxuLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1sYXJnZVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTMwcHgpO1xufVxuXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLTMwcHgpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICg1MHB4ICogMikpO1xuICAgIG1hcmdpbjogNTBweDtcbiAgfVxuICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tY2VudGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLTUwcHgsIC01MHB4KTtcbiAgfVxuICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLTUwcHgpO1xuICB9XG4gIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVgoLTUwcHgpO1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUcmFuc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRvZ2dsZSAoSG92ZXIgKyBGb2N1cylcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZSB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIFJlbW92ZSBvdXRsaW5lIGZvciBgdGFiaW5kZXhgXG4gKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIFRyYW5zaXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBUaGUgdG9nZ2xlIGlzIHRyaWdnZXJlZCBvbiB0b3VjaCBkZXZpY2VzIGJ5IHR3byBtZXRob2RzOlxuICogMS4gVXNpbmcgYDpmb2N1c2AgYW5kIHRhYmluZGV4XG4gKiAyLiBVc2luZyBgOmhvdmVyYCBhbmQgYSBgdG91Y2hzdGFydGAgZXZlbnQgbGlzdGVuZXIgcmVnaXN0ZXJlZCBvbiB0aGUgZG9jdW1lbnRcbiAqICAgIChEb2Vzbid0IHdvcmsgb24gU3VyZmFjZSB0b3VjaCBkZXZpY2VzKVxuICpcbiAqIE5vdGU6IFRyYW5zaXRpb25zIGRvbid0IHdvcmsgd2l0aCBgdWstcG9zdGlvbi1jZW50ZXItKmAgY2xhc3NlcyBiZWNhdXNlIHRoZXkgYWxzbyB1c2UgYHRyYW5zZm9ybWAsXG4gKiAgICAgICB0aGVyZWZvcmUgaXQncyByZWNvbW1lbmRlZCB0byB1c2UgYW4gZXh0cmEgYGRpdmAgZm9yIHRoZSB0cmFuc2l0aW9uLlxuICovXG4udWstdHJhbnNpdGlvbi1mYWRlLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zY2FsZSddLFxuW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddIHtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qXG4gKiBGYWRlXG4gKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1mYWRlLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLWZhZGUsXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLWZhZGUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKlxuICogU2NhbGVcbiAqL1xuLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEsIDEuMSk7XG59XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSwgMS4xKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMSk7XG59XG5cbi8qXG4gKiBTbGlkZVxuICovXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3Age1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLXNtYWxsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtc21hbGwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1tZWRpdW0ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwcHgpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTBweCk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTtcbn1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4vKiBPcGFjaXR5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10cmFuc2l0aW9uLW9wYXF1ZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIER1cmF0aW9uIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdHJhbnNpdGlvbi1zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC43cztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhpZGRlblxuICogYGhpZGRlbmAgYXR0cmlidXRlIGFsc28gc2V0IGhlcmUgdG8gbWFrZSBpdCBzdHJvbmdlclxuICovXG5baGlkZGVuXSxcbi51ay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4KSB7XG4gIC51ay1oaWRkZW5cXEBzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnVrLWhpZGRlblxcQG0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWhpZGRlblxcQGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAudWstaGlkZGVuXFxAeGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKlxuICogVmlzaWJsZVxuICovXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2Nykge1xuICAudWstdmlzaWJsZVxcQHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudWstdmlzaWJsZVxcQG0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC51ay12aXNpYmxlXFxAbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxNjc5cHgpIHtcbiAgLnVrLXZpc2libGVcXEB4bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4vKiBUb2dnbGUgKEhvdmVyICsgRm9jdXMpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBIaWRkZW5cbiAqIDEuIFRoZSB0b2dnbGUgaXMgdHJpZ2dlcmVkIG9uIHRvdWNoIGRldmljZXMgdXNpbmcgYDpmb2N1c2AgYW5kIHRhYmluZGV4XG4gKiAyLiBUaGUgdGFyZ2V0IHN0YXlzIHZpc2libGUgaWYgYW55IGVsZW1lbnQgd2l0aGluIHJlY2VpdmVzIGZvY3VzIHRocm91Z2gga2V5Ym9hcmRcbiAqICAgIERvZXNuJ3Qgd29yayBpbiBFZGdlLCB5ZXQuXG4gKiAzLiBDYW4ndCB1c2UgYGRpc3BsYXk6IG5vbmVgIG5vciBgdmlzaWJpbGl0eTogaGlkZGVuYCBiZWNhdXNlIGJvdGggYXJlIG5vdCBmb2N1c2FibGUuXG4gKlxuICovXG4vKiAxICsgMiAqL1xuLnVrLXZpc2libGUtdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIC51ay1oaWRkZW4taG92ZXI6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgLyogMyAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLypcbiAqIEludmlzaWJsZVxuICovXG4vKiAxICsgMiAqL1xuLnVrLXZpc2libGUtdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIC51ay1pbnZpc2libGUtaG92ZXI6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgLyogMyAqL1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG4udWstdmlzaWJsZS10b2dnbGUge1xuICAvKiAxICovXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG4udWstdmlzaWJsZS10b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKiBUb3VjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSGlkZSBpZiBwcmltYXJ5IHBvaW50aW5nIGRldmljZSBoYXMgbGltaXRlZCBhY2N1cmFjeSwgZS5nLiBhIHRvdWNoIHNjcmVlbi5cbiAqIFdvcmtzIG9uIG1vYmlsZSBicm93c2VyczogU2FmYXJpLCBDaHJvbWUgYW5kIEFuZHJvaWQgYnJvd3NlclxuICovXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAudWstaGlkZGVuLXRvdWNoIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLypcbiAqIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgaXMgYWNjdXJhdGUsIGUuZy4gbW91c2UuXG4gKiAxLiBGYWxsYmFjayBmb3IgSUUxMSBhbmQgRmlyZWZveCwgYmVjYXVzZSBgcG9pbnRlcmAgaXMgbm90IHN1cHBvcnRlZFxuICogMi4gUmVzZXQgaWYgc3VwcG9ydGVkXG4gKi9cbi8qIDEgKi9cbi51ay1oaWRkZW4tbm90b3VjaCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgLnVrLWhpZGRlbi1ub3RvdWNoIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJbnZlcnNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJbXBsZW1lbnRlZCBjbGFzcyBkZXBlbmRzIG9uIHRoZSBnZW5lcmFsIHRoZW1lIGNvbG9yXG4gKiBgdWstbGlnaHRgIGlzIGZvciBsaWdodCBjb2xvcnMgb24gZGFyayBiYWNrZ3JvdW5kc1xuICogYHVrLWRhcmtgIGlzIG9yIGRhcmsgY29sb3JzIG9uIGxpZ2h0IGJhY2tncm91bmRzXG4gKi9cbi51ay1saWdodCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvciksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSksIC51ay1vdmVybGF5LXByaW1hcnksIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYSwgLnVrLW92ZXJsYXktcHJpbWFyeSBhLCAudWstb2ZmY2FudmFzLWJhciBhLFxuLnVrLWxpZ2h0IC51ay1saW5rLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluayxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluayxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmssXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmssXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluayxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmssXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saW5rLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGluayxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1saW5rIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi51ay1saWdodCBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgYTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgYTpob3Zlcixcbi51ay1saWdodCAudWstbGluazpob3Zlcixcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbms6aG92ZXIsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbms6aG92ZXIsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rOmhvdmVyLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rOmhvdmVyLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbms6aG92ZXIsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rOmhvdmVyLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluazpob3Zlcixcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluazpob3Zlcixcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpbms6aG92ZXIsXG4udWstb2ZmY2FudmFzLWJhciAudWstbGluazpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udWstbGlnaHQgOm5vdChwcmUpID4gY29kZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBjb2RlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gY29kZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBjb2RlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gY29kZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgOm5vdChwcmUpID4gY29kZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBjb2RlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IDpub3QocHJlKSA+IGNvZGUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBjb2RlLCAudWstb3ZlcmxheS1wcmltYXJ5IDpub3QocHJlKSA+IGNvZGUsIC51ay1vZmZjYW52YXMtYmFyIDpub3QocHJlKSA+IGNvZGUsXG4udWstbGlnaHQgOm5vdChwcmUpID4ga2JkLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBrYmQsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4ga2JkLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBrYmQsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4ga2JkLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgOm5vdChwcmUpID4ga2JkLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBrYmQsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IDpub3QocHJlKSA+IGtiZCxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSA6bm90KHByZSkgPiBrYmQsXG4udWstb3ZlcmxheS1wcmltYXJ5IDpub3QocHJlKSA+IGtiZCxcbi51ay1vZmZjYW52YXMtYmFyIDpub3QocHJlKSA+IGtiZCxcbi51ay1saWdodCA6bm90KHByZSkgPiBzYW1wLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBzYW1wLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpub3QocHJlKSA+IHNhbXAsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpub3QocHJlKSA+IHNhbXAsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gc2FtcCxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IDpub3QocHJlKSA+IHNhbXAsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIDpub3QocHJlKSA+IHNhbXAsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IDpub3QocHJlKSA+IHNhbXAsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgOm5vdChwcmUpID4gc2FtcCxcbi51ay1vdmVybGF5LXByaW1hcnkgOm5vdChwcmUpID4gc2FtcCxcbi51ay1vZmZjYW52YXMtYmFyIDpub3QocHJlKSA+IHNhbXAge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbi51ay1saWdodCBlbSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBlbSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGVtLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGVtLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgZW0sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGVtLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGVtLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGVtLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgZW0sIC51ay1vdmVybGF5LXByaW1hcnkgZW0sIC51ay1vZmZjYW52YXMtYmFyIGVtIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi51ay1saWdodCBoMSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgxLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgxLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGgxLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGgxLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGgxLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDEsIC51ay1vdmVybGF5LXByaW1hcnkgaDEsIC51ay1vZmZjYW52YXMtYmFyIGgxLCAudWstbGlnaHQgLnVrLWgxLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oMSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWgxLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWgxLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oMSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWgxLFxuLnVrLWxpZ2h0IGgyLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMixcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMixcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDIsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDIsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoMixcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDIsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGgyLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGgyLFxuLnVrLW92ZXJsYXktcHJpbWFyeSBoMixcbi51ay1vZmZjYW52YXMtYmFyIGgyLCAudWstbGlnaHQgLnVrLWgyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oMiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWgyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWgyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oMiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWgyLFxuLnVrLWxpZ2h0IGgzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDMsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoMyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGgzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGgzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSBoMyxcbi51ay1vZmZjYW52YXMtYmFyIGgzLCAudWstbGlnaHQgLnVrLWgzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oMywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWgzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWgzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oMywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWgzLFxuLnVrLWxpZ2h0IGg0LFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNCxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNCxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDQsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDQsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoNCxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDQsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGg0LFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGg0LFxuLnVrLW92ZXJsYXktcHJpbWFyeSBoNCxcbi51ay1vZmZjYW52YXMtYmFyIGg0LCAudWstbGlnaHQgLnVrLWg0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oNCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWg0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWg0LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oNCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWg0LFxuLnVrLWxpZ2h0IGg1LFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNSxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNSxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDUsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDUsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoNSxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDUsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGg1LFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGg1LFxuLnVrLW92ZXJsYXktcHJpbWFyeSBoNSxcbi51ay1vZmZjYW52YXMtYmFyIGg1LCAudWstbGlnaHQgLnVrLWg1LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oNSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWg1LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWg1LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oNSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWg1LFxuLnVrLWxpZ2h0IGg2LFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNixcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNixcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDYsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDYsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoNixcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaDYsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGg2LFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGg2LFxuLnVrLW92ZXJsYXktcHJpbWFyeSBoNixcbi51ay1vZmZjYW52YXMtYmFyIGg2LCAudWstbGlnaHQgLnVrLWg2LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDYsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDYsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oNiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaDYsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWg2LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWg2LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oNiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWg2LFxuLnVrLWxpZ2h0IC51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1zbWFsbCxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1zbWFsbCxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctc21hbGwsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctc21hbGwsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1zbWFsbCxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhlYWRpbmctc21hbGwsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaGVhZGluZy1zbWFsbCxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLWxpZ2h0IC51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbWVkaXVtLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbWVkaXVtLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhlYWRpbmctbWVkaXVtLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1tZWRpdW0sXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhlYWRpbmctbWVkaXVtLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaGVhZGluZy1tZWRpdW0sXG4udWstb2ZmY2FudmFzLWJhciAudWstaGVhZGluZy1tZWRpdW0sXG4udWstbGlnaHQgLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxhcmdlLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxhcmdlLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1sYXJnZSxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1sYXJnZSxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLWxhcmdlLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1sYXJnZSxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1oZWFkaW5nLWxhcmdlLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstbGlnaHQgLnVrLWhlYWRpbmcteGxhcmdlLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy14bGFyZ2UsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmcteGxhcmdlLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy14bGFyZ2UsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmcteGxhcmdlLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmcteGxhcmdlLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy14bGFyZ2UsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLXhsYXJnZSxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy14bGFyZ2UsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1oZWFkaW5nLXhsYXJnZSxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1oZWFkaW5nLXhsYXJnZSxcbi51ay1saWdodCAudWstaGVhZGluZy0yeGxhcmdlLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy0yeGxhcmdlLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLTJ4bGFyZ2UsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLTJ4bGFyZ2UsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctMnhsYXJnZSxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLTJ4bGFyZ2UsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oZWFkaW5nLTJ4bGFyZ2UsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLTJ4bGFyZ2UsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhlYWRpbmctMnhsYXJnZSxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLWhlYWRpbmctMnhsYXJnZSxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnVrLWxpZ2h0IGJsb2NrcXVvdGUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYmxvY2txdW90ZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGJsb2NrcXVvdGUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYmxvY2txdW90ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGJsb2NrcXVvdGUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGJsb2NrcXVvdGUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYmxvY2txdW90ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBibG9ja3F1b3RlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYmxvY2txdW90ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSBibG9ja3F1b3RlLCAudWstb2ZmY2FudmFzLWJhciBibG9ja3F1b3RlIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi51ay1saWdodCBibG9ja3F1b3RlIGZvb3RlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBibG9ja3F1b3RlIGZvb3RlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGJsb2NrcXVvdGUgZm9vdGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGJsb2NrcXVvdGUgZm9vdGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYmxvY2txdW90ZSBmb290ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGJsb2NrcXVvdGUgZm9vdGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIGJsb2NrcXVvdGUgZm9vdGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGJsb2NrcXVvdGUgZm9vdGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgYmxvY2txdW90ZSBmb290ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgYmxvY2txdW90ZSBmb290ZXIsIC51ay1vZmZjYW52YXMtYmFyIGJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IGhyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGhyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaHIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaHIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBociwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgaHIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgaHIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgaHIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSBociwgLnVrLW92ZXJsYXktcHJpbWFyeSBociwgLnVrLW9mZmNhbnZhcy1iYXIgaHIsIC51ay1saWdodCAudWstaHIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ociwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ociwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWhyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1ociwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaHIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaHIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWhyLCAudWstb2ZmY2FudmFzLWJhciAudWstaHIge1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi51ay1saWdodCAudWstbGluay1tdXRlZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saW5rLW11dGVkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLW11dGVkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saW5rLW11dGVkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstbXV0ZWQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpbmstbXV0ZWQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1saW5rLW11dGVkLFxuLnVrLWxpZ2h0IC51ay1saW5rLW11dGVkIGEsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkIGEsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQgYSxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQgYSxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstbXV0ZWQgYSxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstbXV0ZWQgYSxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstbXV0ZWQgYSxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluay1tdXRlZCBhLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGluay1tdXRlZCBhLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpbmstbXV0ZWQgYSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi51ay1saWdodCAudWstbGluay1tdXRlZDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZDpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saW5rLW11dGVkOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLW11dGVkOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saW5rLW11dGVkOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1saW5rLW11dGVkOmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQgYTpob3Zlcixcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQgYTpob3Zlcixcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhOmhvdmVyLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstbXV0ZWQgYTpob3Zlcixcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstbXV0ZWQgYTpob3Zlcixcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstbXV0ZWQgYTpob3Zlcixcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGluay1tdXRlZCBhOmhvdmVyLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGluay1tdXRlZCBhOmhvdmVyLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpbmstbXV0ZWQgYTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51ay1saWdodCAudWstbGluay10ZXh0OmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10ZXh0OmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLXRleHQ6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10ZXh0OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay10ZXh0OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpbmstdGV4dDpob3Zlcixcbi51ay1saWdodCAudWstbGluay10ZXh0IGE6aG92ZXIsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10ZXh0IGE6aG92ZXIsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10ZXh0IGE6aG92ZXIsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay10ZXh0IGE6aG92ZXIsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpbmstdGV4dCBhOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1saW5rLWhlYWRpbmc6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLWhlYWRpbmc6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLWhlYWRpbmc6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saW5rLWhlYWRpbmc6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay1oZWFkaW5nOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGluay1oZWFkaW5nOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbGluay1oZWFkaW5nOmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1saW5rLWhlYWRpbmcgYTpob3Zlcixcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLWhlYWRpbmcgYTpob3Zlcixcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLWhlYWRpbmcgYTpob3Zlcixcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saW5rLWhlYWRpbmcgYTpob3Zlcixcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay1oZWFkaW5nIGE6aG92ZXIsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGluay1oZWFkaW5nIGE6aG92ZXIsXG4udWstb2ZmY2FudmFzLWJhciAudWstbGluay1oZWFkaW5nIGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnVrLWxpZ2h0IC51ay1oZWFkaW5nLWRpdmlkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWRpdmlkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWRpdmlkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLWRpdmlkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstaGVhZGluZy1kaXZpZGVyIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG4udWstbGlnaHQgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi51ay1saWdodCAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsXG4udWstbGlnaHQgLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOjphZnRlcixcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOjphZnRlcixcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaGVhZGluZy1saW5lID4gOjphZnRlcixcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi51ay1saWdodCAudWstZGl2aWRlci1pY29uLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb24sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb24sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci1pY29uLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kaXZpZGVyLWljb24sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItaWNvbiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kaXZpZGVyLWljb24sIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRpdmlkZXItaWNvbiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWRpdmlkZXItaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMiUyMiUyMGN4JTNEJTIyMTAlMjIlMjBjeSUzRCUyMjEwJTIyJTIwciUzRCUyMjclMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG59XG5cbi51ay1saWdodCAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4udWstbGlnaHQgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmFmdGVyLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmFmdGVyLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjphZnRlcixcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjphZnRlcixcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLWljb246OmFmdGVyLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZGl2aWRlci1pY29uOjphZnRlcixcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1kaXZpZGVyLWljb246OmFmdGVyLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi51ay1saWdodCAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi51ay1saWdodCAudWstZGl2aWRlci12ZXJ0aWNhbCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci12ZXJ0aWNhbCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLXZlcnRpY2FsLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLXZlcnRpY2FsLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItdmVydGljYWwsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLXZlcnRpY2FsLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kaXZpZGVyLXZlcnRpY2FsLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLXZlcnRpY2FsLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRpdmlkZXItdmVydGljYWwsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRpdmlkZXItdmVydGljYWwsIC51ay1vZmZjYW52YXMtYmFyIC51ay1kaXZpZGVyLXZlcnRpY2FsIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cblxuLnVrLWxpZ2h0IC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMiksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMiksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMiksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMiksIC51ay1vZmZjYW52YXMtYmFyIC51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cblxuLnVrLWxpZ2h0IC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCkge1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cblxuLnVrLWxpZ2h0IC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGlzdC1zdHJpcGVkID4gbGk6bnRoLW9mLXR5cGUob2RkKSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbi51ay1saWdodCAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNiUyMiUyMGhlaWdodCUzRCUyMjYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2JTIwNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xufVxuXG4udWstbGlnaHQgLnVrLWljb24tbGluaywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluaywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluaywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluaywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWxpbmssIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWxpbmssIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29uLWxpbmsge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWstbGlnaHQgLnVrLWljb24tbGluazpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluazpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWxpbms6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWxpbms6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29uLWxpbms6aG92ZXIsXG4udWstbGlnaHQgLnVrLWljb24tbGluazpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmZvY3VzLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1saW5rOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1saW5rOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29uLWxpbms6Zm9jdXMsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWxpbms6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstaWNvbi1saW5rOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1pY29uLWxpbms6YWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazphY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1saW5rOmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaWNvbi1saW5rOmFjdGl2ZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWljb24tbGluazphY3RpdmUsXG4udWstbGlnaHQgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYWN0aXZlID4gLnVrLWljb24tbGluayxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYWN0aXZlID4gLnVrLWljb24tbGluayxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYWN0aXZlID4gLnVrLWljb24tbGluayxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmsge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4udWstbGlnaHQgLnVrLWljb24tYnV0dG9uLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b24sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b24sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b24sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tYnV0dG9uLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWJ1dHRvbiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWljb24tYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWstbGlnaHQgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1pY29uLWJ1dHRvbjpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmZvY3VzLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbjpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tYnV0dG9uOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1idXR0b246Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb24tYnV0dG9uOmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaWNvbi1idXR0b246Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstaWNvbi1idXR0b246Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuMSk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51ay1saWdodCAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjphY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29uLWJ1dHRvbjphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29uLWJ1dHRvbjphY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjMwLCAyMzAsIDIzMCwgMC4xKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1pbnB1dCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pbnB1dCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaW5wdXQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pbnB1dCxcbi51ay1saWdodCAudWstc2VsZWN0LFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0LFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3QsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3QsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdCxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3QsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWxlY3QsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3QsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlbGVjdCxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlbGVjdCxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1zZWxlY3QsXG4udWstbGlnaHQgLnVrLXRleHRhcmVhLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWEsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWEsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHRhcmVhLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dGFyZWEsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYSxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dGFyZWEsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay10ZXh0YXJlYSxcbi51ay1vZmZjYW52YXMtYmFyIC51ay10ZXh0YXJlYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi51ay1saWdodCAudWstaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pbnB1dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaW5wdXQ6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWlucHV0OmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstaW5wdXQ6Zm9jdXMsXG4udWstbGlnaHQgLnVrLXNlbGVjdDpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0OmZvY3VzLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0OmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VsZWN0OmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VsZWN0OmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VsZWN0OmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWxlY3Q6Zm9jdXMsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWxlY3Q6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstc2VsZWN0OmZvY3VzLFxuLnVrLWxpZ2h0IC51ay10ZXh0YXJlYTpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOmZvY3VzLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWE6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhOmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dGFyZWE6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstdGV4dGFyZWE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4udWstbGlnaHQgLnVrLWlucHV0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgIWltcG9ydGFudDtcbn1cblxuLnVrLWxpZ2h0IC51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLnVrLWxpZ2h0IC51ay10ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHRhcmVhOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHRhcmVhOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHRhcmVhOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dGFyZWE6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRleHRhcmVhOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG59XG5cbi51ay1saWdodCAudWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi51ay1saWdodCAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay1vZmZjYW52YXMtYmFyIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyklMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMyUyMDklMjA4JTIwMTUlMjA4JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpO1xufVxuXG4udWstbGlnaHQgLnVrLWlucHV0W2xpc3RdOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dFtsaXN0XTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dFtsaXN0XTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXRbbGlzdF06aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXRbbGlzdF06aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dFtsaXN0XTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaW5wdXRbbGlzdF06aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0W2xpc3RdOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0W2xpc3RdOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pbnB1dFtsaXN0XTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWlucHV0W2xpc3RdOmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1pbnB1dFtsaXN0XTpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0W2xpc3RdOmZvY3VzLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dFtsaXN0XTpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0W2xpc3RdOmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dFtsaXN0XTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dFtsaXN0XTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0W2xpc3RdOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXRbbGlzdF06Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWlucHV0W2xpc3RdOmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaW5wdXRbbGlzdF06Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstaW5wdXRbbGlzdF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTIlMjA4JTIwNiUyMDE2JTIwNiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTtcbn1cblxuLnVrLWxpZ2h0IC51ay1yYWRpbywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW8sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW8sIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcmFkaW8sIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1yYWRpbywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcmFkaW8sIC51ay1vZmZjYW52YXMtYmFyIC51ay1yYWRpbyxcbi51ay1saWdodCAudWstY2hlY2tib3gsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveCxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3gsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveCxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3gsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3gsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveCxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94LFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveCxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNoZWNrYm94LFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWNoZWNrYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDIsIDI0MiwgMjQyLCAwLjEpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cblxuLnVrLWxpZ2h0IC51ay1yYWRpbzpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcmFkaW86Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1yYWRpbzpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcmFkaW86Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1yYWRpbzpmb2N1cyxcbi51ay1saWdodCAudWstY2hlY2tib3g6Zm9jdXMsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Zm9jdXMsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpmb2N1cyxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDpmb2N1cyxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNoZWNrYm94OmZvY3VzLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWNoZWNrYm94OmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51ay1saWdodCAudWstcmFkaW86Y2hlY2tlZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1yYWRpbzpjaGVja2VkLFxuLnVrLWxpZ2h0IC51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLWxpZ2h0IC51ay1jaGVja2JveDppbmRldGVybWluYXRlLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51ay1saWdodCAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuLnVrLWxpZ2h0IC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLWxpZ2h0IC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbn1cblxuLnVrLWxpZ2h0IC51ay1yYWRpbzpjaGVja2VkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXJhZGlvOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7XG59XG5cblxuLnVrLWxpZ2h0IC51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1jaGVja2JveDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG59XG5cblxuLnVrLWxpZ2h0IC51ay1jaGVja2JveDppbmRldGVybWluYXRlLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7XG59XG5cbi51ay1saWdodCAudWstZm9ybS1sYWJlbCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZm9ybS1sYWJlbCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWxhYmVsLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWxhYmVsLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWZvcm0tbGFiZWwsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1mb3JtLWxhYmVsLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1mb3JtLWxhYmVsLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1mb3JtLWxhYmVsLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWZvcm0tbGFiZWwsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWZvcm0tbGFiZWwsIC51ay1vZmZjYW52YXMtYmFyIC51ay1mb3JtLWxhYmVsIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi51ay1saWdodCAudWstZm9ybS1pY29uLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWljb24sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZm9ybS1pY29uLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWljb24sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZm9ybS1pY29uLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZm9ybS1pY29uLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1mb3JtLWljb24sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWZvcm0taWNvbiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1mb3JtLWljb24sIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWZvcm0taWNvbiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWZvcm0taWNvbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi51ay1saWdodCAudWstZm9ybS1pY29uOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWljb246aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZm9ybS1pY29uOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWljb246aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZm9ybS1pY29uOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZm9ybS1pY29uOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1mb3JtLWljb246aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWZvcm0taWNvbjpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1mb3JtLWljb246aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWZvcm0taWNvbjpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWZvcm0taWNvbjpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51ay1saWdodCAudWstYnV0dG9uLWRlZmF1bHQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tZGVmYXVsdCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWRlZmF1bHQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4udWstbGlnaHQgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1idXR0b24tZGVmYXVsdDpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdDpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbn1cblxuLnVrLWxpZ2h0IC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuLnVrLWxpZ2h0IC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuXG4udWstbGlnaHQgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnksIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnksIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tcHJpbWFyeSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi51ay1saWdodCAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4udWstbGlnaHQgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeTpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tcHJpbWFyeTpmb2N1cyxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tcHJpbWFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4udWstbGlnaHQgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4udWstbGlnaHQgLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsXG4udWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi51ay1saWdodCAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi51ay1saWdodCAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi51ay1saWdodCAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4udWstbGlnaHQgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4udWstbGlnaHQgLnVrLWJ1dHRvbi10ZXh0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tdGV4dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXRleHQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi10ZXh0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi10ZXh0LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tdGV4dCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi10ZXh0IHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi51ay1saWdodCAudWstYnV0dG9uLXRleHQ6OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tdGV4dDo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dDo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tdGV4dDo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi10ZXh0OjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi10ZXh0OjpiZWZvcmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tdGV4dDo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbn1cblxuLnVrLWxpZ2h0IC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tdGV4dDpob3Zlcixcbi51ay1saWdodCAudWstYnV0dG9uLXRleHQ6Zm9jdXMsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6Zm9jdXMsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpmb2N1cyxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dDpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dDpmb2N1cyxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi51ay1saWdodCAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWstbGlnaHQgLnVrLWJ1dHRvbi1saW5rLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluaywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluaywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWxpbmssIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWxpbmssIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tbGluaywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnV0dG9uLWxpbmssIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1saW5rLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1saW5rLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tbGluaywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1saW5rIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1idXR0b24tbGluazpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWxpbms6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWxpbms6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWxpbms6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tbGluazpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tbGluazpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLWxpbms6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tbGluazpob3Zlcixcbi51ay1saWdodCAudWstYnV0dG9uLWxpbms6Zm9jdXMsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluazpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWxpbms6Zm9jdXMsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluazpmb2N1cyxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWxpbms6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWxpbms6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tbGluazpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1saW5rOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1idXR0b24tbGluazpmb2N1cyxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1saW5rOmZvY3VzLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1saW5rOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cblxuLnVrLWxpZ2h0IC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi51ay1saWdodCAudWstY2xvc2UsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNsb3NlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jbG9zZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2xvc2UsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2xvc2UsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNsb3NlLCAudWstb2ZmY2FudmFzLWJhciAudWstY2xvc2Uge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWstbGlnaHQgLnVrLWNsb3NlOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jbG9zZTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY2xvc2U6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNsb3NlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNsb3NlOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1jbG9zZTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWNsb3NlOmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1jbG9zZTpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlOmZvY3VzLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlOmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jbG9zZTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNsb3NlOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2xvc2U6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWNsb3NlOmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2xvc2U6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstY2xvc2U6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4udWstbGlnaHQgLnVrLXRvdG9wLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3AsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3AsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10b3RvcCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdG90b3AsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRvdG9wLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRvdG9wLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10b3RvcCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRvdG9wIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLnVrLWxpZ2h0IC51ay10b3RvcDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3A6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRvdG9wOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10b3RvcDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10b3RvcDpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdG90b3A6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay10b3RvcDpob3Zlcixcbi51ay1saWdodCAudWstdG90b3A6Zm9jdXMsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcDpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6Zm9jdXMsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcDpmb2N1cyxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3A6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10b3RvcDpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRvdG9wOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10b3RvcDpmb2N1cyxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRvdG9wOmZvY3VzLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRvdG9wOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay10b3RvcDphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcDphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcDphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10b3RvcDphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3A6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdG90b3A6YWN0aXZlLCAudWstb2ZmY2FudmFzLWJhciAudWstdG90b3A6YWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi51ay1saWdodCAudWstYmFkZ2UsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJhZGdlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1iYWRnZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYmFkZ2UsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYmFkZ2UsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJhZGdlLCAudWstb2ZmY2FudmFzLWJhciAudWstYmFkZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzY2Njtcbn1cblxuLnVrLWxpZ2h0IC51ay1iYWRnZTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2U6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2U6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYmFkZ2U6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJhZGdlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1iYWRnZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1iYWRnZTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYmFkZ2U6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1iYWRnZTpob3Zlcixcbi51ay1saWdodCAudWstYmFkZ2U6Zm9jdXMsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZTpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2U6Zm9jdXMsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1iYWRnZTpmb2N1cyxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2U6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYmFkZ2U6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1iYWRnZTpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJhZGdlOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1iYWRnZTpmb2N1cyxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJhZGdlOmZvY3VzLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJhZGdlOmZvY3VzIHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi51ay1saWdodCAudWstbGFiZWwsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxhYmVsLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxhYmVsLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sYWJlbCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sYWJlbCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxhYmVsLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sYWJlbCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGFiZWwsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbGFiZWwsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxhYmVsLCAudWstb2ZmY2FudmFzLWJhciAudWstbGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzY2Njtcbn1cblxuLnVrLWxpZ2h0IC51ay1hcnRpY2xlLW1ldGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFydGljbGUtbWV0YSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hcnRpY2xlLW1ldGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFydGljbGUtbWV0YSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hcnRpY2xlLW1ldGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1hcnRpY2xlLW1ldGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWFydGljbGUtbWV0YSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYXJ0aWNsZS1tZXRhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWFydGljbGUtbWV0YSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYXJ0aWNsZS1tZXRhLCAudWstb2ZmY2FudmFzLWJhciAudWstYXJ0aWNsZS1tZXRhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLWlucHV0LCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG59XG5cbi51ay1saWdodCAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWstbGlnaHQgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi51ay1saWdodCAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG4udWstbGlnaHQgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4udWstbGlnaHQgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnVrLWxpZ2h0IC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4udWstbGlnaHQgLnVrLXNlYXJjaC10b2dnbGUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtdG9nZ2xlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtdG9nZ2xlLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoLXRvZ2dsZSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi51ay1saWdodCAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLXRvZ2dsZTpmb2N1cyxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1zZWFyY2gtdG9nZ2xlOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjEwJTIwMSUyMDQlMjA3JTIwMTAlMjAxMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbn1cblxuLnVrLWxpZ2h0IC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQudWstb3BlbiA+IGE6OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyklMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbn1cblxuLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi51ay1saWdodCAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4udWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cyxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cyB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51ay1saWdodCAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi51ay1saWdodCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cblxuLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1saWdodCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cyxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpmb2N1cyB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51ay1saWdodCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi51ay1saWdodCAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4udWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnVrLWxpZ2h0IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4udWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi51ay1saWdodCAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuLnVrLWxpZ2h0IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLWxpZ2h0IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4sXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4sXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3Blbixcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3Blbixcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3Blbixcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3Blbixcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3Blbixcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2YmFyLW5hdiA+IGxpID4gYS51ay1vcGVuLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51ay1saWdodCAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnVrLWxpZ2h0IC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udWstbGlnaHQgLnVrLW5hdmJhci1pdGVtLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItaXRlbSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItaXRlbSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLWl0ZW0sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLWl0ZW0sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItaXRlbSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLWl0ZW0sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1pdGVtLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci1pdGVtLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItaXRlbSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdmJhci1pdGVtIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1uYXZiYXItdG9nZ2xlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci10b2dnbGUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci10b2dnbGUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci10b2dnbGUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdmJhci10b2dnbGUge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWstbGlnaHQgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2YmFyLXRvZ2dsZTpob3Zlcixcbi51ay1saWdodCAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstbmF2YmFyLXRvZ2dsZTpmb2N1cyxcbi51ay1saWdodCAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGUudWstb3Blbixcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4sXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLW5hdmJhci10b2dnbGUudWstb3Blbixcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci10b2dnbGUudWstb3Blbixcbi51ay1vZmZjYW52YXMtYmFyIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4udWstbGlnaHQgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstb2ZmY2FudmFzLWJhciAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi51ay1saWdodCAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4udWstbGlnaHQgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gKiA+IGE6Zm9jdXMsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cyxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1zdWJuYXYgPiAqID4gYTpmb2N1cyB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51ay1saWdodCAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnVrLWxpZ2h0IC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi51ay1saWdodCAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWstbGlnaHQgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3Zlcixcbi51ay1saWdodCAudWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzY2Njtcbn1cblxuLnVrLWxpZ2h0IC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWstbGlnaHQgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gKiA+ICosIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1icmVhZGNydW1iID4gKiA+ICosIC51ay1vZmZjYW52YXMtYmFyIC51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWstbGlnaHQgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gKiA+IDpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4udWstbGlnaHQgLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstb2ZmY2FudmFzLWJhciAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51ay1saWdodCAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+ICogPiAqLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcGFnaW5hdGlvbiA+ICogPiAqLCAudWstb2ZmY2FudmFzLWJhciAudWstcGFnaW5hdGlvbiA+ICogPiAqIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3Zlcixcbi51ay1saWdodCAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1wYWdpbmF0aW9uID4gKiA+IDpmb2N1cyxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstb2ZmY2FudmFzLWJhciAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay1vZmZjYW52YXMtYmFyIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi51ay1saWdodCAudWstdGFiOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYjo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYjo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWI6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWI6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYjo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWI6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRhYjo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstdGFiOjpiZWZvcmUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cblxuLnVrLWxpZ2h0IC51ay10YWIgPiAqID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gKiA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRhYiA+ICogPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10YWIgPiAqID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAqID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGFiID4gKiA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay10YWIgPiAqID4gYSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi51ay1saWdodCAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstdGFiID4gKiA+IGE6aG92ZXIsXG4udWstbGlnaHQgLnVrLXRhYiA+ICogPiBhOmZvY3VzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGE6Zm9jdXMsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmZvY3VzLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGE6Zm9jdXMsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+ICogPiBhOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gKiA+IGE6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10YWIgPiAqID4gYTpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gKiA+IGE6Zm9jdXMsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay10YWIgPiAqID4gYTpmb2N1cyxcbi51ay1vZmZjYW52YXMtYmFyIC51ay10YWIgPiAqID4gYTpmb2N1cyB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51ay1saWdodCAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuXG4udWstbGlnaHQgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi51ay1saWdodCAudWstc2xpZGVuYXYsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNsaWRlbmF2LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1zbGlkZW5hdiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2xpZGVuYXYsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2xpZGVuYXYsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNsaWRlbmF2LCAudWstb2ZmY2FudmFzLWJhciAudWstc2xpZGVuYXYge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4udWstbGlnaHQgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNsaWRlbmF2OmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1zbGlkZW5hdjpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmZvY3VzLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdjpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNsaWRlbmF2OmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2xpZGVuYXY6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNsaWRlbmF2OmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2xpZGVuYXY6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstc2xpZGVuYXY6Zm9jdXMge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1zbGlkZW5hdjphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdjphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdjphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstb2ZmY2FudmFzLWJhciAudWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZG90bmF2ID4gKiA+ICosIC51ay1vZmZjYW52YXMtYmFyIC51ay1kb3RuYXYgPiAqID4gKiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsXG4udWstbGlnaHQgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDpmb2N1cyxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZG90bmF2ID4gKiA+IDpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1kb3RuYXYgPiAqID4gOmZvY3VzLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi51ay1saWdodCAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstb2ZmY2FudmFzLWJhciAudWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi51ay1saWdodCAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstb2ZmY2FudmFzLWJhciAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi51ay1saWdodCAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMyUyMDEzJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwd2lkdGglM0QlMjIxJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB4JTNEJTIyNiUyMiUyMHklM0QlMjIwJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xufVxuXG4udWstbGlnaHQgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xufVxuXG4udWstbGlnaHQgLnVrLWljb25uYXYgPiAqID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb25uYXYgPiAqID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+ICogPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gKiA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+ICogPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29ubmF2ID4gKiA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29ubmF2ID4gKiA+IGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4udWstbGlnaHQgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsXG4udWstbGlnaHQgLnVrLWljb25uYXYgPiAqID4gYTpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYTpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gKiA+IGE6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1pY29ubmF2ID4gKiA+IGE6Zm9jdXMsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29ubmF2ID4gKiA+IGE6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay10ZXh0LWxlYWQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbGVhZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LWxlYWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbGVhZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LWxlYWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LWxlYWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtbGVhZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1sZWFkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtbGVhZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dC1sZWFkLCAudWstb2ZmY2FudmFzLWJhciAudWstdGV4dC1sZWFkIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay10ZXh0LW1ldGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbWV0YSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LW1ldGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbWV0YSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LW1ldGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LW1ldGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtbWV0YSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1tZXRhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtbWV0YSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dC1tZXRhLCAudWstb2ZmY2FudmFzLWJhciAudWstdGV4dC1tZXRhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLnVrLWxpZ2h0IC51ay10ZXh0LW11dGVkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LW11dGVkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbXV0ZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbXV0ZWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tdXRlZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtbXV0ZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtbXV0ZWQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtbXV0ZWQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstdGV4dC1tdXRlZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dC1tdXRlZCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRleHQtbXV0ZWQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG59XG5cbi51ay1saWdodCAudWstdGV4dC1lbXBoYXNpcywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1lbXBoYXNpcywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LWVtcGhhc2lzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LWVtcGhhc2lzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtZW1waGFzaXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LWVtcGhhc2lzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0LWVtcGhhc2lzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LWVtcGhhc2lzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtZW1waGFzaXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRleHQtZW1waGFzaXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay10ZXh0LWVtcGhhc2lzIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLnVrLWxpZ2h0IC51ay10ZXh0LXByaW1hcnksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtcHJpbWFyeSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LXByaW1hcnksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtcHJpbWFyeSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LXByaW1hcnksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LXByaW1hcnksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtcHJpbWFyeSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1wcmltYXJ5LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtcHJpbWFyeSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dC1wcmltYXJ5LCAudWstb2ZmY2FudmFzLWJhciAudWstdGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLnVrLWxpZ2h0IC51ay10ZXh0LXNlY29uZGFyeSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1zZWNvbmRhcnksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1zZWNvbmRhcnksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtc2Vjb25kYXJ5LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtc2Vjb25kYXJ5LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1zZWNvbmRhcnksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLXRleHQtc2Vjb25kYXJ5LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LXNlY29uZGFyeSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay10ZXh0LXNlY29uZGFyeSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dC1zZWNvbmRhcnksIC51ay1vZmZjYW52YXMtYmFyIC51ay10ZXh0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi51ay1saWdodCAudWstY29sdW1uLWRpdmlkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY29sdW1uLWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstY29sdW1uLWRpdmlkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstY29sdW1uLWRpdmlkZXIge1xuICBjb2x1bW4tcnVsZS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG4udWstbGlnaHQgLnVrLWxvZ28sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSAudWstbG9nbywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1sb2dvLCAudWstb2ZmY2FudmFzLWJhciAudWstbG9nbyB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi51ay1saWdodCAudWstbG9nbzpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1sb2dvOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1sb2dvOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ286aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxvZ286aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1sb2dvOmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1sb2dvOmZvY3VzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286Zm9jdXMsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbzpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ286Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1sb2dvOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIC51ay1sb2dvOmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbG9nbzpmb2N1cyxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1sb2dvOmZvY3VzIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLnVrLWxpZ2h0IC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ28gPiA6bm90KC51ay1sb2dvLWludmVyc2UpOm5vdCg6b25seS1vZi10eXBlKSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpLCAudWstb2ZmY2FudmFzLWJhciAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVrLWxpZ2h0IC51ay1sb2dvLWludmVyc2UsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28taW52ZXJzZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvLWludmVyc2UsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28taW52ZXJzZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvLWludmVyc2UsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1sb2dvLWludmVyc2UsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ28taW52ZXJzZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nby1pbnZlcnNlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgLnVrLWxvZ28taW52ZXJzZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbG9nby1pbnZlcnNlLCAudWstb2ZmY2FudmFzLWJhciAudWstbG9nby1pbnZlcnNlIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJpbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbn1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogNjIuNSU7XG4gIC8qIDFlbSA9IDEwcHggKi9cbn1cblxuaHRtbCAqLFxuaHRtbCAqOmJlZm9yZSxcbmh0bWwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbmJvZHkge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICBib2R5IHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgfVxufVxuXG4uc2tpcC1saW5rIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5cHg7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICB0b3A6IGF1dG87XG59XG5cbi5za2lwLWxpbms6Zm9jdXMge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDUwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgbWFpbiB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIH1cbn1cblxuLmNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWF4LXdpZHRoOiAxNjQwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogODUlO1xuICB9XG59XG5cbnNlY3Rpb24ucm93IHtcbiAgcGFkZGluZzogNjBweCAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgc2VjdGlvbi5yb3cge1xuICAgIHBhZGRpbmc6IDEyMHB4IDA7XG4gIH1cbn1cblxuc2VjdGlvbi5yb3cgKyAucm93IHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbnNlY3Rpb24uYmctZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7XG59XG5cbnNlY3Rpb24gYXJ0aWNsZSB7XG4gIHBhZGRpbmc6IDMwcHggMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIHNlY3Rpb24gYXJ0aWNsZSB7XG4gICAgcGFkZGluZzogNjBweCAwO1xuICAgIHNjcm9sbC1tYXJnaW4tdG9wOiAtMTBweDtcbiAgfVxufVxuXG5zZWN0aW9uIGFydGljbGU6bGFzdC1vZi10eXBlIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxudWwsXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuYnV0dG9uIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xufVxuXG4uaW1nLWJvcmRlcmVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q1ZDVkNTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmltZy1yb3VuZGVkLWJvcmRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnNjcm9sbC10b3Age1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNjcm9sbC10b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDRweDtcbiAgICBib3R0b206IDE0M3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyNGI4ZjE7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGhlaWdodDogNDJweDtcbiAgfVxuICAuc2Nyb2xsLXRvcCBzdmcge1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBmaWxsOiAjMjRiOGYxO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIH1cbiAgLnNjcm9sbC10b3A6aG92ZXIsIC5zY3JvbGwtdG9wOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDcxYmE7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgfVxuICAuc2Nyb2xsLXRvcDpob3ZlciBzdmcsIC5zY3JvbGwtdG9wOmZvY3VzIHN2ZyB7XG4gICAgZmlsbDogIzAwNzFiYTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNjcm9sbC10b3Age1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICByaWdodDogMjFweDtcbiAgICBib3R0b206IDcwcHg7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAuc2Nyb2xsLXRvcCB7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIHJpZ2h0OiAzMHB4O1xuICB9XG4gIC5zY3JvbGwtdG9wIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICB9XG59XG5cbi5hbHQtYmcsIC5hbHQtYmctYmx1ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmFsdC1iZzo6YWZ0ZXIsIC5hbHQtYmctYmx1ZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAtMjBweDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAtMTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hbHQtYmc6OmFmdGVyLCAuYWx0LWJnLWJsdWU6OmFmdGVyIHtcbiAgICBsZWZ0OiAtNDAuNyU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYWx0LWJnOjphZnRlciwgLmFsdC1iZy1ibHVlOjphZnRlciB7XG4gICAgd2lkdGg6IDE1MHZ3O1xuICAgIGxlZnQ6IC01MHZ3O1xuICB9XG59XG5cbi5hbHQtYmctYmx1ZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyMSwgMjMyLCAyMzgsIDAuNSk7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIlBvcHBpbnNcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5kb3R0ZWQtdGl0bGU6OmFmdGVyIHtcbiAgY29udGVudDogJy4nO1xuICBjb2xvcjogIzAwNzFiYTtcbn1cblxuaDIsIC51ay1oMiB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGgyLCAudWstaDIge1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuaDIgKyBwLFxuLnVrLWgyICsgcCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbmgzLCAudWstaDMge1xuICBmb250LXNpemU6IDJyZW07XG4gIGNvbG9yOiAjNmE3YThhO1xuICBtYXJnaW46IDI1cHggMCAxMnB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGgzLCAudWstaDMge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICB9XG59XG5cbnAge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY29sb3I6ICMzMjNkM2U7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgcCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICBwIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgfVxufVxuXG4udWstdGV4dC1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuXG4ucm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuLnJvdy1sZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnJvdy1sZyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAucm93LWxnICsgLnJvdy1sZyB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gIH1cbn1cblxuLmNvbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMzMzMlO1xufVxuXG4uY29sLTIge1xuICB3aWR0aDogMTYuNjY2NjY3JTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb2wtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMyU7XG4gIH1cbn1cblxuLmNvbC1sZy00IHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29sLWxnLTQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi5jb2wtNSB7XG4gIHdpZHRoOiA0MS42NjY2NjclO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNvbC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi5jb2wtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMzMlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2wtbGctOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NyU7XG4gIH1cbn1cblxuLmNvbC1sZy04IGgyLCAuY29sLWxnLTggaDMge1xuICBtYXJnaW46IDAgMCAxNXB4O1xufVxuXG4uY29sLWxnLTggaW1nIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb2wtbGctOCBpbWcge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb2wtbGctOCAuY29sLTY6Zmlyc3QtY2hpbGQgaW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb2wtOSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuXG4uY29sLWxnLTEwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbC1sZy0xMCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzJTtcbiAgfVxufVxuXG4uY29sLWxnLTExIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbC1sZy0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NyU7XG4gIH1cbn1cblxuLmNvbC0xMiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaGFzLXJpZ2h0LW5hdiB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhhcy1yaWdodC1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbn1cblxuLmhhcy1yaWdodC1uYXYgLnNpZGUtbmF2IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oYXMtcmlnaHQtbmF2IC5zaWRlLW5hdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzMzMzJTtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhhcy1yaWdodC1uYXYgLmNvbnRlbnQge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cblxuLmhhcy1yaWdodC1uYXYgLmNvbnRlbnQgLmNvbC1sZy0xMCB7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAuaGFzLXJpZ2h0LW5hdiAuY29udGVudCAuY29sLWxnLTEwIHtcbiAgICBtYXJnaW46IDAgLTguMzMzMzMzMzMlO1xuICB9XG59XG5cbmhlYWRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAxMTtcbn1cblxuaGVhZGVyID4gLmNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmJ0bi5idG4tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyM3B4O1xuICByaWdodDogMjBweDtcbiAgei1pbmRleDogNTtcbiAgcGFkZGluZzogMTBweCA1cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuYnRuLmJ0bi1tZW51IHtcbiAgICBwYWRkaW5nOiAyMHB4IDE1cHg7XG4gICAgdG9wOiA1N3B4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYnRuLmJ0bi1tZW51IHtcbiAgICBwYWRkaW5nOiAxMHB4IDIycHg7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYnRuLmJ0bi1tZW51IHtcbiAgICB0b3A6IDYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAuYnRuLmJ0bi1tZW51IHtcbiAgICBwYWRkaW5nOiAxOHB4IDMwcHg7XG4gICAgdG9wOiA2MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAuYnRuLmJ0bi1tZW51IC5tZW51LWxhYmVsIHtcbiAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxufVxuXG4uYnVyZ2VyIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5idXJnZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG59XG5cbi5idXJnZXIgLmJ1cmdlci10b2dnbGUtaW5uZXIsXG4uYnVyZ2VyIC5idXJnZXItdG9nZ2xlLWlubmVyOmFmdGVyLFxuLmJ1cmdlciAuYnVyZ2VyLXRvZ2dsZS1pbm5lcjpiZWZvcmUge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5idXJnZXIgLmJ1cmdlci10b2dnbGUtaW5uZXIsXG4gIC5idXJnZXIgLmJ1cmdlci10b2dnbGUtaW5uZXI6YWZ0ZXIsXG4gIC5idXJnZXIgLmJ1cmdlci10b2dnbGUtaW5uZXI6YmVmb3JlIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgfVxufVxuXG4uYnVyZ2VyIC5idXJnZXItdG9nZ2xlLWlubmVyIHtcbiAgbGVmdDogNnB4O1xuICBib3R0b206IDNweDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xM3M7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMTNzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG59XG5cbi5idXJnZXIgLmJ1cmdlci10b2dnbGUtaW5uZXI6OmJlZm9yZSwgLmJ1cmdlciAuYnVyZ2VyLXRvZ2dsZS1pbm5lcjo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29udGVudDogJyc7XG59XG5cbi5idXJnZXIgLmJ1cmdlci10b2dnbGUtaW5uZXI6OmJlZm9yZSB7XG4gIHRvcDogLTZweDtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMTJzIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAuNjY2NjcsIDAuNjY2NjcsIDEpLCB0cmFuc2Zvcm0gMC4xM3MgY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG59XG5cbi5idXJnZXIgLmJ1cmdlci10b2dnbGUtaW5uZXI6OmFmdGVyIHtcbiAgYm90dG9tOiAtMTBweDtcbiAgdG9wOiAtMTJweDtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuYnVyZ2VyIC5idXJnZXItdG9nZ2xlLWlubmVyIHtcbiAgICBsZWZ0OiAycHg7XG4gICAgYm90dG9tOiAwO1xuICB9XG4gIC5idXJnZXIgLmJ1cmdlci10b2dnbGUtaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAtOXB4O1xuICB9XG4gIC5idXJnZXIgLmJ1cmdlci10b2dnbGUtaW5uZXI6OmFmdGVyIHtcbiAgICB0b3A6IC0xN3B4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYnVyZ2VyIC5idXJnZXItdG9nZ2xlLWlubmVyIHtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbi5idG4tbWVudS5pcy1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmJ0bi1tZW51LmlzLWFjdGl2ZTpob3ZlciwgLmJ0bi1tZW51LmlzLWFjdGl2ZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uYnRuLW1lbnUuaXMtYWN0aXZlIC5idXJnZXItdG9nZ2xlLWlubmVyLFxuLmJ0bi1tZW51LmlzLWFjdGl2ZSAuYnVyZ2VyLXRvZ2dsZS1pbm5lcjphZnRlcixcbi5idG4tbWVudS5pcy1hY3RpdmUgLmJ1cmdlci10b2dnbGUtaW5uZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzZhN2E4YTtcbn1cblxuLmJ0bi1tZW51LmlzLWFjdGl2ZSAuYnVyZ2VyLXRvZ2dsZS1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjIycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4uYnRuLW1lbnUuaXMtYWN0aXZlIC5idXJnZXItdG9nZ2xlLWlubmVyOjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIHRyYW5zaXRpb246IHRvcCAwLjFzIDAuMTZzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLCAwLjY2NjY3LCAwLjMzMzMzKSwgdHJhbnNmb3JtIDAuMTNzIDAuMjVzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4uYnRuLW1lbnUuaXMtYWN0aXZlIC5idXJnZXItdG9nZ2xlLWlubmVyOjphZnRlciB7XG4gIHRvcDogMDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLCBvcGFjaXR5IDAuMXMgMC4yMnMgbGluZWFyO1xufVxuXG4jbW9kYWxNZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuI21vZGFsTWVudSAudWstbW9kYWwtZGlhbG9nIHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5tYWluLW1lbnUgLmNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIC5tYWluLW1lbnUgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEyMHB4O1xuICB9XG59XG5cbi5tYWluLW1lbnUgLmxvZ28ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1haW4tbWVudSAubG9nbyB7XG4gICAgd2lkdGg6IDU1cHg7XG4gICAgaGVpZ2h0OiA1NXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDQ4cHg7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC5tYWluLW1lbnUgLmxvZ28ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuLm1haW4tbWVudSAubWVudS1zZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFpbi1tZW51IC5tZW51LXNlY3Rpb24ge1xuICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMzMzMyU7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxuICAubWFpbi1tZW51IC5tZW51LXNlY3Rpb246bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogODBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC5tYWluLW1lbnUgLm1lbnUtc2VjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAxMjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYWluLW1lbnUgLm1lbnUtc2VjdGlvbjpsYXN0LWNoaWxkIC5tZW51LWdyb3VwLWxpc3Qge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgLm1haW4tbWVudSAubWVudS1zZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMnB4O1xuICB9XG59XG5cbi5tYWluLW1lbnUgLm1lbnUtc2VjdGlvbi1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzZhN2E4YTtcbn1cblxuLm1haW4tbWVudSAubWVudS1zZWN0aW9uLXRpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgY29sb3I6ICMzMjNkM2U7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1haW4tbWVudSAubWVudS1zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG59XG5cbi5tYWluLW1lbnUgLm1lbnUtc2VjdGlvbiAubWVudS1saXN0LWNvbnRhaW5lciA+IC5tZW51LWdyb3VwLWxpc3Q6Zmlyc3Qtb2YtdHlwZSA+IC5tZW51LWxpc3QtdGl0bGUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q1ZDVkNTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYWluLW1lbnUgLm1lbnUtc2VjdGlvbiAubWVudS1saXN0LWNvbnRhaW5lciA+IC5tZW51LWdyb3VwLWxpc3Q6Zmlyc3Qtb2YtdHlwZSA+IC5tZW51LWxpc3QtdGl0bGUge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYWluLW1lbnUgLm1lbnUtc2VjdGlvbiAubWVudS1saXN0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYWluLW1lbnUgLm1lbnUtc2VjdGlvbiAubWVudS1ncm91cC1saXN0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gNCk7XG4gICAgcGFkZGluZzogNXB4IDIwcHggMCAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1haW4tbWVudSAubWVudS1zZWN0aW9uIC5tZW51LWdyb3VwLWxpc3Qge1xuICAgIHdpZHRoOiAxNi42NjY2JTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIC5tYWluLW1lbnUgLm1lbnUtc2VjdGlvbiAubWVudS1ncm91cC1saXN0IHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxufVxuXG4ubWFpbi1tZW51IC5tZW51LWxpc3Qge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1haW4tbWVudSAubWVudS1saXN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4ubWFpbi1tZW51IC5tZW51LWxpc3QtdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNWQ1ZDU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFpbi1tZW51IC5tZW51LWxpc3QtdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICB9XG59XG5cbi5tYWluLW1lbnUgLm1lbnUtbGlzdC10aXRsZSBoMyB7XG4gIGNvbG9yOiAjMzIzZDNlO1xuICBmb250LXNpemU6IDEuN3JlbTtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubWFpbi1tZW51IC5tZW51LWxpc3QtdGl0bGU6aG92ZXIgaDMsIC5tYWluLW1lbnUgLm1lbnUtbGlzdC10aXRsZTpmb2N1cyBoMyB7XG4gIGNvbG9yOiAjMDA3MWJhO1xufVxuXG4ubWFpbi1tZW51IC5tZW51LWxpc3QtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFpbi1tZW51IC5tZW51LWxpc3QtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgLm1haW4tbWVudSAubWVudS1saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuLm1haW4tbWVudSAubWVudS1saXN0LWxpbmsge1xuICBjb2xvcjogIzMyM2QzZTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFpbi1tZW51IC5tZW51LWxpc3QtbGluayB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAubWFpbi1tZW51IC5tZW51LWxpc3QtbGluayB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuLm1haW4tbWVudSAubWVudS1leHRyYS1saW5rIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5tYWluLW1lbnUgLm1lbnUtZXh0cmEtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1haW4tbWVudSAubWVudS1leHRyYS1saW5rIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5cbi5tYWluLW1lbnUgLm1lbnUtZXh0cmEtbGluayAubGluayB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAubWFpbi1tZW51IC5tZW51LWV4dHJhLWxpbmsgLmxpbmsge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYWluLW1lbnUgLm1lbnUtZXh0cmEtbGluayAubGluayB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFpbi1tZW51IC5tZW51LWV4dHJhLWxpbmsgLmxpbmsge1xuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc2lkZS1uYXYtbGlzdCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDQ0cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxuLnNpZGUtbmF2LWxpc3QgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwcHggMzBweCAxMHB4IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgLnNpZGUtbmF2LWxpc3QgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM2cHg7XG4gIH1cbn1cblxuLnNpZGUtbmF2LWxpc3QgbGk6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE4cHg7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogN3B4O1xuICBoZWlnaHQ6IDdweDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkZThlZTtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAuc2lkZS1uYXYtbGlzdCBsaTo6YWZ0ZXIge1xuICAgIHRvcDogMTkuNXB4O1xuICB9XG59XG5cbi5zaWRlLW5hdi1saXN0IGxpIGEge1xuICBjb2xvcjogIzMyM2QzZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbn1cblxuLnNpZGUtbmF2LWxpc3QgbGkudWstYWN0aXZlOjphZnRlciB7XG4gIHRvcDogMTdweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzFiYTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAuc2lkZS1uYXYtbGlzdCBsaS51ay1hY3RpdmU6OmFmdGVyIHtcbiAgICB0b3A6IDE4cHg7XG4gIH1cbn1cblxuLnNpZGUtbmF2LWxpc3QgbGkudWstYWN0aXZlIGEge1xuICBjb2xvcjogIzAwNzFiYTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5mb290ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRlOGVlO1xuICBjb2xvcjogIzZhN2E4YTtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIHBhZGRpbmc6IDMwcHggMCAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgfVxuICAuZm9vdGVyIC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi5mb290ZXItbG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTkwcHg7XG4gIGhlaWdodDogNDJweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyLWxvZ28ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAuZm9vdGVyLWxvZ28ge1xuICAgIHdpZHRoOiAyOTBweDtcbiAgICBoZWlnaHQ6IDYycHg7XG4gIH1cbn1cblxuLmZvb3Rlci1sb2dvIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmZvb3RlciAuYnRuIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZm9vdGVyIC5idG4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLmZvb3RlciAuYnRuIC5pY29uLWxlZnQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5mb290ZXIgLmJ0biAuaWNvbi1yaWdodCB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG59XG5cbi5mb290ZXIgLmJ0biAuaWNvbi1yaWdodCBzdmcge1xuICBmaWxsOiAjZmZmZmZmO1xufVxuXG4uZm9vdGVyIC5jb3B5cmlnaHQge1xuICBtYXJnaW46IDI1cHggMCAwO1xuICBmb250LXNpemU6IDEuM3JlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAuZm9vdGVyIC5jb3B5cmlnaHQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAudmVydGljYWwtYWxpZ24ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cblxuLmludHJvIHtcbiAgbWF4LXdpZHRoOiA5MCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuaW50cm8ge1xuICAgIG1heC13aWR0aDogNTM1cHg7XG4gIH1cbiAgLmludHJvIC52ZXJ0aWNhbC1hbGlnbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbi5pbnRybyBwIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS45ZW07XG59XG5cbi5pbnRybyBwICsgLmxpbmsge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uaW50cm8gdWwge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmludHJvIHVsIHtcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICB9XG59XG5cbi5pbnRybyB1bCBsaSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjllbTtcbiAgbGlzdC1zdHlsZTogZGlzYztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgY29sb3I6ICMzMjNkM2U7XG59XG5cbi5pbnRybyB1bCBsaTpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmhpZ2hsaWdodGVkLWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIxLCAyMzIsIDIzOCwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAyMHB4IDI0cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGlnaGxpZ2h0ZWQtYm94IHtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uaGlnaGxpZ2h0ZWQtYm94IHAge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbi5oaWdobGlnaHRlZC1ib3ggcDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jaXJjdWxhci1pbWctY29udGFpbmVyIGltZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gIH1cbn1cblxuLmdpYW50LXJvc2FjZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmdpYW50LXJvc2FjZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC01MHB4O1xuICByaWdodDogLTEwMHB4O1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogMjAwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2hhcGVzL2dpYW50LXJvc2FjZS5zdmcpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB6LWluZGV4OiAtMTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5naWFudC1yb3NhY2U6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZ2lhbnQtcm9zYWNlOjpiZWZvcmUge1xuICAgIHRvcDogLTIwMHB4O1xuICAgIHJpZ2h0OiAtMjQwcHg7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIGhlaWdodDogNDAwcHg7XG4gIH1cbn1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjRiOGYxO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwiUG9wcGluc1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC43NXB4O1xuICBib3JkZXItcmFkaXVzOiA3NHB4O1xuICBwYWRkaW5nOiAxNnB4IDMwcHg7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5idG4ge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjI1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAuYnRuIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC43NXB4O1xuICB9XG59XG5cbi5idG46aG92ZXIsIC5idG46Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MWJhO1xuICBib3JkZXItY29sb3I6ICMwMDcxYmE7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5idG5bZG93bmxvYWRdIHN2ZyB7XG4gIHN0cm9rZTogY3VycmVudENvbG9yO1xufVxuXG4uYnRuIC5pY29uLWxlZnQsXG4uYnRuIC5pY29uLXJpZ2h0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xufVxuXG4uYnRuIC5pY29uLWxlZnQgc3ZnLFxuLmJ0biAuaWNvbi1yaWdodCBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmJ0biAuaWNvbi1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmJ0biAuaWNvbi1sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLmJ0biAuaWNvbi1yaWdodCB7XG4gIG1hcmdpbi1sZWZ0OiAxMnB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmJ0biAuaWNvbi1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLmJ0bi1vdXRsaW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMyNGI4ZjE7XG4gIGNvbG9yOiAjMjRiOGYxO1xufVxuXG4uYnRuLW91dGxpbmU6aG92ZXIsIC5idG4tb3V0bGluZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6ICMwMDcxYmE7XG4gIGNvbG9yOiAjMDA3MWJhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5saW5rIHtcbiAgY29sb3I6ICMyNGI4ZjE7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmxpbmsge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgLmxpbmsge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICB9XG59XG5cbi5saW5rLWFycm93IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5saW5rLWFycm93IC5pY29uLXJpZ2h0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuLmxpbmstYXJyb3cgLmljb24tcmlnaHQgc3ZnIHtcbiAgbWF4LWhlaWdodDogMTAwJTtcbn1cblxuLmxpbmtbZG93bmxvYWRdIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5saW5rW2Rvd25sb2FkXSBzdmcge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBzdHJva2U6ICMyNGI4ZjE7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbn1cblxuLmJ0bi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgdHJhbnNpdGlvbjogMC40cztcbiAgbWF4LXdpZHRoOiAzNTBweDtcbn1cblxuLmJ0bi1zZWNvbmRhcnk6Zm9jdXMsIC5idG4tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IDAuNHM7XG59XG5cbi51ay1idXR0b24tbGFyZ2Uge1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbWluLWhlaWdodDogNjBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLnVrLWJ1dHRvbi1sYXJnZSB7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuICB9XG59XG5cbi51ay1zZWN0aW9uLXByaW1hcnkgLnVrLWJ1dHRvbi1zZWNvbmRhcnksXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi51ay1zZWN0aW9uLXByaW1hcnkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDtcbn1cblxuLmNvbG9yLWJhZGdlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5jb2xvci1iYWRnZS1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAtMTJweDtcbiAgfVxufVxuXG4uY29sb3ItbGFiZWwge1xuICBjb2xvcjogIzMyM2QzZTtcbiAgZm9udC1zaXplOiAxLjNyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uY29sb3ItYmFkZ2Uge1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmNvbG9yLWJhZGdlIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbG9yLWJhZGdlIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG59XG5cbi5jb2xvci1iYWRnZSBwIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uY29sb3ItYmFkZ2UgLmJhZGdlIHtcbiAgd2lkdGg6IDE0MHB4O1xuICBoZWlnaHQ6IDE0MHB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmNvbG9yLWJhZGdlIC5iYWRnZSB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC0gNTBweCk7XG4gIH1cbn1cblxuLmNvbG9yLWJhZGdlIC5iYWRnZS5ib3JkZXJlZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNWQ1ZDU7XG59XG5cbi5jb2xvci1tZXRhIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgY29sb3I6ICM2YTdhOGE7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuY29sb3ItbWV0YSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gIH1cbn1cblxuLmNvbnRhY3QtYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmNvbnRhY3QtYm94IHtcbiAgICBwYWRkaW5nOiAzMHB4IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29udGFjdC1ib3gge1xuICAgIHdpZHRoOiA2Ni42NjY2JTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIC5jb250YWN0LWJveCB7XG4gICAgcGFkZGluZzogMzBweDtcbiAgfVxufVxuXG4uYnRuICsgLmNvbnRhY3QtYm94IHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5idG4gKyAuY29udGFjdC1ib3gge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbn1cblxuLmNvbnRhY3QtYm94IHVsIGxpICsgbGkge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmNvbnRhY3QtYm94IHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb250YWN0LWJveCB1bCBsaSB7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbnRhY3QtYm94IHVsIGxpICsgbGkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29udGFjdC1ib3ggdWwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLmNvbnRhY3QtYm94IHVsIGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5jb250YWN0LWJveCB1bCBsaSArIGxpIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5cbi5jb250YWN0LWJveCBwIHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbn1cblxuLmN0YS1iYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY3RhLWJhbm5lci5oYXMtYmcge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi5jdGEtYmFubmVyLmhhcy1iZzo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCByZ2JhKDAsIDAsIDAsIDAuMDkpIDAlLCAjMTExMTExIDEwMCUpO1xufVxuXG4uY3RhLWJhbm5lci5oYXMtYmcgLmN0YS1iYW5uZXItdGl0bGUge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5jdGEtYmFubmVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmN0YS1iYW5uZXI6bm90KC5pcy1zbWFsbCkgLmN0YS1iYW5uZXItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAuY3RhLWJhbm5lcjpub3QoLmlzLXNtYWxsKSAuY3RhLWJhbm5lci1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDgwcHggMTIwcHg7XG4gIH1cbiAgLmN0YS1iYW5uZXI6bm90KC5pcy1zbWFsbCkgLmN0YS1iYW5uZXItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG59XG5cbi5jdGEtYmFubmVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMzBweCAxNXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmN0YS1iYW5uZXItY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA2MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgLmN0YS1iYW5uZXItY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA2MHB4IDgwcHg7XG4gIH1cbn1cblxuLmN0YS1iYW5uZXItdGl0bGUge1xuICBjb2xvcjogIzMyM2QzZTtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuY3RhLWJhbm5lci10aXRsZSB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jdGEtYmFubmVyLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAuY3RhLWJhbm5lci10aXRsZSB7XG4gICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG59XG5cbi5jdGEtYmFubmVyIC5idG4ge1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5jdGEtYmFubmVyIC5idG4ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLmN0YS1iYW5uZXIgLmJ0biBzdmcge1xuICBzdHJva2U6IHdoaXRlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5kb250LWxhYmVsbGVkLWxpc3Qge1xuICAgIHdpZHRoOiA4OC44JTtcbiAgfVxufVxuXG4uZG9udC1sYWJlbGxlZC1saXN0IHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5kb250LWxhYmVsbGVkLWxpc3QgbGkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5kb250LWxhYmVsbGVkLWxpc3QgbGkge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMlIC0gMzBweCk7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuXG4uZG9udC1sYWJlbGxlZC1saXN0IGxpIHN2ZyB7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTdweDtcbiAgcmlnaHQ6IC0xMnB4O1xufVxuXG4uZG9udC1sYWJlbGxlZC1saXN0IGxpIGltZyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNWQ1ZDU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmRvbnQtbGFiZWxsZWQtbGlzdCBsaSBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuZG93bmxvYWQtY2FyZHMtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmRvd25sb2FkLWNhcmRzLWNvbnRhaW5lcjpub3QoOmZpcnN0LW9mLXR5cGUpIC5kb3dubG9hZC1jYXJkcy1jb250YWluZXItbGluayB7XG4gICAgdG9wOiAzNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZG93bmxvYWQtY2FyZHMtY29udGFpbmVyOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgLmRvd25sb2FkLWNhcmRzLWNvbnRhaW5lci1saW5rIHtcbiAgICB0b3A6IDYzcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZG93bmxvYWQtY2FyZHMtY29udGFpbmVyOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgLmRvd25sb2FkLWNhcmRzLWNvbnRhaW5lci1saW5rIHtcbiAgICB0b3A6IDY4cHg7XG4gIH1cbn1cblxuLmRvd25sb2FkLWNhcmRzLWNvbnRhaW5lciBoMyB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuZG93bmxvYWQtY2FyZHMtY29udGFpbmVyLWxpbmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICByaWdodDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmRvd25sb2FkLWNhcmRzLWNvbnRhaW5lci1saW5rIHtcbiAgICB0b3A6IDNweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5kb3dubG9hZC1jYXJkcy1jb250YWluZXItbGluayB7XG4gICAgdG9wOiA4cHg7XG4gIH1cbn1cblxuLmRvd25sb2FkLWNhcmQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmRvd25sb2FkLWNhcmQge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG4uZG93bmxvYWQtY2FyZC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZG93bmxvYWQtY2FyZC1pdGVtIH4gLmRvd25sb2FkLWNhcmQtaXRlbSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuZG93bmxvYWQtY2FyZC1pdGVtIH4gLmRvd25sb2FkLWNhcmQtaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uZG93bmxvYWQtY2FyZC1pdGVtOmhvdmVyIC5kb3dubG9hZC1jYXJkLWltZy13cmFwcGVyIC5pY29uLCAuZG93bmxvYWQtY2FyZC1pdGVtOmZvY3VzIC5kb3dubG9hZC1jYXJkLWltZy13cmFwcGVyIC5pY29uIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmRvd25sb2FkLWNhcmQtaXRlbTpob3ZlciAuZG93bmxvYWQtY2FyZC1pbWctd3JhcHBlcjo6YmVmb3JlLCAuZG93bmxvYWQtY2FyZC1pdGVtOmZvY3VzIC5kb3dubG9hZC1jYXJkLWltZy13cmFwcGVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjRiOGYxO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmRvd25sb2FkLWNhcmQtaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzJSAtIDMwcHgpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmRvd25sb2FkLWNhcmQtaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzJSAtIDUycHgpO1xuICB9XG59XG5cbi5kb3dubG9hZC1jYXJkLWltZy13cmFwcGVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q1ZDVkNTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kb3dubG9hZC1jYXJkLWltZy13cmFwcGVyIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uZG93bmxvYWQtY2FyZC1pbWctd3JhcHBlciBzdmcge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBzdHJva2U6ICNmZmZmZmY7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5kb3dubG9hZC1jYXJkLWltZy13cmFwcGVyIC5pY29uIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZG93bmxvYWQtY2FyZC1pbWctd3JhcHBlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmRvd25sb2FkLWNhcmQtbGluayB7XG4gIGNvbG9yOiAjMzIzZDNlO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZG93bmxvYWQtY2FyZC1saW5rLmhhcy12aXNpYmxlLWxhYmVsIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4uZG93bmxvYWQtY2FyZC1saW5rOmhvdmVyLCAuZG93bmxvYWQtY2FyZC1saW5rOmZvY3VzIHtcbiAgY29sb3I6ICMzMjNkM2U7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZG93bmxvYWQtY2FyZC1saW5rOmhvdmVyLCAuZG93bmxvYWQtY2FyZC1saW5rOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLmRvd25sb2FkLWNhcmQtbGluazo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cblxuLmRvd25sb2FkLWNhcmQtbGluayBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgc3Ryb2tlOiAjMjRiOGYxO1xufVxuXG4uZG93bmxvYWQtY2FyZC5ncmlkLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5kb3dubG9hZC1jYXJkLmdyaWQtc21hbGwge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmRvd25sb2FkLWNhcmQuZ3JpZC1zbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmRvd25sb2FkLWNhcmQuZ3JpZC1zbWFsbCAuZG93bmxvYWQtY2FyZC1pdGVtIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMlIC0gMjBweCk7XG4gICAgbWFyZ2luOiAxMHB4O1xuICB9XG59XG5cbi5kb3dubG9hZC1jYXJkLmdyaWQtc21hbGwgLmRvd25sb2FkLWNhcmQtaW1nLXdyYXBwZXIge1xuICBmb250LXNpemU6IDEuM3JlbTtcbn1cblxuLmRvd25sb2FkLWxpc3QtZmlsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMjVweCAxNXB4IDI1cHggYXV0bztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5kb3dubG9hZC1saXN0LWZpbGUge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgfVxufVxuXG4uZG93bmxvYWQtbGlzdC1maWxlLm11bHRpcGxlLWZpbGVzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMjVweCBhdXRvIDI1cHggMTVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5kb3dubG9hZC1saXN0LWZpbGUubXVsdGlwbGUtZmlsZXMge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMjVweCAzMHB4IDI1cHggYXV0bztcbiAgfVxufVxuXG4uZG93bmxvYWQtbGlzdC1maWxlIGxpIH4gbGkge1xuICBtYXJnaW4tbGVmdDogNDBweDtcbn1cblxuLmRvd25sb2FkLWxpc3QtZmlsZSBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICMyNGI4ZjE7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XG59XG5cbi5kb3dubG9hZC1saXN0LWZpbGUgYTpob3ZlciwgLmRvd25sb2FkLWxpc3QtZmlsZSBhOmZvY3VzIHtcbiAgY29sb3I6ICMwMDcxYmE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmRvd25sb2FkLWxpc3QtZmlsZSBhIHNwYW46bm90KC5zci1vbmx5KSB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgbWFyZ2luLXRvcDogNnB4O1xufVxuXG4uZG93bmxvYWQtbGlzdC1maWxlIGEgc3ZnIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4uZG93bmxvYWQtbGlzdCBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDVkNWQ1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5kb3dubG9hZC1saXN0IGxpIHNwYW4ge1xuICBjb2xvcjogIzMyM2QzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogMjVweCAxNXB4O1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQ1cHgpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmRvd25sb2FkLWxpc3QgbGkgc3BhbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5cbi5kb3dubG9hZC1saXN0IGxpIC5kb3dubG9hZC1zdWItbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNWQ1ZDU7XG59XG5cbi5kb3dubG9hZC1saXN0IGxpIC5kb3dubG9hZC1zdWItbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmRvd25sb2FkLWxpc3QgbGkgLmRvd25sb2FkLXN1Yi1saXN0IGxpIHNwYW4ge1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuZG93bmxvYWQtbGlzdCBsaSAuZG93bmxvYWQtc3ViLWxpc3QgbGkgc3BhbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5cbi5kb3dubG9hZC1saXN0IC5kb3dubG9hZC1saXN0LWZpbGUubXVsdGlwbGUtZmlsZXMge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmRvd25sb2FkLWxpc3QgLmRvd25sb2FkLWxpc3QtZmlsZS5tdWx0aXBsZS1maWxlcyB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgfVxufVxuXG4uZG93bmxvYWQtbGlzdCAuZG93bmxvYWQtbGlzdC1maWxlIGxpIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uZG93bmxvYWQtbGlzdCAuZG93bmxvYWQtbGlzdC1maWxlIHNwYW4ge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uZG93bmxvYWQtc2lnbmF0dXJlLWxpc3Qge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmRvd25sb2FkLXNpZ25hdHVyZS1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG59XG5cbi5kb3dubG9hZC1zaWduYXR1cmUtbGlzdCA+IGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNWQ1ZDU7XG4gIHBhZGRpbmc6IDMwcHggMCAxMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmRvd25sb2FkLXNpZ25hdHVyZS1saXN0ID4gbGkge1xuICAgIHBhZGRpbmc6IDMwcHggMCAzNXB4O1xuICB9XG59XG5cbi5kb3dubG9hZC1zaWduYXR1cmUtbGlzdCA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNWQ1ZDU7XG59XG5cbi5kb3dubG9hZC1zaWduYXR1cmUtbGlzdCA+IGxpIGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5kb3dubG9hZC1zaWduYXR1cmUtbGlzdCA+IGxpIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5cbi5kb3dubG9hZC1zaWduYXR1cmUtbGlzdCA+IGxpIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4uZG93bmxvYWQtc2lnbmF0dXJlLWxpc3QgPiBsaSAuZG93bmxvYWQtc2lnbmF0dXJlLXByZXZpZXctbGlzdCA+IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogNTVweDtcbn1cblxuLmRvd25sb2FkLXNpZ25hdHVyZS1saXN0ID4gbGkgLmRvd25sb2FkLXNpZ25hdHVyZS1wcmV2aWV3LWxpc3QgPiBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXgtaGVpZ2h0OiA4MDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgei1pbmRleDogMTA7XG59XG5cbi5oZXJvOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMSwgMSwgMSwgMC4xKSAxMCUsICMxMTExMTEgMTAwJSk7XG59XG5cbi5oZXJvLWxvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE2N3B4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyNXB4O1xuICBsZWZ0OiAyMHB4O1xuICB6LWluZGV4OiA1O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmhlcm8tbG9nbyB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICB0b3A6IDU1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIC5oZXJvLWxvZ28ge1xuICAgIHdpZHRoOiAyOTBweDtcbiAgICBoZWlnaHQ6IDYzcHg7XG4gIH1cbn1cblxuLmhlcm8tbG9nbyBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uaGVyby1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAtMTtcbn1cblxuLmhlcm8taW1hZ2UgaW1nLCAuaGVyby1pbWFnZSBwaWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5oZXJvLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmhlcm8tY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbn1cblxuLmhlcm8tY29udGVudCBoMSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDRyZW07XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiA5MCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuaGVyby1jb250ZW50IGgxIHtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8tY29udGVudCBoMSB7XG4gICAgZm9udC1zaXplOiA1cmVtO1xuICAgIG1heC13aWR0aDogODQwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAuaGVyby1jb250ZW50IGgxIHtcbiAgICBmb250LXNpemU6IDZyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDE1JTtcbiAgfVxufVxuXG4uaGVyby1hbmNob3Ige1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmhlcm8tYW5jaG9yIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgfVxufVxuXG4uZGVmYXVsdC1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNGI4ZjE7XG59XG5cbi5kZWZhdWx0LWJnOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uaW1hZ2UtZ2FsbGVyeS0taXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaW1hZ2UtZ2FsbGVyeS0taXRlbSBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmltYWdlLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5pbWFnZS1ncmlkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG5cbi5pbWFnZS1ncmlkID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmltYWdlLWdyaWQgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uaW1nLWZ1bGxXaWR0aCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaW1nLWZ1bGxXaWR0aCBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC51ay13aWR0aC0xLTJcXEBzIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi5pbWFnZS10eXBlIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi5pbWFnZS10eXBlLWFuY2hvci1uYXYge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGNvdW50ZXItcmVzZXQ6IGl0ZW07XG4gIG1hcmdpbjogMzBweCAwIDYwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaW1hZ2UtdHlwZS1hbmNob3ItbmF2IHtcbiAgICBtYXJnaW46IDYwcHggMDtcbiAgfVxufVxuXG4uaW1hZ2UtdHlwZS1hbmNob3ItbmF2IGxpIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5pbWFnZS10eXBlLWFuY2hvci1uYXYgbGk6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5pbWFnZS10eXBlLWFuY2hvci1uYXYgYSB7XG4gIGZvbnQtc2l6ZTogMi42cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICMzMjNkM2U7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAuaW1hZ2UtdHlwZS1hbmNob3ItbmF2IGEge1xuICAgIG1heC13aWR0aDogMzQwcHg7XG4gIH1cbn1cblxuLmltYWdlLXR5cGUtYW5jaG9yLW5hdiBhOjpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKGl0ZW0sIGRlY2ltYWwtbGVhZGluZy16ZXJvKTtcbiAgY29sb3I6ICMwMDcxYmE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4uaW1hZ2UtdHlwZS1hbmNob3ItbmF2IGEgc3ZnIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgZmlsbDogIzMyM2QzZTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5pbWFnZS10eXBlLWFuY2hvci1uYXYgYTpob3ZlciwgLmltYWdlLXR5cGUtYW5jaG9yLW5hdiBhOmZvY3VzIHtcbiAgY29sb3I6ICMwMDcxYmE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmltYWdlLXR5cGUtYW5jaG9yLW5hdiBhOmhvdmVyIHN2ZywgLmltYWdlLXR5cGUtYW5jaG9yLW5hdiBhOmZvY3VzIHN2ZyB7XG4gIHJpZ2h0OiAtNXB4O1xuICBmaWxsOiAjMDA3MWJhO1xufVxuXG4uaW1hZ2UtdHlwZS1saXN0IHtcbiAgY291bnRlci1yZXNldDogaXRlbTtcbn1cblxuLmltYWdlLXR5cGUtbGlzdCA+IGRpdiB7XG4gIGNvdW50ZXItaW5jcmVtZW50OiBpdGVtO1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICBzY3JvbGwtbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmltYWdlLXR5cGUtbGlzdCA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmltYWdlLXR5cGUtbGlzdCA+IGRpdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gIH1cbiAgLmltYWdlLXR5cGUtbGlzdCA+IGRpdjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XG4gIH1cbn1cblxuLmltYWdlLXR5cGUtbGlzdCA+IGRpdiA+IGgzIHtcbiAgZm9udC1zaXplOiAyLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogIzMyM2QzZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmltYWdlLXR5cGUtbGlzdCA+IGRpdiA+IGgzOjpiZWZvcmUge1xuICBjb250ZW50OiBjb3VudGVyKGl0ZW0sIGRlY2ltYWwtbGVhZGluZy16ZXJvKTtcbiAgY29sb3I6ICMwMDcxYmE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1yaWdodDogNXB4O1xufVxuXG4uaW1hZ2UtdHlwZS1saXN0ID4gZGl2ID4gLmltYWdlLWdyaWQge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmltYWdlLXR5cGUtbGlzdCA+IGRpdiA+IC5pbWFnZS1ncmlkIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG5cbi5pbWFnZS10eXBlLWxpc3QtaW5jb3JyZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBwYWRkaW5nOiAzMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5pbWFnZS10eXBlLWxpc3QtaW5jb3JyZWN0IHtcbiAgICBwYWRkaW5nOiAzMHB4IDYwcHggNjBweDtcbiAgfVxufVxuXG4uaW1hZ2UtdHlwZS1saXN0LWluY29ycmVjdCBoNCB7XG4gIGZvbnQtc2l6ZTogMi4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uaW1hZ2UtdHlwZS1saXN0LWluY29ycmVjdCAuaW1hZ2UtZ3JpZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5pbWFnZS10eXBlLWxpc3QtaW5jb3JyZWN0IC5pbWFnZS1ncmlkID4gZGl2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaW1hZ2UtdHlwZS1saXN0LWluY29ycmVjdCAuaW1hZ2UtZ3JpZCA+IGRpdjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTlweDtcbiAgcmlnaHQ6IC05cHg7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAuODUgMzAuODUnJTNFJTNDcGF0aCBmaWxsPSclMjNlZDQ2NDYnIGQ9J00zMC41NywyNC43OGgwbC05LjM2LTkuMzUsOS4zNi05LjM2aDBhMSwxLDAsMCwwLDAtMS4zN0wyNi4xNS4yOGExLDEsMCwwLDAtMS4zNywwaDBMMTUuNDMsOS42NCw2LjA3LjI4aDBBMSwxLDAsMCwwLDQuNy4yOEwuMjgsNC43YTEsMSwwLDAsMCwwLDEuMzdoMGw5LjM2LDkuMzVMLjI4LDI0Ljc4aDBhMSwxLDAsMCwwLDAsMS4zN0w0LjcsMzAuNTdhMSwxLDAsMCwwLDEuMzYsMGgwbDkuMzctOS4zNiw5LjM2LDkuMzZoMGExLDEsMCwwLDAsMS4zNiwwbDQuNDItNC40M2ExLDEsMCwwLDAsMC0xLjM2WicvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLmxpc3QtbGluay1jb250YWluZXIge1xuICBtYXJnaW46IDMwcHggMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5saXN0LWxpbmstY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDYwcHggMDtcbiAgfVxufVxuXG4ubGlzdC1saW5rLWNvbnRhaW5lciBsaSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDVkNWQ1O1xuICBwYWRkaW5nOiAxMHB4IDA7XG59XG5cbi5saXN0LWxpbmstY29udGFpbmVyIGxpOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q1ZDVkNTtcbn1cblxuLmxpc3QtbGluay1jb250YWluZXIgYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiA1cHggMCAxMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5saXN0LWxpbmstY29udGFpbmVyIGEge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICB9XG59XG5cbi5saXN0LWxpbmstY29udGFpbmVyIGE6Zm9jdXMsIC5saXN0LWxpbmstY29udGFpbmVyIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5saXN0LWxpbmstY29udGFpbmVyIGE6Zm9jdXMgKiwgLmxpc3QtbGluay1jb250YWluZXIgYTpob3ZlciAqIHtcbiAgY29sb3I6ICMwMDcxYmE7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5saXN0LWxpbmstY29udGFpbmVyIC5uYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzMyM2QzZTtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmxpc3QtbGluay1jb250YWluZXIgLm5hbWUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubGlzdC1saW5rLWNvbnRhaW5lciAubmFtZSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyODJweCk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAubGlzdC1saW5rLWNvbnRhaW5lciAubmFtZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5cbi5saXN0LWxpbmstY29udGFpbmVyIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgbWF4LXdpZHRoOiAxMjJweDtcbiAgbWFyZ2luOiAwIGF1dG8gMCAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmxpc3QtbGluay1jb250YWluZXIgaW1nIHtcbiAgICBtYXJnaW46IDAgMzBweCAwIGF1dG87XG4gIH1cbn1cblxuLmxpc3QtbGluay1jb250YWluZXIgLmN0YS1wcmV2aWV3IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICMyNGI4ZjE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmxpc3QtbGluay1jb250YWluZXIgLmN0YS1wcmV2aWV3IHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gIC5saXN0LWxpbmstY29udGFpbmVyIC5jdGEtcHJldmlldyB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gIH1cbn1cblxuLmxpc3QtbGluay1jb250YWluZXIgc3ZnIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBmbGV4LXNocmluazogMDtcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuXG4udWstbGlnaHRib3gge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpO1xufVxuXG4udWstbGlnaHRib3gtaXRlbXMgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4udWstbGlnaHRib3gtdG9vbGJhciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzMyM2QzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXIgLnVrLWNsb3NlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNGI4ZjE7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcGFkZGluZzogMTJweDtcbn1cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXIgLnVrLWNsb3NlIHN2ZyB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG59XG5cbi51ay1saWdodGJveC10b29sYmFyIC51ay1jbG9zZSBzdmcgbGluZSB7XG4gIHN0cm9rZS13aWR0aDogMnB4O1xufVxuXG4udWstbGlnaHRib3gtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMjRiOGYxO1xufVxuXG4udWstbGlnaHRib3gtYnV0dG9uOmhvdmVyLCAudWstbGlnaHRib3gtYnV0dG9uOmZvY3VzIHtcbiAgY29sb3I6ICMwMDcxYmE7XG59XG5cbi51ay1saWdodGJveC1idXR0b24gc3ZnIHBvbHlsaW5lIHtcbiAgc3Ryb2tlLXdpZHRoOiAycHg7XG59XG5cbi5xdW90ZS13cmFwcGVyIHtcbiAgcGFkZGluZzogMjBweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5xdW90ZS13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gIH1cbn1cblxuLnF1b3RlLXdyYXBwZXIgLnF1b3RlIHtcbiAgd2lkdGg6IDc1JTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucXVvdGUtd3JhcHBlciAucXVvdGUge1xuICAgIHdpZHRoOiA3OCU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucXVvdGUtd3JhcHBlciAucXVvdGUge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIC5xdW90ZS13cmFwcGVyIC5xdW90ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMjBweDtcbiAgfVxufVxuXG4ucXVvdGUtd3JhcHBlciAucXVvdGUtaW1nIHtcbiAgd2lkdGg6IDI1JTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnF1b3RlLXdyYXBwZXIgLnF1b3RlLWltZyB7XG4gICAgd2lkdGg6IDIyJTtcbiAgfVxufVxuXG4ucXVvdGUtd3JhcHBlciAucXVvdGUgYmxvY2txdW90ZSB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzAwNzFiYTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucXVvdGUtd3JhcHBlciAucXVvdGUgYmxvY2txdW90ZSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAucXVvdGUtd3JhcHBlciAucXVvdGUgYmxvY2txdW90ZSB7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gIH1cbn1cblxuLnF1b3RlLXdyYXBwZXIgLnF1b3RlIGJsb2NrcXVvdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCcXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucXVvdGUtd3JhcHBlciAucXVvdGUtYXV0aG9yIHtcbiAgY29sb3I6ICMwMDcxYmE7XG59XG5cbi53eXNpd3lnIC5pbnRybyB7XG4gIGZvbnQtc2l6ZTogMS44cmVtO1xuICBjb2xvcjogIzZhN2E4YTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnR5cG9ncmFwaHktcm93LS1pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xufVxuXG4udmlkZW8tY29udGFpbmVyIHtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIC8qIDE2OjkgKi9cbiAgaGVpZ2h0OiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuXG4udmlkZW8tY29udGFpbmVyIC5pbWctcHJldmlldyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgei1pbmRleDogMTtcbn1cblxuLnZpZGVvLWNvbnRhaW5lciAuY3RhLXBsYXkge1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjRiOGYxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udmlkZW8tY29udGFpbmVyIC5jdGEtcGxheTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC00NSUsIC01MCUpO1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxMnB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDguNzU3IDEwLjAwOCclM0UlM0NwYXRoIGQ9J004LjMgNC4xOTggMS40MTUuMTI5QS45MzMuOTMzIDAgMCAwIDAgLjkzNnY4LjEzM2EuOTM3LjkzNyAwIDAgMCAxLjQxNS44MDdMOC4zIDUuODExYS45MzcuOTM3IDAgMCAwIDAtMS42MTNaJyBmaWxsPSclMjNmZmYnLyUzRSUzQy9zdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnZpZGVvLWNvbnRhaW5lciAuY3RhLXBsYXkge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgfVxuICAudmlkZW8tY29udGFpbmVyIC5jdGEtcGxheTo6YWZ0ZXIge1xuICAgIGhlaWdodDogMTZweDtcbiAgICB3aWR0aDogMTRweDtcbiAgfVxufVxuXG4udmlkZW8tY29udGFpbmVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4udmlkZW8tY29udGFpbmVyIHZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5kaXNjb3ZlciAuaGFzLXJpZ2h0LW5hdiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZGlzY292ZXIgLmNvbnRlbnQgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICAuZGlzY292ZXIgLmNvbnRlbnQgaDIge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgfVxufVxuXG4uZGlzY292ZXIgLmNvbnRlbnQgaDIgc3BhbiB7XG4gIGNvbG9yOiAjMDA3MWJhO1xufVxuXG4uZGlzY292ZXIgLmNvbnRlbnQgaDMge1xuICBjb2xvcjogIzMyM2QzZTtcbn1cblxuLmRpc2NvdmVyIC5jb250ZW50IHAge1xuICBsaW5lLWhlaWdodDogMS43O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIC5kaXNjb3ZlciAuY29udGVudCBwIHtcbiAgICBsaW5lLWhlaWdodDogMS45O1xuICB9XG59XG5cbi5kaXNjb3ZlciAuY29udGVudCBsaSB7XG4gIGNvbG9yOiAjMzIzZDNlO1xuICBsaW5lLWhlaWdodDogMS43O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIC5kaXNjb3ZlciAuY29udGVudCBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgfVxufVxuXG4uZGlzY292ZXIgYXJ0aWNsZSB7XG4gIHBhZGRpbmc6IDYwcHggMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5kaXNjb3ZlciBhcnRpY2xlIHtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZGlzY292ZXIgYXJ0aWNsZSB7XG4gICAgcGFkZGluZzogOTBweCAwO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgLmRpc2NvdmVyIGFydGljbGUge1xuICAgIHBhZGRpbmc6IDEyMHB4IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5kaXNjb3ZlciAucm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi5kaXNjb3ZlciAucm93LW1kIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5kaXNjb3ZlciAucm93LW1kIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG59XG5cbi5kaXNjb3ZlciAucm93LW1kIC5jb2wtNiB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZGlzY292ZXIgLnJvdy1tZCAuY29sLTY6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5kaXNjb3ZlciAucm93LW1kIC5jb2wtNjpudGgtY2hpbGQoMikge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZGlzY292ZXIgLnJvdy1tZCAuY29sLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmRpc2NvdmVyIC5yb3ctbWQgLmNvbC02OmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDQlO1xuICB9XG4gIC5kaXNjb3ZlciAucm93LW1kIC5jb2wtNjpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctbGVmdDogNCU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5kaXNjb3ZlciAuY29sLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmRpc2NvdmVyIC5jb2wtNjpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0JTtcbiAgfVxuICAuZGlzY292ZXIgLmNvbC02Om50aC1jaGlsZCgyKSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0JTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmRpc2NvdmVyIC5jb2wtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMlO1xuICB9XG4gIC5kaXNjb3ZlciAuY29sLTQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1yaWdodDogNCU7XG4gIH1cbiAgLmRpc2NvdmVyIC5jb2wtNDpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctbGVmdDogMiU7XG4gICAgcGFkZGluZy1yaWdodDogMiU7XG4gIH1cbiAgLmRpc2NvdmVyIC5jb2wtNDpudGgtY2hpbGQoMykge1xuICAgIHBhZGRpbmctbGVmdDogNCU7XG4gIH1cbn1cblxuW2lkPVwiaGVsbG9cIl0gaDIge1xuICBmb250LXNpemU6IDVyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgW2lkPVwiaGVsbG9cIl0gaDIge1xuICAgIGZvbnQtc2l6ZTogN3JlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIFtpZD1cImhlbGxvXCJdIGgyIHtcbiAgICBmb250LXNpemU6IDhyZW07XG4gIH1cbn1cblxuW2lkPVwiaGVsbG9cIl0gaDMge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgY29sb3I6ICMzMjNkM2U7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICBbaWQ9XCJoZWxsb1wiXSBoMyB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICBbaWQ9XCJoZWxsb1wiXSBoMyB7XG4gICAgZm9udC1zaXplOiAzLjVyZW07XG4gIH1cbn1cblxuW2lkPVwiaGVsbG9cIl0gLmltZy1jb250YWluZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5baWQ9XCJoZWxsb1wiXSAuaW1nLWNvbnRhaW5lciBpbWcsIFtpZD1cImhlbGxvXCJdIC5pbWctY29udGFpbmVyIHBpY3R1cmUge1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIFtpZD1cImhlbGxvXCJdIC5pbWctY29udGFpbmVyIGltZywgW2lkPVwiaGVsbG9cIl0gLmltZy1jb250YWluZXIgcGljdHVyZSB7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIFtpZD1cImhlbGxvXCJdIC5pbWctY29udGFpbmVyIGltZywgW2lkPVwiaGVsbG9cIl0gLmltZy1jb250YWluZXIgcGljdHVyZSB7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbmFydGljbGVbaWQ9XCJjb252aWNpb24tcmVzcG9uc2liaWxpdHlcIl0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiAxODBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIGFydGljbGVbaWQ9XCJjb252aWNpb24tcmVzcG9uc2liaWxpdHlcIl0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMzBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGFydGljbGVbaWQ9XCJjb252aWNpb24tcmVzcG9uc2liaWxpdHlcIl0ge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMTBweDtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG4gIGFydGljbGVbaWQ9XCJjb252aWNpb24tcmVzcG9uc2liaWxpdHlcIl06OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Rpc2NvdmVyL2dpYW50LXJvc2FjZS5zdmcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0xMDBweDtcbiAgICB3aWR0aDogNDgwcHg7XG4gICAgaGVpZ2h0OiA0ODBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIGFydGljbGVbaWQ9XCJjb252aWNpb24tcmVzcG9uc2liaWxpdHlcIl0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzNjBweDtcbiAgfVxufVxuXG5hcnRpY2xlW2lkPVwiY29udmljaW9uLXJlc3BvbnNpYmlsaXR5XCJdIC5jb252aWNpb24tZGVjb3JhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTM1cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICBhcnRpY2xlW2lkPVwiY29udmljaW9uLXJlc3BvbnNpYmlsaXR5XCJdIC5jb252aWNpb24tZGVjb3JhdGlvbiB7XG4gICAgd2lkdGg6IDE4MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgYXJ0aWNsZVtpZD1cImNvbnZpY2lvbi1yZXNwb25zaWJpbGl0eVwiXSAuY29udmljaW9uLWRlY29yYXRpb24ge1xuICAgIHdpZHRoOiAyNjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIGFydGljbGVbaWQ9XCJjb252aWNpb24tcmVzcG9uc2liaWxpdHlcIl0gLmNvbnZpY2lvbi1kZWNvcmF0aW9uIHtcbiAgICB3aWR0aDogMzI1cHg7XG4gIH1cbn1cblxuW2lkPVwibWFuaWZlc3RvXCJdIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIFtpZD1cIm1hbmlmZXN0b1wiXSAubWFuaWZlc3RvLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDg4Ljg4ODglO1xuICB9XG59XG5cbltpZD1cIm1hbmlmZXN0b1wiXSAubWFuaWZlc3RvLW1vb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIFtpZD1cIm1hbmlmZXN0b1wiXSAubWFuaWZlc3RvLW1vb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDExMnB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICBbaWQ9XCJtYW5pZmVzdG9cIl0gLm1hbmlmZXN0by1tb29uIHtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICB9XG59XG5cbltpZD1cIm1hbmlmZXN0b1wiXSBwIHtcbiAgY29sb3I6ICM2YTdhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIFtpZD1cIm1hbmlmZXN0b1wiXSBwIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cblxuW2lkPVwicGVyc29uYWxpdHlcIl0gaDMge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgW2lkPVwicGVyc29uYWxpdHlcIl0gaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuW2lkPVwicGVyc29uYWxpdHlcIl0gcCB7XG4gIG1hcmdpbjogMDtcbn1cblxuW2lkPVwicGVyc29uYWxpdHlcIl0gLnJvdzpub3QoOmZpcnN0LW9mLXR5cGUpIC5jb2wtNiB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICBbaWQ9XCJwZXJzb25hbGl0eVwiXSAucm93Om5vdCg6Zmlyc3Qtb2YtdHlwZSkgLmNvbC02IHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG59XG5cbltpZD1cInBlcnNvbmFsaXR5XCJdIC5yb3VuZGVkLWltZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICBbaWQ9XCJwZXJzb25hbGl0eVwiXSAucm91bmRlZC1pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogNjUlO1xuICB9XG59XG5cbltpZD1cIm5hbWUtaWRlbnRpdHlcIl0gaDMge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgW2lkPVwibmFtZS1pZGVudGl0eVwiXSBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG5baWQ9XCJuYW1lLWlkZW50aXR5XCJdIGgzIHNwYW4ge1xuICBjb2xvcjogIzAwNzFiYTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbltpZD1cIm5hbWUtaWRlbnRpdHlcIl0gLmNvbC02IHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIFtpZD1cIm5hbWUtaWRlbnRpdHlcIl0gLmNvbC02IHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG59XG5cbltpZD1cIm5hbWUtaWRlbnRpdHlcIl0gLmNvbC02IHA6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuW2lkPVwibmFtZS1pZGVudGl0eVwiXSAuaW1nLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICBbaWQ9XCJuYW1lLWlkZW50aXR5XCJdIC5pbWctbWFyZ2luIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICBbaWQ9XCJuYW1lLWlkZW50aXR5XCJdIC5pbWctbWFyZ2luLWxvZ28gaW1nIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgW2lkPVwibmFtZS1pZGVudGl0eVwiXSAuaW1nLW1hcmdpbi1sb2dvIGltZyB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuXG5baWQ9XCJ2aXNpb24tbWlzc2lvblwiXSBoMyB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIFtpZD1cInZpc2lvbi1taXNzaW9uXCJdIGgzIHtcbiAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIFtpZD1cInZpc2lvbi1taXNzaW9uXCJdIGgzIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cbn1cblxuW2lkPVwidmlzaW9uLW1pc3Npb25cIl0gLm1pc3Npb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogNDBweCAyNXB4IDEyMHB4O1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIFtpZD1cInZpc2lvbi1taXNzaW9uXCJdIC5taXNzaW9uIHtcbiAgICBwYWRkaW5nOiA2MHB4IDgwcHggMjAwcHg7XG4gIH1cbn1cblxuW2lkPVwidmlzaW9uLW1pc3Npb25cIl0gLm1pc3Npb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgW2lkPVwidmlzaW9uLW1pc3Npb25cIl0gLm1pc3Npb246OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5baWQ9XCJ2aXNpb24tbWlzc2lvblwiXSAubWlzc2lvbi1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgW2lkPVwidmlzaW9uLW1pc3Npb25cIl0gLm1pc3Npb24tY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA1NSU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICBbaWQ9XCJ2aXNpb24tbWlzc2lvblwiXSAubWlzc2lvbi1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gOC4zMzMzMzMzMyUpO1xuICB9XG59XG5cbltpZD1cInZpc2lvbi1taXNzaW9uXCJdIC5taXNzaW9uLWNvbnRlbnQgaDMge1xuICBmb250LXNpemU6IDIuMnJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBbaWQ9XCJ2aXNpb24tbWlzc2lvblwiXSAubWlzc2lvbi1jb250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICBbaWQ9XCJ2aXNpb24tbWlzc2lvblwiXSAubWlzc2lvbi1jb250ZW50IGgzIHtcbiAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgfVxufVxuXG5baWQ9XCJ2aXNpb24tbWlzc2lvblwiXSAubWlzc2lvbi1jb250ZW50IGgzLCBbaWQ9XCJ2aXNpb24tbWlzc2lvblwiXSAubWlzc2lvbi1jb250ZW50IGgzICsgcCB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuXG5baWQ9XCJ2aXNpb24tbWlzc2lvblwiXSAubWlzc2lvbi1pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbltpZD1cInZpc2lvbi1taXNzaW9uXCJdIC5taXNzaW9uLWltZyBpbWcsIFtpZD1cInZpc2lvbi1taXNzaW9uXCJdIC5taXNzaW9uLWltZyBwaWN0dXJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbltpZD1cImNsaWVudC1yZWxhc2hpb25zaGlwc1wiXSAuc3ViLXRpdGxlIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBjb2xvcjogIzMyM2QzZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgW2lkPVwiY2xpZW50LXJlbGFzaGlvbnNoaXBzXCJdIC5zdWItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuW2lkPVwiY2xpZW50LXJlbGFzaGlvbnNoaXBzXCJdIC5jaXJjdWxhci1pbWctY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuW2lkPVwiY2xpZW50LXJlbGFzaGlvbnNoaXBzXCJdIC5jaXJjdWxhci1pbWctY29udGFpbmVyIC5jaXJjdWxhci1pbWcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIFtpZD1cImNsaWVudC1yZWxhc2hpb25zaGlwc1wiXSAuY2lyY3VsYXItaW1nLWNvbnRhaW5lciAuY2lyY3VsYXItaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICB9XG59XG5cbltpZD1cImNsaWVudC1yZWxhc2hpb25zaGlwc1wiXSAuaW1nLXJvdW5kZWQtYm9yZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICBbaWQ9XCJjbGllbnQtcmVsYXNoaW9uc2hpcHNcIl0gLmltZy1yb3VuZGVkLWJvcmRlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbltpZD1cImJyYW5kLWVzc2VuY2UtdGFnbGluZVwiXSBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgW2lkPVwiYnJhbmQtZXNzZW5jZS10YWdsaW5lXCJdIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5cbltpZD1cImJyYW5kLWVzc2VuY2UtdGFnbGluZVwiXSAudGFnbGluZSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgY29sb3I6ICMwMDcxYmE7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDIwcHggMCAxMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIFtpZD1cImJyYW5kLWVzc2VuY2UtdGFnbGluZVwiXSAudGFnbGluZSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE2ODBweCkge1xuICBbaWQ9XCJicmFuZC1lc3NlbmNlLXRhZ2xpbmVcIl0gLnRhZ2xpbmUge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgfVxufVxuXG5baWQ9XCJicmFuZC1lc3NlbmNlLXRhZ2xpbmVcIl0gLnRhZ2xpbmUgKyBwIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIFtpZD1cImJyYW5kLWVzc2VuY2UtdGFnbGluZVwiXSAudGFnbGluZS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIFtpZD1cImJyYW5kLWVzc2VuY2UtdGFnbGluZVwiXSAudGFnbGluZS1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDYwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgW2lkPVwiYnJhbmQtZXNzZW5jZS10YWdsaW5lXCJdIC50YWdsaW5lLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNjAlO1xuICB9XG59XG5cbltpZD1cImJyYW5kLWVzc2VuY2UtdGFnbGluZVwiXSAudGFnbGluZS1pbWcge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIFtpZD1cImJyYW5kLWVzc2VuY2UtdGFnbGluZVwiXSAudGFnbGluZS1pbWcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb3JkZXI6IC0xO1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIFtpZD1cImJyYW5kLWVzc2VuY2UtdGFnbGluZVwiXSAudGFnbGluZS1pbWcge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gIH1cbn1cblxuW2lkPVwiYnJhbmQtZXNzZW5jZS10YWdsaW5lXCJdIC50YWdsaW5lLWltZyBpbWcge1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogNTBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIFtpZD1cImJyYW5kLWVzc2VuY2UtdGFnbGluZVwiXSAudGFnbGluZS1pbWcgaW1nIHtcbiAgICB3aWR0aDogMTIwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgW2lkPVwiYnJhbmQtZXNzZW5jZS10YWdsaW5lXCJdIC50YWdsaW5lLWltZyBpbWcge1xuICAgIHdpZHRoOiAxNjBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gIH1cbn1cblxuW2lkPVwidG9uZS1vZi12b2ljZVwiXSBoMjpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuW2lkPVwidG9uZS1vZi12b2ljZVwiXSAucm93IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBbaWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5yb3cge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbn1cblxuW2lkPVwidG9uZS1vZi12b2ljZVwiXSAucm93IC5jb2wtNiA+IGRpdiB7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICBbaWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5yb3cgLmNvbC02ID4gZGl2IHtcbiAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICB9XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnRvbmUtb2Ytdm9pY2UtaW50cm8gcCB7XG4gIG1hcmdpbjogMDtcbn1cblxuW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuaW50cm8tY29udGVudCBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmludHJvLWNvbnRlbnQ6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbjogMzBweCAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuaW50cm8tY29udGVudDpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDAgMCA2MHB4O1xuICB9XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmludHJvLWNvbnRlbnQ6Zmlyc3Qtb2YtdHlwZSBoMyB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnBpbGxhcnMsXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5kby1kb250LFxuW2lkPVwidG9uZS1vZi12b2ljZVwiXSAudm9jYWJ1bGFyeSxcbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnRpcHMge1xuICBtYXJnaW4tdG9wOiA4MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnBpbGxhcnMsXG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQsXG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnZvY2FidWxhcnksXG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnRpcHMge1xuICAgIG1hcmdpbi10b3A6IDIwMHB4O1xuICB9XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnBpbGxhcnMgaDIge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5waWxsYXJzIGgzIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuW2lkPVwidG9uZS1vZi12b2ljZVwiXSAucGlsbGFycyBoMyBzcGFuIHtcbiAgY29sb3I6ICMwMDcxYmE7XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQtY2F0ZWdvcnk6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuZG8tZG9udC1jYXRlZ29yeTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW4tdG9wOiAxMjBweDtcbiAgfVxufVxuXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5kby1kb250LWdyaWQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuZG8tZG9udC1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBncmlkLWNvbHVtbi1nYXA6IDglO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiaGVhZGVyMSBoZWFkZXIyXCIgXCJsaW5lMSBsaW5lM1wiIFwibGluZTIgbGluZTRcIjtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuZG8tZG9udCBoMyB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxufVxuXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5kby1kb250IGg0IHtcbiAgZm9udC1zaXplOiAxLjdyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBbaWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5kby1kb250IGg0IHtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICB9XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgaDQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzcHg7XG4gIGxlZnQ6IC01MHB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgaDQ6OmJlZm9yZSB7XG4gICAgdG9wOiA2cHg7XG4gICAgbGVmdDogLTQwcHg7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNjgwcHgpIHtcbiAgW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuZG8tZG9udCBoNDo6YmVmb3JlIHtcbiAgICB0b3A6IDNweDtcbiAgICBsZWZ0OiAtNTBweDtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuZG8tZG9udCAuaGVhZGVyMSxcbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgLmhlYWRlcjIsXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5kby1kb250IC5saW5lMSxcbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgLmxpbmUyLFxuW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuZG8tZG9udCAubGluZTMsXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5kby1kb250IC5saW5lNCB7XG4gIHBhZGRpbmctbGVmdDogNjBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgLmhlYWRlcjEsXG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgLmhlYWRlcjIsXG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgLmxpbmUxLFxuICBbaWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5kby1kb250IC5saW5lMixcbiAgW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuZG8tZG9udCAubGluZTMsXG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgLmxpbmU0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgLmhlYWRlcjEsXG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgLmhlYWRlcjIsXG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgLmxpbmUxLFxuICBbaWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5kby1kb250IC5saW5lMixcbiAgW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuZG8tZG9udCAubGluZTMsXG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgLmxpbmU0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuZG8tZG9udCAuaGVhZGVyMSB7XG4gIGdyaWQtYXJlYTogaGVhZGVyMTtcbn1cblxuW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuZG8tZG9udCAuaGVhZGVyMSBoMyB7XG4gIGNvbG9yOiAjMjRiOGYxO1xufVxuXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5kby1kb250IC5oZWFkZXIyIHtcbiAgZ3JpZC1hcmVhOiBoZWFkZXIyO1xuICBtYXJnaW4tdG9wOiA1MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuZG8tZG9udCAuaGVhZGVyMiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5kby1kb250IC5saW5lMSB7XG4gIGdyaWQtYXJlYTogbGluZTE7XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgLmxpbmUyIHtcbiAgZ3JpZC1hcmVhOiBsaW5lMjtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuW2lkPVwidG9uZS1vZi12b2ljZVwiXSAuZG8tZG9udCAubGluZTMge1xuICBncmlkLWFyZWE6IGxpbmUzO1xufVxuXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5kby1kb250IC5saW5lNCB7XG4gIGdyaWQtYXJlYTogbGluZTQ7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgLmxpbmUxIGg0OjpiZWZvcmUsXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5kby1kb250IC5saW5lMiBoNDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzNiAzNiclM0UlM0NwYXRoIGZpbGw9JyUyMzIyYjRhZCcgZD0nTTEyLjIzLDMwLjkuNTMsMTkuMmExLjc5LDEuNzksMCwwLDEsMC0yLjU1aDBMMy4wNywxNC4xYTEuODEsMS44MSwwLDAsMSwyLjU1LDBoMEwxMy41LDIyLDMwLjM4LDUuMWExLjgxLDEuODEsMCwwLDEsMi41NSwwaDBsMi41NCwyLjU1YTEuNzksMS43OSwwLDAsMSwwLDIuNTVoMEwxNC43NywzMC45YTEuOCwxLjgsMCwwLDEtMi41NCwwWicvJTNFJTNDL3N2ZyUzRSBcIik7XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLmRvLWRvbnQgLmxpbmUzIGg0OjpiZWZvcmUsXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC5kby1kb250IC5saW5lNCBoNDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMC44NSAzMC44NSclM0UlM0NwYXRoIGZpbGw9JyUyM2VkNDY0NicgZD0nTTMwLjU3LDI0Ljc4aDBsLTkuMzYtOS4zNSw5LjM2LTkuMzZoMGExLDEsMCwwLDAsMC0xLjM3TDI2LjE1LjI4YTEsMSwwLDAsMC0xLjM3LDBoMEwxNS40Myw5LjY0LDYuMDcuMjhoMEExLDEsMCwwLDAsNC43LjI4TC4yOCw0LjdhMSwxLDAsMCwwLDAsMS4zN2gwbDkuMzYsOS4zNUwuMjgsMjQuNzhoMGExLDEsMCwwLDAsMCwxLjM3TDQuNywzMC41N2ExLDEsMCwwLDAsMS4zNiwwaDBsOS4zNy05LjM2LDkuMzYsOS4zNmgwYTEsMSwwLDAsMCwxLjM2LDBsNC40Mi00LjQzYTEsMSwwLDAsMCwwLTEuMzZaJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC52b2NhYnVsYXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnZvY2FidWxhcnk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Rpc2NvdmVyL2dpYW50LXJvc2FjZS5zdmcpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0yNDBweDtcbiAgICByaWdodDogLTEwMHB4O1xuICAgIHdpZHRoOiA0ODBweDtcbiAgICBoZWlnaHQ6IDQ4MHB4O1xuICB9XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnZvY2FidWxhcnktaW50cm8ge1xuICBjb2xvcjogIzZhN2E4YTtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnZvY2FidWxhcnktaW50cm8ge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIHdpZHRoOiA2Ni42NjYlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgW2lkPVwidG9uZS1vZi12b2ljZVwiXSAudm9jYWJ1bGFyeS1pbnRybyB7XG4gICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC52b2NhYnVsYXJ5IGgzIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgY29sb3I6ICMwMDcxYmE7XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnZvY2FidWxhcnkgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgW2lkPVwidG9uZS1vZi12b2ljZVwiXSAudm9jYWJ1bGFyeSAuY29sLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgfVxufVxuXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC52b2NhYnVsYXJ5IC5jb2wtNDpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgbWFyZ2luLXRvcDogMzVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnZvY2FidWxhcnkgLmNvbC00Om5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuW2lkPVwidG9uZS1vZi12b2ljZVwiXSAudGlwcyBwIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5baWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC50aXBzIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnRpcHMgc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnRpcHMgLnRpcHMtaW50cm8ge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgW2lkPVwidG9uZS1vZi12b2ljZVwiXSAudGlwcyAudGlwcy1pbnRybyB7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgW2lkPVwidG9uZS1vZi12b2ljZVwiXSAudGlwcyAudGlwcy1pbnRybyB7XG4gICAgd2lkdGg6IDY2LjY2NjYlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICBbaWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC50aXBzIC5jb2wtNCBzdHJvbmcge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbiAgW2lkPVwidG9uZS1vZi12b2ljZVwiXSAudGlwcyAuY29sLTQgc3Ryb25nOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuW2lkPVwidG9uZS1vZi12b2ljZVwiXSAudGlwcyAuY29sLTQgLmltZy1yb3VuZGVkLWJvcmRlciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICBbaWQ9XCJ0b25lLW9mLXZvaWNlXCJdIC50aXBzIC5jb2wtNCAuaW1nLXJvdW5kZWQtYm9yZGVyIHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTY4MHB4KSB7XG4gIFtpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnRpcHMgLmNvbC00IC5pbWctcm91bmRlZC1ib3JkZXIge1xuICAgIG1heC13aWR0aDogNjUlO1xuICB9XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0gLnRpcHMgLmNvbC00IHN0cm9uZyB7XG4gIGNvbG9yOiAjMDA3MWJhO1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuIiwiLyoqXG4gIEJyZWFrcG9pbnRzXG4gKi9cblxuLy8gTWFuYWdpbmcgUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuLy8gU2VlIEJyZWFrcG9pbnRzIGluIF92YXJpYWJsZXMuc2Nzc1xuQG1peGluIHJlc3BvbmQoJGZyb206IFwiXCIsICR1bnRpbDogXCJcIikge1xuICAkbWluLXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGZyb20pO1xuICAkbWF4LXdpZHRoOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHVudGlsKTtcblxuICBAaWYgJG1pbi13aWR0aCAhPSBudWxsIGFuZCAkbWF4LXdpZHRoICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluLXdpZHRoKSBhbmQgKG1heC13aWR0aDogJG1heC13aWR0aCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4td2lkdGggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4td2lkdGgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4LXdpZHRoICE9IG51bGwge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpZiAkZnJvbSAhPSBcIlwiIHtcbiAgICAgIEB3YXJuIFwiVW5mb3J0dW5hdGVseSwgbm8gdmFsdWUgY291bGQgYmUgcmV0cmlldmVkIGZyb20gYCN7JGZyb219YC4gXCJcbiAgICAgICsgXCJQbGVhc2UgbWFrZSBzdXJlIGl0IGlzIGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AgbWFwLlwiO1xuICAgIH1cbiAgICBAaWYgJHVudGlsICE9IFwiXCIge1xuICAgICAgQHdhcm4gXCJVbmZvcnR1bmF0ZWx5LCBubyB2YWx1ZSBjb3VsZCBiZSByZXRyaWV2ZWQgZnJvbSBgI3skdW50aWx9YC4gXCJcbiAgICAgICsgXCJQbGVhc2UgbWFrZSBzdXJlIGl0IGlzIGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AgbWFwLlwiO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEltYWdlIGJvcmRlclxuICogT3B0aW9uczpcbiAqICAgIC0gc3R5bGU6IGJvcmRlcmVkIG9yIGZpbGxlZFxuICogICAgLSBjb2xvcjogd2hpdGUsIFllbGxvdywgcGluaywgZ3JlZW5cbiAqICAgIC0gcG9zaXRpb246IGxlZnQgLyByaWdodCwgYm90dG9tL3RvcFxuICovXG4kZ3V0dGVyOiAyMHB4O1xuXG5AbWl4aW4gZGlzcGxheUltYWdlKFxuICAkc3R5bGU6IGZpbGxlZCxcbiAgJGNvbG9yOiAkcGluayxcbiAgJHZlcnRpY2FsUG9zaXRpb246IGJvdHRvbSxcbiAgJGhvcml6b250YWxQb3NpdGlvbjogcmlnaHRcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaW1nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cblxuICBAaWYgJHN0eWxlID09IGZpbGxlZCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkc3R5bGUgPT0gZnJhbWVkIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogNXB4IHNvbGlkICRjb2xvcjtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcInRoaXMgbWl4aW4gb25seSBhY2NlcHQ6IGBmaWxsZWQgLyBmcmFtZWRgIGFzIHZhbHVlIG9mICRzdHlsZS5cIjtcbiAgfVxuXG4gIC8vIGFkYXB0IHRoZSBwb3NpdGlvblxuICBAaWYgJHZlcnRpY2FsUG9zaXRpb24gPT0gdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogLTIwcHg7XG4gICAgfVxuICB9IEBlbHNlIGlmICR2ZXJ0aWNhbFBvc2l0aW9uIGJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgQGlmICRob3Jpem9udGFsUG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAmOjphZnRlciB7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJGhvcml6b250YWxQb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgfVxuICB9XG4gIEBpZiBub3QgaW5kZXgodG9wIGJvdHRvbSwgJHZlcnRpY2FsUG9zaXRpb24pIHtcbiAgICBAZXJyb3IgXCJ2ZXJ0aWNhbFBvc2l0aW9uIG11c3QgYmUgZWl0aGVyIGB0b3BgIG9yIGBib3R0b21gLlwiO1xuICB9XG4gIEBpZiBub3QgaW5kZXgocmlnaHQgbGVmdCwgJGhvcml6b250YWxQb3NpdGlvbikge1xuICAgIEBlcnJvciBcImhvcml6b250YWxQb3NpdGlvbiBtdXN0IGJlIGVpdGhlciBgcmlnaHRgIG9yIGBsZWZ0YC5cIjtcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgaXMgdXNlZCB0byBkaXNwbGF5IGEgcGljdHVyZSBvciBpbWcgdGFnIGluIGZ1bGwgd2lkdGgvaGVpZ2h0IG9mIGl0J3MgY29udGFpbmVyXG4gKlxuICogZGVmYXVsdDogbm90aGluZyBzcGVjaWFsXG4gKiB3aXRoT3ZlcmxheTogd2l0aCBhIGJsYWNrIG92ZXJsYXlcbiAqIHdpdGhHcmFkaWVudCAob3B0aW9uYWwpOiB3aXRoIGFuIG92ZXJsYXkgd2l0aCBhIGdyYWRpZW50XG4gKi9cbkBtaXhpbiBkaXNwbGF5SGVybygkb3ZlcmxheTogZmFsc2UpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IC0xO1xuXG4gIHBpY3R1cmUsXG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuXG4gIEBpZiAkb3ZlcmxheSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgQGlmICRvdmVybGF5ID09IHdpdGhHcmFkaWVudCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCkgNDAlLCByZ2JhKDAsIDAsIDAsIDAuNjUpIDEwMCUpO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJG92ZXJsYXkgPT0gd2l0aE92ZXJsYXkge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjUpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGVycm9yIFwidGhpcyBtaXhpbiBvbmx5IGFjY2VwdDogYHdpdGhHcmFkaWVudCAvIHdpdGhPdmVybGF5YCBhcyB2YWx1ZSBvZiAkb3ZlcmxheS5cIjtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICAgIEltcHJvdmVkIHNjcmVlbiByZWFkZXIgb25seSBDU1MgY2xhc3NcbiAgICBAYXV0aG9yIEdhw6tsIFBvdXBhcmRcbiovXG4uc3Itb25seSB7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbn1cbi5tYiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbn1cblxuQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgLm10X2Rlc2t0b3Age1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIH1cbiAgICAubXJfZGVza3RvcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNjBweDtcbiAgICB9XG4gICAgLm1iIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgfVxufVxuXG4uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59IiwiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9UG9wcGluczp3Z2h0QDMwMDs0MDA7NjAwOzcwMCZkaXNwbGF5PXN3YXAnKTsiLCIvLyBOYW1lOiAgICAgICAgICAgIEJhc2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmYXVsdCB2YWx1ZXMgZm9yIEhUTUwgZWxlbWVudHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaDFgLCBgdWstaDJgLCBgdWstaDNgLCBgdWstaDRgLCBgdWstaDVgLCBgdWstaDZgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ocmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYmFzZS1ib2R5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYm9keS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJhc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cbiRiYXNlLXN0cm9uZy1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGJhc2UtY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1lbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZkICFkZWZhdWx0O1xuJGJhc2UtaW5zLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLW1hcmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtcXVvdGUtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICAgICAgICAgIGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiRiYXNlLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbm9ybWFsICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmFzZS1oMS1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmFzZS1oMi1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4zICFkZWZhdWx0O1xuJGJhc2UtaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDMtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGJhc2UtaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg2LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG4kYmFzZS1oci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgICAgIGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRiYXNlLXByZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLXByZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtY29kZS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLXByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYmFzZS1zZWxlY3Rpb24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgIzM5ZiAhZGVmYXVsdDtcbiRiYXNlLXNlbGVjdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IGBmb250LXNpemVgIHRvIHN1cHBvcnQgYHJlbWAgdW5pdHNcbiAqICAgIE5vdCB1c2luZyBgZm9udGAgcHJvcGVydHkgYmVjYXVzZSBhIGxlYWRpbmcgaHlwaGVuIChlLmcuIC1hcHBsZS1zeXN0ZW0pIGNhdXNlcyB0aGUgZm9udCB0byBicmVhayBpbiBJRTExIGFuZCBFZGdlXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqIDMuIFN0eWxlXG4gKi9cblxuaHRtbCB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1ib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYm9keS1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRiYXNlLWJvZHktZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJvZHktbGluZS1oZWlnaHQ7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgYmFja2dyb3VuZDogJGJhc2UtYm9keS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1ib2R5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWJvZHkoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7IG1hcmdpbjogMDsgfVxuXG5cbi8qIExpbmtzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFN0eWxlXG4gKi9cblxuYSxcbi51ay1saW5rIHtcbiAgICBjb2xvcjogJGJhc2UtbGluay1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1saW5rKSkge0BpbmNsdWRlIGhvb2stYmFzZS1saW5rKCk7fVxufVxuXG5hOmhvdmVyLFxuLnVrLWxpbms6aG92ZXIsXG4udWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmssXG4udWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmsge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtbGluay1ob3ZlcigpO31cbn1cblxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIEVkZ2UuXG4gKiAyLiBUaGUgc2hvcnRoYW5kIGRlY2xhcmF0aW9uIGB1bmRlcmxpbmUgZG90dGVkYCBpcyBub3Qgc3VwcG9ydGVkIGluIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc3R5bGU6IGRvdHRlZDtcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7IGZvbnQtd2VpZ2h0OiAkYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ7IH1cblxuLypcbiAqIDEuIENvbnNvbGFzIGhhcyBhIGJldHRlciBiYXNlbGluZSBpbiBydW5uaW5nIHRleHQgY29tcGFyZWQgdG8gYENvdXJpZXJgXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBTdHlsZVxuICovXG5cbjpub3QocHJlKSA+IGNvZGUsXG46bm90KHByZSkgPiBrYmQsXG46bm90KHByZSkgPiBzYW1wIHtcbiAgICAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWNvZGUtZm9udC1mYW1pbHk7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtY29kZS1mb250LXNpemU7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkYmFzZS1jb2RlLWNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtY29kZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtY29kZSgpO31cbn1cblxuLypcbiAqIEVtcGhhc2l6ZVxuICovXG5cbmVtIHsgY29sb3I6ICRiYXNlLWVtLWNvbG9yOyB9XG5cbi8qXG4gKiBJbnNlcnRcbiAqL1xuXG5pbnMge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWlucy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1pbnMtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKlxuICogTWFya1xuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLW1hcmstYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtbWFyay1jb2xvcjtcbn1cblxuLypcbiAqIFF1b3RlXG4gKi9cblxucSB7IGZvbnQtc3R5bGU6ICRiYXNlLXF1b3RlLWZvbnQtc3R5bGU7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHsgZm9udC1zaXplOiAkYmFzZS1zbWFsbC1mb250LXNpemU7IH1cblxuLypcbiAqIFByZXZlbnRzIGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAgeyB0b3A6IC0wLjVlbTsgfVxuc3ViIHsgYm90dG9tOiAtMC4yNWVtOyB9XG5cblxuLyogRW1iZWRkZWQgY29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGVtYmVkZGVkIGNvbnRlbnQgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVycy5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKlxuICogMS4gQWRkIHJlc3BvbnNpdmVuZXNzLlxuICogMi4gQXV0by1zY2FsZSB0aGUgaGVpZ2h0LiBPbmx5IG5lZWRlZCBpZiBgaGVpZ2h0YCBhdHRyaWJ1dGUgaXMgcHJlc2VudC5cbiAqIDMuIENvcnJlY3RzIHJlc3BvbnNpdmUgYG1heC13aWR0aGAgYmVoYXZpb3IgaWYgcGFkZGluZyBhbmQgYm9yZGVyIGFyZSB1c2VkLlxuICogNC4gRXhjbHVkZSBTVkdzIGZvciBJRTExIGJlY2F1c2UgdGhleSBkb24ndCBwcmVzZXJ2ZSB0aGVpciBhc3BlY3QgcmF0aW8uXG4gKi9cblxuY2FudmFzLFxuaW1nLFxudmlkZW8ge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogYXV0bztcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogNCAqL1xuQHN1cHBvcnRzIChkaXNwbGF5OiBibG9jaykge1xuXG4gICBzdmcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG5cbn1cblxuLypcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogMS4gRml4IGxhenkgbG9hZGluZyBpbWFnZXMgaWYgcGFyZW50IGVsZW1lbnQgaXMgc2V0IHRvIGBkaXNwbGF5OiBpbmxpbmVgIGFuZCBoYXMgYG92ZXJmbG93OiBoaWRkZW5gLlxuICogMi4gSGlkZSBgYWx0YCB0ZXh0IGZvciBsYXp5IGxvYWRpbmcgaW1hZ2VzLlxuICogTm90ZTogU2VsZWN0b3IgZm9yIGJhY2tncm91bmQgd2hpbGUgbG9hZGluZyBpbWdbZGF0YS1zcmMqPScuanBnJ11bc3JjKj0nZGF0YTppbWFnZSddIHsgYmFja2dyb3VuZDogZ3JleTsgfVxuICovXG5cbmltZzpub3QoW3NyY10pIHtcbiAgICAvKiAxICovXG4gICAgbWluLXdpZHRoOiAxcHg7XG4gICAgLyogMiAqL1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIElmcmFtZVxuICogUmVtb3ZlIGJvcmRlciBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuXG5pZnJhbWUgeyBib3JkZXI6IDA7IH1cblxuXG4vKiBCbG9jayBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBNYXJnaW5zXG4gKi9cblxucCxcbnVsLFxub2wsXG5kbCxcbnByZSxcbmFkZHJlc3MsXG5maWVsZHNldCxcbmZpZ3VyZSB7IG1hcmdpbjogMCAwICRiYXNlLW1hcmdpbi12ZXJ0aWNhbCAwOyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIHAsXG4qICsgdWwsXG4qICsgb2wsXG4qICsgZGwsXG4qICsgcHJlLFxuKiArIGFkZHJlc3MsXG4qICsgZmllbGRzZXQsXG4qICsgZmlndXJlIHsgbWFyZ2luLXRvcDogJGJhc2UtbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSGVhZGluZ3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSwgLnVrLWgxLFxuaDIsIC51ay1oMixcbmgzLCAudWstaDMsXG5oNCwgLnVrLWg0LFxuaDUsIC51ay1oNSxcbmg2LCAudWstaDYsXG4udWstaGVhZGluZy1zbWFsbCxcbi51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1oZWFkaW5nLWxhcmdlLFxuLnVrLWhlYWRpbmcteGxhcmdlLFxuLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRiYXNlLWhlYWRpbmctY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRiYXNlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWJhc2UtaGVhZGluZygpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaDEsICogKyAudWstaDEsXG4qICsgaDIsICogKyAudWstaDIsXG4qICsgaDMsICogKyAudWstaDMsXG4qICsgaDQsICogKyAudWstaDQsXG4qICsgaDUsICogKyAudWstaDUsXG4qICsgaDYsICogKyAudWstaDYsXG4qICsgLnVrLWhlYWRpbmctc21hbGwsXG4qICsgLnVrLWhlYWRpbmctbWVkaXVtLFxuKiArIC51ay1oZWFkaW5nLWxhcmdlLFxuKiArIC51ay1oZWFkaW5nLXhsYXJnZSxcbiogKyAudWstaGVhZGluZy0yeGxhcmdlIHsgbWFyZ2luLXRvcDogJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOyB9XG5cbi8qXG4gKiBTaXplc1xuICovXG5cbmgxLCAudWstaDEge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMSkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDEoKTt9XG59XG5cbmgyLCAudWstaDIge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMi1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMikpIHtAaW5jbHVkZSBob29rLWJhc2UtaDIoKTt9XG59XG5cbmgzLCAudWstaDMge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDMtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMy1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMykpIHtAaW5jbHVkZSBob29rLWJhc2UtaDMoKTt9XG59XG5cbmg0LCAudWstaDQge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNCkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDQoKTt9XG59XG5cbmg1LCAudWstaDUge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNSkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDUoKTt9XG59XG5cbmg2LCAudWstaDYge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDYtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNi1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNikpIHtAaW5jbHVkZSBob29rLWJhc2UtaDYoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgaDEsIC51ay1oMSB7IGZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplLW07IH1cbiAgICBoMiwgLnVrLWgyIHsgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG51bCxcbm9sIHsgcGFkZGluZy1sZWZ0OiAkYmFzZS1saXN0LXBhZGRpbmctbGVmdDsgfVxuXG4vKlxuICogUmVzZXQgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAqL1xuXG51bCA+IGxpID4gdWwsXG51bCA+IGxpID4gb2wsXG5vbCA+IGxpID4gb2wsXG5vbCA+IGxpID4gdWwgeyBtYXJnaW46IDA7IH1cblxuXG4vKiBEZXNjcmlwdGlvbiBsaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmR0IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbmRkIHsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuXG4vKiBIb3Jpem9udGFsIHJ1bGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIENocm9tZSwgRWRnZSBhbmQgSUUuXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dC1hbGlnbiBpbiBFZGdlIGFuZCBJRS5cbiAqIDMuIFN0eWxlXG4gKi9cblxuaHIsIC51ay1ociB7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDIgKi9cbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW46IDAgMCAkYmFzZS1oci1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogJGJhc2UtaHItYm9yZGVyLXdpZHRoIHNvbGlkICRiYXNlLWhyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ocikpIHtAaW5jbHVkZSBob29rLWJhc2UtaHIoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGhyLFxuKiArIC51ay1ociB7IG1hcmdpbi10b3A6ICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbCB9XG5cblxuLyogQWRkcmVzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmFkZHJlc3MgeyBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuXG4vKiBCbG9ja3F1b3Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDtcbiAgICBmb250LXN0eWxlOiAkYmFzZS1ibG9ja3F1b3RlLWZvbnQtc3R5bGU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtYmxvY2txdW90ZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtYmxvY2txdW90ZSgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgYmxvY2txdW90ZSB7IG1hcmdpbi10b3A6ICRiYXNlLWJsb2NrcXVvdGUtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBDb250ZW50XG4gKi9cblxuYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuYmxvY2txdW90ZSBmb290ZXIge1xuICAgIG1hcmdpbi10b3A6ICAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKTt9XG59XG5cblxuLyogUHJlZm9ybWF0dGVkIHRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICBmb250OiAkYmFzZS1wcmUtZm9udC1zaXplIHVucXVvdGUoXCIvXCIpICRiYXNlLXByZS1saW5lLWhlaWdodCAkYmFzZS1wcmUtZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRiYXNlLXByZS1jb2xvcjtcbiAgICAtbW96LXRhYi1zaXplOiA0O1xuICAgIHRhYi1zaXplOiA0O1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1wcmUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLXByZSgpO31cbn1cblxucHJlIGNvZGUgeyBmb250LWZhbWlseTogJGJhc2UtcHJlLWZvbnQtZmFtaWx5OyB9XG5cblxuLyogU2VsZWN0aW9uIHBzZXVkby1lbGVtZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXNlbGVjdGlvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1zZWxlY3Rpb24tY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cblxuLyogSFRNTDUgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmRldGFpbHMsIC8qIDEgKi9cbm1haW4geyAvKiAyICovXG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7IGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogUGFzcyBtZWRpYSBicmVha3BvaW50cyB0byBKU1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCcmVha3BvaW50c1xuICovXG5cbi51ay1icmVha3BvaW50LXM6OmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1zbWFsbH0nOyB9XG4udWstYnJlYWtwb2ludC1tOjpiZWZvcmUgIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQtbWVkaXVtfSc7IH1cbi51ay1icmVha3BvaW50LWw6OmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1sYXJnZX0nOyB9XG4udWstYnJlYWtwb2ludC14bDo6YmVmb3JlIHsgY29udGVudDogJyN7JGJyZWFrcG9pbnQteGxhcmdlfSc7IH1cblxuOnJvb3Qge1xuICAgIC0tdWstYnJlYWtwb2ludC1zOiAjeyRicmVha3BvaW50LXNtYWxsfTtcbiAgICAtLXVrLWJyZWFrcG9pbnQtbTogI3skYnJlYWtwb2ludC1tZWRpdW19O1xuICAgIC0tdWstYnJlYWtwb2ludC1sOiAjeyRicmVha3BvaW50LWxhcmdlfTtcbiAgICAtLXVrLWJyZWFrcG9pbnQteGw6ICN7JGJyZWFrcG9pbnQteGxhcmdlfTtcbn1cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFzZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtcHJlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1iYXNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ocigpe31cbiIsIiRnbG9iYWwtbWFyZ2luOiAyMHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRnbG9iYWwtZW1waGFzaXMtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1jb2xvcjogIzY2NiAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRlbnQtbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLWludmVyc2UtY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWFjY29yZGlvbi10aXRsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWNvbG9yOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWd1dHRlcjogMTVweCAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXJpZ2h0OiAkYWxlcnQtcGFkZGluZyArIDE0cHggIWRlZmF1bHQ7XG4kZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6ICNmOGY4ZjggIWRlZmF1bHQ7XG4kYWxlcnQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXRvcDogJGFsZXJ0LXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcmlnaHQ6ICRhbGVydC1wYWRkaW5nICFkZWZhdWx0O1xuJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICMxZTg3ZjAgIWRlZmF1bHQ7XG4kYWxlcnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiBsaWdodGVuKFxuICBtaXgod2hpdGUsICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCA0MCUpLFxuICAyMCVcbikgIWRlZmF1bHQ7XG4kYWxlcnQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZDogIzMyZDI5NiAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJhY2tncm91bmQ6IGxpZ2h0ZW4oXG4gIG1peCh3aGl0ZSwgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQsIDQwJSksXG4gIDI1JVxuKSAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kOiAjZmFhMDVhICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDogbGlnaHRlbihcbiAgbWl4KHdoaXRlLCAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCwgNDUlKSxcbiAgMTUlXG4pICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZDogI2YwNTA2ZSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItYmFja2dyb3VuZDogbGlnaHRlbihcbiAgbWl4KHdoaXRlLCAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kLCA0MCUpLFxuICAyMCVcbikgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1ndXR0ZXI6IDMwcHggIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1ndXR0ZXI6IDQwcHggIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjogMC44cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tc3Ryb2tlLWR1cmF0aW9uOiAycyAhZGVmYXVsdDtcbiRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb246IDE1cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjogMC4xcyAhZGVmYXVsdDtcbiRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlOiAxMHB4ICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiA1MHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1tYXJnaW46IDcwcHggIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tYXJnaW4tdG9wOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwteHhsYXJnZS1mb250LXNpemU6IDIuNjI1cmVtICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW06ICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemU6ICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZTogMC44NzVyZW0gIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZ2xvYmFsLW11dGVkLWNvbG9yOiAjOTk5ICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hcnRpY2xlLW1ldGEtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtYmFja2dyb3VuZDogI2ZmZiAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtbXV0ZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICMyMjIgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1zaXplOiAyMnB4ICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctdmVydGljYWw6IDAgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiA1cHggIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kYmFkZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhZGdlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLFxuICAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgJ05vdG8gU2FucycsIHNhbnMtc2VyaWYsICdBcHBsZSBDb2xvciBFbW9qaScsXG4gICdTZWdvZSBVSSBFbW9qaScsICdTZWdvZSBVSSBTeW1ib2wnLCAnTm90byBDb2xvciBFbW9qaScgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1jb2xvcjogIzFlODdmMCAhZGVmYXVsdDtcbiRiYXNlLWxpbmstY29sb3I6ICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yOiAjMGY2ZWNkICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRiYXNlLXN0cm9uZy1mb250LXdlaWdodDogYm9sZGVyICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGJhc2UtY29kZS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWVtLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtaW5zLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2Utc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tbWFyZ2luOiA0MHB4ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemUtbTogJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgxLWZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZS1tOiAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemU6ICRiYXNlLWgyLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgyLWxpbmUtaGVpZ2h0OiAxLjMgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJGJhc2UtaDMtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgzLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNC1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg0LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg2LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNi1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtbGlzdC1wYWRkaW5nLWxlZnQ6IDMwcHggIWRlZmF1bHQ7XG4kYmFzZS1oci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZ2xvYmFsLWJvcmRlcjogI2U1ZTVlNSAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLW1hcmdpbjogMTBweCAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLXByZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtZmFtaWx5OiAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ6ICMzOWYgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWJvcmRlcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6ICcvJyAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWZvbnQtc2l6ZTogJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRidXR0b24tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRidXR0b24tbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0IC1cbiAgKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0OiA1NXB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAtXG4gICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKFxuICAkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCxcbiAgNSVcbikgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKFxuICAkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCxcbiAgMTAlXG4pICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oXG4gICRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsXG4gIDUlXG4pICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oXG4gICRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsXG4gIDEwJVxuKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oXG4gICRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsXG4gIDEwJVxuKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstY29sb3I6ICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKFxuICAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLFxuICA1JVxuKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oXG4gICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsXG4gIDEwJVxuKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKFxuICAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsXG4gIDUlXG4pICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oXG4gICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCxcbiAgMTAlXG4pICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS10b3A6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtcmlnaHQ6ICRjYXJkLWJhZGdlLXRvcCAhZGVmYXVsdDtcbiRjYXJkLWhvdmVyLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LXRpdGxlLWNvbG9yOiAkY2FyZC1wcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtZ3V0dGVyOiA3MHB4ICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNsb3NlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY29sdW1uLWd1dHRlcjogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWd1dHRlci1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjb21tZW50LWhlYWRlci1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LW1hcmdpbi10b3A6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQ6IDMwcHggIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdC1tOiAxMDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItbWF4LXdpZHRoOiAxMjAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGg6IDc1MHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGg6IDkwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg6IDE0MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXIteGxhcmdlLW1heC13aWR0aDogMTYwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWxpbmUtaGVpZ2h0OiAwLjggIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtczogNHJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1tOiA2cmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItbGluZS1oZWlnaHQ6IDEuNiAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW06IDNyZW0gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi13aWR0aDogNTBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24taGVpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1jb2xvcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZTogJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBJyAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLXdpZHRoOiAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtaGVpZ2h0OiAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1zbWFsbC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDogJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS13aWR0aDogMTBweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICRkb3RuYXYtaXRlbS13aWR0aCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoXG4gICRpbnZlcnNlLWdsb2JhbC1jb2xvcixcbiAgMC45XG4pICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiByZ2JhKFxuICAkaW52ZXJzZS1nbG9iYWwtY29sb3IsXG4gIDAuNVxuKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiByZ2JhKFxuICAkaW52ZXJzZS1nbG9iYWwtY29sb3IsXG4gIDAuOVxuKSAhZGVmYXVsdDtcbiRnbG9iYWwtei1pbmRleDogMTAwMCAhZGVmYXVsdDtcbiRkcm9wLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Atd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJGRyb3AtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkcm9wZG93bi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmc6IDI1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6IDNweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbihcbiAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLFxuICAxNSVcbikgIWRlZmF1bHQ7XG4kZm9ybS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tbGluZS1oZWlnaHQ6ICRmb3JtLWhlaWdodCAtICgyICogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctdmVydGljYWw6IDRweCAhZGVmYXVsdDtcbiRmb3JtLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiA4cHggIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1saW5lLWhlaWdodDogJGZvcm0tc21hbGwtaGVpZ2h0IC0gKDIgKiAkZm9ybS1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OiAkZm9ybS1sYXJnZS1oZWlnaHQgLSAoMiAqICRmb3JtLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0td2lkdGgteHNtYWxsOiA1MHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtc21hbGw6IDEzMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbWVkaXVtOiAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLWxhcmdlOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3Qtb3B0aW9uLWNvbG9yOiAjNDQ0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1kYXRhbGlzdC1wYWRkaW5nLXJpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLXNpemU6IDE2cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1tYXJnaW4tdG9wOiAtNHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbihcbiAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsXG4gIDEwJVxuKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1sZWdlbmQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiA1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDogN3B4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDogMjE1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A6IDdweCAhZGVmYXVsdDtcbiRmb3JtLWljb24td2lkdGg6ICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlOiAnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEEnICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tZGF0YWxpc3QtaW1hZ2U6ICdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEyJTIwOCUyMDYlMjAxNiUyMDYlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEEnICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6ICdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJyAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlOiAnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBJyAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2U6ICdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UnICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWRhdGFsaXN0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDogZGFya2VuKFxuICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCxcbiAgNSVcbikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiBkYXJrZW4oXG4gICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsXG4gIDEwJVxuKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0taWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRncmlkLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWw6IDRyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1zbWFsbC1mb250LXNpemUtbTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44MTI1ICFkZWZhdWx0O1xuJGhlYWRpbmctc21hbGwtZm9udC1zaXplOiAkaGVhZGluZy1zbWFsbC1mb250LXNpemUtbSAqIDAuOCAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44NzUgIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLW0gKiAwLjgyNSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgIWRlZmF1bHQ7XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWw6IDZyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLW06ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1sICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbDogOHJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLW06ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbCAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLWw6IDExcmVtICFkZWZhdWx0O1xuJGhlYWRpbmctc21hbGwtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tOiB1bnF1b3RlKCdjYWxjKDVweCArIDAuMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6IHVucXVvdGUoJ2NhbGMoMC4ycHggKyAwLjA1ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtdG9wOiB1bnF1b3RlKCdjYWxjKC0wLjEgKiAxZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtaGVpZ2h0OiB1bnF1b3RlKCdjYWxjKDRweCArIDAuN2VtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDogdW5xdW90ZSgnY2FsYyg1cHggKyAwLjJlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXItd2lkdGg6IHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4xZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLWJvcmRlci13aWR0aDogdW5xdW90ZSgnY2FsYygwLjJweCArIDAuMDVlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtaGVpZ2h0OiAkaGVhZGluZy1saW5lLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtd2lkdGg6IDIwMDBweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw6IHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4zZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sOiAzLjc1cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodC1sOiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC45ICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWwgKiAwLjggIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sOiA4cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1sOiAxICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemUtbTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNzUgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW06IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWxpbmUtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlaWdodC1zbWFsbC1oZWlnaHQ6IDE1MHB4ICFkZWZhdWx0O1xuJGhlaWdodC1tZWRpdW0taGVpZ2h0OiAzMDBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbGFyZ2UtaGVpZ2h0OiA0NTBweCAhZGVmYXVsdDtcbiRpY29uLWltYWdlLXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstYWN0aXZlLWNvbG9yOiBkYXJrZW4oJGdsb2JhbC1jb2xvciwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLXNpemU6IDM2cHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbihcbiAgJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCxcbiAgNSVcbikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbihcbiAgJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCxcbiAgMTAlXG4pICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4tdmVydGljYWw6ICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy12ZXJ0aWNhbDogMCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxhYmVsLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGFiZWwtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtY29udGVudDogdW5xdW90ZSgnLicpICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0OiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRsaWdodGJveC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRsaWdodGJveC1iYWNrZ3JvdW5kOiAjMDAwICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC13aWR0aDogMTAwdncgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1tYXgtaGVpZ2h0OiAxMDB2aCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1zaXplOiA1MHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kOiAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1ob3Zlci1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbGluay10ZXh0LWhvdmVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGluay1oZWFkaW5nLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3QtbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1uZXN0ZWQtcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtd2lkdGg6ICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1oZWlnaHQ6ICRsaXN0LWJ1bGxldC13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1tYXJnaW4tcmlnaHQ6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlOiAnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjI2JTIyJTIwaGVpZ2h0JTNEJTIyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYlMjA2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJyAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbWFyZ2luLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXNtYWxsLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLW1lZGl1bS1tYXJnaW46ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLWxhcmdlLW1hcmdpbi1sOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbjogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1tYXJnaW46IDE0MHB4ICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJrZXItcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG1hcmtlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1hcmtlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJG1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNikgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWw6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zOiA1MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1jb250YWluZXItd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBvc2l0aW9uOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogMTAwJSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yOiBsaWdodGVuKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0OiAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAycHggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWhlaWdodDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2U6ICdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTQlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDE0JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5bGluZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjEuMSUyMiUyMHBvaW50cyUzRCUyMjEwJTIwMSUyMDQlMjA3JTIwMTAlMjAxMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRScgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlOiAnZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRScgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1jb2xvci1tb2RlOiBub25lICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ6IDgwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pdGVtLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItc3VidGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbWFyZ2luOiAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nOiAyNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAoXG4gICRuYXZiYXItZHJvcGRvd24tcGFkZGluZyAqIDJcbikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDogMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tYm90dG9tOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLWJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tcG9zaXRpb246IDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDQwICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi13aWR0aDogMzUwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLXRvcDogMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtdG9wOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItd2lkdGg6IDI3MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItd2lkdGgtbTogMzUwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uOiAyMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZy1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcG9zaXRpb24tc21hbGwtbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW46ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sOiA1MHB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLWhlaWdodDogMTVweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC13aWR0aDogMTgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDogNnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6ICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci13aWR0aDogNDAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS13aWR0aDogNTAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWhlaWdodDogODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aDogODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAoXG4gICRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luXG4pICFkZWZhdWx0O1xuJHNlY3Rpb24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1tdXRlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHNsaWRlbmF2LXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtY29sb3I6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1ob3Zlci1jb2xvcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAkc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWNvbG9yOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45NSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJHNvcnRhYmxlLWRyYWdnZWQtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgNTAgIWRlZmF1bHQ7XG4kc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTogMCAhZGVmYXVsdDtcbiRzb3J0YWJsZS1lbXB0eS1oZWlnaHQ6IDUwcHggIWRlZmF1bHQ7XG4kc3Bpbm5lci1zaXplOiAzMHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc3Ryb2tlLXdpZHRoOiAxICFkZWZhdWx0O1xuJHNwaW5uZXItcmFkaXVzOiBmbG9vcigoJHNwaW5uZXItc2l6ZSAtICRzcGlubmVyLXN0cm9rZS13aWR0aCkgLyAyKSAhZGVmYXVsdDtcbiRzcGlubmVyLWNpcmN1bWZlcmVuY2U6IHJvdW5kKDIgKiAzLjE0MSAqICRzcGlubmVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kc3Bpbm5lci1kdXJhdGlvbjogMS40cyAhZGVmYXVsdDtcbiRzdGlja3ktei1pbmRleDogJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XG4kc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycyAhZGVmYXVsdDtcbiRzdGlja3ktcmV2ZXJzZS1hbmltYXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDogMS41ZW0gIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogJHN1Ym5hdi1pdGVtLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiR0YWItaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogMTZweCAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJHRhYmxlLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctdmVydGljYWw6IDIycHggIWRlZmF1bHQ7XG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtZXhwYW5kLW1pbi13aWR0aDogMTUwcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtY2FwdGlvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiBmYWRlLW91dChcbiAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsXG4gIDAuMDJcbikgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtZW1waGFzaXMtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbGVhZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LWVtcGhhc2lzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWw6ICR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAoXG4gICRnbG9iYWwtbGFyZ2UtbWFyZ2luICsgJGdsb2JhbC14bGFyZ2UtbWFyZ2luXG4pICFkZWZhdWx0O1xuJHRpbGUtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1tdXRlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHRvb2x0aXAtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMzAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbDogM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kOiAjNjY2ICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZTogMTJweCAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogMTBweCAhZGVmYXVsdDtcbiR0b3RvcC1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kdG90b3AtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdG90b3AtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdG90b3AtYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2NhbGU6IDEuMSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogMTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6IDUwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOiAwLjdzICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0OiAxNzBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1kdXJhdGlvbjogMC4xcyAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1czogMTAwJSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kOiAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6IDIwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1tYXJnaW4tcmlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1mb250LXNpemU6ICgoJGdsb2JhbC1saW5lLWhlaWdodCAqIDMpICogMWVtKSAhZGVmYXVsdDtcbiRsb2dvLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbG9nby1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsb2dvLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxvZ28taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJhZ292ZXItYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjMpICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRlcHJlY2F0ZWQ6IGZhbHNlICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtc21hbGw6IDY0MHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbWVkaXVtOiA5NjBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlOiAxMjAwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC14bGFyZ2U6IDE2MDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LXhzbWFsbC1tYXg6ICgkYnJlYWtwb2ludC1zbWFsbCAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtc21hbGwtbWF4OiAoJGJyZWFrcG9pbnQtbWVkaXVtIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1tZWRpdW0tbWF4OiAoJGJyZWFrcG9pbnQtbGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlLW1heDogKCRicmVha3BvaW50LXhsYXJnZSAtIDEpICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzogMCAxNHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE2KSAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c6IDAgMjhweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4xNikgIWRlZmF1bHQ7XG4kd2lkdGgtc21hbGwtd2lkdGg6IDE1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLW1lZGl1bS13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbGFyZ2Utd2lkdGg6IDQ1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLXhsYXJnZS13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG4kd2lkdGgteHhsYXJnZS13aWR0aDogNzUwcHggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tbWFyZ2luLWxlZnQ6IDEwcHggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtYWNjb3JkaW9uLW9wZW4taW1hZ2U6ICdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMyUyMDEzJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjYlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UnICFkZWZhdWx0O1xuJGludGVybmFsLWFjY29yZGlvbi1jbG9zZS1pbWFnZTogJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMSUyMiUyMGhlaWdodCUzRCUyMjEzJTIyJTIweCUzRCUyMjYlMjIlMjB5JTNEJTIyMCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRScgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2Utb3BhY2l0eTogMC40ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWhvdmVyLW9wYWNpdHk6IDAuOCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluay1jb2xvcjogJGFydGljbGUtbWV0YS1jb2xvciAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kYmFzZS1jb2RlLXBhZGRpbmctdmVydGljYWw6IDJweCAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtcHJlLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAyMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMzAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWJvcmRlcjogJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtaG92ZXItYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY29tbWVudC1wcmltYXJ5LXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbW1lbnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNCkgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAxMCUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1kYW5nZXItYm9yZGVyOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1ib3JkZXI6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlci1zdHlsZTogZGFzaGVkICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAxMCUpICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZm9jdXMtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWxhYmVsLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJGxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLWJveC1zaGFkb3c6IDAgNXB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMDUpICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlcjogJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdGFiLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFiLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWItaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYi1pdGVtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWJvcmRlcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmstY29sb3I6ICR0ZXh0LW1ldGEtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGh1bWJuYXYtaXRlbS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC40KSAhZGVmYXVsdDtcbiR0aHVtYm5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRodW1ibmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuIiwiQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUoKXtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB3aWR0aDogKCRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQgKiAxZW0pO1xuICAgICAgICBoZWlnaHQ6ICgkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0ICogMWVtKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRhY2NvcmRpb24taWNvbi1tYXJnaW4tbGVmdDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJGFjY29yZGlvbi1pY29uLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICB9XG5cbiAgICAudWstb3BlbiA+ICY6OmJlZm9yZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1hY2NvcmRpb24tb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRhY2NvcmRpb24taWNvbi1jb2xvcik7IH1cblxufVxuQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYWNjb3JkaW9uKCl7XG5cbiAgICAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZ2xvYmFsLWNvbG9yKTsgfVxuXG4gICAgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtYWNjb3JkaW9uLW9wZW4taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1nbG9iYWwtY29sb3IpOyB9XG5cbn1cbkBtaXhpbiBob29rLWFsZXJ0KCl7fVxuQG1peGluIGhvb2stYWxlcnQtY2xvc2UoKXtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBvcGFjaXR5OiAkYWxlcnQtY2xvc2Utb3BhY2l0eTtcbn1cbkBtaXhpbiBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCl7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgb3BhY2l0eTogJGFsZXJ0LWNsb3NlLWhvdmVyLW9wYWNpdHk7XG59XG5AbWl4aW4gaG9vay1hbGVydC1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stYWxlcnQtc3VjY2Vzcygpe31cbkBtaXhpbiBob29rLWFsZXJ0LXdhcm5pbmcoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1taXNjKCl7XG5cbiAgICAvKlxuICAgICAqIENvbnRlbnRcbiAgICAgKi9cblxuICAgIC51ay1hbGVydCBoMSxcbiAgICAudWstYWxlcnQgaDIsXG4gICAgLnVrLWFsZXJ0IGgzLFxuICAgIC51ay1hbGVydCBoNCxcbiAgICAudWstYWxlcnQgaDUsXG4gICAgLnVrLWFsZXJ0IGg2IHsgY29sb3I6IGluaGVyaXQ7IH1cblxuICAgIC51ay1hbGVydCBhOm5vdChbY2xhc3NdKSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAudWstYWxlcnQgYTpub3QoW2NsYXNzXSk6aG92ZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fVxuQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlKCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWFydGljbGUtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLW1ldGEoKXtcblxuICAgIGEgeyBjb2xvcjogJGFydGljbGUtbWV0YS1saW5rLWNvbG9yOyB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRhcnRpY2xlLW1ldGEtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stYXJ0aWNsZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hcnRpY2xlKCl7XG5cbiAgICAudWstYXJ0aWNsZS10aXRsZSAge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCk7fVxuICAgIH1cblxuICAgIC51ay1hcnRpY2xlLW1ldGEgIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1iYWNrZ3JvdW5kLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1iYWRnZSgpe31cbkBtaXhpbiBob29rLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYmFkZ2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFkZ2UoKXtcblxuICAgIC51ay1iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYWRnZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhZGdlKCk7fVxuICAgIH1cblxuICAgIC51ay1iYWRnZTpob3ZlcixcbiAgICAudWstYmFkZ2U6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYWRnZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJhc2UtYm9keSgpe31cbkBtaXhpbiBob29rLWJhc2UtbGluaygpe31cbkBtaXhpbiBob29rLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJhc2UtY29kZSgpe1xuICAgIHBhZGRpbmc6ICRiYXNlLWNvZGUtcGFkZGluZy12ZXJ0aWNhbCAkYmFzZS1jb2RlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1jb2RlLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuQG1peGluIGhvb2stYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuQG1peGluIGhvb2stYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7XG4gICAgY29sb3I6ICRiYXNlLWJsb2NrcXVvdGUtY29sb3I7XG59XG5AbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7XG5cbiAgICBjb2xvcjogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I7XG5cbiAgICAmOjpiZWZvcmUgeyBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG59XG5AbWl4aW4gaG9vay1iYXNlLXByZSgpe1xuICAgIHBhZGRpbmc6ICRiYXNlLXByZS1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGJhc2UtcHJlLWJvcmRlci13aWR0aCBzb2xpZCAkYmFzZS1wcmUtYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYXNlLXByZS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLXByZS1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7XG4gICAgYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpeyBjb2xvcjogJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFzZSgpe1xuXG4gICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtY29sb3I7XG5cbiAgICAvLyBCYXNlXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgYSxcbiAgICAudWstbGluayAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtbGluaygpO31cbiAgICB9XG5cbiAgICBhOmhvdmVyLFxuICAgIC51ay1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBDb2RlXG4gICAgLy9cblxuICAgIDpub3QocHJlKSA+IGNvZGUsXG4gICAgOm5vdChwcmUpID4ga2JkLFxuICAgIDpub3QocHJlKSA+IHNhbXAge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1jb2RlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWNvZGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtY29kZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEVtcGhhc2l6ZVxuICAgIC8vXG5cbiAgICBlbSB7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWVtLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIEhlYWRpbmdzXG4gICAgLy9cblxuICAgIGgxLCAudWstaDEsXG4gICAgaDIsIC51ay1oMixcbiAgICBoMywgLnVrLWgzLFxuICAgIGg0LCAudWstaDQsXG4gICAgaDUsIC51ay1oNSxcbiAgICBoNiwgLnVrLWg2LFxuICAgIC51ay1oZWFkaW5nLXNtYWxsLFxuICAgIC51ay1oZWFkaW5nLW1lZGl1bSxcbiAgICAudWstaGVhZGluZy1sYXJnZSxcbiAgICAudWstaGVhZGluZy14bGFyZ2UsXG4gICAgLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKCk7fVxuICAgIH1cblxuICAgIGgxLCAudWstaDEge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWgxKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWgxKCk7fVxuICAgIH1cblxuICAgIGgyLCAudWstaDIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWgyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWgyKCk7fVxuICAgIH1cblxuICAgIGgzLCAudWstaDMge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWgzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWgzKCk7fVxuICAgIH1cblxuICAgIGg0LCAudWstaDQge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWg0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWg0KCk7fVxuICAgIH1cblxuICAgIGg1LCAudWstaDUge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWg1KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWg1KCk7fVxuICAgIH1cblxuICAgIGg2LCAudWstaDYge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWg2KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWg2KCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gQmxvY2txdW90ZXNcbiAgICAvL1xuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCk7fVxuICAgIH1cblxuICAgIGJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEhvcml6b250YWwgcnVsZXNcbiAgICAvL1xuXG4gICAgaHIsIC51ay1ociB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWJhc2UtaHItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWhyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWhyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYnJlYWRjcnVtYigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbSgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJyZWFkY3J1bWIoKXtcblxuICAgIC51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlclxuICAgIC8vXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uKCl7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRidXR0b24tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWZvY3VzKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0KCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgJGJ1dHRvbi1kZWZhdWx0LWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnkoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5KCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXIoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1zbWFsbCgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1sYXJnZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0KCl7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRidXR0b24tdGV4dC1ib3JkZXItd2lkdGggc29saWQgJGJ1dHRvbi10ZXh0LWJvcmRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4zcyBlYXNlLW91dDtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7XG5cbiAgICAmOjpiZWZvcmUgeyByaWdodDogMDsgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpe1xuXG4gICAgJjo6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1taXNjKCl7XG5cbiAgICAvKiBHcm91cFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBDb2xsYXBzZSBib3JkZXJcbiAgICAgKi9cblxuICAgIC51ay1idXR0b24tZ3JvdXAgPiAudWstYnV0dG9uOm50aC1jaGlsZChuKzIpLFxuICAgIC51ay1idXR0b24tZ3JvdXAgPiBkaXY6bnRoLWNoaWxkKG4rMikgLnVrLWJ1dHRvbiB7IG1hcmdpbi1sZWZ0OiAoLSRidXR0b24tYm9yZGVyLXdpZHRoKTsgfVxuXG4gICAgLypcbiAgICAgKiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCB0byBzdXBlcmltcG9zZSB0aGUgc3VjY2Vzc29yIGVsZW1lbnRzIGJvcmRlclxuICAgICAqIEtub3duIGlzc3VlOiBJZiB5b3UgdXNlIGFuIGBhYCBlbGVtZW50IGFzIGJ1dHRvbiBhbmQgYW4gaWNvbiBpbnNpZGUsXG4gICAgICogdGhlIGFjdGl2ZSBzdGF0ZSB3aWxsIG5vdCB3b3JrIGlmIHlvdSBjbGljayB0aGUgaWNvbiBpbnNpZGUgdGhlIGJ1dHRvblxuICAgICAqIFdvcmthcm91bmQ6IEp1c3QgdXNlIGEgYGJ1dHRvbmAgb3IgYGlucHV0YCBlbGVtZW50IGFzIGJ1dHRvblxuICAgICAqL1xuXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmhvdmVyLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjpmb2N1cyxcbiAgICAudWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246YWN0aXZlLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbi51ay1hY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCl7XG4gICAgJjo6YmVmb3JlIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1idXR0b24oKXtcblxuICAgIC8vXG4gICAgLy8gRGVmYXVsdFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUHJpbWFyeVxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXByaW1hcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gU2Vjb25kYXJ5XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlcixcbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLFxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVGV4dFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXRleHQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXRleHQ6aG92ZXIsXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBMaW5rXG4gICAgLy9cblxuICAgIC51ay1idXR0b24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tbGluay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1saW5rKCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tbGluazpob3ZlcixcbiAgICAudWstYnV0dG9uLWxpbms6Zm9jdXMgeyBjb2xvcjogJGludmVyc2UtYnV0dG9uLWxpbmstaG92ZXItY29sb3I7IH1cblxuXG59XG5AbWl4aW4gaG9vay1jYXJkKCl7IHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLWluLW91dDsgfVxuQG1peGluIGhvb2stY2FyZC1ib2R5KCl7fVxuQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLXRvcCgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpe31cbkBtaXhpbiBob29rLWNhcmQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWJhZGdlKCl7fVxuQG1peGluIGhvb2stY2FyZC1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQoKXsgYm94LXNoYWRvdzogJGNhcmQtZGVmYXVsdC1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKXsgYm94LXNoYWRvdzogJGNhcmQtZGVmYXVsdC1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCl7IGJvcmRlci1ib3R0b206ICRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1mb290ZXIoKXsgYm9yZGVyLXRvcDogJGNhcmQtZGVmYXVsdC1mb290ZXItYm9yZGVyLXdpZHRoICBzb2xpZCAkY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeSgpeyBib3gtc2hhZG93OiAkY2FyZC1wcmltYXJ5LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1wcmltYXJ5LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5KCl7IGJveC1zaGFkb3c6ICRjYXJkLXNlY29uZGFyeS1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLXNlY29uZGFyeS1ob3Zlci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1jYXJkLW1pc2MoKXtcblxuICAgIC8qXG4gICAgICogRGVmYXVsdFxuICAgICAqL1xuXG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsKTtcbiAgICB9XG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwgKyAxNXB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogKC0kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwgKyAxNXB4KTtcbiAgICB9XG5cbiAgICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB9XG5cbiAgICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQgKyAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbiAgICAvKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgICAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWwpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAoLSRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWwpO1xuICAgICAgICB9XG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICsgMTVweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICsgMTVweCk7XG4gICAgICAgIH1cblxuICAgICAgICAudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAgICAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgICAgIC51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0ICsgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBTbWFsbFxuICAgICAqL1xuXG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKC0kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogKC0kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgfVxuICAgIC51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgIH1cblxuICAgIC51ay1jYXJkLXNtYWxsIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAudWstY2FyZC1zbWFsbCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gICAgLnVrLWNhcmQtc21hbGwgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cblxuICAgIC51ay1jYXJkLXNtYWxsIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQgKyAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4gICAgLypcbiAgICAgKiBMYXJnZVxuICAgICAqL1xuXG4gICAgLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQgeyBtYXJnaW46IDA7IH1cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQ6b25seS1jaGlsZCB7IG1hcmdpbjogMDsgfVxuXG4gICAgICAgIC51ay1jYXJkLWxhcmdlIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAgICAgICAudWstY2FyZC1sYXJnZSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudWstY2FyZC1sYXJnZSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0OyB9XG5cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNsb3NlKCl7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgb3BhY2l0eTtcbn1cbkBtaXhpbiBob29rLWNsb3NlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stY2xvc2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY2xvc2UoKXtcblxuICAgIC51ay1jbG9zZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1jbG9zZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNsb3NlKCk7fVxuICAgIH1cblxuICAgIC51ay1jbG9zZTpob3ZlcixcbiAgICAudWstY2xvc2U6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jbG9zZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNvbHVtbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY29sdW1uKCl7XG5cbiAgICAudWstY29sdW1uLWRpdmlkZXIgeyBjb2x1bW4tcnVsZS1jb2xvcjogJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjsgfVxuXG59XG5AbWl4aW4gaG9vay1jb21tZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1ib2R5KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1tZXRhKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1hdmF0YXIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtcHJpbWFyeSgpe1xuICAgIHBhZGRpbmc6ICRjb21tZW50LXByaW1hcnktcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29tbWVudC1wcmltYXJ5LWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1jb21tZW50LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1jb250YWluZXItbWlzYygpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1pdGVtKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLW51bWJlcigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWNvdW50ZG93bigpe1xuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIsXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLWxhYmVsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1jb3Zlci1taXNjKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKCl7XG4gICAgZm9udC1zaXplOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXdlaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS10ZXh0LXRyYW5zZm9ybTtcbn1cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpe31cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpe31cbkBtaXhpbiBzdmctZmlsbCgkc3JjLCAkY29sb3ItZGVmYXVsdCwgJGNvbG9yLW5ldywgJHByb3BlcnR5OiBiYWNrZ3JvdW5kLWltYWdlKXtcblxuICAgICRlc2NhcGUtY29sb3ItZGVmYXVsdDogIGVzY2FwZSgkY29sb3ItZGVmYXVsdCkgIWRlZmF1bHQ7XG4gICAgJGVzY2FwZS1jb2xvci1uZXc6ICBlc2NhcGUoXCIjeyRjb2xvci1uZXd9XCIpICFkZWZhdWx0O1xuXG4gICAgJGRhdGEtdXJpOiAgZGF0YS11cmkoJ2ltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCcsIFwiI3skc3JjfVwiKSAhZGVmYXVsdDtcbiAgICAkcmVwbGFjZS1zcmM6ICByZXBsYWNlKFwiI3skZGF0YS11cml9XCIsIFwiI3skZXNjYXBlLWNvbG9yLWRlZmF1bHR9XCIsIFwiI3skZXNjYXBlLWNvbG9yLW5ld31cIiwgXCJnXCIpICFkZWZhdWx0O1xuXG4gICAgI3skcHJvcGVydHl9OiB1bnF1b3RlKCRyZXBsYWNlLXNyYyk7XG59XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZSgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZGl2aWRlcigpe1xuXG4gICAgLnVrLWRpdmlkZXItaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4gICAgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLWljb24tbGluZS1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCgpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci12ZXJ0aWNhbCB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci12ZXJ0aWNhbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci12ZXJ0aWNhbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWRvdG5hdigpe31cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtKCl7XG4gICAgYm9yZGVyOiAkZG90bmF2LWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkICRkb3RuYXYtaXRlbS1ib3JkZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG59XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1ob3ZlcigpeyBib3JkZXItY29sb3I6ICRkb3RuYXYtaXRlbS1ob3Zlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKXsgYm9yZGVyLWNvbG9yOiAkZG90bmF2LWl0ZW0tb25jbGljay1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRkb3RuYXYtaXRlbS1hY3RpdmUtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1kb3RuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXsgYm9yZGVyLWNvbG9yOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KTsgfVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcigpeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2soKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZG90bmF2KCl7XG5cbiAgICAudWstZG90bmF2ID4gKiA+ICoge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCk7fVxuICAgIH1cblxuICAgIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWRyb3AtbWlzYygpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duKCl7IGJveC1zaGFkb3c6ICRkcm9wZG93bi1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYoKXsgZm9udC1zaXplOiAkZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTsgfVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mbGV4LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10aHVtYigpeyBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2soKXsgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czsgfVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtbWlzYygpe31cbkBtaXhpbiBob29rLWZvcm0oKXtcbiAgICBib3JkZXI6ICRmb3JtLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1ib3JkZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyO1xufVxuQG1peGluIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpe31cbkBtaXhpbiBob29rLWZvcm0tbXVsdGktbGluZSgpe31cbkBtaXhpbiBob29rLWZvcm0tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tZGlzYWJsZWQoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tZGFuZ2VyKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tZGFuZ2VyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1zdWNjZXNzKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tc3VjY2Vzcy1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tYmxhbmsoKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stZm9ybS1ibGFuay1mb2N1cygpe1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyO1xuICAgIGJvcmRlci1zdHlsZTogJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyLXN0eWxlO1xufVxuQG1peGluIGhvb2stZm9ybS1yYWRpbygpe1xuICAgIGJvcmRlcjogJGZvcm0tcmFkaW8tYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLXJhZGlvLWJvcmRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjtcbn1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1yYWRpby1mb2N1cy1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpeyBib3JkZXItY29sb3I6ICRmb3JtLXJhZGlvLWNoZWNrZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tcmFkaW8tZGlzYWJsZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWxlZ2VuZCgpe31cbkBtaXhpbiBob29rLWZvcm0tbGFiZWwoKXtcbiAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG4gICAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG59XG5AbWl4aW4gaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1mb3JtLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0oKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpbygpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWxhYmVsKCl7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLWxhYmVsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1mb3JtKCl7XG5cbiAgICAudWstaW5wdXQsXG4gICAgLnVrLXNlbGVjdCxcbiAgICAudWstdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1mb3JtLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtKCk7fVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6ICRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I7XG4gICAgICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCk7fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQbGFjZWhvbGRlclxuICAgIC8vXG5cbiAgICAudWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuICAgIC51ay10ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBTZWxlY3RcbiAgICAvL1xuXG4gICAgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBEYXRhbGlzdFxuICAgIC8vXG5cbiAgICAudWstaW5wdXRbbGlzdF06aG92ZXIsXG4gICAgLnVrLWlucHV0W2xpc3RdOmZvY3VzIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tZGF0YWxpc3QtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLWRhdGFsaXN0LWljb24tY29sb3IpOyB9XG5cbiAgICAvL1xuICAgIC8vIFJhZGlvIGFuZCBjaGVja2JveFxuICAgIC8vXG5cbiAgICAudWstcmFkaW8sXG4gICAgLnVrLWNoZWNrYm94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCk7fVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgLnVrLXJhZGlvOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDpmb2N1cyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLy8gQ2hlY2tlZFxuICAgIC51ay1yYWRpbzpjaGVja2VkLFxuICAgIC51ay1jaGVja2JveDpjaGVja2VkLFxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCk7fVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLy8gSWNvblxuICAgIC51ay1yYWRpbzpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG5cbiAgICAvLyBMYWJlbFxuICAgIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpO31cbiAgICB9XG5cbiAgICAvLyBJY29uXG4gICAgLnVrLWZvcm0taWNvbiB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLWljb24tY29sb3I7IH1cbiAgICAudWstZm9ybS1pY29uOmhvdmVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0taWNvbi1ob3Zlci1jb2xvcjsgfVxuXG59XG5AbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1ncmlkKCl7XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7IH1cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI7IH1cblxufVxuQG1peGluIGhvb2staGVhZGluZy1zbWFsbCgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctbWVkaXVtKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1sYXJnZSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmcteGxhcmdlKCl7fVxuQG1peGluIGhvb2staGVhZGluZy0yeGxhcmdlKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staGVhZGluZy1oZXJvKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctc21hbGwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbWVkaXVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxhcmdlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXhsYXJnZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWhlYWRpbmcoKXtcblxuICAgIC51ay1oZWFkaW5nLXNtYWxsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1zbWFsbCgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1tZWRpdW0ge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLW1lZGl1bSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1tZWRpdW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctbGFyZ2Uge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWxhcmdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWxhcmdlKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLXhsYXJnZSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmcteGxhcmdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXhsYXJnZSgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy0yeGxhcmdlIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKTt9XG4gICAgfVxuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7IC51ay1oZWFkaW5nLXByaW1hcnkgeyBAaWYgKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKTt9fX1cblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkgeyAudWstaGVhZGluZy1oZXJvIHsgQGlmIChtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCk7fX19XG5cbiAgICAudWstaGVhZGluZy1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGludmVyc2UtaGVhZGluZy1idWxsZXQtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLFxuICAgIC51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1saW5lKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1oZWlnaHQtbWlzYygpe31cbkBtaXhpbiBob29rLWljb24tbGluaygpe31cbkBtaXhpbiBob29rLWljb24tbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb24tbGluay1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbigpe1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG59XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbigpe1xuXG4gICAgLy9cbiAgICAvLyBMaW5rXG4gICAgLy9cblxuICAgIC51ay1pY29uLWxpbmsge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluaygpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1saW5rOmhvdmVyLFxuICAgIC51ay1pY29uLWxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluay1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1saW5rOmFjdGl2ZSxcbiAgICAudWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gQnV0dG9uXG4gICAgLy9cblxuICAgIC51ay1pY29uLWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWJ1dHRvbjpob3ZlcixcbiAgICAudWstaWNvbi1idXR0b246Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbi1idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staWNvbm5hdigpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29ubmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbm5hdigpe1xuXG4gICAgLnVrLWljb25uYXYgPiAqID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLWljb25uYXYgPiAqID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxpbmsoKXtcblxuICAgIC51ay1saW5rLW11dGVkLFxuICAgIC51ay1saW5rLW11dGVkIGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay1tdXRlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1tdXRlZCgpO31cbiAgICB9XG5cbiAgICAudWstbGluay1tdXRlZDpob3ZlcixcbiAgICAudWstbGluay1tdXRlZCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpbmstdGV4dDpob3ZlcixcbiAgICAudWstbGluay10ZXh0IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay10ZXh0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbGluay1oZWFkaW5nOmhvdmVyLFxuICAgIC51ay1saW5rLWhlYWRpbmcgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGlzdCgpe1xuXG4gICAgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDsgfVxuXG4gICAgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saXN0LWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGlzdC1idWxsZXQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10b3RvcCgpe1xuXG4gICAgLnVrLXRvdG9wIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRvdG9wLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdG90b3AoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRvdG9wOmhvdmVyLFxuICAgIC51ay10b3RvcDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3AtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10b3RvcDphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxhYmVsKCl7XG5cbiAgICAudWstbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGFiZWwtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNlYXJjaCgpe1xuXG4gICAgLy9cbiAgICAvLyBJbnB1dFxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLWlucHV0IHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1jb2xvcjsgfVxuXG4gICAgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4gICAgLy9cbiAgICAvLyBJY29uXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOyB9XG4gICAgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gU3R5bGUgbW9kaWZpZXJcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG4gICAgfVxuICAgIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVG9nZ2xlXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW5hdigpe1xuXG4gICAgLy9cbiAgICAvLyBQYXJlbnQgaWNvbiBtb2RpZmllclxuICAgIC8vXG5cbiAgICAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBEZWZhdWx0XG4gICAgLy9cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlcixcbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFByaW1hcnlcbiAgICAvL1xuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlcixcbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2YmFyKCl7XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLWl0ZW0ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuICAgIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuICAgIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXN1Ym5hdigpe1xuXG4gICAgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXZpZGVyXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFBpbGxcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGlzYWJsZWRcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXBhZ2luYXRpb24oKXtcblxuICAgIC51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFiKCl7XG5cbiAgICAudWstdGFiIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuICAgIC51ay10YWIgPiAqID4gYTpmb2N1c3tcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCl7XG5cbiAgICAudWstc2xpZGVuYXYge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdigpO31cbiAgICB9XG5cbiAgICAudWstc2xpZGVuYXY6aG92ZXIsXG4gICAgLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNsaWRlbmF2OmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpe1xuXG4gICAgLnVrLXRleHQtbGVhZCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGV4dC1sZWFkKCk7fVxuICAgIH1cblxuICAgIC51ay10ZXh0LW1ldGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpO31cbiAgICB9XG5cbiAgICAudWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1lbXBoYXNpcyB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LWVtcGhhc2lzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtc2Vjb25kYXJ5IHsgY29sb3I6ICRpbnZlcnNlLXRleHQtc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdXRpbGl0eSgpe1xuXG4gICAgLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbiAgICAudWstZHJvcGNhcCBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRyb3BjYXApKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRyb3BjYXAoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ28ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbG9nby1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbG9nbykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbG9nbygpO31cbiAgICB9XG5cbiAgICAudWstbG9nbzpob3ZlcixcbiAgICAudWstbG9nbzpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1sb2dvLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvID4gOm5vdCgudWstbG9nby1pbnZlcnNlKTpub3QoOm9ubHktb2YtdHlwZSkgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgLnVrLWxvZ28taW52ZXJzZSB7IGRpc3BsYXk6IGlubGluZTsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlKCl7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYXNlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saW5rKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1oZWFkaW5nKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kaXZpZGVyKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1saXN0KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1mb3JtKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1idXR0b24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWdyaWQoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWNsb3NlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10b3RvcCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFkZ2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWxhYmVsKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hcnRpY2xlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zZWFyY2goKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LW5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2YmFyKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zdWJuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJyZWFkY3J1bWIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXBhZ2luYXRpb24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXRhYigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2xpZGVuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWRvdG5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYWNjb3JkaW9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29ubmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10ZXh0KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jb2x1bW4oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXV0aWxpdHkoKTtcbn1cbkBtaXhpbiBob29rLWxhYmVsKCl7XG4gICAgYm9yZGVyLXJhZGl1czogJGxhYmVsLWJvcmRlci1yYWRpdXM7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRsYWJlbC10ZXh0LXRyYW5zZm9ybTtcbn1cbkBtaXhpbiBob29rLWxhYmVsLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1sYWJlbC13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stbGFiZWwtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stbGFiZWwtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1sZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1sZWFkZXItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGVhZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGVhZGVyKCl7XG5cbiAgICAudWstbGVhZGVyLWZpbGw6OmFmdGVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sZWFkZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1saWdodGJveCgpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtbWlzYygpe31cbkBtaXhpbiBob29rLWxpbmstbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1saW5rLW11dGVkLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay10ZXh0KCl7fVxuQG1peGluIGhvb2stbGluay10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay1oZWFkaW5nKCl7fVxuQG1peGluIGhvb2stbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbGluay1yZXNldCgpe31cbkBtaXhpbiBob29rLWxpbmstbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay1tdXRlZC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saXN0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1saXN0LXN0cmlwZWQoKXtcblxuICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIGJvcmRlci10b3A6ICRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LXN0cmlwZWQtYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkbGlzdC1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1zdHJpcGVkLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWxpc3QtYnVsbGV0KCl7fVxuQG1peGluIGhvb2stbGlzdC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpe1xuXG4gICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtbGlzdC1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe31cbkBtaXhpbiBob29rLW1hcmtlcigpe1xuICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xufVxuQG1peGluIGhvb2stbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbWFya2VyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbWFya2VyKCl7XG5cbiAgICAudWstbWFya2VyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyKCk7fVxuICAgIH1cblxuICAgIC51ay1tYXJrZXI6aG92ZXIsXG4gICAgLnVrLW1hcmtlcjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbW9kYWwoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1mdWxsKCl7fVxuQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpeyBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stbW9kYWwtZm9vdGVyKCl7IGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtbWlzYygpe31cbkBtaXhpbiBob29rLW5hdi1zdWIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1uYXYtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdCgpeyBmb250LXNpemU6ICRuYXYtZGVmYXVsdC1mb250LXNpemU7IH1cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItY29udGFpbmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtKCl7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXZiYXItbmF2LWl0ZW0tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWljb24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItc3VidGl0bGUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10cmFuc3BhcmVudCgpe31cbkBtaXhpbiBob29rLW5hdmJhci1zdGlja3koKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24oKXsgYm94LXNoYWRvdzogJG5hdmJhci1kcm9wZG93bi1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcigpeyBib3gtc2hhZG93OiBub25lOyB9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KCl7IGZvbnQtc2l6ZTogJG5hdmJhci1kcm9wZG93bi1uYXYtZm9udC1zaXplOyB9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKCl7IGJveC1zaGFkb3c6ICRuYXZiYXItZHJvcGJhci1ib3gtc2hhZG93OyB9XG5AbWl4aW4gaG9vay1uYXZiYXItbWlzYygpe1xuXG4gICAgLypcbiAgICAgKiBOYXZiYXJcbiAgICAgKi9cblxuICAgIC51ay1uYXZiYXItY29udGFpbmVyID4gLnVrLWNvbnRhaW5lciAudWstbmF2YmFyLWxlZnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogKC0kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgfVxuICAgIC51ay1uYXZiYXItY29udGFpbmVyID4gLnVrLWNvbnRhaW5lciAudWstbmF2YmFyLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAoLSRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsKTsgfVxuXG4gICAgLypcbiAgICAgKiBHcmlkIERpdmlkZXJcbiAgICAgKi9cblxuICAgIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuICAgIC51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6ICgkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgLyAyKTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXI7XG4gICAgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstbmF2YmFyLWRyb3Bkb3duLWdyaWQudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci12ZXJ0aWNhbCAvIDIpO1xuICAgICAgICBsZWZ0OiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1ncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcygpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1iYXIoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1taXNjKCl7fVxuQG1peGluIGhvb2stb3ZlcmxheSgpe31cbkBtaXhpbiBob29rLW92ZXJsYXktaWNvbigpe31cbkBtaXhpbiBob29rLW92ZXJsYXktZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLW92ZXJsYXktcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW92ZXJsYXktbWlzYygpe31cbkBtaXhpbiBob29rLXBhZGRpbmctbWlzYygpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24oKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0oKXsgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDsgfVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXBsYWNlaG9sZGVyKCl7IGJvcmRlcjogJHBsYWNlaG9sZGVyLWJvcmRlci13aWR0aCBkYXNoZWQgJHBsYWNlaG9sZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stcGxhY2Vob2xkZXItbWlzYygpe31cbkBtaXhpbiBob29rLXBvc2l0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wcmludCgpe31cbkBtaXhpbiBob29rLXByb2dyZXNzKCl7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLWJvcmRlci1yYWRpdXM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbkBtaXhpbiBob29rLXByb2dyZXNzLWJhcigpe31cbkBtaXhpbiBob29rLXByb2dyZXNzLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpeyBib3JkZXI6ICRzZWFyY2gtZGVmYXVsdC1ib3JkZXItd2lkdGggc29saWQgJHNlYXJjaC1kZWZhdWx0LWJvcmRlcjsgfVxuQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1tdXRlZCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tc2Vjb25kYXJ5KCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1vdmVybGFwKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYoKXsgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDsgfVxuQG1peGluIGhvb2stc2xpZGVuYXYtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1wcmV2aW91cygpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LW5leHQoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1sYXJnZSgpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc2xpZGVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zbGlkZXNob3coKXt9XG5AbWl4aW4gaG9vay1zbGlkZXNob3ctbWlzYygpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtZHJhZygpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtZW1wdHkoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1taXNjKCl7fVxuQG1peGluIGhvb2stc3Bpbm5lcigpe31cbkBtaXhpbiBob29rLXNwaW5uZXItbWlzYygpe31cbkBtaXhpbiBob29rLXN0aWNreS1taXNjKCl7fVxuQG1peGluIGhvb2stc3VibmF2KCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0oKXtcbiAgICBmb250LXNpemU6ICRzdWJuYXYtaXRlbS1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRzdWJuYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xufVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stc3ZnLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zd2l0Y2hlci1taXNjKCl7fVxuQG1peGluIGhvb2stdGFiKCl7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogJHRhYi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICR0YWItYm9yZGVyLXdpZHRoIHNvbGlkICR0YWItYm9yZGVyO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGFiLWl0ZW0oKXtcbiAgICBib3JkZXItYm90dG9tOiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJHRhYi1pdGVtLXRleHQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5AbWl4aW4gaG9vay10YWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRhYi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICR0YWItaXRlbS1hY3RpdmUtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay10YWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXRhYi1ib3R0b20oKXtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGFiLWJvdHRvbS1pdGVtKCl7XG4gICAgYm9yZGVyLXRvcDogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuQG1peGluIGhvb2stdGFiLWxlZnQoKXtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICR0YWItYm9yZGVyLXdpZHRoIHNvbGlkICR0YWItYm9yZGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGFiLXJpZ2h0KCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1sZWZ0LWl0ZW0oKXtcbiAgICBib3JkZXItcmlnaHQ6ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbkBtaXhpbiBob29rLXRhYi1yaWdodC1pdGVtKCl7XG4gICAgYm9yZGVyLWxlZnQ6ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbkBtaXhpbiBob29rLXRhYi1taXNjKCl7XG5cbiAgICAudWstdGFiIC51ay1kcm9wZG93biB7IG1hcmdpbi1sZWZ0OiAoJHRhYi1tYXJnaW4taG9yaXpvbnRhbCArICR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWwpIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS10YWIoKXtcblxuICAgICY6OmJlZm9yZSB7IGJvcmRlci1jb2xvcjogJGludmVyc2UtdGFiLWJvcmRlcjsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDsgfVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXRhYmxlKCl7fVxuQG1peGluIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKXsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuQG1peGluIGhvb2stdGFibGUtY2VsbCgpe31cbkBtaXhpbiBob29rLXRhYmxlLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLWNhcHRpb24oKXt9XG5AbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtc3RyaXBlZCgpe1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtc3RyaXBlZC1ib3JkZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLXN0cmlwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1zdHJpcGVkLWJvcmRlcjtcbn1cbkBtaXhpbiBob29rLXRhYmxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXRhYmxlLXNtYWxsKCl7fVxuQG1peGluIGhvb2stdGFibGUtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1taXNjKCl7XG5cbiAgICAudWstdGFibGUgdGJvZHkgdHIgeyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgbGluZWFyOyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKXtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFibGUoKXtcblxuICAgIC51ay10YWJsZSB0aCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZSBjYXB0aW9uIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlID4gdHIudWstYWN0aXZlLFxuICAgIC51ay10YWJsZSB0Ym9keSB0ci51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLWRpdmlkZXIgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICAudWstdGFibGUtZGl2aWRlciA+IDpub3QoOmZpcnN0LWNoaWxkKSA+IHRyLFxuICAgIC51ay10YWJsZS1kaXZpZGVyID4gOmZpcnN0LWNoaWxkID4gdHI6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS10YWJsZS1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFibGUtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKG9kZCksXG4gICAgLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLWhvdmVyID4gdHI6aG92ZXIsXG4gICAgLnVrLXRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRleHQtbGVhZCgpe31cbkBtaXhpbiBob29rLXRleHQtbWV0YSgpe1xuXG4gICAgYSB7IGNvbG9yOiAkdGV4dC1tZXRhLWxpbmstY29sb3I7IH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHRleHQtbWV0YS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10ZXh0LXNtYWxsKCl7fVxuQG1peGluIGhvb2stdGV4dC1sYXJnZSgpe31cbkBtaXhpbiBob29rLXRleHQtYmFja2dyb3VuZCgpe31cbkBtaXhpbiBob29rLXRleHQtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGV4dC1sZWFkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKXt9XG5AbWl4aW4gaG9vay10aHVtYm5hdigpe31cbkBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0oKXtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0aHVtYm5hdi1pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0taG92ZXIoKXtcbiAgICAmOjphZnRlciB7IGJhY2tncm91bmQtY29sb3I6ICR0aHVtYm5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7IH1cbn1cbkBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7XG4gICAgJjo6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDsgfVxufVxuQG1peGluIGhvb2stdGh1bWJuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10aHVtYm5hdigpe1xuXG4gICAgLnVrLXRodW1ibmF2ID4gKiA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay10aHVtYm5hdiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLXRodW1ibmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRodW1ibmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10aWxlKCl7fVxuQG1peGluIGhvb2stdGlsZS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stdGlsZS1tdXRlZCgpe31cbkBtaXhpbiBob29rLXRpbGUtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLXRpbGUtc2Vjb25kYXJ5KCl7fVxuQG1peGluIGhvb2stdGlsZS1taXNjKCl7fVxuQG1peGluIGhvb2stdG9vbHRpcCgpe31cbkBtaXhpbiBob29rLXRvb2x0aXAtbWlzYygpe31cbkBtaXhpbiBob29rLXRvdG9wKCl7IHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLXRvdG9wLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdG90b3AtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdG90b3AtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10cmFuc2l0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYW5lbC1zY3JvbGxhYmxlKCl7fVxuQG1peGluIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKXt9XG5AbWl4aW4gaG9vay1kcm9wY2FwKCl7XG4gICAgLy8gUHJldmVudCBsaW5lIHdyYXBcbiAgICBtYXJnaW4tYm90dG9tOiAtMnB4O1xufVxuQG1peGluIGhvb2stbG9nbygpe31cbkBtaXhpbiBob29rLWxvZ28taG92ZXIoKXt9XG5AbWl4aW4gaG9vay11dGlsaXR5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKXt9XG5AbWl4aW4gaG9vay12aXNpYmlsaXR5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay13aWR0aC1taXNjKCl7fSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIGFwcGxpY2F0aW9uLXdpZGUgU2FzcyB2YXJpYWJsZXMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gUmVndWxhciBmb250IGZhbWlseVxuJGZvbnQ6ICdQb3BwaW5zJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICdQb3BwaW5zJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIE1haW4gY29sb3JzXG4kYnJhbmQtY29sb3I6ICMyNGI4ZjE7XG4kYnJhbmQtY29sb3ItaWNlOiAjZGRlOGVlO1xuJGJyYW5kLWNvbG9yLWRhcms6ICMwMDcxYmE7XG4kZ3JlZW4tbGlnaHQ6ICMzMmM2NmU7XG4kZ3JlZW4tZGFyazogIzAwOWM3MztcbiRncmF5LWRhcms6ICMzMjNkM2U7XG4kZ3JheTogI2Q1ZDVkNTtcbiRncmF5LWxpZ2h0OiAjNmE3YThhO1xuJHdoaXRlOiAjZmZmZmZmO1xuJGFsdC1iZzogI0Y1RjVGNTtcblxuJHByaW1hcnktdGV4dC1jb2xvcjogJGdyYXktZGFyayAhZGVmYXVsdDtcbiRwcmltYXJ5LXRpdGxlLWNvbG9yOiAkZ3JheS1kYXJrIWRlZmF1bHQ7XG4kbGlnaHRlci10ZXh0LWNvbG9yOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy9saW5rcyB2YXJpYWJsZXNcbiR0ZXh0bGluazogJGJyYW5kLWNvbG9yICFkZWZhdWx0O1xuJHRleHRsaW5rLWhvdmVyOiAkYnJhbmQtY29sb3ItZGFyayAhZGVmYXVsdDtcblxuLy8gYm9yZGVyc1xuJG91dGxpbmUtYm9yZGVyOiAxcHggc29saWQgI2RlZTFlMyAhZGVmYXVsdDsgLy8gQHRvZG8gZG8gd2UgbmVlZCB0byBrZWVwIGl0ID9cblxuLy8gYnV0dG9ucyB2YXJpYWJsZXNcbiRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkYnJhbmQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogJGJyYW5kLWNvbG9yLWRhcmsgIWRlZmF1bHQ7XG4kYnV0dG9uLWhvdmVyOiAkYnJhbmQtY29sb3ItZGFyayAhZGVmYXVsdDtcblxuLy8gJGJ1dHRvbi1wcmltYXJ5LWJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuLy8gJGJ1dHRvbi1vdXRsaW5lLWJvcmRlcjogMXB4IHNvbGlkICNkZWUxZTMgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGlzYWJsZWQ6ICNkNWQ1ZDUgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWJvcmRlcjogMXB4IHNvbGlkICNiZGMzYzYgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAjZmZmZmZmICFkZWZhdWx0O1xuXG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDMwcHggIWRlZmF1bHQ7XG5cbi8vIElubmVyIGNvbnRhaW5lcidzIG1heGltdW0gd2lkdGhcbiRtYXgtaW5uZXItd2lkdGg6IDE2NDBweCAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyJ3MgbWF4aW11bSB3aWR0aFxuJG1heC13aWR0aDogMTkyMHB4ICFkZWZhdWx0O1xuXG4vLyBHbyBvdmVyIFVpa2l0IHZhcmlhYmxlc1xuJGJyZWFrcG9pbnQtc21hbGw6IDc2OCAhZGVmYXVsdDtcbiRicmVha3BvaW50LW1lZGl1bTogOTkycHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZTogMTIwMHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQteGxhcmdlOiAxNjgwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50cyBtYXBcbiRicmVha3BvaW50czogKFxuICAnc21hbGwnOiA2NDBweCxcbiAgJ21lZGl1bSc6IDk5MnB4LFxuICAnbGFyZ2UnOiAxMjAwcHgsXG4gICdodWdlJzogMTY4MHB4LFxuICAnZ2lnYW50aWMnOiAxOTIwcHgsXG4pICFkZWZhdWx0O1xuIiwiLy8gTmFtZTogICAgICAgICAgICBMaW5rXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlua3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saW5rLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay10ZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay1oZWFkaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay1yZXNldGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1saW5rLXRvZ2dsZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGluay1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbGluay10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpbmstaGVhZGluZy1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpbmtcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIE11dGVkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYS51ay1saW5rLW11dGVkLFxuLnVrLWxpbmstbXV0ZWQgYSB7XG4gICAgY29sb3I6ICRsaW5rLW11dGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLW11dGVkKSkge0BpbmNsdWRlIGhvb2stbGluay1tdXRlZCgpO31cbn1cblxuYS51ay1saW5rLW11dGVkOmhvdmVyLFxuLnVrLWxpbmstbXV0ZWQgYTpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1tdXRlZCxcbi51ay1saW5rLXRvZ2dsZTpmb2N1cyAudWstbGluay1tdXRlZCB7XG4gICAgY29sb3I6ICRsaW5rLW11dGVkLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLW11dGVkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay1tdXRlZC1ob3ZlcigpO31cbn1cblxuXG4vKiBUZXh0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYS51ay1saW5rLXRleHQsXG4udWstbGluay10ZXh0IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXRleHQpKSB7QGluY2x1ZGUgaG9vay1saW5rLXRleHQoKTt9XG59XG5cbmEudWstbGluay10ZXh0OmhvdmVyLFxuLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLXRleHQsXG4udWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmstdGV4dCB7XG4gICAgY29sb3I6ICRsaW5rLXRleHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpbmstdGV4dC1ob3ZlcigpO31cbn1cblxuXG4vKiBIZWFkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYS51ay1saW5rLWhlYWRpbmcsXG4udWstbGluay1oZWFkaW5nIGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1saW5rLWhlYWRpbmcoKTt9XG59XG5cbmEudWstbGluay1oZWFkaW5nOmhvdmVyLFxuLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLWhlYWRpbmcsXG4udWstbGluay10b2dnbGU6Zm9jdXMgLnVrLWxpbmstaGVhZGluZyB7XG4gICAgY29sb3I6ICRsaW5rLWhlYWRpbmctaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1oZWFkaW5nLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1oZWFkaW5nLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay1oZWFkaW5nLWhvdmVyKCk7fVxufVxuXG5cbi8qIFJlc2V0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgaW52ZXJzZSBjb21wb25lbnRcbiAqL1xuXG5hLnVrLWxpbmstcmVzZXQsXG4udWstbGluay1yZXNldCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXJlc2V0KSkge0BpbmNsdWRlIGhvb2stbGluay1yZXNldCgpO31cbn1cblxuXG4vKiBUb2dnbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGluay10b2dnbGUge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG4gXG4udWstbGluay10b2dnbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1taXNjKSkge0BpbmNsdWRlIGhvb2stbGluay1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stbGluay1tdXRlZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWxpbmstdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxpbmstbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstdGV4dC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBIZWFkaW5nXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgaGVhZGluZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oZWFkaW5nLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWhlcm9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWJ1bGxldGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctbGluZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaGVhZGluZy1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctc21hbGwtZm9udC1zaXplLW0gKiAwLjggIWRlZmF1bHQ7ICAgICAgLy8gMzhweCAwLjczXG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tICogMC44MjUgIWRlZmF1bHQ7ICAgICAvLyA0MHB4IDAuNzE0XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0OyAgICAgIC8vIDUwcHggMC43OFxuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0OyAgICAgICAgICAgICAvLyA0cmVtIC8gNjRweFxuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbSAhZGVmYXVsdDsgICAgICAgICAgICAvLyA2cmVtIC8gOTZweFxuXG4kaGVhZGluZy1zbWFsbC1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44MTI1ICFkZWZhdWx0OyAgIC8vIDMuMjVyZW0gLyA1MnB4XG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44NzUgIWRlZmF1bHQ7ICAgIC8vIDMuNXJlbSAvIDU2cHggXG4kaGVhZGluZy1sYXJnZS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICFkZWZhdWx0OyAgICAgICAgICAgIC8vIDRyZW0gLyA2NHB4XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWwgIWRlZmF1bHQ7ICAgICAgICAgICAgIC8vIDZyZW0gLyA5NnB4XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sICFkZWZhdWx0OyAgICAgICAgICAgIC8vIDhyZW0gLyAxMjhweFxuXG4kaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAgNHJlbSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDY0cHhcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gOTZweFxuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgIDhyZW0gIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxMjhweFxuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgIDExcmVtICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAxNzZweFxuXG4kaGVhZGluZy1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmctbWVkaXVtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy14bGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcbiRoZWFkaW5nLTJ4bGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuXG4kaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tOiAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYyg1cHggKyAwLjFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDAuMnB4ICsgMC4wNWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaGVhZGluZy1idWxsZXQtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYygtMC4xICogMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoNHB4ICsgMC43ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYyg1cHggKyAwLjJlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDVweCArIDAuMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaGVhZGluZy1saW5lLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDBweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCdjYWxjKDAuMnB4ICsgMC4wNWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgIHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4zZW0pJykgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1zbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLXNtYWxsKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1zbWFsbCgpO31cbn1cblxuLnVrLWhlYWRpbmctbWVkaXVtIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLW1lZGl1bS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1tZWRpdW0pKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLW1lZGl1bSgpO31cbn1cblxuLnVrLWhlYWRpbmctbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1sYXJnZSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctbGFyZ2UoKTt9XG59XG5cbi51ay1oZWFkaW5nLXhsYXJnZSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy14bGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy14bGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmcteGxhcmdlKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy14bGFyZ2UoKTt9XG59XG5cbi51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLTJ4bGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctMnhsYXJnZSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctMnhsYXJnZSgpO31cbn1cblxuLyogVGFibGV0IExhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstaGVhZGluZy1zbWFsbCB7IGZvbnQtc2l6ZTogJGhlYWRpbmctc21hbGwtZm9udC1zaXplLW07IH1cbiAgICAudWstaGVhZGluZy1tZWRpdW0geyBmb250LXNpemU6ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbTsgfVxuICAgIC51ay1oZWFkaW5nLWxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy1sYXJnZS1mb250LXNpemUtbTsgfVxuICAgIC51ay1oZWFkaW5nLXhsYXJnZSB7IGZvbnQtc2l6ZTogJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1tOyB9XG4gICAgLnVrLWhlYWRpbmctMnhsYXJnZSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemUtbTsgfVxuXG59XG5cbi8qIExhcHRvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1oZWFkaW5nLW1lZGl1bSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sOyB9XG4gICAgLnVrLWhlYWRpbmctbGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1sOyB9XG4gICAgLnVrLWhlYWRpbmcteGxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLWw7IH1cbiAgICAudWstaGVhZGluZy0yeGxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1sOyB9XG5cbn1cblxuXG4vKiBQcmltYXJ5XG4gICBEZXByZWNhdGVkOiBVc2UgYHVrLWhlYWRpbmctbWVkaXVtYCBpbnN0ZWFkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgIDMuNzVyZW0gIWRlZmF1bHQ7ICAvLyA2MHB4XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LWw6ICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuXG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbCAqIDAuOSAhZGVmYXVsdDsgLy8gNTRweFxuXG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbCAqIDAuOCAhZGVmYXVsdDsgLy8gNDhweFxuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcblxuQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1wcmltYXJ5IHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXByaW1hcnkoKTt9XG59XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1wcmltYXJ5IHsgZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1tOyB9XG59XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLWhlYWRpbmctcHJpbWFyeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbDtcbiAgICB9XG59XG5cbn1cblxuXG4vKiBIZXJvXG4gICBEZXByZWNhdGVkOiBVc2UgYHVrLWhlYWRpbmcteGxhcmdlYCBpbnN0ZWFkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGhlYWRpbmctaGVyby1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgICAgIDhyZW0gIWRlZmF1bHQ7IC8vIDEyOHB4XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LWw6ICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctaGVyby1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWwgKiAwLjc1ICFkZWZhdWx0OyAvLyA5NnB4XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW06ICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctaGVyby1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWwgKiAwLjUgIWRlZmF1bHQ7IC8vIDY0cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbkBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLWhlYWRpbmctaGVybyB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1oZXJvKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1oZXJvKCk7fVxufVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLWhlYWRpbmctaGVybyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbTtcbiAgICB9XG59XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLWhlYWRpbmctaGVybyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbDtcbiAgICB9XG59XG5cbn1cblxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctZGl2aWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206ICRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGhlYWRpbmctZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctZGl2aWRlcigpO31cbn1cblxuXG4vKiBCdWxsZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1idWxsZXQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLypcbiAqIDEuIFVzaW5nIGBpbmxpbmUtYmxvY2tgIHRvIG1ha2UgaXQgd29yayB3aXRoIHRleHQgYWxpZ25tZW50XG4gKiAyLiBDZW50ZXIgdmVydGljYWxseVxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAkaGVhZGluZy1idWxsZXQtdG9wO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMyAqL1xuICAgIGhlaWdodDogJGhlYWRpbmctYnVsbGV0LWhlaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRoZWFkaW5nLWJ1bGxldC1tYXJnaW4tcmlnaHQ7XG4gICAgYm9yZGVyLWxlZnQ6ICRoZWFkaW5nLWJ1bGxldC1ib3JkZXItd2lkdGggc29saWQgJGhlYWRpbmctYnVsbGV0LWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1idWxsZXQpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWJ1bGxldCgpO31cbn1cblxuXG4vKiBMaW5lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENsaXAgdGhlIGNoaWxkIGVsZW1lbnRcbiAqL1xuXG4udWstaGVhZGluZy1saW5lIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogRXh0cmEgbWFya3VwIGlzIG5lZWRlZCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWduXG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiAxLiBDZW50ZXIgdmVydGljYWxseVxuICogMi4gTWFrZSB0aGUgZWxlbWVudCBhcyBsYXJnZSBhcyBwb3NzaWJsZS4gSXQncyBjbGlwcGVkIGJ5IHRoZSBjb250YWluZXIuXG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSxcbi51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiB1bnF1b3RlKCdjYWxjKCN7JGhlYWRpbmctbGluZS10b3B9IC0gKCN7JGhlYWRpbmctbGluZS1oZWlnaHR9IC8gMikpJyk7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAkaGVhZGluZy1saW5lLXdpZHRoO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGluZy1saW5lLWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1saW5lLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1saW5lKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1saW5lKCk7fVxufVxuXG4udWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDtcbn1cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAkaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctbWlzYykpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbWVkaXVtKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmcteGxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy0yeGxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1oZXJvKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1tZWRpdW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmcteGxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1oZXJvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERpdmlkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBkaXZpZGVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRpdmlkZXItaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpdmlkZXItc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXZpZGVyLXZlcnRpY2FsYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGRpdmlkZXItaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjIwJTIyJTIwaGVpZ2h0JTNEJTIyMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMCUyMDIwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIyJTIyJTIwY3glM0QlMjIxMCUyMiUyMGN5JTNEJTIyMTAlMjIlMjByJTNEJTIyNyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuXG4kZGl2aWRlci1zbWFsbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRkaXZpZGVyLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldCBkZWZhdWx0IGBocmBcbiAqIDIuIFNldCBtYXJnaW4gaWYgYSBgZGl2YCBpcyB1c2VkIGZvciBzZW1hbnRpY2FsIHJlYXNvblxuICovXG5cbltjbGFzcyo9J3VrLWRpdmlkZXInXSB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWJvdHRvbTogJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsO1xufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBbY2xhc3MqPSd1ay1kaXZpZGVyJ10geyBtYXJnaW4tdG9wOiAkZGl2aWRlci1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpdmlkZXItaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogJGRpdmlkZXItaWNvbi1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZSwgXCIjMDAwXCIsICRkaXZpZGVyLWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uKCk7fVxufVxuXG4udWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4udWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkZGl2aWRlci1pY29uLWxpbmUtdG9wO1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgLSAoI3skZGl2aWRlci1pY29uLXdpZHRofSAvIDIpKScpO1xuICAgIGJvcmRlci1ib3R0b206ICRkaXZpZGVyLWljb24tbGluZS1ib3JkZXItd2lkdGggc29saWQgJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24tbGluZSgpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlIHtcbiAgICByaWdodDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skZGl2aWRlci1pY29uLXdpZHRofSAvIDIpKScpO1xuICAgIHdpZHRoOiAkZGl2aWRlci1pY29uLWxpbmUtd2lkdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCk7fVxufVxuXG4udWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gICAgbGVmdDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skZGl2aWRlci1pY29uLXdpZHRofSAvIDIpKScpO1xuICAgIHdpZHRoOiAkZGl2aWRlci1pY29uLWxpbmUtd2lkdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQoKTt9XG59XG5cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRml4IGhlaWdodCBiZWNhdXNlIG9mIGBpbmxpbmUtYmxvY2tgXG4gKiAyLiBVc2luZyA6OmFmdGVyIGFuZCBpbmxpbmUtYmxvY2sgdG8gbWFrZSBgdGV4dC1hbGlnbmAgd29ya1xuICovXG5cbi8qIDEgKi9cbi51ay1kaXZpZGVyLXNtYWxsIHsgbGluZS1oZWlnaHQ6IDA7IH1cblxuLyogMiAqL1xuLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogJGRpdmlkZXItc21hbGwtd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci10b3A6ICRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aCBzb2xpZCAkZGl2aWRlci1zbWFsbC1ib3JkZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItc21hbGwoKTt9XG59XG5cblxuLyogVmVydGljYWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGl2aWRlci12ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6ICRkaXZpZGVyLXZlcnRpY2FsLWhlaWdodDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLWxlZnQ6ICRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlci13aWR0aCBzb2xpZCAkZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItdmVydGljYWwpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLXZlcnRpY2FsKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci12ZXJ0aWNhbCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci12ZXJ0aWNhbCgpe31cbiIsIi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIE1peGluXG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmluZXMgbWl4aW5zIHdoaWNoIGFyZSB1c2VkIGFjcm9zcyBhbGwgY29tcG9uZW50c1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFNWR1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbkBtaXhpbiBzdmctZmlsbCgkc3JjLCAkY29sb3ItZGVmYXVsdCwgJGNvbG9yLW5ldyl7XG5cbiAgICAkcmVwbGFjZS1zcmM6IHN0ci1yZXBsYWNlKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3KSAhZGVmYXVsdDtcbiAgICAkcmVwbGFjZS1zcmM6IHN0ci1yZXBsYWNlKCRyZXBsYWNlLXNyYywgXCIjXCIsIFwiJTIzXCIpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChxdW90ZSgkcmVwbGFjZS1zcmMpKTtcbn0iLCIvLyBOYW1lOiAgICAgICAgICAgIExpc3Rcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBsaXN0c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpc3RgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbGlzdC1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1zdHJpcGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1idWxsZXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaXN0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGxpc3QtbmVzdGVkLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRsaXN0LXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRsaXN0LWJ1bGxldC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGxpc3QtYnVsbGV0LXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LW1hcmdpbi1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWxhcmdlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGludGVybmFsLWxpc3QtYnVsbGV0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNiUyMiUyMGhlaWdodCUzRCUyMjYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2JTIwNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpc3Qge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWxpc3QgPiBsaTo6YmVmb3JlLFxuLnVrLWxpc3QgPiBsaTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1saXN0ID4gbGk6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1saXN0ID4gbGkgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLypcbiAqIE5lc3RlZCBsaXN0c1xuICovXG5cbi51ay1saXN0IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGlzdC1uZXN0ZWQtcGFkZGluZy1sZWZ0O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBTdHlsZVxuICovXG5cbi51ay1saXN0ID4gbGk6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdCA+IGxpID4gdWwgeyBtYXJnaW4tdG9wOiAkbGlzdC1tYXJnaW4tdG9wOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbGlzdC1kaXZpZGVyID4gbGk6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wO1xuICAgIGJvcmRlci10b3A6ICRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1saXN0LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IGxpIHtcbiAgICBwYWRkaW5nOiAkbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWwgJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3Qtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWxpc3Qtc3RyaXBlZCgpO31cbn1cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCkgeyBiYWNrZ3JvdW5kOiAkbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ7IH1cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1jaGlsZChuKzIpIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogQnVsbGV0XG4gKiAxLiBSZXNldCBkaXNwbGF5IGB0YWJsZWAgd2hpY2ggY2F1c2VzIGlzc3VlcyBpbiBjb21iaW5hdGlvbiB3aXRoIG11bHRpIGNvbHVtbiBsYXlvdXRzLlxuICovXG5cbi51ay1saXN0LWJ1bGxldCA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiB1bnF1b3RlKCdjYWxjKCN7JGxpc3QtYnVsbGV0LXdpZHRofSArICN7JGxpc3QtYnVsbGV0LW1hcmdpbi1yaWdodH0pJyk7XG59XG5cbi51ay1saXN0LWJ1bGxldCA+IGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkbGlzdC1idWxsZXQtd2lkdGg7XG4gICAgaGVpZ2h0OiAkbGlzdC1idWxsZXQtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZSwgXCIjMDAwXCIsICRsaXN0LWJ1bGxldC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWxpc3QtYnVsbGV0KCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdC1sYXJnZSA+IGxpOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QtbGFyZ2UgPiBsaSA+IHVsIHsgbWFyZ2luLXRvcDogJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDsgfVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRsaXN0LWxhcmdlLWRpdmlkZXItbWFyZ2luLXRvcDtcbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LXN0cmlwZWQgPiBsaSB7XG4gICAgcGFkZGluZzogJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsICRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1saXN0LXN0cmlwZWQoKTt9XG59XG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1jaGlsZChuKzIpIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3QtbWlzYykpIHtAaW5jbHVkZSBob29rLWxpc3QtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGlzdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbGlzdC1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2stbGlzdC1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1saXN0LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtYnVsbGV0KCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEZXNjcmlwdGlvbiBsaXN0XG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZGVzY3JpcHRpb24gbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kZXNjcmlwdGlvbi1saXN0YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A6ICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlci13aWR0aDogICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjogICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEZXNjcmlwdGlvbiBsaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRlcm1cbiAqL1xuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGR0IHtcbiAgICBjb2xvcjogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKSkge0BpbmNsdWRlIGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKCk7fVxufVxuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGR0Om50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A7XG59XG5cbi8qXG4gKiBEZXNjcmlwdGlvblxuICovXG5cbi51ay1kZXNjcmlwdGlvbi1saXN0ID4gZGQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKSkge0BpbmNsdWRlIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMaW5lXG4gKi9cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlciA+IGR0Om50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A7XG4gICAgYm9yZGVyLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlci13aWR0aCBzb2xpZCAkZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSkpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYykpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC10ZXJtKCl7fVxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtKCl7fVxuLy8gQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgVGFibGVcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciB0YWJsZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10YWJsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10YWJsZS1taWRkbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc3RyaXBlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1qdXN0aWZ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc2hyaW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtZXhwYW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXJlc3BvbnNpdmVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWJsZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWZvb3Rlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kdGFibGUtY2FwdGlvbi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAyMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1leHBhbmQtbWluLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAxNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICogMi4gQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay10YWJsZSB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkdGFibGUtbWFyZ2luLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstdGFibGUgeyBtYXJnaW4tdG9wOiAkdGFibGUtbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSGVhZGVyIGNlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqL1xuXG4udWstdGFibGUgdGgge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAvKiAxICovXG4gICAgZm9udC1zaXplOiAkdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtaGVhZGVyLWNlbGwtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkZXItY2VsbC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtaGVhZGVyLWNlbGwpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1oZWFkZXItY2VsbCgpO31cbn1cblxuXG4vKiBDZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1jZWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtY2VsbCgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay10YWJsZSB0ZCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEZvb3RlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSB0Zm9vdCB7XG4gICAgZm9udC1zaXplOiAkdGFibGUtZm9vdGVyLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtZm9vdGVyKCk7fVxufVxuXG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAkdGFibGUtY2FwdGlvbi1mb250LXNpemU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogJHRhYmxlLWNhcHRpb24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWNhcHRpb24pKSB7QGluY2x1ZGUgaG9vay10YWJsZS1jYXB0aW9uKCk7fVxufVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1taWRkbGUsXG4udWstdGFibGUtbWlkZGxlIHRkIHsgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50OyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstdGFibGUtZGl2aWRlciA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLnVrLXRhYmxlLWRpdmlkZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgPiB0cixcbi51ay10YWJsZS1kaXZpZGVyID4gOmZpcnN0LWNoaWxkID4gdHI6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUob2RkKSxcbi51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2stdGFibGUtc3RyaXBlZCgpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuLnVrLXRhYmxlLWhvdmVyID4gdHI6aG92ZXIsXG4udWstdGFibGUtaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1ob3ZlcigpO31cbn1cblxuXG4vKiBBY3RpdmUgc3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgPiB0ci51ay1hY3RpdmUsXG4udWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1yb3ctYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpO31cbn1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1zbWFsbCB0aCxcbi51ay10YWJsZS1zbWFsbCB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtc21hbGwoKTt9XG59XG5cbi51ay10YWJsZS1sYXJnZSB0aCxcbi51ay10YWJsZS1sYXJnZSB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWxhcmdlKSkge0BpbmNsdWRlIGhvb2stdGFibGUtbGFyZ2UoKTt9XG59XG5cblxuLyogSnVzdGlmeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmZpcnN0LWNoaWxkLFxuLnVrLXRhYmxlLWp1c3RpZnkgdGQ6Zmlyc3QtY2hpbGQgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnVrLXRhYmxlLWp1c3RpZnkgdGg6bGFzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmxhc3QtY2hpbGQgeyBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cblxuLyogQ2VsbCBzaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlLXNocmluayB7IHdpZHRoOiAxcHg7IH1cbi51ay10YWJsZS1leHBhbmQgeyBtaW4td2lkdGg6ICR0YWJsZS1leHBhbmQtbWluLXdpZHRoOyB9XG5cblxuLyogQ2VsbCBsaW5rIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERvZXMgbm90IHdvcmsgd2l0aCBgdWstdGFibGUtanVzdGlmeWAgYXQgdGhlIG1vbWVudFxuICovXG5cbi51ay10YWJsZS1saW5rIHsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG5cbi51ay10YWJsZS1saW5rID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay10YWJsZS1zbWFsbCAudWstdGFibGUtbGluayA+IGEgeyBwYWRkaW5nOiAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFJlc3BvbnNpdmUgdGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGJvZHksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdHIgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGhlYWQgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmZpcnN0LWNoaWxkKSA+IGEgeyBwYWRkaW5nLXRvcDogcm91bmQoJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAvIDMpICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpsYXN0LWNoaWxkKSA+IGEgeyBwYWRkaW5nLWJvdHRvbTogcm91bmQoJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAvIDMpICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLWp1c3RpZnkudWstdGFibGUtcmVzcG9uc2l2ZSB0ZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stdGFibGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGFibGUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1oZWFkZXItY2VsbCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1jYXB0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1zbWFsbCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDAuMDIpICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtY2FwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBJY29uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaWNvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1pY29uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWljb24taW1hZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pY29uLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pY29uLWJ1dHRvbmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaWNvbi1pbWFnZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGljb24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1jb2xvciwgNSUpICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzZweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBOb3RlOiAxLiAtIDcuIGlzIHJlcXVpcmVkIGZvciBgYnV0dG9uYCBlbGVtZW50cy4gTmVlZGVkIGZvciBDbG9zZSBhbmQgRm9ybSBJY29uIGNvbXBvbmVudC5cbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIFJlbW92ZSBib3JkZXItcmFkaXVzIGluIENocm9tZS5cbiAqIDQuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA1LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNi4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA3LiBSZW1vdmUgZGVmYXVsdCBgYnV0dG9uYCBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGNvbG9yXG4gKiA4LiBTdHlsZVxuICogOS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMTAuIExldCB0aGUgY29udGFpbmVyIGZpdCB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uXG4gKi9cblxuLnVrLWljb24ge1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMiAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogNiAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIC8qIDcuICovXG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvKiA4ICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDkgKi9cbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgLyogMTAgKi9cbiAgICBsaW5lLWhlaWdodDogMDtcbn1cblxuLyogUmVxdWlyZWQgZm9yIGBidXR0b25gLiAqL1xuYnV0dG9uLnVrLWljb246bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWljb246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKi9cblxuLnVrLWljb246bm90KC51ay1wcmVzZXJ2ZSkgW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH1cbi51ay1pY29uOm5vdCgudWstcHJlc2VydmUpIFtzdHJva2UqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBzdHJva2U6IGN1cnJlbnRjb2xvcjsgfVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuXG4udWstaWNvbiA+ICogeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApOyB9XG5cblxuLyogSW1hZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGlzcGxheSBpbWFnZXMgaW4gaWNvbiBkaW1lbnNpb25zXG4gKi9cblxuLnVrLWljb24taW1hZ2Uge1xuICAgIHdpZHRoOiAkaWNvbi1pbWFnZS1zaXplO1xuICAgIGhlaWdodDogJGljb24taW1hZ2Utc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExpbmtcbiAqL1xuXG4udWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rKCk7fVxufVxuXG4udWstaWNvbi1saW5rOmhvdmVyLFxuLnVrLWljb24tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1saW5rOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICBjb2xvcjogJGljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmstYWN0aXZlKCk7fVxufVxuXG4vKlxuICogQnV0dG9uXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstaWNvbi1idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRpY29uLWJ1dHRvbi1zaXplO1xuICAgIGhlaWdodDogJGljb24tYnV0dG9uLXNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGljb24tYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstaWNvbi1idXR0b246aG92ZXIsXG4udWstaWNvbi1idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tYnV0dG9uOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbWlzYykpIHtAaW5jbHVkZSBob29rLWljb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staWNvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWljb24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgZGFya2VuKCRpbnZlcnNlLWljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZvcm0gUmFuZ2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciB0aGUgcmFuZ2UgaW5wdXQgdHlwZVxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXJhbmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDE1JSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm0gUmFuZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTm9ybWFsaXplIGFuZCBkZWZhdWx0c1xuICogMi4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMy4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIFJlbW92ZSB3aGl0ZSBiYWNrZ3JvdW5kIGluIENocm9tZVxuICogNi4gUmVtb3ZlIHBhZGRpbmcgaW4gSUUxMVxuICovXG5cbi51ay1yYW5nZSB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMiAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgLyogNiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhbmdlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuLnVrLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHsgYm9yZGVyOiBub25lOyB9XG5cbi8qIElFMTEgUmVzZXQgKi9cbi51ay1yYW5nZTo6LW1zLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIEltcHJvdmVzIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBmb3IgY2xpY2thYmxlIGVsZW1lbnRzXG4gKi9cblxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotd2Via2l0LXNsaWRlci10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbW96LXJhbmdlLXRodW1iIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tcy10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG5cbi8qIFRodW1iXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAoZmxvb3IoJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0IC8gMikgKiAtMSk7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRmlyZWZveCAqL1xuLnVrLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEVkZ2UgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogSUUxMSAqL1xuLnVrLXJhbmdlOjotbXMtdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuLyogRWRnZSArIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRvb2x0aXAgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogVHJhY2tcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2FmYXJpIGRvZXNuJ3QgaGF2ZSBhIGZvY3VzIHN0YXRlLiBVc2luZyBhY3RpdmUgaW5zdGVhZC5cbiAqL1xuXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuLyogMSAqL1xuLnVrLXJhbmdlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG4vKiBGaXJlZm94ICovXG4udWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCk7fVxufVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOjotbXMtZmlsbC11cHBlciB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjaykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2soKTt9XG59XG5cbi51ay1yYW5nZTpmb2N1czo6LW1zLWZpbGwtbG93ZXIsXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRodW1iKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjaygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZvcm1cbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBmb3Jtc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWZvcm0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWlucHV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VsZWN0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGV4dGFyZWFgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yYWRpb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNoZWNrYm94YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGVnZW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmllbGRzZXRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstZm9ybS1jdXN0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN0YWNrZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWhvcml6b250YWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhYmVsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9sc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0taWNvbi1mbGlwYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWZvcm0tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1kYW5nZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWJsYW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC14c21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLXdpZHRoLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1jb250cm9scy10ZXh0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb3JtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgIDRweCAhZGVmYXVsdDtcblxuJGZvcm0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb3JtLWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJGZvcm0tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRmb3JtLXdpZHRoLXhzbWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbWVkaXVtOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LW9wdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tZGF0YWxpc3QtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tcmFkaW8tc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgLTRweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgN3B4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDogICAgICAgICAgIDIxNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOiAgICAgIDdweCAhZGVmYXVsdDtcblxuJGZvcm0taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taWNvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tZGF0YWxpc3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMiUyMDglMjA2JTIwMTYlMjA2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyOCUyMiUyMGN5JTNEJTIyOCUyMiUyMHIlM0QlMjIyJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIjMDAwJTIyJTIweCUzRCUyMjMlMjIlMjB5JTNEJTIyOCUyMiUyMHdpZHRoJTNEJTIyMTAlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRGVmaW5lIGNvbnNpc3RlbnQgYm94IHNpemluZy5cbiAqICAgIERlZmF1bHQgaXMgYGNvbnRlbnQtYm94YCB3aXRoIGZvbGxvd2luZyBleGNlcHRpb25zIHNldCB0byBgYm9yZGVyLWJveGBcbiAqICAgIGBzZWxlY3RgLCBgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdYCBhbmQgYGlucHV0W3R5cGU9XCJyYWRpb1wiXWBcbiAqICAgIGBpbnB1dFt0eXBlPVwic2VhcmNoXCJdYCBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmFcbiAqICAgIGBpbnB1dFt0eXBlPVwiY29sb3JcIl1gIGluIEZpcmVmb3hcbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveC9JRSBhbmQgQ2hyb21lL1NhZmFyaS9PcGVyYS5cbiAqIDMuIFJlbW92ZSBgYm9yZGVyLXJhZGl1c2AgaW4gaU9TLlxuICogNC4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbi51ay1pbnB1dCxcbi51ay1zZWxlY3QsXG4udWstdGV4dGFyZWEsXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG59XG5cbi8qXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbi51ay1pbnB1dCB7IG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLXNlbGVjdCB7IHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDIuIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgYW5kIHVzZSBgYm9sZGAgaW5zdGVhZC5cbiAqIE5PVEU6IEJvdGggZGVjbGFyYXRpb25zIGRvbid0IHdvcmsgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICovXG5cbi51ay1zZWxlY3Qgb3B0Z3JvdXAge1xuICAgIC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIC8qIDIgKi9cbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbi51ay10ZXh0YXJlYSB7IG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cblxuLypcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG4udWstaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHsgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1pbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbi51ay10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlciB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIEltcHJvdmVzIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBmb3IgY2xpY2thYmxlIGVsZW1lbnRzXG4gKi9cblxuLnVrLXJhZGlvOm5vdCg6ZGlzYWJsZWQpLFxuLnVrLWNoZWNrYm94Om5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuLnVrLWZpZWxkc2V0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cblxuLyogSW5wdXQsIHNlbGVjdCBhbmQgdGV4dGFyZWFcbiAqIEFsbG93ZWQ6IGB0ZXh0YCwgYHBhc3N3b3JkYCwgYGRhdGV0aW1lYCwgYGRhdGV0aW1lLWxvY2FsYCwgYGRhdGVgLCAgYG1vbnRoYCxcbiAgICAgICAgICAgIGB0aW1lYCwgYHdlZWtgLCBgbnVtYmVyYCwgYGVtYWlsYCwgYHVybGAsIGBzZWFyY2hgLCBgdGVsYCwgYGNvbG9yYFxuICogRGlzYWxsb3dlZDogYHJhbmdlYCwgYHJhZGlvYCwgYGNoZWNrYm94YCwgYGZpbGVgLCBgc3VibWl0YCwgYHJlc2V0YCBhbmQgYGltYWdlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBpT1MuXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXRleHRhcmVhIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cgaWYgYSBmaXhlZCB3aWR0aCBpcyB1c2VkXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoXG4gKiAzLiBSZXNldCBkZWZhdWx0XG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1pbnB1dCxcbi51ay1zZWxlY3QsXG4udWstdGV4dGFyZWEge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXI6IDAgbm9uZTtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogMCAkZm9ybS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGZvcm0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0pKSB7QGluY2x1ZGUgaG9vay1mb3JtKCk7fVxufVxuXG4vKlxuICogU2luZ2xlLWxpbmVcbiAqIDEuIEFsbG93IGFueSBlbGVtZW50IHRvIGxvb2sgbGlrZSBhbiBgaW5wdXRgIG9yIGBzZWxlY3RgIGVsZW1lbnRcbiAqIDIuIE1ha2Ugc3VyZSBsaW5lLWhlaWdodCBpcyBub3QgbGFyZ2VyIHRoYW4gaGVpZ2h0XG4gKiAgICBBbHNvIG5lZWRlZCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseVxuICovXG5cbi51ay1pbnB1dCxcbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLWhlaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc2luZ2xlLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXNpbmdsZS1saW5lKCk7fVxufVxuXG4vKiAyICovXG4udWstaW5wdXQ6bm90KGlucHV0KSxcbi51ay1zZWxlY3Q6bm90KHNlbGVjdCkgeyBsaW5lLWhlaWdodDogJGZvcm0tbGluZS1oZWlnaHQ7IH1cblxuLypcbiAqIE11bHRpLWxpbmVcbiAqL1xuXG4udWstc2VsZWN0W211bHRpcGxlXSxcbi51ay1zZWxlY3Rbc2l6ZV0sXG4udWstdGV4dGFyZWEge1xuICAgIHBhZGRpbmctdG9wOiAkZm9ybS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbXVsdGktbGluZSkpIHtAaW5jbHVkZSBob29rLWZvcm0tbXVsdGktbGluZSgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1pbnB1dDpmb2N1cyxcbi51ay1zZWxlY3Q6Zm9jdXMsXG4udWstdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZm9jdXMtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGZvcm0tZm9jdXMtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWZvY3VzKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWlucHV0OmRpc2FibGVkLFxuLnVrLXNlbGVjdDpkaXNhYmxlZCxcbi51ay10ZXh0YXJlYTpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGZvcm0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWRpc2FibGVkKCk7fVxufVxuXG4vKlxuICogUGxhY2Vob2xkZXJcbiAqL1xuXG4udWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cbi51ay10ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLWZvcm0tc21hbGwgeyBmb250LXNpemU6ICRmb3JtLXNtYWxsLWZvbnQtc2l6ZTsgfVxuXG4udWstZm9ybS1zbWFsbDpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1zbWFsbC1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstZm9ybS1zbWFsbDpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkgeyBsaW5lLWhlaWdodDogJGZvcm0tc21hbGwtbGluZS1oZWlnaHQ7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLWZvcm0tbGFyZ2UgeyBmb250LXNpemU6ICRmb3JtLWxhcmdlLWZvbnQtc2l6ZTsgfVxuXG4udWstZm9ybS1sYXJnZTpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1sYXJnZS1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstZm9ybS1sYXJnZTpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkgeyBsaW5lLWhlaWdodDogJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEVycm9yXG4gKi9cblxuLnVrLWZvcm0tZGFuZ2VyLFxuLnVrLWZvcm0tZGFuZ2VyOmZvY3VzIHtcbiAgICBjb2xvcjogJGZvcm0tZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWZvcm0tZGFuZ2VyKCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1mb3JtLXN1Y2Nlc3MsXG4udWstZm9ybS1zdWNjZXNzOmZvY3VzICB7XG4gICAgY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWZvcm0tc3VjY2VzcygpO31cbn1cblxuLypcbiAqIEJsYW5rXG4gKi9cblxuLnVrLWZvcm0tYmxhbmsge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tYmxhbmspKSB7QGluY2x1ZGUgaG9vay1mb3JtLWJsYW5rKCk7fVxufVxuXG4udWstZm9ybS1ibGFuazpmb2N1cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tYmxhbmstZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWJsYW5rLWZvY3VzKCk7fVxufVxuXG5cbi8qIFdpZHRoIG1vZGlmaWVycyAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZpeGVkIHdpZHRoc1xuICogRGlmZmVyZW50IHdpZHRocyBmb3IgbWluaSBzaXplZCBgaW5wdXRgIGFuZCBgc2VsZWN0YCBlbGVtZW50c1xuICovXG5cbmlucHV0LnVrLWZvcm0td2lkdGgteHNtYWxsIHsgd2lkdGg6ICRmb3JtLXdpZHRoLXhzbWFsbDsgfVxuXG5zZWxlY3QudWstZm9ybS13aWR0aC14c21hbGwgeyB3aWR0aDogKCRmb3JtLXdpZHRoLXhzbWFsbCArIDI1cHgpOyB9XG5cbi51ay1mb3JtLXdpZHRoLXNtYWxsIHsgd2lkdGg6ICRmb3JtLXdpZHRoLXNtYWxsOyB9XG5cbi51ay1mb3JtLXdpZHRoLW1lZGl1bSB7IHdpZHRoOiAkZm9ybS13aWR0aC1tZWRpdW07IH1cblxuLnVrLWZvcm0td2lkdGgtbGFyZ2UgeyB3aWR0aDogJGZvcm0td2lkdGgtbGFyZ2U7IH1cblxuXG4vKiBTZWxlY3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUuIEFsc28gd29ya3MgaW4gRmlyZWZveFxuICogMi4gU3R5bGVcbiAqIDMuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIElFIDEwLzExXG4gKiA0LiBTZXQgYGNvbG9yYCBmb3Igb3B0aW9ucyBpbiB0aGUgc2VsZWN0IGRyb3Bkb3duLCBiZWNhdXNlIHRoZSBpbmhlcml0ZWQgYGNvbG9yYCBtaWdodCBiZSB0b28gbGlnaHQuXG4gKi9cblxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1zZWxlY3QtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbn1cblxuLyogMyAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6Oi1tcy1leHBhbmQgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qIDQgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIG9wdGlvbiB7IGNvbG9yOiAkZm9ybS1zZWxlY3Qtb3B0aW9uLWNvbG9yOyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICovXG5cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pOmRpc2FibGVkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3IpOyB9XG5cblxuLyogRGF0YWxpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gQ2hyb21lXG4gKi9cblxuIC51ay1pbnB1dFtsaXN0XSB7XG4gICAgcGFkZGluZy1yaWdodDogJGZvcm0tZGF0YWxpc3QtcGFkZGluZy1yaWdodDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xufVxuXG4udWstaW5wdXRbbGlzdF06aG92ZXIsXG4udWstaW5wdXRbbGlzdF06Zm9jdXMgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1kYXRhbGlzdC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLWRhdGFsaXN0LWljb24tY29sb3IpOyB9XG5cbi8qIDEgKi9cbi51ay1pbnB1dFtsaXN0XTo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIFJhZGlvIGFuZCBjaGVja2JveFxuICogTm90ZTogRG9lcyBub3Qgd29yayBpbiBJRTExXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBNYWtlIGJveCBtb3JlIHJvYnVzdCBzbyBpdCBjbGlwcyB0aGUgY2hpbGQgZWxlbWVudFxuICogMy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA0LiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogNS4gRml4IGJsYWNrIGJhY2tncm91bmQgb24gaU9TXG4gKiA2LiBDZW50ZXIgaWNvbnNcbiAqL1xuXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYWRpby1zaXplO1xuICAgIHdpZHRoOiAkZm9ybS1yYWRpby1zaXplO1xuICAgIC8qIDIgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tdG9wOiAkZm9ybS1yYWRpby1tYXJnaW4tdG9wO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogNCAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpbykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8oKTt9XG59XG5cbi51ay1yYWRpbyB7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhZGlvOmZvY3VzLFxuLnVrLWNoZWNrYm94OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1mb2N1cygpO31cbn1cblxuLypcbiAqIENoZWNrZWRcbiAqL1xuXG4udWstcmFkaW86Y2hlY2tlZCxcbi51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1jaGVja2VkKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpby1jaGVja2VkKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpO31cbn1cblxuLypcbiAqIEljb25zXG4gKi9cblxuLnVrLXJhZGlvOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1yYWRpby1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG5cbi8qXG4gKiBEaXNhYmxlZFxuICovXG5cbi51ay1yYWRpbzpkaXNhYmxlZCxcbi51ay1jaGVja2JveDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQoKTt9XG59XG5cbi51ay1yYWRpbzpkaXNhYmxlZDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6ZGlzYWJsZWQ6aW5kZXRlcm1pbmF0ZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuXG5cbi8qIExlZ2VuZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMZWdlbmRcbiAqIDEuIEJlaGF2ZSBsaWtlIGJsb2NrIGVsZW1lbnRcbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWxlZ2VuZCB7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiAzICovXG4gICAgcGFkZGluZzogMDtcbiAgICAvKiA0ICovXG4gICAgZm9udC1zaXplOiAkZm9ybS1sZWdlbmQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1sZWdlbmQtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbGVnZW5kKSkge0BpbmNsdWRlIGhvb2stZm9ybS1sZWdlbmQoKTt9XG59XG5cblxuLyogQ3VzdG9tIGNvbnRyb2xzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICovXG5cbi51ay1mb3JtLWN1c3RvbSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qXG4gKiAxLiBQb3NpdGlvbiBhbmQgcmVzaXplIHRoZSBmb3JtIGNvbnRyb2wgdG8gYWx3YXlzIGNvdmVyIGl0cyBjb250YWluZXJcbiAqIDIuIFJlcXVpcmVkIGZvciBGaXJlZm94IGZvciBwb3NpdGlvbmluZyB0byB0aGUgbGVmdFxuICogMy4gUmVxdWlyZWQgZm9yIFdlYmtpdCB0byBtYWtlIGBoZWlnaHRgIHdvcmtcbiAqIDQuIEhpZGUgY29udHJvbGUgYW5kIHNob3cgY3Vyc29yXG4gKiA1LiBOZWVkZWQgZm9yIHRoZSBjdXJzb3JcbiAqIDYuIENsaXAgaGVpZ2h0IGNhdXNlZCBieSA1LiBOZWVkZWQgZm9yIFdlYmtpdCBvbmx5XG4gKi9cblxuLnVrLWZvcm0tY3VzdG9tIHNlbGVjdCxcbi51ay1mb3JtLWN1c3RvbSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMyAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA0ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi51ay1mb3JtLWN1c3RvbSBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgLyogNSAqL1xuICAgIGZvbnQtc2l6ZTogNTAwcHg7XG4gICAgLyogNiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLyogTGFiZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZm9ybS1sYWJlbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWxhYmVsKCk7fVxufVxuXG5cbi8qIExheW91dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTdGFja2VkXG4gKi9cblxuLnVrLWZvcm0tc3RhY2tlZCAudWstZm9ybS1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKTt9XG59XG5cbi8qXG4gKiBIb3Jpem9udGFsXG4gKi9cblxuLyogVGFibGV0IHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwtbWF4KSB7XG5cbiAgICAvKiBCZWhhdmUgbGlrZSBgdWstZm9ybS1zdGFja2VkYCAqL1xuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCk7fVxuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tbGFiZWwge1xuICAgICAgICB3aWR0aDogJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDtcbiAgICAgICAgbWFyZ2luLXRvcDogJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpO31cbiAgICB9XG5cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzIHsgbWFyZ2luLWxlZnQ6ICRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ7IH1cblxuICAgIC8qIEJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQgaWYgY29udHJvbHMgYXJlIGNoZWNrYm94ZXMgYW5kIHJhZGlvIGJ1dHRvbnMgd2l0aCB0ZXh0ICovXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scy10ZXh0IHsgcGFkZGluZy10b3A6ICRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDsgfVxuXG59XG5cblxuLyogSWNvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTZXQgd2lkdGhcbiAqIDMuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstZm9ybS1pY29uIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6ICRmb3JtLWljb24td2lkdGg7XG4gICAgLyogMyAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogNCAqL1xuICAgIGNvbG9yOiAkZm9ybS1pY29uLWNvbG9yO1xufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstZm9ybS1pY29uOmhvdmVyIHsgY29sb3I6ICRmb3JtLWljb24taG92ZXItY29sb3I7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG5cbi51ay1mb3JtLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogSW5wdXQgcGFkZGluZ1xuICovXG5cbi51ay1mb3JtLWljb246bm90KC51ay1mb3JtLWljb24tZmxpcCkgfiAudWstaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICRmb3JtLWljb24td2lkdGggIWltcG9ydGFudDsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuXG4udWstZm9ybS1pY29uLWZsaXAge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cbi51ay1mb3JtLWljb24tZmxpcCB+IC51ay1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICRmb3JtLWljb24td2lkdGggIWltcG9ydGFudDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbWlzYykpIHtAaW5jbHVkZSBob29rLWZvcm0tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZm9ybSgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc2luZ2xlLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLW11bHRpLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ibGFuaygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tYmxhbmstZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWxlZ2VuZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWZvcm0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogICBkYXJrZW4oJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZm9ybS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQnV0dG9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgYnV0dG9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJ1dHRvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1idXR0b24tZ3JvdXBgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYnV0dG9uLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tZGFuZ2VyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXRleHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1sYXJnZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJ1dHRvbi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnV0dG9uLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnV0dG9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA0LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA2LiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBmb3IgYGlucHV0IHR5cGU9XCJzdWJtaXRcImBpbiBpT1MuXG4gKiA3LiBTdHlsZVxuICogOC4gYGxpbmUtaGVpZ2h0YCBpcyB1c2VkIHRvIGNyZWF0ZSBhIGhlaWdodCBiZWNhdXNlIGl0IGFsc28gY2VudGVycyB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGZvciBgYWAgZWxlbWVudHMuXG4gKiAgICBCZXR0ZXIgd291bGQgYmUgdG8gdXNlIGhlaWdodCBhbmQgZmxleGJveCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseSBidXQgZmxleGJveCBkb2Vzbid0IHdvcmsgaW4gRmlyZWZveCBvbiBgYnV0dG9uYCBlbGVtZW50cy5cbiAqIDkuIEFsaWduIHRleHQgaWYgYnV0dG9uIGhhcyBhIHdpZHRoXG4gKiAxMC4gUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstYnV0dG9uIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDUgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAvKiA2ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNyAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXNpemU6ICRidXR0b24tZm9udC1zaXplO1xuICAgIC8qIDggKi9cbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1saW5lLWhlaWdodDtcbiAgICAvKiA5ICovXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qIDEwICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1idXR0b24oKTt9XG59XG5cbi51ay1idXR0b246bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uOmhvdmVyIHtcbiAgICAvKiA5ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24taG92ZXIoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZm9jdXMoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b246YWN0aXZlLFxuLnVrLWJ1dHRvbi51ay1hY3RpdmUge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1idXR0b24tZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdCgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLFxuLnVrLWJ1dHRvbi1kZWZhdWx0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLWJ1dHRvbi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4udWstYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4udWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLWJ1dHRvbi1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlcigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6aG92ZXIsXG4udWstYnV0dG9uLWRhbmdlcjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRhbmdlcjphY3RpdmUsXG4udWstYnV0dG9uLWRhbmdlci51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEaXNhYmxlZFxuICogVGhlIHNhbWUgZm9yIGFsbCBzdHlsZSBtb2RpZmllcnNcbiAqL1xuXG4udWstYnV0dG9uLWRlZmF1bHQ6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXByaW1hcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXNlY29uZGFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tZGFuZ2VyOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kaXNhYmxlZCgpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1idXR0b24tc21hbGwge1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tc21hbGwtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNtYWxsKCk7fVxufVxuXG4udWstYnV0dG9uLWxhcmdlIHtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxhcmdlLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1sYXJnZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1sYXJnZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1sYXJnZSgpO31cbn1cblxuXG4vKiBUZXh0IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUZXh0XG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnV0dG9uLXRleHQge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRidXR0b24tdGV4dC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXRleHQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tdGV4dCgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLFxuLnVrLWJ1dHRvbi10ZXh0OmZvY3VzIHtcbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCk7fVxufVxuXG4vKlxuICogTGlua1xuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWJ1dHRvbi1saW5rIHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1saW5rLWxpbmUtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1saW5rKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWxpbmsoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tbGluazpob3Zlcixcbi51ay1idXR0b24tbGluazpmb2N1cyB7XG4gICAgY29sb3I6ICRidXR0b24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLWxpbms6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi8qIEdyb3VwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFVzaW5nIGBmbGV4YCBpbnN0ZWFkIG9mIGBpbmxpbmUtYmxvY2tgIHRvIHByZXZlbnQgd2hpdGVzcGFjZSBiZXR3ZWVudCBjaGlsZCBlbGVtZW50c1xuICogMi4gQmVoYXZlIGxpa2UgYnV0dG9uXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICovXG5cbi51ay1idXR0b24tZ3JvdXAge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAvKiAyICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNlY3Rpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIGxheW91dCBzZWN0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2VjdGlvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zZWN0aW9uLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi14bGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLW92ZXJsYXBgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmUtY29sb3JgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWN0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE1ha2UgaXQgd29yayB3aXRoIGAxMDB2aGAgYW5kIGhlaWdodCBpbiBnZW5lcmFsXG4gKi9cblxuLnVrLXNlY3Rpb24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbikpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24oKTt9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstc2VjdGlvbjo6YmVmb3JlLFxuLnVrLXNlY3Rpb246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstc2VjdGlvbjo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBYU21hbGxcbiAqL1xuXG4udWstc2VjdGlvbi14c21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1zZWN0aW9uLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKlxuICogWExhcmdlXG4gKi9cblxuLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uLXhsYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1zZWN0aW9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuXG4udWstc2VjdGlvbi1tdXRlZCB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1tdXRlZCkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tbXV0ZWQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLXNlY3Rpb24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLXByaW1hcnkoKTt9XG59XG5cbkBpZiAoICRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1zZWN0aW9uLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKTt9XG59XG5cbkBpZiAoICRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKiBPdmVybGFwIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2VydmVkIG1vZGlmaWVyIHRvIG1ha2UgYSBzZWN0aW9uIG92ZXJsYXAgYW5vdGhlciBzZWN0aW9uIHdpdGggYW4gYm9yZGVyIGltYWdlXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuXG4udWstc2VjdGlvbi1vdmVybGFwIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1vdmVybGFwKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1vdmVybGFwKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2VjdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tb3ZlcmxhcCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbnRhaW5lclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gYWxpZ24gYW5kIGNlbnRlciB5b3VyIHNpdGUgYW5kIGdyaWQgY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbnRhaW5lcmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1jb250YWluZXItc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWV4cGFuZC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWV4cGFuZC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29udGFpbmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcbiRjb250YWluZXIteHNtYWxsLW1heC13aWR0aDogICAgICAgICAgICAgNzUwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDogICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAxNDAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXhsYXJnZS1tYXgtd2lkdGg6ICAgICAgICAgICAgIDE2MDBweCAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQm94IHNpemluZyBoYXMgdG8gYmUgYGNvbnRlbnQtYm94YCBzbyB0aGUgbWF4LXdpZHRoIGlzIGFsd2F5cyB0aGUgc2FtZSBhbmRcbiAqICAgIHVuYWZmZWN0ZWQgYnkgdGhlIHBhZGRpbmcgb24gZGlmZmVyZW50IGJyZWFrcG9pbnRzLiBJdCdzIGltcG9ydGFudCBmb3IgdGhlIHNpemUgbW9kaWZpZXJzLlxuICovXG5cbi51ay1jb250YWluZXIge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1jb250YWluZXI6OmJlZm9yZSxcbi51ay1jb250YWluZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstY29udGFpbmVyOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY29udGFpbmVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgcGFkZGluZyBmcm9tIG5lc3RlZCBjb250YWluZXJzXG4gKi9cblxuLnVrLWNvbnRhaW5lciAudWstY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6ICRjb250YWluZXIteHNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWxhcmdlIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLXhsYXJnZSB7IG1heC13aWR0aDogJGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXItZXhwYW5kIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cblxuLyogRXhwYW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEV4cGFuZCBvbmUgc2lkZSBvbmx5XG4gKi9cblxuLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdCB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4udWstY29udGFpbmVyLWV4cGFuZC1yaWdodCB7IG1hcmdpbi1yaWdodDogMDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci14c21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhzbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXN9KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXItc21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXN9KScpOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItc21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItc21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItbGFyZ2UsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLWxhcmdlIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteGxhcmdlLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14bGFyZ2UgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci14bGFyZ2UtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tfSknKTsgfVxuXG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBVdGlsaXR5IGNsYXNzZXMgdG8gcmVzZXQgY29udGFpbmVyIHBhZGRpbmcgb24gdGhlIGxlZnQgb3IgcmlnaHQgc2lkZVxuICogTm90ZTogSXQgaGFzIHRvIGJlIG5lZ2F0aXZlIG1hcmdpbiBvbiB0aGUgaXRlbSwgYmVjYXVzZSBpdCdzIHNwZWNpZmljIHRvIHRoZSBpdGVtLlxuICovXG5cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWx9KScpIH1cblxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtc30pJykgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zKTsgfVxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zKTsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJykgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tKTsgfVxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tKTsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY29udGFpbmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb250YWluZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY29udGFpbmVyLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBHcmlkXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcmVzcG9uc2l2ZSwgZmx1aWQgYW5kIG5lc3RhYmxlIGdyaWRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZ3JpZGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1ncmlkLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1jb2xsYXBzZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWF0Y2hgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLXN0YWNrYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW5gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tY29sbGFwc2VgXG4vL1xuLy8gU3ViLW1vZGlmaWVyOiAgICBgdWstZ3JpZC1pdGVtLW1hdGNoYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWZpcnN0LWNvbHVtbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG5cbiRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuXG4kZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZ3JpZC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEdyaWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgY2VsbHMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogR3JpZCBjZWxsXG4gKiBOb3RlOiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3M6IDAgMSBhdXRvXG4gKiBSZXNldCBtYXJnaW4gZm9yIGUuZy4gcGFyYWdyYXBoc1xuICovXG5cbi51ay1ncmlkID4gKiB7IG1hcmdpbjogMDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWdyaWQgPiAqID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogR3V0dGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWd1dHRlci1ob3Jpem9udGFsKTsgfVxuLnVrLWdyaWQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZCxcbi51ay1ncmlkID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRncmlkLWd1dHRlci12ZXJ0aWNhbDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCk7IH1cbiAgICAudWstZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQgKyAudWstZ3JpZCxcbiAgICAudWstZ3JpZCA+IC51ay1ncmlkLW1hcmdpbixcbiAgICAqICsgLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWw7IH1cblxufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkLWNvbHVtbi1zbWFsbCB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsKTsgfVxuLnVrLWdyaWQtc21hbGwgPiAqLFxuLnVrLWdyaWQtY29sdW1uLXNtYWxsID4gKiAgeyBwYWRkaW5nLWxlZnQ6ICRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLXNtYWxsLFxuLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctc21hbGwsXG4udWstZ3JpZC1zbWFsbCA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1zbWFsbCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLW1lZGl1bSxcbi51ay1ncmlkLWNvbHVtbi1tZWRpdW0geyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1tZWRpdW0gPiAqLFxuLnVrLWdyaWQtY29sdW1uLW1lZGl1bSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZCArIC51ay1ncmlkLXJvdy1tZWRpdW0sXG4udWstZ3JpZC1tZWRpdW0gPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctbWVkaXVtID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tdG9wOiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWxhcmdlLFxuLnVrLWdyaWQtY29sdW1uLWxhcmdlIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1sYXJnZSA+ICosXG4udWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1sYXJnZSxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LWxhcmdlLFxuLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtbGFyZ2UsXG4gICAgLnVrLWdyaWQtY29sdW1uLWxhcmdlIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCk7IH1cbiAgICAudWstZ3JpZC1sYXJnZSA+ICosXG4gICAgLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuICAgIC51ay1ncmlkICsgLnVrLWdyaWQtcm93LWxhcmdlLFxuICAgIC51ay1ncmlkLWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgIC51ay1ncmlkLXJvdy1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiAgICAqICsgLnVrLWdyaWQtbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWw7IH1cblxufVxuXG4vKlxuICogQ29sbGFwc2VcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1jb2xsYXBzZSxcbi51ay1ncmlkLWNvbHVtbi1jb2xsYXBzZSB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4udWstZ3JpZC1jb2xsYXBzZSA+ICosXG4udWstZ3JpZC1jb2x1bW4tY29sbGFwc2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLWNvbGxhcHNlLFxuLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctY29sbGFwc2UsXG4udWstZ3JpZC1jb2xsYXBzZSA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1jb2xsYXBzZSA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWdyaWQtZGl2aWRlciA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXItbGVmdDogJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGdyaWQtZGl2aWRlci1ib3JkZXI7XG59XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAkZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbn1cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlciA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6ICgtJGdyaWQtZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG4gICAgLnVrLWdyaWQtZGl2aWRlciA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1ndXR0ZXItdmVydGljYWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIHRvcDogKC0kZ3JpZC1ndXR0ZXItdmVydGljYWwtbCk7XG4gICAgICAgIGxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7XG4gICAgfVxuXG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiAqLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1zbWFsbCA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgdG9wOiAoLSRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCk7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gKixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbWVkaXVtID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IHRvcDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgdG9wOiAoLSRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCk7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UsXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICosXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbixcbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbCk7XG4gICAgICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7XG4gICAgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwpOyB9XG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbn1cblxuXG4vKiBNYXRjaCBjaGlsZCBvZiBhIGdyaWQgY2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDEuIFdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoLCBhdCBsZWFzdCAxMDAlLiBPbmx5IGlmIG5vIGNsYXNzIGZyb20gdGhlIFdpZHRoIGNvbXBvbmVudCBpcyBzZXQuXG4gKiAzLiBFeHBhbmQgd2lkdGggZXZlbiBpZiBsYXJnZXIgdGhhbiAxMDAlLCBlLmcuIGJlY2F1c2Ugb2YgbmVnYXRpdmUgbWFyZ2luIChOZWVkZWQgZm9yIG5lc3RlZCBncmlkcylcbiAqL1xuXG4udWstZ3JpZC1tYXRjaCA+ICosXG4udWstZ3JpZC1pdGVtLW1hdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi51ay1ncmlkLW1hdGNoID4gKiA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSksXG4udWstZ3JpZC1pdGVtLW1hdGNoID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGZsZXg6IGF1dG87XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZ3JpZC1taXNjKSkge0BpbmNsdWRlIGhvb2stZ3JpZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWdyaWQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuIiwiLy8gTmFtZTogICAgICAgICAgICBUaWxlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdGlsZWQgYm94ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10aWxlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRpbGUteHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXhsYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLXNlY29uZGFyeWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZS1jb2xvcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcblxuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG5cbiR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRpbGUtbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kdGlsZS1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRpbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGlsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlKSkge0BpbmNsdWRlIGhvb2stdGlsZSgpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLXRpbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstdGlsZTo6YmVmb3JlLFxuLnVrLXRpbGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstdGlsZTo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXRpbGUgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBYU21hbGxcbiAqL1xuXG4udWstdGlsZS14c21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay10aWxlLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXRpbGUtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKlxuICogWExhcmdlXG4gKi9cblxuLnVrLXRpbGUteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlLXhsYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay10aWxlLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stdGlsZS1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuXG4udWstdGlsZS1tdXRlZCB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtbXV0ZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1tdXRlZCkpIHtAaW5jbHVkZSBob29rLXRpbGUtbXV0ZWQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLXRpbGUtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay10aWxlLXByaW1hcnkoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICR0aWxlLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICR0aWxlLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstdGlsZS1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLXRpbGUtc2Vjb25kYXJ5KCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stdGlsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10aWxlKCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDYXJkXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYm94ZWQgY29udGVudCBjb250YWluZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2FyZGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jYXJkLWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtZm9vdGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1tZWRpYS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtYmFkZ2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstY2FyZC1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtc2Vjb25kYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtbGFyZ2VgXG4vL1xuLy8gVXNlczogICAgICAgICAgICBgdWstZ3JpZC1zdGFja2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogICAgICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGNhcmQtYmFkZ2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2FyZC1iYWRnZS10b3AgIWRlZmF1bHQ7XG5cbiRjYXJkLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG5cbiRjYXJkLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGNhcmQtcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGNhcmQtc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgZGFya2VuKCRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG5cbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENhcmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQpKSB7QGluY2x1ZGUgaG9vay1jYXJkKCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtYm9keSB7XG4gICAgcGFkZGluZzogJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWJvZHkoKTt9XG59XG5cbi51ay1jYXJkLWhlYWRlciB7XG4gICAgcGFkZGluZzogJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWhlYWRlcigpO31cbn1cblxuLnVrLWNhcmQtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAkY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZm9vdGVyKCk7fVxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1jYXJkLWJvZHk6OmJlZm9yZSxcbi51ay1jYXJkLWJvZHk6OmFmdGVyLFxuLnVrLWNhcmQtaGVhZGVyOjpiZWZvcmUsXG4udWstY2FyZC1oZWFkZXI6OmFmdGVyLFxuLnVrLWNhcmQtZm9vdGVyOjpiZWZvcmUsXG4udWstY2FyZC1mb290ZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstY2FyZC1ib2R5OjphZnRlcixcbi51ay1jYXJkLWhlYWRlcjo6YWZ0ZXIsXG4udWstY2FyZC1mb290ZXI6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jYXJkLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtZm9vdGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogTWVkaWFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXJ2ZWQgYWxpZ25tZW50IG1vZGlmaWVyIHRvIHN0eWxlIHRoZSBtZWRpYSBlbGVtZW50LCBlLmcuIHdpdGggYGJvcmRlci1yYWRpdXNgXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuXG5bY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhKSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYSgpO31cbn1cblxuLnVrLWNhcmQtbWVkaWEtdG9wLFxuLnVrLWdyaWQtc3RhY2sgPiAudWstY2FyZC1tZWRpYS1sZWZ0LFxuLnVrLWdyaWQtc3RhY2sgPiAudWstY2FyZC1tZWRpYS1yaWdodCAge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLXRvcCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtdG9wKCk7fVxufVxuXG4udWstY2FyZC1tZWRpYS1ib3R0b20ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLWJvdHRvbSkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtYm90dG9tKCk7fVxufVxuXG46bm90KC51ay1ncmlkLXN0YWNrKSA+IC51ay1jYXJkLW1lZGlhLWxlZnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLWxlZnQpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLWxlZnQoKTt9XG59XG5cbjpub3QoLnVrLWdyaWQtc3RhY2spID4gLnVrLWNhcmQtbWVkaWEtcmlnaHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLW1lZGlhLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRjYXJkLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXRpdGxlKCk7fVxufVxuXG5cbi8qIEJhZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRjYXJkLWJhZGdlLXRvcDtcbiAgICByaWdodDogJGNhcmQtYmFkZ2UtcmlnaHQ7XG4gICAgei1pbmRleDogMTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtYmFkZ2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbi51ay1jYXJkLWJhZGdlOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vKiBIb3ZlciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLWhvdmVyOm5vdCgudWstY2FyZC1kZWZhdWx0KTpub3QoLnVrLWNhcmQtcHJpbWFyeSk6bm90KC51ay1jYXJkLXNlY29uZGFyeSk6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKiBOb3RlOiBIZWFkZXIgYW5kIEZvb3RlciBhcmUgb25seSBpbXBsZW1lbnRlZCBmb3IgdGhlIGRlZmF1bHQgc3R5bGVcbiAqL1xuXG4udWstY2FyZC1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLWRlZmF1bHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdCgpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdC51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC1ob3ZlcigpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1oZWFkZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcigpO31cbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1mb290ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcigpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstY2FyZC1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeSgpO31cbn1cblxuLnVrLWNhcmQtcHJpbWFyeSAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeS1ob3ZlcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1jYXJkLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLXNlY29uZGFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeSgpO31cbn1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstY2FyZC1zbWFsbC51ay1jYXJkLWJvZHksXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7IH1cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jYXJkLWxhcmdlLnVrLWNhcmQtYm9keSxcbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cbiAgICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1taXNjKSkge0BpbmNsdWRlIGhvb2stY2FyZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jYXJkKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLXRvcCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDbG9zZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgY2xvc2UgYnV0dG9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2xvc2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2xvc2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ2xvc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1jbG9zZSB7XG4gICAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1jbG9zZSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWNsb3NlOmhvdmVyLFxuLnVrLWNsb3NlOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2xvc2UtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY2xvc2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWNsb3NlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jbG9zZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1jbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTcGlubmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBsb2FkaW5nIHNwaW5uZXJcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zcGlubmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzcGlubmVyLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc3Ryb2tlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kc3Bpbm5lci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvb3IoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpIC8gMikgIWRlZmF1bHQ7IC8vIE1pbnVzIHN0cm9rZSB3aWR0aCB0byBwcmV2ZW50IG92ZXJmbG93IGNsaXBwaW5nXG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiAgICAgICAgICAgICAgICAgICAgICAgICAgcm91bmQoMiAqIDMuMTQxICogJHNwaW5uZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRzcGlubmVyLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjRzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTcGlubmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstc3Bpbm5lciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNwaW5uZXIpKSB7QGluY2x1ZGUgaG9vay1zcGlubmVyKCk7fVxufVxuXG5cbi8qIFNWR1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zcGlubmVyID4gKiB7IGFuaW1hdGlvbjogdWstc3Bpbm5lci1yb3RhdGUgJHNwaW5uZXItZHVyYXRpb24gbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgdWstc3Bpbm5lci1yb3RhdGUge1xuICAgIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfVxufVxuXG4vKlxuICogQ2lyY2xlXG4gKi9cblxuLnVrLXNwaW5uZXIgPiAqID4gKiB7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgYW5pbWF0aW9uOiB1ay1zcGlubmVyLWRhc2ggJHNwaW5uZXItZHVyYXRpb24gZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gICAgc3Ryb2tlLXdpZHRoOiAkc3Bpbm5lci1zdHJva2Utd2lkdGg7XG4gICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xufVxuXG5Aa2V5ZnJhbWVzIHVrLXNwaW5uZXItZGFzaCB7XG4gICAgMCUgeyBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTsgfVxuICAgIDUwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlLzQ7XG4gICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlO1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDQ1MGRlZyk7XG4gICAgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNwaW5uZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXNwaW5uZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3Bpbm5lcigpe31cbi8vIEBtaXhpbiBob29rLXNwaW5uZXItbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVG90b3Bcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBpY29uIHRvIHNjcm9sbCBiYWNrIHRvIHRvcFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRvdG9wYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0b3RvcC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdG90b3AtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHRvdG9wLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiR0b3RvcC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUb3RvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay10b3RvcCB7XG4gICAgcGFkZGluZzogJHRvdG9wLXBhZGRpbmc7XG4gICAgY29sb3I6ICR0b3RvcC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3ApKSB7QGluY2x1ZGUgaG9vay10b3RvcCgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRvdG9wOmhvdmVyLFxuLnVrLXRvdG9wOmZvY3VzIHtcbiAgICBjb2xvcjogJHRvdG9wLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdG90b3AtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay10b3RvcDphY3RpdmUge1xuICAgIGNvbG9yOiAkdG90b3AtYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10b3RvcC1hY3RpdmUoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3AtbWlzYykpIHtAaW5jbHVkZSBob29rLXRvdG9wLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRvdG9wKCl7fVxuLy8gQG1peGluIGhvb2stdG90b3AtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10b3RvcC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10b3RvcC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10b3RvcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AtYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBNYXJrZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIG1hcmtlciBpY29uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbWFya2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRtYXJrZXItcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG1hcmtlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1hcmtlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRtYXJrZXItaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNYXJrZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstbWFya2VyIHtcbiAgICBwYWRkaW5nOiAkbWFya2VyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG1hcmtlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbWFya2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJrZXIpKSB7QGluY2x1ZGUgaG9vay1tYXJrZXIoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1tYXJrZXI6aG92ZXIsXG4udWstbWFya2VyOmZvY3VzIHtcbiAgICBjb2xvcjogJG1hcmtlci1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJrZXItaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tYXJrZXItaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbWFya2VyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1tYXJrZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbWFya2VyKCl7fVxuLy8gQG1peGluIGhvb2stbWFya2VyLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbWFya2VyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLW1hcmtlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlci1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQWxlcnRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbGVydCBtZXNzYWdlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFsZXJ0YFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLWFsZXJ0LWNsb3NlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWFsZXJ0LXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGVydC1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxlcnQtd2FybmluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsZXJ0LWRhbmdlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYWxlcnQtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsZXJ0LXBhZGRpbmcgKyAxNHB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYWxlcnQtY2xvc2UtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsZXJ0LXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGFsZXJ0LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbiRhbGVydC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQsIDQwJSksIDI1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRhbGVydC13YXJuaW5nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQsIDQ1JSksIDE1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGVydFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbGVydCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tdmVydGljYWw7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcgJGFsZXJ0LXBhZGRpbmctcmlnaHQgJGFsZXJ0LXBhZGRpbmcgJGFsZXJ0LXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQpKSB7QGluY2x1ZGUgaG9vay1hbGVydCgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLWFsZXJ0IHsgbWFyZ2luLXRvcDogJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWFsZXJ0ID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFsZXJ0LWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkYWxlcnQtY2xvc2UtdG9wO1xuICAgIHJpZ2h0OiAkYWxlcnQtY2xvc2UtcmlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LWNsb3NlKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtY2xvc2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbi51ay1hbGVydC1jbG9zZTpmaXJzdC1jaGlsZCArICogeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBIb3ZlciArIEZvY3VzXG4gKi9cblxuLnVrLWFsZXJ0LWNsb3NlOmhvdmVyLFxuLnVrLWFsZXJ0LWNsb3NlOmZvY3VzIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1jbG9zZS1ob3ZlcigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1hbGVydC1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWFsZXJ0LXByaW1hcnkoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWFsZXJ0LXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1zdWNjZXNzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtc3VjY2VzcygpO31cbn1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuXG4udWstYWxlcnQtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LXdhcm5pbmctYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1hbGVydC13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLWFsZXJ0LWRhbmdlciB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1kYW5nZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtbWlzYykpIHtAaW5jbHVkZSBob29rLWFsZXJ0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFsZXJ0KCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1jbG9zZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBCYWRnZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG5vdGlmaWNhdGlvbiBiYWRnZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1iYWRnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYmFkZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjJweCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRiYWRnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRiYWRnZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBDZW50ZXIgY2hpbGQgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWJhZGdlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi13aWR0aDogJGJhZGdlLXNpemU7XG4gICAgaGVpZ2h0OiAkYmFkZ2Utc2l6ZTtcbiAgICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy12ZXJ0aWNhbCAkYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYWRnZS1ib3JkZXItcmFkaXVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG4gICAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWJhZGdlKCk7fVxufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYFxuICovXG5cbi51ay1iYWRnZTpob3Zlcixcbi51ay1iYWRnZTpmb2N1cyB7XG4gICAgY29sb3I6ICRiYWRnZS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1iYWRnZS1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1iYWRnZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1iYWRnZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJhZGdlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYWRnZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UtaG92ZXIoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBMYWJlbFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gaW5kaWNhdGUgaW1wb3J0YW50IG5vdGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGFiZWxgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbGFiZWwtc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxhYmVsLXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sYWJlbC1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxhYmVsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGFiZWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsICRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsYWJlbC1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stbGFiZWwoKTt9XG59XG5cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstbGFiZWwtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1sYWJlbC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtd2FybmluZy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtd2FybmluZy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtd2FybmluZykpIHtAaW5jbHVkZSBob29rLWxhYmVsLXdhcm5pbmcoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstbGFiZWwtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWxhYmVsLWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC1taXNjKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGFiZWwoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBPdmVybGF5XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgY29udGVudCBhcmVhcyBvdmVybGF5aW5nIGFuIGltYWdlXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstb3ZlcmxheWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1vdmVybGF5LWljb25gXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstb3ZlcmxheS1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3ZlcmxheS1wcmltYXJ5YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuXG4kb3ZlcmxheS1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBPdmVybGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW92ZXJsYXkge1xuICAgIHBhZGRpbmc6ICRvdmVybGF5LXBhZGRpbmctdmVydGljYWwgJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5KSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1vdmVybGF5ID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVybGF5LWljb24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LWljb24pKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LWljb24oKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstb3ZlcmxheS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkb3ZlcmxheS1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstb3ZlcmxheS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkb3ZlcmxheS1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW92ZXJsYXktcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLW92ZXJsYXktcHJpbWFyeSgpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstb3ZlcmxheS1wcmltYXJ5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1vdmVybGF5LXByaW1hcnkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW92ZXJsYXkoKXt9XG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1vdmVybGF5LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFydGljbGVcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhcnRpY2xlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFydGljbGVgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYXJ0aWNsZS10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFydGljbGUtbWV0YWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYXJ0aWNsZS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAxLjIgIWRlZmF1bHQ7XG5cbiRhcnRpY2xlLW1ldGEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQXJ0aWNsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUoKTt9XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1hcnRpY2xlOjpiZWZvcmUsXG4udWstYXJ0aWNsZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1hcnRpY2xlOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstYXJ0aWNsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEFkamFjZW50IHNpYmxpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZSArIC51ay1hcnRpY2xlIHtcbiAgICBtYXJnaW4tdG9wOiAkYXJ0aWNsZS1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLWFkamFjZW50KSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLXRpdGxlKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1hcnRpY2xlLXRpdGxlIHsgZm9udC1zaXplOiAkYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlLW1ldGEge1xuICAgIGZvbnQtc2l6ZTogJGFydGljbGUtbWV0YS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRhcnRpY2xlLW1ldGEtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUtbWV0YSkpIHtAaW5jbHVkZSBob29rLWFydGljbGUtbWV0YSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFydGljbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBDb21tZW50XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbmVzdGVkIGNvbW1lbnRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29tbWVudGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb21tZW50LWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LW1ldGFgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWF2YXRhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtbGlzdGBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1jb21tZW50LXByaW1hcnlgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvbW1lbnQtaGVhZGVyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kY29tbWVudC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJGNvbW1lbnQtbWV0YS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGNvbW1lbnQtbWV0YS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kY29tbWVudC1saXN0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW06ICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29tbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQoKTt9XG59XG5cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1ib2R5IHtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1ib2R5KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1ib2R5KCk7fVxufVxuXG4udWstY29tbWVudC1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206ICRjb21tZW50LWhlYWRlci1tYXJnaW4tYm90dG9tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstY29tbWVudC1ib2R5OjpiZWZvcmUsXG4udWstY29tbWVudC1ib2R5OjphZnRlcixcbi51ay1jb21tZW50LWhlYWRlcjo6YmVmb3JlLFxuLnVrLWNvbW1lbnQtaGVhZGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWNvbW1lbnQtYm9keTo6YWZ0ZXIsXG4udWstY29tbWVudC1oZWFkZXI6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jb21tZW50LWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jb21tZW50LWhlYWRlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY29tbWVudC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtdGl0bGUoKTt9XG59XG5cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LW1ldGEge1xuICAgIGZvbnQtc2l6ZTogJGNvbW1lbnQtbWV0YS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjb21tZW50LW1ldGEtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjb21tZW50LW1ldGEtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbWV0YSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbWV0YSgpO31cbn1cblxuXG4vKiBBdmF0YXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1hdmF0YXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWF2YXRhcikpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtYXZhdGFyKCk7fVxufVxuXG5cbi8qIExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1saXN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qIEFkamFjZW50IHNpYmxpbmdzICovXG4udWstY29tbWVudC1saXN0ID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKiBOb3RlOiBHZW5lcmFsIHNpYmxpbmcgc2VsZWN0b3IgYWxsb3dzIHJlcGx5IGJsb2NrIGJldHdlZW4gY29tbWVudCBhbmQgc3VibGlzdFxuICovXG5cbi51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCB7XG4gICAgbWFyZ2luOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3AgMCAwIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWxpc3Qtc3ViKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1saXN0LXN1YigpO31cbn1cblxuLyogVGFibGV0IGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCB7IHBhZGRpbmctbGVmdDogJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTsgfVxuXG59XG5cbi8qIEFkamFjZW50IHNpYmxpbmdzICovXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwgPiA6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1wcmltYXJ5KCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY29tbWVudCgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtYXZhdGFyKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBTZWFyY2hcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSB0aGUgc2VhcmNoXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2VhcmNoYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNlYXJjaC1pbnB1dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC10b2dnbGVgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstc2VhcmNoLWljb25gXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstc2VhcmNoLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtbmF2YmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzZWFyY2gtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHNlYXJjaC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kc2VhcmNoLWRlZmF1bHQtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICA2cHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcblxuJHNlYXJjaC1uYXZiYXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kc2VhcmNoLWxhcmdlLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgwcHggIWRlZmF1bHQ7XG5cbiRzZWFyY2gtdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2VhcmNoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBSZXNldCBgZm9ybWBcbiAqL1xuXG4udWstc2VhcmNoIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgbWFyZ2luOiAwO1xufVxuXG5cbi8qIElucHV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbi51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHsgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1zZWFyY2gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIgeyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDUuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKiA2LiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBpT1MuXG4gKiA3LiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDguIFRha2UgdGhlIGZ1bGwgY29udGFpbmVyIHdpZHRoXG4gKiA5LiBTdHlsZVxuICovXG5cbi51ay1zZWFyY2gtaW5wdXQge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgLyogNSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDYgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNyAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogOCAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDkgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICRzZWFyY2gtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1pbnB1dCgpO31cbn1cblxuLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLyogUGxhY2Vob2xkZXIgKi9cbi51ay1zZWFyY2gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG5cbi8qIEljb24gKEFkb3B0cyBgdWstaWNvbmApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IGZvY3VzIHN0eWxlXG4gKi9cblxuLnVrLXNlYXJjaC1pY29uOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogUG9zaXRpb24gYWJvdmUgaW5wdXRcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRzZWFyY2gtaWNvbi1jb2xvcjtcbn1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIgeyBjb2xvcjogJHNlYXJjaC1pY29uLWNvbG9yOyB9XG5cbi8qXG4gKiBNYWtlIGBpbnB1dGAgZWxlbWVudCBjbGlja2FibGUgdGhyb3VnaCBpY29uLCBlLmcuIGlmIGl0J3MgYSBgc3BhbmBcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpub3QoYSk6bm90KGJ1dHRvbik6bm90KGlucHV0KSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qXG4gKiBQb3NpdGlvbiBtb2RpZmllclxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLWZsaXAge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cblxuLyogRGVmYXVsdCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCB7IHdpZHRoOiAkc2VhcmNoLWRlZmF1bHQtd2lkdGg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1kZWZhdWx0LWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJHNlYXJjaC1kZWZhdWx0LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpO31cbn1cblxuLypcbiAqIEljb25cbiAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uIHsgd2lkdGg6ICRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoOyB9XG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aCk7IH1cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWljb24tZmxpcCB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGgpOyB9XG5cblxuLyogTmF2YmFyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC1uYXZiYXIgeyB3aWR0aDogJHNlYXJjaC1uYXZiYXItd2lkdGg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cblxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgaGVpZ2h0OiAkc2VhcmNoLW5hdmJhci1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDtcbiAgICBmb250LXNpemU6ICRzZWFyY2gtbmF2YmFyLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1uYXZiYXItaW5wdXQoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uIHsgd2lkdGg6ICRzZWFyY2gtbmF2YmFyLWljb24td2lkdGg7IH1cblxuLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aCk7IH1cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbi1mbGlwIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoKTsgfVxuXG5cbi8qIExhcmdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSB7IHdpZHRoOiAkc2VhcmNoLWxhcmdlLXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgaGVpZ2h0OiAkc2VhcmNoLWxhcmdlLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ7XG4gICAgZm9udC1zaXplOiAkc2VhcmNoLWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uIHsgd2lkdGg6ICRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aDsgfVxuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aCk7IH1cbi51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aCk7IH1cblxuXG4vKiBUb2dnbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLXRvZ2dsZSB7XG4gICAgY29sb3I6ICRzZWFyY2gtdG9nZ2xlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtdG9nZ2xlKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLXRvZ2dsZSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsXG4udWstc2VhcmNoLXRvZ2dsZTpmb2N1cyB7XG4gICAgY29sb3I6ICRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbWlzYykpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpe31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1zZWFyY2gtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAgICAgICAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZpbmVzIHN0eWxlcyBmb3IgbGlzdCBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW5hdmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1uYXYtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtc3ViYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW5hdi1wYXJlbnQtaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtY2VudGVyYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhcmVudGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9wZW5gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b3VjaGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0OiAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcblxuJG5hdi1wYXJlbnQtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAkbmF2LXBhcmVudC1pY29uLXdpZHRoICFkZWZhdWx0O1xuJG5hdi1wYXJlbnQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXYtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItdGV4dC10cmFuc2Zvcm06ICAgICAgICAgICAgICAgICAgICAgIHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG5hdi1kaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJG5hdi1wcmltYXJ5LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxMCUyMDElMjA0JTIwNyUyMDEwJTIwMTMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBOYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXRcbiAqIDEuIFByZXBhcmUgbGlzdHNcbiAqIDIuIFByZXBhcmUgbGlua3NcbiAqIDMuIFJlbW92ZSBkZWZhdWx0IGZvY3VzIHN0eWxlXG4gKi9cblxuLyogMSAqL1xuLnVrLW5hdixcbi51ay1uYXYgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qIDIgKi9cbi51ay1uYXYgbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIDMgKi9cbi51ay1uYXYgbGkgPiBhOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKlxuICogSXRlbXNcbiAqIE11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGxpc3RzKVxuICovXG5cbi51ay1uYXYgPiBsaSA+IGEgeyBwYWRkaW5nOiAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAkbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cblxuLyogU3VibGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGV2ZWwgMlxuICogYHVsYCBuZWVkZWQgZm9yIGhpZ2hlciBzcGVjaWZpY2l0eSB0byBvdmVycmlkZSBwYWRkaW5nXG4gKi9cblxudWwudWstbmF2LXN1YiB7XG4gICAgcGFkZGluZzogJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWwgMCAkbmF2LXN1Ymxpc3QtcGFkZGluZy12ZXJ0aWNhbCAkbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtc3ViKSkge0BpbmNsdWRlIGhvb2stbmF2LXN1YigpO31cbn1cblxuLypcbiAqIExldmVsIDMgYW5kIGRlZXBlclxuICovXG5cbi51ay1uYXYtc3ViIHVsIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDsgfVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2LXN1YiBhIHsgcGFkZGluZzogJG5hdi1zdWJsaXN0LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAwOyB9XG5cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAkbmF2LXBhcmVudC1pY29uLXdpZHRoO1xuICAgIGhlaWdodDogJG5hdi1wYXJlbnQtaWNvbi1oZWlnaHQ7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlLCBcIiMwMDBcIiwgJG5hdi1wYXJlbnQtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcGFyZW50LWljb24pKSB7QGluY2x1ZGUgaG9vay1uYXYtcGFyZW50LWljb24oKTt9XG59XG5cbi51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50LnVrLW9wZW4gPiBhOjphZnRlciB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2UsIFwiIzAwMFwiLCAkbmF2LXBhcmVudC1pY29uLWNvbG9yKTsgfVxuXG5cbi8qIEhlYWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAkbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJG5hdi1oZWFkZXItdGV4dC10cmFuc2Zvcm07XG4gICAgZm9udC1zaXplOiAkbmF2LWhlYWRlci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtaGVhZGVyKCk7fVxufVxuXG4udWstbmF2LWhlYWRlcjpub3QoOmZpcnN0LWNoaWxkKSB7IG1hcmdpbi10b3A6ICRuYXYtaGVhZGVyLW1hcmdpbi10b3A7IH1cblxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBtYXJnaW46ICRuYXYtZGl2aWRlci1tYXJnaW4tdmVydGljYWwgJG5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kaXZpZGVyKCk7fVxufVxuXG5cbi8qIERlZmF1bHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWRlZmF1bHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3Zlcixcbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6ICRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjsgfVxuXG5cbi8qIFByaW1hcnkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LXByaW1hcnkge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogJG5hdi1wcmltYXJ5LWl0ZW0tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKiBTdWJsaXN0cyAqL1xuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIsXG4udWstbmF2LWNlbnRlciAudWstbmF2LXN1YiB1bCB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBQYXJlbnQgaWNvbiBtb2RpZmllciAgKi9cbi51ay1uYXYtY2VudGVyLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stbmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW5hdi1zdWIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcGFyZW50LWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTmF2YmFyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaG9yaXpvbnRhbCBuYXZpZ2F0aW9uIGJhcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1uYXZiYXJgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbmF2YmFyLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1jZW50ZXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1jZW50ZXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItbmF2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWl0ZW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItdG9nZ2xlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXN1YnRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3BiYXJgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duYCArIE1vZGlmaWVyc1xuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duLW5hdmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bi1ncmlkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXRvZ2dsZS1pY29uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW5hdmJhci1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXRyYW5zcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXN0aWNreWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bi1zdGFja2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYXJlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbmF2YmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWl0ZW0taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJG5hdmJhci1zdWJ0aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci12ZXJ0aWNhbDogICAgICAgICAgICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3A6ICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3BiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBOYXZiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgdG8gY2VudGVyIG5hdmJhciBncm91cFxuICovXG5cbi51ay1uYXZiYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyKCk7fVxufVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7XG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItY29udGFpbmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWNvbnRhaW5lcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJG5hdmJhci1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkbmF2YmFyLWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBSZW1vdmUgcHNldWRvIGVsZW1lbnRzIGNyZWF0ZWQgYnkgbWljcm8gY2xlYXJmaXggYXMgcHJlY2F1dGlvbiAoaWYgQ29udGFpbmVyIGNvbXBvbmVudCBpcyB1c2VkKVxuICovXG5cbi51ay1uYXZiYXItY29udGFpbmVyID4gOjpiZWZvcmUsXG4udWstbmF2YmFyLWNvbnRhaW5lciA+IDo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBHcm91cHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxpZ24gbmF2cyBhbmQgaXRlbXMgdmVydGljYWxseSBpZiB0aGV5IGhhdmUgYSBkaWZmZXJlbnQgaGVpZ2h0XG4gKiAyLiBOb3RlOiBJRSAxMSByZXF1aXJlcyBhbiBleHRyYSBgZGl2YCB3aGljaCBhZmZlY3RzIHRoZSBjZW50ZXIgc2VsZWN0b3JcbiAqL1xuXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuLy8gMi4gW2NsYXNzKj0ndWstbmF2YmFyLWNlbnRlciddLFxuLnVrLW5hdmJhci1jZW50ZXIsXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0ID4gKixcbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0ID4gKiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLypcbiAqIEhvcml6b250YWwgYWxpZ25tZW50XG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgY2VudGVyZWQgbmF2YmFyIHdpdGggc3ViIGdyb3VwcyAobGVmdC9yaWdodClcbiAqIDIuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIGNvbnRlbnQgaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBjb250YWluZXIuXG4gKiAzLiBOZWVkZWQgZm9yIGRyb3Bkb3ducyBiZWNhdXNlIGEgbmV3IHBvc2l0aW9uIGNvbnRleHQgaXMgY3JlYXRlZFxuICogICAgYHotaW5kZXhgIG11c3QgYmUgc21hbGxlciB0aGFuIG9mZi1jYW52YXNcbiAqIDQuIEFsaWduIHN1YiBncm91cHMgZm9yIGNlbnRlcmVkIG5hdmJhclxuICovXG5cbi51ay1uYXZiYXItcmlnaHQgeyBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4udWstbmF2YmFyLWNlbnRlcjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLC01MCUpO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAzICovXG4gICAgei1pbmRleDogJGdsb2JhbC16LWluZGV4IC0gMTA7XG59XG5cbi8qIDQgKi9cbi51ay1uYXZiYXItY2VudGVyLWxlZnQsXG4udWstbmF2YmFyLWNlbnRlci1yaWdodCB7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICB0b3A6IDA7XG59XG5cbi51ay1uYXZiYXItY2VudGVyLWxlZnQgeyByaWdodDogMTAwJTsgfVxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQgeyBsZWZ0OiAxMDAlOyB9XG5cbltjbGFzcyo9J3VrLW5hdmJhci1jZW50ZXItJ10ge1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5cbi8qIE5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLW5hdmJhci1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogT25seSBub3QgYGFic29sdXRlYCBwb3NpdGlvbmVkIGdyb3Vwc1xuICovXG5cbi51ay1uYXZiYXItbGVmdCxcbi51ay1uYXZiYXItcmlnaHQsXG4udWstbmF2YmFyLWNlbnRlcjpvbmx5LWNoaWxkIHsgZmxleC13cmFwOiB3cmFwOyB9XG5cbi8qXG4gKiBJdGVtc1xuICogMS4gQ2VudGVyIGNvbnRlbnQgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBTdHlsZVxuICogNC4gUmVxdWlyZWQgZm9yIGBhYFxuICovXG5cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAgICAvLyBOYXYgaXRlbVxuLnVrLW5hdmJhci1pdGVtLCAgICAgICAgICAgIC8vIENvbnRlbnQgaXRlbVxuLnVrLW5hdmJhci10b2dnbGUgeyAgICAgICAgIC8vIENsaWNrYWJsZSBpdGVtXG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLW5hdi1pdGVtLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwICRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBmb250LXNpemU6ICRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5O1xuICAgIC8qIDQgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBOYXYgaXRlbXNcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbSgpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKiBBcHBseSBob3ZlciBzdHlsZSBhbHNvIHRvIGZvY3VzIHN0YXRlIGFuZCBpZiBkcm9wZG93biBpcyBvcGVuZWRcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWl0ZW0ge1xuICAgIGNvbG9yOiAkbmF2YmFyLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWl0ZW0oKTt9XG59XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci10b2dnbGUge1xuICAgIGNvbG9yOiAkbmF2YmFyLXRvZ2dsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUoKTt9XG59XG5cbi51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4udWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuIHtcbiAgICBjb2xvcjogJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogSWNvblxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1uYXZiYXItdG9nZ2xlLWljb24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlLWljb24pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbjpob3ZlciA+IC51ay1uYXZiYXItdG9nZ2xlLWljb24sXG46Zm9jdXMgPiAudWstbmF2YmFyLXRvZ2dsZS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN1YnRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAkbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXN1YnRpdGxlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXN1YnRpdGxlKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItcHJpbWFyeSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXByaW1hcnkoKTt9XG59XG5cbi51ay1uYXZiYXItdHJhbnNwYXJlbnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdHJhbnNwYXJlbnQpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKTt9XG59XG5cbi51ay1uYXZiYXItc3RpY2t5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXN0aWNreSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1zdGlja3koKTt9XG59XG5cblxuLyogRHJvcGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1kcm9wZG93bmBcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG5hdmJhci1kcm9wZG93bi16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbmF2YmFyLWRyb3Bkb3duLXdpZHRoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24oKTt9XG59XG5cbi8qIFNob3cgKi9cbi51ay1uYXZiYXItZHJvcGRvd24udWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRuYXZiYXItZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJG5hdmJhci1kcm9wZG93bi1tYXJnaW47IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tbWFyZ2luOyB9XG5cbi8qXG4gKiBHcmlkXG4gKiBBZG9wdHMgYHVrLWdyaWRgXG4gKi9cblxuLyogR3V0dGVyIEhvcml6b250YWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBHdXR0ZXIgVmVydGljYWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogU3RhY2sgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tc3RhY2sgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFdpZHRoIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0yOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDIpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTM6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHsgd2lkdGg6ICgkbmF2YmFyLWRyb3Bkb3duLXdpZHRoICogMyk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNDpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiA0KTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC01Om5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDUpOyB9XG5cbi8qXG4gKiBEcm9wYmFyIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcigpO31cbn1cblxuXG4vKiBEcm9wZG93biBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjsgfVxuXG5cbi8qIERyb3BiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWRyb3BiYXIge1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGJhcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wYmFyKCk7fVxufVxuXG4vKlxuICogU2xpZGUgbW9kaWZpZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3BiYXItc2xpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkbmF2YmFyLWRyb3BiYXItei1pbmRleDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1taXNjKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1jb250YWluZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN1YnRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3RpY2t5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN1Ym5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgc3ViIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zdWJuYXZgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc3VibmF2LWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zdWJuYXYtcGlsbGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1maXJzdC1jb2x1bW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRzdWJuYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxLjVlbSAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRzdWJuYXYtaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogICAgICAgICAgICAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICAgICAgICAgICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN1Ym5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLXN1Ym5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICAvKiAzICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYoKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG5cbi51ay1zdWJuYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZmxleDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZy1sZWZ0OiAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogVXNpbmcgYDpmaXJzdC1jaGlsZGAgaW5zdGVhZCBvZiBgYWAgdG8gc3VwcG9ydCBgc3BhbmAgZWxlbWVudHMgZm9yIHRleHRcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2ID4gKiA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkc3VibmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIERpdmlkZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxpZ24gaXRlbXMgYW5kIGRpdmlkZXIgdmVydGljYWxseVxuICovXG5cbi51ay1zdWJuYXYtZGl2aWRlciA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKiBgbnRoLWNoaWxkYCBtYWtlcyBpdCBhbHNvIHdvcmsgd2l0aG91dCBKUyBpZiBpdCdzIG9ubHkgb25lIHJvd1xuICovXG5cbi51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6ICRzdWJuYXYtZGl2aWRlci1ib3JkZXItaGVpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAoJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsIC0gJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAkc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw7XG4gICAgYm9yZGVyLWxlZnQ6ICRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJHN1Ym5hdi1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtZGl2aWRlcigpO31cbn1cblxuXG4vKiBQaWxsIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZzogJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAkc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJHN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpob3Zlcixcbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgIGNvbG9yOiAkc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3VibmF2KCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAgICAgICAgJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQnJlYWRjcnVtYlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgYnJlYWRjcnVtYiBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYnJlYWRjcnVtYmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnJlYWRjcnVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1icmVhZGNydW1iIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWIoKTt9XG59XG5cbi8qXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqL1xuXG4udWstYnJlYWRjcnVtYiA+ICogeyBmbGV4OiBub25lOyB9XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYnJlYWRjcnVtYiA+ICogPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsXG4udWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItaXRlbS1ob3ZlcigpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1icmVhZGNydW1iID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqIGBudGgtY2hpbGRgIG1ha2VzIGl0IGFsc28gd29yayB3aXRob3V0IEpTIGlmIGl0J3Mgb25seSBvbmUgcm93XG4gKi9cblxuLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRicmVhZGNydW1iLWRpdmlkZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWItZGl2aWRlci1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGFnaW5hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgcGFnZSBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFnaW5hdGlvbmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1wYWdpbmF0aW9uLW5leHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWdpbmF0aW9uLXByZXZpb3VzYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWdpbmF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbikpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24oKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG5cbi51ay1wYWdpbmF0aW9uID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLXBhZ2luYXRpb24gPiAqID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsXG4udWstcGFnaW5hdGlvbiA+ICogPiA6Zm9jdXMge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHBhZ2luYXRpb24taXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGFiXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSB0YWJiZWQgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRhYmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10YWItYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFiLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWItcmlnaHRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRhYi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiR0YWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUYWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG5cbi51ay10YWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHRhYi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiKSkge0BpbmNsdWRlIGhvb2stdGFiKCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstdGFiID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHRhYi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIDEuIENlbnRlciB0ZXh0IGlmIGEgd2lkdGggaXMgc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay10YWIgPiAqID4gYSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWwgJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbSkpIHtAaW5jbHVkZSBob29rLXRhYi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstdGFiID4gKiA+IGE6aG92ZXIsXG4udWstdGFiID4gKiA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkdGFiLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRhYi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay10YWIgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRhYi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXRhYi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJvdHRvbVxuICovXG5cbi51ay10YWItYm90dG9tIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWJvdHRvbSkpIHtAaW5jbHVkZSBob29rLXRhYi1ib3R0b20oKTt9XG59XG5cbi51ay10YWItYm90dG9tID4gKiA+IGEge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItYm90dG9tLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItYm90dG9tLWl0ZW0oKTt9XG59XG5cbi8qXG4gKiBMZWZ0ICsgUmlnaHRcbiAqIDEuIFJlc2V0IEd1dHRlclxuICovXG5cbi51ay10YWItbGVmdCxcbi51ay10YWItcmlnaHQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vKiAxICovXG4udWstdGFiLWxlZnQgPiAqLFxuLnVrLXRhYi1yaWdodCA+ICogeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnVrLXRhYi1sZWZ0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWxlZnQpKSB7QGluY2x1ZGUgaG9vay10YWItbGVmdCgpO31cbn1cblxuLnVrLXRhYi1yaWdodCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1yaWdodCkpIHtAaW5jbHVkZSBob29rLXRhYi1yaWdodCgpO31cbn1cblxuLnVrLXRhYi1sZWZ0ID4gKiA+IGEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1sZWZ0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItbGVmdC1pdGVtKCk7fVxufVxuXG4udWstdGFiLXJpZ2h0ID4gKiA+IGEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1yaWdodC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLXJpZ2h0LWl0ZW0oKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10YWItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGFiKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWxlZnQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZW5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHByZXZpb3VzL25leHQgaWNvbiBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNsaWRlbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlbmF2LWNvbnRhaW5lcmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zbGlkZW5hdi1wcmV2aW91c2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlbmF2LW5leHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zbGlkZW5hdi1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cbiRzbGlkZW5hdi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWwgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlbmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstc2xpZGVuYXYge1xuICAgIHBhZGRpbmc6ICRzbGlkZW5hdi1wYWRkaW5nLXZlcnRpY2FsICRzbGlkZW5hdi1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXNsaWRlbmF2OmhvdmVyLFxuLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1zbGlkZW5hdjphY3RpdmUge1xuICAgIGNvbG9yOiAkc2xpZGVuYXYtYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1hY3RpdmUoKTt9XG59XG5cblxuLyogSWNvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2aW91c1xuICovXG5cbi51ay1zbGlkZW5hdi1wcmV2aW91cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LXByZXZpb3VzKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKTt9XG59XG5cbi8qXG4gKiBOZXh0XG4gKi9cblxuLnVrLXNsaWRlbmF2LW5leHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1uZXh0KSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtbmV4dCgpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNsaWRlbmF2LWxhcmdlIHtcbiAgICBwYWRkaW5nOiAkc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbCAkc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWxhcmdlKCk7fVxufVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zbGlkZW5hdi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWNvbnRhaW5lcikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LXByZXZpb3VzKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtbmV4dCgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtY29udGFpbmVyKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45NSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC43KSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERvdG5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRvdCBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRvdG5hdmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1kb3RuYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuJGRvdG5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRkb3RuYXYtaXRlbS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb3RuYXYtaXRlbS13aWR0aCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICA1MCUgIWRlZmF1bHQ7XG5cbiRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC4yKSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERvdG5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2KSkge0BpbmNsdWRlIGhvb2stZG90bmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstZG90bmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtc1xuICogMS4gSGlkZSB0ZXh0IGlmIHByZXNlbnRcbiAqL1xuXG4udWstZG90bmF2ID4gKiA+ICoge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRkb3RuYXYtaXRlbS13aWR0aDtcbiAgICBoZWlnaHQ6ICRkb3RuYXYtaXRlbS1oZWlnaHQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGRvdG5hdi1pdGVtLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGRvdG5hdi1pdGVtLWJhY2tncm91bmQ7XG4gICAgLyogMSAqL1xuICAgIHRleHQtaW5kZW50OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsXG4udWstZG90bmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1kb3RuYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0tb25jbGljaygpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIE1vZGlmaWVyOiAndWstZG90bmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstZG90bmF2LXZlcnRpY2FsIHtcbiAgICAvKiAxICovXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbCk7XG59XG5cbi8qIDIgKi9cbi51ay1kb3RuYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRvdG5hdigpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFRodW1ibmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdGh1bWJuYWlsIG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGh1bWJuYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstdGh1bWJuYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJHRodW1ibmF2LW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGh1bWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay10aHVtYm5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdikpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2KCk7fVxufVxuXG4vKlxuICogU3BhY2UgaXMgYWxsb2NhdGVkIGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3M6IDAgMSBhdXRvXG4gKiAxLiBHdXR0ZXJcbiAqL1xuXG4udWstdGh1bWJuYXYgPiAqIHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZy1sZWZ0OiAkdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstdGh1bWJuYXYgPiAqID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRodW1ibmF2ID4gKiA+IDpob3Zlcixcbi51ay10aHVtYm5hdiA+ICogPiA6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay10aHVtYm5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBNb2RpZmllcjogJ3VrLXRodW1ibmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstdGh1bWJuYXYtdmVydGljYWwge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAoLSR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWwpO1xufVxuXG4vKiAyICovXG4udWstdGh1bWJuYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2KCl7fVxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQWNjb3JkaW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYWNjb3JkaW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFjY29yZGlvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hY2NvcmRpb24tdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hY2NvcmRpb24tY29udGVudGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRhY2NvcmRpb24taXRlbS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFjY29yZGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24taXRlbSgpO31cbn1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24tdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRhY2NvcmRpb24tdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi10aXRsZSkpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi10aXRsZSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWFjY29yZGlvbi10aXRsZTpob3Zlcixcbi51ay1hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGNvbG9yOiAkYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKTt9XG59XG5cblxuLyogQ29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24tY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1jb250ZW50KSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKTt9XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1hY2NvcmRpb24tY29udGVudDo6YmVmb3JlLFxuLnVrLWFjY29yZGlvbi1jb250ZW50OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWFjY29yZGlvbi1jb250ZW50OjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4gLnVrLWFjY29yZGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZS1ob3Zlcigpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIERyb3Bcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIHBvc2l0aW9uIGFueSBlbGVtZW50IG5leHQgdG8gYW55IG90aGVyIGVsZW1lbnQuXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZHJvcGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kcm9wLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcC1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtZ3JpZGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vIFVzZXM6ICAgICAgICAgICAgQW5pbWF0aW9uXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRyb3Atei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRkcm9wLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKi9cblxuLnVrLWRyb3Age1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGRyb3Atei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJGRyb3Atd2lkdGg7XG59XG5cbi8qIFNob3cgKi9cbi51ay1kcm9wLnVrLW9wZW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLWRyb3AtdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRkcm9wLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3AtYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkZHJvcC1tYXJnaW47IH1cbltjbGFzcyo9J3VrLWRyb3AtbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJGRyb3AtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstZHJvcC1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRkcm9wLW1hcmdpbjsgfVxuXG5cbi8qIEdyaWQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3Atc3RhY2sgLnVrLWRyb3AtZ3JpZCA+ICogeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcC1taXNjKSkge0BpbmNsdWRlIGhvb2stZHJvcC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERyb3Bkb3duXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgZHJvcGRvd24gbWVudXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kcm9wZG93bmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1kcm9wZG93bi1uYXZgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZHJvcGRvd24tdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Bkb3duLWdyaWRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkcm9wZG93bi16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstZHJvcGRvd24ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGRyb3Bkb3duLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstZHJvcGRvd24udWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cblxuLyogTmF2XG4gKiBBZG9wdHMgYHVrLW5hdmBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcGRvd24tbmF2IHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKyBBY3RpdmUgKi9cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMsXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1kcm9wZG93bi10b3AnXSB7IG1hcmdpbi10b3A6ICgtJGRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3Bkb3duLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJGRyb3Bkb3duLW1hcmdpbjsgfVxuW2NsYXNzKj0ndWstZHJvcGRvd24tbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJGRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3Bkb3duLXJpZ2h0J10geyBtYXJnaW4tbGVmdDogJGRyb3Bkb3duLW1hcmdpbjsgfVxuXG5cbi8qIEdyaWQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3Bkb3duLXN0YWNrIC51ay1kcm9wZG93bi1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBNb2RhbFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG1vZGFsIGRpYWxvZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tb2RhbGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1tb2RhbC1wYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZGlhbG9nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWZvb3RlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2VgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbW9kYWwtY2xvc2UtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLW91dHNpZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1mdWxsYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW1vZGFsLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWZ1bGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbW9kYWwtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbW9kYWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwwLjYpICFkZWZhdWx0O1xuXG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXM6ICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGFpbmVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJG1vZGFsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAoJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwgLyAyKSAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMS4zICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2UtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTW9kYWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIEFsbG93IHNjcm9sbGluZyBmb3IgdGhlIG1vZGFsIGRpYWxvZ1xuICogNC4gSG9yaXpvbnRhbCBwYWRkaW5nXG4gKiA1LiBNYXNrIHRoZSBiYWNrZ3JvdW5kIHBhZ2VcbiAqIDYuIEZhZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1tb2RhbCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG1vZGFsLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkbW9kYWwtcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbCgpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW1vZGFsIHsgcGFkZGluZzogJG1vZGFsLXBhZGRpbmctdmVydGljYWwtcyAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1tb2RhbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBPcGVuXG4gKi9cblxuLnVrLW1vZGFsLnVrLW9wZW4geyBvcGFjaXR5OiAxOyB9XG5cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuXG4udWstbW9kYWwtcGFnZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBEaWFsb2dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIHNwaW5uZXIgYW5kIGNsb3NlIGJ1dHRvblxuICogMi4gRGltZW5zaW9uc1xuICogMy4gRml4IGBtYXgtd2lkdGg6IDEwMCVgIG5vdCB3b3JraW5nIGluIGNvbWJpbmF0aW9uIHdpdGggZmxleCBhbmQgcmVzcG9uc2l2ZSBpbWFnZXMgaW4gSUUxMVxuICogICAgYCFpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVyd3JpdGUgYHVrLXdpZHRoLWF1dG9gLiBTZWUgYCNtb2RhbC1tZWRpYS1pbWFnZWAgaW4gdGVzdHNcbiAqIDQuIFN0eWxlXG4gKiA1LiBTbGlkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogJG1vZGFsLWRpYWxvZy13aWR0aDtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAwLjAxcHgpJykgIWltcG9ydGFudDtcbiAgICAvKiA0ICovXG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kO1xuICAgIC8qIDUgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwcHgpO1xuICAgIHRyYW5zaXRpb246IDAuM3MgbGluZWFyO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZGlhbG9nKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZGlhbG9nKCk7fVxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1vcGVuID4gLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBDb250YWluZXIgc2l6ZVxuICogVGFrZSB0aGUgc2FtZSBzaXplIGFzIHRoZSBDb250YWluZXIgY29tcG9uZW50XG4gKi9cblxuLnVrLW1vZGFsLWNvbnRhaW5lciAudWstbW9kYWwtZGlhbG9nIHsgd2lkdGg6ICRtb2RhbC1jb250YWluZXItd2lkdGg7IH1cblxuLypcbiAqIEZ1bGwgc2l6ZVxuICogMS4gUmVtb3ZlIHBhZGRpbmcgYW5kIGJhY2tncm91bmQgZnJvbSBtb2RhbFxuICogMi4gUmVzZXQgYWxsIGRlZmF1bHQgZGVjbGFyYXRpb25zIGZyb20gbW9kYWwgZGlhbG9nXG4gKi9cblxuLyogMSAqL1xuLnVrLW1vZGFsLWZ1bGwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLyogMiAqL1xuLnVrLW1vZGFsLWZ1bGwgLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWZ1bGwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1mdWxsKCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1vZGFsLWJvZHkge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1ib2R5KSkge0BpbmNsdWRlIGhvb2stbW9kYWwtYm9keSgpO31cbn1cblxuLnVrLW1vZGFsLWhlYWRlciB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtaGVhZGVyKCk7fVxufVxuXG4udWstbW9kYWwtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWZvb3Rlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1mb290ZXIoKTt9XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1tb2RhbC1ib2R5OjpiZWZvcmUsXG4udWstbW9kYWwtYm9keTo6YWZ0ZXIsXG4udWstbW9kYWwtaGVhZGVyOjpiZWZvcmUsXG4udWstbW9kYWwtaGVhZGVyOjphZnRlcixcbi51ay1tb2RhbC1mb290ZXI6OmJlZm9yZSxcbi51ay1tb2RhbC1mb290ZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstbW9kYWwtYm9keTo6YWZ0ZXIsXG4udWstbW9kYWwtaGVhZGVyOjphZnRlcixcbi51ay1tb2RhbC1mb290ZXI6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1tb2RhbC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstbW9kYWwtaGVhZGVyID4gOmxhc3QtY2hpbGQsXG4udWstbW9kYWwtZm9vdGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbW9kYWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJG1vZGFsLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC10aXRsZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLXRpdGxlKCk7fVxufVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG1vZGFsLXotaW5kZXg7XG4gICAgdG9wOiAkbW9kYWwtY2xvc2UtcG9zaXRpb247XG4gICAgcmlnaHQ6ICRtb2RhbC1jbG9zZS1wb3NpdGlvbjtcbiAgICBwYWRkaW5nOiAkbW9kYWwtY2xvc2UtcGFkZGluZztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ106Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXTpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKTt9XG59XG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLW1vZGFsLWNsb3NlLWRlZmF1bHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCgpO31cbn1cblxuLnVrLW1vZGFsLWNsb3NlLWRlZmF1bHQ6aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3ZlcigpO31cbn1cblxuLypcbiAqIE91dHNpZGVcbiAqIDEuIFByZXZlbnQgc2Nyb2xsYmFyIG9uIHNtYWxsIGRldmljZXNcbiAqL1xuXG4udWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gICAgdG9wOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjtcbiAgICAvKiAxICovXG4gICAgcmlnaHQ6ICgtJG1vZGFsLWNsb3NlLXBhZGRpbmcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0oJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlKSk7XG4gICAgY29sb3I6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSgpO31cbn1cblxuLnVrLW1vZGFsLWNsb3NlLW91dHNpZGU6aG92ZXIge1xuICAgIGNvbG9yOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLyogMSAqL1xuICAgIC51ay1tb2RhbC1jbG9zZS1vdXRzaWRlIHtcbiAgICAgICAgcmlnaHQ6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGUsIC0oJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlKSk7XG4gICAgfVxuXG59XG5cbi8qXG4gKiBGdWxsXG4gKi9cblxuLnVrLW1vZGFsLWNsb3NlLWZ1bGwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1mdWxsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpO31cbn1cblxuLnVrLW1vZGFsLWNsb3NlLWZ1bGw6aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1taXNjKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbW9kYWwoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1mdWxsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIExpZ2h0Ym94XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYW4gbGlnaHRib3ggaW1hZ2UgZ2FsbGVyeVxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpZ2h0Ym94YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWxpZ2h0Ym94LXBhZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1pdGVtc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LXRvb2xiYXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC10b29sYmFyLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1idXR0b25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1jYXB0aW9uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtaWZyYW1lYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxpZ2h0Ym94LXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgMTAwdncgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1tYXgtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMTAwdmggIWRlZmF1bHQ7XG5cbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwwLjMpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC10b29sYmFyLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtYnV0dG9uLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpZ2h0Ym94XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstbGlnaHRib3gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRsaWdodGJveC16LWluZGV4O1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveCgpO31cbn1cblxuLypcbiAqIE9wZW5cbiAqIDEuIENlbnRlciBjaGlsZFxuICogMi4gRmFkZS1pblxuICovXG5cbi51ay1saWdodGJveC51ay1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgb3BhY2l0eTogMTtcbn1cblxuXG4vKiBQYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG5cbi51ay1saWdodGJveC1wYWdlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2VudGVyIGNoaWxkIHdpdGhpbiB0aGUgdmlld3BvcnRcbiAqIDIuIE5vdCB2aXNpYmxlIGJ5IGRlZmF1bHRcbiAqIDMuIENvbG9yIG5lZWRlZCBmb3Igc3Bpbm5lciBpY29uXG4gKiA0LiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqIDUuIFJlc3BvbnNpdmVuZXNzXG4gKiAgICBVc2luZyBgdmhgIGZvciBgbWF4LWhlaWdodGAgdG8gZml4IGltYWdlIHByb3BvcnRpb25zIGFmdGVyIHJlc2l6ZSBpbiBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBVc2luZyBgdmhgIGFuZCBgdndgIHRvIG1ha2UgcmVzcG9uc2l2ZSBpbWFnZSB3b3JrIGluIElFMTFcbiAqIDYuIFN1cHByZXNzIG91dGxpbmUgb24gZm9jdXNcbiAqL1xuXG4udWstbGlnaHRib3gtaXRlbXMgPiAqIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJGxpZ2h0Ym94LWl0ZW0tY29sb3I7XG4gICAgLyogNCAqL1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1pdGVtKCk7fVxufVxuXG4vKiA1ICovXG4udWstbGlnaHRib3gtaXRlbXMgPiAqID4gKiB7XG4gICAgbWF4LXdpZHRoOiAkbGlnaHRib3gtaXRlbS1tYXgtd2lkdGg7XG4gICAgbWF4LWhlaWdodDogJGxpZ2h0Ym94LWl0ZW0tbWF4LWhlaWdodDtcbn1cblxuLyogNiAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4udWstbGlnaHRib3gtaXRlbXMgPiAqID4gOm5vdChpZnJhbWUpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi51ay1saWdodGJveC1pdGVtcyA+IC51ay1hY3RpdmUgeyBkaXNwbGF5OiBmbGV4OyB9XG5cbi8qIFRvb2xiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtdG9vbGJhciB7XG4gICAgcGFkZGluZzogJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy12ZXJ0aWNhbCAkbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LXRvb2xiYXIpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyKCk7fVxufVxuXG4udWstbGlnaHRib3gtdG9vbGJhciA+ICogeyBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I7IH1cblxuXG4vKiBUb29sYmFyIEljb24gKENsb3NlKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC10b29sYmFyLWljb24ge1xuICAgIHBhZGRpbmc6ICRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZztcbiAgICBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uKCk7fVxufVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG4udWstbGlnaHRib3gtdG9vbGJhci1pY29uOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyKCk7fVxufVxuXG5cblxuLyogQnV0dG9uIChTbGlkZW5hdilcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWxpZ2h0Ym94LWJ1dHRvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJGxpZ2h0Ym94LWJ1dHRvbi1zaXplO1xuICAgIGhlaWdodDogJGxpZ2h0Ym94LWJ1dHRvbi1zaXplO1xuICAgIGJhY2tncm91bmQ6ICRsaWdodGJveC1idXR0b24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LWJ1dHRvbi1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtYnV0dG9uKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtYnV0dG9uKCk7fVxufVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG4udWstbGlnaHRib3gtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtYnV0dG9uLWhvdmVyKCk7fVxufVxuXG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtY2FwdGlvbiB7fVxuXG5cbi8qIElmcmFtZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC1pZnJhbWUge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgaGVpZ2h0OiA4MCU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtbWlzYykpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94KCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24oKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZXNob3dcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBzbGlkZXNob3dzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2xpZGVzaG93YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXNsaWRlc2hvdy1pdGVtc2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlc2hvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXNob3cge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXNob3cpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXNob3coKTt9XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGFuZCBzdGFja2luZyBjb250ZXh0XG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKiA0LiBQcmV2ZW50IGRpc3BsYXlpbmcgdGhlIGNhbGxvdXQgaW5mb3JtYXRpb24gb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUG9zaXRpb24gaXRlbXMgYWJvdmUgZWFjaCBvdGhlclxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50cywgZS5nLiBmb3IgYHVrLWNvdmVyYFxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA1LiBEaXNhYmxlIGhvcml6b250YWwgcGFubmluZyBnZXN0dXJlcyBpbiBJRTExIGFuZCBFZGdlXG4gKiA2LiBTdXBwcmVzcyBvdXRsaW5lIG9uIGZvY3VzXG4gKi9cblxuLnVrLXNsaWRlc2hvdy1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiA0ICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAvKiA1ICovXG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLyogNiAqL1xuLnVrLXNsaWRlc2hvdy1pdGVtcyA+IDpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG5cbi51ay1zbGlkZXNob3ctaXRlbXMgPiA6bm90KC51ay1hY3RpdmUpIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlc2hvdy1taXNjKSkge0BpbmNsdWRlIGhvb2stc2xpZGVzaG93LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlc2hvdygpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlc2hvdy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTbGlkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIHNsaWRlcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zbGlkZXJgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2xpZGVyLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlci1pdGVtc2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXIge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXIpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXIoKTt9XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqL1xuXG4udWstc2xpZGVyLWNvbnRhaW5lciB7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE9wdGltaXplIGFuaW1hdGlvblxuICogMi4gQ3JlYXRlIGEgY29udGFpbmluZyBibG9jay4gSW4gU2FmYXJpIGl0J3MgbmVpdGhlciBjcmVhdGVkIGJ5IGB0cmFuc2Zvcm1gIG5vciBgd2lsbC1jaGFuZ2VgLlxuICovXG5cbi51ay1zbGlkZXItaXRlbXMge1xuICAgIC8qIDEgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiAxLiBSZXNldCBsaXN0IHN0eWxlIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCBncmlkXG4gKiAyLiBQcmV2ZW50IGRpc3BsYXlpbmcgdGhlIGNhbGxvdXQgaW5mb3JtYXRpb24gb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXItaXRlbXM6bm90KC51ay1ncmlkKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG4udWstc2xpZGVyLWl0ZW1zLnVrLWdyaWQgeyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTGV0IGl0ZW1zIHRha2UgY29udGVudCBkaW1lbnNpb25zICgwIDAgYXV0bylcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBEaXNhYmxlIGhvcml6b250YWwgcGFubmluZyBnZXN0dXJlcyBpbiBJRTExIGFuZCBFZGdlXG4gKiA0LiBTdXBwcmVzcyBvdXRsaW5lIG9uIGZvY3VzXG4gKi9cblxuLnVrLXNsaWRlci1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cbi8qIDQgKi9cbi51ay1zbGlkZXItaXRlbXMgPiA6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN0aWNreVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gbWFrZSBlbGVtZW50cyBzdGlja3kgaW4gdGhlIHZpZXdwb3J0XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3RpY2t5YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXN0aWNreS1maXhlZGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHN0aWNreS16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuXG4kc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgMC4ycyAhZGVmYXVsdDtcbiRzdGlja3ktcmV2ZXJzZS1hbmltYXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAwLjJzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdGlja3lcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzb2x2ZSBmcmFtZSByYXRlIGlzc3VlcyBvbiBkZXZpY2VzIHdpdGggbG93ZXIgZnJhbWUgcmF0ZXMgYnkgZm9yY2luZyBoYXJkd2FyZSBhY2NlbGVyYXRpb25cbiAqL1xuXG4udWstc3RpY2t5LWZpeGVkIHtcbiAgICB6LWluZGV4OiAkc3RpY2t5LXotaW5kZXg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogRmFzdGVyIGFuaW1hdGlvbnNcbiAqL1xuXG4udWstc3RpY2t5W2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkc3RpY2t5LWFuaW1hdGlvbi1kdXJhdGlvbjsgfVxuXG4udWstc3RpY2t5LnVrLWFuaW1hdGlvbi1yZXZlcnNlIHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3RpY2t5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdGlja3ktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3RpY2t5LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE9mZi1jYW52YXNcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBvZmYtY2FudmFzIHNpZGViYXJcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1vZmZjYW52YXNgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstb2ZmY2FudmFzLWJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtcGFnZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1vZmZjYW52YXMtY2xvc2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstb2ZmY2FudmFzLWZsaXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtYmFyLWFuaW1hdGlvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1yZXZlYWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vZmZjYW52YXMtb3ZlcmxheWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG9mZmNhbnZhcy16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1iYXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI3MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtYmFyLXdpZHRoLW06ICAgICAgICAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtbTogICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTogICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtY2xvc2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE9mZi1jYW52YXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqL1xuXG4udWstb2ZmY2FudmFzIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXotaW5kZXg7XG59XG5cbi8qXG4gKiBGbGlwIG1vZGlmaWVyXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cblxuLyogQmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2l6ZSBhbmQgc3R5bGVcbiAqIDMuIEFsbG93IHNjcm9sbGluZ1xuICovXG5cbi51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aCk7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoO1xuICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwgJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFyLWJhY2tncm91bmQ7XG4gICAgLyogMyAqL1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtYmFyKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLWJhcigpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgICAgIGxlZnQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgtbSk7XG4gICAgICAgIHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aC1tO1xuICAgICAgICBwYWRkaW5nOiAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLW0gJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1vZmZjYW52YXMtYmFyIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstb2ZmY2FudmFzLWJhciB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKiBGbGlwIG1vZGlmaWVyICovXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgpO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhciB7IHJpZ2h0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoLW0pOyB9XG5cbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtYmFyIHsgbGVmdDogMDsgfVxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG59XG5cbi8qXG4gKiBTbGlkZSBBbmltYXRpb24gKFVzZWQgaW4gc2xpZGUgYW5kIHB1c2ggbW9kZSlcbiAqL1xuXG4udWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24geyB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7IH1cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhci1hbmltYXRpb24geyB0cmFuc2l0aW9uLXByb3BlcnR5OiByaWdodDsgfVxuXG4vKlxuICogUmV2ZWFsIEFuaW1hdGlvblxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBDbGlwIHRoZSBiYXJcbiAqIDMuIEFuaW1hdGlvblxuICogNC4gUmVzZXQgcG9zaXRpb25cbiAqL1xuXG4udWstb2ZmY2FudmFzLXJldmVhbCB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogMyAqL1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAvKiA0ICovXG4gICAgbGVmdDogMDtcbn1cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtcmV2ZWFsIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAvKiA0ICovXG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbn1cblxuLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLXJldmVhbCB7IHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aDsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1yZXZlYWwgeyB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGgtbTsgfVxuXG59XG5cbi8qXG4gKiBGbGlwIG1vZGlmaWVyXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vZmZjYW52YXMtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXotaW5kZXg7XG4gICAgdG9wOiAkb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uO1xuICAgIHJpZ2h0OiAkb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uO1xuICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtY2xvc2UtcGFkZGluZztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLWNsb3NlKCk7fVxufVxuXG5cbi8qIE92ZXJsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogT3ZlcmxheSB0aGUgd2hvbGUgcGFnZS4gTmVlZGVkIGZvciB0aGUgYDo6YmVmb3JlYFxuICogMS4gVXNpbmcgYDEwMHZ3YCBzbyBubyBtb2RpZmljYXRpb24gaXMgbmVlZGVkIHdoZW4gb2ZmLWNhbnZhcyBpcyBmbGlwcGVkXG4gKiAyLiBBbGxvdyBmb3IgY2xvc2luZyB3aXRoIHN3aXBlIGdlc3R1cmUgb24gZGV2aWNlcyB3aXRoIHBvaW50ZXIgZXZlbnRzLlxuICovXG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheSB7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICAvKiAyICovXG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vKlxuICogMS4gTWFzayB0aGUgd2hvbGUgcGFnZVxuICogMi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1vdmVybGF5OjpiZWZvcmUge1xuICAgIC8qIDEgKi9cbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ7XG4gICAgLyogMiAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1vdmVybGF5KSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKTt9XG59XG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheS51ay1vcGVuOjpiZWZvcmUgeyBvcGFjaXR5OiAxOyB9XG5cblxuLyogUHJldmVudCBzY3JvbGxpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCBob3Jpem9udGFsIHNjcm9sbGJhciB3aGVuIHRoZSBjb250ZW50IGlzIHNsaWRlLW91dFxuICogSGFzIHRvIGJlIG9uIHRoZSBgaHRtbGAgZWxlbWVudCB0b28gdG8gbWFrZSBpdCB3b3JrIG9uIHRoZSBgYm9keWBcbiAqL1xuXG4udWstb2ZmY2FudmFzLXBhZ2UsXG4udWstb2ZmY2FudmFzLWNvbnRhaW5lciB7IG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmVwYXJlIHNsaWRlLW91dCBhbmltYXRpb24gKFVzZWQgaW4gcmV2ZWFsIGFuZCBwdXNoIG1vZGUpXG4gKiBVc2luZyBgcG9zaXRpb246IGxlZnRgIGluc3RlYWQgb2YgYHRyYW5zZm9ybWAgYmVjYXVzZSBwb3NpdGlvbiBgZml4ZWRgIGVsZW1lbnRzIGxpa2Ugc3RpY2t5IG5hdmJhcnNcbiAqIGxvc2UgdGhlaXIgZml4ZWQgc3RhdGUgYW5kIGJlaGF2ZXMgbGlrZSBgYWJzb2x1dGVgIHdpdGhpbiBhIHRyYW5zZm9ybWVkIGNvbnRhaW5lclxuICogMS4gUHJvdmlkZSBhIGZpeGVkIHdpZHRoIGFuZCBwcmV2ZW50IHNocmlua2luZ1xuICovXG5cbi51ay1vZmZjYW52YXMtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuM3MgZWFzZS1vdXQ7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8qXG4gKiBBY3RpdmF0ZSBzbGlkZS1vdXQgYW5pbWF0aW9uXG4gKi9cblxuOm5vdCgudWstb2ZmY2FudmFzLWZsaXApLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHsgbGVmdDogJG9mZmNhbnZhcy1iYXItd2lkdGg7IH1cblxuLnVrLW9mZmNhbnZhcy1mbGlwLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHsgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aCk7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICA6bm90KC51ay1vZmZjYW52YXMtZmxpcCkudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAkb2ZmY2FudmFzLWJhci13aWR0aC1tOyB9XG5cbiAgICAudWstb2ZmY2FudmFzLWZsaXAudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoLW0pOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtbWlzYykpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtYmFyKCl7fVxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU3dpdGNoZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIG5hdmlnYXRlIHRocm91Z2ggZGlmZmVyZW50IGNvbnRlbnQgcGFuZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zd2l0Y2hlcmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN3aXRjaGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstc3dpdGNoZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZSBub3QgYWN0aXZlIGl0ZW1zXG4gKi9cblxuLnVrLXN3aXRjaGVyID4gOm5vdCgudWstYWN0aXZlKSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1zd2l0Y2hlciA+ICogPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zd2l0Y2hlci1taXNjKSkge0BpbmNsdWRlIGhvb2stc3dpdGNoZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIExlYWRlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRvdCBsZWFkZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGVhZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsZWFkZXItZmlsbC1jb250ZW50OiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnF1b3RlKCcuJykgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExlYWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1sZWFkZXIgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiAxLiBQbGFjZSBlbGVtZW50IGluIHRleHQgZmxvd1xuICogMi4gTmV2ZXIgYnJlYWsgaW50byBhIG5ldyBsaW5lXG4gKiAzLiBHZXQgYSBzdHJpbmcgYmFjayB3aXRoIGFzIG1hbnkgcmVwZWF0aW5nIGNoYXJhY3RlcnMgdG8gZmlsbCB0aGUgY29udGFpbmVyXG4gKiA0LiBQcmV2ZW50IHdyYXBwaW5nLiBPdmVyZmxvd2luZyBjaGFyYWN0ZXJzIHdpbGwgYmUgY2xpcHBlZCBieSB0aGUgY29udGFpbmVyXG4gKi9cblxuLnVrLWxlYWRlci1maWxsOjphZnRlciB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0O1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMDtcbiAgICAvKiAzICovXG4gICAgY29udGVudDogYXR0cihkYXRhLWZpbGwpO1xuICAgIC8qIDQgKi9cbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1sZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBIaWRlIGlmIG1lZGlhIGRvZXMgbm90IG1hdGNoXG4gKi9cblxuLnVrLWxlYWRlci1maWxsLnVrLWxlYWRlci1oaWRlOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLypcbiAqIFBhc3MgZmlsbCBjaGFyYWN0ZXIgdG8gSlNcbiAqL1xuXG4udWstbGVhZGVyLWZpbGwtY29udGVudDo6YmVmb3JlIHsgY29udGVudDogJyN7JGxlYWRlci1maWxsLWNvbnRlbnR9JzsgfVxuOnJvb3QgeyAtLXVrLWxlYWRlci1maWxsLWNvbnRlbnQ6ICN7JGxlYWRlci1maWxsLWNvbnRlbnR9OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGVhZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1sZWFkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbGVhZGVyLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSWNvbm5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGljb24gbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1pY29ubmF2YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWljb25uYXYtdmVydGljYWxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kaWNvbm5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJY29ubmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2KCk7fVxufVxuXG4vKlxuICogU3BhY2UgaXMgYWxsb2NhdGVkIGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3M6IDAgMSBhdXRvXG4gKiAxLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIDEuIFByZXZlbnQgZ2FwIGlmIGNoaWxkIGVsZW1lbnQgaXMgYGlubGluZS1ibG9ja2AsIGUuZy4gYW4gaWNvblxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstaWNvbm5hdiA+ICogPiBhIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsXG4udWstaWNvbm5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBNb2RpZmllcjogJ3VrLWljb25uYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENoYW5nZSBkaXJlY3Rpb25cbiAqIDIuIEd1dHRlclxuICovXG5cbi51ay1pY29ubmF2LXZlcnRpY2FsIHtcbiAgICAvKiAxICovXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kaWNvbm5hdi1tYXJnaW4tdmVydGljYWwpO1xufVxuXG4vKiAyICovXG4udWstaWNvbm5hdi12ZXJ0aWNhbCA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLWljb25uYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staWNvbm5hdigpe31cbi8vIEBtaXhpbiBob29rLWljb25uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBOb3RpZmljYXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBub3RpZmljYXRpb24gbWVzc2FnZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1ub3RpZmljYXRpb25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2VgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbm90aWZpY2F0aW9uLWNsb3NlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLXRvcC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbm90aWZpY2F0aW9uLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyA0MCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcblxuJG5vdGlmaWNhdGlvbi1jbG9zZS10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICFkZWZhdWx0O1xuXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTm90aWZpY2F0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gRGltZW5zaW9uc1xuICovXG5cbi51ay1ub3RpZmljYXRpb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgIGxlZnQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgei1pbmRleDogJG5vdGlmaWNhdGlvbi16LWluZGV4O1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbm90aWZpY2F0aW9uLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24pKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24oKTt9XG59XG5cblxuLyogUG9zaXRpb24gbW9kaWZpZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLXRvcC1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xufVxuXG4udWstbm90aWZpY2F0aW9uLXRvcC1jZW50ZXIsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogKCRub3RpZmljYXRpb24td2lkdGggLyAtMik7XG59XG5cbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWxlZnQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbn1cblxuXG4vKiBSZXNwb25zaXZlbmVzc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogUGhvbmVzIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuXG4gICAgLnVrLW5vdGlmaWNhdGlvbiB7XG4gICAgICAgIGxlZnQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxufVxuXG5cbi8qIE1lc3NhZ2Vcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I7XG4gICAgZm9udC1zaXplOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSkpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCk7fVxufVxuXG4qICsgLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHsgbWFyZ2luLXRvcDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLW1hcmdpbi10b3A7IH1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRub3RpZmljYXRpb24tY2xvc2UtdG9wO1xuICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKTt9XG59XG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZTpob3ZlciAudWstbm90aWZpY2F0aW9uLWNsb3NlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5IHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlciB7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUb29sdGlwXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdG9vbHRpcHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10b29sdGlwYFxuLy9cbi8vIE1vZGlmaWVycyAgICAgICAgYHVrLXRvb2x0aXAtdG9wYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC10b3AtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLXJpZ2h0YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdG9vbHRpcC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMzAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgIDZweCAhZGVmYXVsdDtcbiR0b29sdGlwLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjNjY2ICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgIDJweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvb2x0aXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBQb3NpdGlvblxuICogMy4gRGltZW5zaW9uc1xuICogNC4gU3R5bGVcbiAqL1xuXG4udWstdG9vbHRpcCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkdG9vbHRpcC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICAgIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmctdmVydGljYWwgJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDQgKi9cbiAgICBiYWNrZ3JvdW5kOiAkdG9vbHRpcC1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXM7XG4gICAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b29sdGlwKSkge0BpbmNsdWRlIGhvb2stdG9vbHRpcCgpO31cbn1cblxuLyogU2hvdyAqL1xuLnVrLXRvb2x0aXAudWstYWN0aXZlIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay10b29sdGlwLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kdG9vbHRpcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay10b29sdGlwLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJHRvb2x0aXAtbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay10b29sdGlwLWxlZnQnXSB7IG1hcmdpbi1sZWZ0OiAoLSR0b29sdGlwLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLXRvb2x0aXAtcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkdG9vbHRpcC1tYXJnaW47IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10b29sdGlwLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10b29sdGlwLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAoKXt9XG4vLyBAbWl4aW4gaG9vay10b29sdGlwLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBsYWNlaG9sZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcGxhY2Vob2xkZXIgYm94ZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wbGFjZWhvbGRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQbGFjZWhvbGRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wbGFjZWhvbGRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAkcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbCAkcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlcikpIHtAaW5jbHVkZSBob29rLXBsYWNlaG9sZGVyKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcGxhY2Vob2xkZXIgeyBtYXJnaW4tdG9wOiAkcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstcGxhY2Vob2xkZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stcGxhY2Vob2xkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGxhY2Vob2xkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wbGFjZWhvbGRlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgUHJvZ3Jlc3Ncbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBwcm9ncmVzcyBiYXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcHJvZ3Jlc3NgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHByb2dyZXNzLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByb2dyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgZGVmYXVsdCBzdHlsZVxuICogMy4gQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiA0LiBSZW1vdmUgYm9yZGVycyBpbiBGaXJlZm94IGFuZCBFZGdlXG4gKiA1LiBTZXQgYmFja2dyb3VuZCBjb2xvciBmb3IgcHJvZ3Jlc3MgY29udGFpbmVyIGluIEZpcmVmb3gsIElFMTEgYW5kIEVkZ2VcbiAqIDYuIFN0eWxlXG4gKi9cblxuLnVrLXByb2dyZXNzIHtcbiAgICAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgYm9yZGVyOiAwO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1wcm9ncmVzcyB7IG1hcmdpbi10b3A6ICRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIFJlbW92ZSBhbmltYXRlZCBjaXJjbGVzIGZvciBpbmRldGVybWluYXRlIHN0YXRlIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuXG4udWstcHJvZ3Jlc3M6aW5kZXRlcm1pbmF0ZSB7IGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKlxuICogUHJvZ3Jlc3MgY29udGFpbmVyXG4gKiAyLiBSZW1vdmUgcHJvZ3Jlc3MgYmFyIGZvciBpbmRldGVybWluYXRlIHN0YXRlIGluIEZpcmVmb3hcbiAqL1xuXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcykpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzKCk7fVxufVxuXG4vKiAyICovXG4udWstcHJvZ3Jlc3M6aW5kZXRlcm1pbmF0ZTo6LW1vei1wcm9ncmVzcy1iYXIgeyB3aWR0aDogMDsgfVxuXG4vKlxuICogUHJvZ3Jlc3MgYmFyXG4gKiAxLiBSZW1vdmUgcmlnaHQgYm9yZGVyIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLWJhcikpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLWJhcigpO31cbn1cblxuLnVrLXByb2dyZXNzOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1iYXIoKTt9XG59XG5cbi51ay1wcm9ncmVzczo6LW1zLWZpbGwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogMDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcygpe31cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLWJhcigpe31cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNvcnRhYmxlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgc29ydGFibGUgZ3JpZHMgYW5kIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc29ydGFibGVgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc29ydGFibGUtZHJhZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc29ydGFibGUtaGFuZGxlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNvcnRhYmxlLWVtcHR5YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWRyYWdgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNvcnRhYmxlLWRyYWdnZWQtei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDUwICFkZWZhdWx0O1xuXG4kc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTogICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHNvcnRhYmxlLWVtcHR5LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNvcnRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUoKTt9XG59XG5cbi8qXG4gKiBEZWFjdGl2YXRlIHBvaW50ZXItZXZlbnRzIG9uIFNWR3MgaW4gU2FmYXJpXG4gKi9cblxuLnVrLXNvcnRhYmxlIHN2ZyB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstc29ydGFibGUgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBEcmFnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlLWRyYWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6ICRzb3J0YWJsZS1kcmFnZ2VkLXotaW5kZXggIWltcG9ydGFudDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtZHJhZykpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLWRyYWcoKTt9XG59XG5cblxuLyogUGxhY2Vob2xkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUtcGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6ICRzb3J0YWJsZS1wbGFjZWhvbGRlci1vcGFjaXR5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcikpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKCk7fVxufVxuXG5cbi8qIEVtcHR5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlLWVtcHR5IHtcbiAgICBtaW4taGVpZ2h0OiAkc29ydGFibGUtZW1wdHktaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZS1lbXB0eSkpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLWVtcHR5KCk7fVxufVxuXG5cbi8qIEhhbmRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEhvdmVyICovXG4udWstc29ydGFibGUtaGFuZGxlOmhvdmVyIHsgY3Vyc29yOiBtb3ZlOyB9XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc29ydGFibGUoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1kcmFnKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1lbXB0eSgpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvdW50ZG93blxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGNvdW50ZG93biB0aW1lcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb3VudGRvd25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY291bnRkb3duLW51bWJlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvdW50ZG93bi1zZXBhcmF0b3JgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb3VudGRvd24tbGFiZWxgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNvdW50ZG93bi1udW1iZXItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDAuOCAhZGVmYXVsdDtcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0OyAvLyAzMnB4XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtczogICAgICAgICAgICAgICAgICAgNHJlbSAhZGVmYXVsdDsgLy8gNjRweFxuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7IC8vIDk2cHhcblxuJGNvdW50ZG93bi1zZXBhcmF0b3ItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgIDEuNiAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyAxNnB4XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczogICAgICAgICAgICAgICAgMnJlbSAhZGVmYXVsdDsgLy8gMzJweFxuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW06ICAgICAgICAgICAgICAgIDNyZW0gIWRlZmF1bHQ7IC8vIDQ4cHhcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ291bnRkb3duXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93biB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bigpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1udW1iZXIsXG4udWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1pdGVtKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLWl0ZW0oKTt9XG59XG5cblxuLyogTnVtYmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY291bnRkb3duLW51bWJlci1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLW51bWJlcikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1udW1iZXIoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyIHsgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemUtczsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIgeyBmb250LXNpemU6ICRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBTZXBhcmF0b3JcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgZm9udC1zaXplOiAkY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjb3VudGRvd24tc2VwYXJhdG9yLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3IgeyBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1sYWJlbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1sYWJlbCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbWlzYykpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24oKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1udW1iZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFuaW1hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGtleWZyYW1lIGFuaW1hdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbmltYXRpb24tKmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1hbmltYXRpb24tZmFkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS11cGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS1kb3duYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWtlbmJ1cm5zYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNoYWtlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXN0cm9rZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1yZXZlcnNlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWZhc3RgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYW5pbWF0aW9uLXRvZ2dsZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhZGUtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgMC44cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tc3Ryb2tlLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAycyAhZGVmYXVsdDtcbiRhbmltYXRpb24ta2VuYnVybnMtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAxNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhc3QtZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgMC4xcyAhZGVmYXVsdDtcblxuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6ICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6ICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQW5pbWF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstYW5pbWF0aW9uLSddIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZHVyYXRpb247XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuXG4vKiBBbmltYXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLWZhZGUge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLypcbiAqIFNjYWxlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zY2FsZS11cCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXNjYWxlLTAyOyB9XG4udWstYW5pbWF0aW9uLXNjYWxlLWRvd24geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0xODsgfVxuXG4vKlxuICogU2xpZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b207IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQ7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodDsgfVxuXG4vKlxuICogU2xpZGUgU21hbGxcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1ib3R0b20tc21hbGw7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtc21hbGw7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1zbWFsbDsgfVxuXG4vKlxuICogU2xpZGUgTWVkaXVtXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtdG9wLW1lZGl1bTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLW1lZGl1bTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWxlZnQtbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXJpZ2h0LW1lZGl1bTsgfVxuXG4vKlxuICogS2VuYnVybnNcbiAqL1xuXG4udWstYW5pbWF0aW9uLWtlbmJ1cm5zIHtcbiAgICBhbmltYXRpb24tbmFtZTogdWstc2NhbGUta2VuYnVybnM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uO1xufVxuXG4vKlxuICogU2hha2VcbiAqL1xuXG4udWstYW5pbWF0aW9uLXNoYWtlIHsgYW5pbWF0aW9uLW5hbWU6IHVrLXNoYWtlOyB9XG5cbi8qXG4gKiBTVkcgU3Ryb2tlXG4gKiBUaGUgYC0tdWstYW5pbWF0aW9uLXN0cm9rZWAgY3VzdG9tIHByb3BlcnR5IGNvbnRhaW5zIHRoZSBsb25nZXN0IHBhdGggbGVuZ3RoLlxuICogU2V0IGl0IG1hbnVhbGx5IG9yIHVzZSBgdWstc3ZnPVwic3Ryb2tlLWFuaW1hdGlvbjogdHJ1ZVwiYCB0byBzZXQgaXQgYXV0b21hdGljYWxseS5cbiAqIEFsbCBzdHJva2VzIGFyZSBhbmltYXRlZCBieSB0aGUgc2FtZSBwYWNlIGFuZCBkb2Vzbid0IGVuZCBzaW11bHRhbmVvdXNseS5cbiAqIFRvIGVuZCBzaW11bHRhbmVvdXNseSwgYHBhdGhMZW5ndGg9XCIxXCJgIGNvdWxkIGJlIHVzZWQsIGJ1dCBpdCdzIG5vdCB3b3JraW5nIGluIFNhZmFyaSB5ZXQuXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zdHJva2Uge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1zdHJva2U7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogdmFyKC0tdWstYW5pbWF0aW9uLXN0cm9rZSk7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLXN0cm9rZS1kdXJhdGlvbjtcbn1cblxuXG4vKiBEaXJlY3Rpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gLnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gLnVrLWFuaW1hdGlvbi1mYXN0IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWZhc3QtZHVyYXRpb247IH1cblxuXG4vKiBUb2dnbGUgKEhvdmVyICsgRm9jdXMpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVGhlIHRvZ2dsZSBpcyB0cmlnZ2VyZWQgb24gdG91Y2ggZGV2aWNlcyB1c2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqL1xuXG4udWstYW5pbWF0aW9uLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSBbY2xhc3MqPSd1ay1hbmltYXRpb24tJ10geyBhbmltYXRpb24tbmFtZTogbm9uZTsgfVxuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuXG4udWstYW5pbWF0aW9uLXRvZ2dsZSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG5cbi51ay1hbmltYXRpb24tdG9nZ2xlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG5cbi8qIEtleWZyYW1lcyB1c2VkIGJ5IGFuaW1hdGlvbiBjbGFzc2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUge1xuICAgIDAlIHsgb3BhY2l0eTogMDsgfVxuICAgIDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3BcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgTGVmdFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHRcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS10b3Atc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tIFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWJvdHRvbS1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnQgU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1yaWdodC1zbWFsbCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFRvcCBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgQm90dG9tIE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnQgTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBSaWdodCBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtbWVkaXVtIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNjYWxlIFVwXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXNjYWxlLTAyIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG4vKlxuICogU2NhbGUgRG93blxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0xOCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cblxuQGtleWZyYW1lcyB1ay1zY2FsZS1rZW5idXJucyB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxufVxuXG4vKlxuICogU2hha2VcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLXNoYWtlIHtcbiAgICAwJSwgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIDEwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOXB4KTsgfVxuICAgIDIwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpOyB9XG4gICAgMzAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03cHgpOyB9XG4gICAgNDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7IH1cbiAgICA1MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7IH1cbiAgICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTsgfVxuICAgIDcwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTsgfVxuICAgIDgwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpOyB9XG4gICAgOTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpOyB9XG59XG5cbi8qXG4gKiBTdHJva2VcbiAqL1xuXG4gQGtleWZyYW1lcyB1ay1zdHJva2Uge1xuICAgIDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6IHZhcigtLXVrLWFuaW1hdGlvbi1zdHJva2UpOyB9XG4gICAgMTAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiAwOyB9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYW5pbWF0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbmltYXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYW5pbWF0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFdpZHRoXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3Igd2lkdGhzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2hpbGQtd2lkdGgtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXdpZHRoLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHdpZHRoLXNtYWxsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLW1lZGl1bS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLWxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLXhsYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLXh4bGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBXaWR0aFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogRXF1YWwgY2hpbGQgd2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstY2hpbGQtd2lkdGgnXSA+ICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi51ay1jaGlsZC13aWR0aC0xLTIgPiAqIHsgd2lkdGg6IDUwJTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtMyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4udWstY2hpbGQtd2lkdGgtMS00ID4gKiB7IHdpZHRoOiAyNSU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTUgPiAqIHsgd2lkdGg6IDIwJTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNiA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbi51ay1jaGlsZC13aWR0aC1hdXRvID4gKiB7IHdpZHRoOiBhdXRvOyB9XG5cbi8qXG4gKiAxLiBSZXNldCB0aGUgYG1pbi13aWR0aGAsIHdoaWNoIGlzIHNldCB0byBhdXRvIGJ5IGRlZmF1bHQsIGJlY2F1c2VcbiAqICAgIGZsZXggaXRlbXMgd29uJ3Qgc2hyaW5rIGJlbG93IHRoZWlyIG1pbmltdW0gaW50cmluc2ljIGNvbnRlbnQgc2l6ZS5cbiAqICAgIFVzaW5nIGAxcHhgIGluc3RlYWQgb2YgYDBgLCBzbyBpdGVtcyBzdGlsbCB3cmFwIGludG8gdGhlIG5leHQgbGluZSxcbiAqICAgIGlmIHRoZXkgaGF2ZSB6ZXJvIHdpZHRoIGFuZCBwYWRkaW5nIGFuZCB0aGUgcHJlZGVjZXNzb3IgaXMgMTAwJSB3aWRlLlxuICovXG5cbi51ay1jaGlsZC13aWR0aC1leHBhbmQgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICBmbGV4OiAxO1xuICAgIC8qIDEgKi9cbiAgICBtaW4td2lkdGg6IDFweDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQHMgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAcyA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBzID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAcyA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQHMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBzID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHMgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQG0gPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAbSA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQG0gPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBtID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAbSA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQG0gPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBtID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQG0gPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbCA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBsID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQGwgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBsID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAbCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQGwgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEB4bCA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEB4bCA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHhsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAeGwgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEB4bCA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQHhsID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAeGwgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAeGwgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cblxuLyogU2luZ2xlIFdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBgbWF4LXdpZHRoYCBpcyBuZWVkZWQgZm9yIHRoZSBwaXhlbC1iYXNlZCBjbGFzc2VzXG4gKi9cblxuW2NsYXNzKj0ndWstd2lkdGgnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiBIYWx2ZXMgKi9cbi51ay13aWR0aC0xLTIgeyB3aWR0aDogNTAlOyB9XG5cbi8qIFRoaXJkcyAqL1xuLnVrLXdpZHRoLTEtMyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbi51ay13aWR0aC0yLTMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbi8qIFF1YXJ0ZXJzICovXG4udWstd2lkdGgtMS00IHsgd2lkdGg6IDI1JTsgfVxuLnVrLXdpZHRoLTMtNCB7IHdpZHRoOiA3NSU7IH1cblxuLyogRmlmdGhzICovXG4udWstd2lkdGgtMS01IHsgd2lkdGg6IDIwJTsgfVxuLnVrLXdpZHRoLTItNSB7IHdpZHRoOiA0MCU7IH1cbi51ay13aWR0aC0zLTUgeyB3aWR0aDogNjAlOyB9XG4udWstd2lkdGgtNC01IHsgd2lkdGg6IDgwJTsgfVxuXG4vKiBTaXh0aHMgKi9cbi51ay13aWR0aC0xLTYgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4udWstd2lkdGgtNS02IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4vKiBQaXhlbCAqL1xuLnVrLXdpZHRoLXNtYWxsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuLnVrLXdpZHRoLW1lZGl1bSB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4udWstd2lkdGgtbGFyZ2UgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4udWstd2lkdGgteGxhcmdlIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbi51ay13aWR0aC14eGxhcmdlIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbi8qIEF1dG8gKi9cbi51ay13aWR0aC1hdXRvIHsgd2lkdGg6IGF1dG87IH1cblxuLyogRXhwYW5kICovXG4udWstd2lkdGgtZXhwYW5kIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBzIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBzIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBzIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBzIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQHMgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQHMgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQHMgeyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQHMgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAcyB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAcyB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXh4bGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBzIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEBzIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAbSB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAbSB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAbSB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAbSB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEBtIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEBtIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEBtIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEBtIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQG0geyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQG0geyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14eGxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4gICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQG0geyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQG0ge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQGwgeyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQGwgeyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQGwgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQGwgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAbCB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAbCB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAbCB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAbCB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBsIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteHhsYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLXh4bGFyZ2Utd2lkdGg7IH1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQGwgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQGwge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQHhsIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEB4bCB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEB4bCB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAeGwgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAeGwgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQHhsIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEB4bCB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAeGwgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEB4bCB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAeGwgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQHhsIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXh4bGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAeGwgeyB3aWR0aDogYXV0bzsgfVxuXG4gICAgLyogRXhwYW5kICovXG4gICAgLnVrLXdpZHRoLWV4cGFuZFxcQHhsIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2std2lkdGgtbWlzYykpIHtAaW5jbHVkZSBob29rLXdpZHRoLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXdpZHRoLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEhlaWdodFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGhlaWdodHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oZWlnaHQtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaGVpZ2h0LXNtYWxsLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LW1lZGl1bS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgNDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlaWdodFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWhlaWdodCddIHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogT25seSB3b3JrcyBpZiBwYXJlbnQgZWxlbWVudCBoYXMgYSBoZWlnaHQgc2V0XG4gKi9cblxuLnVrLWhlaWdodC0xLTEgeyBoZWlnaHQ6IDEwMCU7IH1cblxuLypcbiAqIFVzZWZ1bCB0byBjcmVhdGUgaW1hZ2UgdGVhc2Vyc1xuICovXG5cbi51ay1oZWlnaHQtdmlld3BvcnQgeyBtaW4taGVpZ2h0OiAxMDB2aDsgfVxuXG4vKlxuICogUGl4ZWxcbiAqIFVzZWZ1bCBmb3IgYG92ZXJmbG93OiBhdXRvYFxuICovXG5cbi51ay1oZWlnaHQtc21hbGwgeyBoZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1lZGl1bSB7IGhlaWdodDogJGhlaWdodC1tZWRpdW0taGVpZ2h0OyB9XG4udWstaGVpZ2h0LWxhcmdlIHsgaGVpZ2h0OiAkaGVpZ2h0LWxhcmdlLWhlaWdodDsgfVxuXG4udWstaGVpZ2h0LW1heC1zbWFsbCB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtc21hbGwtaGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1heC1tZWRpdW0geyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LW1lZGl1bS1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWF4LWxhcmdlIHsgbWF4LWhlaWdodDogJGhlaWdodC1sYXJnZS1oZWlnaHQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1oZWlnaHQtbWlzYykpIHtAaW5jbHVkZSBob29rLWhlaWdodC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1oZWlnaHQtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGV4dFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRleHRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10ZXh0LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRleHQtbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGVhZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtZW1waGFzaXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxlYWQge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICR0ZXh0LWxlYWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLXRleHQtbGVhZCgpO31cbn1cblxuLnVrLXRleHQtbWV0YSB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1tZXRhLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbWV0YS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbWV0YS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1tZXRhKSkge0BpbmNsdWRlIGhvb2stdGV4dC1tZXRhKCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1zbWFsbC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1zbWFsbCkpIHtAaW5jbHVkZSBob29rLXRleHQtc21hbGwoKTt9XG59XG5cbi51ay10ZXh0LWxhcmdlIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay10ZXh0LWxhcmdlKCk7fVxufVxuXG5cbi8qIFdlaWdodCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxpZ2h0IHsgZm9udC13ZWlnaHQ6IDMwMDsgfVxuLnVrLXRleHQtbm9ybWFsIHsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuLnVrLXRleHQtYm9sZCB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiBcbi51ay10ZXh0LWxpZ2h0ZXIgeyBmb250LXdlaWdodDogbGlnaHRlcjsgfVxuLnVrLXRleHQtYm9sZGVyIHsgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4gXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4gXG4udWstdGV4dC1pdGFsaWMgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuXG4vKiBUcmFuc2Zvcm0gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtdXBwZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1sb3dlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZC1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1lbXBoYXNpcyB7IGNvbG9yOiAkdGV4dC1lbXBoYXNpcy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtc2Vjb25kYXJ5IHsgY29sb3I6ICR0ZXh0LXNlY29uZGFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1zdWNjZXNzIHsgY29sb3I6ICR0ZXh0LXN1Y2Nlc3MtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtd2FybmluZyB7IGNvbG9yOiAkdGV4dC13YXJuaW5nLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWRhbmdlciB7IGNvbG9yOiAkdGV4dC1kYW5nZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG5cbi8qIEJhY2tncm91bmQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gVGhlIGJhY2tncm91bmQgY2xpcHMgdG8gdGhlIGZvcmVncm91bmQgdGV4dC4gV29ya3MgaW4gQ2hyb21lLCBGaXJlZm94LCBTYWZhcmksIEVkZ2UgYW5kIE9wZXJhXG4gKiAgICBEZWZhdWx0IGNvbG9yIGlzIHNldCB0byB0cmFuc3BhcmVudFxuICogMi4gQ29udGFpbmVyIGZpdHMgdGhlIHRleHRcbiAqIDMuIEZhbGxiYWNrIGNvbG9yIGZvciBJRTExXG4gKi9cblxuLnVrLXRleHQtYmFja2dyb3VuZCB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJHRleHQtYmFja2dyb3VuZC1jb2xvciAhaW1wb3J0YW50O1xufVxuXG5Ac3VwcG9ydHMgKC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0KSB7XG5cbiAgICAudWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRleHQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtYmFja2dyb3VuZCkpIHtAaW5jbHVkZSBob29rLXRleHQtYmFja2dyb3VuZCgpO31cbiAgICB9XG5cbn1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAcyB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAcyB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBzIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBtIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBtIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQG0geyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAbCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAbCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBsIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQHhsIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEB4bCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEB4bCB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLypcbiAqIFZlcnRpY2FsXG4gKi9cblxuLnVrLXRleHQtdG9wIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1taWRkbGUgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLnVrLXRleHQtYmFzZWxpbmUgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFdyYXAgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXNcbiAqL1xuXG4udWstdGV4dC1ub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qXG4gKiAxLiBNYWtlIHN1cmUgYSBtYXgtd2lkdGggaXMgc2V0IGFmdGVyIHdoaWNoIHRydW5jYXRpb24gY2FuIG9jY3VyXG4gKiAyLiBQcmV2ZW50IHRleHQgZnJvbSB3cmFwcGluZyBvbnRvIG11bHRpcGxlIGxpbmVzLCBhbmQgdHJ1bmNhdGUgd2l0aCBhbiBlbGxpcHNpc1xuICogMy4gRml4IGZvciB0YWJsZSBjZWxsc1xuICovXG5cbi51ay10ZXh0LXRydW5jYXRlIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIDIgKi9cbnRoLnVrLXRleHQtdHJ1bmNhdGUsXG50ZC51ay10ZXh0LXRydW5jYXRlIHsgbWF4LXdpZHRoOiAwOyB9XG5cblxuLypcbiAqIDEuIFdyYXAgbG9uZyB3b3JkcyBvbnRvIHRoZSBuZXh0IGxpbmUgYW5kIGJyZWFrIHRoZW0gaWYgdGhleSBhcmUgdG9vIGxvbmcgdG8gZml0XG4gKiAyLiBMZWdhY3kgYHdvcmQtd3JhcGAgYXMgZmFsbGJhY2sgZm9yIGBvdmVyZmxvdy13cmFwYFxuICogMy4gRml4IGBvdmVyZmxvdy13cmFwYCB3aGljaCBkb2Vzbid0IHdvcmsgd2l0aCB0YWJsZSBjZWxscyBpbiBDaHJvbWUsIE9wZXJhLCBJRTExIGFuZCBFZGdlXG4gKiAgICBNdXN0IHVzZSBgYnJlYWstYWxsYCB0byBzdXBwb3J0IElFMTEgYW5kIEVkZ2VcbiAqIE5vdGU6IE5vdCB1c2luZyBgaHlwaGVuczogYXV0bztgIGJlY2F1c2UgaXQgaHlwaGVuYXRlcyB0ZXh0IGV2ZW4gaWYgbm90IG5lZWRlZFxuICovXG5cbi51ay10ZXh0LWJyZWFrIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAvKiAyICovXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKiAzICovXG50aC51ay10ZXh0LWJyZWFrLFxudGQudWstdGV4dC1icmVhayB7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1taXNjKSkge0BpbmNsdWRlIGhvb2stdGV4dC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10ZXh0LWxlYWQoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtYmFja2dyb3VuZCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb2x1bW5cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0ZXh0IGNvbHVtbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb2x1bW4tKmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb2x1bW4tc3BhbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1jb2x1bW4tZGl2aWRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29sdW1uLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWd1dHRlci1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb2x1bW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1jb2x1bW4tJ10geyBjb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlcjsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgW2NsYXNzKj0ndWstY29sdW1uLSddIHsgY29sdW1uLWdhcDogJGNvbHVtbi1ndXR0ZXItbDsgfVxuXG59XG5cbi8qXG4gKiBGaXggaW1hZ2UgMXB4IGxpbmUgd3JhcHBpbmcgaW50byB0aGUgbmV4dCBjb2x1bW4gaW4gQ2hyb21lXG4gKi9cblxuW2NsYXNzKj0ndWstY29sdW1uLSddIGltZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEb3VibGUgdGhlIGNvbHVtbiBnYXBcbiAqL1xuXG4udWstY29sdW1uLWRpdmlkZXIge1xuICAgIGNvbHVtbi1ydWxlOiAkY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aCBzb2xpZCAkY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgY29sdW1uLWdhcDogKCRjb2x1bW4tZ3V0dGVyICogMik7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLWRpdmlkZXIge1xuICAgICAgICBjb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXItbCAqIDIpO1xuICAgIH1cblxufVxuXG5cbi8qIFdpZHRoIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb2x1bW4tMS0yIHsgY29sdW1uLWNvdW50OiAyO31cbi51ay1jb2x1bW4tMS0zIHsgY29sdW1uLWNvdW50OiAzOyB9XG4udWstY29sdW1uLTEtNCB7IGNvbHVtbi1jb3VudDogNDsgfVxuLnVrLWNvbHVtbi0xLTUgeyBjb2x1bW4tY291bnQ6IDU7IH1cbi51ay1jb2x1bW4tMS02IHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAcyB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAcyB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAcyB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAcyB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAcyB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBtIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEBtIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEBtIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEBtIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEBtIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAbCB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAbCB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAbCB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAbCB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAbCB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQHhsIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEB4bCB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAeGwgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQHhsIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEB4bCB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIE1ha2UgZWxlbWVudCBzcGFuIGFjcm9zcyBhbGwgY29sdW1uc1xuICogRG9lcyBub3Qgd29yayBpbiBGaXJlZm94IHlldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb2x1bW4tc3BhbiB7IGNvbHVtbi1zcGFuOiBhbGw7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb2x1bW4tbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbHVtbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb2x1bW4tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvdmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBsZXQgZW1iZWRkZWQgY29udGVudCBjb3ZlciB0aGVpciBjb250YWluZXIgaW4gYSBjZW50ZXJlZCBwb3NpdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvdmVyYFxuLy9cbi8vIFN1Yi1vYmplY3Q6ICAgICAgYHVrLWNvdmVyLWNvbnRhaW5lcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogV29ya3Mgd2l0aCBpZnJhbWVzIGFuZCBlbWJlZGRlZCBjb250ZW50XG4gKiAxLiBSZXNldCByZXNwb25zaXZlbmVzcyBmb3IgZW1iZWRkZWQgY29udGVudFxuICogMi4gQ2VudGVyIG9iamVjdFxuICogTm90ZTogUGVyY2VudCB2YWx1ZXMgb24gdGhlIGB0b3BgIHByb3BlcnR5IG9ubHkgd29ya3MgaWYgdGhpcyBlbGVtZW50XG4gKiAgICAgICBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkIG9yIGlmIHRoZSBjb250YWluZXIgaGFzIGEgaGVpZ2h0XG4gKi9cblxuLnVrLWNvdmVyIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG59XG5cbmlmcmFtZS51ay1jb3ZlciB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFBhcmVudCBjb250YWluZXIgd2hpY2ggY2xpcHMgcmVzaXplZCBvYmplY3RcbiAqIDIuIE5lZWRlZCBpZiB0aGUgY2hpbGQgaXMgcG9zaXRpb25lZCBhYnNvbHV0ZS4gU2VlIG5vdGUgYWJvdmVcbiAqL1xuXG4udWstY292ZXItY29udGFpbmVyIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvdmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb3Zlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb3Zlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFja2dyb3VuZFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGJhY2tncm91bmRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYmFja2dyb3VuZC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhY2tncm91bmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtZGVmYXVsdCB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtbXV0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1wcmltYXJ5IHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1zZWNvbmRhcnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDsgfVxuXG5cbi8qIFNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1jb3Zlcixcbi51ay1iYWNrZ3JvdW5kLWNvbnRhaW4ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVrLWJhY2tncm91bmQtY292ZXIgeyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4udWstYmFja2dyb3VuZC1jb250YWluIHsgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cblxuLyogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC10b3AtbGVmdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuLnVrLWJhY2tncm91bmQtdG9wLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwOyB9XG4udWstYmFja2dyb3VuZC10b3AtcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDA7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9XG4udWstYmFja2dyb3VuZC1jZW50ZXItcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLWxlZnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7IH1cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLXJpZ2h0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlOyB9XG5cblxuLyogUmVwZWF0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtbm9yZXBlYXQgeyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cblxuLyogQXR0YWNobWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaXggYnVnIGludHJvZHVjZWQgaW4gQ2hyb21lIDY3OiB0aGUgYmFja2dyb3VuZCBpbWFnZSBpcyBub3QgdmlzaWJsZSBpZiBhbnkgZWxlbWVudCBvbiB0aGUgcGFnZSB1c2VzIGB0cmFuc2xhdGUzZGBcbiAqL1xuXG4udWstYmFja2dyb3VuZC1maXhlZCB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAvKiAxICovXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogRXhjbHVkZSB0b3VjaCBkZXZpY2VzIGJlY2F1c2UgYGZpeGVkYCBkb2Vzbid0IHdvcmsgb24gaU9TIGFuZCBBbmRyb2lkXG4gKi9cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstYmFja2dyb3VuZC1maXhlZCB7IGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOyB9XG59XG5cblxuLyogSW1hZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAcyB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBtIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1lZGl1bS1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAbCB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAeGwge2JhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1ibGVuZC1tdWx0aXBseSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNjcmVlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1vdmVybGF5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1kYXJrZW4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtbGlnaHRlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3ItZG9kZ2UgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvci1idXJuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1oYXJkLWxpZ2h0IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1zb2Z0LWxpZ2h0IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1kaWZmZXJlbmNlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1leGNsdXNpb24geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtaHVlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBodWU7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNhdHVyYXRpb24geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtbHVtaW5vc2l0eSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJhY2tncm91bmQtbWlzYykpIHtAaW5jbHVkZSBob29rLWJhY2tncm91bmQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYmFja2dyb3VuZC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbGlnblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gYWxpZ24gZW1iZWRkZWQgY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFsaWduLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsaWduLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGlnbi1jZW50ZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGlnblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuW2NsYXNzKj0ndWstYWxpZ24nXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuKiArIFtjbGFzcyo9J3VrLWFsaWduJ10geyBtYXJnaW4tdG9wOiAkYWxpZ24tbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBDZW50ZXJcbiAqL1xuXG4udWstYWxpZ24tY2VudGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8qXG4gKiBMZWZ0L1JpZ2h0XG4gKi9cblxuLnVrLWFsaWduLWxlZnQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi51ay1hbGlnbi1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQG0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1sZWZ0LFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAcyxcbiAgICAudWstYWxpZ24tbGVmdFxcQG0sXG4gICAgLnVrLWFsaWduLWxlZnRcXEBsIHsgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0LFxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMsXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbSxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHsgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAeGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEB4bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFsaWduLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbGlnbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU1ZHXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBzdHlsZSBTVkdzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3ZnYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMi4gU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKi9cblxuLyogMSAqL1xuLnVrLXN2Zyxcbi8qIDIgKi9cbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH1cbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW3N0cm9rZSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7IHN0cm9rZTogY3VycmVudGNvbG9yOyB9XG5cbi8qXG4gKiBGaXggRmlyZWZveCBibHVycnkgU1ZHIHJlbmRlcmluZzogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgzNVxuICovXG5cbi51ay1zdmcgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3ZnLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3ZnLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFV0aWxpdHlcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGNvbGxlY3Rpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wYW5lbC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2xlYXJmaXhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mbG9hdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3ZlcmZsb3ctKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXJlc2l6ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGlzcGxheS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW5saW5lLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yZXNwb25zaXZlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wcmVzZXJ2ZS13aWR0aGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJvcmRlci0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm94LXNoYWRvdy0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm94LXNoYWRvdy1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wY2FwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbG9nb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJsZW5kLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2Zvcm0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zZm9ybS1vcmlnaW4tKmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyYWdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcmFnb3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXByZXNlcnZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxNzBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4xcyAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6ICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRkcm9wY2FwLW1hcmdpbi1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGRyb3BjYXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoJGdsb2JhbC1saW5lLWhlaWdodCAqIDMpICogMWVtKSAhZGVmYXVsdDtcblxuJGxvZ28tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGxvZ28tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbG9nby1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsb2dvLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZHJhZ292ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAwIDIwcHggcmdiYSgxMDAsMTAwLDEwMCwwLjMpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQYW5lbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYW5lbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1wYW5lbDo6YmVmb3JlLFxuLnVrLXBhbmVsOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLXBhbmVsOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstcGFuZWwgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKlxuICogU2Nyb2xsYWJsZVxuICovXG5cbi51ay1wYW5lbC1zY3JvbGxhYmxlIHtcbiAgICBoZWlnaHQ6ICRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nO1xuICAgIGJvcmRlcjogJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgcmVzaXplOiBib3RoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYW5lbC1zY3JvbGxhYmxlKSkge0BpbmNsdWRlIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpO31cbn1cblxuXG4vKiBDbGVhcmZpeFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBgdGFibGUtY2VsbGAgaXMgdXNlZCB3aXRoIGA6OmJlZm9yZWAgYmVjYXVzZSBgdGFibGVgIGNyZWF0ZXMgYSAxcHggZ2FwIHdoZW4gaXQgYmVjb21lcyBhIGZsZXggaXRlbSwgb25seSBpbiBXZWJraXRcbiAqIDIuIGB0YWJsZWAgaXMgdXNlZCBhZ2FpbiB3aXRoIGA6OmFmdGVyYCBiZWNhdXNlIGBjbGVhcmAgb25seSB3b3JrcyB3aXRoIGJsb2NrIGVsZW1lbnRzLlxuICogTm90ZTogYGRpc3BsYXk6IGJsb2NrYCB3aXRoIGBvdmVyZmxvdzogaGlkZGVuYCBpcyBjdXJyZW50bHkgbm90IHdvcmtpbmcgaW4gdGhlIGxhdGVzdCBTYWZhcmlcbiAqL1xuXG4vKiAxICovXG4udWstY2xlYXJmaXg6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG4vKiAyICovXG4udWstY2xlYXJmaXg6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG5cbi8qIEZsb2F0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICovXG5cbi51ay1mbG9hdC1sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cbi51ay1mbG9hdC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4vKiAxICovXG5bY2xhc3MqPSd1ay1mbG9hdC0nXSB7IG1heC13aWR0aDogMTAwJTsgfVxuXG5cbi8qIE92ZXJmb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmZsb3ctaGlkZGVuIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogRW5hYmxlIHNjcm9sbGJhcnMgaWYgY29udGVudCBpcyBjbGlwcGVkXG4gKiBOb3RlOiBGaXJlZm94IGlnbm9yZXMgYHBhZGRpbmctYm90dG9tYCBmb3IgdGhlIHNjcm9sbGFibGUgb3ZlcmZsb3cgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTE4XG4gKi9cblxuLnVrLW92ZXJmbG93LWF1dG8ge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLnVrLW92ZXJmbG93LWF1dG8gPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBSZXNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcmVzaXplIHsgcmVzaXplOiBib3RoOyB9XG4udWstcmVzaXplLXZlcnRpY2FsIHsgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG5cbi8qIERpc3BsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGlzcGxheS1ibG9jayB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbi51ay1kaXNwbGF5LWlubGluZSB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4udWstZGlzcGxheS1pbmxpbmUtYmxvY2sgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG5cbi8qIElubGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gQmVoYXZlIGxpa2UgbW9zdCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAqIDUuIEZvcmNlIGhhcmR3YXJlIGFjY2VsZXJhdGlvbiB3aXRob3V0IGNyZWF0aW5nIGEgbmV3IHN0YWNraW5nIGNvbnRleHRcbiAqICAgIHRvIGZpeCAxcHggZ2xpdGNoIHdoZW4gY29tYmluZWQgd2l0aCBvdmVybGF5cyBhbmQgdHJhbnNpdGlvbnMgaW4gV2Via2l0XG4gKiA2LiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKi9cblxuW2NsYXNzKj0ndWstaW5saW5lJ10ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDUgKi9cbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnVrLWlubGluZS1jbGlwIHtcbiAgICAvKiA2ICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiBSZXNwb25zaXZlIG9iamVjdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJlc2VydmUgb3JpZ2luYWwgZGltZW5zaW9uc1xuICogQmVjYXVzZSBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYXJlIGFscmVhZHkgcmVzcG9uc2l2ZSBieSBkZWZhdWx0LCBzZWUgQmFzZSBjb21wb25lbnRcbiAqL1xuXG4udWstcHJlc2VydmUtd2lkdGgsXG4udWstcHJlc2VydmUtd2lkdGggY2FudmFzLFxuLnVrLXByZXNlcnZlLXdpZHRoIGltZyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBzdmcsXG4udWstcHJlc2VydmUtd2lkdGggdmlkZW8geyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLypcbiAqIFJlc3BvbnNpdmVuZXNzXG4gKiBDb3JyZWN0cyBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZFxuICovXG5cbi51ay1yZXNwb25zaXZlLXdpZHRoLFxuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSB3aWR0aC4gYGltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGB1ay1wcmVzZXJ2ZS13aWR0aCBpbWdgXG4gKiAyLiBBdXRvIHNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtd2lkdGgge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSBoZWlnaHQuIE9ubHkgd29ya3MgaWYgdGhlIHBhcmVudCBlbGVtZW50IGhhcyBhIGZpeGVkIGhlaWdodFxuICogMi4gQXV0byBzY2FsZSB0aGUgd2lkdGguIE9ubHkgbmVlZGVkIGlmIGB3aWR0aGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqIDMuIFJlc2V0IG1heC13aWR0aCwgd2hpY2ggYGltZywgYHZpZGVvYCwgYGNhbnZhc2AgYW5kICBgYXVkaW9gIGFscmVhZHkgaGF2ZSBieSBkZWZhdWx0XG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHtcbiAgICAvKiAxICovXG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IGF1dG87XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuXG4vKiBCb3JkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYm9yZGVyLWNpcmNsZSB7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuLnVrLWJvcmRlci1waWxsIHsgYm9yZGVyLXJhZGl1czogNTAwcHg7IH1cbi51ay1ib3JkZXItcm91bmRlZCB7IGJvcmRlci1yYWRpdXM6ICRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOyB9XG5cbi8qXG4gKiBGaXggYG92ZXJmbG93OiBoaWRkZW5gIHRvIGJlIGlnbm9yZWQgd2l0aCBib3JkZXItcmFkaXVzIGFuZCBDU1MgdHJhbnNmb3JtcyBpbiBXZWJraXRcbiAqL1xuXG4udWstaW5saW5lLWNsaXBbY2xhc3MqPSd1ay1ib3JkZXItJ10geyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgfVxuXG5cbi8qIEJveC1zaGFkb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYm94LXNoYWRvdy1zbWFsbCB7IGJveC1zaGFkb3c6ICRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctbWVkaXVtIHsgYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctbGFyZ2UgeyBib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LXhsYXJnZSB7IGJveC1zaGFkb3c6ICRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuW2NsYXNzKj0ndWstYm94LXNoYWRvdy1ob3ZlciddIHsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkYm94LXNoYWRvdy1kdXJhdGlvbiBlYXNlLWluLW91dDsgfVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci1zbWFsbDpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbWVkaXVtOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbGFyZ2U6aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWhvdmVyLXhsYXJnZTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c7IH1cblxuXG4vKiBCb3gtc2hhZG93IGJvdHRvbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb24uXG4gKiAyLiBTZXQgc3R5bGVcbiAqIDMuIEJsdXIgZG9lc24ndCB3b3JrIG9uIHBzZXVkbyBlbGVtZW50cyB3aXRoIG5lZ2F0aXZlIGB6LWluZGV4YCBpbiBFZGdlLlxuICogICAgU29sdmVkIGJ5IHVzaW5nIGBiZWZvcmVgIGFuZCBhZGQgcG9zaXRpb24gY29udGV4dCB0byBjaGlsZCBlbGVtZW50cy5cbiAqL1xuXG5Ac3VwcG9ydHMgKGZpbHRlcjogYmx1cigwKSkge1xuXG4gICAgLnVrLWJveC1zaGFkb3ctYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b206OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAvKiAxICovXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAoLSRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgLyogMiAqL1xuICAgICAgICBoZWlnaHQ6ICRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDtcbiAgICAgICAgZmlsdGVyOiBibHVyKCRib3gtc2hhZG93LWJvdHRvbS1ibHVyKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJveC1zaGFkb3ctYm90dG9tKSkge0BpbmNsdWRlIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKTt9XG4gICAgfVxuXG4gICAgLyogMyAqL1xuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbSA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxufVxuXG5cbi8qIERyb3AgY2FwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZpcmVmb3ggZG9lc24ndCBhcHBseSBgOjpmaXJzdC1sZXR0ZXJgIGlmIHRoZSBmaXJzdCBsZXR0ZXIgaXMgaW5zaWRlIGNoaWxkIGVsZW1lbnRzXG4gKiAgICBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQwMDRcbiAqIDIuIEluIEZpcmVmb3gsIGEgZmxvYXRpbmcgYDo6Zmlyc3QtbGV0dGVyYCBkb2Vzbid0IGhhdmUgYSBsaW5lIGJveCBhbmQgdGhlcmUgZm9yIG5vIGBsaW5lLWhlaWdodGBcbiAqICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTMxNzkzM1xuICogMy4gQ2F1c2VkIGJ5IDEuOiBFZGdlIGNyZWF0ZXMgdHdvIG5lc3RlZCBgOjpmaXJzdC1sZXR0ZXJgIGNvbnRhaW5lcnMsIG9uZSBmb3IgZWFjaCBzZWxlY3RvclxuICogICAgVGhpcyBkb3VibGVzIHRoZSBgZm9udC1zaXplYCBleHBvbmVudGlhbCB3aGVuIHVzaW5nIHRoZSBgZW1gIHVuaXQuXG4gKi9cblxuLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbi8qIDEgKi9cbi51ay1kcm9wY2FwID4gcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3BjYXAtbWFyZ2luLXJpZ2h0O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogJGRyb3BjYXAtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wY2FwKSkge0BpbmNsdWRlIGhvb2stZHJvcGNhcCgpO31cbn1cblxuLyogMiAqL1xuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcblxuICAudWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuICAudWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHsgbWFyZ2luLXRvcDogMS4xJTsgfVxuXG59XG5cbi8qIDMgKi9cbkBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuXG4gIC51ay1kcm9wY2FwID4gcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIgeyBmb250LXNpemU6IDFlbTsgfVxuXG59XG5cblxuLyogTG9nb1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cblxuLnVrLWxvZ28ge1xuICAgIGZvbnQtc2l6ZTogJGxvZ28tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbG9nby1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGxvZ28tY29sb3I7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbG9nbykpIHtAaW5jbHVkZSBob29rLWxvZ28oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1sb2dvOmhvdmVyLFxuLnVrLWxvZ286Zm9jdXMge1xuICAgIGNvbG9yOiAkbG9nby1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxvZ28taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1sb2dvLWhvdmVyKCk7fVxufVxuXG4udWstbG9nby1pbnZlcnNlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIERpc2FibGVkIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpc2FibGVkIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuXG4vKiBEcmFnIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE5lZWRlZCBpZiBtb3Zpbmcgb3ZlciBlbGVtZW50cyB3aXRoIGhhdmUgdGhlaXIgb3duIGN1cnNvciBvbiBob3ZlciwgZS5nLiBsaW5rcyBvciBidXR0b25zXG4gKiAyLiBGaXggZHJhZ2dpbmcgb3ZlciBpZnJhbWVzXG4gKi9cblxuLnVrLWRyYWcsXG4vKiAxICovXG4udWstZHJhZyAqIHsgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIDIgKi9cbi51ay1kcmFnIGlmcmFtZSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogRHJhZ292ZXIgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ3JlYXRlIGEgYm94LXNoYWRvdyB3aGVuIGRyYWdnaW5nIGEgZmlsZSBvdmVyIHRoZSB1cGxvYWQgYXJlYVxuICovXG5cbi51ay1kcmFnb3ZlciB7IGJveC1zaGFkb3c6ICRkcmFnb3Zlci1ib3gtc2hhZG93OyB9XG5cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmxlbmQtbXVsdGlwbHkgeyBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbi51ay1ibGVuZC1zY3JlZW4geyBtaXgtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG4udWstYmxlbmQtb3ZlcmxheSB7IG1peC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG4udWstYmxlbmQtZGFya2VuIHsgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuLnVrLWJsZW5kLWxpZ2h0ZW4geyBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuLnVrLWJsZW5kLWNvbG9yLWRvZGdlIHsgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG4udWstYmxlbmQtY29sb3ItYnVybiB7IG1peC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG4udWstYmxlbmQtaGFyZC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG4udWstYmxlbmQtc29mdC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG4udWstYmxlbmQtZGlmZmVyZW5jZSB7IG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG4udWstYmxlbmQtZXhjbHVzaW9uIHsgbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuLnVrLWJsZW5kLWh1ZSB7IG1peC1ibGVuZC1tb2RlOiBodWU7IH1cbi51ay1ibGVuZC1zYXR1cmF0aW9uIHsgbWl4LWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cbi51ay1ibGVuZC1jb2xvciB7IG1peC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuLnVrLWJsZW5kLWx1bWlub3NpdHkgeyBtaXgtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG5cbi8qIFRyYW5zZm9ybVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zZm9ybS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG5cbi8qIFRyYW5zZm9ybSBPcmlnaW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCAwOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtY2VudGVyIHsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLWxlZnQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLXJpZ2h0IHsgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXV0aWxpdHktbWlzYykpIHtAaW5jbHVkZSBob29rLXV0aWxpdHktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbi8vIEBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGNhcCgpe31cbi8vIEBtaXhpbiBob29rLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1sb2dvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sb2dvLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZsZXhcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBsYXlvdXRzIGJhc2VkIG9uIGZsZXhib3hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mbGV4LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZsZXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZmxleCB7IGRpc3BsYXk6IGZsZXg7IH1cbi51ay1mbGV4LWlubGluZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi8qXG4gKiBSZW1vdmUgcHNldWRvIGVsZW1lbnRzIGNyZWF0ZWQgYnkgbWljcm8gY2xlYXJmaXggYXMgcHJlY2F1dGlvblxuICovXG5cbi51ay1mbGV4OjpiZWZvcmUsXG4udWstZmxleDo6YWZ0ZXIsXG4udWstZmxleC1pbmxpbmU6OmJlZm9yZSxcbi51ay1mbGV4LWlubGluZTo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogQWxpZ25tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFsaWduIGl0ZW1zIGFsb25nIHRoZSBtYWluIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogSG9yaXpvbnRhbFxuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LWxlZnQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbi51ay1mbGV4LWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4udWstZmxleC1yaWdodCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbi51ay1mbGV4LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi51ay1mbGV4LWFyb3VuZCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEBzIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEBzIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBtIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAbSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBtIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBtIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAbSB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAbCB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAbCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEB4bCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQHhsIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQHhsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEB4bCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQHhsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKlxuICogQWxpZ24gaXRlbXMgaW4gdGhlIGNyb3NzIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogVmVydGljYWxcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1zdHJldGNoIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbi51ay1mbGV4LXRvcCB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC1taWRkbGUgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4udWstZmxleC1ib3R0b20geyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuXG4vKiBEaXJlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1yb3cgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4udWstZmxleC1yb3ctcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuLnVrLWZsZXgtY29sdW1uIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuLnVrLWZsZXgtY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuXG4vKiBXcmFwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtbm93cmFwIHsgZmxleC13cmFwOiBub3dyYXA7IH1cbi51ay1mbGV4LXdyYXAgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbi51ay1mbGV4LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlOyB9XG5cbi8qXG4gKiBBbGlnbnMgaXRlbXMgd2l0aGluIHRoZSBmbGV4IGNvbnRhaW5lciB3aGVuIHRoZXJlIGlzIGV4dHJhIHNwYWNlIGluIHRoZSBjcm9zcy1heGlzXG4gKiBPbmx5IHdvcmtzIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgbGluZSBvZiBmbGV4IGl0ZW1zXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtd3JhcC1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaDsgfVxuLnVrLWZsZXgtd3JhcC10b3AgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC13cmFwLW1pZGRsZSB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuLnVrLWZsZXgtd3JhcC1ib3R0b20geyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDsgfVxuLnVrLWZsZXgtd3JhcC1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuLnVrLWZsZXgtd3JhcC1hcm91bmQgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuXG4vKiBJdGVtIG9yZGVyaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHQgaXMgMFxuICovXG5cbi51ay1mbGV4LWZpcnN0IHsgb3JkZXI6IC0xO31cbi51ay1mbGV4LWxhc3QgeyBvcmRlcjogOTk7fVxuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAcyB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEBzIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQG0geyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAbSB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQGwgeyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAbCB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQHhsIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQHhsIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuXG4vKiBJdGVtIGRpbWVuc2lvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSW5pdGlhbDogMCAxIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3NcbiAqL1xuXG4vKlxuICogTm8gRmxleDogMCAwIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9uc1xuICovXG5cbi51ay1mbGV4LW5vbmUgeyBmbGV4OiBub25lOyB9XG5cbi8qXG4gKiBSZWxhdGl2ZSBGbGV4OiAxIDEgYXV0b1xuICogU3BhY2UgaXMgYWxsb2NhdGVkIGNvbnNpZGVyaW5nIGNvbnRlbnRcbiAqL1xuXG4udWstZmxleC1hdXRvIHsgZmxleDogYXV0bzsgfVxuXG4vKlxuICogQWJzb2x1dGUgRmxleDogMSAxIDAlXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGZsZXhcbiAqL1xuXG4udWstZmxleC0xIHsgZmxleDogMTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWZsZXgtbWlzYykpIHtAaW5jbHVkZSBob29rLWZsZXgtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZmxleC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTWFyZ2luXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgbWFyZ2luc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1hcmdpbi0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLXNtYWxsLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbWVkaXVtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi14bGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1yZW1vdmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1hdXRvLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1hcmdpbi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1zbWFsbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1tZWRpdW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi14bGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNYXJnaW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1tYXJnaW4geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4geyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tc21hbGwtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1zbWFsbC10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tc21hbGwtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogTWVkaXVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLW1lZGl1bS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sOyB9XG4gICAgKiArIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay1tYXJnaW4tbGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBYTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw7IH1cbiAgICAqICsgLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbWFyZ2luLXhsYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBBdXRvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1hdXRvIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLWF1dG8tdG9wIHsgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tbGVmdCB7IG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYXV0by1yaWdodCB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tYXV0by12ZXJ0aWNhbCB7XG4gICAgbWFyZ2luLXRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW1hcmdpbi1hdXRvXFxAcyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAcyB7IG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEBzIHsgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQG0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQG0geyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAbSB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQGwge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQGwgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAbCB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQHhsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEB4bCB7IG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEB4bCB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gLnVrLW1hcmdpbi1yZW1vdmUgeyBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLXRvcCB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuIFxuIC51ay1tYXJnaW4tcmVtb3ZlLXZlcnRpY2FsIHtcbiAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gfVxuIFxuIC51ay1tYXJnaW4tcmVtb3ZlLWFkamFjZW50ICsgKixcbiAudWstbWFyZ2luLXJlbW92ZS1maXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuIC51ay1tYXJnaW4tcmVtb3ZlLWxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAcyB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQHMgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQG0geyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBtIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQGwgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBsIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQHhsIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAeGwgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG59XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJnaW4tbWlzYykpIHtAaW5jbHVkZSBob29rLW1hcmdpbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGFkZGluZ1xuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHBhZGRpbmdcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wYWRkaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFkZGluZy1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhZGRpbmctcmVtb3ZlLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBhZGRpbmctcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1wYWRkaW5nLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kcGFkZGluZy1sYXJnZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWRkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmcgeyBwYWRkaW5nOiAkcGFkZGluZy1wYWRkaW5nOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nLXBhZGRpbmctbDsgfVxuXG59XG5cblxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1zbWFsbCB7IHBhZGRpbmc6ICRwYWRkaW5nLXNtYWxsLXBhZGRpbmc7IH1cblxuXG4vKiBMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLWxhcmdlIHsgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtcGFkZGluZzsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBhZGRpbmctbGFyZ2UgeyBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS1wYWRkaW5nLWw7IH1cblxufVxuXG5cbi8qIFJlbW92ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLXJlbW92ZSB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLXRvcCB7IHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS1ib3R0b20geyBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtbGVmdCB7IHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1wYWRkaW5nLXJlbW92ZS1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcGFkZGluZy1taXNjKSkge0BpbmNsdWRlIGhvb2stcGFkZGluZy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wYWRkaW5nLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBvc2l0aW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBwb3NpdGlvbiBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcG9zaXRpb24tYWJzb2x1dGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1yZWxhdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXotaW5kZXhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3BgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNvdmVyYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXBvc2l0aW9uLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogRGlyZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cgaWYgYG1heC13aWR0aDogMTAwJWAgaXMgdXNlZCBpbnNpZGUgcG9zaXRpb24gY29udGFpbmVyLlxuICovXG5cbltjbGFzcyo9J3VrLXBvc2l0aW9uLXRvcCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tYm90dG9tJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1yaWdodCddLFxuW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyJ10ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cblxuLyogRWRnZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEb24ndCB1c2UgYHdpZHRoOiAxMDAlYCBiZWNhdXNlIGl0IGlzIHdyb25nIGlmIHRoZSBwYXJlbnQgaGFzIHBhZGRpbmcuICovXG4udWstcG9zaXRpb24tdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1sZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbn1cblxuXG4vKiBDb3JuZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLXRvcC1sZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLWxlZnQge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi8qXG4gKiBDZW50ZXJcbiAqIDEuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIGNvbnRlbnQgaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBjb250YWluZXIuXG4gKi9cblxuLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogVmVydGljYWwgKi9cbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQgeyBsZWZ0OiAwOyB9XG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHsgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0LW91dCB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0LW91dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIgeyB0b3A6IDA7IH1cbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgYm90dG9tOiAwOyB9XG5cblxuLyogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tY292ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cblxuLyogVXRpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi1yZWxhdGl2ZSB7IHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1hYnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1maXhlZCB7IHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi16LWluZGV4IHsgei1pbmRleDogMTsgfVxuXG5cbi8qIE1hcmdpbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1wb3NpdGlvbi1zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAoI3skcG9zaXRpb24tc21hbGwtbWFyZ2lufSAqIDIpKScpO1xuICAgIG1hcmdpbjogJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjtcbn1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbiwgKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbik7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi51ay1wb3NpdGlvbi1tZWRpdW0ge1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gKCN7JHBvc2l0aW9uLW1lZGl1bS1tYXJnaW59ICogMikpJyk7XG4gICAgbWFyZ2luOiAkcG9zaXRpb24tbWVkaXVtLW1hcmdpbjtcbn1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luLCAoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tbWVkaXVtW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbik7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtICgjeyRwb3NpdGlvbi1sYXJnZS1tYXJnaW59ICogMikpJyk7XG4gICAgbWFyZ2luOiAkcG9zaXRpb24tbGFyZ2UtbWFyZ2luO1xufVxuXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLCAoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4pKTsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbik7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luKTsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAoI3skcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWx9ICogMikpJyk7XG4gICAgICAgIG1hcmdpbjogJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sO1xuICAgIH1cblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCwgKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpKTsgfVxuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbiAgICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpOyB9XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wb3NpdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stcG9zaXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcG9zaXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVHJhbnNpdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRyYW5zaXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdHJhbnNpdGlvbi0qYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRyYW5zaXRpb24tZmFkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2NhbGUtdXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNjYWxlLWRvd25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1vcGFxdWVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsb3dgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstdHJhbnNpdGlvbi10b2dnbGVgLFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1hY3RpdmVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjNzICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zY2FsZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6ICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6ICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgMC43cyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVHJhbnNpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogVG9nZ2xlIChIb3ZlciArIEZvY3VzKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuXG4vKiBUcmFuc2l0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUaGUgdG9nZ2xlIGlzIHRyaWdnZXJlZCBvbiB0b3VjaCBkZXZpY2VzIGJ5IHR3byBtZXRob2RzOlxuICogMS4gVXNpbmcgYDpmb2N1c2AgYW5kIHRhYmluZGV4XG4gKiAyLiBVc2luZyBgOmhvdmVyYCBhbmQgYSBgdG91Y2hzdGFydGAgZXZlbnQgbGlzdGVuZXIgcmVnaXN0ZXJlZCBvbiB0aGUgZG9jdW1lbnRcbiAqICAgIChEb2Vzbid0IHdvcmsgb24gU3VyZmFjZSB0b3VjaCBkZXZpY2VzKVxuICpcbiAqIE5vdGU6IFRyYW5zaXRpb25zIGRvbid0IHdvcmsgd2l0aCBgdWstcG9zdGlvbi1jZW50ZXItKmAgY2xhc3NlcyBiZWNhdXNlIHRoZXkgYWxzbyB1c2UgYHRyYW5zZm9ybWAsXG4gKiAgICAgICB0aGVyZWZvcmUgaXQncyByZWNvbW1lbmRlZCB0byB1c2UgYW4gZXh0cmEgYGRpdmAgZm9yIHRoZSB0cmFuc2l0aW9uLlxuICovXG5cbi51ay10cmFuc2l0aW9uLWZhZGUsXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNjYWxlJ10sXG5bY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybSwgZmlsdGVyO1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIC51ay10cmFuc2l0aW9uLWZhZGUsXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tZmFkZSxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tZmFkZSB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIFNjYWxlXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAgeyB0cmFuc2Zvcm06IHNjYWxlKDEsMSk7IH1cbi51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24geyB0cmFuc2Zvcm06IHNjYWxlKCR0cmFuc2l0aW9uLXNjYWxlLCR0cmFuc2l0aW9uLXNjYWxlKTsgfVxuXG4vKiBTaG93ICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoJHRyYW5zaXRpb24tc2NhbGUsJHRyYW5zaXRpb24tc2NhbGUpO1xufVxuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSwxKTtcbn1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS10b3AtbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIFtjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApO1xufVxuXG5cbi8qIE9wYWNpdHkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNpdGlvbi1vcGFxdWUgeyBvcGFjaXR5OiAxOyB9XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zaXRpb24tc2xvdyB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb247IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10cmFuc2l0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10cmFuc2l0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRyYW5zaXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVmlzaWJpbGl0eVxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gc2hvdyBvciBoaWRlIGNvbnRlbnQgb24gYnJlYWtwb2ludHMsIGhvdmVyIG9yIHRvdWNoXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaGlkZGVuLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay12aXNpYmxlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay12aXNpYmxlLXRvZ2dsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWludmlzaWJsZS1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi10b3VjaGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi1ub3RvdWNoYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGRlblxuICogYGhpZGRlbmAgYXR0cmlidXRlIGFsc28gc2V0IGhlcmUgdG8gbWFrZSBpdCBzdHJvbmdlclxuICovXG5cbltoaWRkZW5dLFxuLnVrLWhpZGRlbiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstaGlkZGVuXFxAcyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWhpZGRlblxcQG0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWhpZGRlblxcQGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWhpZGRlblxcQHhsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLypcbiAqIFZpc2libGVcbiAqL1xuXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAcyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEBtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1lZGl1bS1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAbCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAeGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaW52aXNpYmxlIHsgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBUb2dnbGUgKEhvdmVyICsgRm9jdXMpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGRlblxuICogMS4gVGhlIHRvZ2dsZSBpcyB0cmlnZ2VyZWQgb24gdG91Y2ggZGV2aWNlcyB1c2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqIDIuIFRoZSB0YXJnZXQgc3RheXMgdmlzaWJsZSBpZiBhbnkgZWxlbWVudCB3aXRoaW4gcmVjZWl2ZXMgZm9jdXMgdGhyb3VnaCBrZXlib2FyZFxuICogICAgRG9lc24ndCB3b3JrIGluIEVkZ2UsIHlldC5cbiAqIDMuIENhbid0IHVzZSBgZGlzcGxheTogbm9uZWAgbm9yIGB2aXNpYmlsaXR5OiBoaWRkZW5gIGJlY2F1c2UgYm90aCBhcmUgbm90IGZvY3VzYWJsZS5cbiAqXG4gKi9cblxuLyogMSArIDIgKi9cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSAudWstaGlkZGVuLWhvdmVyOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLypcbiAqIEludmlzaWJsZVxuICovXG5cbi8qIDEgKyAyICovXG4udWstdmlzaWJsZS10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykgLnVrLWludmlzaWJsZS1ob3Zlcjpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgIC8qIDMgKi9cbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay12aXNpYmxlLXRvZ2dsZSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG5cbi51ay12aXNpYmxlLXRvZ2dsZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuXG4vKiBUb3VjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIGlmIHByaW1hcnkgcG9pbnRpbmcgZGV2aWNlIGhhcyBsaW1pdGVkIGFjY3VyYWN5LCBlLmcuIGEgdG91Y2ggc2NyZWVuLlxuICogV29ya3Mgb24gbW9iaWxlIGJyb3dzZXJzOiBTYWZhcmksIENocm9tZSBhbmQgQW5kcm9pZCBicm93c2VyXG4gKi9cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstaGlkZGVuLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cbi8qXG4gKiBIaWRlIGlmIHByaW1hcnkgcG9pbnRpbmcgZGV2aWNlIGlzIGFjY3VyYXRlLCBlLmcuIG1vdXNlLlxuICogMS4gRmFsbGJhY2sgZm9yIElFMTEgYW5kIEZpcmVmb3gsIGJlY2F1c2UgYHBvaW50ZXJgIGlzIG5vdCBzdXBwb3J0ZWRcbiAqIDIuIFJlc2V0IGlmIHN1cHBvcnRlZFxuICovXG5cbi8qIDEgKi9cbi51ay1oaWRkZW4tbm90b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC51ay1oaWRkZW4tbm90b3VjaCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay12aXNpYmlsaXR5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay12aXNpYmlsaXR5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXZpc2liaWxpdHktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSW52ZXJzZVxuLy8gRGVzY3JpcHRpb246ICAgICBJbnZlcnNlIGNvbXBvbmVudCBzdHlsZSBmb3IgbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGFya2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWdsb2JhbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4xKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJbnZlcnNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5cbi8qXG4gKiBJbXBsZW1lbnRlZCBjbGFzcyBkZXBlbmRzIG9uIHRoZSBnZW5lcmFsIHRoZW1lIGNvbG9yXG4gKiBgdWstbGlnaHRgIGlzIGZvciBsaWdodCBjb2xvcnMgb24gZGFyayBiYWNrZ3JvdW5kc1xuICogYHVrLWRhcmtgIGlzIG9yIGRhcmsgY29sb3JzIG9uIGxpZ2h0IGJhY2tncm91bmRzXG4gKi9cblxuQGlmICgkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSA9PSBsaWdodCkgeyAudWstbGlnaHQgeyBAaWYgKG1peGluLWV4aXN0cyhob29rLWludmVyc2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlKCk7fX19XG5cbkBpZiAoJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGUgPT0gZGFyaykgeyAudWstZGFyayB7IEBpZiAobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UoKTt9fX1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBQcmludFxuLy8gRGVzY3JpcHRpb246ICAgICBPcHRpbWl6ZSBwYWdlIGZvciBwcmludGluZ1xuLy9cbi8vIEFkYXB0ZWQgZnJvbSBodHRwOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlXG4vL1xuLy8gTW9kaWZpY2F0aW9uczogICBSZW1vdmVkIGxpbmsgYGhyZWZgIGFuZCBgdGl0bGVgIHJlbGF0ZWQgcnVsZXNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJpbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgcHJpbnQge1xuXG4gICAgKixcbiAgICAqOjpiZWZvcmUsXG4gICAgKjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJpbnQpKSB7QGluY2x1ZGUgaG9vay1wcmludCgpO31cblxufVxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEBtaXhpbiBob29rLXByaW50KCl7fVxuIiwiaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogNjIuNSU7IC8qIDFlbSA9IDEwcHggKi9cblxuICAqLFxuICAqOmJlZm9yZSxcbiAgKjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxufVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtZmFtaWx5OiAkZm9udDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cblxuICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gIH1cbn1cblxuLnNraXAtbGluayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OXB4O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgdG9wOiBhdXRvO1xuXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB6LWluZGV4OiA1MDtcbiAgfVxufVxuXG5tYWluIHtcbiAgQGluY2x1ZGUgcmVzcG9uZCgkdW50aWw6IHNtYWxsKSB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIH1cbn1cblxuLmNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC13aWR0aDogJG1heC1pbm5lci13aWR0aDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgd2lkdGg6IDg1JTtcbiAgfVxufVxuXG5zZWN0aW9uIHtcbiAgJi5yb3cge1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICBwYWRkaW5nOiAxMjBweCAwO1xuICAgICAgLy8gc2Nyb2xsLW1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuXG4gICAgKyAucm93IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICYuYmctZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXk7XG4gIH1cblxuICBhcnRpY2xlIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICAgIHNjcm9sbC1tYXJnaW4tdG9wOiAtMTBweDtcbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG51bCxcbm9sIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG5idXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LWZhbWlseTogJGZvbnQ7XG59XG5cbi5pbWctYm9yZGVyZWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmltZy1yb3VuZGVkLWJvcmRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnNjcm9sbC10b3Age1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDRweDtcbiAgICBib3R0b206IDE0M3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRicmFuZC1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgaGVpZ2h0OiA0MnB4O1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgZmlsbDogJGJyYW5kLWNvbG9yO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYnJhbmQtY29sb3ItZGFyaztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGZpbGw6ICRicmFuZC1jb2xvci1kYXJrO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHJpZ2h0OiAyMXB4O1xuICAgIGJvdHRvbTogNzBweDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGh1Z2UpIHtcbiAgICB3aWR0aDogNzBweDtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gICAgcmlnaHQ6IDMwcHg7XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgfVxuICB9XG59XG5cbi5hbHQtYmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdC1iZztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAtMjBweDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIGxlZnQ6IC00MC43JTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgd2lkdGg6IDE1MHZ3O1xuICAgICAgbGVmdDogLTUwdnc7XG4gICAgfVxuICB9XG5cbiAgJi1ibHVlIHtcbiAgICBAZXh0ZW5kIC5hbHQtYmc7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRicmFuZC1jb2xvci1pY2UsIDAuNSk7XG4gICAgfVxuICB9XG59IiwiaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZG90dGVkLXRpdGxlIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcuJztcbiAgICBjb2xvcjogJGJyYW5kLWNvbG9yLWRhcms7XG4gIH1cbn1cblxuaDIsXG4udWstaDIge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICArIHAge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbn1cblxuaDMsXG4udWstaDMge1xuICBmb250LXNpemU6IDJyZW07XG4gIGNvbG9yOiAkZ3JheS1saWdodDtcbiAgbWFyZ2luOiAyNXB4IDAgMTJweDtcblxuICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICB9XG59XG5cbnAge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgY29sb3I6ICRncmF5LWRhcms7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbGFyZ2UpIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGh1Z2UpIHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgfVxufVxuXG4udWstdGV4dC1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xufVxuIiwiLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4ucm93LWxnIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAvLyB1c2VkIGluIFNoYXBlcyBwYWdlXG4gICAgKyAucm93LWxnIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uY29sLTEge1xuICB3aWR0aDogOC4zMzMzMzMzMyU7XG59XG5cbi5jb2wtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjclO1xufVxuXG4uY29sLTMge1xuICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG59XG5cbi5jb2wtNCB7XG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgfVxufVxuXG4uY29sLWxnLTQge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbn1cblxuLmNvbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY2NyU7XG59XG5cblxuLmNvbC02IHtcbiAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uY29sLTcge1xuICB3aWR0aDogNTguMzMzMzMzJTtcbn1cblxuLmNvbC1sZy04IHtcbiAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbGFyZ2UpIHtcbiAgICB3aWR0aDogNjYuNjY2NjY3JTtcbiAgfVxuXG4gIGgyLCBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBcbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNvbC02IHtcbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBpbWcge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSBcbn1cblxuLmNvbC05IHtcbiAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuXG4uY29sLWxnLTEwIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbGFyZ2UpIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogODMuMzMzMzMzMzMlO1xuICB9XG59XG5cbi5jb2wtbGctMTEge1xuICB3aWR0aDogMTAwJTtcblxuICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgIHdpZHRoOiA5MS42NjY2NjclO1xuICB9XG59XG5cbi5jb2wtMTIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gUklHSFQgTkFWXG4uaGFzLXJpZ2h0LW5hdiB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy10b3A6IDYwcHg7XG4gIH1cblxuICAuc2lkZS1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMzMzMlO1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICB9XG5cbiAgICAuY29sLWxnLTEwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAuY29sLWxnLTEwIHtcbiAgICAgICAgbWFyZ2luOiAwIC04LjMzMzMzMzMzJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJoZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMTE7XG5cbiAgPiAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLmJ0bi5idG4tbWVudSAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjNweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIHotaW5kZXg6IDU7XG4gIHBhZGRpbmc6IDEwcHggNXB4O1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgcGFkZGluZzogMjBweCAxNXB4O1xuICAgIHRvcDogNTdweDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgIHBhZGRpbmc6IDEwcHggMjJweDtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgdG9wOiA2MHB4O1xuICB9XG4gIFxuICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgcGFkZGluZzogMThweCAzMHB4O1xuICAgIHRvcDogNjBweDtcbiAgfVxuXG4gIC5tZW51LWxhYmVsIHtcbiAgICBAaW5jbHVkZSByZXNwb25kKCR1bnRpbDogbWVkaXVtKSB7XG4gICAgICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cbn1cbi8vIFRoYW5rcyB0byBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcbi5idXJnZXIge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG5cbiAgLmJ1cmdlci10b2dnbGUtaW5uZXIsXG4gIC5idXJnZXItdG9nZ2xlLWlubmVyOmFmdGVyLFxuICAuYnVyZ2VyLXRvZ2dsZS1pbm5lcjpiZWZvcmUge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIGhlaWdodDogM3B4O1xuICAgIH1cbiAgfVxuXG4gIC5idXJnZXItdG9nZ2xlLWlubmVyIHtcbiAgICBsZWZ0OiA2cHg7XG4gICAgYm90dG9tOiAzcHg7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xM3M7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4xM3M7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDogJyc7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogLTZweDtcbiAgICAgIHRyYW5zaXRpb246IHRvcCAwLjEycyAwLjJzIGN1YmljLWJlemllcigwLjMzMzMzLCAwLjY2NjY3LCAwLjY2NjY3LCAxKSxcbiAgICAgICAgdHJhbnNmb3JtIDAuMTNzIGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICB0b3A6IC0xMnB4O1xuICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMC42NjY2NywgMC42NjY2NywgMSksXG4gICAgICAgIG9wYWNpdHkgMC4xcyBsaW5lYXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogc21hbGwpICB7XG4gICAgICBsZWZ0OiAycHg7XG4gICAgICBib3R0b206IDA7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogLTlweFxuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRvcDogLTE3cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLW1lbnUuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuYnVyZ2VyLXRvZ2dsZS1pbm5lcixcbiAgLmJ1cmdlci10b2dnbGUtaW5uZXI6YWZ0ZXIsXG4gIC5idXJnZXItdG9nZ2xlLWlubmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHQ7XG4gIH1cblxuICAuYnVyZ2VyLXRvZ2dsZS1pbm5lciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4yMnM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE2cyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksXG4gICAgICAgIHRyYW5zZm9ybSAwLjEzcyAwLjI1cyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgY3ViaWMtYmV6aWVyKDAuMzMzMzMsIDAsIDAuNjY2NjcsIDAuMzMzMzMpLFxuICAgICAgICBvcGFjaXR5IDAuMXMgMC4yMnMgbGluZWFyO1xuICAgIH1cbiAgfVxufSIsIiNtb2RhbE1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwO1xuXG4gIC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubWFpbi1tZW51IHtcbiAgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogaHVnZSkge1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDQ4cHg7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGdpZ2FudGljKSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMzMzMlO1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogODBweDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBnaWdhbnRpYykge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUtZ3JvdXAtbGlzdCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMnB4O1xuICAgIH1cblxuXG4gICAgJi1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgY29sb3I6ICRncmF5LWxpZ2h0O1xuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LWxpc3QtY29udGFpbmVyIHtcbiAgICAgID4gLm1lbnUtZ3JvdXAtbGlzdDpmaXJzdC1vZi10eXBlID4gLm1lbnUtbGlzdC10aXRsZSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtZ3JvdXAtbGlzdCB7XG4gICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDQpO1xuICAgICAgICBwYWRkaW5nOiA1cHggMjBweCAwIDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAxNi42NjY2JTsgLy8gSUVcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogaHVnZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVudS1saXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBjb2xvcjogJGdyYXktZGFyaztcbiAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgY29sb3I6ICRicmFuZC1jb2xvci1kYXJrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxpbmsge1xuICAgICAgY29sb3I6ICRncmF5LWRhcms7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LWV4dHJhLWxpbmsge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmxpbmsge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuc2lkZS1uYXYtbGlzdCB7XG4gICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIHRvcDogNDRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMzBweCAxMHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogaHVnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDE4cHg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDdweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtY29sb3ItaWNlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogaHVnZSkge1xuICAgICAgICAgICAgICAgIHRvcDogMTkuNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXktZGFyaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICAmLnVrLWFjdGl2ZSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgdG9wOiAxN3B4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtY29sb3ItZGFyaztcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMThweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItZGFyaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtY29sb3ItaWNlO1xuICAgIGNvbG9yOiAkZ3JheS1saWdodDtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBwYWRkaW5nOiAzMHB4IDAgMjVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgIFxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTkwcHg7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyOTBweDtcbiAgICAgICAgICAgIGhlaWdodDogNjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLWxlZnQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1yaWdodCB7XG4gICAgICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDAgMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogaHVnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudmVydGljYWwtYWxpZ24ge1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG4uaW50cm8ge1xuICBtYXgtd2lkdGg6IDkwJTtcblxuICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgIG1heC13aWR0aDogNTM1cHg7XG5cbiAgICAudmVydGljYWwtYWxpZ24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuOWVtO1xuXG4gICAgKyAubGluayB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjllbTtcbiAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgY29sb3I6ICRncmF5LWRhcms7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEZvbnRzIHBhZ2Vcbi5oaWdobGlnaHRlZC1ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRicmFuZC1jb2xvci1pY2UsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogMjBweCAyNHB4O1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBzaGFwZXMgcGFnZVxuLmNpcmN1bGFyLWltZy1jb250YWluZXIge1xuICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBpbWcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgfVxuICB9XG59XG5cbi5naWFudC1yb3NhY2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC01MHB4O1xuICAgIHJpZ2h0OiAtMTAwcHg7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9zaGFwZXMvZ2lhbnQtcm9zYWNlLnN2Zyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgdG9wOiAtMjAwcHg7XG4gICAgICByaWdodDogLTI0MHB4O1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICB9XG4gIH1cbn0iLCIuYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1jb2xvcjtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC1mYW1pbHk6ICRmb250O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICBsZXR0ZXItc3BhY2luZzogMC43NXB4O1xuICBib3JkZXItcmFkaXVzOiA3NHB4O1xuICBwYWRkaW5nOiAxNnB4IDMwcHg7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yNXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogaHVnZSkge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjc1cHg7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtY29sb3ItZGFyaztcbiAgICBib3JkZXItY29sb3I6ICRicmFuZC1jb2xvci1kYXJrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJltkb3dubG9hZF0ge1xuICAgIHN2ZyB7XG4gICAgICBzdHJva2U6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG4gIH1cblxuICAuaWNvbi1sZWZ0LCBcbiAgLmljb24tcmlnaHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG5cbiAgICBzdmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaWNvbi1sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB9XG4gIH1cblxuICAuaWNvbi1yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cbiAgfVxuICBcbiAgJi1vdXRsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYnJhbmQtY29sb3I7XG4gICAgY29sb3I6ICRicmFuZC1jb2xvcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJyYW5kLWNvbG9yLWRhcms7XG4gICAgICBjb2xvcjogJGJyYW5kLWNvbG9yLWRhcms7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5saW5rIHtcbiAgY29sb3I6ICRicmFuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogaHVnZSkge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICB9XG5cbiAgJi1hcnJvdyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBcbiAgICAuaWNvbi1yaWdodCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcblxuICAgICAgc3ZnIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW2Rvd25sb2FkXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHN0cm9rZTogJGJyYW5kLWNvbG9yO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYnRuLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogMjAwO1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICB0cmFuc2l0aW9uOiAwLjRzO1xuICBtYXgtd2lkdGg6IDM1MHB4O1xuXG4gICY6Zm9jdXMsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAwLjRzO1xuICB9XG59XG5cbi51ay1idXR0b24tbGFyZ2Uge1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgbWluLWhlaWdodDogNjBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuICB9XG59XG4udWstc2VjdGlvbi1wcmltYXJ5LFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7XG4gIC51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuICB9XG59XG4iLCIuY29sb3ItYmFkZ2UtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgbWFyZ2luOiAwIC0xMnB4O1xuICB9XG59XG5cbi5jb2xvciB7XG4gICYtbGFiZWwge1xuICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgJi1iYWRnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogc21hbGwpIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICB3aWR0aDogMjUlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5iYWRnZSB7XG4gICAgICB3aWR0aDogMTQwcHg7XG4gICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxMDAlIC0gNTBweCk7XG4gICAgICB9XG5cbiAgICAgICYuYm9yZGVyZWQge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLW1ldGEge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgY29sb3I6ICRncmF5LWxpZ2h0O1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogc21hbGwpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIH1cbiAgfVxufSIsIi5jb250YWN0LWJveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFsdC1iZztcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgcGFkZGluZzogMzBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb20gOiBzbWFsbCkge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDE1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjYlO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgfVxuXG5cbiAgICAuYnRuICsgJiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaSArIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIH0gXG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbSA6IHNtYWxsKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgICsgbGkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH0gXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tIDogbGFyZ2UpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgKyBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICAgICAgfSBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIH1cbn0iLCIuY3RhLWJhbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0LWJnO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJi5oYXMtYmcge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgwLDAsMCwwLjA5KSAwJSwgcmdiYSgxNywxNywxNywxKSAxMDAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jdGEtYmFubmVyLXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICY6bm90KC5pcy1zbWFsbCkge1xuICAgICAgICAgICAgLmN0YS1iYW5uZXItdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy40cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICY6bm90KC5pcy1zbWFsbCkge1xuICAgICAgICAgICAgLmN0YS1iYW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4MHB4IDEyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY3RhLWJhbm5lci10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMzBweCAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDgwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRncmF5LWRhcms7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHN0cm9rZTogd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZG9udC1sYWJlbGxlZC1saXN0IHtcbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICB3aWR0aDogODguOCU7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzJSAtIDMwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMzRweDtcbiAgICAgICAgICAgIGhlaWdodDogMzRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTE3cHg7XG4gICAgICAgICAgICByaWdodDogLTEycHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuZG93bmxvYWQtY2FyZHMtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIC5kb3dubG9hZC1jYXJkcy1jb250YWluZXItbGluayB7XG4gICAgICAgICAgICAgICAgdG9wOiAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAuZG93bmxvYWQtY2FyZHMtY29udGFpbmVyLWxpbmsge1xuICAgICAgICAgICAgICAgIHRvcDogNjNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAuZG93bmxvYWQtY2FyZHMtY29udGFpbmVyLWxpbmsge1xuICAgICAgICAgICAgICAgIHRvcDogNjhweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAmLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRvd25sb2FkLWNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIFxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICB+IC5kb3dubG9hZC1jYXJkLWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogc21hbGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAuZG93bmxvYWQtY2FyZC1pbWctd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzJSAtIDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMyUgLSA1MnB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtaW1nLXdyYXBwZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICBzdHJva2U6ICR3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxpbmsge1xuICAgICAgICBjb2xvcjogJGdyYXktZGFyaztcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAmLmhhcy12aXNpYmxlLWxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5LWRhcms7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIHN0cm9rZTogJGJyYW5kLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5ncmlkLXNtYWxsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kb3dubG9hZC1jYXJkLWl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogc21hbGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRvd25sb2FkLWNhcmQtaW1nLXdyYXBwZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgIH1cbiAgICB9XG59IiwiXG4uZG93bmxvYWQtbGlzdC1maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMjVweCAxNXB4IDI1cHggYXV0bztcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICB9XG5cbiAgICAmLm11bHRpcGxlLWZpbGVzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMjVweCBhdXRvIDI1cHggMTVweDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDI1cHggMzBweCAyNXB4IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIH4gbGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgIH1cbiAgICB9IFxuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZS1vdXQ7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLWNvbG9yLWRhcms7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICY6bm90KC5zci1vbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRvd25sb2FkLWxpc3Qge1xuICAgIGxpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXktZGFyaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDE1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQ1cHgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kb3dubG9hZC1zdWItbGlzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5O1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZG93bmxvYWQtbGlzdC1maWxlIHtcbiAgICAgICAgJi5tdWx0aXBsZS1maWxlcyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kb3dubG9hZC1zaWduYXR1cmUtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMzVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5O1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRvd25sb2FkLXNpZ25hdHVyZS1wcmV2aWV3LWxpc3QgPiBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLmhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXgtaGVpZ2h0OiA4MDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgei1pbmRleDogMTA7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMSwxLDEsMC4xKSAxMCUsIHJnYmEoMTcsMTcsMTcsMSkgMTAwJSk7XG4gICAgLy8gbWl4LWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7XG4gIH1cblxuICAmLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxNjdweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjVweDtcbiAgICBsZWZ0OiAyMHB4O1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgdG9wOiA1NXB4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICB3aWR0aDogMjkwcHg7XG4gICAgICBoZWlnaHQ6IDYzcHg7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICYtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogLTE7XG5cbiAgICBpbWcsIHBpY3R1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwdmg7IC8vIElFXG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogc21hbGwpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDogOTAlO1xuXG4gICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA4NDBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogaHVnZSkge1xuICAgICAgICBmb250LXNpemU6IDZyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNSU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1hbmNob3Ige1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3R0b206IDIwcHg7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSWYgbm90IGltYWdlID4gZGlzcGxheSBhIGJnLWNvbG9yXG4uZGVmYXVsdC1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi5pbWFnZS1nYWxsZXJ5IHtcbiAgJi0taXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG4iLCIuaW1hZ2UtZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cblxuICA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG5cbiAgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIH1cbn1cblxuLmltZy1mdWxsV2lkdGgge1xuICB3aWR0aDogMTAwJTtcblxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAudWstd2lkdGgtMS0yXFxAcyB7IHdpZHRoOiA1MCU7IH1cbn0iLCIuaW1hZ2UtdHlwZSB7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG5cbiAgICAmLWFuY2hvci1uYXYge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIGNvdW50ZXItcmVzZXQ6IGl0ZW07XG4gICAgICAgIG1hcmdpbjogMzBweCAwIDYwcHg7XG4gICAgXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luOiA2MHB4IDA7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgY291bnRlci1pbmNyZW1lbnQ6IGl0ZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIFxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzQwcHg7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoaXRlbSwgZGVjaW1hbC1sZWFkaW5nLXplcm8pO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItZGFyaztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgZmlsbDogJGdyYXktZGFyaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLWNvbG9yLWRhcms7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIFxuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtNXB4O1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAkYnJhbmQtY29sb3ItZGFyaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxpc3Qge1xuICAgICAgICBjb3VudGVyLXJlc2V0OiBpdGVtO1xuICAgIFxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogaXRlbTsgXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICAgICAgc2Nyb2xsLW1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgPiBoMyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmF5LWRhcms7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKGl0ZW0sIGRlY2ltYWwtbGVhZGluZy16ZXJvKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmFuZC1jb2xvci1kYXJrO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICA+IC5pbWFnZS1ncmlkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAmLWluY29ycmVjdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWx0LWJnO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCA2MHB4IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIC5pbWFnZS1ncmlkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIFxuICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIFxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAtOXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC05cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMzAuODUgMzAuODUnJTNFJTNDcGF0aCBmaWxsPSclMjNlZDQ2NDYnIGQ9J00zMC41NywyNC43OGgwbC05LjM2LTkuMzUsOS4zNi05LjM2aDBhMSwxLDAsMCwwLDAtMS4zN0wyNi4xNS4yOGExLDEsMCwwLDAtMS4zNywwaDBMMTUuNDMsOS42NCw2LjA3LjI4aDBBMSwxLDAsMCwwLDQuNy4yOEwuMjgsNC43YTEsMSwwLDAsMCwwLDEuMzdoMGw5LjM2LDkuMzVMLjI4LDI0Ljc4aDBhMSwxLDAsMCwwLDAsMS4zN0w0LjcsMzAuNTdhMSwxLDAsMCwwLDEuMzYsMGgwbDkuMzctOS4zNiw5LjM2LDkuMzZoMGExLDEsMCwwLDAsMS4zNiwwbDQuNDItNC40M2ExLDEsMCwwLDAsMC0xLjM2WicvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5saXN0LWxpbmstY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDMwcHggMDtcblxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICBtYXJnaW46IDYwcHggMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICoge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItZGFyaztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyODJweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgIG1heC13aWR0aDogMTIycHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDAgMDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDMwcHggMCBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN0YS1wcmV2aWV3IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICRicmFuZC1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGdpZ2FudGljKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG59XG5cbi51ay1saWdodGJveCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuOCk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDNweCk7XG5cbiAgICAmLWl0ZW1zIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogMjBweDtcblxuICAgIC51ay1jbG9zZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcblxuICAgICAgICAgICAgbGluZSB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gXG4gICAgfVxufVxuXG4udWstbGlnaHRib3gtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGJyYW5kLWNvbG9yO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRicmFuZC1jb2xvci1kYXJrO1xuICAgIH1cblxuICAgIHN2ZyBwb2x5bGluZSB7XG4gICAgICAgIHN0cm9rZS13aWR0aDogMnB4O1xuICAgIH1cbn0iLCIucXVvdGUtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwO1xuICAgIH1cblxuICAgIC5xdW90ZSB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDc4JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbWcge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIyJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItZGFyaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogaHVnZSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwi4oCcXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWF1dGhvciB7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLWNvbG9yLWRhcms7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnd5c2l3eWcge1xuICAuaW50cm8ge1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIGNvbG9yOiAkbGlnaHRlci10ZXh0LWNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206ICRncmlkLWd1dHRlci12ZXJ0aWNhbDtcbiAgfVxufVxuIiwiLnR5cG9ncmFwaHktcm93IHtcbiAgJi0taXRlbSB7XG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gLyAyICFpbXBvcnRhbnQ7IC8vIEdvIG92ZXIgdWlraXQgcnVsZXNcbiAgfVxufVxuIiwiLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IC8qIDE2OjkgKi9cbiAgICBoZWlnaHQ6IDA7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICAuaW1nLXByZXZpZXcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmN0YS1wbGF5IHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWNvbG9yO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIFxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNDUlLCAtNTAlKTtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4Ljc1NyAxMC4wMDgnJTNFJTNDcGF0aCBkPSdNOC4zIDQuMTk4IDEuNDE1LjEyOUEuOTMzLjkzMyAwIDAgMCAwIC45MzZ2OC4xMzNhLjkzNy45MzcgMCAwIDAgMS40MTUuODA3TDguMyA1LjgxMWEuOTM3LjkzNyAwIDAgMCAwLTEuNjEzWicgZmlsbD0nJTIzZmZmJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIGlmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIHZpZGVvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG59IiwiLmRpc2NvdmVyIHtcbiAgICAuaGFzLXJpZ2h0LW5hdiB7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJHVudGlsOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBoMiB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDRyZW07XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyYW5kLWNvbG9yLWRhcms7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6ICRncmF5LWRhcms7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogaHVnZSkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXktZGFyaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFydGljbGUge1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA5MHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMjBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJvdyB7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1tZCB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgLmNvbC02IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wtNiB7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLTQge1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMiU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMiU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuW2lkPVwiaGVsbG9cIl0ge1xuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDdyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDhyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICBjb2xvcjogJGdyYXktZGFyaztcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltZy1jb250YWluZXIge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIGltZywgcGljdHVyZSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmFydGljbGVbaWQ9XCJjb252aWNpb24tcmVzcG9uc2liaWxpdHlcIl0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7XG5cbiAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjMwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGlzY292ZXIvZ2lhbnQtcm9zYWNlLnN2Zyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogLTEwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDQ4MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0ODBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDM2MHB4O1xuICAgIH1cblxuICAgIC5jb252aWNpb24tZGVjb3JhdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTM1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogMjYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICB3aWR0aDogMzI1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbltpZD1cIm1hbmlmZXN0b1wiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLm1hbmlmZXN0by1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDg4Ljg4ODglO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hbmlmZXN0by1tb29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDkwcHggKyAyMnB4O1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBnaWdhbnRpYykge1xuICAgICAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1saWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuW2lkPVwicGVyc29uYWxpdHlcIl0ge1xuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5yb3c6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgIC5jb2wtNiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSAgICBcbiAgICB9XG5cbiAgICAucm91bmRlZC1pbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY1JTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuW2lkPVwibmFtZS1pZGVudGl0eVwiXSB7XG4gICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRicmFuZC1jb2xvci1kYXJrO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLTYge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1nLW1hcmdpbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1sb2dvIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuW2lkPVwidmlzaW9uLW1pc3Npb25cIl0ge1xuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogaHVnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1pc3Npb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICAgICAgcGFkZGluZzogNDBweCAyNXB4IDEyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA2MHB4IDgwcHggMjAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAwLjQpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTUlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDguMzMzMzMzMzMlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiwgKyBwIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYtaW1nIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICAgICBpbWcsIHBpY3R1cmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5baWQ9XCJjbGllbnQtcmVsYXNoaW9uc2hpcHNcIl0ge1xuICAgIC5zdWItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNpcmN1bGFyLWltZy1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC5jaXJjdWxhci1pbWcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogaHVnZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW1nLXJvdW5kZWQtYm9yZGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbltpZD1cImJyYW5kLWVzc2VuY2UtdGFnbGluZVwiXSB7XG4gICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhZ2xpbmUge1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItZGFyaztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDRyZW07XG4gICAgICAgIH1cblxuICAgICAgICArIHAge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaW1nIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBzbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTYwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbltpZD1cInRvbmUtb2Ytdm9pY2VcIl0ge1xuICAgIGgyOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC02ID4gZGl2IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC50b25lLW9mLXZvaWNlLWludHJvIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW50cm8tY29udGVudCB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDYwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBpbGxhcnMsXG4gICAgLmRvLWRvbnQsXG4gICAgLnZvY2FidWxhcnksXG4gICAgLnRpcHMge1xuICAgICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5waWxsYXJzIHtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItZGFyaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kby1kb250IHtcbiAgICAgICAgJi1jYXRlZ29yeTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWdyaWQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogc21hbGwpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDglO1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFxuICAgICAgICAgICAgICAgIFwiaGVhZGVyMSBoZWFkZXIyXCJcbiAgICAgICAgICAgICAgICBcImxpbmUxIGxpbmUzXCJcbiAgICAgICAgICAgICAgICBcImxpbmUyIGxpbmU0XCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtNTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNDBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBodWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogM3B4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNTBweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyMSxcbiAgICAgICAgLmhlYWRlcjIsXG4gICAgICAgIC5saW5lMSxcbiAgICAgICAgLmxpbmUyLFxuICAgICAgICAubGluZTMsXG4gICAgICAgIC5saW5lNCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5oZWFkZXIxIHtcbiAgICAgICAgICAgIGdyaWQtYXJlYTogaGVhZGVyMTtcblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmhlYWRlcjIge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBoZWFkZXIyO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogc21hbGwpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5saW5lMSB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IGxpbmUxO1xuICAgICAgICB9XG4gICAgICAgIC5saW5lMiB7XG4gICAgICAgICAgICBncmlkLWFyZWE6IGxpbmUyO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgfVxuICAgICAgICAubGluZTMge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBsaW5lMztcbiAgICAgICAgfVxuICAgICAgICAubGluZTQge1xuICAgICAgICAgICAgZ3JpZC1hcmVhOiBsaW5lNDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubGluZTEsXG4gICAgICAgIC5saW5lMiB7XG4gICAgICAgICAgICAvLyBjb3JyZWN0XG4gICAgICAgICAgICBoNDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDM2IDM2JyUzRSUzQ3BhdGggZmlsbD0nJTIzMjJiNGFkJyBkPSdNMTIuMjMsMzAuOS41MywxOS4yYTEuNzksMS43OSwwLDAsMSwwLTIuNTVoMEwzLjA3LDE0LjFhMS44MSwxLjgxLDAsMCwxLDIuNTUsMGgwTDEzLjUsMjIsMzAuMzgsNS4xYTEuODEsMS44MSwwLDAsMSwyLjU1LDBoMGwyLjU0LDIuNTVhMS43OSwxLjc5LDAsMCwxLDAsMi41NWgwTDE0Ljc3LDMwLjlhMS44LDEuOCwwLDAsMS0yLjU0LDBaJy8lM0UlM0Mvc3ZnJTNFIFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5lMyxcbiAgICAgICAgLmxpbmU0IHtcbiAgICAgICAgICAgIC8vIG5vdCBjb3JyZWN0XG4gICAgICAgICAgICBoNDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwLjg1IDMwLjg1JyUzRSUzQ3BhdGggZmlsbD0nJTIzZWQ0NjQ2JyBkPSdNMzAuNTcsMjQuNzhoMGwtOS4zNi05LjM1LDkuMzYtOS4zNmgwYTEsMSwwLDAsMCwwLTEuMzdMMjYuMTUuMjhhMSwxLDAsMCwwLTEuMzcsMGgwTDE1LjQzLDkuNjQsNi4wNy4yOGgwQTEsMSwwLDAsMCw0LjcuMjhMLjI4LDQuN2ExLDEsMCwwLDAsMCwxLjM3aDBsOS4zNiw5LjM1TC4yOCwyNC43OGgwYTEsMSwwLDAsMCwwLDEuMzdMNC43LDMwLjU3YTEsMSwwLDAsMCwxLjM2LDBoMGw5LjM3LTkuMzYsOS4zNiw5LjM2aDBhMSwxLDAsMCwwLDEuMzYsMGw0LjQyLTQuNDNhMSwxLDAsMCwwLDAtMS4zNlonLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudm9jYWJ1bGFyeSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGlzY292ZXIvZ2lhbnQtcm9zYWNlLnN2Zyk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTI0MHB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTAwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDgwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWludHJvIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JheS1saWdodDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBjb2xvcjogJGJyYW5kLWNvbG9yLWRhcms7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC00IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uZCgkZnJvbTogc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGlwcyB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAudGlwcy1pbnRybyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25kKCRmcm9tOiBsYXJnZSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2Ni42NjY2JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wtNCB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcblxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmltZy1yb3VuZGVkLWJvcmRlciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbmQoJGZyb206IGh1Z2UpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2NSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnJhbmQtY29sb3ItZGFyaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSJdfQ== */
