@charset "UTF-8";
/* ========================================================================
   Component: Base
 ========================================================================== */
/*
 * 1. Set `font-size` to support `rem` units
 * 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
 ========================================================================== */
/*
 * Style
 */
a,
.uk-link {
  color: #1e87f0;
  text-decoration: none;
  cursor: pointer;
}

a:hover,
.uk-link:hover,
.uk-link-toggle:hover .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 the element and the bottom of its parent container.
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * 1. Constrain the element to its parent width.
 * 2. Preserve the intrinsic aspect ratio and auto-scale the height of an image if the `height` attribute is present.
 * 3. Take border and padding into account.
 */
canvas,
img,
svg,
video {
  /* 1 */
  max-width: 100%;
  /* 2 */
  height: auto;
  /* 3 */
  box-sizing: border-box;
}

/*
 * Deprecated: only needed for `img` elements with `uk-img`
 * 1. Hide `alt` text for lazy load images.
 * 2. Fix lazy loading images if parent element is set to `display: inline` and has `overflow: hidden`.
 */
img:not([src]) {
  /* 1 */
  visibility: hidden;
  /* 2 */
  min-width: 1px;
}

/*
 * 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,
.uk-heading-3xlarge {
  margin: 0 0 20px 0;
  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-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,
* + .uk-heading-3xlarge {
  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: 768px) {
  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;
}

/* Focus
 ========================================================================== */
:focus {
  outline: none;
}

:focus-visible {
  outline: 2px dotted #333;
}

/* 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
 */
:root {
  --uk-breakpoint-s: 320px;
  --uk-breakpoint-m: 768px;
  --uk-breakpoint-l: 1200px;
  --uk-breakpoint-xl: 1600px;
}

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

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

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

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

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

a.uk-link-heading:hover,
.uk-link-heading a:hover,
.uk-link-toggle:hover .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;
}

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

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

/* Tablet Landscape and bigger */
@media (min-width: 768px) {
  .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;
  }
  .uk-heading-3xlarge {
    font-size: 11rem;
  }
}
/* 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;
  }
  .uk-heading-3xlarge {
    font-size: 15rem;
  }
}
/* 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: -moz-max-content;
  width: max-content;
  height: 100px;
  margin-left: auto;
  margin-right: auto;
  border-left: 1px solid #e5e5e5;
}

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

/*
 * Avoid column break within the list item, when using `column-count`
 */
.uk-list > * {
  -moz-column-break-inside: avoid;
       break-inside: avoid-column;
}

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

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

/* Marker modifiers
 ========================================================================== */
.uk-list-disc,
.uk-list-circle,
.uk-list-square,
.uk-list-decimal,
.uk-list-hyphen {
  padding-left: 30px;
}

.uk-list-disc {
  list-style-type: disc;
}

.uk-list-circle {
  list-style-type: circle;
}

.uk-list-square {
  list-style-type: square;
}

.uk-list-decimal {
  list-style-type: decimal;
}

.uk-list-hyphen {
  list-style-type: "–  ";
}

/*
 * Color modifiers
 */
.uk-list-muted > ::marker {
  color: #999 !important;
}

.uk-list-emphasis > ::marker {
  color: #333 !important;
}

.uk-list-primary > ::marker {
  color: #1e87f0 !important;
}

.uk-list-secondary > ::marker {
  color: #222 !important;
}

/* Image bullet modifier
 ========================================================================== */
.uk-list-bullet > * {
  position: relative;
  padding-left: 30px;
}

.uk-list-bullet > ::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  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%;
}

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

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

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

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

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

.uk-list-collapse > :nth-child(n+2),
.uk-list-collapse > * > ul {
  margin-top: 0;
}

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

.uk-list-collapse.uk-list-divider > :nth-child(n+2) {
  margin-top: 0;
  padding-top: 0;
}

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

.uk-list-collapse.uk-list-striped > * {
  padding-top: 0;
  padding-bottom: 0;
}

.uk-list-large.uk-list-striped > :nth-child(n+2),
.uk-list-collapse.uk-list-striped > :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: 767px) {
  .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 {
  transition: background-color 0.1s linear;
}

.uk-table-striped > tr:nth-of-type(even):last-child,
.uk-table-striped tbody tr:nth-of-type(even):last-child {
  border-bottom: 1px solid #e5e5e5;
}

/* ========================================================================
   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 > * {
  transform: translate(0, 0);
}

/* Image modifier
 ========================================================================== */
/*
 * Display images in icon dimensions
 * 1. Required for `span` with background image
 * 2. Required for `image`
 */
.uk-icon-image {
  width: 20px;
  height: 20px;
  /* 1 */
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  /* 2 */
  -o-object-fit: scale-down;
     object-fit: scale-down;
  max-width: none;
}

/* Style modifiers
 ========================================================================== */
/*
 * Link
 * 1. Allow text within link
 */
.uk-icon-link {
  color: #999;
  /* 1 */
  text-decoration: none !important;
}

.uk-icon-link:hover {
  color: #666;
}

/* OnClick + Active */
.uk-icon-link:active,
.uk-active > .uk-icon-link {
  color: rgb(89.25, 89.25, 89.25);
}

/*
 * Button
 * 1. Center icon vertically and horizontally
 */
.uk-icon-button {
  box-sizing: border-box;
  width: 36px;
  height: 36px;
  border-radius: 500px;
  background: #f8f8f8;
  color: #999;
  vertical-align: middle;
  /* 1 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

/* Hover */
.uk-icon-button:hover {
  background-color: rgb(235.25, 235.25, 235.25);
  color: #666;
}

/* OnClick + Active */
.uk-icon-button:active,
.uk-active > .uk-icon-button {
  background-color: rgb(222.5, 222.5, 222.5);
  color: #666;
}

/* ========================================================================
   Component: Form Range
 ========================================================================== */
/*
 * 1. Remove default style.
 * 2. Define consistent box sizing.
 * 3. Remove `margin` in all browsers.
 * 4. Align to the center of the line box.
 * 5. Prevent content overflow if a fixed width is used.
 * 6. Take the full width.
 * 7. Remove white background in Chrome.
 */
.uk-range {
  /* 1 */
  -webkit-appearance: none;
  /* 2 */
  box-sizing: border-box;
  /* 3 */
  margin: 0;
  /* 4 */
  vertical-align: middle;
  /* 5 */
  max-width: 100%;
  /* 6 */
  width: 100%;
  /* 7 */
  background: transparent;
}

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

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

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

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

.uk-range:focus::-webkit-slider-runnable-track,
.uk-range:active::-webkit-slider-runnable-track {
  background: rgb(222.5, 222.5, 222.5);
}

/* Firefox */
.uk-range::-moz-range-track {
  height: 3px;
  background: rgb(235.25, 235.25, 235.25);
  border-radius: 500px;
}

.uk-range:focus::-moz-range-track {
  background: rgb(222.5, 222.5, 222.5);
}

/*
 * 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 rgb(203.5, 203.5, 203.5);
}

/* Firefox */
.uk-range::-moz-range-thumb {
  /* 1 */
  border: none;
  /* 2 */
  height: 15px;
  width: 15px;
  margin-top: -7px;
  border-radius: 500px;
  background: #fff;
  border: 1px solid rgb(203.5, 203.5, 203.5);
}

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

/*
 * Correct vertical alignment in Safari.
 */
.uk-input[type=date]::-webkit-datetime-edit,
.uk-input[type=time]::-webkit-datetime-edit,
.uk-input[type=datetime-local]::-webkit-datetime-edit {
  display: inline-flex;
  align-items: center;
  height: 100%;
  padding: 0;
}

/*
 * 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.
 * 1. Reset `min-width`
 */
.uk-fieldset {
  border: none;
  margin: 0;
  padding: 0;
  /* 1 */
  min-width: 0;
}

/* Input, select and textarea
 * Allowed: `text`, `password`, `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;
  transition: 0.2s ease-in-out;
  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: 6px;
  padding-bottom: 6px;
  vertical-align: top;
}

.uk-select[multiple],
.uk-select[size] {
  resize: vertical;
}

/* 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::-moz-placeholder {
  color: #999;
}
.uk-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;
}

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

/* Multi-line */
textarea.uk-form-small,
[multiple].uk-form-small,
[size].uk-form-small {
  padding: 5px 8px;
}

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

/*
 * Large
 */
.uk-form-large {
  font-size: 1.25rem;
}

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

/* Multi-line */
textarea.uk-form-large,
[multiple].uk-form-large,
[size].uk-form-large {
  padding: 7px 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: solid;
}

/* 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. 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]) option {
  color: #666;
}

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

/* Radio and checkbox
 ========================================================================== */
/*
 * 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 rgb(203.5, 203.5, 203.5);
  transition: 0.2s ease-in-out;
  transition-property: background-color, border;
}

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

/* Focus */
.uk-radio:focus,
.uk-checkbox:focus {
  background-color: rgba(0, 0, 0, 0);
  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: rgb(13.6875, 109.5, 205.3125);
}

/*
 * 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 controls 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: 767px) {
  /* Behave like `uk-form-stacked` */
  .uk-form-horizontal .uk-form-label {
    display: block;
    margin-bottom: 5px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .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: inline-flex;
  justify-content: 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;
  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;
  transition: 0.1s ease-in-out;
  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;
}

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

/* Hover */
.uk-button-default:hover {
  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: rgb(152.5, 152.5, 152.5);
}

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

/* Hover */
.uk-button-primary:hover {
  background-color: rgb(15.28125, 122.25, 229.21875);
  color: #fff;
}

/* OnClick + Active */
.uk-button-primary:active,
.uk-button-primary.uk-active {
  background-color: rgb(13.6875, 109.5, 205.3125);
  color: #fff;
}

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

/* Hover */
.uk-button-secondary:hover {
  background-color: rgb(21.25, 21.25, 21.25);
  color: #fff;
}

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

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

/* Hover */
.uk-button-danger:hover {
  background-color: rgb(237.9868421053, 56.5131578947, 90.5394736842);
  color: #fff;
}

/* OnClick + Active */
.uk-button-danger:active,
.uk-button-danger.uk-active {
  background-color: rgb(235.9736842105, 33.0263157895, 71.0789473684);
  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: #999;
  border-color: #e5e5e5;
}

/* 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 currentColor;
  transition: right 0.3s ease-out;
}

/* Hover */
.uk-button-text:hover {
  color: #333;
}
.uk-button-text:hover::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: #333;
}

/* Hover */
.uk-button-link:hover {
  color: #999;
  text-decoration: none;
}

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

/* Group
 ========================================================================== */
/*
 * 1. Using `flex` instead of `inline-block` to prevent whitespace between child elements
 * 2. Behave like button
 * 3. Create position context
 */
.uk-button-group {
  /* 1 */
  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: Progress
 ========================================================================== */
/*
 * 1. Add the correct vertical alignment in all browsers.
 * 2. Behave like a block element.
 * 3. Remove borders in Firefox.
 * 4. Remove default style in Chrome, Safari and Edge.
 * 5. Style
 */
.uk-progress {
  /* 1 */
  vertical-align: baseline;
  /* 2 */
  display: block;
  width: 100%;
  /* 3 */
  border: 0;
  /* 4 */
  background-color: #f8f8f8;
  /* 5 */
  margin-bottom: 20px;
  height: 15px;
  border-radius: 500px;
  overflow: hidden;
}

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

/*
 * Show background color set on `uk-progress` in Chrome, Safari and Edge.
 */
.uk-progress::-webkit-progress-bar {
  background-color: transparent;
}

/*
 * Progress Bar
 * 1. Transitions don't work on `::-moz-progress-bar` pseudo element in Firefox yet.
 *    https://bugzilla.mozilla.org/show_bug.cgi?id=662351
 */
.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;
  /* 1 */
  -moz-transition: width 0.6s ease;
  transition: width 0.6s ease;
}

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

/* Desktop and bigger */
@media (min-width: 768px) {
  .uk-section {
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
/*
 * 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: 768px) {
  .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: 768px) {
  .uk-section-xlarge {
    padding-top: 210px;
    padding-bottom: 210px;
  }
}
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-section-default {
  --uk-inverse: dark;
  background: #fff;
}

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

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

/*
 * Secondary
 */
.uk-section-secondary {
  --uk-inverse: light;
  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 {
  display: flow-root;
  /* 1 */
  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: 320px) {
  .uk-container {
    padding-left: 30px;
    padding-right: 30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-container {
    padding-left: 40px;
    padding-right: 40px;
  }
}
/*
 * 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: 320px) {
  .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: 768px) {
  .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: 320px) {
  .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: 768px) {
  .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: Tile
 ========================================================================== */
.uk-tile {
  display: flow-root;
  position: relative;
  box-sizing: border-box;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 40px;
  padding-bottom: 40px;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-tile {
    padding-left: 30px;
    padding-right: 30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-tile {
    padding-left: 40px;
    padding-right: 40px;
    padding-top: 70px;
    padding-bottom: 70px;
  }
}
/*
 * 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: 768px) {
  .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: 768px) {
  .uk-tile-xlarge {
    padding-top: 210px;
    padding-bottom: 210px;
  }
}
/* Style modifiers
 ========================================================================== */
/*
 * Default
 */
.uk-tile-default {
  --uk-inverse: dark;
  background-color: #fff;
}

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

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

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

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

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

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

.uk-card-footer {
  display: flow-root;
  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;
  }
}
/*
 * 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
 ========================================================================== */
/*
 * 1. Position
 * 2. Size
 * 3. Style
 * 4. Center child vertically
 */
.uk-card-badge {
  /* 1 */
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 1;
  /* 2 */
  height: 22px;
  padding: 0 10px;
  /* 3 */
  background: #1e87f0;
  color: #fff;
  font-size: 0.875rem;
  /* 4 */
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
  border-radius: 2px;
  text-transform: uppercase;
}

/*
 * 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-color: #fff;
  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 {
  --uk-inverse: dark;
  background-color: #fff;
  color: #666;
  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;
  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 {
  --uk-inverse: light;
  background-color: #1e87f0;
  color: #fff;
  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;
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

/*
 * Secondary
 */
.uk-card-secondary {
  --uk-inverse: light;
  background-color: #222;
  color: #fff;
  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;
  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;
  transition: 0.1s ease-in-out;
  transition-property: color, opacity;
}

/* Hover */
.uk-close:hover {
  color: #666;
}

/* ========================================================================
   Component: Spinner
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
/* SVG
 ========================================================================== */
.uk-spinner > * {
  animation: uk-spinner-rotate 1.4s linear infinite;
}

@keyframes uk-spinner-rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(270deg);
  }
}
/*
 * Circle
 */
.uk-spinner > * > * {
  stroke-dasharray: 88px;
  stroke-dashoffset: 0;
  transform-origin: center;
  animation: uk-spinner-dash 1.4s ease-in-out infinite;
  stroke-width: 1;
  stroke-linecap: round;
}

@keyframes uk-spinner-dash {
  0% {
    stroke-dashoffset: 88px;
  }
  50% {
    stroke-dashoffset: 22px;
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 88px;
    transform: rotate(450deg);
  }
}
/* ========================================================================
   Component: Totop
 ========================================================================== */
/*
 * Adopts `uk-icon`
 */
.uk-totop {
  padding: 5px;
  color: #999;
  transition: color 0.1s ease-in-out;
}

/* Hover */
.uk-totop:hover {
  color: #666;
}

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

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

/* Hover */
.uk-marker:hover {
  color: #fff;
}

/* ========================================================================
   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
 */
.uk-alert-close:hover {
  color: inherit;
  opacity: 0.8;
}

/* Style modifiers
 ========================================================================== */
/*
 * Primary
 */
.uk-alert-primary {
  background: rgb(215.625, 234, 252.375);
  color: #1e87f0;
}

/*
 * Success
 */
.uk-alert-success {
  background: rgb(236.55, 250.95, 245.55);
  color: #32d296;
}

/*
 * Warning
 */
.uk-alert-warning {
  background: rgb(254.5, 245.5, 238.5);
  color: #faa05a;
}

/*
 * Danger
 */
.uk-alert-danger {
  background: rgb(254.0526315789, 243.9473684211, 245.8421052632);
  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: 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: Badge
 ========================================================================== */
/*
 * 1. Style
 * 2. Center child vertically and horizontally
 */
.uk-badge {
  box-sizing: border-box;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 500px;
  vertical-align: middle;
  /* 1 */
  background: #1e87f0;
  color: #fff !important;
  font-size: 11px;
  /* 2 */
  display: inline-flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
}

/*
 * Required for `a`
 */
.uk-badge:hover {
  text-decoration: 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 {
  --uk-inverse: dark;
  background: rgba(255, 255, 255, 0.8);
}

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

/* ========================================================================
   Component: Article
 ========================================================================== */
.uk-article {
  display: flow-root;
}

/*
 * 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: 768px) {
  .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 {
  display: flow-root;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

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

/*
 * 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: 768px) {
  .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 */
  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::-moz-placeholder {
  color: #999;
}
.uk-search-input::placeholder {
  color: #999;
}

/* Icon (Adopts `uk-icon`)
 ========================================================================== */
/*
 * 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: inline-flex;
  justify-content: 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: 240px;
}

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

/* Focus */
.uk-search-default .uk-search-input:focus {
  background-color: rgba(0, 0, 0, 0);
  border-color: #1e87f0;
}

/*
 * Icon
 */
.uk-search-default .uk-search-icon {
  padding-left: 10px;
  padding-right: 10px;
}

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

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

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

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

/* Focus */
.uk-search-navbar .uk-search-input:focus {
  background-color: #fff;
  border-color: #1e87f0;
}

/*
 * Icon
 */
.uk-search-navbar .uk-search-icon {
  padding-left: 10px;
  padding-right: 10px;
}

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

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

/* Medium modifier
 ========================================================================== */
.uk-search-medium {
  width: 400px;
}

/*
 * Input
 */
.uk-search-medium .uk-search-input {
  height: 55px;
  padding-left: 12px;
  padding-right: 12px;
  background: transparent;
  font-size: 1.5rem;
  border: 1px solid #e5e5e5;
}

/* Focus */
.uk-search-medium .uk-search-input:focus {
  background-color: rgba(0, 0, 0, 0);
  border-color: #1e87f0;
}

/*
 * Icon
 */
.uk-search-medium .uk-search-icon {
  padding-left: 12px;
  padding-right: 12px;
}

.uk-search-medium:has(.uk-search-icon:not(.uk-search-icon-flip)) .uk-search-input {
  padding-left: 48px;
}

.uk-search-medium:has(.uk-search-icon-flip) .uk-search-input {
  padding-right: 48px;
}

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

/*
 * Input
 */
.uk-search-large .uk-search-input {
  height: 90px;
  padding-left: 20px;
  padding-right: 20px;
  background: transparent;
  font-size: 2.625rem;
  border: 1px solid #e5e5e5;
}

/* Focus */
.uk-search-large .uk-search-input:focus {
  background-color: rgba(0, 0, 0, 0);
  border-color: #1e87f0;
}

/*
 * Icon
 */
.uk-search-large .uk-search-icon {
  padding-left: 20px;
  padding-right: 20px;
}

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

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

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

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

/* ========================================================================
   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 */
.uk-accordion-title:hover {
  color: #666;
  text-decoration: none;
}

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

/*
 * 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;
  --uk-position-offset: 20px;
  --uk-position-viewport-offset: 15px;
  /* 3 */
  box-sizing: border-box;
  width: 300px;
}

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

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

/* Parent icon
 ========================================================================== */
.uk-drop-parent-icon {
  margin-left: 0.25em;
  transition: transform 0.3s ease-out;
}

[aria-expanded=true] > .uk-drop-parent-icon {
  transform: rotateX(180deg);
}

/* ========================================================================
   Component: Dropbar
 ========================================================================== */
/*
 * Adopts `uk-drop`
 * 1. Reset drop
 * 2. Style
 */
.uk-dropbar {
  --uk-position-offset: 0;
  --uk-position-shift-offset: 0;
  --uk-position-viewport-offset: 0;
  --uk-inverse: dark;
  /* 1 */
  width: auto;
  /* 2 */
  padding: 25px 15px 25px 15px;
  background: #fff;
  color: #666;
}

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

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-dropbar {
    padding-left: 30px;
    padding-right: 30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-dropbar {
    padding-left: 40px;
    padding-right: 40px;
  }
}
.uk-dropbar :focus-visible {
  outline-color: #333 !important;
}

/* Size modifier
 ========================================================================== */
.uk-dropbar-large {
  padding-top: 40px;
  padding-bottom: 40px;
}

/* Direction modifier
 ========================================================================== */
.uk-dropbar-top {
  box-shadow: 0 12px 7px -6px rgba(0, 0, 0, 0.05);
}

.uk-dropbar-bottom {
  box-shadow: 0 -12px 7px -6px rgba(0, 0, 0, 0.05);
}

.uk-dropbar-left {
  box-shadow: 12px 0 7px -6px rgba(0, 0, 0, 0.05);
}

.uk-dropbar-right {
  box-shadow: -12px 0 7px -6px rgba(0, 0, 0, 0.05);
}

/* ========================================================================
   Component: Dropnav
 ========================================================================== */
/*
 * 1. Position
 * 2. Reset dropbar
 * 3. Width
 */
.uk-dropnav-dropbar {
  /* 1 */
  position: absolute;
  z-index: 980;
  /* 2 */
  padding: 0;
  /* 3 */
  left: 0;
  right: 0;
}

/* ========================================================================
   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;
  /* 4 */
  padding: 15px 15px;
  /* 5 */
  background: rgba(0, 0, 0, 0.6);
  /* 6 */
  opacity: 0;
  transition: opacity 0.15s linear;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-modal {
    padding: 50px 30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .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. `!important` is 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 */
  box-sizing: border-box;
  margin: 0 auto;
  width: 600px;
  /* 3 */
  max-width: 100% !important;
  /* 4 */
  background: #fff;
  /* 5 */
  opacity: 0;
  transform: translateY(-100px);
  transition: 0.3s linear;
  transition-property: opacity, transform;
}

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

/* Sections
 ========================================================================== */
.uk-modal-body {
  display: flow-root;
  padding: 20px 20px;
}

.uk-modal-header {
  display: flow-root;
  padding: 10px 20px;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
}

.uk-modal-footer {
  display: flow-root;
  padding: 10px 20px;
  background: #fff;
  border-top: 1px solid #e5e5e5;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-modal-body {
    padding: 30px 30px;
  }
  .uk-modal-header {
    padding: 15px 30px;
  }
  .uk-modal-footer {
    padding: 15px 30px;
  }
}
/*
 * 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;
  transform: translate(0, -100%);
  color: white;
}

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

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  /* 1 */
  .uk-modal-close-outside {
    right: 0;
    transform: translate(100%, -100%);
  }
}
/*
 * Full
 */
.uk-modal-close-full {
  top: 0;
  right: 0;
  padding: 10px;
  background: #fff;
}

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-modal-close-full {
    padding: 20px;
  }
}
/* ========================================================================
   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.
 * 5. Disable horizontal panning gestures
 */
.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;
  /* 5 */
  touch-action: pan-y;
}

/* Item
 ========================================================================== */
/*
 * 1. Position items above each other
 * 2. Take the full width
 * 3. Clip child elements, e.g. for `uk-cover`
 * 4. Optimize animation
 */
.uk-slideshow-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  left: 0;
  /* 2 */
  right: 0;
  bottom: 0;
  /* 3 */
  overflow: hidden;
  /* 4 */
  will-change: transform, opacity;
}

/*
 * 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
 * 2. Prevent accidental scrolling through elements in slide getting focused
 */
.uk-slider-container {
  /* 1 */
  overflow: hidden;
  /* 2 */
  overflow: clip;
}

/*
 * Widen container to prevent box-shadows from clipping, `large-box-shadow`
 */
.uk-slider-container-offset {
  margin: -11px -25px -39px -25px;
  padding: 11px 25px 39px 25px;
}

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

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

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

/* Item
 ========================================================================== */
/*
 * 1. Let items take content dimensions (0 0 auto)
 *    `max-width` needed to keep image responsiveness and prevent content overflow
 * 2. Create position context
 */
.uk-slider-items > * {
  /* 1 */
  flex: none !important;
  box-sizing: border-box;
  max-width: 100%;
  /* 2 */
  position: relative;
}

/* ========================================================================
   Component: Sticky
 ========================================================================== */
/*
 * 1. Create position context so it's t the same like when fixed.
 * 2. Create stacking context already when not sticky to have the same context
*     for position set to `sticky` and `relative`
 * 2. More robust if padding and border are used and the sticky height is transitioned
 */
.uk-sticky {
  /* 1 */
  position: relative;
  /* 2 */
  z-index: 980;
  /* 3 */
  box-sizing: border-box;
}

.uk-sticky-fixed {
  margin: 0 !important;
}

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

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

/*
 * Placeholder
 * Make content clickable for sticky cover and reveal effects
 */
.uk-sticky-placeholder {
  pointer-events: none;
}

/* ========================================================================
   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 {
  --uk-inverse: light;
  /* 1 */
  position: absolute;
  top: 0;
  bottom: 0;
  left: -270px;
  /* 2 */
  box-sizing: border-box;
  width: 270px;
  padding: 20px 20px;
  background: #222;
  /* 3 */
  overflow-y: auto;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-offcanvas-bar {
    left: -350px;
    width: 350px;
    padding: 30px 30px;
  }
}
/* Flip modifier */
.uk-offcanvas-flip .uk-offcanvas-bar {
  left: auto;
  right: -270px;
}

/* Tablet landscape and bigger */
@media (min-width: 320px) {
  .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 {
  transition: left 0.3s ease-out;
}

.uk-offcanvas-flip .uk-offcanvas-bar-animation {
  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 */
  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: 320px) {
  .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: 5px;
  right: 5px;
  padding: 5px;
}

/* Tablet landscape and bigger */
@media (min-width: 320px) {
  .uk-offcanvas-close {
    top: 10px;
    right: 10px;
  }
}
/*
 * Remove margin from adjacent element
 */
.uk-offcanvas-close:first-child + * {
  margin-top: 0;
}

/* 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 */
  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;
  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`
 * 1. `clip` is needed for `position: sticky` elements to keep their position
 */
.uk-offcanvas-page,
.uk-offcanvas-container {
  overflow-x: hidden;
  /* 1 */
  overflow-x: clip;
}

/* 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;
  transition: left 0.3s ease-out;
  /* 1 */
  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: 320px) {
  :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
 */
:root {
  --uk-leader-fill-content: .;
}

/* ========================================================================
   Component: Notification
 ========================================================================== */
/*
 * 1. Set position
 * 2. Dimensions
 */
.uk-notification {
  /* 1 */
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 1040;
  /* 2 */
  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: 319px) {
  .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. Remove tooltip from document flow to keep the UIkit container from changing its size when injected into the document initially
 * 4. Dimensions
 * 5. Style
 */
.uk-tooltip {
  /* 1 */
  display: none;
  /* 2 */
  position: absolute;
  z-index: 1030;
  --uk-position-offset: 10px;
  --uk-position-viewport-offset: 10;
  /* 3 */
  top: 0;
  /* 4 */
  box-sizing: border-box;
  max-width: 200px;
  padding: 3px 6px;
  /* 5 */
  background: #666;
  border-radius: 2px;
  color: #fff;
  font-size: 12px;
}

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

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

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

/* Drag
 ========================================================================== */
.uk-sortable-drag {
  position: fixed !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
 ========================================================================== */
/*
 * 1. Make numbers all of the same size to prevent jumping. Must be supported by the font.
 * 2. Style
 */
.uk-countdown-number {
  /* 1 */
  font-variant-numeric: tabular-nums;
  /* 2 */
  font-size: 2rem;
  line-height: 0.8;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-countdown-number {
    font-size: 4rem;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-countdown-number {
    font-size: 6rem;
  }
}
/* Separator
 ========================================================================== */
.uk-countdown-separator {
  font-size: 1rem;
  line-height: 1.6;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-countdown-separator {
    font-size: 2rem;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-countdown-separator {
    font-size: 3rem;
  }
}
/* Label
 ========================================================================== */
/* ========================================================================
   Component: Thumbnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-thumbnav {
  display: flex;
  /* 1 */
  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-image: linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4));
  transition: opacity 0.1s ease-in-out;
}

/* Hover */
.uk-thumbnav > * > :hover::after {
  opacity: 0;
}

/* Active */
.uk-thumbnav > .uk-active > *::after {
  opacity: 0;
}

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

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

/* ========================================================================
   Component: Iconnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-iconnav {
  display: flex;
  /* 1 */
  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. Center content vertically if there is still some text
 * 2. Imitate white space gap when using flexbox
 * 3. Force text not to affect item height
 * 4. Style
 * 5. Required for `a` if there is still some text
 */
.uk-iconnav > * > a {
  /* 1 */
  display: flex;
  align-items: center;
  /* 2 */
  -moz-column-gap: 0.25em;
       column-gap: 0.25em;
  /* 3 */
  line-height: 0;
  /* 4 */
  color: #999;
  /* 5 */
  text-decoration: none;
  font-size: 0.875rem;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

/* Hover */
.uk-iconnav > * > a:hover {
  color: #666;
}

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

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

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

/* ========================================================================
   Component: Grid
 ========================================================================== */
/*
 * 1. Allow cells to wrap into the next line
 * 2. Reset list
 */
.uk-grid {
  display: flex;
  /* 1 */
  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: flex;
  /* 1 */
  flex-wrap: wrap;
}

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

/* ========================================================================
   Component: Nav
 ========================================================================== */
/*
 * Reset
 */
.uk-nav,
.uk-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/*
* 1. Center content vertically, e.g. an icon
* 2. Imitate white space gap when using flexbox
* 3. Reset link
 */
.uk-nav li > a {
  /* 1 */
  display: flex;
  align-items: center;
  /* 2 */
  -moz-column-gap: 0.25em;
       column-gap: 0.25em;
  /* 3*/
  text-decoration: 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
 ========================================================================== */
.uk-nav-parent-icon {
  margin-left: auto;
  transition: transform 0.3s ease-out;
}

.uk-nav > li.uk-open > a .uk-nav-parent-icon {
  transform: rotateX(180deg);
}

/* 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 .uk-nav-divider {
  margin: 5px 0;
}

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

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

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

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

/*
 * Subtitle
 */
.uk-nav-default .uk-nav-subtitle {
  font-size: 12px;
}

/*
 * 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 {
  font-size: 0.875rem;
  line-height: 1.5;
}

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

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

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

/* Primary modifier
 ========================================================================== */
.uk-nav-primary {
  font-size: 1.5rem;
  line-height: 1.5;
}

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

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

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

/*
 * Subtitle
 */
.uk-nav-primary .uk-nav-subtitle {
  font-size: 1.25rem;
}

/*
 * 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 {
  font-size: 1.25rem;
  line-height: 1.5;
}

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

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

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

/* Secondary modifier
 ========================================================================== */
.uk-nav-secondary {
  font-size: 16px;
  line-height: 1.5;
}
.uk-nav-secondary > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider) {
  margin-top: 0;
}

/*
 * Items
 */
.uk-nav-secondary > li > a {
  color: #333;
  padding: 10px 10px;
}

/* Hover */
.uk-nav-secondary > li > a:hover {
  color: #333;
  background-color: #f8f8f8;
}

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

/*
 * Subtitle
 */
.uk-nav-secondary .uk-nav-subtitle {
  font-size: 0.875rem;
  color: #999;
}

/* Hover */
.uk-nav-secondary > li > a:hover .uk-nav-subtitle {
  color: #666;
}

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

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

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

/*
 * Sublists
 */
.uk-nav-secondary .uk-nav-sub {
  font-size: 0.875rem;
  line-height: 1.5;
}

.uk-nav-secondary .uk-nav-sub a {
  color: #999;
}

.uk-nav-secondary .uk-nav-sub a:hover {
  color: #666;
}

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

/* Size modifier
 ========================================================================== */
/*
 * Medium
 */
.uk-nav-medium {
  font-size: 2.8875rem;
  line-height: 1;
}

.uk-nav-large {
  font-size: 3.4rem;
  line-height: 1;
}

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

/* Tablet Landscape and bigger */
@media (min-width: 768px) {
  .uk-nav-medium {
    font-size: 3.5rem;
  }
  .uk-nav-large {
    font-size: 4rem;
  }
  .uk-nav-xlarge {
    font-size: 6rem;
  }
}
/* Laptop and bigger */
@media (min-width: 1200px) {
  .uk-nav-medium {
    font-size: 4rem;
  }
  .uk-nav-large {
    font-size: 6rem;
  }
  .uk-nav-xlarge {
    font-size: 8rem;
  }
}
/* Alignment modifier
 ========================================================================== */
/*
 * 1. Center header
 * 2. Center items
 */
/* 1 */
.uk-nav-center {
  text-align: center;
}

/* 2 */
.uk-nav-center li > a {
  justify-content: center;
}

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

/* Parent icon  */
.uk-nav-center .uk-nav-parent-icon {
  margin-left: 0.25em;
}

/* Style modifier
 ========================================================================== */
/*
 * Divider
 * Naming is in plural to prevent conflicts with divider sub object.
 */
.uk-nav.uk-nav-divider > :not(.uk-nav-header, .uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider) {
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px solid #e5e5e5;
}

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

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

/* Groups
 ========================================================================== */
/*
 * 1. Align navs and items vertically if they have a different height
 */
.uk-navbar-left,
.uk-navbar-right,
[class*=uk-navbar-center] {
  display: flex;
  gap: 15px;
  /* 1 */
  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%;
  transform: translate(-50%, -50%);
  /* 2 */
  width: -moz-max-content;
  width: max-content;
  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: calc(100% + 15px);
}

.uk-navbar-center-right {
  left: calc(100% + 15px);
}

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

/* Nav
 ========================================================================== */
/*
 * 1. Reset list
 */
.uk-navbar-nav {
  display: flex;
  gap: 15px;
  /* 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 {
  flex-wrap: wrap;
}

/*
 * Items
 * 1. Center content vertically and horizontally
 * 2. Imitate white space gap when using flexbox
 * 3. Dimensions
 * 4. Style
 * 5. Required for `a`
 */
.uk-navbar-nav > li > a,
.uk-navbar-item,
.uk-navbar-toggle {
  /* 1 */
  display: flex;
  justify-content: center;
  align-items: center;
  /* 2 */
  -moz-column-gap: 0.25em;
       column-gap: 0.25em;
  /* 3 */
  box-sizing: border-box;
  min-height: 80px;
  /* 4 */
  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";
  /* 5 */
  text-decoration: none;
}

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

/*
 * Hover
 * Apply hover style also if dropdown is opened
 */
.uk-navbar-nav > li:hover > a,
.uk-navbar-nav > li > a[aria-expanded=true] {
  color: #666;
}

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

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

/* Parent icon modifier
 ========================================================================== */
.uk-navbar-parent-icon {
  margin-left: 4px;
  transition: transform 0.3s ease-out;
}

.uk-navbar-nav > li > a[aria-expanded=true] .uk-navbar-parent-icon {
  transform: rotateX(180deg);
}

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

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

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

.uk-navbar-toggle:hover,
.uk-navbar-toggle[aria-expanded=true] {
  color: #666;
  text-decoration: none;
}

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

/* Justify modifier
 ========================================================================== */
.uk-navbar-justify .uk-navbar-left,
.uk-navbar-justify .uk-navbar-right,
.uk-navbar-justify .uk-navbar-nav,
.uk-navbar-justify .uk-navbar-nav > li,
.uk-navbar-justify .uk-navbar-item,
.uk-navbar-justify .uk-navbar-toggle {
  flex-grow: 1;
}

/* Style modifiers
 ========================================================================== */
/* Dropdown
 ========================================================================== */
/*
 * Adopts `uk-drop`
 * 1. Set a default width
 * 2. Style
 */
.uk-navbar-dropdown {
  --uk-position-offset: 15px;
  --uk-position-shift-offset: 0;
  --uk-position-viewport-offset: 15px;
  --uk-inverse: dark;
  /* 1 */
  width: 200px;
  /* 2 */
  padding: 25px;
  background: #fff;
  color: #666;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}

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

.uk-navbar-dropdown :focus-visible {
  outline-color: #333 !important;
}

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

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

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

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

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

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

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

/*
 * Size modifier
 */
.uk-navbar-dropdown-large {
  --uk-position-shift-offset: 0;
  padding: 40px;
}

/*
 * Dropbar modifier
 * 1. Reset dropdown width to prevent to early shifting
 * 2. Reset style
 * 3. Padding
 */
.uk-navbar-dropdown-dropbar {
  /* 1 */
  width: auto;
  /* 2 */
  background: transparent;
  /* 3 */
  padding: 25px 0 25px 0;
  --uk-position-offset: 0;
  --uk-position-shift-offset: 0;
  --uk-position-viewport-offset: 15px;
  box-shadow: none;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-navbar-dropdown-dropbar {
    --uk-position-viewport-offset: 30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-navbar-dropdown-dropbar {
    --uk-position-viewport-offset: 40px;
  }
}
.uk-navbar-dropdown-dropbar-large {
  --uk-position-shift-offset: 0;
  padding-top: 40px;
  padding-bottom: 40px;
}

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

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

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

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

/*
 * Subtitle
 */
.uk-navbar-dropdown-nav .uk-nav-subtitle {
  font-size: 12px;
}

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

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

/* Dropbar
 ========================================================================== */
/*
 * Adopts `uk-dropnav-dropbar`
 */
.uk-navbar-container {
  transition: 0.1s ease-in-out;
  transition-property: background-color;
}

/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-navbar-left,
  .uk-navbar-right,
  [class*=uk-navbar-center] {
    gap: 30px;
  }
  .uk-navbar-center-left {
    right: calc(100% + 30px);
  }
  .uk-navbar-center-right {
    left: calc(100% + 30px);
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-navbar-nav {
    gap: 30px;
  }
}
/* ========================================================================
   Component: Subnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Center items vertically if they have a different height
 * 3. Gutter
 * 4. Reset list
 */
.uk-subnav {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  align-items: center;
  /* 3 */
  margin-left: -20px;
  /* 4 */
  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 */
  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. Center content vertically, e.g. an icon
 * 2. Imitate white space gap when using flexbox
 * 3. Style
 */
.uk-subnav > * > :first-child {
  /* 1 */
  display: flex;
  align-items: center;
  /* 2 */
  -moz-column-gap: 0.25em;
       column-gap: 0.25em;
  /* 3 */
  color: #999;
  font-size: 0.875rem;
  text-transform: uppercase;
  transition: 0.1s ease-in-out;
  transition-property: color, background-color;
}

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

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

/* Divider modifier
 ========================================================================== */
/*
 * Set gutter
 */
.uk-subnav-divider {
  margin-left: -41px;
}

/*
 * Align items and divider vertically
 */
.uk-subnav-divider > * {
  display: flex;
  align-items: center;
}

/*
 * Divider
 * 1. `nth-child` makes it also work without JS if it's only one row
 */
.uk-subnav-divider > ::before {
  content: "";
  height: 1.5em;
  margin-left: 0px;
  margin-right: 20px;
  border-left: 1px solid transparent;
}

/* 1 */
.uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
  border-left-color: #e5e5e5;
}

/* Pill modifier
 ========================================================================== */
/*
 * Gutter
 */
.uk-subnav-pill {
  margin-left: -20px;
}

.uk-subnav-pill > * {
  padding-left: 20px;
}

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

/* Hover */
.uk-subnav-pill > * > a:hover {
  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. Reset list
 * 2. Remove space between elements
 */
.uk-breadcrumb {
  /* 1 */
  padding: 0;
  list-style: none;
  /* 2 */
  font-size: 0;
}

/*
 * 1. Doesn't generate any box and replaced by child boxes
 */
.uk-breadcrumb > * {
  display: contents;
}

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

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

/* Disabled */
/* Active */
.uk-breadcrumb > :last-child > span,
.uk-breadcrumb > :last-child > a:not([href]) {
  color: #666;
}

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

/* ========================================================================
   Component: Pagination
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Center items vertically if they have a different height
 * 3. Gutter
 * 4. Reset list
 */
.uk-pagination {
  display: flex;
  /* 1 */
  flex-wrap: wrap;
  /* 2 */
  align-items: center;
  /* 3 */
  margin-left: 0;
  /* 4 */
  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 */
  flex: none;
  /* 2 */
  padding-left: 0;
  /* 3 */
  position: relative;
}

/* Items
 ========================================================================== */
/*
 * 1. Center content vertically, e.g. an icon
 * 2. Imitate white space gap when using flexbox
 * 3. Style
 */
.uk-pagination > * > * {
  /* 1 */
  display: flex;
  align-items: center;
  /* 2 */
  -moz-column-gap: 0.25em;
       column-gap: 0.25em;
  /* 3 */
  padding: 5px 10px;
  color: #999;
  transition: color 0.1s ease-in-out;
}

/* Hover */
.uk-pagination > * > :hover {
  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: flex;
  /* 1 */
  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 */
  flex: none;
  /* 2 */
  padding-left: 20px;
  /* 3 */
  position: relative;
}

/* Items
 ========================================================================== */
/*
 * Items must target `a` elements to exclude other elements (e.g. dropdowns)
 * 1. Center content vertically, e.g. an icon
 * 2. Imitate white space gap when using flexbox
 * 3. Center content if a width is set
 * 4. Style
 */
.uk-tab > * > a {
  /* 1 */
  display: flex;
  align-items: center;
  /* 2 */
  -moz-column-gap: 0.25em;
       column-gap: 0.25em;
  /* 3 */
  justify-content: center;
  /* 4 */
  padding: 5px 10px;
  color: #999;
  border-bottom: 1px solid transparent;
  font-size: 0.875rem;
  text-transform: uppercase;
  transition: color 0.1s ease-in-out;
}

/* Hover */
.uk-tab > * > a:hover {
  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 {
  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 {
  justify-content: left;
  border-right: 1px solid transparent;
  border-bottom: none;
}

.uk-tab-right > * > a {
  justify-content: 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);
  transition: color 0.1s ease-in-out;
}

/* Hover */
.uk-slidenav:hover {
  color: rgba(102, 102, 102, 0.9);
}

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

/* ========================================================================
   Component: Dotnav
 ========================================================================== */
/*
 * 1. Allow items to wrap into the next line
 * 2. Reset list
 * 3. Gutter
 */
.uk-dotnav {
  display: flex;
  /* 1 */
  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 */
  flex: none;
  /* 2 */
  padding-left: 12px;
}

/* Items
 ========================================================================== */
/*
 * Items
 * 1. Hide text if present
 */
.uk-dotnav > * > * {
  display: block;
  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);
  transition: 0.2s ease-in-out;
  transition-property: background-color, border-color;
}

/* Hover */
.uk-dotnav > * > :hover {
  background-color: rgba(102, 102, 102, 0.6);
  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 */
  flex-direction: column;
  /* 2 */
  margin-left: 0;
  margin-top: -12px;
}

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

/* ========================================================================
   Component: Dropdown
 ========================================================================== */
/*
 * Adopts `uk-drop`
 * 1. Reset drop and let text expand the width instead of wrapping
 * 2. Set a default width
 * 3. Style
 */
.uk-dropdown {
  --uk-position-offset: 10px;
  --uk-position-viewport-offset: 15px;
  --uk-inverse: dark;
  /* 1 */
  width: auto;
  /* 2 */
  min-width: 200px;
  /* 3 */
  padding: 25px;
  background: #fff;
  color: #666;
  box-shadow: 0 5px 12px rgba(0, 0, 0, 0.15);
}

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

.uk-dropdown :focus-visible {
  outline-color: #333 !important;
}

/* Size modifier
 ========================================================================== */
.uk-dropdown-large {
  padding: 40px;
}

/* Dropbar modifier
 ========================================================================== */
/*
 * 1. Reset dropdown width to prevent to early shifting
 * 2. Reset style
 * 3. Padding
 */
.uk-dropdown-dropbar {
  --uk-position-offset: 10px;
  /* 1 */
  width: auto;
  /* 2 */
  background: transparent;
  /* 3 */
  padding: 5px 0 25px 0;
  --uk-position-viewport-offset: 15px;
  box-shadow: none;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-dropdown-dropbar {
    --uk-position-viewport-offset: 30px;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-dropdown-dropbar {
    --uk-position-viewport-offset: 40px;
  }
}
.uk-dropdown-dropbar-large {
  padding-top: 40px;
  padding-bottom: 40px;
}

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

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

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

/*
 * Subtitle
 */
.uk-dropdown-nav .uk-nav-subtitle {
  font-size: 12px;
}

/*
 * 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 li.uk-active > a {
  color: #666;
}

/* ========================================================================
   Component: Lightbox
 ========================================================================== */
/*
 * 1. Hide by default
 * 2. Set position
 * 3. Allow scrolling for the modal dialog
 * 4. Horizontal padding
 * 5. Mask the background page
 * 6. Fade-in transition
 * 7. Prevent cancellation of pointer events while dragging
 */
.uk-lightbox {
  --uk-inverse: light;
  /* 1 */
  display: none;
  /* 2 */
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1010;
  /* 5 */
  background: #000;
  /* 6 */
  opacity: 0;
  transition: opacity 0.15s linear;
  /* 7 */
  touch-action: pinch-zoom;
}

/*
 * Open
 * 1. Center child
 * 2. Fade-in
 */
.uk-lightbox.uk-open {
  display: block;
  /* 2 */
  opacity: 1;
}

/*
 * Focus
 */
.uk-lightbox :focus-visible {
  outline-color: rgba(255, 255, 255, 0.7);
}

/* Page
 ========================================================================== */
/*
 * Prevent scrollbars
 */
.uk-lightbox-page {
  overflow: hidden;
}

/* Items
 ========================================================================== */
/*
 * Reset list
 */
.uk-lightbox-items {
  margin: 0;
  padding: 0;
  list-style: none;
}

/*
 * 1. Center child within the viewport
 * 2. Not visible by default
 * 3. Optimize animation
 * 4. Responsiveness
 *    Using `vh` for `max-height` to fix image proportions after resize in Safari and Opera
 */
.uk-lightbox-items > * {
  /* 1 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* 2 */
  display: none;
  justify-content: center;
  align-items: flex-start;
  /* 3 */
  will-change: transform, opacity;
  /* 4 */
  overflow: auto;
}

/* 2 */
.uk-lightbox-items > .uk-active {
  display: flex;
}

.uk-lightbox-items-fit > * {
  align-items: center;
}

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

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

/* Zoom Cursor */
.uk-lightbox-items.uk-lightbox-items-fit .uk-lightbox-zoom:hover {
  cursor: zoom-in;
}

.uk-lightbox-items:not(.uk-lightbox-items-fit) .uk-lightbox-zoom:hover {
  cursor: zoom-out;
}

/* Navs
 ========================================================================== */
.uk-lightbox-thumbnav-vertical :where(img, video) {
  max-width: 100px;
}

.uk-lightbox-thumbnav:not(.uk-lightbox-thumbnav-vertical) :where(img, video) {
  max-height: 100px;
}

.uk-lightbox-thumbnav:empty,
.uk-lightbox-dotnav:empty {
  display: none;
}

/* Caption
 ========================================================================== */
.uk-lightbox-caption:empty {
  display: none;
}

.uk-lightbox-caption {
  padding: 10px 10px;
  background: rgba(0, 0, 0, 0.3);
  color: rgba(255, 255, 255, 0.7);
}

.uk-lightbox-caption > * {
  color: rgba(255, 255, 255, 0.7);
}

/* Counter
 ========================================================================== */
.uk-lightbox-counter:empty {
  display: none;
}

/* Iframe
 ========================================================================== */
.uk-lightbox-iframe {
  width: 80%;
  height: 80%;
}

/* ========================================================================
   Component: Animation
 ========================================================================== */
[class*=uk-animation-] {
  animation: 0.5s ease-out both;
}

/* Animations
 ========================================================================== */
/*
 * Fade
 */
.uk-animation-fade {
  animation-name: uk-fade;
  animation-duration: 0.8s;
  animation-timing-function: linear;
}

/*
 * Scale
 */
.uk-animation-scale-up {
  animation-name: uk-fade, uk-scale-up;
}

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

/*
 * Slide
 */
.uk-animation-slide-top {
  animation-name: uk-fade, uk-slide-top;
}

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

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

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

/*
 * Slide Small
 */
.uk-animation-slide-top-small {
  animation-name: uk-fade, uk-slide-top-small;
}

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

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

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

/*
 * Slide Medium
 */
.uk-animation-slide-top-medium {
  animation-name: uk-fade, uk-slide-top-medium;
}

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

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

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

/*
 * Kenburns
 */
.uk-animation-kenburns {
  animation-name: uk-kenburns;
  animation-duration: 15s;
}

/*
 * Shake
 */
.uk-animation-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 {
  animation-name: uk-stroke;
  animation-duration: 2s;
  stroke-dasharray: var(--uk-animation-stroke);
}

/* Direction modifier
 ========================================================================== */
.uk-animation-reverse {
  animation-direction: reverse;
  animation-timing-function: ease-in;
}

/* Duration modifier
 ========================================================================== */
.uk-animation-fast {
  animation-duration: 0.1s;
}

/* Toggle animation based on the State of the Parent Element
 ========================================================================== */
.uk-animation-toggle:not(:hover):not(:focus) [class*=uk-animation-] {
  animation-name: none;
}

/* Keyframes used by animation classes
 ========================================================================== */
/*
 * Fade
 */
@keyframes uk-fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*
 * Scale
 */
@keyframes uk-scale-up {
  0% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes uk-scale-down {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
/*
 * Slide
 */
@keyframes uk-slide-top {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes uk-slide-bottom {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes uk-slide-left {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes uk-slide-right {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}
/*
 * Slide Small
 */
@keyframes uk-slide-top-small {
  0% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes uk-slide-bottom-small {
  0% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes uk-slide-left-small {
  0% {
    transform: translateX(-10px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes uk-slide-right-small {
  0% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}
/*
 * Slide Medium
 */
@keyframes uk-slide-top-medium {
  0% {
    transform: translateY(-50px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes uk-slide-bottom-medium {
  0% {
    transform: translateY(50px);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes uk-slide-left-medium {
  0% {
    transform: translateX(-50px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes uk-slide-right-medium {
  0% {
    transform: translateX(50px);
  }
  100% {
    transform: translateX(0);
  }
}
/*
 * Kenburns
 */
@keyframes uk-kenburns {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
/*
 * Shake
 */
@keyframes uk-shake {
  0%, 100% {
    transform: translateX(0);
  }
  10% {
    transform: translateX(-9px);
  }
  20% {
    transform: translateX(8px);
  }
  30% {
    transform: translateX(-7px);
  }
  40% {
    transform: translateX(6px);
  }
  50% {
    transform: translateX(-5px);
  }
  60% {
    transform: translateX(4px);
  }
  70% {
    transform: translateX(-3px);
  }
  80% {
    transform: translateX(2px);
  }
  90% {
    transform: translateX(-1px);
  }
}
/*
 * Stroke
 */
@keyframes uk-stroke {
  0% {
    stroke-dashoffset: var(--uk-animation-stroke);
  }
  100% {
    stroke-dashoffset: 0;
  }
}
/* ========================================================================
   Component: Width
 ========================================================================== */
/* Equal child widths
 ========================================================================== */
[class*=uk-child-width] > * {
  box-sizing: border-box;
  width: 100%;
}

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

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

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

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

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

.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]) {
  flex: 1;
  /* 1 */
  min-width: 1px;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .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% / 3);
  }
  .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% / 6);
  }
  .uk-child-width-auto\@s > * {
    width: auto;
  }
  .uk-child-width-expand\@s > :not([class*=uk-width]) {
    flex: 1;
    min-width: 1px;
  }
  /* Reset expand */
  .uk-child-width-1-1\@s > :not([class*=uk-width]),
  .uk-child-width-1-2\@s > :not([class*=uk-width]),
  .uk-child-width-1-3\@s > :not([class*=uk-width]),
  .uk-child-width-1-4\@s > :not([class*=uk-width]),
  .uk-child-width-1-5\@s > :not([class*=uk-width]),
  .uk-child-width-1-6\@s > :not([class*=uk-width]),
  .uk-child-width-auto\@s > :not([class*=uk-width]) {
    flex: initial;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .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% / 3);
  }
  .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% / 6);
  }
  .uk-child-width-auto\@m > * {
    width: auto;
  }
  .uk-child-width-expand\@m > :not([class*=uk-width]) {
    flex: 1;
    min-width: 1px;
  }
  /* Reset expand */
  .uk-child-width-1-1\@m > :not([class*=uk-width]),
  .uk-child-width-1-2\@m > :not([class*=uk-width]),
  .uk-child-width-1-3\@m > :not([class*=uk-width]),
  .uk-child-width-1-4\@m > :not([class*=uk-width]),
  .uk-child-width-1-5\@m > :not([class*=uk-width]),
  .uk-child-width-1-6\@m > :not([class*=uk-width]),
  .uk-child-width-auto\@m > :not([class*=uk-width]) {
    flex: initial;
  }
}
/* 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% / 3);
  }
  .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% / 6);
  }
  .uk-child-width-auto\@l > * {
    width: auto;
  }
  .uk-child-width-expand\@l > :not([class*=uk-width]) {
    flex: 1;
    min-width: 1px;
  }
  /* Reset expand */
  .uk-child-width-1-1\@l > :not([class*=uk-width]),
  .uk-child-width-1-2\@l > :not([class*=uk-width]),
  .uk-child-width-1-3\@l > :not([class*=uk-width]),
  .uk-child-width-1-4\@l > :not([class*=uk-width]),
  .uk-child-width-1-5\@l > :not([class*=uk-width]),
  .uk-child-width-1-6\@l > :not([class*=uk-width]),
  .uk-child-width-auto\@l > :not([class*=uk-width]) {
    flex: initial;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .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% / 3);
  }
  .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% / 6);
  }
  .uk-child-width-auto\@xl > * {
    width: auto;
  }
  .uk-child-width-expand\@xl > :not([class*=uk-width]) {
    flex: 1;
    min-width: 1px;
  }
  /* Reset expand */
  .uk-child-width-1-1\@xl > :not([class*=uk-width]),
  .uk-child-width-1-2\@xl > :not([class*=uk-width]),
  .uk-child-width-1-3\@xl > :not([class*=uk-width]),
  .uk-child-width-1-4\@xl > :not([class*=uk-width]),
  .uk-child-width-1-5\@xl > :not([class*=uk-width]),
  .uk-child-width-1-6\@xl > :not([class*=uk-width]),
  .uk-child-width-auto\@xl > :not([class*=uk-width]) {
    flex: initial;
  }
}
/* Single Widths
 ========================================================================== */
/*
 * 1. `max-width` is needed for the pixel-based classes
 */
[class*=uk-width] {
  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% / 3);
}

.uk-width-2-3 {
  width: calc(200% / 3);
}

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

.uk-width-5-6 {
  width: calc(500% / 6);
}

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

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

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

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

.uk-width-2xlarge {
  width: 750px;
}

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

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

/* Phone landscape and bigger */
@media (min-width: 320px) {
  /* 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% / 3);
  }
  .uk-width-2-3\@s {
    width: calc(200% / 3);
  }
  /* 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% / 6);
  }
  .uk-width-5-6\@s {
    width: calc(500% / 6);
  }
  /* 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-2xlarge\@s {
    width: 750px;
  }
  /* Auto */
  .uk-width-auto\@s {
    width: auto;
  }
  /* Expand */
  .uk-width-expand\@s {
    flex: 1;
    min-width: 1px;
  }
  /* Reset expand */
  .uk-width-1-1\@s,
  .uk-width-1-2\@s,
  .uk-width-1-3\@s,
  .uk-width-2-3\@s,
  .uk-width-1-4\@s,
  .uk-width-3-4\@s,
  .uk-width-1-5\@s,
  .uk-width-2-5\@s,
  .uk-width-3-5\@s,
  .uk-width-4-5\@s,
  .uk-width-1-6\@s,
  .uk-width-5-6\@s,
  .uk-width-small\@s,
  .uk-width-medium\@s,
  .uk-width-large\@s,
  .uk-width-xlarge\@s,
  .uk-width-2xlarge\@s,
  .uk-width-auto\@s {
    flex: initial;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  /* 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% / 3);
  }
  .uk-width-2-3\@m {
    width: calc(200% / 3);
  }
  /* 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% / 6);
  }
  .uk-width-5-6\@m {
    width: calc(500% / 6);
  }
  /* 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-2xlarge\@m {
    width: 750px;
  }
  /* Auto */
  .uk-width-auto\@m {
    width: auto;
  }
  /* Expand */
  .uk-width-expand\@m {
    flex: 1;
    min-width: 1px;
  }
  /* Reset expand */
  .uk-width-1-1\@m,
  .uk-width-1-2\@m,
  .uk-width-1-3\@m,
  .uk-width-2-3\@m,
  .uk-width-1-4\@m,
  .uk-width-3-4\@m,
  .uk-width-1-5\@m,
  .uk-width-2-5\@m,
  .uk-width-3-5\@m,
  .uk-width-4-5\@m,
  .uk-width-1-6\@m,
  .uk-width-5-6\@m,
  .uk-width-small\@m,
  .uk-width-medium\@m,
  .uk-width-large\@m,
  .uk-width-xlarge\@m,
  .uk-width-2xlarge\@m,
  .uk-width-auto\@m {
    flex: initial;
  }
}
/* 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% / 3);
  }
  .uk-width-2-3\@l {
    width: calc(200% / 3);
  }
  /* 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% / 6);
  }
  .uk-width-5-6\@l {
    width: calc(500% / 6);
  }
  /* 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-2xlarge\@l {
    width: 750px;
  }
  /* Auto */
  .uk-width-auto\@l {
    width: auto;
  }
  /* Expand */
  .uk-width-expand\@l {
    flex: 1;
    min-width: 1px;
  }
  /* Reset expand */
  .uk-width-1-1\@l,
  .uk-width-1-2\@l,
  .uk-width-1-3\@l,
  .uk-width-2-3\@l,
  .uk-width-1-4\@l,
  .uk-width-3-4\@l,
  .uk-width-1-5\@l,
  .uk-width-2-5\@l,
  .uk-width-3-5\@l,
  .uk-width-4-5\@l,
  .uk-width-1-6\@l,
  .uk-width-5-6\@l,
  .uk-width-small\@l,
  .uk-width-medium\@l,
  .uk-width-large\@l,
  .uk-width-xlarge\@l,
  .uk-width-2xlarge\@l,
  .uk-width-auto\@l {
    flex: initial;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  /* 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% / 3);
  }
  .uk-width-2-3\@xl {
    width: calc(200% / 3);
  }
  /* 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% / 6);
  }
  .uk-width-5-6\@xl {
    width: calc(500% / 6);
  }
  /* 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-2xlarge\@xl {
    width: 750px;
  }
  /* Auto */
  .uk-width-auto\@xl {
    width: auto;
  }
  /* Expand */
  .uk-width-expand\@xl {
    flex: 1;
    min-width: 1px;
  }
  /* Reset expand */
  .uk-width-1-1\@xl,
  .uk-width-1-2\@xl,
  .uk-width-1-3\@xl,
  .uk-width-2-3\@xl,
  .uk-width-1-4\@xl,
  .uk-width-3-4\@xl,
  .uk-width-1-5\@xl,
  .uk-width-2-5\@xl,
  .uk-width-3-5\@xl,
  .uk-width-4-5\@xl,
  .uk-width-1-6\@xl,
  .uk-width-5-6\@xl,
  .uk-width-small\@xl,
  .uk-width-medium\@xl,
  .uk-width-large\@xl,
  .uk-width-xlarge\@xl,
  .uk-width-2xlarge\@xl,
  .uk-width-auto\@xl {
    flex: initial;
  }
}
/* Intrinsic Widths
 ========================================================================== */
.uk-width-max-content {
  width: -moz-max-content;
  width: max-content;
}

.uk-width-min-content {
  width: -moz-min-content;
  width: min-content;
}

/* ========================================================================
   Component: Height
 ========================================================================== */
[class*=uk-height] {
  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;
}

.uk-height-viewport-2 {
  min-height: 200vh;
}

.uk-height-viewport-3 {
  min-height: 300vh;
}

.uk-height-viewport-4 {
  min-height: 400vh;
}

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

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

/* Weight modifier
 ========================================================================== */
.uk-text-light {
  font-weight: 300;
}

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

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

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

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

/* Style modifier
 ========================================================================== */
.uk-text-italic {
  font-style: italic;
}

/* Transform modifier
 ========================================================================== */
.uk-text-capitalize {
  text-transform: capitalize !important;
}

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

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

/* Decoration modifier
 ========================================================================== */
.uk-text-decoration-none {
  text-decoration: none !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 all browsers.
 * 2. Default color is set to transparent.
 * 3. Container fits the text
 * 4. Style
 */
.uk-text-background {
  /* 1 */
  -webkit-background-clip: text;
  /* 2 */
  color: transparent !important;
  /* 3 */
  display: inline-block;
  /* 4 */
  background-color: #1e87f0;
  background-image: linear-gradient(90deg, #1e87f0 0%, #411ef0 100%);
}

/* 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: 320px) {
  .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: 768px) {
  .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: 1600px) {
  .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;
}

/*
 * Wrap long words onto the next line and break them if they are too long to fit.
 * 1. Make it work with table cells in all browsers.
 * Note: Not using `hyphens: auto` because it hyphenates text even if not needed.
 */
.uk-text-break {
  overflow-wrap: break-word;
}

/* 1 */
th.uk-text-break,
td.uk-text-break {
  word-break: break-word;
}

/* Stroke modifiers
 ========================================================================== */
.uk-text-stroke {
  -webkit-text-stroke: calc(1.4px + 0.002em);
  -webkit-text-fill-color: transparent;
}

/* ========================================================================
   Component: Column
 ========================================================================== */
[class*=uk-column-] {
  -moz-column-gap: 30px;
       column-gap: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  [class*=uk-column-] {
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
/*
 * Fix image 1px line wrapping into the next column in Chrome
 */
[class*=uk-column-] img {
  transform: translate3d(0, 0, 0);
}

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

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-divider {
    -moz-column-gap: 80px;
         column-gap: 80px;
  }
}
/* Width modifiers
 ========================================================================== */
.uk-column-1-2 {
  -moz-column-count: 2;
       column-count: 2;
}

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

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

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

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

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-column-1-2\@s {
    -moz-column-count: 2;
         column-count: 2;
  }
  .uk-column-1-3\@s {
    -moz-column-count: 3;
         column-count: 3;
  }
  .uk-column-1-4\@s {
    -moz-column-count: 4;
         column-count: 4;
  }
  .uk-column-1-5\@s {
    -moz-column-count: 5;
         column-count: 5;
  }
  .uk-column-1-6\@s {
    -moz-column-count: 6;
         column-count: 6;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-column-1-2\@m {
    -moz-column-count: 2;
         column-count: 2;
  }
  .uk-column-1-3\@m {
    -moz-column-count: 3;
         column-count: 3;
  }
  .uk-column-1-4\@m {
    -moz-column-count: 4;
         column-count: 4;
  }
  .uk-column-1-5\@m {
    -moz-column-count: 5;
         column-count: 5;
  }
  .uk-column-1-6\@m {
    -moz-column-count: 6;
         column-count: 6;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-column-1-2\@l {
    -moz-column-count: 2;
         column-count: 2;
  }
  .uk-column-1-3\@l {
    -moz-column-count: 3;
         column-count: 3;
  }
  .uk-column-1-4\@l {
    -moz-column-count: 4;
         column-count: 4;
  }
  .uk-column-1-5\@l {
    -moz-column-count: 5;
         column-count: 5;
  }
  .uk-column-1-6\@l {
    -moz-column-count: 6;
         column-count: 6;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-column-1-2\@xl {
    -moz-column-count: 2;
         column-count: 2;
  }
  .uk-column-1-3\@xl {
    -moz-column-count: 3;
         column-count: 3;
  }
  .uk-column-1-4\@xl {
    -moz-column-count: 4;
         column-count: 4;
  }
  .uk-column-1-5\@xl {
    -moz-column-count: 5;
         column-count: 5;
  }
  .uk-column-1-6\@xl {
    -moz-column-count: 6;
         column-count: 6;
  }
}
/* Make element span across all columns
 * Does not work in Firefox yet
 ========================================================================== */
.uk-column-span {
  -moz-column-span: all;
       column-span: all;
}

/* ========================================================================
   Component: Cover
 ========================================================================== */
/*
 * Works with iframes and embedded content
 * 1. Use attribute to apply transform instantly. Needed if transform is transitioned.
 * 2. Reset responsiveness for embedded content
 * 3. Center object
 * Note: Percent values on the `top` property only works if this element
 *       is absolute positioned or if the container has a height
 */
/* 1 */
[uk-cover]:where(canvas, iframe, svg),
[data-uk-cover]:where(canvas, iframe, svg) {
  /* 2 */
  max-width: none;
  /* 3 */
  position: absolute;
  left: 50%;
  top: 50%;
  --uk-position-translate-x: -50%;
  --uk-position-translate-y: -50%;
  transform: translate(var(--uk-position-translate-x), var(--uk-position-translate-y));
}

iframe[uk-cover],
iframe[data-uk-cover] {
  pointer-events: none;
}

[uk-cover]:where(img, video),
[data-uk-cover]:where(img, video) {
  /* 3 */
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

/* 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,
.uk-background-width-1-1,
.uk-background-height-1-1 {
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

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

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

.uk-background-width-1-1 {
  background-size: 100%;
}

.uk-background-height-1-1 {
  background-size: auto 100%;
}

/* 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
 ========================================================================== */
.uk-background-fixed {
  background-attachment: fixed;
}

/*
 * 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: 319px) {
  .uk-background-image\@s {
    background-image: none !important;
  }
}
/* Phone landscape and smaller */
@media (max-width: 767px) {
  .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: 1599px) {
  .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: 320px) {
  .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: 768px) {
  .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: 1600px) {
  .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 {
  transform: translate(0, 0);
}

/* ========================================================================
   Component: Utility
 ========================================================================== */
/* Panel
 ========================================================================== */
.uk-panel {
  display: flow-root;
  position: relative;
  box-sizing: border-box;
}

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

/* Overflow
 ========================================================================== */
.uk-overflow-hidden {
  overflow: hidden;
}

/*
 * Enable scrollbars if content is clipped
 */
.uk-overflow-auto {
  overflow: auto;
}

.uk-overflow-auto > :last-child {
  margin-bottom: 0;
}

/* Box Sizing
 ========================================================================== */
.uk-box-sizing-content {
  box-sizing: content-box;
}

.uk-box-sizing-border {
  box-sizing: border-box;
}

/* Resize
 ========================================================================== */
.uk-resize {
  resize: both;
}

.uk-resize-horizontal {
  resize: horizontal;
}

.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 new layer 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 {
  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;
}

/*
 * Fix initial iframe width. Without the viewport is expanded on iOS devices
 */
[uk-responsive],
[data-uk-responsive] {
  max-width: 100%;
}

/* Object
 ========================================================================== */
.uk-object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}

.uk-object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.uk-object-fill {
  -o-object-fit: fill;
     object-fit: fill;
}

.uk-object-none {
  -o-object-fit: none;
     object-fit: none;
}

.uk-object-scale-down {
  -o-object-fit: scale-down;
     object-fit: scale-down;
}

/*
 * Position
 */
.uk-object-top-left {
  -o-object-position: 0 0;
     object-position: 0 0;
}

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

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

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

.uk-object-center-center {
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}

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

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

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

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

/* 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 {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-medium {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-large {
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

.uk-box-shadow-xlarge {
  box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
}

/*
 * Hover
 */
[class*=uk-box-shadow-hover] {
  transition: box-shadow 0.1s ease-in-out;
}

.uk-box-shadow-hover-small:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-hover-medium:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.uk-box-shadow-hover-large:hover {
  box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16);
}

.uk-box-shadow-hover-xlarge:hover {
  box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16);
}

/* Box-shadow bottom
 ========================================================================== */
/*
 * 1. Set position.
 * 2. Set style
 * 3. Fix shadow being clipped in Safari if container is animated
 */
@supports (filter: blur(0)) {
  .uk-box-shadow-bottom {
    display: inline-block;
    position: relative;
    z-index: 0;
    max-width: 100%;
    vertical-align: middle;
  }
  .uk-box-shadow-bottom::after {
    content: "";
    /* 1 */
    position: absolute;
    bottom: -30px;
    left: 0;
    right: 0;
    z-index: -1;
    /* 2 */
    height: 30px;
    border-radius: 100%;
    background: #444;
    filter: blur(20px);
    /* 3 */
    will-change: filter;
  }
}
/* 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
 */
.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%;
  }
}
/* Logo
 ========================================================================== */
/*
 * 1. Style
 * 2. Required for `a`
 * 3. Behave like image but can be overridden through flex utility classes
 */
.uk-logo {
  /* 1 */
  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: #333;
  /* 2 */
  text-decoration: none;
}

/* 3 */
:where(.uk-logo) {
  display: inline-block;
  vertical-align: middle;
}

/* Hover */
.uk-logo:hover {
  color: #333;
  /* 1 */
  text-decoration: none;
}

.uk-logo :where(img, svg, video) {
  display: block;
}

.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 {
  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 {
  transform: translate(-50%, -50%);
}

/* Transform Origin
========================================================================== */
.uk-transform-origin-top-left {
  transform-origin: 0 0;
}

.uk-transform-origin-top-center {
  transform-origin: 50% 0;
}

.uk-transform-origin-top-right {
  transform-origin: 100% 0;
}

.uk-transform-origin-center-left {
  transform-origin: 0 50%;
}

.uk-transform-origin-center-right {
  transform-origin: 100% 50%;
}

.uk-transform-origin-bottom-left {
  transform-origin: 0 100%;
}

.uk-transform-origin-bottom-center {
  transform-origin: 50% 100%;
}

.uk-transform-origin-bottom-right {
  transform-origin: 100% 100%;
}

/* ========================================================================
   Component: Flex
 ========================================================================== */
.uk-flex {
  display: flex;
}

.uk-flex-inline {
  display: inline-flex;
}

/* Alignment
 ========================================================================== */
/*
 * Align items along the main axis of the current line of the flex container
 * Row: Horizontal
 */
.uk-flex-left {
  justify-content: flex-start;
}

.uk-flex-center {
  justify-content: center;
}

.uk-flex-right {
  justify-content: flex-end;
}

.uk-flex-between {
  justify-content: space-between;
}

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

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-flex-left\@s {
    justify-content: flex-start;
  }
  .uk-flex-center\@s {
    justify-content: center;
  }
  .uk-flex-right\@s {
    justify-content: flex-end;
  }
  .uk-flex-between\@s {
    justify-content: space-between;
  }
  .uk-flex-around\@s {
    justify-content: space-around;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-flex-left\@m {
    justify-content: flex-start;
  }
  .uk-flex-center\@m {
    justify-content: center;
  }
  .uk-flex-right\@m {
    justify-content: flex-end;
  }
  .uk-flex-between\@m {
    justify-content: space-between;
  }
  .uk-flex-around\@m {
    justify-content: space-around;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-left\@l {
    justify-content: flex-start;
  }
  .uk-flex-center\@l {
    justify-content: center;
  }
  .uk-flex-right\@l {
    justify-content: flex-end;
  }
  .uk-flex-between\@l {
    justify-content: space-between;
  }
  .uk-flex-around\@l {
    justify-content: space-around;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-left\@xl {
    justify-content: flex-start;
  }
  .uk-flex-center\@xl {
    justify-content: center;
  }
  .uk-flex-right\@xl {
    justify-content: flex-end;
  }
  .uk-flex-between\@xl {
    justify-content: space-between;
  }
  .uk-flex-around\@xl {
    justify-content: space-around;
  }
}
/*
 * Align items in the cross axis of the current line of the flex container
 * Row: Vertical
 */
.uk-flex-stretch {
  align-items: stretch;
}

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

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

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

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-flex-stretch\@s {
    align-items: stretch;
  }
  .uk-flex-top\@s {
    align-items: flex-start;
  }
  .uk-flex-middle\@s {
    align-items: center;
  }
  .uk-flex-bottom\@s {
    align-items: flex-end;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-flex-stretch\@m {
    align-items: stretch;
  }
  .uk-flex-top\@m {
    align-items: flex-start;
  }
  .uk-flex-middle\@m {
    align-items: center;
  }
  .uk-flex-bottom\@m {
    align-items: flex-end;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-stretch\@l {
    align-items: stretch;
  }
  .uk-flex-top\@l {
    align-items: flex-start;
  }
  .uk-flex-middle\@l {
    align-items: center;
  }
  .uk-flex-bottom\@l {
    align-items: flex-end;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-stretch\@xl {
    align-items: stretch;
  }
  .uk-flex-top\@xl {
    align-items: flex-start;
  }
  .uk-flex-middle\@xl {
    align-items: center;
  }
  .uk-flex-bottom\@xl {
    align-items: flex-end;
  }
}
/* Direction
 ========================================================================== */
.uk-flex-row {
  flex-direction: row;
}

.uk-flex-row-reverse {
  flex-direction: row-reverse;
}

.uk-flex-column {
  flex-direction: column;
}

.uk-flex-column-reverse {
  flex-direction: column-reverse;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-flex-row\@s {
    flex-direction: row;
  }
  .uk-flex-column\@s {
    flex-direction: column;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-flex-row\@m {
    flex-direction: row;
  }
  .uk-flex-column\@m {
    flex-direction: column;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-row\@l {
    flex-direction: row;
  }
  .uk-flex-column\@l {
    flex-direction: column;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-row\@xl {
    flex-direction: row;
  }
  .uk-flex-column\@xl {
    flex-direction: column;
  }
}
/* Wrap
 ========================================================================== */
.uk-flex-nowrap {
  flex-wrap: nowrap;
}

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

.uk-flex-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 {
  align-content: stretch;
}

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

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

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

.uk-flex-wrap-between {
  align-content: space-between;
}

.uk-flex-wrap-around {
  align-content: space-around;
}

/* Item ordering
 ========================================================================== */
/*
 * Default is 0
 */
.uk-flex-first {
  order: -1;
}

.uk-flex-last {
  order: 99;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-flex-first\@s {
    order: -1;
  }
  .uk-flex-last\@s {
    order: 99;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-flex-first\@m {
    order: -1;
  }
  .uk-flex-last\@m {
    order: 99;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-first\@l {
    order: -1;
  }
  .uk-flex-last\@l {
    order: 99;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-first\@xl {
    order: -1;
  }
  .uk-flex-last\@xl {
    order: 99;
  }
}
/* Item dimensions
 ========================================================================== */
/*
 * Initial: 0 1 auto
 * Content dimensions, but shrinks
 */
.uk-flex-initial {
  flex: initial;
}

/*
 * No Flex: 0 0 auto
 * Content dimensions
 */
.uk-flex-none {
  flex: none;
}

/*
 * Relative Flex: 1 1 auto
 * Space is allocated considering content
 */
.uk-flex-auto {
  flex: auto;
}

/*
 * Absolute Flex: 1 1 0%
 * Space is allocated solely based on flex
 */
.uk-flex-1 {
  flex: 1;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-flex-initial\@s {
    flex: initial;
  }
  .uk-flex-none\@s {
    flex: none;
  }
  .uk-flex-1\@s {
    flex: 1;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .uk-flex-initial\@m {
    flex: initial;
  }
  .uk-flex-none\@m {
    flex: none;
  }
  .uk-flex-1\@m {
    flex: 1;
  }
}
/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-flex-initial\@l {
    flex: initial;
  }
  .uk-flex-none\@l {
    flex: none;
  }
  .uk-flex-1\@l {
    flex: 1;
  }
}
/* Large screen and bigger */
@media (min-width: 1600px) {
  .uk-flex-initial\@xl {
    flex: initial;
  }
  .uk-flex-none\@xl {
    flex: none;
  }
  .uk-flex-1\@xl {
    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;
}

/* XSmall
 ========================================================================== */
.uk-margin-xsmall {
  margin-bottom: 5px;
}

* + .uk-margin-xsmall {
  margin-top: 5px !important;
}

.uk-margin-xsmall-top {
  margin-top: 5px !important;
}

.uk-margin-xsmall-bottom {
  margin-bottom: 5px !important;
}

.uk-margin-xsmall-left {
  margin-left: 5px !important;
}

.uk-margin-xsmall-right {
  margin-right: 5px !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: 320px) {
  .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: 768px) {
  .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: 1600px) {
  .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: 320px) {
  .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: 768px) {
  .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: 1600px) {
  .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: 40px;
}

/* 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
 ========================================================================== */
:root {
  --uk-position-margin-offset: 0px;
}

/* Directions
 ========================================================================== */
/*
 * 1. Prevent content overflow.
 */
[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: calc(100% - (var(--uk-position-margin-offset) * 2));
  box-sizing: border-box;
}

/*
 * Edges
 * Don't use `width: 100%` because it's 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.
 *    Using `max-content` requires `max-width` of 100% which is set generally.
 */
.uk-position-center {
  top: calc(50% - var(--uk-position-margin-offset));
  left: calc(50% - var(--uk-position-margin-offset));
  --uk-position-translate-x: -50%;
  --uk-position-translate-y: -50%;
  transform: translate(var(--uk-position-translate-x), var(--uk-position-translate-y));
  /* 1 */
  width: -moz-max-content;
  width: max-content;
}

/* Vertical */
[class*=uk-position-center-left],
[class*=uk-position-center-right],
.uk-position-center-vertical {
  top: calc(50% - var(--uk-position-margin-offset));
  --uk-position-translate-y: -50%;
  transform: translate(0, var(--uk-position-translate-y));
}

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

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

.uk-position-center-vertical {
  left: 0;
  right: 0;
}

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

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

/* Horizontal */
.uk-position-top-center,
.uk-position-bottom-center,
.uk-position-center-horizontal {
  left: calc(50% - var(--uk-position-margin-offset));
  --uk-position-translate-x: -50%;
  transform: translate(var(--uk-position-translate-x), 0);
  /* 1 */
  width: -moz-max-content;
  width: max-content;
}

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

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

.uk-position-center-horizontal {
  top: 0;
  bottom: 0;
}

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

/* Margin
 ========================================================================== */
.uk-position-small {
  margin: 15px;
  --uk-position-margin-offset: 15px;
}

.uk-position-medium {
  margin: 30px;
  --uk-position-margin-offset: 30px;
}

.uk-position-large {
  margin: 30px;
  --uk-position-margin-offset: 30px;
}

/* Desktop and bigger */
@media (min-width: 1200px) {
  .uk-position-large {
    margin: 50px;
    --uk-position-margin-offset: 50px;
  }
}
/* Schemes
 ========================================================================== */
.uk-position-relative {
  position: relative !important;
}

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

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

.uk-position-sticky {
  position: sticky !important;
}

/* Layer
 ========================================================================== */
.uk-position-z-index {
  z-index: 1;
}

.uk-position-z-index-zero {
  z-index: 0;
}

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

.uk-position-z-index-high {
  z-index: 990;
}

/* ========================================================================
   Component: Transition
 ========================================================================== */
/* 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)
 */
:where(.uk-transition-fade),
:where([class*=uk-transition-scale]),
:where([class*=uk-transition-slide]) {
  --uk-position-translate-x: 0;
  --uk-position-translate-y: 0;
}

.uk-transition-fade,
[class*=uk-transition-scale],
[class*=uk-transition-slide] {
  --uk-translate-x: 0;
  --uk-translate-y: 0;
  --uk-scale-x: 1;
  --uk-scale-y: 1;
  transform: translate(var(--uk-position-translate-x), var(--uk-position-translate-y)) translate(var(--uk-translate-x), var(--uk-translate-y)) scale(var(--uk-scale-x), var(--uk-scale-y));
  transition: 0.3s ease-out;
  transition-property: opacity, transform, filter;
  opacity: 0;
}

/*
 * Fade
 */
.uk-transition-toggle:hover .uk-transition-fade,
.uk-transition-toggle:focus .uk-transition-fade,
.uk-transition-toggle:focus-within .uk-transition-fade,
.uk-transition-active.uk-active .uk-transition-fade {
  opacity: 1;
}

/*
 * Scale
 * 1. Make image rendering the same during the transition as before and after. Prefixed because of Safari.
 */
/* 1 */
[class*=uk-transition-scale] {
  -webkit-backface-visibility: hidden;
}

.uk-transition-scale-up {
  --uk-scale-x: 1;
  --uk-scale-y: 1;
}

.uk-transition-scale-down {
  --uk-scale-x: 1.03;
  --uk-scale-y: 1.03;
}

/* Show */
.uk-transition-toggle:hover .uk-transition-scale-up,
.uk-transition-toggle:focus .uk-transition-scale-up,
.uk-transition-toggle:focus-within .uk-transition-scale-up,
.uk-transition-active.uk-active .uk-transition-scale-up {
  --uk-scale-x: 1.03;
  --uk-scale-y: 1.03;
  opacity: 1;
}

.uk-transition-toggle:hover .uk-transition-scale-down,
.uk-transition-toggle:focus .uk-transition-scale-down,
.uk-transition-toggle:focus-within .uk-transition-scale-down,
.uk-transition-active.uk-active .uk-transition-scale-down {
  --uk-scale-x: 1;
  --uk-scale-y: 1;
  opacity: 1;
}

/*
 * Slide
 */
.uk-transition-slide-top {
  --uk-translate-y: -100%;
}

.uk-transition-slide-bottom {
  --uk-translate-y: 100%;
}

.uk-transition-slide-left {
  --uk-translate-x: -100%;
}

.uk-transition-slide-right {
  --uk-translate-x: 100%;
}

.uk-transition-slide-top-small {
  --uk-translate-y: calc(-1 * 10px);
}

.uk-transition-slide-bottom-small {
  --uk-translate-y: 10px;
}

.uk-transition-slide-left-small {
  --uk-translate-x: calc(-1 * 10px);
}

.uk-transition-slide-right-small {
  --uk-translate-x: 10px;
}

.uk-transition-slide-top-medium {
  --uk-translate-y: calc(-1 * 50px);
}

.uk-transition-slide-bottom-medium {
  --uk-translate-y: 50px;
}

.uk-transition-slide-left-medium {
  --uk-translate-x: calc(-1 * 50px);
}

.uk-transition-slide-right-medium {
  --uk-translate-x: 50px;
}

/* Show */
.uk-transition-toggle:hover [class*=uk-transition-slide],
.uk-transition-toggle:focus [class*=uk-transition-slide],
.uk-transition-toggle:focus-within [class*=uk-transition-slide],
.uk-transition-active.uk-active [class*=uk-transition-slide] {
  --uk-translate-x: 0;
  --uk-translate-y: 0;
  opacity: 1;
}

/* Opacity modifier
 ========================================================================== */
.uk-transition-opaque {
  opacity: 1;
}

/* Duration modifier
 ========================================================================== */
.uk-transition-slow {
  transition-duration: 0.7s;
}

/* Disable modifier
 ========================================================================== */
.uk-transition-disable,
.uk-transition-disable * {
  transition: none !important;
}

/* ========================================================================
   Component: Visibility
 ========================================================================== */
/*
 * Hidden
 * `hidden` attribute also set here to make it stronger
 */
[hidden],
.uk-hidden,
.uk-hidden-empty:empty {
  display: none !important;
}

/* Phone landscape and bigger */
@media (min-width: 320px) {
  .uk-hidden\@s {
    display: none !important;
  }
}
/* Tablet landscape and bigger */
@media (min-width: 768px) {
  .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: 1600px) {
  .uk-hidden\@xl {
    display: none !important;
  }
}
/*
 * Visible
 */
/* Phone portrait and smaller */
@media (max-width: 319px) {
  .uk-visible\@s {
    display: none !important;
  }
}
/* Phone landscape and smaller */
@media (max-width: 767px) {
  .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: 1599px) {
  .uk-visible\@xl {
    display: none !important;
  }
}
/* Visibility
 ========================================================================== */
.uk-invisible {
  visibility: hidden !important;
}

/* Based on the State of the Parent Element
 ========================================================================== */
/*
 * Mind that `display: none`, `visibility: hidden` and `opacity: 0`
 * remove the element from the accessibility tree and that
 * `display: none` and `visibility: hidden` are not focusable.
 *
 * The target stays visible if any element within receives focus through keyboard.
 */
/*
 * Remove space when hidden.
 * 1. Remove from document flow.
 * 2. Hide element and shrink its dimension. Current browsers and screen readers
 *    keep the element in the accessibility tree even with zero dimensions.
 *    Using `tabindex="-1"` will show the element on touch devices.
 *    Note: `clip-path` doesn't work with `tabindex` on touch devices.
 */
.uk-hidden-visually:not(:focus):not(:active):not(:focus-within),
.uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-visible):not(:has(:focus-visible)),
.uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within) {
  /* 1 */
  position: absolute !important;
  /* 2 */
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}

/*
 * Keep space when hidden.
 * Hide element without shrinking its dimension.
 * Note: `clip-path` doesn't work with hover for elements outside of the toggle box.
 */
.uk-visible-toggle:not(:hover):not(:focus) .uk-invisible-hover:not(:focus-within) {
  opacity: 0 !important;
}

/* Based on Hover Capability of the Pointing Device
 ========================================================================== */
/*
 * Hover
 */
/* Hide if primary pointing device doesn't support hover, e.g. touch screens. */
@media (hover: none) {
  .uk-hidden-touch {
    display: none !important;
  }
}
/* Hide if primary pointing device supports hover, e.g. mice. */
@media (hover) {
  .uk-hidden-notouch {
    display: none !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);
  /* Webkit */
  /* Firefox */
  /* Webkit */
  /* Firefox */
}
.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-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-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 !important;
}
.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,
.uk-light .uk-link-toggle:hover .uk-link,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link,
.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link,
.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link,
.uk-overlay-primary .uk-link-toggle:hover .uk-link,
.uk-offcanvas-bar .uk-link-toggle:hover .uk-link {
  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-color: 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,
.uk-light .uk-heading-3xlarge,
.uk-section-primary:not(.uk-preserve-color) .uk-heading-3xlarge,
.uk-section-secondary:not(.uk-preserve-color) .uk-heading-3xlarge,
.uk-tile-primary:not(.uk-preserve-color) .uk-heading-3xlarge,
.uk-tile-secondary:not(.uk-preserve-color) .uk-heading-3xlarge,
.uk-card-primary.uk-card-body .uk-heading-3xlarge,
.uk-card-primary > :not([class*=uk-card-media]) .uk-heading-3xlarge,
.uk-card-secondary.uk-card-body .uk-heading-3xlarge,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-heading-3xlarge,
.uk-overlay-primary .uk-heading-3xlarge,
.uk-offcanvas-bar .uk-heading-3xlarge {
  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 :focus-visible, .uk-section-primary:not(.uk-preserve-color) :focus-visible, .uk-section-secondary:not(.uk-preserve-color) :focus-visible, .uk-tile-primary:not(.uk-preserve-color) :focus-visible, .uk-tile-secondary:not(.uk-preserve-color) :focus-visible, .uk-card-primary.uk-card-body :focus-visible, .uk-card-primary > :not([class*=uk-card-media]) :focus-visible, .uk-card-secondary.uk-card-body :focus-visible, .uk-card-secondary > :not([class*=uk-card-media]) :focus-visible, .uk-overlay-primary :focus-visible, .uk-offcanvas-bar :focus-visible {
  outline-color: #fff;
}
.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 {
  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-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 {
  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 {
  background-color: rgb(242.25, 242.25, 242.25);
  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: rgb(229.5, 229.5, 229.5);
  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 {
  background-color: rgb(242.25, 242.25, 242.25);
  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: rgb(229.5, 229.5, 229.5);
  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 {
  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: #fff;
}
.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 {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light.uk-card-badge, .uk-card-badge.uk-section-primary:not(.uk-preserve-color), .uk-card-badge.uk-section-secondary:not(.uk-preserve-color), .uk-card-badge.uk-tile-primary:not(.uk-preserve-color), .uk-card-badge.uk-tile-secondary:not(.uk-preserve-color), .uk-card-badge.uk-card-primary.uk-card-body, .uk-card-primary > .uk-card-badge:not([class*=uk-card-media]), .uk-card-badge.uk-card-secondary.uk-card-body, .uk-card-secondary > .uk-card-badge:not([class*=uk-card-media]), .uk-card-badge.uk-overlay-primary, .uk-card-badge.uk-offcanvas-bar {
  background-color: #fff;
  color: #666;
}
.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 {
  color: rgba(255, 255, 255, 0.7);
}
.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 {
  -moz-column-rule-color: rgba(255, 255, 255, 0.2);
       column-rule-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-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 {
  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-range::-webkit-slider-runnable-track, .uk-section-primary:not(.uk-preserve-color) .uk-range::-webkit-slider-runnable-track, .uk-section-secondary:not(.uk-preserve-color) .uk-range::-webkit-slider-runnable-track, .uk-tile-primary:not(.uk-preserve-color) .uk-range::-webkit-slider-runnable-track, .uk-tile-secondary:not(.uk-preserve-color) .uk-range::-webkit-slider-runnable-track, .uk-card-primary.uk-card-body .uk-range::-webkit-slider-runnable-track, .uk-card-primary > :not([class*=uk-card-media]) .uk-range::-webkit-slider-runnable-track, .uk-card-secondary.uk-card-body .uk-range::-webkit-slider-runnable-track, .uk-card-secondary > :not([class*=uk-card-media]) .uk-range::-webkit-slider-runnable-track, .uk-overlay-primary .uk-range::-webkit-slider-runnable-track, .uk-offcanvas-bar .uk-range::-webkit-slider-runnable-track {
  background: rgba(242.25, 242.25, 242.25, 0.1);
}
.uk-light .uk-range:focus::-webkit-slider-runnable-track, .uk-section-primary:not(.uk-preserve-color) .uk-range:focus::-webkit-slider-runnable-track, .uk-section-secondary:not(.uk-preserve-color) .uk-range:focus::-webkit-slider-runnable-track, .uk-tile-primary:not(.uk-preserve-color) .uk-range:focus::-webkit-slider-runnable-track, .uk-tile-secondary:not(.uk-preserve-color) .uk-range:focus::-webkit-slider-runnable-track, .uk-card-primary.uk-card-body .uk-range:focus::-webkit-slider-runnable-track, .uk-card-primary > :not([class*=uk-card-media]) .uk-range:focus::-webkit-slider-runnable-track, .uk-card-secondary.uk-card-body .uk-range:focus::-webkit-slider-runnable-track, .uk-card-secondary > :not([class*=uk-card-media]) .uk-range:focus::-webkit-slider-runnable-track, .uk-overlay-primary .uk-range:focus::-webkit-slider-runnable-track, .uk-offcanvas-bar .uk-range:focus::-webkit-slider-runnable-track,
.uk-light .uk-range:active::-webkit-slider-runnable-track,
.uk-section-primary:not(.uk-preserve-color) .uk-range:active::-webkit-slider-runnable-track,
.uk-section-secondary:not(.uk-preserve-color) .uk-range:active::-webkit-slider-runnable-track,
.uk-tile-primary:not(.uk-preserve-color) .uk-range:active::-webkit-slider-runnable-track,
.uk-tile-secondary:not(.uk-preserve-color) .uk-range:active::-webkit-slider-runnable-track,
.uk-card-primary.uk-card-body .uk-range:active::-webkit-slider-runnable-track,
.uk-card-primary > :not([class*=uk-card-media]) .uk-range:active::-webkit-slider-runnable-track,
.uk-card-secondary.uk-card-body .uk-range:active::-webkit-slider-runnable-track,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-range:active::-webkit-slider-runnable-track,
.uk-overlay-primary .uk-range:active::-webkit-slider-runnable-track,
.uk-offcanvas-bar .uk-range:active::-webkit-slider-runnable-track {
  background: rgba(242.25, 242.25, 242.25, 0.15);
}
.uk-light .uk-range::-moz-range-track, .uk-section-primary:not(.uk-preserve-color) .uk-range::-moz-range-track, .uk-section-secondary:not(.uk-preserve-color) .uk-range::-moz-range-track, .uk-tile-primary:not(.uk-preserve-color) .uk-range::-moz-range-track, .uk-tile-secondary:not(.uk-preserve-color) .uk-range::-moz-range-track, .uk-card-primary.uk-card-body .uk-range::-moz-range-track, .uk-card-primary > :not([class*=uk-card-media]) .uk-range::-moz-range-track, .uk-card-secondary.uk-card-body .uk-range::-moz-range-track, .uk-card-secondary > :not([class*=uk-card-media]) .uk-range::-moz-range-track, .uk-overlay-primary .uk-range::-moz-range-track, .uk-offcanvas-bar .uk-range::-moz-range-track {
  background: rgba(242.25, 242.25, 242.25, 0.1);
}
.uk-light .uk-range:focus::-moz-range-track, .uk-section-primary:not(.uk-preserve-color) .uk-range:focus::-moz-range-track, .uk-section-secondary:not(.uk-preserve-color) .uk-range:focus::-moz-range-track, .uk-tile-primary:not(.uk-preserve-color) .uk-range:focus::-moz-range-track, .uk-tile-secondary:not(.uk-preserve-color) .uk-range:focus::-moz-range-track, .uk-card-primary.uk-card-body .uk-range:focus::-moz-range-track, .uk-card-primary > :not([class*=uk-card-media]) .uk-range:focus::-moz-range-track, .uk-card-secondary.uk-card-body .uk-range:focus::-moz-range-track, .uk-card-secondary > :not([class*=uk-card-media]) .uk-range:focus::-moz-range-track, .uk-overlay-primary .uk-range:focus::-moz-range-track, .uk-offcanvas-bar .uk-range:focus::-moz-range-track {
  background: rgba(242.25, 242.25, 242.25, 0.15);
}
.uk-light .uk-range::-webkit-slider-thumb, .uk-section-primary:not(.uk-preserve-color) .uk-range::-webkit-slider-thumb, .uk-section-secondary:not(.uk-preserve-color) .uk-range::-webkit-slider-thumb, .uk-tile-primary:not(.uk-preserve-color) .uk-range::-webkit-slider-thumb, .uk-tile-secondary:not(.uk-preserve-color) .uk-range::-webkit-slider-thumb, .uk-card-primary.uk-card-body .uk-range::-webkit-slider-thumb, .uk-card-primary > :not([class*=uk-card-media]) .uk-range::-webkit-slider-thumb, .uk-card-secondary.uk-card-body .uk-range::-webkit-slider-thumb, .uk-card-secondary > :not([class*=uk-card-media]) .uk-range::-webkit-slider-thumb, .uk-overlay-primary .uk-range::-webkit-slider-thumb, .uk-offcanvas-bar .uk-range::-webkit-slider-thumb {
  background: rgb(127.5, 127.5, 127.5);
  border-color: rgb(229.5, 229.5, 229.5);
}
.uk-light .uk-range::-moz-range-thumb, .uk-section-primary:not(.uk-preserve-color) .uk-range::-moz-range-thumb, .uk-section-secondary:not(.uk-preserve-color) .uk-range::-moz-range-thumb, .uk-tile-primary:not(.uk-preserve-color) .uk-range::-moz-range-thumb, .uk-tile-secondary:not(.uk-preserve-color) .uk-range::-moz-range-thumb, .uk-card-primary.uk-card-body .uk-range::-moz-range-thumb, .uk-card-primary > :not([class*=uk-card-media]) .uk-range::-moz-range-thumb, .uk-card-secondary.uk-card-body .uk-range::-moz-range-thumb, .uk-card-secondary > :not([class*=uk-card-media]) .uk-range::-moz-range-thumb, .uk-overlay-primary .uk-range::-moz-range-thumb, .uk-offcanvas-bar .uk-range::-moz-range-thumb {
  background: rgb(127.5, 127.5, 127.5);
  border-color: rgb(229.5, 229.5, 229.5);
}
.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.15);
  color: rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 255, 255, 0.7);
}
.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::-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(255, 255, 255, 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 {
  background-color: rgba(255, 255, 255, 0.15);
  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: #fff;
}
.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: white;
}
.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-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-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-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 {
  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 {
  background-color: rgba(255, 255, 255, 0.15);
  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(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.7);
}
.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 {
  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-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 a.uk-link-muted, .uk-section-primary:not(.uk-preserve-color) a.uk-link-muted, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted, .uk-card-primary.uk-card-body a.uk-link-muted, .uk-card-primary > :not([class*=uk-card-media]) a.uk-link-muted, .uk-card-secondary.uk-card-body a.uk-link-muted, .uk-card-secondary > :not([class*=uk-card-media]) a.uk-link-muted, .uk-overlay-primary a.uk-link-muted, .uk-offcanvas-bar a.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 a.uk-link-muted:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-card-primary.uk-card-body a.uk-link-muted:hover, .uk-card-primary > :not([class*=uk-card-media]) a.uk-link-muted:hover, .uk-card-secondary.uk-card-body a.uk-link-muted:hover, .uk-card-secondary > :not([class*=uk-card-media]) a.uk-link-muted:hover, .uk-overlay-primary a.uk-link-muted:hover, .uk-offcanvas-bar a.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,
.uk-light .uk-link-toggle:hover .uk-link-muted,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-muted,
.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-muted,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-muted,
.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-muted,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-muted,
.uk-overlay-primary .uk-link-toggle:hover .uk-link-muted,
.uk-offcanvas-bar .uk-link-toggle:hover .uk-link-muted {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light a.uk-link-text:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-card-primary.uk-card-body a.uk-link-text:hover, .uk-card-primary > :not([class*=uk-card-media]) a.uk-link-text:hover, .uk-card-secondary.uk-card-body a.uk-link-text:hover, .uk-card-secondary > :not([class*=uk-card-media]) a.uk-link-text:hover, .uk-overlay-primary a.uk-link-text:hover, .uk-offcanvas-bar a.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,
.uk-light .uk-link-toggle:hover .uk-link-text,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-text,
.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-text,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-text,
.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-text,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-text,
.uk-overlay-primary .uk-link-toggle:hover .uk-link-text,
.uk-offcanvas-bar .uk-link-toggle:hover .uk-link-text {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light a.uk-link-heading:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-card-primary.uk-card-body a.uk-link-heading:hover, .uk-card-primary > :not([class*=uk-card-media]) a.uk-link-heading:hover, .uk-card-secondary.uk-card-body a.uk-link-heading:hover, .uk-card-secondary > :not([class*=uk-card-media]) a.uk-link-heading:hover, .uk-overlay-primary a.uk-link-heading:hover, .uk-offcanvas-bar a.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,
.uk-light .uk-link-toggle:hover .uk-link-heading,
.uk-section-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,
.uk-section-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,
.uk-tile-primary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,
.uk-tile-secondary:not(.uk-preserve-color) .uk-link-toggle:hover .uk-link-heading,
.uk-card-primary.uk-card-body .uk-link-toggle:hover .uk-link-heading,
.uk-card-primary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-heading,
.uk-card-secondary.uk-card-body .uk-link-toggle:hover .uk-link-heading,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-link-toggle:hover .uk-link-heading,
.uk-overlay-primary .uk-link-toggle:hover .uk-link-heading,
.uk-offcanvas-bar .uk-link-toggle:hover .uk-link-heading {
  color: #fff;
}
.uk-light .uk-list-muted > ::marker, .uk-section-primary:not(.uk-preserve-color) .uk-list-muted > ::marker, .uk-section-secondary:not(.uk-preserve-color) .uk-list-muted > ::marker, .uk-tile-primary:not(.uk-preserve-color) .uk-list-muted > ::marker, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-muted > ::marker, .uk-card-primary.uk-card-body .uk-list-muted > ::marker, .uk-card-primary > :not([class*=uk-card-media]) .uk-list-muted > ::marker, .uk-card-secondary.uk-card-body .uk-list-muted > ::marker, .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-muted > ::marker, .uk-overlay-primary .uk-list-muted > ::marker, .uk-offcanvas-bar .uk-list-muted > ::marker {
  color: rgba(255, 255, 255, 0.5) !important;
}
.uk-light .uk-list-emphasis > ::marker, .uk-section-primary:not(.uk-preserve-color) .uk-list-emphasis > ::marker, .uk-section-secondary:not(.uk-preserve-color) .uk-list-emphasis > ::marker, .uk-tile-primary:not(.uk-preserve-color) .uk-list-emphasis > ::marker, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-emphasis > ::marker, .uk-card-primary.uk-card-body .uk-list-emphasis > ::marker, .uk-card-primary > :not([class*=uk-card-media]) .uk-list-emphasis > ::marker, .uk-card-secondary.uk-card-body .uk-list-emphasis > ::marker, .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-emphasis > ::marker, .uk-overlay-primary .uk-list-emphasis > ::marker, .uk-offcanvas-bar .uk-list-emphasis > ::marker {
  color: #fff !important;
}
.uk-light .uk-list-primary > ::marker, .uk-section-primary:not(.uk-preserve-color) .uk-list-primary > ::marker, .uk-section-secondary:not(.uk-preserve-color) .uk-list-primary > ::marker, .uk-tile-primary:not(.uk-preserve-color) .uk-list-primary > ::marker, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-primary > ::marker, .uk-card-primary.uk-card-body .uk-list-primary > ::marker, .uk-card-primary > :not([class*=uk-card-media]) .uk-list-primary > ::marker, .uk-card-secondary.uk-card-body .uk-list-primary > ::marker, .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-primary > ::marker, .uk-overlay-primary .uk-list-primary > ::marker, .uk-offcanvas-bar .uk-list-primary > ::marker {
  color: #fff !important;
}
.uk-light .uk-list-secondary > ::marker, .uk-section-primary:not(.uk-preserve-color) .uk-list-secondary > ::marker, .uk-section-secondary:not(.uk-preserve-color) .uk-list-secondary > ::marker, .uk-tile-primary:not(.uk-preserve-color) .uk-list-secondary > ::marker, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-secondary > ::marker, .uk-card-primary.uk-card-body .uk-list-secondary > ::marker, .uk-card-primary > :not([class*=uk-card-media]) .uk-list-secondary > ::marker, .uk-card-secondary.uk-card-body .uk-list-secondary > ::marker, .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-secondary > ::marker, .uk-overlay-primary .uk-list-secondary > ::marker, .uk-offcanvas-bar .uk-list-secondary > ::marker {
  color: #fff !important;
}
.uk-light .uk-list-bullet > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-bullet > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-bullet > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-bullet > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-bullet > ::before, .uk-card-primary.uk-card-body .uk-list-bullet > ::before, .uk-card-primary > :not([class*=uk-card-media]) .uk-list-bullet > ::before, .uk-card-secondary.uk-card-body .uk-list-bullet > ::before, .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-bullet > ::before, .uk-overlay-primary .uk-list-bullet > ::before, .uk-offcanvas-bar .uk-list-bullet > ::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-list-divider > :nth-child(n+2), .uk-section-primary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n+2), .uk-section-secondary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n+2), .uk-tile-primary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n+2), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-divider > :nth-child(n+2), .uk-card-primary.uk-card-body .uk-list-divider > :nth-child(n+2), .uk-card-primary > :not([class*=uk-card-media]) .uk-list-divider > :nth-child(n+2), .uk-card-secondary.uk-card-body .uk-list-divider > :nth-child(n+2), .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-divider > :nth-child(n+2), .uk-overlay-primary .uk-list-divider > :nth-child(n+2), .uk-offcanvas-bar .uk-list-divider > :nth-child(n+2) {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-list-striped > *:nth-of-type(odd), .uk-section-primary:not(.uk-preserve-color) .uk-list-striped > *:nth-of-type(odd), .uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > *:nth-of-type(odd), .uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > *:nth-of-type(odd), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > *:nth-of-type(odd), .uk-card-primary.uk-card-body .uk-list-striped > *:nth-of-type(odd), .uk-card-primary > :not([class*=uk-card-media]) .uk-list-striped > *:nth-of-type(odd), .uk-card-secondary.uk-card-body .uk-list-striped > *:nth-of-type(odd), .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-striped > *:nth-of-type(odd), .uk-overlay-primary .uk-list-striped > *:nth-of-type(odd), .uk-offcanvas-bar .uk-list-striped > *: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 > :nth-of-type(odd), .uk-section-primary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd), .uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd), .uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > :nth-of-type(odd), .uk-card-primary.uk-card-body .uk-list-striped > :nth-of-type(odd), .uk-card-primary > :not([class*=uk-card-media]) .uk-list-striped > :nth-of-type(odd), .uk-card-secondary.uk-card-body .uk-list-striped > :nth-of-type(odd), .uk-card-secondary > :not([class*=uk-card-media]) .uk-list-striped > :nth-of-type(odd), .uk-overlay-primary .uk-list-striped > :nth-of-type(odd), .uk-offcanvas-bar .uk-list-striped > :nth-of-type(odd) {
  background-color: rgba(255, 255, 255, 0.1);
}
.uk-light .uk-marker, .uk-section-primary:not(.uk-preserve-color) .uk-marker, .uk-section-secondary:not(.uk-preserve-color) .uk-marker, .uk-tile-primary:not(.uk-preserve-color) .uk-marker, .uk-tile-secondary:not(.uk-preserve-color) .uk-marker, .uk-card-primary.uk-card-body .uk-marker, .uk-card-primary > :not([class*=uk-card-media]) .uk-marker, .uk-card-secondary.uk-card-body .uk-marker, .uk-card-secondary > :not([class*=uk-card-media]) .uk-marker, .uk-overlay-primary .uk-marker, .uk-offcanvas-bar .uk-marker {
  background: #f8f8f8;
  color: #666;
}
.uk-light .uk-marker:hover, .uk-section-primary:not(.uk-preserve-color) .uk-marker:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-marker:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-marker:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-marker:hover, .uk-card-primary.uk-card-body .uk-marker:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-marker:hover, .uk-card-secondary.uk-card-body .uk-marker:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-marker:hover, .uk-overlay-primary .uk-marker:hover, .uk-offcanvas-bar .uk-marker:hover {
  color: #666;
}
.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 {
  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 {
  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 {
  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 {
  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-nav-secondary > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary > li > a, .uk-card-primary.uk-card-body .uk-nav-secondary > li > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-secondary > li > a, .uk-card-secondary.uk-card-body .uk-nav-secondary > li > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-secondary > li > a, .uk-overlay-primary .uk-nav-secondary > li > a, .uk-offcanvas-bar .uk-nav-secondary > li > a {
  color: #fff;
}
.uk-light .uk-nav-secondary > li > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary > li > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary > li > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary > li > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary > li > a:hover, .uk-card-primary.uk-card-body .uk-nav-secondary > li > a:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-secondary > li > a:hover, .uk-card-secondary.uk-card-body .uk-nav-secondary > li > a:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-secondary > li > a:hover, .uk-overlay-primary .uk-nav-secondary > li > a:hover, .uk-offcanvas-bar .uk-nav-secondary > li > a:hover {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
}
.uk-light .uk-nav-secondary > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary > li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-secondary > li.uk-active > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-secondary > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-secondary > li.uk-active > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-secondary > li.uk-active > a, .uk-overlay-primary .uk-nav-secondary > li.uk-active > a, .uk-offcanvas-bar .uk-nav-secondary > li.uk-active > a {
  color: #fff;
  background-color: rgba(255, 255, 255, 0.1);
}
.uk-light .uk-nav-secondary .uk-nav-subtitle, .uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-subtitle, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-subtitle, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-subtitle, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-subtitle, .uk-card-primary.uk-card-body .uk-nav-secondary .uk-nav-subtitle, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-subtitle, .uk-card-secondary.uk-card-body .uk-nav-secondary .uk-nav-subtitle, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-subtitle, .uk-overlay-primary .uk-nav-secondary .uk-nav-subtitle, .uk-offcanvas-bar .uk-nav-secondary .uk-nav-subtitle {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-nav-secondary > li > a:hover .uk-nav-subtitle, .uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary > li > a:hover .uk-nav-subtitle, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary > li > a:hover .uk-nav-subtitle, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary > li > a:hover .uk-nav-subtitle, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary > li > a:hover .uk-nav-subtitle, .uk-card-primary.uk-card-body .uk-nav-secondary > li > a:hover .uk-nav-subtitle, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-secondary > li > a:hover .uk-nav-subtitle, .uk-card-secondary.uk-card-body .uk-nav-secondary > li > a:hover .uk-nav-subtitle, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-secondary > li > a:hover .uk-nav-subtitle, .uk-overlay-primary .uk-nav-secondary > li > a:hover .uk-nav-subtitle, .uk-offcanvas-bar .uk-nav-secondary > li > a:hover .uk-nav-subtitle {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-nav-secondary > li.uk-active > a .uk-nav-subtitle, .uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary > li.uk-active > a .uk-nav-subtitle, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary > li.uk-active > a .uk-nav-subtitle, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary > li.uk-active > a .uk-nav-subtitle, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary > li.uk-active > a .uk-nav-subtitle, .uk-card-primary.uk-card-body .uk-nav-secondary > li.uk-active > a .uk-nav-subtitle, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-secondary > li.uk-active > a .uk-nav-subtitle, .uk-card-secondary.uk-card-body .uk-nav-secondary > li.uk-active > a .uk-nav-subtitle, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-secondary > li.uk-active > a .uk-nav-subtitle, .uk-overlay-primary .uk-nav-secondary > li.uk-active > a .uk-nav-subtitle, .uk-offcanvas-bar .uk-nav-secondary > li.uk-active > a .uk-nav-subtitle {
  color: #fff;
}
.uk-light .uk-nav-secondary .uk-nav-header, .uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-header, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-header, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-header, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-header, .uk-card-primary.uk-card-body .uk-nav-secondary .uk-nav-header, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-header, .uk-card-secondary.uk-card-body .uk-nav-secondary .uk-nav-header, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-header, .uk-overlay-primary .uk-nav-secondary .uk-nav-header, .uk-offcanvas-bar .uk-nav-secondary .uk-nav-header {
  color: #fff;
}
.uk-light .uk-nav-secondary .uk-nav-divider, .uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-divider, .uk-card-primary.uk-card-body .uk-nav-secondary .uk-nav-divider, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-divider, .uk-card-secondary.uk-card-body .uk-nav-secondary .uk-nav-divider, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-divider, .uk-overlay-primary .uk-nav-secondary .uk-nav-divider, .uk-offcanvas-bar .uk-nav-secondary .uk-nav-divider {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-nav-secondary .uk-nav-sub a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a, .uk-card-primary.uk-card-body .uk-nav-secondary .uk-nav-sub a, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-sub a, .uk-card-secondary.uk-card-body .uk-nav-secondary .uk-nav-sub a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-sub a, .uk-overlay-primary .uk-nav-secondary .uk-nav-sub a, .uk-offcanvas-bar .uk-nav-secondary .uk-nav-sub a {
  color: rgba(255, 255, 255, 0.5);
}
.uk-light .uk-nav-secondary .uk-nav-sub a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub a:hover, .uk-card-primary.uk-card-body .uk-nav-secondary .uk-nav-sub a:hover, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-sub a:hover, .uk-card-secondary.uk-card-body .uk-nav-secondary .uk-nav-sub a:hover, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-sub a:hover, .uk-overlay-primary .uk-nav-secondary .uk-nav-sub a:hover, .uk-offcanvas-bar .uk-nav-secondary .uk-nav-sub a:hover {
  color: rgba(255, 255, 255, 0.7);
}
.uk-light .uk-nav-secondary .uk-nav-sub li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-secondary .uk-nav-sub li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-secondary .uk-nav-sub li.uk-active > a, .uk-card-primary > :not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-sub li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-secondary .uk-nav-sub li.uk-active > a, .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav-secondary .uk-nav-sub li.uk-active > a, .uk-overlay-primary .uk-nav-secondary .uk-nav-sub li.uk-active > a, .uk-offcanvas-bar .uk-nav-secondary .uk-nav-sub li.uk-active > a {
  color: #fff;
}
.uk-light .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider), .uk-section-primary:not(.uk-preserve-color) .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider), .uk-section-secondary:not(.uk-preserve-color) .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider), .uk-tile-primary:not(.uk-preserve-color) .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider), .uk-tile-secondary:not(.uk-preserve-color) .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider), .uk-card-primary.uk-card-body .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider), .uk-card-primary > :not([class*=uk-card-media]) .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider), .uk-card-secondary.uk-card-body .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider), .uk-card-secondary > :not([class*=uk-card-media]) .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider), .uk-overlay-primary .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider), .uk-offcanvas-bar .uk-nav.uk-nav-divider > :not(.uk-nav-divider) + :not(.uk-nav-header, .uk-nav-divider) {
  border-top-color: rgba(255, 255, 255, 0.2);
}
.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[aria-expanded=true],
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a[aria-expanded=true],
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a[aria-expanded=true],
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a[aria-expanded=true],
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a[aria-expanded=true],
.uk-card-primary.uk-card-body .uk-navbar-nav > li > a[aria-expanded=true],
.uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a[aria-expanded=true],
.uk-card-secondary.uk-card-body .uk-navbar-nav > li > a[aria-expanded=true],
.uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-nav > li > a[aria-expanded=true],
.uk-overlay-primary .uk-navbar-nav > li > a[aria-expanded=true],
.uk-offcanvas-bar .uk-navbar-nav > li > a[aria-expanded=true] {
  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[aria-expanded=true],
.uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle[aria-expanded=true],
.uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle[aria-expanded=true],
.uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle[aria-expanded=true],
.uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle[aria-expanded=true],
.uk-card-primary.uk-card-body .uk-navbar-toggle[aria-expanded=true],
.uk-card-primary > :not([class*=uk-card-media]) .uk-navbar-toggle[aria-expanded=true],
.uk-card-secondary.uk-card-body .uk-navbar-toggle[aria-expanded=true],
.uk-card-secondary > :not([class*=uk-card-media]) .uk-navbar-toggle[aria-expanded=true],
.uk-overlay-primary .uk-navbar-toggle[aria-expanded=true],
.uk-offcanvas-bar .uk-navbar-toggle[aria-expanded=true] {
  color: rgba(255, 255, 255, 0.7);
}
.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 {
  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-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::-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::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: rgba(0, 0, 0, 0.05);
}
.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;
  border-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-search-navbar .uk-search-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input:focus, .uk-card-primary.uk-card-body .uk-search-navbar .uk-search-input:focus, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-navbar .uk-search-input:focus, .uk-card-secondary.uk-card-body .uk-search-navbar .uk-search-input:focus, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-navbar .uk-search-input:focus, .uk-overlay-primary .uk-search-navbar .uk-search-input:focus, .uk-offcanvas-bar .uk-search-navbar .uk-search-input:focus {
  background-color: rgba(0, 0, 0, 0.05);
}
.uk-light .uk-search-medium .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-medium .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-medium .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-medium .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-medium .uk-search-input, .uk-card-primary.uk-card-body .uk-search-medium .uk-search-input, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-medium .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-medium .uk-search-input, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-medium .uk-search-input, .uk-overlay-primary .uk-search-medium .uk-search-input, .uk-offcanvas-bar .uk-search-medium .uk-search-input {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-search-medium .uk-search-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-search-medium .uk-search-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-search-medium .uk-search-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-search-medium .uk-search-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-medium .uk-search-input:focus, .uk-card-primary.uk-card-body .uk-search-medium .uk-search-input:focus, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-medium .uk-search-input:focus, .uk-card-secondary.uk-card-body .uk-search-medium .uk-search-input:focus, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-medium .uk-search-input:focus, .uk-overlay-primary .uk-search-medium .uk-search-input:focus, .uk-offcanvas-bar .uk-search-medium .uk-search-input:focus {
  background-color: rgba(0, 0, 0, 0.05);
}
.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;
  border-color: rgba(255, 255, 255, 0.2);
}
.uk-light .uk-search-large .uk-search-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input:focus, .uk-card-primary.uk-card-body .uk-search-large .uk-search-input:focus, .uk-card-primary > :not([class*=uk-card-media]) .uk-search-large .uk-search-input:focus, .uk-card-secondary.uk-card-body .uk-search-large .uk-search-input:focus, .uk-card-secondary > :not([class*=uk-card-media]) .uk-search-large .uk-search-input:focus, .uk-overlay-primary .uk-search-large .uk-search-input:focus, .uk-offcanvas-bar .uk-search-large .uk-search-input:focus {
  background-color: rgba(0, 0, 0, 0.05);
}
.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 {
  color: rgba(255, 255, 255, 0.7);
}
.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 {
  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-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 {
  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 {
  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-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 {
  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-table-striped > tr:nth-of-type(even):last-child, .uk-section-primary:not(.uk-preserve-color) .uk-table-striped > tr:nth-of-type(even):last-child, .uk-section-secondary:not(.uk-preserve-color) .uk-table-striped > tr:nth-of-type(even):last-child, .uk-tile-primary:not(.uk-preserve-color) .uk-table-striped > tr:nth-of-type(even):last-child, .uk-tile-secondary:not(.uk-preserve-color) .uk-table-striped > tr:nth-of-type(even):last-child, .uk-card-primary.uk-card-body .uk-table-striped > tr:nth-of-type(even):last-child, .uk-card-primary > :not([class*=uk-card-media]) .uk-table-striped > tr:nth-of-type(even):last-child, .uk-card-secondary.uk-card-body .uk-table-striped > tr:nth-of-type(even):last-child, .uk-card-secondary > :not([class*=uk-card-media]) .uk-table-striped > tr:nth-of-type(even):last-child, .uk-overlay-primary .uk-table-striped > tr:nth-of-type(even):last-child, .uk-offcanvas-bar .uk-table-striped > tr:nth-of-type(even):last-child,
.uk-light .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-section-primary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-section-secondary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-tile-primary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-tile-secondary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-card-primary.uk-card-body .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-card-primary > :not([class*=uk-card-media]) .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-card-secondary.uk-card-body .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-overlay-primary .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-offcanvas-bar .uk-table-striped tbody tr:nth-of-type(even):last-child {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
.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-thumbnav > * > *::after, .uk-section-primary:not(.uk-preserve-color) .uk-thumbnav > * > *::after, .uk-section-secondary:not(.uk-preserve-color) .uk-thumbnav > * > *::after, .uk-tile-primary:not(.uk-preserve-color) .uk-thumbnav > * > *::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-thumbnav > * > *::after, .uk-card-primary.uk-card-body .uk-thumbnav > * > *::after, .uk-card-primary > :not([class*=uk-card-media]) .uk-thumbnav > * > *::after, .uk-card-secondary.uk-card-body .uk-thumbnav > * > *::after, .uk-card-secondary > :not([class*=uk-card-media]) .uk-thumbnav > * > *::after, .uk-overlay-primary .uk-thumbnav > * > *::after, .uk-offcanvas-bar .uk-thumbnav > * > *::after {
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.4));
}
.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 {
  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-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: #fff;
}
.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 {
  color: #fff;
}
.uk-light .uk-logo:has(.uk-logo-inverse) > :not(picture:has(.uk-logo-inverse)):not(.uk-logo-inverse), .uk-section-primary:not(.uk-preserve-color) .uk-logo:has(.uk-logo-inverse) > :not(picture:has(.uk-logo-inverse)):not(.uk-logo-inverse), .uk-section-secondary:not(.uk-preserve-color) .uk-logo:has(.uk-logo-inverse) > :not(picture:has(.uk-logo-inverse)):not(.uk-logo-inverse), .uk-tile-primary:not(.uk-preserve-color) .uk-logo:has(.uk-logo-inverse) > :not(picture:has(.uk-logo-inverse)):not(.uk-logo-inverse), .uk-tile-secondary:not(.uk-preserve-color) .uk-logo:has(.uk-logo-inverse) > :not(picture:has(.uk-logo-inverse)):not(.uk-logo-inverse), .uk-card-primary.uk-card-body .uk-logo:has(.uk-logo-inverse) > :not(picture:has(.uk-logo-inverse)):not(.uk-logo-inverse), .uk-card-primary > :not([class*=uk-card-media]) .uk-logo:has(.uk-logo-inverse) > :not(picture:has(.uk-logo-inverse)):not(.uk-logo-inverse), .uk-card-secondary.uk-card-body .uk-logo:has(.uk-logo-inverse) > :not(picture:has(.uk-logo-inverse)):not(.uk-logo-inverse), .uk-card-secondary > :not([class*=uk-card-media]) .uk-logo:has(.uk-logo-inverse) > :not(picture:has(.uk-logo-inverse)):not(.uk-logo-inverse), .uk-overlay-primary .uk-logo:has(.uk-logo-inverse) > :not(picture:has(.uk-logo-inverse)):not(.uk-logo-inverse), .uk-offcanvas-bar .uk-logo:has(.uk-logo-inverse) > :not(picture:has(.uk-logo-inverse)):not(.uk-logo-inverse) {
  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: block;
}
.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-table-striped > tr:nth-of-type(even):last-child, .uk-section-primary:not(.uk-preserve-color) .uk-table-striped > tr:nth-of-type(even):last-child, .uk-section-secondary:not(.uk-preserve-color) .uk-table-striped > tr:nth-of-type(even):last-child, .uk-tile-primary:not(.uk-preserve-color) .uk-table-striped > tr:nth-of-type(even):last-child, .uk-tile-secondary:not(.uk-preserve-color) .uk-table-striped > tr:nth-of-type(even):last-child, .uk-card-primary.uk-card-body .uk-table-striped > tr:nth-of-type(even):last-child, .uk-card-primary > :not([class*=uk-card-media]) .uk-table-striped > tr:nth-of-type(even):last-child, .uk-card-secondary.uk-card-body .uk-table-striped > tr:nth-of-type(even):last-child, .uk-card-secondary > :not([class*=uk-card-media]) .uk-table-striped > tr:nth-of-type(even):last-child, .uk-overlay-primary .uk-table-striped > tr:nth-of-type(even):last-child, .uk-offcanvas-bar .uk-table-striped > tr:nth-of-type(even):last-child,
.uk-light .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-section-primary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-section-secondary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-tile-primary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-tile-secondary:not(.uk-preserve-color) .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-card-primary.uk-card-body .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-card-primary > :not([class*=uk-card-media]) .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-card-secondary.uk-card-body .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-card-secondary > :not([class*=uk-card-media]) .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-overlay-primary .uk-table-striped tbody tr:nth-of-type(even):last-child,
.uk-offcanvas-bar .uk-table-striped tbody tr:nth-of-type(even):last-child {
  border-bottom-color: rgba(255, 255, 255, 0.2);
}

/*
 * Pass dropbar behind color to JS
 */
* {
  --uk-inverse: initial;
}

.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 {
  --uk-inverse: light;
}

.uk-dark, .uk-section-default:not(.uk-preserve-color), .uk-section-muted:not(.uk-preserve-color), .uk-tile-default:not(.uk-preserve-color), .uk-tile-muted:not(.uk-preserve-color), .uk-card-default.uk-card-body, .uk-card-default > :not([class*=uk-card-media]), .uk-overlay-default, .uk-dropbar, .uk-navbar-container:not(.uk-navbar-transparent), .uk-navbar-dropdown, .uk-dropdown {
  --uk-inverse: dark;
}

.uk-inverse-light {
  --uk-inverse: light !important;
}

.uk-inverse-dark {
  --uk-inverse: dark !important;
}

/* ========================================================================
   Component: Print
 ========================================================================== */
@media print {
  *,
  *::before,
  *::after {
    background: transparent !important;
    color: black !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;
  }
}
#page-wrapper {
  animation-duration: 1.2s;
  animation-delay: 0.9s;
  animation-name: pageFadeIn;
  animation-fill-mode: both;
}

#page-wrapper.unload {
  animation-duration: 1s;
  animation-delay: 0s;
  animation-name: pageFadeOut;
  animation-fill-mode: both;
}

#loader {
  animation-duration: 1s;
  animation-name: animateLoader;
  animation-fill-mode: both;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: #fff;
  transition: all 600ms;
  opacity: 0;
}

#loader.unloadpage {
  animation-name: animateLoaderOff;
  animation-duration: 300ms;
}

#loader img {
  position: absolute;
  top: calc(50% - 72px);
  left: calc(50% - 71.5px);
  max-width: 140px;
  max-height: 140px;
}

@keyframes animateLoader {
  0% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes animateLoaderOff {
  0% {
    visibility: visible;
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes pageFadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes pageFadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
* {
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

html, body {
  font-family: "Rubik", sans-serif, arial;
  font-weight: 300;
  font-size: 17px;
  line-height: 28px;
  color: #333333;
  overflow-x: hidden;
}

h1, h2, h3, h5 {
  font-family: "Merriweather", serif;
  font-weight: normal;
}

h1 {
  font-size: 65px;
  line-height: 65px;
  color: #333333;
}

h2 {
  font-size: 40px;
  line-height: 45px;
  margin-top: 0px;
  color: #333333;
}

h4 {
  font-family: "Rubik", sans-serif, arial;
  font-size: 17px;
  line-height: 28px;
  color: #CCCE00;
  margin-bottom: 7px;
}

a, .uk-link {
  color: #CCCE00;
  text-decoration: none;
  outline: none;
  transition: all ease 0.2s;
  -webkit-transition: all ease 0.2s;
}

a:hover, .uk-link:hover {
  text-decoration: underline;
  color: #333;
  transition: all ease 0.2s;
  -webkit-transition: all ease 0.2s;
}

b, strong {
  font-family: "Rubik", sans-serif, arial;
  font-weight: 700;
  color: #333333;
}

em {
  color: #333333;
}

button, input, textarea {
  outline: none;
}

.header_svg {
  width: calc(100% + 1px);
  margin-left: -1px;
  height: 37vw;
  vertical-align: top;
}

.header_svg image {
  visibility: visible;
}

.home_header {
  position: relative;
}

.home_header .header_text {
  position: absolute;
  width: 100%;
  top: 30%;
  left: 0;
}

.home_header h1 {
  color: #fff;
  font-size: 60px;
  text-align: center;
  max-width: 700px;
  width: 100%;
  margin: 0 auto;
  text-shadow: 1px 1px 10px rgba(0, 0, 0, 0.7);
}

.page_element {
  background: url(/assets/images/beeldmerk.svg) left top 150px no-repeat;
  position: relative;
  z-index: 1;
}

.branches_holder {
  max-width: 1366px;
  margin: -30px auto 100px;
  padding: 0 20px;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
}

.branches_bg {
  background: url("/assets/images/beeldmerk.svg") left center no-repeat;
  position: relative;
  z-index: 1;
}

.branches_holder .branches_intro {
  max-width: 650px;
}

.branches_holder .branches_intro h2 {
  max-width: 650px;
  line-height: normal;
}

.branches_holder h4 {
  font-family: "Rubik", sans-serif, arial;
  font-size: 17px;
  line-height: 28px;
  color: #CCCE00;
  text-transform: none;
  margin-bottom: 15px;
}

.branche_grid {
  margin-top: 50px;
  text-align: center;
}

.branche_grid .branche {
  cursor: pointer;
}

.branche_grid .branche h3 {
  margin-bottom: 5px;
}

.branche_grid .image_holder {
  padding: 28% 0;
  background: #fff;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.25);
  transition: all 300ms;
}

.branche_grid .branche:hover .image_holder {
  background-color: #CCCE00;
}

.branche_grid .image_holder svg {
  height: 103px;
  width: auto;
}

.branche_grid .image_holder svg *[fill="#333333"],
.branche_grid .image_holder svg *[stroke="#333333"] {
  transition: all 300ms;
}

.branche_grid .image_holder svg g {
  stroke-width: 1.9;
}

.branche_grid .branche:hover .image_holder svg *[fill="#333333"] {
  fill: #fff;
}

.branche_grid .branche:hover .image_holder svg *[stroke="#333333"] {
  stroke: #fff;
}

.branche_grid .branche a {
  opacity: 0;
  transition: all 300ms;
}

.branche_grid .branche:hover a {
  opacity: 1;
}

.over_ons {
  padding-top: 100px;
  position: relative;
}

.over_ons.contactpage {
  margin-top: 160px;
}

.over_ons .bg_over_ons {
  position: absolute;
  top: 0;
  right: 0;
  width: calc(50% + 663px);
  height: 85%;
  background-color: #f2f2f2;
  z-index: 1;
}

.over_ons .over_ons_grid {
  position: relative;
  z-index: 2;
}

.over_ons .text_block {
  padding: calc(10% - 20px) 10% 10%;
  max-width: 750px;
  box-sizing: border-box;
  background-color: #fff;
  margin-left: calc(-10% - 15px);
  margin-top: 70px;
  position: relative;
  box-shadow: 1px 1px 15px rgba(0, 0, 0, 0.2);
}

.over_ons .text_block h2 {
  color: #ccc;
  position: absolute;
  bottom: 100%;
  right: 0;
  display: inline-block;
  margin-bottom: 50px;
}

.over_ons .left_column img {
  width: 100%;
}

.over_ons p.contact_icons {
  line-height: 43px;
}

.over_ons p.contact_icons span {
  width: 35px;
  display: inline-block;
}

.over_ons .text_block h3 {
  margin: 0;
}

.over_ons .text_block b,
.over_ons .text_block strong {
  font-weight: 500;
}

.maps_gegevens #map {
  height: 500px;
  max-width: 1400px;
  margin: 50px auto 30px;
  padding: 0 20px;
  box-sizing: border-box;
  display: block;
}

/* project detail */
.kenmerken_project p {
  margin: 0;
}

.over_ons .text_block .sfeerimpressies {
  margin-top: 40px;
}

.footer {
  max-width: 1366px;
  margin: 0px auto;
  padding: 50px 20px;
  box-sizing: border-box;
}

.footer strong {
  font-weight: 400;
}

.footer .footer_icon {
  display: inline-block;
  min-width: 30px;
  text-align: center;
  margin-right: 10px;
}

.footer ul {
  list-style: none;
  padding: 55px 0 0;
}

.footer ul li {
  margin-bottom: 10px;
}

.footer a {
  font-weight: 400;
  margin-bottom: 20px;
}

.footer a.footer_adres {
  color: #333;
  font-weight: 300;
}

.footer .last_column {
  text-align: right;
}

.footer .last_column .social {
  text-align: center;
  display: inline-block;
}

.footer .last_column .social .hofleverancier {
  margin-bottom: 30px;
  max-width: 150px;
}

/* landingspagina */
.landing_content {
  max-width: 1366px;
  margin: 80px auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.landing_content.top {
  margin: 80px auto 50px;
}

.introtext {
  margin: 10px auto;
}

.landing_content h1 {
  margin: 0;
  padding: 0;
  line-height: normal;
  font-weight: 400;
  color: #CCCE00;
  font-family: "Rubik", sans-serif, arial;
  font-size: 18px;
}

.landing_content h2 {
  margin: 0 auto;
  padding: 0;
  line-height: normal;
  font-size: 50px;
  max-width: 700px;
  line-height: normal;
}

.landing_content .landing_intro {
  max-width: 810px;
  margin: 0 auto 0px;
  text-align: center;
}

.laatste_projecten_holder {
  background-color: #f2f2f2;
  position: relative;
}

.laatste_projecten_holder .bg_projecten {
  position: absolute;
  height: 348px;
  width: 100%;
  left: 0;
  top: 0;
  background-color: #fff;
  z-index: 1;
}

.laatste_projecten {
  max-width: 1366px;
  margin: 100px auto 0;
  padding: 0 20px;
  box-sizing: border-box;
  position: relative;
  z-index: 2;
}

.laatste_projecten .projecten_intro {
  text-align: center;
  margin-bottom: 40px;
}

.laatste_projecten h3 {
  margin: 0 0 5px;
}

.laatste_projecten h4 {
  text-transform: none;
  color: #CCCE00;
  margin: 0 0 5px;
  font-family: "Rubik", sans-serif, arial;
  font-weight: 400;
  font-size: 18px;
}

.laatste_projecten p {
  margin: 0;
}

.laatste_projecten .project_intro {
  padding: 30px 20px;
  box-sizing: border-box;
}

.laatste_projecten .project_intro .button {
  margin-top: 15px;
}

.certificaten_holder {
  background-color: #f2f2f2;
  padding: 100px 0;
}

.certificaten {
  max-width: 1366px;
  margin: 0px auto;
  padding: 0 20px;
  box-sizing: border-box;
  width: 100%;
  text-align: center;
}

.certificaten .certificatenLink {
  cursor: pointer;
}

.certificaten img {
  max-height: 95px;
  margin: 7px 5px;
}

.cta_holder {
  background-color: #333;
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
  padding: 40px 0 60px;
}

.cta {
  max-width: 1366px;
  margin: 0px auto;
  padding: 0 20px;
  box-sizing: border-box;
  width: 100%;
}

.cta h3 {
  color: #fff;
  margin: 0;
  max-width: 650px;
  display: inline-block;
}

.cta a.lees_meer {
  float: right;
  color: #fff;
  padding-right: 33px;
  background-image: url(/assets/images/cta_arrow.svg);
  background-repeat: no-repeat;
  background-position: right 5px center;
}

.cta a.lees_meer:hover {
  background-position: right 0px center;
}

.projecten_holder {
  margin-top: 100px;
}

.projecten {
  max-width: 1366px;
  margin: 0px auto 100px;
  padding: 0 20px;
  box-sizing: border-box;
  width: 100%;
}

.projecten .project {
  background-color: #f2f2f2;
  position: relative;
  margin-bottom: 50px;
}

.projecten .project h4 {
  font-family: "Merriweather", serif;
  font-size: 18px;
  margin-top: 5px;
  margin-bottom: 0;
}

.projecten .project p {
  margin-top: 10px;
  font-size: 16px;
}

.projecten .project .project_title {
  padding: 20px 20px 50px;
  box-sizing: border-box;
  font-size: 20px;
}

.projecten .project .button {
  position: absolute;
  bottom: -25px;
  right: 0;
}

.projecten .project img {
  width: 100%;
}

.projecten form {
  margin: 0;
  margin-bottom: 35px;
  display: none;
}

.projecten form span {
  color: #333;
  font-size: 17px;
  position: relative;
  padding-right: 50px;
  margin-right: 25px;
}

.projecten form span:after {
  content: "";
  height: 2px;
  width: 30px;
  position: absolute;
  background: #333;
  right: 0;
  top: calc(50% - 2px);
}

.projecten form a {
  background: #CCCE00;
  padding: 9px 22px;
  color: #fff;
  font-size: 17px;
  margin: 0 1px 7px;
  text-decoration: none;
  transition: all ease 0.2s;
  display: inline-block;
}

.projecten form a:hover {
  background: #333;
  text-decoration: none;
  transition: all ease 0.2s;
}

.terug {
  text-align: right;
  transform: translateY(-30px);
}

.terug a:hover {
  color: #CCCE00;
}

.terug a img {
  transform: rotate(180deg);
  margin-right: 10px;
  margin-top: -2px;
  transition: all 300ms;
}

.terug a:hover img {
  margin-right: 15px;
}

.social .uk-icon-button,
.social .uk-icon-button:hover {
  width: 47px;
  height: 47px;
  border-radius: 0;
  background: #CCCE00;
  padding: 8px;
  color: #fff;
  vertical-align: top;
}

.formulierContainer {
  max-width: 1240px;
  padding: 0 20px;
  margin: 0 auto 50px;
  box-sizing: border-box;
}

.formulierContainer input, .formulierContainer textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #CCCE00;
  font-family: "Rubik", sans-serif, arial;
  font-size: 16px;
}

.formulierContainer input {
  height: 50px;
  padding: 0 20px;
}

.formulierContainer textarea {
  padding: 20px;
}

.formulierContainer .button {
  padding: 13px 75px 13px 30px;
  margin-top: 5px;
  border: none;
  background: #333 url("/assets/images/button_bg.svg") right no-repeat;
  color: #fff;
  cursor: pointer;
  min-width: 200px;
  font-weight: 400;
  transition: all 300ms;
  font-size: 17px;
  text-decoration: none;
  display: inline-block;
  text-align: left;
  box-sizing: border-box;
  position: relative;
  height: 55px;
  font-family: "Rubik", sans-serif, arial;
}

.formulierContainer .button:after {
  position: absolute;
  right: 20px;
  top: calc(50% - 9px);
  content: "";
  height: 20px;
  width: 14px;
  background: url(/assets/images/button_arrow.svg) right center no-repeat;
  transition: all ease 0.3s;
}

.formulierContainer .button:hover {
  background: #000 url("/assets/images/button_bg.svg") right no-repeat;
  transition: all ease 0.3s;
}

.formulierContainer .button:hover:after {
  position: absolute;
  right: 10px;
  top: calc(50% - 9px);
  transition: all ease 0.3s;
}

.formulierContainer input.checkbox {
  height: 20px;
  width: 15px;
}

.formulierContainer .labelHolder {
  position: relative;
}

.formulierContainer .labelHolder span {
  position: absolute;
  left: 30px;
}

.body_advanced {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}

.body_advanced h2 {
  color: #000;
}

.body_advanced img {
  width: 100%;
}

.button a {
  padding: 13px 75px 13px 30px;
  margin-top: 5px;
  border: none;
  background: #333 url("/assets/images/button_bg.svg") right no-repeat;
  color: #fff;
  cursor: pointer;
  min-width: 200px;
  font-weight: 400;
  transition: all 300ms;
  font-size: 17px;
  text-decoration: none;
  display: inline-block;
  text-align: left;
  box-sizing: border-box;
  position: relative;
  height: 55px;
  font-family: "Rubik", sans-serif, arial;
}

.button a:after {
  position: absolute;
  right: 20px;
  top: calc(50% - 9px);
  content: "";
  height: 20px;
  width: 14px;
  background: url(/assets/images/button_arrow.svg) right center no-repeat;
  transition: all ease 0.3s;
}

.button a:hover {
  background: #000 url("/assets/images/button_bg.svg") right no-repeat;
  transition: all ease 0.3s;
}

.button a:hover:after {
  position: absolute;
  right: 10px;
  top: calc(50% - 9px);
  transition: all ease 0.3s;
}

.body_advanced strong,
.body_advanced b {
  font-weight: 700;
}

.landing_body .body_advanced {
  line-height: 30px;
  font-size: 18px;
  color: #9B9B9B;
  padding-top: 20px;
}

/* slider_bg */
.slider_bg {
  position: relative;
  max-width: 1420px;
  margin: 0 auto;
}

.slider_bg .prev {
  background: #CCCE00 url("/assets/images/prev.svg") 26px center no-repeat;
  color: #000;
  margin-left: 2%;
  padding: 5px;
  width: 60px;
  height: 60px;
  text-align: center;
  box-shadow: 0px 0px 8px 0px rgba(197, 197, 197, 0.7);
  transition: all ease 0.2s;
}

.slider_bg .next {
  background: #CCCE00 url("/assets/images/next.svg") 30px center no-repeat;
  color: #000;
  margin-right: 2%;
  padding: 5px;
  width: 60px;
  height: 60px;
  text-align: center;
  box-shadow: 0px 0px 8px 0px rgba(197, 197, 197, 0.7);
  transition: all ease 0.2s;
}

.slider_bg .prev:hover {
  color: #fff;
  background: #000 url("/assets/images/prev.svg") 26px center no-repeat;
  transition: all ease 0.2s;
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.7);
}

.slider_bg .next:hover {
  color: #fff;
  background: #000 url("/assets/images/next.svg") 30px center no-repeat;
  transition: all ease 0.2s;
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.7);
}

.slider_bg a svg {
  display: none;
}

.body_advanced.center {
  max-width: 1240px;
  width: 100%;
  margin: 0px auto 40px;
}

.body_advanced .bg_image {
  max-width: 1420px;
  margin: 0 auto;
}

.blog_detail .body_advanced .bg_image {
  max-width: 1200px;
}

.center {
  /*max-width: 1240px;*/
  width: 100%;
  margin: 0px auto 40px;
  padding: 0;
  box-sizing: border-box;
}

.center_full {
  width: 100%;
  margin: 0px auto;
  max-width: 800px;
  text-align: center;
}

.contact_body .center_full {
  max-width: 100%;
}

.contact_body .body_advanced {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

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

.center .left_column {
  padding-left: 0px;
}

.body_advanced img.full {
  width: 90%;
  margin-left: 5%;
  margin-bottom: 20px;
}

.quote {
  text-align: left;
  max-width: 800px;
  margin: 0 auto;
}

.quote h3 {
  font-size: 30px;
  line-height: 43px;
  color: #333;
  margin-bottom: 10px;
  font-family: "Merriweather", serif;
  font-style: italic;
  text-align: center;
}

@media only screen and (max-width: 1240px) {
  .landing_header {
    margin-bottom: 50px;
  }
  .body_advanced {
    margin-top: 20px !important;
    margin-bottom: 50px !important;
  }
}
@media only screen and (max-width: 1024px) {
  .landing_body .body_advanced:first-child .screen .center,
  .landing_body .body_advanced {
    font-size: 16px;
    line-height: 30px;
  }
  .masters_in_green .masters_text {
    font-size: 16px;
    line-height: 24px;
  }
}
@media only screen and (max-width: 768px) {
  .body_advanced {
    margin-top: 40px !important;
  }
  .center .center_full {
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .body_advanced .right_column {
    padding-left: 0px;
    margin-top: 20px;
  }
  .project_slider .block .image_title {
    padding: 10px 0;
    font-size: 11px;
  }
  .body_advanced {
    margin-top: 30px !important;
    margin-bottom: 40px !important;
  }
}
@media only screen and (min-width: 641px) {
  .project_slider .block {
    margin: 0 20px;
  }
}
@media only screen and (max-width: 640px) {
  .project_slider.uk-flex {
    display: block;
  }
  .project_slider .block {
    margin-bottom: 20px;
  }
}
@keyframes plyr-progress {
  to {
    background-position: 25px 0;
  }
}
@keyframes plyr-popup {
  0% {
    opacity: 0.5;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes plyr-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.plyr {
  -moz-osx-font-smoothing: auto;
  -webkit-font-smoothing: subpixel-antialiased;
  direction: ltr;
  font-family: Avenir, "Avenir Next", "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  line-height: 1.7;
  max-width: 100%;
  min-width: 200px;
  position: relative;
  text-shadow: none;
  transition: box-shadow 0.3s ease;
}

.plyr audio, .plyr video {
  border-radius: inherit;
  height: auto;
  vertical-align: middle;
  width: 100%;
}

.plyr button {
  font: inherit;
  line-height: inherit;
  width: auto;
  height: auto;
}

.plyr button::before {
  display: none;
}

.plyr:focus {
  outline: 0;
}

.plyr--full-ui {
  box-sizing: border-box;
}

.plyr--full-ui *, .plyr--full-ui ::after, .plyr--full-ui ::before {
  box-sizing: inherit;
}

.plyr--full-ui a, .plyr--full-ui button, .plyr--full-ui input, .plyr--full-ui label {
  touch-action: manipulation;
}

.plyr__badge {
  background: #4f5b5f;
  border-radius: 2px;
  color: #fff;
  font-size: 9px;
  line-height: 1;
  padding: 3px 4px;
}

.plyr--full-ui ::-webkit-media-text-track-container {
  display: none;
}

.plyr__captions {
  animation: plyr-fade-in 0.3s ease;
  bottom: 0;
  color: #fff;
  display: none;
  font-size: 14px;
  left: 0;
  padding: 10px;
  position: absolute;
  text-align: center;
  transition: transform 0.4s ease-in-out;
  width: 100%;
}

.plyr__captions .plyr__caption {
  background: rgba(0, 0, 0, 0.8);
  border-radius: 2px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  line-height: 185%;
  padding: 0.2em 0.5em;
  white-space: pre-wrap;
}

.plyr__captions .plyr__caption div {
  display: inline;
}

.plyr__captions span:empty {
  display: none;
}

@media (min-width: 480px) {
  .plyr__captions {
    font-size: 16px;
    padding: 20px;
  }
}
@media (min-width: 768px) {
  .plyr__captions {
    font-size: 18px;
  }
}
.plyr--captions-active .plyr__captions {
  display: block;
}

.plyr:not(.plyr--hide-controls) .plyr__controls:not(:empty) ~ .plyr__captions {
  transform: translateY(-40px);
}

.plyr__control {
  background: 0 0;
  border: 0;
  border-radius: 3px;
  color: inherit;
  cursor: pointer;
  flex-shrink: 0;
  overflow: visible;
  padding: 7px;
  position: relative;
  transition: all 0.3s ease;
}

.plyr__control svg {
  display: block;
  fill: currentColor;
  height: 18px;
  pointer-events: none;
  width: 18px;
}

.plyr__control:focus {
  outline: 0;
}

.plyr__control.plyr__tab-focus {
  outline: 0;
}

a.plyr__control {
  text-decoration: none;
}

a.plyr__control::after, a.plyr__control::before {
  display: none;
}

.plyr__control.plyr__control--pressed .icon--not-pressed, .plyr__control.plyr__control--pressed .label--not-pressed, .plyr__control:not(.plyr__control--pressed) .icon--pressed, .plyr__control:not(.plyr__control--pressed) .label--pressed {
  display: none;
}

.plyr--audio .plyr__control.plyr__tab-focus, .plyr--audio .plyr__control:hover, .plyr--audio .plyr__control[aria-expanded=true] {
  background: #CCCE00;
  color: #fff;
}

.plyr--video .plyr__control svg {
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.15));
}

.plyr--video .plyr__control.plyr__tab-focus, .plyr--video .plyr__control:hover, .plyr--video .plyr__control[aria-expanded=true] {
  background: #CCCE00;
  color: #fff;
}

.plyr__control--overlaid {
  background: rgba(204, 206, 0, 0.8);
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  color: #fff;
  display: none;
  left: 50%;
  padding: 15px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.plyr__control--overlaid svg {
  left: 2px;
  position: relative;
}

.plyr__control--overlaid:focus, .plyr__control--overlaid:hover {
  background: #CCCE00;
}

.plyr--playing .plyr__control--overlaid {
  opacity: 0;
  visibility: hidden;
}

.plyr--full-ui.plyr--video .plyr__control--overlaid {
  display: block;
}

.plyr--full-ui ::-webkit-media-controls {
  display: none;
}

.plyr__controls {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  text-align: center;
}

.plyr__controls .plyr__menu, .plyr__controls .plyr__progress, .plyr__controls .plyr__time, .plyr__controls .plyr__volume, .plyr__controls > .plyr__control {
  margin-left: 5px;
}

.plyr__controls .plyr__menu + .plyr__control, .plyr__controls .plyr__progress + .plyr__control, .plyr__controls > .plyr__control + .plyr__control, .plyr__controls > .plyr__control + .plyr__menu {
  margin-left: 2px;
}

.plyr__controls > .plyr__control:first-child, .plyr__controls > .plyr__control:first-child + [data-plyr=pause] {
  margin-left: 0;
  margin-right: auto;
}

.plyr__controls:empty {
  display: none;
}

@media (min-width: 480px) {
  .plyr__controls .plyr__menu, .plyr__controls .plyr__progress, .plyr__controls .plyr__time, .plyr__controls .plyr__volume, .plyr__controls > .plyr__control {
    margin-left: 10px;
  }
}
.plyr--audio .plyr__controls {
  background: #fff;
  border-radius: inherit;
  color: #4f5b5f;
  padding: 10px;
}

.plyr--video .plyr__controls {
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.7));
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  bottom: 0;
  color: #fff;
  left: 0;
  padding: 20px 5px 5px;
  position: absolute;
  right: 0;
  transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
  z-index: 3;
}

@media (min-width: 480px) {
  .plyr--video .plyr__controls {
    padding: 35px 10px 10px;
  }
}
.plyr--video.plyr--hide-controls .plyr__controls {
  opacity: 0;
  pointer-events: none;
  transform: translateY(100%);
}

.plyr [data-plyr=airplay], .plyr [data-plyr=captions], .plyr [data-plyr=fullscreen], .plyr [data-plyr=pip] {
  display: none;
}

.plyr--airplay-supported [data-plyr=airplay], .plyr--captions-enabled [data-plyr=captions], .plyr--fullscreen-enabled [data-plyr=fullscreen], .plyr--pip-supported [data-plyr=pip] {
  display: inline-block;
}

.plyr__video-embed {
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}

.plyr__video-embed iframe {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  width: 100%;
}

.plyr--full-ui .plyr__video-embed > .plyr__video-embed__container {
  padding-bottom: 240%;
  position: relative;
  transform: translateY(-38.28125%);
}

.plyr__menu {
  display: flex;
  position: relative;
}

.plyr__menu .plyr__control svg {
  transition: transform 0.3s ease;
}

.plyr__menu .plyr__control[aria-expanded=true] svg {
  transform: rotate(90deg);
}

.plyr__menu .plyr__control[aria-expanded=true] .plyr__tooltip {
  display: none;
}

.plyr__menu__container {
  animation: plyr-popup 0.2s ease;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 4px;
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  color: #4f5b5f;
  font-size: 16px;
  margin-bottom: 10px;
  position: absolute;
  right: -3px;
  text-align: left;
  white-space: nowrap;
  z-index: 3;
}

.plyr__menu__container > div {
  overflow: hidden;
  transition: height 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.plyr__menu__container::after {
  border: 4px solid transparent;
  border-top-color: rgba(255, 255, 255, 0.9);
  content: "";
  height: 0;
  position: absolute;
  right: 15px;
  top: 100%;
  width: 0;
}

.plyr__menu__container [role=menu] {
  padding: 7px;
}

.plyr__menu__container [role=menuitem], .plyr__menu__container [role=menuitemradio] {
  margin-top: 2px;
}

.plyr__menu__container [role=menuitem]:first-child, .plyr__menu__container [role=menuitemradio]:first-child {
  margin-top: 0;
}

.plyr__menu__container .plyr__control {
  align-items: center;
  color: #4f5b5f;
  display: flex;
  font-size: 14px;
  padding: 4px 11px;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  width: 100%;
}

.plyr__menu__container .plyr__control > span {
  align-items: inherit;
  display: flex;
  width: 100%;
}

.plyr__menu__container .plyr__control::after {
  border: 4px solid transparent;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.plyr__menu__container .plyr__control--forward {
  padding-right: 28px;
}

.plyr__menu__container .plyr__control--forward::after {
  border-left-color: rgba(79, 91, 95, 0.8);
  right: 5px;
}

.plyr__menu__container .plyr__control--forward.plyr__tab-focus::after, .plyr__menu__container .plyr__control--forward:hover::after {
  border-left-color: currentColor;
}

.plyr__menu__container .plyr__control--back {
  font-weight: 500;
  margin: 7px;
  margin-bottom: 3px;
  padding-left: 28px;
  position: relative;
  width: calc(100% - 14px);
}

.plyr__menu__container .plyr__control--back::after {
  border-right-color: rgba(79, 91, 95, 0.8);
  left: 7px;
}

.plyr__menu__container .plyr__control--back::before {
  background: #b7c5cd;
  box-shadow: 0 1px 0 #fff;
  content: "";
  height: 1px;
  left: 0;
  margin-top: 4px;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 100%;
}

.plyr__menu__container .plyr__control--back.plyr__tab-focus::after, .plyr__menu__container .plyr__control--back:hover::after {
  border-right-color: currentColor;
}

.plyr__menu__container .plyr__control[role=menuitemradio] {
  padding-left: 7px;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::after, .plyr__menu__container .plyr__control[role=menuitemradio]::before {
  border-radius: 100%;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::before {
  background: rgba(0, 0, 0, 0.1);
  content: "";
  display: block;
  flex-shrink: 0;
  height: 16px;
  margin-right: 10px;
  transition: all 0.3s ease;
  width: 16px;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::after {
  background: #fff;
  border: 0;
  height: 6px;
  left: 12px;
  opacity: 0;
  top: 50%;
  transform: translateY(-50%) scale(0);
  transition: transform 0.3s ease, opacity 0.3s ease;
  width: 6px;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: #CCCE00;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before, .plyr__menu__container .plyr__control[role=menuitemradio]:hover::before {
  background: rgba(0, 0, 0, 0.1);
}

.plyr__menu__container .plyr__menu__value {
  align-items: center;
  display: flex;
  margin-left: auto;
  margin-right: -5px;
  overflow: hidden;
  padding-left: 25px;
  pointer-events: none;
}

.plyr--full-ui input[type=range] {
  -webkit-appearance: none;
  background: 0 0;
  border: 0;
  border-radius: 28px;
  color: #CCCE00;
  display: block;
  height: 20px;
  margin: 0;
  padding: 0;
  transition: box-shadow 0.3s ease;
  width: 100%;
}

.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
  user-select: none;
  background-image: linear-gradient(to right, currentColor var(--value, 0), transparent var(--value, 0));
}

.plyr--full-ui input[type=range]::-webkit-slider-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
  -webkit-appearance: none;
  margin-top: -5px;
}

.plyr--full-ui input[type=range]::-moz-range-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -moz-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -moz-user-select: none;
  user-select: none;
}

.plyr--full-ui input[type=range]::-moz-range-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
}

.plyr--full-ui input[type=range]::-moz-range-progress {
  background: currentColor;
  border-radius: 2px;
  height: 4px;
}

.plyr--full-ui input[type=range]::-ms-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  user-select: none;
  color: transparent;
}

.plyr--full-ui input[type=range]::-ms-fill-upper {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  user-select: none;
}

.plyr--full-ui input[type=range]::-ms-fill-lower {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  user-select: none;
  background: currentColor;
}

.plyr--full-ui input[type=range]::-ms-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
  margin-top: 0;
}

.plyr--full-ui input[type=range]::-ms-tooltip {
  display: none;
}

.plyr--full-ui input[type=range]:focus {
  outline: 0;
}

.plyr--full-ui input[type=range]::-moz-focus-outer {
  border: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]::-ms-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]::-ms-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr__poster {
  background-color: #000;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease;
  width: 100%;
  z-index: 1;
}

.plyr--stopped.plyr__poster-enabled .plyr__poster {
  opacity: 1;
}

.plyr__time {
  font-size: 14px;
}

.plyr__time + .plyr__time::before {
  content: "⁄";
  margin-right: 10px;
}

@media (max-width: 767px) {
  .plyr__time + .plyr__time {
    display: none;
  }
}
.plyr--video .plyr__time {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
}

.plyr__tooltip {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 3px;
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  color: #4f5b5f;
  font-size: 14px;
  font-weight: 500;
  left: 50%;
  line-height: 1.3;
  margin-bottom: 10px;
  opacity: 0;
  padding: 5px 7.5px;
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, 10px) scale(0.8);
  transform-origin: 50% 100%;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  white-space: nowrap;
  z-index: 2;
}

.plyr__tooltip::before {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(255, 255, 255, 0.9);
  bottom: -4px;
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
  z-index: 2;
}

.plyr .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr .plyr__control:hover .plyr__tooltip, .plyr__tooltip--visible {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.plyr .plyr__control:hover .plyr__tooltip {
  z-index: 3;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
  left: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 0 100%;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip::before, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip::before {
  left: 16px;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
  left: auto;
  right: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 100% 100%;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip::before {
  left: auto;
  right: 16px;
  transform: translateX(50%);
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip, .plyr__controls > .plyr__control:first-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child:hover .plyr__tooltip, .plyr__controls > .plyr__control:last-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:last-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:last-child:hover .plyr__tooltip {
  transform: translate(0, 0) scale(1);
}

.plyr--video {
  background: #000;
  overflow: hidden;
}

.plyr--video.plyr--menu-open {
  overflow: visible;
}

.plyr__video-wrapper {
  background: #fff;
  border-radius: inherit;
  overflow: hidden;
  position: relative;
  z-index: 0;
}

.plyr__progress {
  flex: 1;
  left: 7px;
  margin-right: 14px;
  position: relative;
}

.plyr__progress input[type=range], .plyr__progress__buffer {
  margin-left: -7px;
  margin-right: -7px;
  width: calc(100% + 14px);
}

.plyr__progress input[type=range] {
  position: relative;
  z-index: 2;
}

.plyr__progress .plyr__tooltip {
  font-size: 14px;
  left: 0;
}

.plyr__progress__buffer {
  -webkit-appearance: none;
  background: 0 0;
  border: 0;
  border-radius: 100px;
  height: 4px;
  left: 0;
  margin-top: -2px;
  padding: 0;
  position: absolute;
  top: 50%;
}

.plyr__progress__buffer::-webkit-prog .plyr__control[role=menuitemradio]::after, .plyr__menu__container .plyr__control[role=menuitemradio]::before {
  border-radius: 100%;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::before {
  background: rgba(0, 0, 0, 0.1);
  content: "";
  display: block;
  flex-shrink: 0;
  height: 16px;
  margin-right: 10px;
  transition: all 0.3s ease;
  width: 16px;
}

.plyr__menu__container .plyr__control[role=menuitemradio]::after {
  background: #fff;
  border: 0;
  height: 6px;
  left: 12px;
  opacity: 0;
  top: 50%;
  transform: translateY(-50%) scale(0);
  transition: transform 0.3s ease, opacity 0.3s ease;
  width: 6px;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::before {
  background: #CCCE00;
}

.plyr__menu__container .plyr__control[role=menuitemradio][aria-checked=true]::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.plyr__menu__container .plyr__control[role=menuitemradio].plyr__tab-focus::before, .plyr__menu__container .plyr__control[role=menuitemradio]:hover::before {
  background: rgba(0, 0, 0, 0.1);
}

.plyr__menu__container .plyr__menu__value {
  align-items: center;
  display: flex;
  margin-left: auto;
  margin-right: -5px;
  overflow: hidden;
  padding-left: 25px;
  pointer-events: none;
}

.plyr--full-ui input[type=range] {
  -webkit-appearance: none;
  background: 0 0;
  border: 0;
  border-radius: 28px;
  color: #CCCE00;
  display: block;
  height: 20px;
  margin: 0;
  padding: 0;
  transition: box-shadow 0.3s ease;
  width: 100%;
}

.plyr--full-ui input[type=range]::-webkit-slider-runnable-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -webkit-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -webkit-user-select: none;
  user-select: none;
  background-image: linear-gradient(to right, currentColor var(--value, 0), transparent var(--value, 0));
}

.plyr--full-ui input[type=range]::-webkit-slider-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
  -webkit-appearance: none;
  margin-top: -5px;
}

.plyr--full-ui input[type=range]::-moz-range-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -moz-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  -moz-user-select: none;
  user-select: none;
}

.plyr--full-ui input[type=range]::-moz-range-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -moz-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
}

.plyr--full-ui input[type=range]::-moz-range-progress {
  background: currentColor;
  border-radius: 2px;
  height: 4px;
}

.plyr--full-ui input[type=range]::-ms-track {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  user-select: none;
  color: transparent;
}

.plyr--full-ui input[type=range]::-ms-fill-upper {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  user-select: none;
}

.plyr--full-ui input[type=range]::-ms-fill-lower {
  background: 0 0;
  border: 0;
  border-radius: 2px;
  height: 4px;
  -ms-transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  user-select: none;
  background: currentColor;
}

.plyr--full-ui input[type=range]::-ms-thumb {
  background: #fff;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2);
  height: 14px;
  position: relative;
  -ms-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 14px;
  margin-top: 0;
}

.plyr--full-ui input[type=range]::-ms-tooltip {
  display: none;
}

.plyr--full-ui input[type=range]:focus {
  outline: 0;
}

.plyr--full-ui input[type=range]::-moz-focus-outer {
  border: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-webkit-slider-runnable-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-moz-range-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui input[type=range].plyr__tab-focus::-ms-track {
  box-shadow: 0 0 0 5px rgba(26, 175, 255, 0.5);
  outline: 0;
}

.plyr--full-ui.plyr--video input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]::-moz-range-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]::-ms-track {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--full-ui.plyr--video input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--video input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--video input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(255, 255, 255, 0.5);
}

.plyr--full-ui.plyr--audio input[type=range]::-webkit-slider-runnable-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]::-moz-range-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]::-ms-track {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-webkit-slider-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-moz-range-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr--full-ui.plyr--audio input[type=range]:active::-ms-thumb {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 0 0 1px rgba(47, 52, 61, 0.2), 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.plyr__poster {
  background-color: #000;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: contain;
  height: 100%;
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.2s ease;
  width: 100%;
  z-index: 1;
}

.plyr--stopped.plyr__poster-enabled .plyr__poster {
  opacity: 1;
  background-size: cover;
}

.plyr__time {
  font-size: 14px;
}

.plyr__time + .plyr__time::before {
  content: "⁄";
  margin-right: 10px;
}

@media (max-width: 767px) {
  .plyr__time + .plyr__time {
    display: none;
  }
}
.plyr--video .plyr__time {
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
}

.plyr__tooltip {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 3px;
  bottom: 100%;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  color: #4f5b5f;
  font-size: 14px;
  font-weight: 500;
  left: 50%;
  line-height: 1.3;
  margin-bottom: 10px;
  opacity: 0;
  padding: 5px 7.5px;
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, 10px) scale(0.8);
  transform-origin: 50% 100%;
  transition: transform 0.2s 0.1s ease, opacity 0.2s 0.1s ease;
  white-space: nowrap;
  z-index: 2;
}

.plyr__tooltip::before {
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 4px solid rgba(255, 255, 255, 0.9);
  bottom: -4px;
  content: "";
  height: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 0;
  z-index: 2;
}

.plyr .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr .plyr__control:hover .plyr__tooltip, .plyr__tooltip--visible {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.plyr .plyr__control:hover .plyr__tooltip {
  z-index: 3;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip {
  left: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 0 100%;
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip::before, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip::before {
  left: 16px;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip {
  left: auto;
  right: 0;
  transform: translate(0, 10px) scale(0.8);
  transform-origin: 100% 100%;
}

.plyr__controls > .plyr__control:last-child .plyr__tooltip::before {
  left: auto;
  right: 16px;
  transform: translateX(50%);
}

.plyr__controls > .plyr__control:first-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control .plyr__tooltip--visible, .plyr__controls > .plyr__control:first-child + .plyr__control.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child + .plyr__control:hover .plyr__tooltip, .plyr__controls > .plyr__control:first-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:first-child:hover .plyr__tooltip, .plyr__controls > .plyr__control:last-child .plyr__tooltip--visible, .plyr__controls > .plyr__control:last-child.plyr__tab-focus .plyr__tooltip, .plyr__controls > .plyr__control:last-child:hover .plyr__tooltip {
  transform: translate(0, 0) scale(1);
}

.plyr--video {
  background: #000;
  overflow: hidden;
}

.plyr--video.plyr--menu-open {
  overflow: visible;
}

.plyr__video-wrapper {
  background: #fff;
  border-radius: inherit;
  overflow: hidden;
  position: relative;
  z-index: 0;
  width: calc(100% + 2px);
  margin-left: -1px;
  margin-top: -1px;
}

.plyr__progress {
  flex: 1;
  left: 7px;
  margin-right: 14px;
  position: relative;
}

.plyr__progress input[type=range], .plyr__progress__buffer {
  margin-left: -7px;
  margin-right: -7px;
  width: calc(100% + 14px);
}

.plyr__progress input[type=range] {
  position: relative;
  z-index: 2;
}

.plyr__progress .plyr__tooltip {
  font-size: 14px;
  left: 0;
}

.plyr__progress__buffer {
  -webkit-appearance: none;
  background: 0 0;
  border: 0;
  border-radius: 100px;
  height: 4px;
  left: 0;
  margin-top: -2px;
  padding: 0;
  position: absolute;
  top: 50%;
}

.plyr__progress__buffer::-webkit-progress-bar {
  background: 0 0;
  -webkit-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr__progress__buffer::-webkit-progress-value {
  background: currentColor;
  border-radius: 100px;
  min-width: 4px;
}

.plyr__progress__buffer::-moz-progress-bar {
  background: currentColor;
  border-radius: 100px;
  min-width: 4px;
  -moz-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr__progress__buffer::-ms-fill {
  border-radius: 100px;
  -ms-transition: width 0.2s ease;
  transition: width 0.2s ease;
}

.plyr--video .plyr__progress__buffer {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
  color: rgba(255, 255, 255, 0.25);
}

.plyr--audio .plyr__progress__buffer {
  color: rgba(183, 197, 205, 0.66);
}

.plyr--loading .plyr__progress__buffer {
  animation: plyr-progress 1s linear infinite;
  background-image: linear-gradient(-45deg, rgba(47, 52, 61, 0.6) 25%, transparent 25%, transparent 50%, rgba(47, 52, 61, 0.6) 50%, rgba(47, 52, 61, 0.6) 75%, transparent 75%, transparent);
  background-repeat: repeat-x;
  background-size: 25px 25px;
  color: transparent;
}

.plyr--video.plyr--loading .plyr__progress__buffer {
  background-color: rgba(255, 255, 255, 0.25);
}

.plyr--audio.plyr--loading .plyr__progress__buffer {
  background-color: rgba(183, 197, 205, 0.66);
}

.plyr__volume {
  align-items: center;
  display: flex;
  flex: 1;
  position: relative;
}

.plyr__volume input[type=range] {
  margin-left: 5px;
  position: relative;
  z-index: 2;
}

@media (min-width: 480px) {
  .plyr__volume {
    max-width: 90px;
  }
}
@media (min-width: 768px) {
  .plyr__volume {
    max-width: 110px;
  }
}
.plyr--is-ios .plyr__volume {
  display: none !important;
}

.plyr--is-ios.plyr--vimeo [data-plyr=mute] {
  display: none !important;
}

.plyr:fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:fullscreen video {
  height: 100%;
}

.plyr:fullscreen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:fullscreen .plyr__video-embed {
  overflow: visible;
}

.plyr:fullscreen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:fullscreen.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr:fullscreen .plyr__captions {
    font-size: 21px;
  }
}
.plyr:-webkit-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:-webkit-full-screen video {
  height: 100%;
}

.plyr:-webkit-full-screen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:-webkit-full-screen .plyr__video-embed {
  overflow: visible;
}

.plyr:-webkit-full-screen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:-webkit-full-screen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:-webkit-full-screen.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr:-webkit-full-screen .plyr__captions {
    font-size: 21px;
  }
}
.plyr:-moz-full-screen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:-moz-full-screen video {
  height: 100%;
}

.plyr:-moz-full-screen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:-moz-full-screen .plyr__video-embed {
  overflow: visible;
}

.plyr:-moz-full-screen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:-moz-full-screen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:-moz-full-screen.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr:-moz-full-screen .plyr__captions {
    font-size: 21px;
  }
}
.plyr:-ms-fullscreen {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
}

.plyr:-ms-fullscreen video {
  height: 100%;
}

.plyr:-ms-fullscreen .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr:-ms-fullscreen .plyr__video-embed {
  overflow: visible;
}

.plyr:-ms-fullscreen.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr:-ms-fullscreen .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr:-ms-fullscreen.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr:-ms-fullscreen .plyr__captions {
    font-size: 21px;
  }
}
.plyr--fullscreen-fallback {
  background: #000;
  border-radius: 0 !important;
  height: 100%;
  margin: 0;
  width: 100%;
  bottom: 0;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 10000000;
}

.plyr--fullscreen-fallback video {
  height: 100%;
}

.plyr--fullscreen-fallback .plyr__video-wrapper {
  height: 100%;
  width: 100%;
}

.plyr--fullscreen-fallback .plyr__video-embed {
  overflow: visible;
}

.plyr--fullscreen-fallback.plyr--vimeo .plyr__video-wrapper {
  height: 0;
  top: 50%;
  transform: translateY(-50%);
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen {
  display: block;
}

.plyr--fullscreen-fallback .plyr__control .icon--exit-fullscreen + svg {
  display: none;
}

.plyr--fullscreen-fallback.plyr--hide-controls {
  cursor: none;
}

@media (min-width: 1024px) {
  .plyr--fullscreen-fallback .plyr__captions {
    font-size: 21px;
  }
}
.plyr__ads {
  border-radius: inherit;
  bottom: 0;
  cursor: pointer;
  left: 0;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}

.plyr__ads > div, .plyr__ads > div iframe {
  height: 100%;
  position: absolute;
  width: 100%;
}

.plyr__ads::after {
  background: rgba(47, 52, 61, 0.8);
  border-radius: 2px;
  bottom: 10px;
  color: #fff;
  content: attr(data-badge-text);
  font-size: 11px;
  padding: 2px 6px;
  pointer-events: none;
  position: absolute;
  right: 10px;
  z-index: 3;
}

.plyr__ads::after:empty {
  display: none;
}

.plyr__cues {
  background: currentColor;
  display: block;
  height: 4px;
  left: 0;
  margin: -2px 0 0;
  opacity: 0.8;
  position: absolute;
  top: 50%;
  width: 3px;
  z-index: 3;
}

.plyr--no-transition {
  transition: none !important;
}

.plyr__sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  border: 0 !important;
  height: 1px !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

.plyr [hidden] {
  display: none !important;
}

.menu_holder {
  position: relative;
  z-index: 10;
  background: #fff;
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.25);
}

.section_homepage .menu_holder {
  box-shadow: none;
}

.menu {
  max-width: 1480px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.menu.active {
  position: fixed;
}

.menu .logo {
  display: inline-block;
  position: relative;
  height: 100%;
  padding: 0 80px;
}

.section_homepage .menu .logo .logo_bg.vervolg,
.menu .logo .logo_bg {
  display: none;
}

.section_homepage .menu .logo .logo_bg {
  display: block;
}

.menu .logo .logo_bg.vervolg {
  display: block;
  top: 88%;
}

.menu .logo .logo_bg {
  position: absolute;
  left: 0;
  top: 100%;
}

.menu .logo .logo_img {
  margin-bottom: -30px;
  margin-top: 20px;
  position: relative;
  z-index: 2;
}

.menu .logo.jub {
  padding: 0px 45px;
}

.menu .logo .logo_img.jub {
  max-width: 210px;
}

.menu ul {
  list-style: none;
  display: inline-block;
  vertical-align: top;
  padding-left: 0;
  margin: 0;
}

.menu ul li {
  display: inline-block;
  margin-left: 50px;
  padding: 39px 0 0;
}

.menu ul li.active {
  background-image: url(/assets/images/menu_active.svg);
  background-repeat: no-repeat;
  background-position: top center;
}

.menu ul li a {
  text-decoration: none;
  font-size: 18px;
  transition: all 300ms;
  color: #333333;
  font-weight: 400;
}

.menu ul li:hover a,
.menu ul li.active a {
  color: #CCCE00;
}

.menu.active {
  position: fixed;
  top: 0;
  left: 0;
}

.hamburger_holder {
  display: none;
  position: absolute;
  top: 7px;
  right: 10px;
  vertical-align: top;
  z-index: 5;
  cursor: pointer;
  background-color: #fff;
}

.hamburger {
  width: 34px;
  height: 30px;
  margin: 10px;
  position: relative;
}

.hamburger .line {
  position: absolute;
  width: 100%;
  height: 3px;
  border-radius: 3px;
  background-color: #000;
  left: 0px;
}

.hamburger .line.line_top {
  top: 3px;
  transition: all 500ms;
}

.menu.active .hamburger .line.line_top {
  transform: rotate(-45deg);
  top: 13px;
}

.hamburger .line.line_middle {
  top: calc(50% - 2px);
  transition: all 500ms;
}

.hamburger .line.line_bottom {
  bottom: 4px;
  transition: all 500ms;
}

.menu.active .hamburger .line.line_bottom {
  transform: rotate(45deg);
  bottom: 14px;
}

.menu.active .hamburger .line.line_middle {
  width: 0;
  left: 15px;
  opacity: 0;
}

@media only screen and (max-width: 1600px) {
  .over_ons .bg_over_ons {
    width: 75%;
  }
}
@media only screen and (max-width: 1480px) {
  .over_ons .text_block {
    padding: calc(10% - 20px) 8% 8%;
    margin-left: calc(-7% - 15px);
    margin-top: 50px;
    max-width: 650px;
  }
  .landing_content h2,
  h2 {
    font-size: 30px;
    line-height: normal;
  }
  .cta_holder {
    padding: 40px 0 60px;
  }
  .over_ons .text_block h2 {
    margin-bottom: 25px;
  }
}
@media only screen and (min-width: 1280px) {
  .over_ons .text_block h2 {
    font-size: 60px;
  }
  .branches_holder .branches_intro h2 {
    font-size: 45px;
  }
  .maps_gegevens #map {
    margin: 50px auto 100px;
  }
}
@media only screen and (max-width: 1280px) {
  .landing_content h2,
  h2 {
    font-size: 40px;
  }
  .home_header h1 {
    font-size: 45px;
    line-height: 53px;
    max-width: 500px;
  }
  .home_header .header_text {
    top: 25%;
  }
  .laatste_projecten_holder .bg_projecten {
    height: 37%;
  }
  .over_ons.contactpage {
    margin-top: 70px;
  }
}
@media only screen and (max-width: 1240px) {
  .landing_content .landing_intro {
    margin: 0 auto 0px;
  }
  .menu ul li {
    margin-left: 22px;
  }
  .menu ul li:first-child {
    margin-left: 10px;
  }
  .branche_grid .image_holder svg {
    height: 75px;
  }
  .kenmerken_project {
    margin-top: 20px;
  }
  .over_ons {
    padding-top: 50px;
  }
  .over_ons .text_block h2 {
    right: 20px;
  }
  .projecten_holder {
    margin-top: 50px;
  }
}
@media only screen and (max-width: 1024px) {
  .landing_content h2,
  h2 {
    font-size: 32px;
  }
  .slider_bg .prev {
    background: #CCCE00 url(/assets/images/prev.svg) 14px center no-repeat;
    margin-left: 1%;
    width: 30px;
    height: 30px;
    background-size: 25%;
  }
  .slider_bg .next {
    background: #CCCE00 url(/assets/images/next.svg) 14px center no-repeat;
    margin-right: 1%;
    width: 30px;
    height: 30px;
    background-size: 25%;
  }
  .slider_bg .prev:hover {
    background: #000 url(/assets/images/prev.svg) 14px center no-repeat;
    margin-left: 1%;
    width: 30px;
    height: 30px;
    background-size: 25%;
  }
  .slider_bg .next:hover {
    background: #000 url(/assets/images/next.svg) 14px center no-repeat;
    margin-left: 1%;
    width: 30px;
    height: 30px;
    background-size: 25%;
  }
  .over_ons .text_block h3 {
    font-size: 20px;
  }
}
@media only screen and (max-width: 1023px) {
  .over_ons {
    padding-top: 0;
  }
  .over_ons .bg_over_ons {
    display: none;
  }
  .over_ons .text_block {
    padding: 0 20px;
    margin-left: 0;
    margin-top: 0;
    max-width: 100%;
    box-shadow: none;
  }
  .over_ons .text_block h2 {
    position: relative;
    margin-bottom: 0;
    color: #333;
    margin-top: 15px;
    right: 0;
    left: 0;
  }
  .kenmerken_project {
    margin-top: 20px;
  }
  .over_ons .text_block h3 {
    font-size: 22px;
  }
}
@media only screen and (max-width: 960px) {
  .menu_holder {
    min-height: 61px;
  }
  .hamburger_holder {
    display: block;
  }
  .menu .logo {
    padding: 0 40px;
    width: 74px;
  }
  .menu .logo .logo_img {
    margin-bottom: -10px;
    margin-top: 10px;
  }
  .menu ul li {
    display: block;
    margin-left: 0;
    padding: 20px 0 0;
    transition: all 500ms;
    opacity: 0;
  }
  .menu ul li:first-child {
    margin-left: 0;
  }
  .menu ul li.active {
    background-image: none;
  }
  .menu.active ul li {
    opacity: 1;
  }
  .menu ul {
    position: fixed;
    top: 0;
    background-color: #fff;
    width: 100%;
    left: 0;
    height: 0;
    text-align: center;
    padding-top: 0px;
    visibility: hidden;
    transition: all 700ms;
  }
  .menu.active ul {
    height: 100%;
    padding-top: 100px;
    visibility: visible;
  }
  .home_header h1 {
    font-size: 34px;
    line-height: 40px;
    max-width: 400px;
  }
  .branches_holder {
    margin-top: 10px;
  }
  .branches_holder h4 {
    margin-bottom: 7px;
  }
  .cta a.lees_meer {
    float: none;
  }
  .cta h3 {
    max-width: 100%;
    margin-bottom: 10px;
  }
  .menu .logo .logo_img.jub {
    max-width: 130px;
    margin-left: -30px;
  }
}
@media only screen and (max-width: 767px) {
  .branches_holder {
    margin: 10px auto 40px;
  }
  .kenmerken_project .uk-first-column {
    margin-top: 15px;
  }
  .landing_content h1 {
    font-size: 16px;
  }
  .landing_content h2, h2 {
    font-size: 20px;
    line-height: normal;
    margin: 5px 0px;
  }
  h3,
  .over_ons .text_block h3 {
    font-size: 18px;
  }
  html, body {
    font-size: 15px;
    line-height: 26px;
  }
  .landing_content,
  .landing_content.top {
    margin: 65px auto 20px;
  }
  .maps_gegevens #map {
    height: 350px;
  }
  .over_ons.contactpage {
    margin-top: 0px;
  }
  .over_ons.contactpage .text_block h2 {
    display: none;
  }
  .over_ons.contactpage .text_block {
    margin-top: 10px;
  }
  .quote h3 {
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 5px;
  }
  .slider_bg .prev {
    background: #CCCE00 url(/assets/images/prev.svg) 10px center no-repeat;
    margin-left: 1%;
    width: 30px;
    height: 30px;
    padding: 0;
    background-size: 25%;
  }
  .slider_bg .next {
    background: #CCCE00 url(/assets/images/next.svg) 10px center no-repeat;
    margin-right: 1%;
    width: 30px;
    height: 30px;
    padding: 0;
    background-size: 25%;
  }
  .slider_bg .prev:hover {
    background: #000 url(/assets/images/prev.svg) 10px center no-repeat;
    padding: 0;
    background-size: 25%;
  }
  .slider_bg .next:hover {
    background: #000 url(/assets/images/next.svg) 10px center no-repeat;
    padding: 0;
    background-size: 25%;
  }
  .footer .last_column {
    text-align: center;
  }
  .footer ul {
    padding: 0;
  }
  .branche_grid .branche h3 {
    margin-top: 15px;
    font-size: 18px;
    margin-bottom: 20px;
  }
  .branche_grid .branche a {
    display: none;
  }
  .laatste_projecten_holder .bg_projecten {
    display: none;
  }
  .laatste_projecten {
    margin: 50px auto 0;
    padding-top: 25px;
  }
  .certificaten_holder {
    padding: 50px 0;
  }
  .projecten .project .project_title {
    font-size: 15px;
  }
  .button a {
    padding: 11px 70px 11px 20px;
    min-width: 200px;
    font-size: 15px;
    height: 50px;
  }
  .projecten form a {
    padding: 6px 15px;
    font-size: 15px;
  }
  .cta h3 {
    font-size: 18px;
  }
  .terug {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  .home_header {
    width: 150%;
    margin-left: -25%;
  }
  .header_svg {
    height: auto;
  }
  .cta_holder {
    padding: 20px 0 30px;
    background-image: none;
    background-color: #333;
  }
  .laatste_projecten h3 {
    font-size: 18px;
  }
  .laatste_projecten h4,
  .landing_content h1 {
    font-size: 16px;
  }
  .laatste_projecten .project_intro {
    padding: 20px 0px;
    box-sizing: border-box;
  }
}
@media only screen and (max-width: 480px) {
  .home_header h1 {
    font-size: 24px;
    line-height: 33px;
    max-width: 280px;
  }
}
@media only screen and (max-width: 360px) {
  .branche_grid .image_holder svg {
    height: 55px;
  }
}
@media only screen and (max-width: 320px) {
  .home_header h1 {
    font-size: 20px;
    line-height: normal;
    max-width: 280px;
  }
}
.nice-select {
  -webkit-tap-highlight-color: transparent;
  border: 1px solid #CCCE00;
  color: #000;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  font-size: 16px;
  font-family: "Rubik", sans-serif, arial;
  height: 50px;
  line-height: 50px;
  outline: none;
  padding-left: 20px;
  padding-right: 50px;
  position: relative;
  text-align: left !important;
  transition: all 0.2s ease-in-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  white-space: nowrap;
  width: 100%;
  font-weight: 400;
}

.nice-select:hover {
  border: 1px solid #CCCE00;
}

.nice-select:active, .nice-select.open, .nice-select:focus {
  border-color: #CCCE00;
}

.nice-select:after {
  content: "";
  display: block;
  height: 12px;
  width: 12px;
  border-bottom: 2px solid #000;
  border-right: 2px solid #000;
  margin-top: 0px;
  position: absolute;
  right: 25px;
  top: calc(50% - 5px);
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.15s ease-in-out;
}

.nice-select.open:after {
  transform: rotate(-135deg);
}

.nice-select.open .list {
  opacity: 1;
  width: 100%;
  pointer-events: auto;
  transform: scale(1) translateY(0);
}

.nice-select.disabled {
  border-color: #ededed;
  color: #999;
  pointer-events: none;
}

.nice-select.disabled:after {
  border-color: #cccccc;
}

.nice-select.wide {
  width: 100%;
}

.nice-select.wide .list {
  left: 0 !important;
  right: 0 !important;
}

.nice-select.right {
  float: right;
}

.nice-select.right .list {
  left: auto;
  right: 0;
}

.nice-select.small {
  font-size: 12px;
  height: 36px;
  line-height: 34px;
}

.nice-select.small:after {
  height: 4px;
  width: 4px;
}

.nice-select.small .option {
  line-height: 34px;
  min-height: 34px;
}

.nice-select .list {
  background-color: #fff;
  border-radius: 0px;
  box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
  box-sizing: border-box;
  margin-top: 4px;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 0;
  transform-origin: 50% 0;
  transform: scale(0.75) translateY(-21px);
  transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
  z-index: 9;
}

.nice-select .list:hover .option:not(:hover) {
  background-color: transparent !important;
}

.nice-select .option {
  cursor: pointer;
  font-weight: 400;
  line-height: 36px;
  font-size: 16px;
  list-style: none;
  min-height: 32px;
  outline: none;
  padding-left: 18px;
  padding-right: 29px;
  text-align: left;
  transition: all 0.2s;
}

.nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
  background-color: #f2f2f2;
}

.nice-select .option.disabled {
  background-color: transparent;
  color: #999;
  cursor: default;
}

.no-csspointerevents .nice-select .list {
  display: none;
}

.no-csspointerevents .nice-select.open .list {
  display: block;
}

.keuringsproduct_merk ul {
  columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzaGVldHMvYXBwLmNzcyIsIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUN5QmhCOzs2RUFBQTtBQUlBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0Esa01DeUNpQjtFRHhDakIsZUMyQ2U7RUQxQ2YsbUJDeUNvQjtFRHhDcEIsZ0JDMkNpQjtFRDFDakI7RUFDQTtFQUNBO0VBQ0EsZ0JDZ0JnQjtFRGZoQixXQ3RDVztBRmFmOztBQzZCQTs7RUFBQTtBQUlBO0VBQU87QUQxQlA7O0FDNkJBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTs7RUFFSSxjQ3FCZ0I7RURwQmhCLHFCQ3NCd0I7RURyQnhCO0FENUJKOztBQ2dDQTs7O0VBR0ksY0Nlc0I7RURkdEIsMEJDZ0I4QjtBRjdDbEM7O0FDa0NBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO1VBQUE7RUFDQTtFQUNBO0FEakNKOztBQ29DQTs7RUFBQTtBQUlBOztFQUNTLG1CQ1JpQjtBRnpCMUI7O0FDbUNBOzs7O0VBQUE7QUFNQTs7O0VBR0k7RUFDQSx3Q0NsQm9CO0VEbUJwQjtFQUNBLG1CQzdEcUI7RUQ4RHJCO0VBQ0EsY0NwRnVCO0VEcUZ2QjtFRU1BO0VBQ0EsbUJEMUdzQjtBRm9FMUI7O0FDbUNBOztFQUFBO0FBSUE7RUFBSyxjQzdGc0I7QUY2RDNCOztBQ2tDQTs7RUFBQTtBQUlBO0VBQ0ksZ0JDbkNrQjtFRG9DbEIsV0M5SFc7RUQrSFg7QURoQ0o7O0FDbUNBOztFQUFBO0FBSUE7RUFDSSxnQkMzQ21CO0VENENuQixXQ3hJVztBRnVHZjs7QUNvQ0E7O0VBQUE7QUFJQTtFQUFJLGtCQ2pEb0I7QUZnQnhCOztBQ21DQTs7RUFBQTtBQUlBO0VBQVEsY0N0RGU7QUZzQnZCOztBQ2tDQTs7RUFBQTtBQUlBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0FEaENKOztBQ21DQTtFQUFNO0FEL0JOOztBQ2dDQTtFQUFNO0FENUJOOztBQytCQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7Ozs7OztFQUtRO0FEN0JSOztBQytCQTs7OztFQUFBO0FBTUE7Ozs7RUFJSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUQ3Qko7O0FDZ0NBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FEOUJKOztBQ2lDQTs7O0VBQUE7QUFLQTtFQUFTO0FEOUJUOztBQ2lDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7Ozs7Ozs7O0VBT1M7QUQvQlQ7O0FDaUNBO0FBQ0E7Ozs7Ozs7O0VBT2EsZ0JDM1BHO0FGOE5oQjs7QUNnQ0E7NkVBQUE7QUFHQTs7Ozs7Ozs7Ozs7O0VBWUk7RUFDQSxrTUNoTWlCO0VEaU1qQixtQkN0S3VCO0VEdUt2QixXQzNRb0I7RUQ0UXBCLG9CQ3RLMEI7QUZ3STlCOztBQ2tDQTtBQUNBOzs7Ozs7Ozs7Ozs7RUFXMEIsZ0JDckxIO0FGdUp2Qjs7QUNnQ0E7O0VBQUE7QUFJQTtFQUNJLHFCQ3pMZ0I7RUQwTGhCLGdCQ3pMa0I7QUYySnRCOztBQ2tDQTtFQUNJLGlCQzNMZ0I7RUQ0TGhCLGdCQzNMa0I7QUY0SnRCOztBQ21DQTtFQUNJLGlCQy9McUI7RURnTXJCLGdCQzlMa0I7QUY4SnRCOztBQ29DQTtFQUNJLGtCQ3hUc0I7RUR5VHRCLGdCQ2xNa0I7QUZpS3RCOztBQ3FDQTtFQUNJLGVDL09lO0VEZ1BmLGdCQ3RNa0I7QUZvS3RCOztBQ3NDQTtFQUNJLG1CQ2pScUI7RURrUnJCLGdCQzFNa0I7QUZ1S3RCOztBQ3VDQTtBQUNBO0VBRUk7SUFBYSxtQkM3UlU7RUZ5UHpCO0VDcUNFO0lBQWEsZUM5TlM7RUY0THhCO0FBQ0Y7QUNzQ0E7NkVBQUE7QUFHQTs7RUFDSyxrQkMxTm9CO0FGc0x6Qjs7QUNzQ0E7O0VBQUE7QUFJQTs7OztFQUdlO0FEbkNmOztBQ3NDQTs2RUFBQTtBQUdBO0VBQUs7QURuQ0w7O0FDb0NBO0VBQUs7QURoQ0w7O0FDbUNBOzZFQUFBO0FBR0E7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRGxDSjs7QUNzQ0E7QUFDQTs7RUFDYSxnQkNsWUc7QUZnV2hCOztBQ3FDQTs2RUFBQTtBQUdBO0VBQVU7QURsQ1Y7O0FDcUNBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLGtCQzlZc0I7RUQrWXRCLGdCQzVRMEI7RUQ2UTFCLGtCQzVReUI7RUNDekIsV0RsSW9CO0FGMld4Qjs7QUNzQ0E7QUFDQTtFQUFpQixnQkN2WkQ7QUZxWGhCOztBQ29DQTs7RUFBQTtBQUlBO0VBQTRCO0FEakM1Qjs7QUNtQ0E7RUFDSSxnQkN4UmtCO0VEeVJsQixtQkM1V3FCO0VENldyQixnQkN2UmlDO0VDQWpDLFdEcElXO0FGNFhmO0FHdFBJO0VBQVk7QUh5UGhCOztBQ2lDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFQUNBLFdDemFXO0VEMGFYO0VBQ0E7S0FBQTtFQUNBO0VBQ0E7RUVuU0EsYURvaUNlO0VDbmlDZjtFQUNBLGtCRHNpQ3FCO0VDcmlDckIsZ0JEeEZnQjtBRjRWcEI7O0FDZ0NBO0VBQVcsd0NDMVZhO0FGOFR4Qjs7QUMrQkE7NkVBQUE7QUFHQTtFQUFTO0FENUJUOztBQzhCQTtFQUFpQjtBRDFCakI7O0FDNkJBOzZFQUFBO0FBR0E7RUFDSSxnQkNuVHdCO0VEb1R4QixXQzlibUI7RUQrYm5CO0FEM0JKO0FDd0JBO0VBQ0ksZ0JDblR3QjtFRG9UeEIsV0M5Ym1CO0VEK2JuQjtBRDNCSjs7QUMrQkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtPQUNPO0VBQ0g7QUQ5Qko7O0FDaUNBOztFQUFBO0FBSUE7RUFBVTtBRDlCVjs7QUNnQ0E7O0VBQUE7QUFJQTtFQUFXO0FEN0JYOztBQ2dDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRC9CSjs7QUkvYkE7OzZFQUFBO0FBS0E7NkVBQUE7QUFHQTs7O0VBR0ksV0Z5QmlCO0FGc2FyQjs7QUkzYkE7OztFQUdJLFdGL0JXO0FGNmRmOztBSXpiQTs2RUFBQTtBQUdBOzs7RUFHSTtBSjJiSjs7QUl2YkE7OztFQUdJO0FKMGJKOztBSXJiQTs2RUFBQTtBQUdBOzs7RUFHSTtBSnViSjs7QUluYkE7OztFQUdJLGNGbkR3QjtFRW9EeEIscUJGcWlCaUM7QUYvR3JDOztBSWpiQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBRUk7RUFDQTtBSmtiSjs7QUk3YUE7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7QUorYUo7O0FLM2VBOzs2RUFBQTtBQUlBO0VBQ0ksaUJIa2RzQjtFR2pkdEIsZ0JIZ2V3QjtBRmE1Qjs7QUt6ZUE7RUFDSSxvQkg4Y3VCO0VHN2N2QixnQkgyZHlCO0FGaUI3Qjs7QUt4ZUE7RUFDSSxpQkgwY3NCO0VHemN0QixnQkhzZHdCO0FGcUI1Qjs7QUt2ZUE7RUFDSSxlSDhieUI7RUc3YnpCLGNIaWR5QjtBRnlCN0I7O0FLdGVBO0VBQ0ksZUhnY3dCO0VHL2J4QixjSDRjMEI7QUY2QjlCOztBS3JlQTtFQUNJLGVINmJ5QjtFRzViekIsY0h1YzBCO0FGaUM5Qjs7QUtwZUE7QUFDQTtFQUVJO0lBQW9CLGtCSDJhSTtFRjREMUI7RUt0ZUU7SUFBcUIsaUJINGFJO0VGNkQzQjtFS3hlRTtJQUFvQixlSHdhSztFRm1FM0I7RUsxZUU7SUFBcUIsZUgrYUc7RUY4RDFCO0VLNWVFO0lBQXNCLGVIaWJHO0VGOEQzQjtFSzllRTtJQUFzQixnQkhtYkk7RUY4RDVCO0FBQ0Y7QUs5ZUE7QUFDQTtFQUVJO0lBQXFCLGVIOFpJO0VGa0YzQjtFSy9lRTtJQUFvQixlSHFhSTtFRjZFMUI7RUtqZkU7SUFBcUIsZUh1YUk7RUY2RTNCO0VLbmZFO0lBQXNCLGdCSHlhSTtFRjZFNUI7RUtyZkU7SUFBc0IsZ0JIMGFJO0VGOEU1QjtBQUNGO0FLcGZBOzs2RUFBQTtBQWtCQTtBQVNBO0FBYUE7OzZFQUFBO0FBa0JBO0FBWUE7QUFhQTs2RUFBQTtBQUdBO0VBQ0ksaUNIcVY2QjtFR3BWN0I7QUw0YUo7O0FLdmFBOzZFQUFBO0FBR0E7RUFBcUI7QUwwYXJCOztBS3hhQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EscUJIaVVpQjtFR2hVakI7RUFDQTtFQUNBLHlCSCtUb0I7RUc5VHBCLCtCSCtUMEI7RUc5VDFCO0FMMGFKOztBS3JhQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBbUI7QUx1YW5COztBS3JhQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBTHVhSjs7QUtwYUE7Ozs7RUFBQTtBQU1BOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhSGdTaUI7RUcvUmpCO0VBQ0E7QUxzYUo7O0FLbGFBO0VBQ0k7RUFDQSwrQkgwUjZCO0FGMklqQzs7QUtuYUE7RUFDSTtFQUNBLDhCSHNSNkI7QUZnSmpDOztBTTlwQkE7OzZFQUFBO0FBSUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxtQkpoQ1k7QUYrckJoQjs7QU01cEJBO0FBQ0E7RUFBNEIsZ0JKcENaO0FGb3NCaEI7O0FNN3BCQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQSxZSnFTa0I7RUtuVGxCO0VEZ0JBO0VBQ0E7QU4rcEJKOztBTTNwQkE7O0VBRUk7RUFDQTtFQUNBLFFKNFJvQjtFSTNScEI7RUFDQTtBTjhwQko7O0FNMXBCQTtFQUNJO0VBQ0EsV0pxUnNCO0FGd1kxQjs7QU16cEJBO0VBQ0k7RUFDQSxXSitRc0I7QUY2WTFCOztBTXZwQkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtBQUNBO0VBQW9CO0FOeXBCcEI7O0FNdnBCQTtBQUNBO0VBQ0k7RUFDQTtFQUNBLFlKK1BrQjtFSTlQbEI7RUFDQTtFQUNBO0FOMHBCSjs7QU1ycEJBOzZFQUFBO0FBR0E7RUFDSTtFQUFBO0VBQ0EsYUpxUHNCO0VJcFB0QjtFQUNBO0VBQ0E7QU51cEJKOztBUTV0QkE7OzZFQUFBO0FBSUE7RUFDSTtFQUNBO0FSOHRCSjs7QVEzdEJBOztFQUFBO0FBSUE7RUFBZTtPQUFBO0FSOHRCZjs7QVE1dEJBOztFQUFBO0FBSUE7RUFBNkI7QVIrdEI3Qjs7QVE3dEJBOztFQUFBO0FBSUE7O0VBQ29CLGdCTjBFRTtBRnNwQnRCOztBUTd0QkE7NkVBQUE7QUFHQTs7Ozs7RUFJa0Isa0JOOGlCRTtBRmtMcEI7O0FROXRCQTtFQUFnQjtBUmt1QmhCOztBUWp1QkE7RUFBa0I7QVJxdUJsQjs7QVFwdUJBO0VBQWtCO0FSd3VCbEI7O0FRdnVCQTtFQUFtQjtBUjJ1Qm5COztBUTF1QkE7RUFBa0I7QVI4dUJsQjs7QVE1dUJBOztFQUFBO0FBSUE7RUFBNEI7QVIrdUI1Qjs7QVE5dUJBO0VBQStCO0FSa3ZCL0I7O0FRanZCQTtFQUE4QjtBUnF2QjlCOztBUXB2QkE7RUFBZ0M7QVJ3dkJoQzs7QVFydkJBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLGtCTnVoQmdCO0FGZ09wQjs7QVFwdkJBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXTitnQmdCO0VNOWdCaEI7RUQxRUE7RUM0RUE7RUFDQTtBUnV2Qko7O0FRbnZCQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxnQk5pQmtCO0VNaEJsQixpQk5nQmtCO0VNZmxCO0FSb3ZCSjs7QVFodkJBOztFQUFBO0FBSUE7RUFDSTtBUmt2Qko7QUc4V0k7RUFDSTtFQUNBO0FINVdSOztBUWx2QkE7RUFBdUMsbUJOcEhiO0FGMDJCMUI7O0FRcHZCQTtFQUFxQztBUnd2QnJDOztBUXJ2QkE7NkVBQUE7QUFHQTs7RUFDMEIsZ0JOL0lWO0FGdTRCaEI7O0FRdHZCQTs7RUFDNkI7QVIwdkI3Qjs7QVF4dkJBOztFQUFBO0FBSUE7RUFDSSxnQk56Slk7RU0wSlosaUJOMUpZO0FGbzVCaEI7O0FRdnZCQTtFQUNJO0VBQ0E7QVIwdkJKOztBUXZ2QkE7O0VBQUE7QUFJQTtFQUFxQztBUjB2QnJDOztBUXh2QkE7RUFDSTtFQUNBO0FSMnZCSjs7QVF4dkJBOztFQUNzRDtBUjR2QnREOztBUzE1QkE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJLFdQcEJvQjtFQ3lzQnBCLG1CRHpwQnFCO0VDMHBCckIsbUJEb2dCZ0M7RUNuZ0JoQyx5QkRvZ0JtQztBRjdSdkM7O0FTMTVCQTtFQUNJLGdCUDlCWTtBRjI3QmhCOztBUzE1QkE7O0VBQUE7QUFTQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSSxnQlBsRFk7RU9tRFosaUJQbkRZO0VPb0RaO0FUcTVCSjs7QVVwNkJBOzs2RUFBQTtBQUlBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CUnREWTtBRjI5QmhCOztBVWo2QkE7QUFDQTtFQUFnQixnQlIzREE7QUZnK0JoQjs7QVVsNkJBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJSckJxQjtFUXNCckIsbUJSODlCNEI7RVE3OUI1QixXUnBCaUI7RUM0OERZO0FIcGhDakM7O0FVLzVCQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBVmk2Qko7O0FVNzVCQTs7RUFBQTtBQUlBO0VBQTZCO0FWZzZCN0I7O0FVNzVCQTs2RUFBQTtBQUdBO0VBQ0ksbUJSaERxQjtBRis4QnpCOztBVTE1QkE7NkVBQUE7QUFHQTtFQUNJLG1CUnpEcUI7RVEwRHJCO0VBQ0EsV1J4RGlCO0FGbzlCckI7O0FVdjVCQTs2RUFBQTtBQUdBOztFQUNzQjtBVjA1QnRCOztBVXY1QkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBOzs7RUFHSTtBVnc1Qko7O0FVcDVCQTs7RUFBQTtBQUlBOztFQUVJLG1CUjlIc0I7RUN3L0R0QjtFQUNBO0FIbitCSjs7QVVwNUJBOztFQUFBO0FBSUE7O0VBRUksZ0JSbzVCMEI7QUZFOUI7O0FVajVCQTs2RUFBQTtBQUdBOztFQUVJLGdCUjA0QjBCO0FGUzlCOztBVS80QkE7NkVBQUE7QUFHQTs7RUFFSTtBVmk1Qko7O0FVNzRCQTs7RUFFSTtBVmc1Qko7O0FVMzRCQTs2RUFBQTtBQUdBOztFQUNtQztBVjg0Qm5DOztBVTU0QkE7O0VBQ2tDO0FWZzVCbEM7O0FVNzRCQTs2RUFBQTtBQUdBO0VBQW1CO0FWZzVCbkI7O0FVLzRCQTtFQUFtQixnQlJpM0JNO0FGa0N6Qjs7QVVoNUJBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUFpQjtBVms1QmpCOztBVWg1QkE7RUFDSTtFQUNBO0FWbTVCSjs7QVVoNUJBO0VBQXFDO0FWbzVCckM7O0FVajVCQTs2RUFBQTtBQUlBO0FBQ0E7RUFFSTs7Ozs7SUFJMEI7RVZrNUI1QjtFVWg1QkU7SUFBNkI7RVZtNUIvQjtFVWo1QkU7O0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFVm01Qk47RVVoNUJFOzs7SUFFNEQ7RVZtNUI5RDtFVWo1QkU7OztJQUUyRDtFVm81QjdEO0VVbDVCRTs7SUFFSTtJQUNBO0VWbzVCTjtBQUNGO0FHaTRCSTtFQUFxQjtBSDkzQnpCOztBR2c0Qkk7O0VBQzBEO0FINTNCOUQ7O0FXbm9DQTs7NkVBQUE7QUFJQTs7Ozs7Ozs7Ozs7O0VBQUE7QUFjQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYb29DSjs7QVdqb0NBO0FBQ0E7RUFBZ0M7QVhxb0NoQzs7QVdub0NBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FYcW9DSjs7QVdsb0NBOztFQUFBO0FBSUE7RUFBMkQ7QVhxb0MzRDs7QVdwb0NBO0VBQTZEO0FYd29DN0Q7O0FXdG9DQTs7RUFBQTtBQUlBO0VBQWU7QVh5b0NmOztBV3RvQ0E7NkVBQUE7QUFHQTs7OztFQUFBO0FBTUE7RUFDSSxXVDZjYztFUzVjZCxZVDRjYztFUzNjZDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO0VBQ0E7QVh1b0NKOztBV25vQ0E7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJLFdUcEVpQjtFU3FFakI7RUFDQTtBWG9vQ0o7O0FXaG9DQTtFQUNJLFdUNUhXO0FGK3ZDZjs7QVcvbkNBO0FBQ0E7O0VBRUksK0JUNGFxQjtBRnN0QnpCOztBVzluQ0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBLFdUa2FlO0VTamFmLFlUaWFlO0VTaGFmLG9CVGlhd0I7RVNoYXhCLG1CVHRJc0I7RVN1SXRCLFdUakdpQjtFU2tHakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFUmc2QkE7RUFDQTtBSGlPSjs7QVc5bkNBO0FBQ0E7RUFDSSw2Q1R1WjJCO0VTdFozQixXVDlKVztBRit4Q2Y7O0FXN25DQTtBQUNBOztFQUVJLDBDVGlaNEI7RVNoWjVCLFdUdEtXO0FGc3lDZjs7QVkveENBOzs2RUFBQTtBQUlBOzs7Ozs7OztFQUFBO0FBVUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaZ3lDSjs7QVk1eENBO0FBQ0E7RUFBa0I7QVpneUNsQjs7QVkveENBO0VBQThCO0FabXlDOUI7O0FZanlDQTs7RUFBQTtBQUlBO0VBQWlEO0Fab3lDakQ7O0FZbnlDQTtFQUE2QztBWnV5QzdDOztBWXB5Q0E7OztFQUFBO0FBS0E7QUFDQTtFQUNJLFdWMFZzQjtFVXpWdEIsdUNWMFYwQjtFQ3FaRSxvQkQrYUM7QUZ5SWpDOztBWW55Q0E7O0VBR0ksb0NWb1ZnQztBRmk5QnBDOztBWWp5Q0E7QUFDQTtFQUNJLFdWNFVzQjtFVTNVdEIsdUNWNFUwQjtFQ3FaRSxvQkQrYUM7QUZxSmpDOztBWWp5Q0E7RUFDSSxvQ1Z3VWdDO0FGNDlCcEM7O0FZaHlDQTs7OztFQUFBO0FBTUE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWVZ5VHNCO0VVeFR0QixXVndUc0I7RVV2VHRCLG9CVnlUNkI7RVV4VDdCLGdCVjVDZ0I7RUN1dkJZO0FId2xCaEM7O0FZL3hDQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsWVY2U3NCO0VVNVN0QixXVjRTc0I7RVUzU3RCO0VBQ0Esb0JWNFM2QjtFVTNTN0IsZ0JWekRnQjtFQ3V2Qlk7QUhxbUJoQzs7QWE3MUNBOzs2RUFBQTtBQUlBOzs7Ozs7Ozs7RUFBQTtBQVdBOzs7OztFQUtJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWI4MUNKOztBYTMxQ0E7O0VBQUE7QUFJQTtFQUFZO0FiODFDWjs7QWE1MUNBOztFQUFBO0FBSUE7RUFBYTtBYisxQ2I7O0FhNzFDQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBYisxQ0o7O0FhNTFDQTs7RUFBQTtBQUlBO0VBQWU7QWIrMUNmOztBYTcxQ0E7O0VBQUE7QUFJQTs7RUFDc0Q7QWJnMkN0RDs7QWE5MUNBOztFQUFBO0FBSUE7O0VBQ3NEO0FiaTJDdEQ7O0FhLzFDQTs7RUFBQTtBQUlBOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtBYmkyQ0o7O0FhOTFDQTs7RUFBQTtBQUlBOztFQUNpQztBYmkyQ2pDOztBYS8xQ0E7O0VBQUE7QUFJQTs7RUFDOEI7QWJrMkM5Qjs7QWFoMkNBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYmsyQ0o7O0FhOTFDQTs7Ozs2RUFBQTtBQU1BOztFQUFBO0FBSUE7O0VBQ2U7QWJnMkNmOztBYTkxQ0E7Ozs7O0VBQUE7QUFPQTs7O0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCWGxKZ0I7RVdtSmhCLFdYeE1XO0VDdzFCWDtFQUNBO0VBQ0E7QUhpdEJKOztBYS8xQ0E7Ozs7O0VBQUE7QUFPQTs7RUFFSSxZWGhEb0I7RVdpRHBCO0VBQ0E7RUFDQTtBYmkyQ0o7O0FhNzFDQTtBQUNBOztFQUN5QixpQlhtTU47QUY4cENuQjs7QWEvMUNBOztFQUFBO0FBSUE7OztFQUdJLGdCWDRMb0I7RVczTHBCLG1CWDJMb0I7RVcxTHBCO0FiaTJDSjs7QWE3MUNBOztFQUNtQjtBYmkyQ25COztBYS8xQ0E7QUFDQTs7O0VBR0k7RUFDQSxzQlhoTWdCO0VXaU1oQixXWHRQVztFQzgxQlcscUJEOTBCRTtBRnlrRDVCOztBYS8xQ0E7QUFDQTs7O0VBR0kseUJYblBzQjtFV29QdEIsV1g5TWlCO0VDOHlCUSxxQkRwdUJiO0FGdStDaEI7O0FhLzFDQTs7RUFBQTtBQUlBO0VBQXlCLFdYdE5KO0FGd2pEckI7QWFsMkNBO0VBQXlCLFdYdE5KO0FGd2pEckI7O0FhaDJDQTtFQUE0QixXWHhOUDtBRjRqRHJCOztBYXAyQ0E7RUFBNEIsV1h4TlA7QUY0akRyQjs7QWFqMkNBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUFpQixtQlhyT1E7QUZ3a0R6Qjs7QWFqMkNBO0FBQ0E7RUFDSSxZWC9HMEI7RVdnSDFCLGlCWG9KNEI7RVduSjVCLGtCWG1KNEI7QUZpdENoQzs7QWFqMkNBO0FBQ0E7OztFQUV1QjtBYnEyQ3ZCOztBYW4yQ0E7RUFBc0QsaUJYNkk3QjtBRjB0Q3pCOztBYXIyQ0E7O0VBQUE7QUFJQTtFQUFpQixrQlg1U1M7QUZvcEQxQjs7QWF0MkNBO0FBQ0E7RUFDSSxZWGpJMEI7RVdrSTFCLGtCWHFJNEI7RVdwSTVCLG1CWG9JNEI7QUZxdUNoQzs7QWF0MkNBO0FBQ0E7OztFQUV1QjtBYjAyQ3ZCOztBYXgyQ0E7RUFBc0QsaUJYOEg3QjtBRjh1Q3pCOztBYXoyQ0E7NkVBQUE7QUFHQTs7RUFBQTtBQUlBOztFQUVJLGNYeFN1QjtFQ3UwQkEscUJEdjBCQTtBRm1wRDNCOztBYXYyQ0E7O0VBQUE7QUFJQTs7RUFFSSxjWHhUd0I7RUM4MEJBLHFCRDkwQkE7QUZrcUQ1Qjs7QWF0MkNBOztFQUFBO0FBSUE7RUFDSTtFVjhnQnNCO0FIMjFCMUI7O0FhcjJDQTtFVjRnQkkscUJEenVCWTtFQzB1QlosbUJEOFg0QjtBRitkaEM7O0FhcjJDQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQTZCLFdYa0ZUO0FGcXhDcEI7O0FhcjJDQTtFQUE4QjtBYnkyQzlCOztBYXYyQ0E7RUFBdUIsWVgrRUo7QUY0eENuQjs7QWF6MkNBO0VBQXdCLFlYOEVKO0FGK3hDcEI7O0FhMzJDQTtFQUF1QixZWDZFSjtBRmt5Q25COztBYTUyQ0E7NkVBQUE7QUFHQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CWDZEd0I7RUtwYXhCO0VNeVdBO0VBQ0E7QWI2MkNKOztBYTEyQ0E7QUFDQTtFQUFnRCxXWHJZakM7QUZtdkRmOztBYTUyQ0E7O0VBQUE7QUFJQTtFTnBYSTtBUG11REo7O0FhNTJDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUM7RUFDRyxtQlh5QzBCO0VXeEMxQjtFQUNBO0FiNjJDSjs7QWExMkNBOztFTnBZSTtBUG12REo7O0FhNTJDQTtBQUNBO0VBQXFEO0FiZzNDckQ7O0FhNzJDQTs2RUFBQTtBQUdBOzs7Ozs7O0VBQUE7QUFTQTs7RUFFSTtFQUNBO0VBQ0EsWVhlYztFV2RkLFdYY2M7RVdiZDtFQUNBO0VBQ0E7RUFDQSxnQlhXb0I7RVdWcEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZCWE1vQjtFV0xwQjtFQUNBO0VBQ0E7RVZ3YUE7RUFDQTtFQUNBO0FIdThCSjs7QWE3MkNBO0VBQVk7QWJpM0NaOztBYS8yQ0E7QUFDQTs7RUFFSSxrQ1hMMEI7RVdNMUI7RVZrYTRCLHFCRDUxQko7QUY2eUQ1Qjs7QWEvMkNBOztFQUFBO0FBSUE7OztFQUdJLHlCWHJjd0I7RUM2MUJNLHlCRDBYTjtBRmdtQjVCOztBYTkyQ0E7QUFDQTs7O0VBR0ksK0NYdEJrQztBRnU0Q3RDOztBYTcyQ0E7O0VBQUE7QUFJQTtFTjljSTtBUDh6REo7O0FhLzJDQTtFTi9jSTtBUGswREo7O0FhbDNDQTtFTmhkSTtBUHMwREo7O0FhcDNDQTs7RUFBQTtBQUlBOztFQUVJLHlCWHBlc0I7RUNvMkJTLHFCRHB2Qm5CO0FGMnVEaEI7O0FhbjNDQTtFTjVkSTtBUG0xREo7O0FhdDNDQTtFTjdkSTtBUHUxREo7O0FhejNDQTtFTjlkSTtBUDIxREo7O0FhMTNDQTs2RUFBQTtBQUdBOzs7Ozs7RUFBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxpQlg3WnFCO0VXOFpyQixnQlhqRXNCO0FGNDdDMUI7O0FhdDNDQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FidTNDSjs7QWFwM0NBOzs7Ozs7O0VBQUE7QUFTQTs7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBYnMzQ0o7O0FhbjNDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FiczNDSjs7QWFsM0NBOzZFQUFBO0FBR0E7RVZ1U0ksV0RwM0JvQjtFQ3EzQnBCLG1CRHIwQnFCO0FGbTVEekI7O0FhajNDQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFQUNBLGtCWDdJeUI7QUYrL0M3Qjs7QWE5MkNBOztFQUFBO0FBSUE7QUFDQTtFQUVJO0VBQ0E7SUFDSTtJQUNBLGtCWDNKcUI7RUYwZ0QzQjtBQUNGO0FhMTJDQTtBQUNBO0VBRUk7SUFDSSxZWHBLc0I7SVdxS3RCLGVYcEsyQjtJV3FLM0I7RWIyMkNOO0VhdjJDRTtJQUF3QyxrQlh4S0w7RUZraERyQztFYXgyQ0U7RUFDQTtJQUE2QyxnQlgxS0w7RUZxaEQxQztBQUNGO0FhdjJDQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXWDNlb0I7RVc0ZXBCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXWHJtQmlCO0FGNDhEckI7O0FhbjJDQTs7RUFBQTtBQUlBO0VBQXNCLFdYOXBCUDtBRm9nRWY7O0FhcDJDQTs7RUFBQTtBQUlBO0VBQThDO0FidTJDOUM7O0FhcjJDQTs7RUFBQTtBQUlBO0VBQW9EO0FidzJDcEQ7O0FhdDJDQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBYncyQ0o7O0FhcjJDQTtFQUFpQztBYnkyQ2pDOztBY2xnRUE7OzZFQUFBO0FBSUE7Ozs7Ozs7Ozs7OztFQUFBO0FBY0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CWnBCcUI7RVlxQnJCO0VBQ0EsaUJabUdpQjtFWWxHakI7RUFDQTtFQUNBO0VBQ0E7RVhxUEEseUJEdzNCb0I7RUN2M0JwQjtFQUNBO0FIK3dESjs7QWNsZ0VBO0VBQTRCO0Fkc2dFNUI7O0FjcGdFQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBZHNnRUo7O0FjbmdFQTtBQUNBO0VBQ0k7RUFDQTtBZHNnRUo7O0FjbGdFQTtBQU9BOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLDZCWnNFd0I7RVlyRXhCLFdaaEhvQjtFQ3FVTTtBSHl5RDlCOztBYzEvREE7QUFDQTtFQUNJLDZCWmlFOEI7RVloRTlCLFdadkhvQjtFQ3NVWSxxQkRtM0JOO0FGNDdCOUI7O0FjMS9EQTtBQUNBOztFQUVJLDZCWjJEK0I7RVkxRC9CLFdaL0hvQjtFQ3VVYSxzQ0RtM0JOO0FGbThCL0I7O0FjMS9EQTs7RUFBQTtBQUlBO0VBQ0kseUJadEh3QjtFWXVIeEIsV1pwSW1CO0VDbVVPO0FIOHpEOUI7O0Fjei9EQTtBQUNBO0VBQ0ksa0RaOEM4QjtFWTdDOUIsV1ozSW1CO0FGdW9FdkI7O0FjeC9EQTtBQUNBOztFQUVJLCtDWndDK0I7RVl2Qy9CLFdabkptQjtBRjhvRXZCOztBY3YvREE7O0VBQUE7QUFJQTtFQUNJLHNCWnRHMEI7RVl1RzFCLFdaN0ptQjtFQ3NVUztBSGkxRGhDOztBY3QvREE7QUFDQTtFQUNJLDBDWjJCZ0M7RVkxQmhDLFdacEttQjtBRjZwRXZCOztBY3IvREE7QUFDQTs7RUFFSSxvQ1pxQmlDO0VZcEJqQyxXWjVLbUI7QUZvcUV2Qjs7QWNwL0RBOztFQUFBO0FBSUE7RUFDSSx5QlovSnVCO0VZZ0t2QixXWnRMbUI7RUN5VU07QUhvMkQ3Qjs7QWNuL0RBO0FBQ0E7RUFDSSxtRVpRNkI7RVlQN0IsV1o3TG1CO0FGbXJFdkI7O0FjbC9EQTtBQUNBOztFQUVJLG1FWkU4QjtFWUQ5QixXWnJNbUI7QUYwckV2Qjs7QWNqL0RBOzs7RUFBQTtBQUtBOzs7O0VBSUksNkJaVnlCO0VZV3pCLFdacktpQjtFQzhSVSxxQkRwTmY7QUYra0VoQjs7QWMvK0RBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLGlCWnZEdUI7RVl3RHZCLG1CWm5McUI7QUZvcUV6Qjs7QWM3K0RBO0VBQ0k7RUFDQSxpQlo1RHVCO0VZNkR2QixtQloxTHFCO0FGMHFFekI7O0FjMytEQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQSxnQlo3S2lCO0VZOEtqQjtFQUNBO0VBQ0EsV1o5UG9CO0VDc1ZwQjtBSHE1REo7QUduNURJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUhxNURSOztBY2wvREE7QUFDQTtFQUNJLFdacFFvQjtBRnl2RXhCO0FHcDVESTtFQUFZO0FIdTVEaEI7O0FjcC9EQTtBQUNBO0VBQ0ksV1p2TmlCO0FGOHNFckI7QUd2NURJO0VBQVk7QUgwNURoQjs7QWN0L0RBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQSxnQlp6TWlCO0VZME1qQjtFQUNBO0VBQ0EsV1oxUm9CO0FGa3hFeEI7O0FjcC9EQTtBQUNBO0VBQ0ksV1o3T2lCO0VZOE9qQixxQlozRWdDO0FGa2tFcEM7O0FjcC9EQTtBQUNBO0VBQ0ksV1puUGlCO0VZb1BqQjtBZHUvREo7O0Fjbi9EQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZG8vREo7O0FHOTdESTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBQ21EO0FIZzhEdkQ7O0FHOTdESTs7Ozs7RUFBQTtBQU9BOzs7O0VBSUk7RUFDQTtBSGc4RFI7O0FlN3pFQTs7NkVBQUE7QUFJQTs7Ozs7O0VBQUE7QUFRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmJqQnNCO0Vha0J0QjtFQUNBLG1CYnJDWTtFYXNDWixZYm8zQmM7RUMwd0JkLG9CRHZacUI7RUN3WnJCO0FIaXNCSjs7QWU1ekVBO0FBQ0E7RUFBbUIsZ0JiM0NIO0FGMjJFaEI7O0FlOXpFQTs7RUFBQTtBQUlDO0VBQXFDO0FmaTBFdEM7O0FlL3pFQTs7OztFQUFBO0FBTUE7RUFDSSx5QmJuQ3dCO0Vhb0N4QjtFQUFBO0FmaTBFSjs7QWU3ekVBO0VBQ0kseUJiekN3QjtFYTBDeEI7RUFDQTtFQUFBO0FmZzBFSjs7QWdCajJFQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBLGlCZGdFbUI7RWMvRG5CLG9CZCtEbUI7QUZteUV2Qjs7QWdCOTFFQTtBQUNBO0VBRUk7SUFDSSxpQmROYztJY09kLG9CZFBjO0VGdTJFcEI7QUFDRjtBZ0I1MUVBOztFQUFBO0FBSUE7RUFBNEI7QWhCODFFNUI7O0FnQjMxRUE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0ksaUJkMUVZO0VjMkVaLG9CZDNFWTtBRnU2RWhCOztBZ0J6MUVBOztFQUFBO0FBSUE7RUFDSSxpQmR5Qm1CO0VjeEJuQixvQmR3Qm1CO0FGbTBFdkI7O0FnQngxRUE7O0VBQUE7QUFJQTtFQUNJLGlCZDdDa0I7RWM4Q2xCLG9CZDlDa0I7QUZ3NEV0Qjs7QWdCdjFFQTtBQUNBO0VBRUk7SUFDSSxrQmRrakJlO0ljampCZixxQmRpakJlO0VGd3lEckI7QUFDRjtBZ0JyMUVBOztFQUFBO0FBSUE7RUFDSSxrQmR1aUJtQjtFY3RpQm5CLHFCZHNpQm1CO0FGZ3pEdkI7O0FnQm4xRUE7QUFDQTtFQUVJO0lBQ0ksa0JkODFCNEI7SWM3MUI1QixxQmQ2MUI0QjtFRncvQ2xDO0FBQ0Y7QWdCaDFFQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFQUNBLGdCZDNFZ0I7QUYyNUVwQjs7QWdCejBFQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSxtQmRsSXNCO0FGNjhFMUI7O0FnQm4wRUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0EsbUJkM0l3QjtBRmc5RTVCOztBZ0I5ekVBOztFQUFBO0FBSUE7RUFDSTtFQUNBLGdCZC9HMEI7QUYrNkU5Qjs7QWdCeHpFQTs2RUFBQTtBQUdBOzs7RUFBQTtBQ3BLQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGlCZnVSa0I7RWV0UmxCO0VBQ0E7RUFDQSxrQmZ5UjJCO0VleFIzQixtQmZ3UjJCO0FGd3NFL0I7O0FpQjc5RUE7QUFDQTtFQUVJO0lBQ0ksa0JmWFE7SWVZUixtQmZaUTtFRjIrRWQ7QUFDRjtBaUIzOUVBO0FBQ0E7RUFFSTtJQUNJLGtCZmxCZTtJZW1CZixtQmZuQmU7RUYrK0VyQjtBQUNGO0FpQng5RUE7O0VBQUE7QUFJQTtFQUE4QjtBakIwOUU5Qjs7QWlCeDlFQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBakIwOUVKOztBaUJ0OUVBOzZFQUFBO0FBR0E7RUFBdUIsZ0JmME9NO0FGK3VFN0I7O0FpQnY5RUE7RUFBc0IsZ0JmeU9NO0FGa3ZFNUI7O0FpQno5RUE7RUFBc0IsaUJmd09NO0FGcXZFNUI7O0FpQjM5RUE7RUFBdUIsaUJmdU9NO0FGd3ZFN0I7O0FpQjc5RUE7RUFBdUI7QWpCaStFdkI7O0FpQjk5RUE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQTRCO0FqQmcrRTVCOztBaUIvOUVBO0VBQTZCO0FqQm0rRTdCOztBaUJqK0VBO0FBQ0E7RUFFSTs7SUFDaUQ7RWpCbytFbkQ7RWlCbCtFRTs7SUFDZ0Q7RWpCcStFbEQ7QUFDRjtBaUJsK0VBO0FBQ0E7RUFFSTs7SUFDNkI7RWpCbytFL0I7RWlCbCtFRTs7SUFDaUQ7RWpCcStFbkQ7RWlCbitFRTs7SUFDZ0Q7RWpCcytFbEQ7RWlCcCtFRTs7SUFDZ0Q7RWpCdStFbEQ7RWlCcitFRTs7SUFDaUQ7RWpCdytFbkQ7QUFDRjtBaUJwK0VBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7O0VBQzBDO0FqQnErRTFDOztBaUJuK0VBO0VBQXlDO0FqQnUrRXpDOztBaUJ0K0VBO0VBQTBDO0FqQjArRTFDOztBaUJ4K0VBO0FBQ0E7RUFFSTs7SUFDMEM7RWpCMitFNUM7RWlCeitFRTtJQUF5QztFakI0K0UzQztFaUIzK0VFO0lBQTBDO0VqQjgrRTVDO0FBQ0Y7QWlCMytFQTtBQUNBO0VBRUk7O0lBQzBDO0VqQjYrRTVDO0VpQjMrRUU7SUFBeUM7RWpCOCtFM0M7RWlCNytFRTtJQUEwQztFakJnL0U1QztBQUNGO0FrQnZuRkE7OzZFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQmhCaWpDc0I7RWdCaGpDdEIsbUJoQmdqQ3NCO0VnQi9pQ3RCLGlCaEJrRW1CO0VnQmpFbkIsb0JoQmlFbUI7QUZ1akZ2Qjs7QWtCcG5GQTtBQUNBO0VBRUk7SUFDSSxrQmhCaEJRO0lnQmlCUixtQmhCakJRO0VGdW9GZDtBQUNGO0FrQmxuRkE7QUFDQTtFQUVJO0lBQ0ksa0JoQnZCZTtJZ0J3QmYsbUJoQnhCZTtJZ0J5QmYsaUJoQmhCYztJZ0JpQmQsb0JoQmpCYztFRm9vRnBCO0FBQ0Y7QWtCL21GQTs7RUFBQTtBQUlBO0VBQXlCO0FsQmluRnpCOztBa0I5bUZBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLGlCaEJwRlk7RWdCcUZaLG9CaEJyRlk7QUZvc0ZoQjs7QWtCNW1GQTs7RUFBQTtBQUlBO0VBQ0ksaUJoQmVtQjtFZ0JkbkIsb0JoQmNtQjtBRmdtRnZCOztBa0IzbUZBOztFQUFBO0FBSUE7RUFDSSxpQmhCdkRrQjtFZ0J3RGxCLG9CaEJ4RGtCO0FGcXFGdEI7O0FrQjFtRkE7QUFDQTtFQUVJO0lBQ0ksa0JoQndpQmU7SWdCdmlCZixxQmhCdWlCZTtFRnFrRXJCO0FBQ0Y7QWtCdm1GQTs7RUFBQTtBQUlBO0VBQ0ksa0JoQjRoQm1CO0VnQjNoQm5CLHFCaEIyaEJtQjtBRjZrRXZCOztBa0JybUZBO0FBQ0E7RUFFSTtJQUNJLGtCaEJpK0J5QjtJZ0JoK0J6QixxQmhCZytCeUI7RUZ1b0QvQjtBQUNGO0FrQmxtRkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSxzQmhCdEZnQjtBRndyRnBCOztBa0J0bEZBOztFQUFBO0FBSUE7RUFDSTtFQUNBLHlCaEJsSnNCO0FGMHVGMUI7O0FrQjVrRkE7O0VBQUE7QUFJQTtFQUNJO0VBQ0EseUJoQi9Kd0I7QUY2dUY1Qjs7QWtCbGtGQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSxzQmhCeEkwQjtBRjRzRjlCOztBbUJsdUZBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQTtFaEJvZGdCO0FIaXhFcEI7O0FtQmh1RkE7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7QW5Ca3VGSjs7QW1COXRGQTtFQUNJO0VBQ0E7QW5CaXVGSjs7QW1CN3RGQTtFQUNJO0VBQ0E7QW5CZ3VGSjs7QW1CNXRGQTtBQUNBO0VBRUk7SUFBZ0I7RW5CK3RGbEI7RW1CN3RGRTtJQUFrQjtFbkJndUZwQjtFbUI5dEZFO0lBQWtCO0VuQml1RnBCO0FBQ0Y7QW1COXRGQTs7RUFBQTtBQUlBOzs7RUFFZ0M7QW5CZ3VGaEM7O0FtQjd0RkE7NkVBQUE7QUFHQTs7O0VBQUE7QUE0QkE7NkVBQUE7QUFHQTtFQUNJLGlCakJacUI7RWlCYXJCLGdCakIrSHFCO0FGdWtGekI7O0FtQmpzRkE7NkVBQUE7QUFHQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBLFNqQjhHYTtFaUI3R2IsV2pCOEdlO0VpQjdHZjtFQUNBO0VBQ0EsWWpCNEdnQjtFaUIzR2hCO0VBQ0E7RUFDQSxtQmpCcEl3QjtFaUJxSXhCLFdqQmxKbUI7RWlCbUpuQixtQmpCeEdxQjtFaUJ5R3JCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RWhCNldBLGtCRG9yQnVCO0VDbnJCdkIseUJEb3JCd0I7QUZrcUQ1Qjs7QW1CaHNGQTs7RUFBQTtBQUlBO0VBQWlDO0FuQm1zRmpDOztBbUJoc0ZBOzZFQUFBO0FBR0E7RUFDSSxzQmpCckhnQjtFQ3NkTSwyQ0Qrb0JBO0FGbXREMUI7O0FtQjlyRkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0Esc0JqQnBJZ0I7RWlCcUloQixXakIxTFc7RUM0Z0JhLDBDRDZvQkQ7QUZpdUQzQjs7QW1CNXJGQTtFQUNJLFdqQmpNb0I7QUZnNEZ4Qjs7QW1CM3JGQTtFQUNJLHNCakIvSWdCO0VDeWRjLDJDRDRvQlI7QUZ5dUQxQjs7QW1CM3JGQTtFaEJ1VW1DO0FIdzNFbkM7O0FtQjNyRkE7RWhCb1VtQztBSDIzRW5DOztBbUJyckZBOztFQUFBO0FBSUE7RUFDSTtFQUNBLHlCakI1TXdCO0VpQjZNeEIsV2pCMU5tQjtFQzhnQkssMENEd29CRDtBRjR2RDNCOztBbUJwckZBO0VBQ0ksV2pCL05tQjtBRnM1RnZCOztBbUJuckZBO0VBQ0kseUJqQnZOd0I7RUNtZ0JNLDJDRHVvQlI7QUZvd0QxQjs7QW1CN3FGQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQSxzQmpCOUwwQjtFaUIrTDFCLFdqQnJQbUI7RUNpaEJPLDBDRHFvQkg7QUYrd0QzQjs7QW1CNXFGQTtFQUNJLFdqQjFQbUI7QUZ5NkZ2Qjs7QW1CM3FGQTtFQUNJLHNCakJ6TTBCO0VDNmRNLDJDRG9vQlY7QUZ1eEQxQjs7QW1CcHFGQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7O0VBQytCO0FuQnNxRi9COztBbUJwcUZBO0VBQWlDO0FuQndxRmpDOztBbUJ2cUZBO0VBQWlDO0FuQjJxRmpDOztBbUJ6cUZBOztFQUFBO0FBSUE7QUFDQTtFQUVJOztJQUMrQjtFbkIycUZqQztFbUJ6cUZFO0lBQWlDO0VuQjRxRm5DO0VtQjNxRkU7SUFBaUM7RW5COHFGbkM7QUFDRjtBRzM3RUk7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QUg0N0VSOztBRzE3RUk7RUFDSTtFQUNBO0FINjdFUjs7QUcxN0VJOzs7RUFHSSxrQkQ3Z0JRO0VDOGdCUixtQkQ5Z0JRO0FGMjhGaEI7O0FHMTdFSTtFQUE4QztBSDg3RWxEOztBRzM3RUk7QUFDQTtFQUVJO0lBQ0k7SUFDQTtFSDY3RVY7RUczN0VNO0lBQ0k7SUFDQTtFSDY3RVY7RUcxN0VNOzs7SUFHSSxrQkRoaUJXO0lDaWlCWCxtQkRqaUJXO0VGNjlGckI7RUd6N0VNO0lBQThDO0VINDdFcEQ7QUFDRjtBR3o3RUk7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QUgwN0VSOztBR3g3RUk7RUFDSTtFQUNBO0FIMjdFUjs7QUd4N0VJOzs7RUFHSSxrQkQ5bEJRO0VDK2xCUixtQkQvbEJRO0FGMGhHaEI7O0FHeDdFSTtFQUErQztBSDQ3RW5EOztBRzE3RUk7O0VBQUE7QUFJQTtBQUNBO0VBRUk7SUFBbUM7RUg0N0V6QztFRzM3RU07SUFBOEM7RUg4N0VwRDtFRzU3RU07OztJQUdJO0lBQ0E7RUg4N0VWO0VHMzdFTTtJQUErQyxrQkQ4RXJCO0VGZzNFaEM7QUFDRjtBb0J2aUdBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSSxXbEJrQ2lCO0VDNmtCakI7RUFDQTtBSHk3RUo7O0FvQnJpR0E7QUFDQTtFQUNJLFdsQnJCVztBRjZqR2Y7O0FxQnRqR0E7OzZFQUFBO0FBSUE7O0VBQUE7QUFTQTs2RUFBQTtBQUdBO0VBQWtCO0FyQmtqR2xCOztBcUJoakdBO0VBQ0k7SUFBSztFckJvakdQO0VxQm5qR0U7SUFBTztFckJzakdUO0FBQ0Y7QXFCcGpHQTs7RUFBQTtBQUlBO0VBQ0ksc0JuQnc4Qm9CO0VtQnY4QnBCO0VBQ0E7RUFDQTtFQUNBLGVuQms4Qm1CO0VtQmo4Qm5CO0FyQnFqR0o7O0FxQmxqR0E7RUFDSTtJQUFLLHVCbkIrN0JlO0VGdW5FdEI7RXFCcmpHRTtJQUNJO0lBQ0E7RXJCdWpHTjtFcUJyakdFO0lBQ0ksdUJuQnk3QmdCO0ltQng3QmhCO0VyQnVqR047QUFDRjtBc0JubUdBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSSxZcEI2bENZO0VvQjVsQ1osV3BCK0JpQjtFQ3lrRUE7QUg0L0JyQjs7QXNCaG1HQTtBQUNBO0VBQ0ksV3BCeEJXO0FGMm5HZjs7QXNCL2xHQTtBQUNBO0VBQ0ksV3BCaENvQjtBRmtvR3hCOztBdUJ6bkdBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSSxZckJpb0JhO0VxQmhvQmIsZ0JyQndDMEI7RXFCdkMxQixXckJmbUI7RUNpd0NuQjtBSHk0REo7O0F1QnZuR0E7QUFDQTtFQUNJLFdyQnJCbUI7QUYrb0d2Qjs7QXdCaG9HQTs7NkVBQUE7QUFJQTtFQUNJO0VBQ0EsbUJ0Qi9CWTtFc0JnQ1o7RUFDQSxtQnRCZnNCO0VzQmdCdEIsV3RCM0JXO0FGNnBHZjs7QXdCOW5HQTtBQUNBO0VBQWdCLGdCdEJ2Q0E7QUZ5cUdoQjs7QXdCaG9HQTs7RUFBQTtBQUlBO0VBQTBCO0F4Qm1vRzFCOztBd0Job0dBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQSxTdEJqQ2M7RXNCa0NkLFd0QnZDWTtFQ21CWjtFQUNBLFlEd29Da0I7QUYrZ0V0Qjs7QXdCaG9HQTs7RUFBQTtBQUlBO0VBQWtDO0F4Qm1vR2xDOztBd0Jqb0dBOztFQUFBO0FBSUE7RXJCOUJJO0VBQ0EsWURxb0N3QjtBRjZoRTVCOztBd0Job0dBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLHNDdEIxRHVCO0VzQjJEdkIsY3RCNUR3QjtBRjZyRzVCOztBd0I3bkdBOztFQUFBO0FBSUE7RUFDSSx1Q3RCakV1QjtFc0JrRXZCLGN0Qm5Fd0I7QUZrc0c1Qjs7QXdCM25HQTs7RUFBQTtBQUlBO0VBQ0ksb0N0QnhFdUI7RXNCeUV2QixjdEIxRXdCO0FGdXNHNUI7O0F3QnpuR0E7O0VBQUE7QUFJQTtFQUNJLCtEdEIvRXNCO0VzQmdGdEIsY3RCakZ1QjtBRjRzRzNCOztBRzVyR0k7O0VBQUE7QUFJQTs7Ozs7O0VBS2U7QUgrckduQjs7QUc3ckdJO0VBQ0k7RUFDQTtBSGdzR1I7O0FHN3JHSTtFQUNJO0VBQ0E7QUhnc0dSOztBeUJydkdBOzs2RUFBQTtBQUlBO0VBQ0ksbUJ2QmxCWTtFdUJtQlo7RUFDQSx1QnZCaTRCcUI7RUMwd0JFO0FINm1EM0I7O0F5QnB2R0E7QUFDQTtFQUFzQixnQnZCekJOO0FGaXhHaEI7O0F5QnR2R0E7O0VBQUE7QUFJQTtFQUFnQztBekJ5dkdoQzs7QTBCM3dHQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0EsZXhCMENTO0V3QnpDVCxZeEJ5Q1M7RXdCeENUO0VBQ0Esb0J4QjBDa0I7RXdCekNsQjtFQUNBO0VBQ0EsbUJ4QlB3QjtFd0JReEI7RUFDQSxleEJ3Q2M7RXdCdkNkO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCNHdHSjs7QTBCeHdHQTs7RUFBQTtBQUlBO0VBQ0k7QTFCMHdHSjs7QTJCdHlHQTs7NkVBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQSxtQnpCRndCO0V5Qkd4QixnQnpCeURpQjtFeUJ4RGpCLG1CekIwQnFCO0V5QnpCckIsV3pCbEJtQjtFeUJtQm5CO0VBQ0E7RXhCd25DQSxrQkQ4RmtCO0VDN0ZsQix5QkQ4Rm1CO0FGbWxFdkI7O0EyQnJ5R0E7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0kseUJ6QmpCd0I7RXlCa0J4QixXekJsQ21CO0FGdzBHdkI7O0EyQmx5R0E7O0VBQUE7QUFJQTtFQUNJLHlCekJ4QndCO0V5QnlCeEIsV3pCNUNtQjtBRmcxR3ZCOztBMkJoeUdBOztFQUFBO0FBSUE7RUFDSSx5QnpCL0J1QjtFeUJnQ3ZCLFd6QnREbUI7QUZ3MUd2Qjs7QTRCOTBHQTs7NkVBQUE7QUFJQTtFQUNJO0E1QmcxR0o7O0E0QjUwR0E7O0VBQUE7QUFJQTtFQUE0QjtBNUIrMEc1Qjs7QTRCNTBHQTs2RUFBQTtBQVFBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0Esb0MxQncwQnlCO0FGKy9FN0I7O0E0Qi96R0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0EsaUMxQjR6QnlCO0FGcWdGN0I7O0E2QmwzR0E7OzZFQUFBO0FBSUE7RUFDSTtBN0JvM0dKOztBNkJoM0dBOztFQUFBO0FBSUE7RUFBNEI7QTdCbTNHNUI7O0E2QmgzR0E7NkVBQUE7QUFHQTtFQUNJLGdCM0JTa0I7QUZ5Mkd0Qjs7QTZCNzJHQTs2RUFBQTtBQUdBO0VBQ0kscUIzQklzQjtFMkJIdEIsZ0IzQkl3QjtBRjIyRzVCOztBNkIzMkdBO0FBQ0E7RUFFSTtJQUFvQixtQjNCTkc7RUZvM0d6QjtBQUNGO0E2QjEyR0E7NkVBQUE7QUFHQTtFQUNJLG1CM0JYcUI7RTJCWXJCLGdCM0JWdUI7RTJCV3ZCLFczQlZpQjtBRnEzR3JCO0FHaDJHSTtFQUFJLFdEckJhO0FGdzNHckI7QUdqMkdJO0VBQ0ksV0R6RU87RUMwRVA7QUhtMkdSOztBOEIzNUdBOzs2RUFBQTtBQVNBOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7QTlCdTVHSjs7QThCbjVHQTtFQUNJO0VBQ0EsbUI1QjlDWTtBRm84R2hCOztBOEJsNUdBOztFQUFBO0FBSUE7O0VBQ21DO0E5QnE1R25DOztBOEJsNUdBOzZFQUFBO0FBR0E7RUFDSSxrQjVCNURzQjtFNEI2RHRCLGdCNUJvUHdCO0FGZ3FHNUI7O0E4Qi80R0E7NkVBQUE7QUFHQTtFQUNJLG1CNUJuQnFCO0U0Qm9CckIsZ0I1QjRPdUI7RTRCM092QixXNUJsQmlCO0FGbTZHckI7O0E4QjU0R0E7NkVBQUE7QUFRQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBOUJ3NEdKOztBOEJyNEdBO0FBQ0E7RUFDSSxnQjVCbERrQjtBRjA3R3RCOztBOEJwNEdBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQSxrQjVCNE13QjtFNEIzTXhCO0E5QnM0R0o7O0E4Qmw0R0E7QUFDQTtFQUVJO0lBQW9DLG1CNUJxTVY7RUZnc0c1QjtBQUNGO0E4Qmw0R0E7QUFDQTtFQUNJLGdCNUIzRWtCO0FGKzhHdEI7O0E4Qi8zR0E7NkVBQUE7QUFHQTtFM0J1aUJJLGFEdG9CWTtFQ3VvQloseUJEeHBCc0I7QUZtL0cxQjs7QStCcCtHQTs7NkVBQUE7QUFJQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0JxK0dKOztBK0JqK0dBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTs7RUFDOEM7QS9CbStHOUM7O0ErQmorR0E7O0VBQUE7QUFJQTtFQUFxQztBL0JvK0dyQzs7QStCbCtHQTs7Ozs7Ozs7OztFQUFBO0FBWUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXN0JoR1c7QUZva0hmOztBK0JoK0dBO0VBQXlCO0EvQm8rR3pCOztBK0JsK0dBO0FBQ0E7RUFBZ0MsVzdCdERYO0FGNGhIckI7QStCdCtHQTtFQUFnQyxXN0J0RFg7QUY0aEhyQjs7QStCbitHQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFc3QjlFaUI7QUZrakhyQjs7QStCaCtHQTs7RUFBQTtBQUlBO0VBQW1DLFc3QnRGZDtBRnlqSHJCOztBK0JqK0dBOztFQUFBO0FBSUE7RUFBMkQ7QS9CbytHM0Q7O0ErQmwrR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QS9CbytHSjs7QStCaCtHQTs2RUFBQTtBQUdBO0VBQXFCLFk3Qjh2QkU7QUZxdUZ2Qjs7QStCaitHQTs7RUFBQTtBQUlBO0VBQ0ksWTdCRW9CO0U2QkRwQixrQjdCd3ZCZ0M7RTZCdnZCaEMsbUI3QnV2QmdDO0U2QnR2QmhDLHVCN0J1dkJ3QjtFQ3V3QlE7QUhzK0RwQzs7QStCaCtHQTtBQUNBO0VBQ0ksa0M3Qmt2QjhCO0VDdXdCUSxxQkRycERkO0FGZ29INUI7O0ErQmgrR0E7O0VBQUE7QUFJQTtFQUNJLGtCN0J1dUJnQztFNkJ0dUJoQyxtQjdCc3VCZ0M7QUY0dkZwQzs7QStCLzlHQTtFQUFxRjtBL0JtK0dyRjs7QStCbCtHQTtFQUFnRTtBL0JzK0doRTs7QStCbitHQTs2RUFBQTtBQUdBO0VBQW9CLFk3Qml1QkU7QUZxd0Z0Qjs7QStCcCtHQTs7RUFBQTtBQUlBO0VBQ0ksWTdCbENvQjtFNkJtQ3BCLGtCN0IydEIrQjtFNkIxdEIvQixtQjdCMHRCK0I7RTZCenRCL0IsZ0I3QnJKZ0I7RUNpbkRlO0FIMmdFbkM7O0ErQm4rR0E7QUFDQTtFQUNJLHNCN0IzSmdCO0VDa25EcUIscUJEdnBEYjtBRnVxSDVCOztBK0JuK0dBOztFQUFBO0FBSUE7RUFDSSxrQjdCMHNCK0I7RTZCenNCL0IsbUI3QnlzQitCO0FGNHhGbkM7O0ErQmwrR0E7RUFBb0Y7QS9CcytHcEY7O0ErQnIrR0E7RUFBK0Q7QS9CeStHL0Q7O0ErQnQrR0E7NkVBQUE7QUFHQTtFQUFvQixZN0Jvc0JFO0FGcXlGdEI7O0ErQnYrR0E7O0VBQUE7QUFJQTtFQUNJLFk3QmpFMEI7RTZCa0UxQixrQjdCOHJCK0I7RTZCN3JCL0IsbUI3QjZyQitCO0U2QjVyQi9CLHVCN0I2ckJ1QjtFNkI1ckJ2QixpQjdCaklxQjtFQzBqRFU7QUhpakVuQzs7QStCdCtHQTtBQUNBO0VBQ0ksa0M3QndyQjZCO0VDNHZCUSxxQkR6cERiO0FGK3NINUI7O0ErQnQrR0E7O0VBQUE7QUFJQTtFQUNJLGtCN0I0cUIrQjtFNkIzcUIvQixtQjdCMnFCK0I7QUY2ekZuQzs7QStCcitHQTtFQUFvRjtBL0J5K0dwRjs7QStCeCtHQTtFQUErRDtBL0I0K0cvRDs7QStCeitHQTs2RUFBQTtBQUdBO0VBQW1CLFk3QnVxQkU7QUZxMEZyQjs7QStCMStHQTs7RUFBQTtBQUlBO0VBQ0ksWTdCaXFCa0I7RTZCaHFCbEIsa0I3QmlxQjhCO0U2QmhxQjlCLG1CN0JncUI4QjtFNkIvcEI5Qix1QjdCZ3FCc0I7RTZCL3BCdEIsbUI3QjFPdUI7RUNnb0RPO0FIdWxFbEM7O0ErQnorR0E7QUFDQTtFQUNJLGtDN0JtcEI2QjtFQzh2Qk8scUJEM3BEWjtBRnV2SDVCOztBK0J6K0dBOztFQUFBO0FBSUE7RUFDSSxrQjdCK29COEI7RTZCOW9COUIsbUI3QjhvQjhCO0FGNjFGbEM7O0ErQngrR0E7RUFBbUY7QS9CNCtHbkY7O0ErQjMrR0E7RUFBOEQ7QS9CKytHOUQ7O0ErQjUrR0E7NkVBQUE7QUFHQTtFQUNJLFc3QjlQaUI7QUY0dUhyQjs7QStCMStHQTtBQUNBO0VBQ0ksVzdCclRXO0FGa3lIZjs7QWdDcnhIQTs7NkVBQUE7QUFJQTtFQUNJO0VBQ0E7QWhDdXhISjs7QWdDbHhIQTs2RUFBQTtBQU9BO0VBQWtDLGdCOUJ0Q2xCO0FGdXpIaEI7O0FnQzl3SEE7NkVBQUE7QUFHQTtFQUNJO0VBQ0Esa0I5QjVDc0I7RThCNkN0QixnQjlCM0MwQjtFOEI0QzFCLFc5QjNDb0I7RUNEcEI7QUg2ekhKO0FHM3pISTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGlCRDhwQ3FCO0VDN3BDckI7RUltQko7RUpqQkk7RUFDQTtBSDZ6SFI7QUcxekhJO0VJYUE7QVBnekhKOztBZ0MxeEhBO0FBQ0E7RUFDSSxXOUIvQ1c7RThCZ0RYO0FoQzZ4SEo7O0FnQ3h4SEE7NkVBQUE7QUFHQTtFQUNJO0VBQ0EsZ0I5QmpFWTtBRjIxSGhCOztBZ0N0eEhBOztFQUFBO0FBSUM7RUFBc0M7QWhDeXhIdkM7O0FpQzMwSEE7OzZFQUFBO0FBSUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhL0IwVVc7RStCelVYO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWS9Cd1VTO0FGb2dIYjs7QWlDejBIQTtBQUNBO0VBQW1CO0FqQzYwSG5COztBaUMxMEhBOzZFQUFBO0FBR0E7RUFBbUM7QWpDNjBIbkM7O0FpQzEwSEE7NkVBQUE7QUFHQTtFQUNJLG1CL0J3VDJCO0UrQnZUM0I7QWpDNDBISjs7QWlDejBIQTtFQUFnRDtBakM2MEhoRDs7QWtDejNIQTs7NkVBQUE7QUFJQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0JoQ3FCZ0I7RWdDcEJoQixXaENqQ1c7QUYyNUhmOztBa0N0M0hBOztFQUFBO0FBSUE7RUFBNEI7QWxDeTNINUI7O0FrQ3YzSEE7QUFDQTtFQUVJO0lBQ0ksa0JoQ25CUTtJZ0NvQlIsbUJoQ3BCUTtFRjY0SGQ7QUFDRjtBa0NyM0hBO0FBQ0E7RUFFSTtJQUNJLGtCaEMxQmU7SWdDMkJmLG1CaEMzQmU7RUZpNUhyQjtBQUNGO0FrQzcySEE7RUFDSTtBbEMrMkhKOztBa0MxMkhBOzZFQUFBO0FBR0E7RUFDSSxpQmhDMFN3QjtFZ0N6U3hCLG9CaEN5U3dCO0FGbWtINUI7O0FrQ3gySEE7NkVBQUE7QUFHQTtFL0Jrc0IyQiwrQ0QyYkY7QUY4dUZ6Qjs7QWtDdjJIQTtFL0IrckI4QixnREQyYkY7QUZpdkY1Qjs7QWtDdjJIQTtFL0I0ckI0QiwrQ0QyYkY7QUZvdkYxQjs7QWtDdjJIQTtFL0J5ckI2QixnREQyYkY7QUZ1dkYzQjs7QW1DcjhIQTs7NkVBQUE7QUFHQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0EsWWpDK1hzQjtFaUM5WHRCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5DdThISjs7QW9DaDhIQTs7NkVBQUE7QUFJQTs7Ozs7OztFQUFBO0FBU0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYWxDa21CWTtFa0NqbUJaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw4QmxDNmxCZTtFa0M1bEJmO0VBQ0E7RUFDQTtBcENpOEhKOztBb0M3N0hBO0FBQ0E7RUFFSTtJQUFZO0VwQ2c4SGQ7QUFDRjtBb0M3N0hBO0FBQ0E7RUFFSTtJQUNJLGtCbEMvQ2U7SWtDZ0RmLG1CbENoRGU7RUY4K0hyQjtBQUNGO0FvQzE3SEE7O0VBQUE7QUFJQTtFQUFvQjtBcEM0N0hwQjs7QW9DejdIQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBaUI7QXBDMjdIakI7O0FvQ3g3SEE7NkVBQUE7QUFHQTs7Ozs7O0VBQUE7QUFRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZbEN5aUJpQjtFa0N4aUJqQjtFQUNBO0VBQ0E7RUFDQSxnQmxDckVnQjtFa0NzRWhCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBDeTdISjs7QW9DcjdIQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBcEN1N0hKOztBb0NuN0hBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFBdUMsYWxDNGdCZjtBRnk2R3hCOztBb0NuN0hBOzs7O0VBQUE7QUFNQTtBQUNBO0VBQ0k7RUFDQTtBcENxN0hKOztBb0NsN0hBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBcENxN0hKOztBb0NoN0hBOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0FwQ2s3SEo7O0FvQzk2SEE7RUFDSTtFQUNBO0VBQ0EsZ0JsQ3BJZ0I7RUN1dUNRO0FIKzBGNUI7O0FvQzk2SEE7RUFDSTtFQUNBO0VBQ0EsZ0JsQzNJZ0I7RUN3dUNRO0FIcTFGNUI7O0FvQzk2SEE7QUFDQTtFQUVJO0lBQWlCO0VwQ2k3SG5CO0VvQ2g3SEU7SUFBbUI7RXBDbTdIckI7RW9DbDdIRTtJQUFtQjtFcENxN0hyQjtBQUNGO0FvQ2w3SEE7O0VBQUE7QUFJQTs7O0VBRWlDO0FwQ283SGpDOztBb0NqN0hBOzZFQUFBO0FBR0E7RUFDSSxlbENoSHNCO0VrQ2lIdEIsZ0JsQ3Nkc0I7QUY2OUcxQjs7QW9DOTZIQTs7NkVBQUE7QUFJQTtFQUNJO0VBQ0EsYWxDa2JZO0VrQ2piWixTbEN0R2tCO0VrQ3VHbEIsV2xDdkdrQjtFa0N3R2xCLFlsQzBja0I7QUZzK0d0Qjs7QW9DNTZIQTs7RUFBQTtBQUlBO0VBQTZDO0FwQys2SDdDOztBb0M3NkhBOztFQUFBO0FBUUE7O0VBQUE7QUFZQTs7O0VBQUE7QUFLQTtFQUNJLE1sQ3VhMkI7RWtDdGEzQjtFQUNBO0VBQ0E7RUFDQSxZbENxYXdCO0FGNC9HNUI7O0FvQzc1SEE7RUFDSSxXbENuUm1CO0FGbXJJdkI7O0FvQzU1SEE7QUFDQTtFQUVJO0VBQ0E7SUFDSSxRbENxWnVCO0lrQ3BadkI7RXBDODVITjtBQUNGO0FvQzE1SEE7O0VBQUE7QUFJQTtFakM2L0JJO0VBQ0E7RUFDQSxhRG5EdUI7RUNvRHZCLGdCRHB2Q2dCO0FGbXBJcEI7O0FHMTVGSTtBQUNBO0VBRUk7SUFDSSxhRHp6Q0k7RUZxdElkO0FBQ0Y7QXFDMXNJQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBckMwc0lKOztBcUNyc0lBOzZFQUFBO0FBR0E7Ozs7OztFQUFBO0FBUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckNzc0lKOztBcUNsc0lBOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJDbXNJSjs7QXFDaHNJQTs7RUFBQTtBQUlBO0VBQXlDO0FyQ21zSXpDOztBc0Nwd0lBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0F0Q3F3SUo7O0FzQ2h3SUE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0Q2l3SUo7O0FzQzl2SUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7QXRDZ3dJSjs7QXNDN3ZJQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEM4dklKOztBc0MzdklBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDNnZJSjs7QXNDMXZJQTtFQUEyQjtBdEM4dkkzQjs7QXNDM3ZJQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEM0dklKOztBdUN0MUlBOzs2RUFBQTtBQUlBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxZckNtOUJhO0VxQ2w5QmI7RUFDQTtBdkN1MUlKOztBdUNwMUlBO0VBQW1CO0F2Q3cxSW5COztBdUN0MUlBOztFQUFBO0FBSUE7RUFBcUMsd0JyQ3k4QlQ7QUZnNUc1Qjs7QXVDdjFJQTtFQUFrQyx3QnJDdzhCRTtBRm01R3BDOztBdUN6MUlBOzs7RUFBQTtBQUtBO0VBQXlCO0F2QzQxSXpCOztBd0NqM0lBOzs2RUFBQTtBQUlBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhdEM4VGE7QUZvaklqQjs7QXdDLzJJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBeENpM0lKOztBd0M3MklBOzZFQUFBO0FBR0E7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFl0Qyt4QmtCO0VzQzl4QmxCO0VBQ0EsZ0J0Q2xCMEI7RXNDbUIxQjtFQUNBO0F4QzgySUo7O0F3QzEySUE7QUFDQTtFQUVJO0lBQ0k7SUFDQSxZdEN1eEJnQjtJc0N0eEJoQjtFeEM0MklOO0FBQ0Y7QXdDcDJJQTtBQUNBO0VBQ0k7RUFDQTtBeENzMklKOztBd0NuMklBO0FBQ0E7RUFFSTtJQUF1QztFeENzMkl6QztBQUNGO0F3Q24ySUE7O0VBQUE7QUFJQTtFQUErQjtBeENxMkkvQjs7QXdDcDJJQTtFQUNJO0VBQ0E7QXhDdTJJSjs7QXdDcDJJQTs7RUFBQTtBQUlBO0VBQThCO0F4Q3UySTlCOztBd0N0MklBO0VBQWlEO0F4QzAySWpEOztBd0N4MklBOzs7Ozs7RUFBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhDMDJJSjs7QXdDdjJJQTtFQUNJO0VBQ0E7QXhDMDJJSjs7QXdDdjJJQTtFQUNJO0VBQ0E7RUFDQTtBeEMwMklKOztBd0N2MklBO0VBQWtDLFl0QzBzQlo7QUZpcUh0Qjs7QXdDejJJQTtBQUNBO0VBRUk7SUFBa0MsWXRDMHNCZDtFRmtxSHRCO0FBQ0Y7QXdDejJJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtBeEMwMklKOztBd0N0MklBOzs2RUFBQTtBQUlBO0VBQ0k7RUFDQSxhdENpTGE7RXNDaExiLFF0Q3dyQnVCO0VzQ3ZyQnZCLFV0Q3VyQnVCO0VzQ3RyQnZCLFl0Q3VyQnNCO0FGaXJIMUI7O0F3Q3AySUE7QUFDQTtFQUVJO0lBQ0ksU3RDZ3JCcUI7SXNDL3FCckIsV3RDK3FCcUI7RUZ1ckgzQjtBQUNGO0F3Q2wySUE7O0VBQUE7QUFJQTtFQUFzQztBeENvMkl0Qzs7QXdDajJJQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4Q2sySUo7O0F3Qy8xSUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDhCdEN1b0IyQjtFc0N0b0IzQjtFQUNBO0VBQ0E7QXhDaTJJSjs7QXdDNzFJQTtFQUF3QztBeENpMkl4Qzs7QXdDOTFJQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTs7RUFFSTtFQUNBO0VBQ0E7QXhDKzFJSjs7QXdDMzFJQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhDNDFJSjs7QXdDejFJQTs7RUFBQTtBQUlBO0VBQTRELFd0QzBrQnRDO0FGa3hIdEI7O0F3QzExSUE7RUFBc0Q7QXhDODFJdEQ7O0F3QzUxSUE7QUFDQTtFQUVJO0lBQTRELFd0Q3drQnhDO0VGdXhIdEI7RXdDNzFJRTtJQUFzRDtFeENnMkl4RDtBQUNGO0F5Q3JvSkE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtBekNxb0pKOztBeUNqb0pBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUFrQztBekNtb0psQzs7QXlDam9KQTs7RUFBQTtBQUlBO0VBQWlDO0F6Q29vSmpDOztBMEM3cEpBOzs2RUFBQTtBQUlBO0VBQWE7QTFDZ3FKYjs7QTBDOXBKQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBLGlCeEMwSmtCO0V3Q3pKbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExQ2dxSko7O0EwQzVwSkE7O0VBQUE7QUFJQTtFQUF3QztBMUMrcEp4Qzs7QTBDN3BKQTs7RUFBQTtBQUlBO0VBQVE7QTFDZ3FKUjs7QTJDbnJKQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQSxTekNxekJvQjtFeUNwekJwQixVekNvekJvQjtFeUNuekJwQixhekNvekJtQjtFeUNuekJuQjtFQUNBO0VBQ0EsWXpDa3pCaUI7QUZrNEhyQjs7QTJDL3FKQTs0RUFBQTtBQUdBOztFQUVJO0VBQ0EsV3pDcXlCb0I7QUY0NEh4Qjs7QTJDOXFKQTs7RUFFSTtFQUNBO0EzQ2lySko7O0EyQzlxSkE7OztFQUdJO0VBQ0EsWXpDd3hCb0I7QUZ5NUh4Qjs7QTJDN3FKQTs0RUFBQTtBQUdBO0FBQ0E7RUFFSTtJQUNJLFV6QzZ3QmdCO0l5QzV3QmhCLFd6QzR3QmdCO0l5QzN3QmhCO0lBQ0E7RTNDOHFKTjtBQUNGO0EyQ3pxSkE7NEVBQUE7QUFHQTtFQUNJO0VBQ0EsYXpDdUZrQjtFeUN0RmxCLG1CekMvRXNCO0V5Q2dGdEIsV3pDM0ZXO0V5QzRGWCxrQnpDakdzQjtFeUNrR3RCLGdCekNtd0IrQjtFeUNsd0IvQjtBM0MwcUpKOztBMkN0cUpBO0VBQStCLGdCekN5dkJHO0FGaTdIbEM7O0EyQ3ZxSkE7OzZFQUFBO0FBSUE7RUFDSTtFQUNBO0VBQ0EsU3pDcXZCcUI7RXlDcHZCckIsV3pDbUVrQjtBRnNtSnRCOztBMkNycUpBO0VBQXdEO0EzQ3lxSnhEOztBMkN0cUpBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLGN6QzVHd0I7QUZteEo1Qjs7QTJDbnFKQTs7RUFBQTtBQUlBO0VBQ0ksY3pDbEh3QjtBRnV4SjVCOztBMkNqcUpBOztFQUFBO0FBSUE7RUFDSSxjekN4SHdCO0FGMnhKNUI7O0EyQy9wSkE7O0VBQUE7QUFJQTtFQUNJLGN6QzlIdUI7QUYreEozQjs7QTRDdHlKQTs7NkVBQUE7QUFJQTs7Ozs7O0VBQUE7QUFRQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYTFDa2tDYztFMENqa0NkO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCMUM2akNnQjtFMEM1akNoQjtFQUNBO0VBQ0EsZ0IxQzZqQ2lCO0UwQzVqQ2pCLGtCMUM2akNvQjtFMEM1akNwQixXMUM1Q21CO0UwQzZDbkIsZTFDNmpDZ0I7QUYwdUhwQjs7QTRDbnlKQTtBQUNBO0VBQXdCO0E1Q3V5SnhCOztBNkM1MEpBOzs2RUFBQTtBQUlBO0VBQ0k7QTdDODBKSjs7QTZDMTBKQTs7RUFBQTtBQUlBO0VBQTZCO0E3QzYwSjdCOztBNkMxMEpBOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7QTdDNDBKSjs7QTZDdjBKQTs2RUFBQTtBQUdBO0VBQ0ksVTNDdTdCMkI7RTJDdDdCM0I7QTdDeTBKSjs7QTZDcDBKQTs2RUFBQTtBQUdBO0VBQ0ksZ0IzQzg2Qm9CO0FGdzVIeEI7O0E2Q2owSkE7NkVBQUE7QUFHQTtBQUNBO0VBQTRCO0E3Q28wSjVCOztBOENyM0pBOzs2RUFBQTtBQVNBOzZFQUFBO0FBU0E7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGU1QzRReUI7RTRDM1F6QixnQjVDMFEyQjtBRjhsSi9COztBOENwMkpBO0FBQ0E7RUFFSTtJQUF1QixlNUNxUUk7RUZrbUo3QjtBQUNGO0E4Q3AySkE7QUFDQTtFQUVJO0lBQXVCLGU1QytQSTtFRnVtSjdCO0FBQ0Y7QThDbDJKQTs2RUFBQTtBQUdBO0VBQ0ksZTVDd1A0QjtFNEN2UDVCLGdCNUNzUDhCO0FGNm1KbEM7O0E4Qy8xSkE7QUFDQTtFQUVJO0lBQTBCLGU1Q2lQSTtFRmluSmhDO0FBQ0Y7QThDLzFKQTtBQUNBO0VBRUk7SUFBMEIsZTVDMk9JO0VGc25KaEM7QUFDRjtBOEM3MUpBOzZFQUFBO0FDbEZBOzs2RUFBQTtBQUlBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0NpN0pKOztBK0M3NkpBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQSxrQjdDd2lDeUI7QUZ1NEg3Qjs7QStDMzZKQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFNUNpaEVBO0FINDVGSjtBRzE1Rkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSwyRkQ5eUJpQjtFQyt5QmpCO0FINDVGUjs7QStDbjdKQTtBNUM0aEVJO0VBQVcsVURuekJlO0FGK3NIOUI7O0ErQ243SkE7QTVDMGhFSTtFQUFXLFVEcnpCZ0I7QUZtdEgvQjs7QStDbDdKQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0NtN0pKOztBK0NoN0pBO0FBQ0E7RUFDSTtFQUNBLGlCN0MwL0J5QjtBRnk3SDdCOztBZ0Q1L0pBOzs2RUFBQTtBQUlBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEQ2L0pKOztBZ0R6L0pBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQSxrQjlDc0ZrQjtBRnE2SnRCOztBZ0R2L0pBOzZFQUFBO0FBR0E7Ozs7Ozs7RUFBQTtBQVNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsVzlDbkJpQjtFOENvQmpCO0VBQ0E7RTdDNGlDQSxtQkRwa0NxQjtFQ3FrQ3JCO0VBQ0E7QUg2OEhKOztBZ0R2L0pBO0FBQ0E7RUFDSSxXOUM1RVc7QUZza0tmOztBZ0R0L0pBO0FBQ0E7RUFDSSxXOUNsRlc7QUYya0tmOztBZ0RwL0pBOzZFQUFBO0FBR0E7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRHEvSko7O0FnRGwvSkE7QUFDQTtFQUNJO0VBQ0EsaUI5Q3VCa0I7QUY4OUp0Qjs7QWlEcGtLQTs7NkVBQUE7QUFJQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRHFrS0o7O0FpRGxrS0E7Ozs7RUFBQTtBQU1BO0VBQWU7QWpEcWtLZjs7QWlEbmtLQTs7RUFBQTtBQUlBO0VBQTZCO0FqRHNrSzdCOztBaURua0tBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtBQUNBO0VBQVc7QWpEcWtLWDs7QWlEcGtLQTtFQUFlLGtCL0MxQ0M7QUZrbktoQjs7QWlEdGtLQTtBQUNBOzs7RUFFc0IsZ0IvQy9DTjtBRnluS2hCOztBaUR4a0tBO0FBQ0E7RUFFSTtFQUNBO0lBQVc7RWpEMmtLYjtFaUQxa0tFO0lBQWUsa0IvQ25ESTtFRmdvS3JCO0VpRDNrS0U7RUFDQTs7O0lBRXNCLGdCL0N4REg7RUZzb0tyQjtBQUNGO0FpRDNrS0E7O0VBQUE7QUFJQTtBQUNBOztFQUN3QjtBakQ2a0t4Qjs7QWlENWtLQTs7RUFDNEIsa0IvQzZFTjtBRm1nS3RCOztBaUQ5a0tBO0FBQ0E7Ozs7O0VBSTRCLGdCL0NzRU47QUY0Z0t0Qjs7QWlEaGxLQTs7RUFBQTtBQUlBO0FBQ0E7O0VBQ3lCO0FqRG1sS3pCOztBaURsbEtBOztFQUM2QixrQi9DeEZiO0FGOHFLaEI7O0FpRHBsS0E7QUFDQTs7Ozs7RUFJNkIsZ0IvQy9GYjtBRnVyS2hCOztBaUR0bEtBOztFQUFBO0FBSUE7QUFDQTs7RUFDd0I7QWpEeWxLeEI7O0FpRHhsS0E7O0VBQzRCLGtCL0N0R0w7QUZrc0t2Qjs7QWlEMWxLQTtBQUNBOzs7OztFQUk0QixnQi9DN0dMO0FGMnNLdkI7O0FpRDVsS0E7QUFDQTtFQUVJO0VBQ0E7O0lBQ3dCO0VqRCtsSzFCO0VpRDlsS0U7O0lBQzRCLGtCL0NtSVY7RUY4OUpwQjtFaUQvbEtFO0VBQ0E7Ozs7O0lBSTRCLGdCL0M0SFY7RUZzK0pwQjtBQUNGO0FpRC9sS0E7O0VBQUE7QUFJQTtBQUNBOztFQUMyQjtBakRpbUszQjs7QWlEaG1LQTs7RUFDK0I7QWpEb21LL0I7O0FpRGxtS0E7QUFDQTs7OztFQUcwQztBakRzbUsxQzs7QWlEbm1LQTs2RUFBQTtBQUdBO0VBQXVCO0FqRHNtS3ZCOztBaURwbUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakR1bUtKOztBaURubUtBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRHNtS0o7O0FpRGxtS0E7O0VBQUE7QUFJQTtBQUNBO0VBQW1CO0FqRHFtS25COztBaURwbUtBO0VBQXVCO0FqRHdtS3ZCOztBaUR0bUtBO0VBQW9ELFUvQ3JMcEM7QUYreEtoQjs7QWlEeG1LQTtBQUNBO0VBQW1EO0FqRDRtS25EOztBaUQxbUtBO0VBQ0k7RUFDQTtBakQ2bUtKOztBaUQxbUtBO0FBQ0E7RUFFSTtFQUNBO0lBQW1CO0VqRDZtS3JCO0VpRDVtS0U7SUFBdUI7RWpEK21LekI7RWlEN21LRTtJQUFvRCxVL0NuTWpDO0VGbXpLckI7RWlEOW1LRTtFQUNBO0lBQW1EO0VqRGluS3JEO0VpRC9tS0U7SUFDSTtJQUNBO0VqRGluS047QUFDRjtBaUQ3bUtBOztFQUFBO0FBSUE7QUFDQTs7RUFDd0M7QWpEK21LeEM7O0FpRDltS0E7O0VBQzRDO0FqRGtuSzVDOztBaURobktBOztFQUN5RSxVL0N6RW5EO0FGNnJLdEI7O0FpRGxuS0E7QUFDQTs7RUFDcUU7QWpEc25LckU7O0FpRHBuS0E7RUFDSTtFQUNBO0FqRHVuS0o7O0FpRHBuS0E7RUFBNkU7QWpEd25LN0U7O0FpRHZuS0E7RUFBZ0Y7QWpEMm5LaEY7O0FpRHpuS0E7O0VBQUE7QUFJQTtBQUNBOztFQUN5QztBakQ0bkt6Qzs7QWlEM25LQTs7RUFDNkM7QWpEK25LN0M7O0FpRDduS0E7O0VBQzBFLFUvQ3RQMUQ7QUZ1M0toQjs7QWlEL25LQTtBQUNBOztFQUNzRTtBakRtb0t0RTs7QWlEam9LQTtFQUNJO0VBQ0E7QWpEb29LSjs7QWlEam9LQTtFQUE4RTtBakRxb0s5RTs7QWlEcG9LQTtFQUFpRjtBakR3b0tqRjs7QWlEdG9LQTs7RUFBQTtBQUlBO0FBQ0E7O0VBQ3dDO0FqRHlvS3hDOztBaUR4b0tBOztFQUM0QztBakQ0b0s1Qzs7QWlEMW9LQTs7RUFDeUUsVS9DNVFsRDtBRjA1S3ZCOztBaUQ1b0tBO0FBQ0E7O0VBQ3FFO0FqRGdwS3JFOztBaUQ5b0tBO0VBQ0k7RUFDQTtBakRpcEtKOztBaUQ5b0tBO0VBQTZFO0FqRGtwSzdFOztBaURqcEtBO0VBQWdGO0FqRHFwS2hGOztBaURucEtBO0FBQ0E7RUFFSTtFQUNBOztJQUN3QztFakRzcEsxQztFaURycEtFOztJQUM0QztFakR3cEs5QztFaUR0cEtFOztJQUN5RSxVL0MzQ3ZEO0VGb3NLcEI7RWlEdnBLRTtFQUNBOztJQUNxRTtFakQwcEt2RTtFaUR4cEtFO0lBQ0k7SUFDQTtFakQwcEtOO0VpRHZwS0U7SUFBNkU7RWpEMHBLL0U7RWlEenBLRTtJQUFnRjtFakQ0cEtsRjtBQUNGO0FpRHhwS0E7NkVBQUE7QUFHQTs7Ozs7RUFBQTtBQU9BOztFQUVJO0VBQ0E7RUFDQTtBakR3cEtKOztBaURycEtBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpEd3BLSjs7QWtEcjlLQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBOztFQUVJO0VBQ0E7RUFDQTtBbERzOUtKOztBa0RuOUtBOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7T0FBQTtFQUNBO0VBQ0E7QWxEcTlLSjs7QWtEbDlLQTs7O0VBQUE7QUFLQTtFQUFtQjtBbERxOUtuQjs7QWtEbDlLQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0k7QWxEbTlLSjs7QWtELzhLQTs7RUFBQTtBQUlBO0VBQWlCLGtCaERzbEJpQjtBRjQzSmxDOztBa0RoOUtBOztFQUFBO0FBSUE7RUFBZ0I7QWxEbTlLaEI7O0FrRGg5S0E7NkVBQUE7QUFHQTtFQUNJO0VBQ0E7QWxEazlLSjs7QWtELzhLQTtFQUErQztBbERtOUsvQzs7QWtEaDlLQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQSx5QmhEbWtCd0I7RWdEbGtCeEIsbUJoRGxGcUI7QUZvaUx6Qjs7QWtEOThLQTtFQUFtQyxnQmhEM0luQjtBRjZsTGhCOztBa0QvOEtBOzZFQUFBO0FBR0E7RUFDSTtBbERpOUtKOztBa0Q1OEtBOzZFQUFBO0FBR0E7RUFDSSxtQmhEdEdxQjtFZ0R1R3JCLGdCaER6RWlCO0FGdWhMckI7O0FrRDE4S0E7O0VBQUE7QUFJQTtFQUNJLFdoRDdHaUI7QUZ5akxyQjs7QWtEeDhLQTtBQUNBO0VBQ0ksV2hEcEtXO0FGK21MZjs7QWtEdjhLQTtBQUNBO0VBQ0ksV2hENUtvQjtBRnNuTHhCOztBa0R0OEtBOztFQUFBO0FBSUE7RUFDSSxlaER3aEI2QjtBRmc3SmpDOztBa0RwOEtBOztFQUFBO0FBSUE7RUFDSSxXaEQ5TG9CO0FGb29MeEI7O0FrRGw4S0E7O0VBQUE7QUFJQTtFQUNJO0FsRG84S0o7O0FrRGg4S0E7O0VBQUE7QUFJQTtFQUNJLG1CaERoS3FCO0VnRGlLckIsZ0JoRG5JaUI7QUZxa0xyQjs7QWtELzdLQTtFQUFnQyxXaERqS1g7QUZvbUxyQjs7QWtEajhLQTtFQUFzQyxXaERwTnZCO0FGeXBMZjs7QWtEbjhLQTtFQUErQyxXaER4TnZCO0FGK3BMeEI7O0FrRHA4S0E7NkVBQUE7QUFHQTtFQUNJLGlCaEQvR3FCO0VnRGdIckIsZ0JoRGxKaUI7QUZ3bExyQjs7QWtEbDhLQTs7RUFBQTtBQUlBO0VBQ0ksV2hEdExpQjtBRjBuTHJCOztBa0RoOEtBO0FBQ0E7RUFDSSxXaEQ3T1c7QUZnckxmOztBa0QvN0tBO0FBQ0E7RUFDSSxXaERyUG9CO0FGdXJMeEI7O0FrRDk3S0E7O0VBQUE7QUFJQTtFQUNJLGtCaERqUXNCO0FGaXNMMUI7O0FrRDU3S0E7O0VBQUE7QUFJQTtFQUNJLFdoRHZRb0I7QUZxc0x4Qjs7QWtEMTdLQTs7RUFBQTtBQUlBO0VBQ0k7QWxENDdLSjs7QWtEeDdLQTs7RUFBQTtBQUlBO0VBQ0ksa0JoRDVSc0I7RWdENlJ0QixnQmhENU1pQjtBRnNvTHJCOztBa0R2N0tBO0VBQWdDLFdoRDFPWDtBRnFxTHJCOztBa0R6N0tBO0VBQXNDLFdoRDdSdkI7QUYwdExmOztBa0QzN0tBO0VBQStDLFdoRGpTdkI7QUZndUx4Qjs7QWtENTdLQTs2RUFBQTtBQUdBO0VBQ0ksZWhENU5lO0VnRDZOZixnQmhEM05pQjtBRnlwTHJCO0FHMzVJSTtFQUFtRSxhRGxGNUM7QUZnL0kzQjs7QWtENzdLQTs7RUFBQTtBQUlBO0VBRUksV2hEblRvQjtFQzgwQ1U7QUhvNklsQzs7QWtEMzdLQTtBQUNBO0VBQ0ksV2hEelRvQjtFQyswQ2dCLHlCRGwwQ2Q7QUYydUwxQjs7QWtEMzdLQTtBQUNBO0VBQ0ksV2hEL1RvQjtFQ2cxQ2lCLHlCRG4wQ2Y7QUZpdkwxQjs7QWtEMzdLQTs7RUFBQTtBQUlBO0VBQ0ksbUJoRHhScUI7RWdEeVJyQixXaER0UmlCO0FGbXRMckI7O0FrRHo3S0E7QUFDQTtFQUNJLFdoRDdVVztBRnl3TGY7O0FrRHg3S0E7QUFDQTtFQUNJLFdoRHJWb0I7QUZneEx4Qjs7QWtEdjdLQTs7RUFBQTtBQUlBO0VBQ0ksV2hEOVZvQjtBRnV4THhCOztBa0RyN0tBOztFQUFBO0FBSUE7RUFDSTtBbER1N0tKOztBa0RuN0tBOztFQUFBO0FBSUE7RUFDSSxtQmhEaFVxQjtFZ0RpVXJCLGdCaERuU2lCO0FGd3RMckI7O0FrRGw3S0E7RUFBa0MsV2hEalViO0FGdXZMckI7O0FrRHA3S0E7RUFBd0MsV2hEcFh6QjtBRjR5TGY7O0FrRHQ3S0E7RUFBaUQsV2hEeFh6QjtBRmt6THhCOztBa0R2N0tBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJLG9CaERxWG1CO0VnRHBYbkIsY2hEaVhxQjtBRnVrS3pCOztBa0RwN0tBO0VBQ0ksaUJoRGtYa0I7RWdEalhsQixjaEQrV29CO0FGd2tLeEI7O0FrRG43S0E7RUFDSSxlaEQrV21CO0VnRDlXbkIsY2hENldxQjtBRnlrS3pCOztBa0RsN0tBO0FBQ0E7RUFFSTtJQUFpQixpQmhEZ1dJO0VGcWxLdkI7RWtEcDdLRTtJQUFnQixlaERrV0k7RUZxbEt0QjtFa0R0N0tFO0lBQWlCLGVoRHNXSTtFRm1sS3ZCO0FBQ0Y7QWtEdDdLQTtBQUNBO0VBRUk7SUFBaUIsZWhEc1ZJO0VGa21LdkI7RWtEdjdLRTtJQUFnQixlaEQyVkk7RUYrbEt0QjtFa0R6N0tFO0lBQWlCLGVoRDhWSTtFRjhsS3ZCO0FBQ0Y7QWtEeDdLQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtDO0FBQ0Q7RUFBaUI7QWxEeTdLakI7O0FrRHg3S0M7QUFDRDtFQUF3QjtBbEQ0N0t4Qjs7QWtEMTdLQTtBQUNBOztFQUNnQztBbEQ4N0toQzs7QWtENTdLQTtBQUNBO0VBQXFDLG1CaER1UVA7QUZ5cks5Qjs7QWtENzdLQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0ksZWhENFRzQjtFZ0QzVHRCLGdCaEQyVHNCO0VnRDFUdEI7QWxEODdLSjs7QW1EdjFMQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0FuRHcxTEo7O0FtRG4xTEE7NkVBQUE7QUFHQTtFQUNJLG1CakRyRHNCO0FGMDRMMUI7O0FtRDUwTEE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBOzs7RUFHSTtFQUNBLFNqRDJzQlM7RWlEMXNCVDtFQUNBO0FuRDYwTEo7O0FtRDEwTEE7Ozs7Ozs7RUFBQTtBQVNBO0VBQW1CO0FuRDYwTG5COztBbUQzMExBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QW5EODBMSjs7QW1EMzBMQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBQ0E7RUFDQTtFQUNBO0FuRDgwTEo7O0FtRDMwTEE7QUFDQTs7RUFFRztFQUNBO0FuRDgwTEg7O0FtRDMwTEE7RUFBeUI7QW5EKzBMekI7O0FtRDkwTEE7RUFBMEI7QW5EazFMMUI7O0FtRGgxTEE7RUFDSTtFQUFBO0VBQ0E7QW5EbTFMSjs7QW1ELzBMQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtFQUNBLFNqRGlwQmE7RWlEaHBCYjtFQUNBO0VBQ0E7RUFDQTtBbkRnMUxKOztBbUQ3MExBOzs7RUFBQTtBQUtBOzs7RUFFK0I7QW5EZzFML0I7O0FtRDkwTEE7Ozs7Ozs7RUFBQTtBQVNBOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7T0FBQTtFQUNBO0VBQ0E7RUFDQSxnQmpEOG1CcUI7RWlEN21CckI7RUFDQSxtQmpEeElxQjtFaUR5SXJCLGtNakRoSGlCO0VpRGlIakI7RUFDQTtBbkRnMUxKOztBbUQ3MExBOztFQUFBO0FBSUE7RUFDSTtFQUNBLFdqRGpKaUI7RUNrOENqQix5QkRsUDZCO0VDbVA3QjtFQUNBO0FIK2hKSjs7QW1EOTBMQTs7O0VBQUE7QUFLQTs7RUFFSSxXakQ3TVc7QUY2aE1mOztBbUQ1MExBO0FBQ0E7RUFDSSxXakRyTm9CO0FGb2lNeEI7O0FtRDMwTEE7QUFDQTtFQUNJLFdqRDNOb0I7QUZ5aU14Qjs7QW1EejBMQTs2RUFBQTtBQUdBO0VBQ0ksZ0JqRHdrQjZCO0VpRHZrQjdCO0FuRDIwTEo7O0FtRHgwTEE7RUFBdUU7QW5ENDBMdkU7O0FtRHowTEE7NkVBQUE7QUFHQTtFQUNJO0VBQ0EsV2pEOU9XO0FGeWpNZjs7QW1EdjBMQTs7RUFBQTtBQUlBO0VBQWdDO0FuRDAwTGhDOztBbUR2MExBOzZFQUFBO0FBR0E7RUFDSTtFQUNBLFdqRDdNaUI7QUZzaE1yQjs7QW1EcjBMQTs7RUFFSSxXakRwUVc7RWlEcVFYO0FuRHcwTEo7O0FtRHAwTEE7OztFQUFBO0FBU0E7QUFNQTs2RUFBQTtBQUdBO0VBQ0ksbUJqRDlPcUI7QUYwaU16Qjs7QW1EdnpMQTs2RUFBQTtBQUdBOzs7Ozs7RUFLdUM7QW5EMHpMdkM7O0FtRHZ6TEE7NkVBQUE7QUFnQkE7NkVBQUE7QUFHQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWWpEd2VvQjtFaUR2ZXBCO0VBQ0EsYWpEdWVzQjtFaUR0ZXRCLGdCakR6UmdCO0VpRDBSaEIsV2pEL1VXO0VDbWdEZ0IsMENEaFFGO0FGdTNKN0I7O0FtRHZ5TEE7O0VBQUE7QUFJQTtFQUFvQztBbkQweUxwQzs7QW1EbnlMQTtFQUNJO0FuRHN5TEo7O0FtRGx5TEE7OztFQUFBO0FBS0E7QUFDQTtFQUFvQztBbkRxeUxwQzs7QW1EcHlMQTtFQUF3QyxrQmpEOVV4QjtBRnNuTWhCOztBbUR0eUxBO0FBQ0E7RUFBc0QsZ0JqRGpWdEM7QUYybk1oQjs7QW1EeHlMQTs7RUFBQTtBQUlBO0VBQWtEO0FuRDJ5TGxEOztBbUQxeUxBO0VBQWtEO0FuRDh5TGxEOztBbUQ3eUxBO0VBQWtEO0FuRGl6TGxEOztBbURoekxBO0VBQWtEO0FuRG96TGxEOztBbURsekxBOztFQUFBO0FBSUE7RUFDSTtFQUNBLGFqRDhiNEI7QUZzM0toQzs7QW1EaHpMQTs7Ozs7RUFBQTtBQU9BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VoRG1uQ21DO0FIZ3NKdkM7O0FtRC95TEE7QUFDQTtFQUVJO0lBQThCO0VuRGt6TGhDO0FBQ0Y7QW1EL3lMQTtBQUNBO0VBRUk7SUFBOEI7RW5EaXpMaEM7QUFDRjtBbUQ5eUxBO0VBQ0k7RUFDQSxpQmpEc1o0QjtFaURyWjVCLG9CakRxWjRCO0FGMjVLaEM7O0FtRDN5TEE7OzZFQUFBO0FBSUE7RWhEdWxDbUMsbUJEejlDVjtBRmdyTXpCOztBbUQxeUxBOztFQUFBO0FBSUE7RUFDSSxXakR4WWlCO0FGb3JNckI7O0FtRHh5TEE7QUFDQTtFQUNJLFdqRC9iVztBRjB1TWY7O0FtRHZ5TEE7QUFDQTtFQUNJLFdqRHZjb0I7QUZpdk14Qjs7QW1EdHlMQTs7RUFBQTtBQUlBO0VBQ0ksZWpENFhxQztBRjQ2S3pDOztBbURweUxBOztFQUFBO0FBSUE7RUFDSSxXakR6ZG9CO0FGK3ZNeEI7O0FtRGx5TEE7O0VBQUE7QUFJQTtFQUNJO0FuRG95TEo7O0FtRGh5TEE7O0VBQUE7QUFJQTtFQUF3QyxXakR2Ym5CO0FGMHRNckI7O0FtRGp5TEE7RUFBOEMsV2pEMWUvQjtBRit3TWY7O0FtRG55TEE7RUFBdUQsV2pEOWUvQjtBRnF4TXhCOztBbURweUxBOzZFQUFBO0FBR0E7O0VBQUE7QWhEK2hDSTtFQUNJO0VBQ0E7QUgwd0pSOztBR3Z3Skk7QUFDQTtFQUVJOzs7SUFFOEIsU0Q1UnZCO0VGc2lLYjtFR3h3Sk07SUFBeUI7RUgyd0ovQjtFRzF3Sk07SUFBMEI7RUg2d0poQztBQUNGO0FHMXdKSTtBQUNBO0VBRUk7SUFBaUIsU0RyU047RUZpaktqQjtBQUNGO0FvRGx5TUE7OzZFQUFBO0FBSUE7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRGt5TUo7O0FvRDl4TUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0Esa0JsRDY3QnVCO0VrRDU3QnZCO0VBQ0E7QXBEZ3lNSjs7QW9ENXhNQTs2RUFBQTtBQUdBOzs7Ozs7RUFBQTtBQVFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7RUFDQSxXbEQxQmlCO0VDc3dEakIsbUJEendEcUI7RUMwd0RyQix5QkRyaUJ5QjtFQ3NpQnpCO0VBQ0E7QUhrakpKOztBb0Q3eE1BO0FBQ0E7RUFDSSxXbERqRlc7RWtEa0ZYLHFCbERpNkJnQztBRiszS3BDOztBb0Q1eE1BO0FBQ0E7RUFDSSxXbEQxRm9CO0FGeTNNeEI7O0FvRDF4TUE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQXFCO0FwRDR4TXJCOztBb0QxeE1BOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FwRDR4TUo7O0FvRHp4TUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBLGFsRGc0QjJCO0VrRC8zQjNCO0VBQ0Esa0JsRHczQnVCO0VrRHYzQnZCO0FwRDJ4TUo7O0FvRHh4TUE7QUFDQTtFQUNJLDBCbERIWTtBRjh4TWhCOztBb0R0eE1BOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUFrQjtBcER3eE1sQjs7QW9EdnhNQTtFQUFzQixrQmxEcTJCSztBRnM3SzNCOztBb0R6eE1BO0VBQ0k7RUFDQSx1QmxENjJCMEI7RWtENTJCMUIsV2xEL0ZpQjtBRjIzTXJCOztBb0R4eE1BO0FBQ0E7RUFDSSx5QmxEM0lzQjtFa0Q0SXRCLFdsRHZKVztBRms3TWY7O0FvRHZ4TUE7QUFDQTtFQUNJLHlCbERsSnNCO0VrRG1KdEIsV2xEOUpXO0FGdzdNZjs7QW9EdHhNQTtBQUNBO0VBQ0kseUJsRHBKd0I7RWtEcUp4QixXbERsS21CO0FGMjdNdkI7O0FvRHB4TUE7OzZFQUFBO0FBSUE7RUFDSSxXbEQ5SGlCO0FGbzVNckI7O0FxRDU3TUE7OzZFQUFBO0FBSUE7OztFQUFBO0FBS0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRDY3TUo7O0FxRHo3TUE7O0VBQUE7QUFJQTtFQUFxQjtBckQ0N01yQjs7QXFEejdNQTs2RUFBQTtBQUdBO0VBQ0ksbUJuRFFxQjtFbURQckIsV25EVWlCO0FGaTdNckI7O0FxRHY3TUE7QUFDQTtFQUNJLFduRDdDVztFbUQ4Q1gscUJuRDZHb0M7QUY2ME14Qzs7QXFEdDdNQTtBQUtBO0FBQ0E7O0VBRUksV25EMURXO0FGKytNZjs7QXFEajdNQTs7Ozs7RUFBQTtBQU9BO0VBQ0ksWW5EdUZpQjtFbUR0RmpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJuRDdCcUI7RW1EOEJyQixXbkQzQmlCO0FGODhNckI7O0FzRGwvTUE7OzZFQUFBO0FBSUE7Ozs7O0VBQUE7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RG0vTUo7O0FzRC8rTUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsZXBEKzBCMkI7RW9EOTBCM0I7RUFDQTtBdERpL01KOztBc0Q3K01BOzZFQUFBO0FBR0E7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7RUFDQTtFQUNBLFdwRHRCaUI7RUN1a0RVO0FIODdKL0I7O0FzRDMrTUE7QUFDQTtFQUNJLFdwRDdFVztFb0Q4RVgscUJwRHN6Qm9DO0FGd3JMeEM7O0FzRDErTUE7QUFDQTtFQUNJLFdwRHBGVztBRmlrTmY7O0FzRHorTUE7QUFDQTtFQUNJLFdwRHpDaUI7QUZxaE5yQjs7QXVEeGpOQTs7NkVBQUE7QUFJQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VwRGszREE7QUh3c0pKO0FHdHNKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLFVEdDRCZ0I7RUN1NEJoQjtFQUNBO0FId3NKUjs7QXVEOWpOQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQnJEbytCb0I7RXFEbitCcEI7RUFDQTtBdkRna05KOztBdUQ1ak5BOzZFQUFBO0FBR0E7Ozs7OztFQUFBO0FBUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO09BQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdyRHhCaUI7RUM4MkRqQjtFQUNBLG1CRGwzRHFCO0VDbTNEckIseUJEem9Cc0I7RUMwb0J0QjtBSHd1Sko7O0F1RDdqTkE7QUFDQTtFQUNJLFdyRC9FVztFcURnRlgscUJyRHU4QjZCO0FGeW5MakM7O0F1RDVqTkE7QUFDQTtFQUNJLFdyRHhGb0I7RUN1NkRPLHFCRHI1REg7QUZzb041Qjs7QXVENWpOQTtBQUNBO0VBQ0ksV3JEM0NpQjtBRjBtTnJCOztBdUQxak5BOzZFQUFBO0FBR0E7O0VBQUE7QXBEcTBESTtFQUNJO0VBQ0E7QUgwdkpSOztBdUR6ak5BO0VwRG8wREk7RUFDQTtBSHl2Sko7O0F1RDFqTkE7OztFQUFBO0FBS0E7O0VBRUk7RUFDQTtFQUNBO0F2RDRqTko7O0F1RHpqTkE7QUFDQTs7RUFDb0I7QXZENmpOcEI7O0FHdHdKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSHl3SlI7O0FHbndKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSHN3SlI7O0F1RHJrTkE7RUFDSTtFcERtMERBO0VBQ0E7QUhzd0pKOztBdUR0a05BO0VBQ0k7RXBEazBEQTtFQUNBO0FId3dKSjs7QUdwd0pJO0VBQXVCO0FId3dKM0I7O0F3RC9zTkE7OzZFQUFBO0FBSUE7O0VBQUE7QUFJQTtFQUNJO0VBQ0EsK0J0RGk4QmE7RUNtekJPO0FINjlKeEI7O0F3RDdzTkE7QUFDQTtFQUNJLCtCdEQ0N0JtQjtBRm94THZCOztBd0Q1c05BO0FBQ0E7RUFDSSwrQnREdTdCb0I7QUZ3eEx4Qjs7QXdEMXNOQTs2RUFBQTtBQUdBOztFQUFBO0FBUUE7O0VBQUE7QUFTQTs2RUFBQTtBQUdBO0VBQ0k7QXhEZ3NOSjs7QXdEM3JOQTs2RUFBQTtBQUdBO0VBQ0k7QXhENnJOSjs7QXlEM3ZOQTs7NkVBQUE7QUFJQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpENHZOSjs7QXlEeHZOQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGtCdkQrU3VCO0FGMjhNM0I7O0F5RHR2TkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQSxXdkRrU2dCO0V1RGpTaEIsWXZEaVNnQjtFdURoU2hCLGtCdkRrU3dCO0V1RGpTeEIsdUJ2RGtTcUI7RXVEalNyQjtFQUNBO0VBQ0E7RUFDQTtFdERpckJBO0VBQ0E7RUFDQTtBSHVrTUo7O0F5RHR2TkE7QUFDQTtFQUNJLDBDdkR5UjJCO0VDc1pFLHlCRHlkTjtBRmtuTDNCOztBeUR0dk5BO0FBQ0E7RUFDSSwwQ3ZEb1I2QjtFQ3NaRSx5QkR5ZE47QUZ1bkw3Qjs7QXlEdHZOQTtBQUNBO0VBQ0ksMEN2RCtRNEI7RUNzWkUseUJEeWROO0FGNG5MNUI7O0F5RHJ2TkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpEc3ZOSjs7QXlEbnZOQTtBQUNBO0VBQ0k7RUFDQSxpQnZEK091QjtBRnVnTjNCOztBMERsMU5BOzs2RUFBQTtBQUlBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxnQnhEMFZpQjtFd0R6VmpCO0VBQ0EsYXhEeVZlO0V3RHhWZixnQnhEZ0JnQjtFd0RmaEIsV3hEdENXO0VDNnhCUywwQ0QyYkY7QUZrcUx0Qjs7QTBEaDFOQTs7RUFBQTtBQUlBO0VBQTZCO0ExRG0xTjdCOztBMEQ1ME5BO0VBQ0k7QTFEKzBOSjs7QTBEMTBOQTs2RUFBQTtBQUdBO0VBQXFCLGF4RG9VSTtBRnlnTnpCOztBMEQxME5BOzZFQUFBO0FBR0E7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFdkQ0c0I0QjtBSGdvTWhDOztBMER4ME5BO0FBQ0E7RUFFSTtJQUF1QjtFMUQyME56QjtBQUNGO0EwRHgwTkE7QUFDQTtFQUVJO0lBQXVCO0UxRDAwTnpCO0FBQ0Y7QTBEdjBOQTtFQUNJLGlCeEQ2UnFCO0V3RDVSckIsb0J4RDRScUI7QUY2aU56Qjs7QTBEcDBOQTs7NkVBQUE7QUFJQTtFdkRpckI0QixtQkRsdkJIO0FGdzROekI7O0EwRG4wTkE7O0VBQUE7QUFJQTtFQUNJLFd4RHZFaUI7QUY0NE5yQjs7QTBEajBOQTtBQUNBOztFQUVJLFd4RC9IVztBRm04TmY7O0EwRGgwTkE7O0VBQUE7QUFJQTtFQUNJLGV4RHFROEI7QUY2ak5sQzs7QTBEOXpOQTs7RUFBQTtBQUlBO0VBQ0ksV3hEbkpvQjtBRm05TnhCOztBMEQ1ek5BOztFQUFBO0FBSUE7RUFDSTtBMUQ4ek5KOztBMEQxek5BOztFQUFBO0FBSUE7RUFBaUMsV3hEakhaO0FGODZOckI7O0EwRDN6TkE7O0VBQ2dELFd4RHJLakM7QUZvK05mOztBMkQ3OE5BOzs2RUFBQTtBQUlBOzs7Ozs7OztFQUFBO0FBVUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxhekQwaUJlO0V5RHppQmY7RUFDQSxnQnpEeWlCa0I7RXlEeGlCbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Q4OE5KOztBMkQxOE5BOzs7O0VBQUE7QUFNQTtFQUNJO0VBQ0E7RUFDQTtBM0Q0OE5KOztBMkR6OE5BOztFQUFBO0FBSUE7RUFBOEIsdUN6RGtoQkw7QUYwN016Qjs7QTJEejhOQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBb0I7QTNEMjhOcEI7O0EyRHg4TkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0EzRHk4Tko7O0EyRHQ4TkE7Ozs7OztFQUFBO0FBUUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRHc4Tko7O0EyRHA4TkE7QUFDQTtFQUFrQztBM0R3OE5sQzs7QTJEdDhOQTtFQUE2QjtBM0QwOE43Qjs7QTJEeDhOQTtBQUNBO0VBQ0ksZ0J6RHdkc0I7RXlEdmR0QixpQnpEd2R1QjtBRm0vTTNCOztBMkR4OE5BO0VBQ0k7RUFDQTtBM0QyOE5KOztBMkR4OE5BO0FBQ0E7RUFBbUU7QTNENDhObkU7O0EyRDM4TkE7RUFBeUU7QTNEKzhOekU7O0EyRDU4TkE7NkVBQUE7QUFHQTtFQUFvRCxnQnpEeWNqQjtBRnNnTm5DOztBMkQ5OE5BO0VBQStFLGlCekR5Y3BEO0FGeWdOM0I7O0EyRGg5TkE7O0VBQzRCO0EzRG85TjVCOztBMkRqOU5BOzZFQUFBO0FBR0E7RUFBNkI7QTNEbzlON0I7O0EyRGw5TkE7RUFDSTtFQUNBLDhCekQrYjBCO0V5RDliMUIsK0J6RCticUI7QUZzaE56Qjs7QTJEajlOQTtFQUEyQiwrQnpEMmJGO0FGMGhOekI7O0EyRGw5TkE7NkVBQUE7QUFHQTtFQUE2QjtBM0RxOU43Qjs7QTJEbDlOQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBM0RvOU5KOztBNERubk9BOzs2RUFBQTtBQUlBO0VBQTJCO0E1RHNuTzNCOztBNERubk9BOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0Esd0IxRE5zQjtFMERPdEI7QTVEb25PSjs7QTREam5PQTs7RUFBQTtBQUlBO0VBQXlCO0E1RG9uT3pCOztBNERubk9BO0VBQTJCO0E1RHVuTzNCOztBNERybk9BOztFQUFBO0FBSUE7RUFBMEI7QTVEd25PMUI7O0E0RHZuT0E7RUFBNkI7QTVEMm5PN0I7O0E0RDFuT0E7RUFBMkI7QTVEOG5PM0I7O0E0RDduT0E7RUFBNEI7QTVEaW9PNUI7O0E0RC9uT0E7O0VBQUE7QUFJQTtFQUFnQztBNURrb09oQzs7QTREam9PQTtFQUFtQztBNURxb09uQzs7QTREcG9PQTtFQUFpQztBNUR3b09qQzs7QTREdm9PQTtFQUFrQztBNUQyb09sQzs7QTREem9PQTs7RUFBQTtBQUlBO0VBQWlDO0E1RDRvT2pDOztBNEQzb09BO0VBQW9DO0E1RCtvT3BDOztBNEQ5b09BO0VBQWtDO0E1RGtwT2xDOztBNERqcE9BO0VBQW1DO0E1RHFwT25DOztBNERucE9BOztFQUFBO0FBSUE7RUFDSTtFQUNBLHVCMURoRDBCO0FGcXNPOUI7O0E0RGxwT0E7O0VBQUE7QUFJQTtFQUFzQjtBNURxcE90Qjs7QTREbnBPQTs7Ozs7O0VBQUE7QUFRQTtFQUNJO0VBQ0Esc0IxRHBFd0I7RTBEcUV4QjtBNURxcE9KOztBNERqcE9BOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0E1RG1wT0o7O0E0RC9vT0E7NkVBQUE7QUFHQTtFQUFxQix3QjFEbkZLO0FGcXVPMUI7O0E0RC9vT0E7NkVBQUE7QUFHQTtFQUF3RTtBNURrcE94RTs7QTREL29PQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtJQUFLO0U1RGlwT1A7RTREaHBPRTtJQUFPO0U1RG1wT1Q7QUFDRjtBNERqcE9BOztFQUFBO0FBSUE7RUFDSTtJQUFLO0U1RG1wT1A7RTREbHBPRTtJQUFPO0U1RHFwT1Q7QUFDRjtBNERucE9BO0VBQ0k7SUFBSztFNURzcE9QO0U0RHJwT0U7SUFBTztFNUR3cE9UO0FBQ0Y7QTREdHBPQTs7RUFBQTtBQUlBO0VBQ0k7SUFBSztFNUR3cE9QO0U0RHZwT0U7SUFBTztFNUQwcE9UO0FBQ0Y7QTREeHBPQTtFQUNJO0lBQUs7RTVEMnBPUDtFNEQxcE9FO0lBQU87RTVENnBPVDtBQUNGO0E0RDNwT0E7RUFDSTtJQUFLO0U1RDhwT1A7RTREN3BPRTtJQUFPO0U1RGdxT1Q7QUFDRjtBNEQ5cE9BO0VBQ0k7SUFBSztFNURpcU9QO0U0RGhxT0U7SUFBTztFNURtcU9UO0FBQ0Y7QTREanFPQTs7RUFBQTtBQUlBO0VBQ0k7SUFBSztFNURtcU9QO0U0RGxxT0U7SUFBTztFNURxcU9UO0FBQ0Y7QTREbnFPQTtFQUNJO0lBQUs7RTVEc3FPUDtFNERycU9FO0lBQU87RTVEd3FPVDtBQUNGO0E0RHRxT0E7RUFDSTtJQUFLO0U1RHlxT1A7RTREeHFPRTtJQUFPO0U1RDJxT1Q7QUFDRjtBNER6cU9BO0VBQ0k7SUFBSztFNUQ0cU9QO0U0RDNxT0U7SUFBTztFNUQ4cU9UO0FBQ0Y7QTRENXFPQTs7RUFBQTtBQUlBO0VBQ0k7SUFBSztFNUQ4cU9QO0U0RDdxT0U7SUFBTztFNURnck9UO0FBQ0Y7QTREOXFPQTtFQUNJO0lBQUs7RTVEaXJPUDtFNERock9FO0lBQU87RTVEbXJPVDtBQUNGO0E0RGpyT0E7RUFDSTtJQUFLO0U1RG9yT1A7RTREbnJPRTtJQUFPO0U1RHNyT1Q7QUFDRjtBNERwck9BO0VBQ0k7SUFBSztFNUR1ck9QO0U0RHRyT0U7SUFBTztFNUR5ck9UO0FBQ0Y7QTREdnJPQTs7RUFBQTtBQUlBO0VBQ0k7SUFBSztFNUR5ck9QO0U0RHhyT0U7SUFBTztFNUQyck9UO0FBQ0Y7QTREenJPQTs7RUFBQTtBQUlBO0VBQ0k7SUFBVztFNUQyck9iO0U0RDFyT0U7SUFBTTtFNUQ2ck9SO0U0RDVyT0U7SUFBTTtFNUQrck9SO0U0RDlyT0U7SUFBTTtFNURpc09SO0U0RGhzT0U7SUFBTTtFNURtc09SO0U0RGxzT0U7SUFBTTtFNURxc09SO0U0RHBzT0U7SUFBTTtFNUR1c09SO0U0RHRzT0U7SUFBTTtFNUR5c09SO0U0RHhzT0U7SUFBTTtFNUQyc09SO0U0RDFzT0U7SUFBTTtFNUQ2c09SO0FBQ0Y7QTREM3NPQTs7RUFBQTtBQUlDO0VBQ0c7SUFBSztFNUQ2c09QO0U0RDVzT0U7SUFBTztFNUQrc09UO0FBQ0Y7QTZENThPQTs7NkVBQUE7QUFLQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBN0QyOE9KOztBNkR4OE9BO0VBQTBCO0E3RDQ4TzFCOztBNkQzOE9BO0VBQTBCO0E3RCs4TzFCOztBNkQ5OE9BO0VBQTBCO0E3RGs5TzFCOztBNkRqOU9BO0VBQTBCO0E3RHE5TzFCOztBNkRwOU9BO0VBQTBCO0E3RHc5TzFCOztBNkR0OU9BO0VBQTJCO0E3RDA5TzNCOztBNkR4OU9BOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7QTdEMDlPSjs7QTZEdjlPQTtBQUNBO0VBRUk7SUFBNkI7RTdEMDlPL0I7RTZEejlPRTtJQUE2QjtFN0Q0OU8vQjtFNkQzOU9FO0lBQTZCO0U3RDg5Ty9CO0U2RDc5T0U7SUFBNkI7RTdEZytPL0I7RTZELzlPRTtJQUE2QjtFN0RrK08vQjtFNkRqK09FO0lBQTZCO0U3RG8rTy9CO0U2RGwrT0U7SUFBOEI7RTdEcStPaEM7RTZEcCtPRTtJQUNJO0lBQ0E7RTdEcytPTjtFNkRuK09FO0VBQ0E7Ozs7Ozs7SUFNc0Q7RTdEcytPeEQ7QUFDRjtBNkRuK09BO0FBQ0E7RUFFSTtJQUE2QjtFN0RxK08vQjtFNkRwK09FO0lBQTZCO0U3RHUrTy9CO0U2RHQrT0U7SUFBNkI7RTdEeStPL0I7RTZEeCtPRTtJQUE2QjtFN0QyK08vQjtFNkQxK09FO0lBQTZCO0U3RDYrTy9CO0U2RDUrT0U7SUFBNkI7RTdEKytPL0I7RTZENytPRTtJQUE4QjtFN0RnL09oQztFNkQvK09FO0lBQ0k7SUFDQTtFN0RpL09OO0U2RDkrT0U7RUFDQTs7Ozs7OztJQU1zRDtFN0RpL094RDtBQUNGO0E2RDkrT0E7QUFDQTtFQUVJO0lBQTZCO0U3RGcvTy9CO0U2RC8rT0U7SUFBNkI7RTdEay9PL0I7RTZEai9PRTtJQUE2QjtFN0RvL08vQjtFNkRuL09FO0lBQTZCO0U3RHMvTy9CO0U2RHIvT0U7SUFBNkI7RTdEdy9PL0I7RTZEdi9PRTtJQUE2QjtFN0QwL08vQjtFNkR4L09FO0lBQThCO0U3RDIvT2hDO0U2RDEvT0U7SUFDSTtJQUNBO0U3RDQvT047RTZEei9PRTtFQUNBOzs7Ozs7O0lBTXNEO0U3RDQvT3hEO0FBQ0Y7QTZEei9PQTtBQUNBO0VBRUk7SUFBOEI7RTdEMi9PaEM7RTZEMS9PRTtJQUE4QjtFN0Q2L09oQztFNkQ1L09FO0lBQThCO0U3RCsvT2hDO0U2RDkvT0U7SUFBOEI7RTdEaWdQaEM7RTZEaGdQRTtJQUE4QjtFN0RtZ1BoQztFNkRsZ1BFO0lBQThCO0U3RHFnUGhDO0U2RG5nUEU7SUFBK0I7RTdEc2dQakM7RTZEcmdQRTtJQUNJO0lBQ0E7RTdEdWdQTjtFNkRwZ1BFO0VBQ0E7Ozs7Ozs7SUFNdUQ7RTdEdWdQekQ7QUFDRjtBNkRuZ1BBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0E3RG1nUEo7O0E2RGhnUEE7QUFDQTtFQUFnQjtBN0RvZ1BoQjs7QTZEbGdQQTtBQUNBO0VBQWdCO0E3RHNnUGhCOztBNkRyZ1BBO0VBQWdCO0E3RHlnUGhCOztBNkR2Z1BBO0FBQ0E7RUFBZ0I7QTdEMmdQaEI7O0E2RDFnUEE7RUFBZ0I7QTdEOGdQaEI7O0E2RDVnUEE7QUFDQTtFQUFnQjtBN0RnaFBoQjs7QTZEL2dQQTtFQUFnQjtBN0RtaFBoQjs7QTZEbGhQQTtFQUFnQjtBN0RzaFBoQjs7QTZEcmhQQTtFQUFnQjtBN0R5aFBoQjs7QTZEdmhQQTtBQUNBO0VBQWdCO0E3RDJoUGhCOztBNkQxaFBBO0VBQWdCO0E3RDhoUGhCOztBNkQ1aFBBO0FBQ0E7RUFBa0IsWTNEaytCRTtBRjhqTnBCOztBNkQvaFBBO0VBQW1CLFkzRGsrQkU7QUZpa05yQjs7QTZEbGlQQTtFQUFrQixZM0RrK0JFO0FGb2tOcEI7O0E2RHJpUEE7RUFBbUIsWTNEaytCRTtBRnVrTnJCOztBNkR4aVBBO0VBQW9CLFkzRGsrQkU7QUYwa050Qjs7QTZEdmlQQTtBQUNBO0VBQWlCO0E3RDJpUGpCOztBNkR6aVBBO0FBQ0E7RUFDSTtFQUNBO0E3RDRpUEo7O0E2RHppUEE7QUFDQTtFQUVJO0VBQ0E7SUFBbUI7RTdENGlQckI7RTZEMWlQRTtFQUNBO0lBQW1CO0U3RDZpUHJCO0U2RDNpUEU7RUFDQTtJQUFtQjtFN0Q4aVByQjtFNkQ3aVBFO0lBQW1CO0U3RGdqUHJCO0U2RDlpUEU7RUFDQTtJQUFtQjtFN0RpalByQjtFNkRoalBFO0lBQW1CO0U3RG1qUHJCO0U2RGpqUEU7RUFDQTtJQUFtQjtFN0RvalByQjtFNkRualBFO0lBQW1CO0U3RHNqUHJCO0U2RHJqUEU7SUFBbUI7RTdEd2pQckI7RTZEdmpQRTtJQUFtQjtFN0QwalByQjtFNkR4alBFO0VBQ0E7SUFBbUI7RTdEMmpQckI7RTZEMWpQRTtJQUFtQjtFN0Q2alByQjtFNkQzalBFO0VBQ0E7SUFBcUIsWTNEbzdCTDtFRjBvTmxCO0U2RDdqUEU7SUFBc0IsWTNEbzdCTDtFRjRvTm5CO0U2RC9qUEU7SUFBcUIsWTNEbzdCTDtFRjhvTmxCO0U2RGprUEU7SUFBc0IsWTNEbzdCTDtFRmdwTm5CO0U2RG5rUEU7SUFBdUIsWTNEbzdCTDtFRmtwTnBCO0U2RGprUEU7RUFDQTtJQUFvQjtFN0Rva1B0QjtFNkRsa1BFO0VBQ0E7SUFDSTtJQUNBO0U3RG9rUE47RTZEamtQRTtFQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFpQm9CO0U3RG9rUHRCO0FBQ0Y7QTZEamtQQTtBQUNBO0VBRUk7RUFDQTtJQUFtQjtFN0Rta1ByQjtFNkRqa1BFO0VBQ0E7SUFBbUI7RTdEb2tQckI7RTZEbGtQRTtFQUNBO0lBQW1CO0U3RHFrUHJCO0U2RHBrUEU7SUFBbUI7RTdEdWtQckI7RTZEcmtQRTtFQUNBO0lBQW1CO0U3RHdrUHJCO0U2RHZrUEU7SUFBbUI7RTdEMGtQckI7RTZEeGtQRTtFQUNBO0lBQW1CO0U3RDJrUHJCO0U2RDFrUEU7SUFBbUI7RTdENmtQckI7RTZENWtQRTtJQUFtQjtFN0Qra1ByQjtFNkQ5a1BFO0lBQW1CO0U3RGlsUHJCO0U2RC9rUEU7RUFDQTtJQUFtQjtFN0RrbFByQjtFNkRqbFBFO0lBQW1CO0U3RG9sUHJCO0U2RGxsUEU7RUFDQTtJQUFxQixZM0RnM0JMO0VGcXVObEI7RTZEcGxQRTtJQUFzQixZM0RnM0JMO0VGdXVObkI7RTZEdGxQRTtJQUFxQixZM0RnM0JMO0VGeXVObEI7RTZEeGxQRTtJQUFzQixZM0RnM0JMO0VGMnVObkI7RTZEMWxQRTtJQUF1QixZM0RnM0JMO0VGNnVOcEI7RTZEeGxQRztFQUNEO0lBQW9CO0U3RDJsUHRCO0U2RHpsUEU7RUFDQTtJQUNJO0lBQ0E7RTdEMmxQTjtFNkR4bFBFO0VBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWlCb0I7RTdEMmxQdEI7QUFDRjtBNkR4bFBBO0FBQ0E7RUFFSTtFQUNBO0lBQW1CO0U3RDBsUHJCO0U2RHhsUEU7RUFDQTtJQUFtQjtFN0QybFByQjtFNkR6bFBFO0VBQ0E7SUFBbUI7RTdENGxQckI7RTZEM2xQRTtJQUFtQjtFN0Q4bFByQjtFNkQ1bFBFO0VBQ0E7SUFBbUI7RTdEK2xQckI7RTZEOWxQRTtJQUFtQjtFN0RpbVByQjtFNkQvbFBFO0VBQ0E7SUFBbUI7RTdEa21QckI7RTZEam1QRTtJQUFtQjtFN0RvbVByQjtFNkRubVBFO0lBQW1CO0U3RHNtUHJCO0U2RHJtUEU7SUFBbUI7RTdEd21QckI7RTZEdG1QRTtFQUNBO0lBQW1CO0U3RHltUHJCO0U2RHhtUEU7SUFBbUI7RTdEMm1QckI7RTZEem1QRTtFQUNBO0lBQXFCLFkzRDR5Qkw7RUZnME5sQjtFNkQzbVBFO0lBQXNCLFkzRDR5Qkw7RUZrME5uQjtFNkQ3bVBFO0lBQXFCLFkzRDR5Qkw7RUZvME5sQjtFNkQvbVBFO0lBQXNCLFkzRDR5Qkw7RUZzME5uQjtFNkRqblBFO0lBQXVCLFkzRDR5Qkw7RUZ3ME5wQjtFNkQvbVBFO0VBQ0E7SUFBb0I7RTdEa25QdEI7RTZEaG5QRTtFQUNBO0lBQ0k7SUFDQTtFN0RrblBOO0U2RC9tUEU7RUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBaUJvQjtFN0RrblB0QjtBQUNGO0E2RC9tUEE7QUFDQTtFQUVJO0VBQ0E7SUFBb0I7RTdEaW5QdEI7RTZEL21QRTtFQUNBO0lBQW9CO0U3RGtuUHRCO0U2RGhuUEU7RUFDQTtJQUFvQjtFN0RtblB0QjtFNkRsblBFO0lBQW9CO0U3RHFuUHRCO0U2RG5uUEU7RUFDQTtJQUFvQjtFN0RzblB0QjtFNkRyblBFO0lBQW9CO0U3RHduUHRCO0U2RHRuUEU7RUFDQTtJQUFvQjtFN0R5blB0QjtFNkR4blBFO0lBQW9CO0U3RDJuUHRCO0U2RDFuUEU7SUFBb0I7RTdENm5QdEI7RTZENW5QRTtJQUFvQjtFN0QrblB0QjtFNkQ3blBFO0VBQ0E7SUFBb0I7RTdEZ29QdEI7RTZEL25QRTtJQUFvQjtFN0Rrb1B0QjtFNkRob1BFO0VBQ0E7SUFBc0IsWTNEd3VCTjtFRjI1TmxCO0U2RGxvUEU7SUFBdUIsWTNEd3VCTjtFRjY1Tm5CO0U2RHBvUEU7SUFBc0IsWTNEd3VCTjtFRis1TmxCO0U2RHRvUEU7SUFBdUIsWTNEd3VCTjtFRmk2Tm5CO0U2RHhvUEU7SUFBd0IsWTNEd3VCTjtFRm02TnBCO0U2RHRvUEU7RUFDQTtJQUFxQjtFN0R5b1B2QjtFNkR2b1BFO0VBQ0E7SUFDSTtJQUNBO0U3RHlvUE47RTZEdG9QRTtFQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFpQnFCO0U3RHlvUHZCO0FBQ0Y7QTZEdG9QQTs2RUFBQTtBQUdBO0VBQXdCO0VBQUE7QTdEd29QeEI7O0E2RHRvUEE7RUFBd0I7RUFBQTtBN0Qwb1B4Qjs7QThEcm1RQTs7NkVBQUE7QUFJQTtFQUF1QjtBOUR3bVF2Qjs7QThEdG1RQTs7RUFBQTtBQUlBO0VBQWlCO0E5RHltUWpCOztBOER2bVFBOztFQUFBO0FBSUE7RUFBc0I7QTlEMG1RdEI7O0E4RHptUUE7RUFBd0I7QTlENm1ReEI7O0E4RDVtUUE7RUFBd0I7QTlEZ25ReEI7O0E4RC9tUUE7RUFBd0I7QTlEbW5ReEI7O0E4RGpuUUE7OztFQUFBO0FBS0E7RUFBbUIsYTVEeWdCRztBRjJtUHRCOztBOERublFBO0VBQW9CLGE1RHlnQkc7QUY4bVB2Qjs7QThEdG5RQTtFQUFtQixhNUR5Z0JHO0FGaW5QdEI7O0E4RHhuUUE7RUFBdUIsaUI1RHFnQkQ7QUZ1blB0Qjs7QThEM25RQTtFQUF3QixpQjVEcWdCRDtBRjBuUHZCOztBOEQ5blFBO0VBQXVCLGlCNURxZ0JEO0FGNm5QdEI7O0ErRDVwUUE7OzZFQUFBO0FBS0E7NkVBQUE7QUFHQTtFQUNJLGlCN0R5RnFCO0U2RHhGckIsZ0I3RGtpQ29CO0U2RGppQ3BCLFc3RHpCb0I7QUZxclF4Qjs7QStEeHBRQTtFQUNJLG1CN0RrQnFCO0U2RGpCckIsZ0I3RDhoQ29CO0U2RDdoQ3BCLFc3RG1CaUI7QUZ3b1FyQjtBR3ZwTUk7RUFBTSxXRGovRFc7QUYyb1FyQjtBR3hwTUk7RUFDSSxXRHJpRU87RUNzaUVQO0FIMHBNUjs7QStEN3BRQTs2RUFBQTtBQUdBO0VBQ0ksbUI3RE9xQjtFNkROckIsZ0I3RHNoQ3FCO0FGeW9PekI7O0ErRDNwUUE7RUFDSSxpQjdEaUVxQjtFNkRoRXJCLGdCN0RraENxQjtBRjRvT3pCOztBK0QxcFFBO0VBQ0ksZTdEdUJlO0U2RHRCZixnQjdEd0JpQjtBRnFvUXJCOztBK0R6cFFBOzZFQUFBO0FBR0E7RUFBaUI7QS9ENHBRakI7O0ErRDNwUUE7RUFBa0I7QS9EK3BRbEI7O0ErRDlwUUE7RUFBZ0I7QS9Ea3FRaEI7O0ErRGhxUUE7RUFBbUI7QS9Eb3FRbkI7O0ErRG5xUUE7RUFBa0I7QS9EdXFRbEI7O0ErRHBxUUE7NkVBQUE7QUFHQTtFQUFrQjtBL0R1cVFsQjs7QStEcHFRQTs2RUFBQTtBQUdBO0VBQXNCO0EvRHVxUXRCOztBK0R0cVFBO0VBQXFCO0EvRDBxUXJCOztBK0R6cVFBO0VBQXFCO0EvRDZxUXJCOztBK0QxcVFBOzZFQUFBO0FBR0E7RUFBMkI7QS9ENnFRM0I7O0ErRDFxUUE7NkVBQUE7QUFHQTtFQUFpQjtBL0Q2cVFqQjs7QStENXFRQTtFQUFvQjtBL0RnclFwQjs7QStEL3FRQTtFQUFtQjtBL0RtclFuQjs7QStEbHJRQTtFQUFxQjtBL0RzclFyQjs7QStEcnJRQTtFQUFtQjtBL0R5clFuQjs7QStEeHJRQTtFQUFtQjtBL0Q0clFuQjs7QStEM3JRQTtFQUFrQjtBL0QrclFsQjs7QStENXJRQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCN0RyR3dCO0VDNGhFRyxrRUQ3d0JXO0FGb2hPMUM7O0ErRHpyUUE7NkVBQUE7QUFHQTtFQUFnQjtBL0Q0clFoQjs7QStEM3JRQTtFQUFpQjtBL0QrclFqQjs7QStEOXJRQTtFQUFrQjtBL0Rrc1FsQjs7QStEanNRQTtFQUFtQjtBL0Rxc1FuQjs7QStEbnNRQTtBQUNBO0VBRUk7SUFBbUI7RS9Ec3NRckI7RStEcnNRRTtJQUFvQjtFL0R3c1F0QjtFK0R2c1FFO0lBQXFCO0UvRDBzUXZCO0FBQ0Y7QStEdnNRQTtBQUNBO0VBRUk7SUFBbUI7RS9EeXNRckI7RStEeHNRRTtJQUFvQjtFL0Qyc1F0QjtFK0Qxc1FFO0lBQXFCO0UvRDZzUXZCO0FBQ0Y7QStEMXNRQTtBQUNBO0VBRUk7SUFBbUI7RS9ENHNRckI7RStEM3NRRTtJQUFvQjtFL0Q4c1F0QjtFK0Q3c1FFO0lBQXFCO0UvRGd0UXZCO0FBQ0Y7QStEN3NRQTtBQUNBO0VBRUk7SUFBb0I7RS9EK3NRdEI7RStEOXNRRTtJQUFxQjtFL0RpdFF2QjtFK0RodFFFO0lBQXNCO0UvRG10UXhCO0FBQ0Y7QStEaHRRQTs7RUFBQTtBQUlBO0VBQWU7QS9Ea3RRZjs7QStEanRRQTtFQUFrQjtBL0RxdFFsQjs7QStEcHRRQTtFQUFrQjtBL0R3dFFsQjs7QStEdnRRQTtFQUFvQjtBL0QydFFwQjs7QStEeHRRQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBa0I7QS9EMHRRbEI7O0ErRHh0UUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRDB0UUo7O0ErRHZ0UUE7QUFDQTs7RUFDc0I7QS9EMnRRdEI7O0ErRHp0UUE7Ozs7RUFBQTtBQU1DO0VBQWlCO0EvRDR0UWxCOztBK0QxdFFDO0FBQ0E7O0VBQ21CO0EvRDh0UXBCOztBK0QzdFFBOzZFQUFBO0FBR0E7RUFDSSwwQzdENDJCc0I7RTZEMzJCdEI7QS9ENnRRSjs7QWdFaDdRQTs7NkVBQUE7QUFJQTtFQUF3QixxQjlEYVI7TzhEYlEsZ0I5RGFSO0FGczZRaEI7O0FnRWo3UUE7QUFDQTtFQUVJO0lBQXdCLHFCOURXTDtTOERYSyxnQjlEV0w7RUZ5NlFyQjtBQUNGO0FnRWo3UUE7O0VBQUE7QUFJQTtFQUE0QjtBaEVtN1E1Qjs7QWdFaDdRQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDSTtPQUFBO0VBQ0E7RUFDQTtPQUFBO0FoRWk3UUo7O0FnRTk2UUE7QUFDQTtFQUVJO0lBQ0k7U0FBQTtFaEVnN1FOO0FBQ0Y7QWdFMzZRQTs2RUFBQTtBQUdBO0VBQWlCO09BQUE7QWhFNjZRakI7O0FnRTU2UUE7RUFBaUI7T0FBQTtBaEVnN1FqQjs7QWdFLzZRQTtFQUFpQjtPQUFBO0FoRW03UWpCOztBZ0VsN1FBO0VBQWlCO09BQUE7QWhFczdRakI7O0FnRXI3UUE7RUFBaUI7T0FBQTtBaEV5N1FqQjs7QWdFdjdRQTtBQUNBO0VBRUk7SUFBb0I7U0FBQTtFaEUwN1F0QjtFZ0V6N1FFO0lBQW9CO1NBQUE7RWhFNDdRdEI7RWdFMzdRRTtJQUFvQjtTQUFBO0VoRTg3UXRCO0VnRTc3UUU7SUFBb0I7U0FBQTtFaEVnOFF0QjtFZ0UvN1FFO0lBQW9CO1NBQUE7RWhFazhRdEI7QUFDRjtBZ0UvN1FBO0FBQ0E7RUFFSTtJQUFvQjtTQUFBO0VoRWk4UXRCO0VnRWg4UUU7SUFBb0I7U0FBQTtFaEVtOFF0QjtFZ0VsOFFFO0lBQW9CO1NBQUE7RWhFcThRdEI7RWdFcDhRRTtJQUFvQjtTQUFBO0VoRXU4UXRCO0VnRXQ4UUU7SUFBb0I7U0FBQTtFaEV5OFF0QjtBQUNGO0FnRXQ4UUE7QUFDQTtFQUVJO0lBQW9CO1NBQUE7RWhFdzhRdEI7RWdFdjhRRTtJQUFvQjtTQUFBO0VoRTA4UXRCO0VnRXo4UUU7SUFBb0I7U0FBQTtFaEU0OFF0QjtFZ0UzOFFFO0lBQW9CO1NBQUE7RWhFODhRdEI7RWdFNzhRRTtJQUFvQjtTQUFBO0VoRWc5UXRCO0FBQ0Y7QWdFNzhRQTtBQUNBO0VBRUk7SUFBcUI7U0FBQTtFaEUrOFF2QjtFZ0U5OFFFO0lBQXFCO1NBQUE7RWhFaTlRdkI7RWdFaDlRRTtJQUFxQjtTQUFBO0VoRW05UXZCO0VnRWw5UUU7SUFBcUI7U0FBQTtFaEVxOVF2QjtFZ0VwOVFFO0lBQXFCO1NBQUE7RWhFdTlRdkI7QUFDRjtBZ0VwOVFBOzs2RUFBQTtBQUlBO0VBQWtCO09BQUE7QWhFczlRbEI7O0FpRWxrUkE7OzZFQUFBO0FBSUE7Ozs7Ozs7RUFBQTtBQVNBO0FBQ0E7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRW1rUko7O0FpRWhrUkE7O0VBQ3dCO0FqRW9rUnhCOztBaUVsa1JBOztFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7S0FBQTtFQUNBO0tBQUE7QWpFcWtSSjs7QWlFamtSQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpFa2tSSjs7QWtFdm5SQTs7NkVBQUE7QUFLQTs2RUFBQTtBQUdBO0VBQXlCLHNCaEV1Q0w7QUZpbFJwQjs7QWtFdm5SQTtFQUF1Qix5QmhFSkc7QUYrblIxQjs7QWtFMW5SQTtFQUF5QjtBbEU4blJ6Qjs7QWtFN25SQTtFQUEyQixzQmhFd0NHO0FGeWxSOUI7O0FrRTluUkE7NkVBQUE7QUFHQTs7OztFQUlJO0VBQ0E7QWxFZ29SSjs7QWtFN25SQTtFQUF1QjtBbEVpb1J2Qjs7QWtFaG9SQTtFQUF5QjtBbEVvb1J6Qjs7QWtFbm9SQTtFQUEyQjtBbEV1b1IzQjs7QWtFdG9SQTtFQUE0QjtBbEUwb1I1Qjs7QWtFdm9SQTs2RUFBQTtBQUdBO0VBQTBCO0FsRTBvUjFCOztBa0V6b1JBO0VBQTRCO0FsRTZvUjVCOztBa0U1b1JBO0VBQTJCO0FsRWdwUjNCOztBa0Uvb1JBO0VBQTZCO0FsRW1wUjdCOztBa0VscFJBO0VBQStCO0FsRXNwUi9COztBa0VycFJBO0VBQThCO0FsRXlwUjlCOztBa0V4cFJBO0VBQTZCO0FsRTRwUjdCOztBa0UzcFJBO0VBQStCO0FsRStwUi9COztBa0U5cFJBO0VBQThCO0FsRWtxUjlCOztBa0UvcFJBOzZFQUFBO0FBR0E7RUFBMEI7QWxFa3FSMUI7O0FrRS9wUkE7NkVBQUE7QUFHQTtFQUF1QjtBbEVrcVJ2Qjs7QWtFaHFSQTs7RUFBQTtBQUlBO0VBQ0k7SUFBdUI7RWxFbXFSekI7QUFDRjtBa0VocVJBOzZFQUFBO0FBR0E7QUFDQTtFQUVJO0lBQTBCO0VsRWlxUjVCO0FBQ0Y7QWtFOXBSQTtBQUNBO0VBRUk7SUFBMEI7RWxFZ3FSNUI7QUFDRjtBa0U3cFJBO0FBQ0E7RUFFSTtJQUEwQjtFbEUrcFI1QjtBQUNGO0FrRTVwUkE7QUFDQTtFQUVJO0lBQTBCO0VsRThwUjVCO0FBQ0Y7QWtFMXBSQTs2RUFBQTtBQUdBO0VBQWdDO0FsRTRwUmhDOztBa0UzcFJBO0VBQThCO0FsRStwUjlCOztBa0U5cFJBO0VBQStCO0FsRWtxUi9COztBa0VqcVJBO0VBQThCO0FsRXFxUjlCOztBa0VwcVJBO0VBQStCO0FsRXdxUi9COztBa0V2cVJBO0VBQW1DO0FsRTJxUm5DOztBa0UxcVJBO0VBQWtDO0FsRThxUmxDOztBa0U3cVJBO0VBQWtDO0FsRWlyUmxDOztBa0VoclJBO0VBQWtDO0FsRW9yUmxDOztBa0VuclJBO0VBQWtDO0FsRXVyUmxDOztBa0V0clJBO0VBQWlDO0FsRTByUmpDOztBa0V6clJBO0VBQTJCO0FsRTZyUjNCOztBa0U1clJBO0VBQWtDO0FsRWdzUmxDOztBa0UvclJBO0VBQTZCO0FsRW1zUjdCOztBa0Vsc1JBO0VBQWtDO0FsRXNzUmxDOztBbUVyelJBOzs2RUFBQTtBQUlBOztFQUFBO0FBSUE7RUFDSTtFQUNBLG1CakVTWTtBRjZ5UmhCOztBbUVuelJBO0VBQTBCLGdCakVNVjtBRml6UmhCOztBbUVyelJBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0FuRXV6Uko7O0FtRXB6UkE7O0VBQUE7QUFJQTtFQUNJO0VBQ0Esa0JqRVhZO0VpRVlaO0FuRXN6Uko7O0FtRW56UkE7RUFDSTtFQUNBLGlCakVqQlk7RWlFa0JaO0FuRXN6Uko7O0FtRW56UkE7QUFDQTtFQUVJO0lBQ0k7SUFDQSxrQmpFMUJRO0lpRTJCUjtFbkVxelJOO0VtRWx6UkU7SUFDSTtJQUNBLGlCakVoQ1E7SWlFaUNSO0VuRW96Uk47QUFDRjtBbUVoelJBO0FBQ0E7RUFFSTtJQUNJO0lBQ0Esa0JqRTNDUTtJaUU0Q1I7RW5FaXpSTjtFbUU5eVJFO0lBQ0k7SUFDQSxpQmpFakRRO0lpRWtEUjtFbkVnelJOO0FBQ0Y7QW1FNXlSQTtBQUNBO0VBRUk7SUFDSTtJQUNBO0VuRTZ5Uk47RW1FMXlSRTtJQUNJO0lBQ0E7RW5FNHlSTjtFbUV6eVJFOzs7O0lBR29CLGtCakVwRUQ7RUZnM1JyQjtFbUUxeVJFOzs7O0lBR3FCLGlCakV6RUY7RUZzM1JyQjtBQUNGO0FtRTF5UkE7QUFDQTtFQUVJO0lBQ0k7SUFDQSxrQmpFbEZlO0lpRW1GZjtFbkUyeVJOO0VtRXh5UkU7SUFDSTtJQUNBLGlCakV4RmU7SWlFeUZmO0VuRTB5Uk47QUFDRjtBb0VsNlJBOzs2RUFBQTtBQUlBOzs7RUFBQTtBQUtBO0FBQ0E7O0VBRTBEO0FwRWs2UjFEOztBb0VqNlJBO0VBQTREO0FwRXE2UjVEOztBb0VuNlJBOztFQUFBO0FBSUE7RUFBVTtBcEVzNlJWOztBcUV4NVJBOzs2RUFBQTtBQUtBOzZFQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7QXJFdzVSSjs7QXFFcjVSQTs7RUFBQTtBQUlBO0VBQTBCO0FyRXc1UjFCOztBcUVyNVJBOztFQUFBO0FBSUE7RUFDSSxhbkU4akNzQjtFbUU3akN0QixhbkU4akN1QjtFbUU3akN2QjtFQUNBO0VBQ0E7QXJFdTVSSjs7QXFFbDVSQTs2RUFBQTtBQUdBOzs7O0VBQUE7QUFNQTtBQUNBO0VBQ0k7RUFDQTtBckVtNVJKOztBcUVoNVJBO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7QXJFbTVSSjs7QXFFLzRSQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7RUFBaUI7QXJFaTVSakI7O0FxRWg1UkE7RUFBa0I7QXJFbzVSbEI7O0FxRWw1UkE7QUFDQTtFQUF1QjtBckVzNVJ2Qjs7QXFFbjVSQTs2RUFBQTtBQUdBO0VBQXNCO0FyRXM1UnRCOztBcUVwNVJBOztFQUFBO0FBSUE7RUFBb0I7QXJFdTVScEI7O0FxRXI1UkE7RUFBa0M7QXJFeTVSbEM7O0FxRXQ1UkE7NkVBQUE7QUFHQTtFQUF5QjtBckV5NVJ6Qjs7QXFFeDVSQTtFQUF3QjtBckU0NVJ4Qjs7QXFFejVSQTs2RUFBQTtBQUdBO0VBQWE7QXJFNDVSYjs7QXFFMzVSQTtFQUF3QjtBckUrNVJ4Qjs7QXFFOTVSQTtFQUFzQjtBckVrNlJ0Qjs7QXFFLzVSQTs2RUFBQTtBQUdBO0VBQW9CO0FyRWs2UnBCOztBcUVqNlJBO0VBQXFCO0FyRXE2UnJCOztBcUVwNlJBO0VBQTJCO0FyRXc2UjNCOztBcUVyNlJBOzZFQUFBO0FBR0E7Ozs7Ozs7O0VBQUE7QUFVQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRXM2Uko7O0FxRW42UkE7RUFDSTtFQUNBO0FyRXM2Uko7O0FxRWw2UkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTs7Ozs7RUFJMkI7QXJFbzZSM0I7O0FxRWw2UkE7OztFQUFBO0FBS0E7O0VBQ3dCO0FyRXE2UnhCOztBcUVuNlJBOzs7RUFBQTtBQUtBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJFcTZSSjs7QXFFbDZSQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJFbzZSSjs7QXFFajZSQTs7RUFBQTtBQUlBOztFQUN1QjtBckVvNlJ2Qjs7QXFFajZSQTs2RUFBQTtBQUdBO0VBQW1CO0tBQUE7QXJFbzZSbkI7O0FxRW42UkE7RUFBcUI7S0FBQTtBckV1NlJyQjs7QXFFdDZSQTtFQUFrQjtLQUFBO0FyRTA2UmxCOztBcUV6NlJBO0VBQWtCO0tBQUE7QXJFNjZSbEI7O0FxRTU2UkE7RUFBd0I7S0FBQTtBckVnN1J4Qjs7QXFFOTZSQTs7RUFBQTtBQUlBO0VBQXNCO0tBQUE7QXJFaTdSdEI7O0FxRWg3UkE7RUFBd0I7S0FBQTtBckVvN1J4Qjs7QXFFbjdSQTtFQUF1QjtLQUFBO0FyRXU3UnZCOztBcUV0N1JBO0VBQXlCO0tBQUE7QXJFMDdSekI7O0FxRXo3UkE7RUFBMkI7S0FBQTtBckU2N1IzQjs7QXFFNTdSQTtFQUEwQjtLQUFBO0FyRWc4UjFCOztBcUUvN1JBO0VBQXlCO0tBQUE7QXJFbThSekI7O0FxRWw4UkE7RUFBMkI7S0FBQTtBckVzOFIzQjs7QXFFcjhSQTtFQUEwQjtLQUFBO0FyRXk4UjFCOztBcUV0OFJBOzZFQUFBO0FBR0E7RUFBb0I7QXJFeThScEI7O0FxRXg4UkE7RUFBa0I7QXJFNDhSbEI7O0FxRTM4UkE7RUFBcUIsa0JuRXkzQlU7QUZzbFEvQjs7QXFFNzhSQTs7RUFBQTtBQUlBO0VBQXVDO0FyRWc5UnZDOztBcUU3OFJBOzZFQUFBO0FBR0E7RUFBdUIseUNuRXU0Qkc7QUZ5a1ExQjs7QXFFLzhSQTtFQUF3QiwwQ25FdTRCRztBRjRrUTNCOztBcUVsOVJBO0VBQXVCLDJDbkV1NEJHO0FGK2tRMUI7O0FxRXI5UkE7RUFBd0IsMkNuRXU0Qkc7QUZrbFEzQjs7QXFFdjlSQTs7RUFBQTtBQUlBO0VBQWlDO0FyRTA5UmpDOztBcUV4OVJBO0VBQW1DLHlDbkU0M0JUO0FGZ21RMUI7O0FxRTM5UkE7RUFBb0MsMENuRTQzQlQ7QUZtbVEzQjs7QXFFOTlSQTtFQUFtQywyQ25FNDNCVDtBRnNtUTFCOztBcUVqK1JBO0VBQW9DLDJDbkU0M0JUO0FGeW1RM0I7O0FxRWwrUkE7NkVBQUE7QUFHQTs7OztFQUFBO0FBTUE7RUFFSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXJFaytSTjtFcUUvOVJFO0lBQ0k7SUFDQTtJQUNBO0lBQ0EsYW5FdzBCbUI7SW1FdjBCbkI7SUFDQTtJQUNBO0lBQ0E7SUFDQSxZbkVrMEJtQjtJbUVqMEJuQixtQm5FbTBCMEI7SW1FbDBCMUIsZ0JuRW0wQnVCO0ltRWwwQnZCO0lBQ0E7SUFDQTtFckVpK1JOO0FBQ0Y7QXFFMzlSQTs2RUFBQTtBQUdBOzs7OztFQUFBO0FBT0E7O0VBR0k7RUFDQSxrQm5FNnlCbUI7RW1FNXlCbkI7RUFDQSxnQm5FNHlCZ0I7RW1FM3lCaEIsY25FNHlCa0I7RUNpaENsQjtBSDhwT0o7O0FxRXY5UkE7QUFDQTtFQUVFOztJQUM4QztFckUwOVI5QztBQUNGO0FxRXQ5UkE7NkVBQUE7QUFHQTs7OztFQUFBO0FBTUE7RUFDSTtFQUNBLGlCbkVyUXFCO0VtRXNRckIsa01uRTdTaUI7RW1FOFNqQixXbkV2WG9CO0VtRXdYcEI7RUFDQTtBckVzOVJKOztBcUVsOVJBO0FBQ0E7RUFDSTtFQUNBO0FyRXE5Uko7O0FxRWw5UkE7QUFDQTtFQUNJLFduRXJZb0I7RW1Fc1lwQjtFQUNBO0FyRXE5Uko7O0FxRWo5UkE7RUFBbUM7QXJFcTlSbkM7O0FxRW45UkE7RUFBbUI7QXJFdTlSbkI7O0FxRXA5UkE7NkVBQUE7QUFHQTtFQUFlO0FyRXU5UmY7O0FxRXA5UkE7NkVBQUE7QUFHQTs7O0VBQUE7QUFLQTs7RUFFYTtBckVxOVJiOztBcUVuOVJBO0FBQ0E7RUFBa0I7QXJFdTlSbEI7O0FxRXA5UkE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQWUsNkNuRWl1Qk87QUZxdlF0Qjs7QXFFbjlSQTs2RUFBQTtBQUdBO0VBQXFCO0FyRXM5UnJCOztBcUVyOVJBO0VBQW1CO0FyRXk5Um5COztBcUV4OVJBO0VBQW9CO0FyRTQ5UnBCOztBcUUzOVJBO0VBQW1CO0FyRSs5Um5COztBcUU5OVJBO0VBQW9CO0FyRWsrUnBCOztBcUVqK1JBO0VBQXdCO0FyRXErUnhCOztBcUVwK1JBO0VBQXVCO0FyRXcrUnZCOztBcUV2K1JBO0VBQXVCO0FyRTIrUnZCOztBcUUxK1JBO0VBQXVCO0FyRTgrUnZCOztBcUU3K1JBO0VBQXVCO0FyRWkvUnZCOztBcUVoL1JBO0VBQXNCO0FyRW8vUnRCOztBcUVuL1JBO0VBQWdCO0FyRXUvUmhCOztBcUV0L1JBO0VBQXVCO0FyRTAvUnZCOztBcUV6L1JBO0VBQWtCO0FyRTYvUmxCOztBcUU1L1JBO0VBQXVCO0FyRWdnU3ZCOztBcUU3L1JBOzRFQUFBO0FBR0E7RUFBdUI7QXJFZ2dTdkI7O0FxRTcvUkE7NEVBQUE7QUFHQTtFQUFnQztBckVnZ1NoQzs7QXFFLy9SQTtFQUFrQztBckVtZ1NsQzs7QXFFbGdTQTtFQUFpQztBckVzZ1NqQzs7QXFFcmdTQTtFQUFtQztBckV5Z1NuQzs7QXFFeGdTQTtFQUFvQztBckU0Z1NwQzs7QXFFM2dTQTtFQUFtQztBckUrZ1NuQzs7QXFFOWdTQTtFQUFxQztBckVraFNyQzs7QXFFamhTQTtFQUFvQztBckVxaFNwQzs7QXNFdCtTQTs7NkVBQUE7QUFJQTtFQUFXO0F0RXkrU1g7O0FzRXgrU0E7RUFBa0I7QXRFNCtTbEI7O0FzRXorU0E7NkVBQUE7QUFHQTs7O0VBQUE7QUFNQTtFQUFnQjtBdEUwK1NoQjs7QXNFeitTQTtFQUFrQjtBdEU2K1NsQjs7QXNFNStTQTtFQUFpQjtBdEVnL1NqQjs7QXNFLytTQTtFQUFtQjtBdEVtL1NuQjs7QXNFbC9TQTtFQUFrQjtBdEVzL1NsQjs7QXNFcC9TQTtBQUNBO0VBRUk7SUFBbUI7RXRFdS9TckI7RXNFdC9TRTtJQUFxQjtFdEV5L1N2QjtFc0V4L1NFO0lBQW9CO0V0RTIvU3RCO0VzRTEvU0U7SUFBc0I7RXRFNi9TeEI7RXNFNS9TRTtJQUFxQjtFdEUrL1N2QjtBQUNGO0FzRTUvU0E7QUFDQTtFQUVJO0lBQW1CO0V0RTgvU3JCO0VzRTcvU0U7SUFBcUI7RXRFZ2dUdkI7RXNFLy9TRTtJQUFvQjtFdEVrZ1R0QjtFc0VqZ1RFO0lBQXNCO0V0RW9nVHhCO0VzRW5nVEU7SUFBcUI7RXRFc2dUdkI7QUFDRjtBc0VuZ1RBO0FBQ0E7RUFFSTtJQUFtQjtFdEVxZ1RyQjtFc0VwZ1RFO0lBQXFCO0V0RXVnVHZCO0VzRXRnVEU7SUFBb0I7RXRFeWdUdEI7RXNFeGdURTtJQUFzQjtFdEUyZ1R4QjtFc0UxZ1RFO0lBQXFCO0V0RTZnVHZCO0FBQ0Y7QXNFMWdUQTtBQUNBO0VBRUk7SUFBb0I7RXRFNGdUdEI7RXNFM2dURTtJQUFzQjtFdEU4Z1R4QjtFc0U3Z1RFO0lBQXFCO0V0RWdoVHZCO0VzRS9nVEU7SUFBdUI7RXRFa2hUekI7RXNFamhURTtJQUFzQjtFdEVvaFR4QjtBQUNGO0FzRWpoVEE7OztFQUFBO0FBTUE7RUFBbUI7QXRFa2hUbkI7O0FzRWpoVEE7RUFBZTtBdEVxaFRmOztBc0VwaFRBO0VBQWtCO0F0RXdoVGxCOztBc0V2aFRBO0VBQWtCO0F0RTJoVGxCOztBc0V6aFRBO0FBQ0E7RUFFSTtJQUFzQjtFdEU0aFR4QjtFc0UzaFRFO0lBQWtCO0V0RThoVHBCO0VzRTdoVEU7SUFBcUI7RXRFZ2lUdkI7RXNFL2hURTtJQUFxQjtFdEVraVR2QjtBQUNGO0FzRS9oVEE7QUFDQTtFQUVJO0lBQXNCO0V0RWlpVHhCO0VzRWhpVEU7SUFBa0I7RXRFbWlUcEI7RXNFbGlURTtJQUFxQjtFdEVxaVR2QjtFc0VwaVRFO0lBQXFCO0V0RXVpVHZCO0FBQ0Y7QXNFcGlUQTtBQUNBO0VBRUk7SUFBc0I7RXRFc2lUeEI7RXNFcmlURTtJQUFrQjtFdEV3aVRwQjtFc0V2aVRFO0lBQXFCO0V0RTBpVHZCO0VzRXppVEU7SUFBcUI7RXRFNGlUdkI7QUFDRjtBc0V6aVRBO0FBQ0E7RUFFSTtJQUF1QjtFdEUyaVR6QjtFc0UxaVRFO0lBQW1CO0V0RTZpVHJCO0VzRTVpVEU7SUFBc0I7RXRFK2lUeEI7RXNFOWlURTtJQUFzQjtFdEVpalR4QjtBQUNGO0FzRTdpVEE7NkVBQUE7QUFJQTtFQUFlO0F0RThpVGY7O0FzRTdpVEE7RUFBdUI7QXRFaWpUdkI7O0FzRWhqVEE7RUFBa0I7QXRFb2pUbEI7O0FzRW5qVEE7RUFBMEI7QXRFdWpUMUI7O0FzRXJqVEE7QUFDQTtFQUVJO0lBQWtCO0V0RXdqVHBCO0VzRXZqVEU7SUFBcUI7RXRFMGpUdkI7QUFDRjtBc0V2alRBO0FBQ0E7RUFFSTtJQUFrQjtFdEV5alRwQjtFc0V4alRFO0lBQXFCO0V0RTJqVHZCO0FBQ0Y7QXNFeGpUQTtBQUNBO0VBRUk7SUFBa0I7RXRFMGpUcEI7RXNFempURTtJQUFxQjtFdEU0alR2QjtBQUNGO0FzRXpqVEE7QUFDQTtFQUVJO0lBQW1CO0V0RTJqVHJCO0VzRTFqVEU7SUFBc0I7RXRFNmpUeEI7QUFDRjtBc0V6alRBOzZFQUFBO0FBSUE7RUFBa0I7QXRFMGpUbEI7O0FzRXpqVEE7RUFBZ0I7QXRFNmpUaEI7O0FzRTVqVEE7RUFBd0I7QXRFZ2tUeEI7O0FzRTlqVEE7OztFQUFBO0FBTUE7RUFBd0I7QXRFZ2tUeEI7O0FzRS9qVEE7RUFBb0I7QXRFbWtUcEI7O0FzRWxrVEE7RUFBdUI7QXRFc2tUdkI7O0FzRXJrVEE7RUFBdUI7QXRFeWtUdkI7O0FzRXhrVEE7RUFBd0I7QXRFNGtUeEI7O0FzRTNrVEE7RUFBdUI7QXRFK2tUdkI7O0FzRTVrVEE7NkVBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQWlCO0F0RThrVGpCOztBc0U3a1RBO0VBQWdCO0F0RWlsVGhCOztBc0Uva1RBO0FBQ0E7RUFFSTtJQUFvQjtFdEVrbFR0QjtFc0VqbFRFO0lBQW1CO0V0RW9sVHJCO0FBQ0Y7QXNFamxUQTtBQUNBO0VBRUk7SUFBb0I7RXRFbWxUdEI7RXNFbGxURTtJQUFtQjtFdEVxbFRyQjtBQUNGO0FzRWxsVEE7QUFDQTtFQUVJO0lBQW9CO0V0RW9sVHRCO0VzRW5sVEU7SUFBbUI7RXRFc2xUckI7QUFDRjtBc0VubFRBO0FBQ0E7RUFFSTtJQUFxQjtFdEVxbFR2QjtFc0VwbFRFO0lBQW9CO0V0RXVsVHRCO0FBQ0Y7QXNFbmxUQTs2RUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQW1CO0F0RW9sVG5COztBc0VsbFRBOzs7RUFBQTtBQUtBO0VBQWdCO0F0RXFsVGhCOztBc0VubFRBOzs7RUFBQTtBQUtBO0VBQWdCO0F0RXNsVGhCOztBc0VwbFRBOzs7RUFBQTtBQUtBO0VBQWE7QXRFdWxUYjs7QXNFcmxUQTtBQUNBO0VBRUk7SUFBc0I7RXRFd2xUeEI7RXNFdmxURTtJQUFtQjtFdEUwbFRyQjtFc0V6bFRFO0lBQWdCO0V0RTRsVGxCO0FBQ0Y7QXNFemxUQTtBQUNBO0VBRUk7SUFBc0I7RXRFMmxUeEI7RXNFMWxURTtJQUFtQjtFdEU2bFRyQjtFc0U1bFRFO0lBQWdCO0V0RStsVGxCO0FBQ0Y7QXNFNWxUQTtBQUNBO0VBRUk7SUFBc0I7RXRFOGxUeEI7RXNFN2xURTtJQUFtQjtFdEVnbVRyQjtFc0UvbFRFO0lBQWdCO0V0RWttVGxCO0FBQ0Y7QXNFL2xUQTtBQUNBO0VBRUk7SUFBdUI7RXRFaW1UekI7RXNFaG1URTtJQUFvQjtFdEVtbVR0QjtFc0VsbVRFO0lBQWlCO0V0RXFtVG5CO0FBQ0Y7QXVFdjNUQTs7NkVBQUE7QUFJQTs7RUFBQTtBQUlBO0VBQWEsbUJyRWhDRztBRnc1VGhCOztBdUV2M1RBO0VBQWlCO0F2RTIzVGpCOztBdUV6M1RBO0VBQWlCO0F2RTYzVGpCOztBdUU1M1RBO0VBQW9CO0F2RWc0VHBCOztBdUUvM1RBO0VBQWtCO0F2RW00VGxCOztBdUVsNFRBO0VBQW1CO0F2RXM0VG5COztBdUVuNFRBOzZFQUFBO0FBR0E7RUFBb0Isa0JyRW9tQkc7QUZreVN2Qjs7QXVFcjRUQTtFQUF3QjtBdkV5NFR4Qjs7QXVFdjRUQTtFQUF3QjtBdkUyNFR4Qjs7QXVFMTRUQTtFQUEyQjtBdkU4NFQzQjs7QXVFNzRUQTtFQUF5QjtBdkVpNVR6Qjs7QXVFaDVUQTtFQUEwQjtBdkVvNVQxQjs7QXVFajVUQTs2RUFBQTtBQUdBO0VBQW1CLG1CckVnRkc7QUZvMFR0Qjs7QXVFbjVUQTtFQUF1QjtBdkV1NVR2Qjs7QXVFcjVUQTtFQUF1QjtBdkV5NVR2Qjs7QXVFeDVUQTtFQUEwQjtBdkU0NVQxQjs7QXVFMzVUQTtFQUF3QjtBdkUrNVR4Qjs7QXVFOTVUQTtFQUF5QjtBdkVrNlR6Qjs7QXVFLzVUQTs2RUFBQTtBQUdBO0VBQW9CLG1CckV3Q0c7QUYwM1R2Qjs7QXVFajZUQTtFQUF3QjtBdkVxNlR4Qjs7QXVFbjZUQTtFQUF3QjtBdkV1NlR4Qjs7QXVFdDZUQTtFQUEyQjtBdkUwNlQzQjs7QXVFejZUQTtFQUF5QjtBdkU2NlR6Qjs7QXVFNTZUQTtFQUEwQjtBdkVnN1QxQjs7QXVFNzZUQTs2RUFBQTtBQUdBO0VBQW1CLG1CckU0Qkk7QUZvNVR2Qjs7QXVFLzZUQTtFQUF1QjtBdkVtN1R2Qjs7QXVFajdUQTtFQUF1QjtBdkVxN1R2Qjs7QXVFcDdUQTtFQUEwQjtBdkV3N1QxQjs7QXVFdjdUQTtFQUF3QjtBdkUyN1R4Qjs7QXVFMTdUQTtFQUF5QjtBdkU4N1R6Qjs7QXVFNTdUQTtBQUNBO0VBRUk7SUFBbUIsbUJyRTVDRDtFRjIrVHBCO0V1RTk3VEU7SUFBdUI7RXZFaThUekI7RXVFLzdURTtJQUF1QjtFdkVrOFR6QjtFdUVqOFRFO0lBQTBCO0V2RW84VDVCO0V1RW44VEU7SUFBd0I7RXZFczhUMUI7RXVFcjhURTtJQUF5QjtFdkV3OFQzQjtBQUNGO0F1RXA4VEE7NkVBQUE7QUFHQTtFQUFvQixtQnJFMURFO0FGZ2dVdEI7O0F1RXI4VEE7RUFBd0I7QXZFeThUeEI7O0F1RXY4VEE7RUFBd0I7QXZFMjhUeEI7O0F1RTE4VEE7RUFBMkI7QXZFODhUM0I7O0F1RTc4VEE7RUFBeUI7QXZFaTlUekI7O0F1RWg5VEE7RUFBMEI7QXZFbzlUMUI7O0F1RWw5VEE7QUFDQTtFQUVJO0lBQW9CLG9CckVraUJEO0VGbTdTckI7RXVFcDlURTtJQUF3QjtFdkV1OVQxQjtFdUVyOVRFO0lBQXdCO0V2RXc5VDFCO0V1RXY5VEU7SUFBMkI7RXZFMDlUN0I7RXVFejlURTtJQUF5QjtFdkU0OVQzQjtFdUUzOVRFO0lBQTBCO0V2RTg5VDVCO0FBQ0Y7QXVFMTlUQTs2RUFBQTtBQUdBO0VBQ0k7RUFDQTtBdkUyOVRKOztBdUV4OVRBO0VBQXNCO0F2RTQ5VHRCOztBdUUzOVRBO0VBQXlCO0F2RSs5VHpCOztBdUU5OVRBO0VBQXVCO0F2RWsrVHZCOztBdUVqK1RBO0VBQXdCO0F2RXErVHhCOztBdUVuK1RBO0VBQ0k7RUFDQTtBdkVzK1RKOztBdUVuK1RBO0FBQ0E7RUFFSTtJQUNJO0lBQ0E7RXZFcStUTjtFdUVsK1RFO0lBQTBCO0V2RXErVDVCO0V1RXArVEU7SUFBMkI7RXZFdStUN0I7QUFDRjtBdUVwK1RBO0FBQ0E7RUFFSTtJQUNJO0lBQ0E7RXZFcStUTjtFdUVsK1RFO0lBQTBCO0V2RXErVDVCO0V1RXArVEU7SUFBMkI7RXZFdStUN0I7QUFDRjtBdUVwK1RBO0FBQ0E7RUFFSTtJQUNJO0lBQ0E7RXZFcStUTjtFdUVsK1RFO0lBQTBCO0V2RXErVDVCO0V1RXArVEU7SUFBMkI7RXZFdStUN0I7QUFDRjtBdUVwK1RBO0FBQ0E7RUFFSTtJQUNJO0lBQ0E7RXZFcStUTjtFdUVsK1RFO0lBQTJCO0V2RXErVDdCO0V1RXArVEU7SUFBNEI7RXZFdStUOUI7QUFDRjtBdUVuK1RBOzZFQUFBO0FBR0E7RUFBb0I7QXZFcStUcEI7O0F1RXArVEE7RUFBd0I7QXZFdytUeEI7O0F1RXYrVEE7RUFBMkI7QXZFMitUM0I7O0F1RTErVEE7RUFBeUI7QXZFOCtUekI7O0F1RTcrVEE7RUFBMEI7QXZFaS9UMUI7O0F1RS8rVEE7RUFDSTtFQUNBO0F2RWsvVEo7O0F1RS8rVEE7O0VBQytDO0F2RW0vVC9DOztBdUVsL1RBO0VBQTZDO0F2RXMvVDdDOztBdUVwL1RBO0FBQ0E7RUFFSTtJQUE0QjtFdkV1L1Q5QjtFdUV0L1RFO0lBQTZCO0V2RXkvVC9CO0FBQ0Y7QXVFdC9UQTtBQUNBO0VBRUk7SUFBNEI7RXZFdy9UOUI7RXVFdi9URTtJQUE2QjtFdkUwL1QvQjtBQUNGO0F1RXYvVEE7QUFDQTtFQUVJO0lBQTRCO0V2RXkvVDlCO0V1RXgvVEU7SUFBNkI7RXZFMi9UL0I7QUFDRjtBdUV4L1RBO0FBQ0E7RUFFSTtJQUE2QjtFdkUwL1QvQjtFdUV6L1RFO0lBQThCO0V2RTQvVGhDO0FBQ0Y7QXdFaHVVQTs7NkVBQUE7QUFJQTtFQUFjLGF0RWNFO0FGb3RVaEI7O0F3RWh1VUE7QUFDQTtFQUVJO0lBQWMsYXRFWUs7RUZ1dFVyQjtBQUNGO0F3RS90VUE7NkVBQUE7QUFHQTtFQUFvQixhdEVxSkU7QUY0a1V0Qjs7QXdFOXRVQTs2RUFBQTtBQUdBO0VBQW9CLGF0RUZHO0FGbXVVdkI7O0F3RS90VUE7QUFDQTtFQUVJO0lBQW9CLGF0RWtQRjtFRmcvVHBCO0FBQ0Y7QXdFOXRVQTs2RUFBQTtBQUdBO0VBQXFCO0F4RWd1VXJCOztBd0UvdFVBO0VBQXlCO0F4RW11VXpCOztBd0VsdVVBO0VBQTRCO0F4RXN1VTVCOztBd0VydVVBO0VBQTBCO0F4RXl1VTFCOztBd0V4dVVBO0VBQTJCO0F4RTR1VTNCOztBd0UxdVVBO0VBQ0k7RUFDQTtBeEU2dVVKOztBd0UxdVVBO0VBQ0k7RUFDQTtBeEU2dVVKOztBeUU5d1VBOzs2RUFBQTtBQUlBO0VBQVE7QXpFaXhVUjs7QXlFOXdVQTs2RUFBQTtBQUdBOztFQUFBO0FBSUE7Ozs7O0VBS0k7RUFDQTtFQUNBO0VBQ0E7QXpFK3dVSjs7QXlFNXdVQTs7O0VBQUE7QUFLQTtFQUNJO0VBQ0E7RUFDQTtBekU4d1VKOztBeUUzd1VBO0VBQ0k7RUFDQTtFQUNBO0F6RTh3VUo7O0F5RTN3VUE7RUFDSTtFQUNBO0VBQ0E7QXpFOHdVSjs7QXlFM3dVQTtFQUNJO0VBQ0E7RUFDQTtBekU4d1VKOztBeUUzd1VBOztFQUFBO0FBSUE7RUFDSTtFQUNBO0F6RTZ3VUo7O0F5RTF3VUE7RUFDSTtFQUNBO0F6RTZ3VUo7O0F5RTF3VUE7RUFDSTtFQUNBO0F6RTZ3VUo7O0F5RTF3VUE7RUFDSTtFQUNBO0F6RTZ3VUo7O0F5RTF3VUE7Ozs7RUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtBekU0d1VKOztBeUV6d1VBO0FBQ0E7OztFQUdJO0VBQ0E7RUFDQTtBekU0d1VKOztBeUV6d1VBO0VBQTJCO0F6RTZ3VTNCOztBeUU1d1VBO0VBQTRCO0F6RWd4VTVCOztBeUUvd1VBO0VBQ0k7RUFDQTtBekVreFVKOztBeUUvd1VBO0VBQ0k7RUFDQTtFQUFBO0F6RWt4VUo7O0F5RS93VUE7RUFDSTtFQUNBO0VBQUE7QXpFa3hVSjs7QXlFL3dVQTtBQUNBOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7QXpFa3hVSjs7QXlFL3dVQTtFQUEwQjtBekVteFUxQjs7QXlFbHhVQTtFQUE2QjtBekVzeFU3Qjs7QXlFcnhVQTtFQUNJO0VBQ0E7QXpFd3hVSjs7QXlFcnhVQTs7RUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekV1eFVKOztBeUVueFVBOzZFQUFBO0FBR0E7RUFDSSxZdkVMa0I7RXVFTWxCO0F6RXF4VUo7O0F5RWx4VUE7RUFDSSxZdkU5Slk7RXVFK0paO0F6RXF4VUo7O0F5RWx4VUE7RUFDSSxZdkVuS1k7RXVFb0taO0F6RXF4VUo7O0F5RWx4VUE7QUFDQTtFQUVJO0lBQ0ksWXZFMnNCa0I7SXVFMXNCbEI7RXpFb3hVTjtBQUNGO0F5RS93VUE7NkVBQUE7QUFHQTtFQUF3QjtBekVpeFV4Qjs7QXlFaHhVQTtFQUF3QjtBekVveFV4Qjs7QXlFbnhVQTtFQUFxQjtBekV1eFVyQjs7QXlFdHhVQTtFQUFzQjtBekUweFV0Qjs7QXlFdnhVQTs2RUFBQTtBQUdBO0VBQXVCO0F6RTB4VXZCOztBeUV6eFVBO0VBQTRCO0F6RTZ4VTVCOztBeUU1eFVBO0VBQWdDO0F6RWd5VWhDOztBeUUveFVBO0VBQTRCO0F6RW15VTVCOztBMEV2K1VBOzs2RUFBQTtBQUlBOzZFQUFBO0FBR0E7Ozs7O0VBQUE7QUFPQTs7O0VBR0k7RUFDQTtBMUV1K1VKOztBMEVwK1VBOzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtFQUNBO0ExRXErVUo7O0EwRWwrVUE7O0VBQUE7QUFJQTs7OztFQUdzRDtBMUVxK1V0RDs7QTBFbitVQTs7O0VBQUE7QUFLQTtBQUNBO0VBQWlDO0ExRXMrVWpDOztBMEVwK1VBO0VBQ0k7RUFDQTtBMUV1K1VKOztBMEVyK1VBO0VBQ0k7RUFDQTtBMUV3K1VKOztBMEVyK1VBO0FBQ0E7Ozs7RUFJSTtFQUNBO0VBQ0E7QTFFdytVSjs7QTBFcitVQTs7OztFQUlJO0VBQ0E7RUFDQTtBMUV3K1VKOztBMEVyK1VBOztFQUFBO0FBSUE7RUFBMkI7QTFFdytVM0I7O0EwRXYrVUE7RUFBOEI7QTFFMitVOUI7O0EwRTErVUE7RUFBNEI7QTFFOCtVNUI7O0EwRTcrVUE7RUFBNkI7QTFFaS9VN0I7O0EwRS8rVUE7RUFBaUM7QTFFbS9VakM7O0EwRWwvVUE7RUFBb0M7QTFFcy9VcEM7O0EwRXIvVUE7RUFBa0M7QTFFeS9VbEM7O0EwRXgvVUE7RUFBbUM7QTFFNC9VbkM7O0EwRTEvVUE7RUFBa0M7QTFFOC9VbEM7O0EwRTcvVUE7RUFBcUM7QTFFaWdWckM7O0EwRWhnVkE7RUFBbUM7QTFFb2dWbkM7O0EwRW5nVkE7RUFBb0M7QTFFdWdWcEM7O0EwRXJnVkE7QUFDQTs7OztFQUlJO0VBQ0E7RUFDQTtBMUV3Z1ZKOztBMEVwZ1ZBOzZFQUFBO0FBR0E7RUFBd0I7QTFFdWdWeEI7O0EwRXBnVkE7NkVBQUE7QUFHQTtFQUFzQix5QnhFdytCSztBRitoVDNCOztBMEVyZ1ZBOzZFQUFBO0FBR0E7O0VBQzJCO0ExRXdnVjNCOztBMkV0cFZBOzs2RUFBQTtBQUlBOzs7RUFBQTtBQUtBOzs7RUFFeUI7QTNFd3BWekI7O0EyRXRwVkE7QUFDQTtFQUVJO0lBQWdCO0UzRXlwVmxCO0FBQ0Y7QTJFdHBWQTtBQUNBO0VBRUk7SUFBZ0I7RTNFd3BWbEI7QUFDRjtBMkVycFZBO0FBQ0E7RUFFSTtJQUFnQjtFM0V1cFZsQjtBQUNGO0EyRXBwVkE7QUFDQTtFQUVJO0lBQWlCO0UzRXNwVm5CO0FBQ0Y7QTJFbnBWQTs7RUFBQTtBQUlBO0FBQ0E7RUFFSTtJQUFpQjtFM0VvcFZuQjtBQUNGO0EyRWpwVkE7QUFDQTtFQUVJO0lBQWlCO0UzRW1wVm5CO0FBQ0Y7QTJFaHBWQTtBQUNBO0VBRUk7SUFBaUI7RTNFa3BWbkI7QUFDRjtBMkUvb1ZBO0FBQ0E7RUFFSTtJQUFrQjtFM0VpcFZwQjtBQUNGO0EyRTdvVkE7NkVBQUE7QUFHQTtFQUFnQjtBM0Urb1ZoQjs7QTJFNW9WQTs2RUFBQTtBQUdBOzs7Ozs7RUFBQTtBQVFBOzs7Ozs7O0VBQUE7QUFTQTs7O0VBSUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRTJvVko7O0EyRXhvVkE7Ozs7RUFBQTtBQU1BO0VBQW9GO0EzRTJvVnBGOztBMkV4b1ZBOzZFQUFBO0FBR0E7O0VBQUE7QUFJQTtBQUNBO0VBQ0k7SUFBbUI7RTNFMG9WckI7QUFDRjtBMkV4b1ZBO0FBQ0E7RUFDSTtJQUFxQjtFM0Uyb1Z2QjtBQUNGO0E0RXJ4VkE7OzZFQUFBO0FBS0E7Ozs7RUFBQTtBQU00QztFekU0SXhDLCtCRDNKbUI7RUM2eUJuQjtFQVlBO0VBV0E7RUFNQTtBSDg5VEo7QUd6eFZJO0VJRUE7QVAweFZKO0FHMXhWSTtFSUFBO0FQNnhWSjtBRzd0Vkk7RUFDSSwrQkRyQ3FCO0FGb3dWN0I7QUdsdFZJO0VBQ0ksc0JEbkdlO0VDb0dmO0FIb3RWUjtBR2pwVkk7Ozs7Ozs7Ozs7OztFQUVJLFdEektlO0FGczBWdkI7QUd6cFZJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdJLFdEaExlO0FGKzFWdkI7QUd2cVZJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdJLCtCRHhMZTtFQzZJbkIsMENEd1E4QjtBRmkrVWxDO0FHdHJWSTtFQUFLLFdEbk1jO0FGNDNWdkI7QUduclZJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVlJLFdEck5lO0FGdy9WdkI7QUdud1ZJO0VBNUZtQyxXRHpKaEI7QUYyL1Z2QjtBR2x3Vkk7RUEvRjBDLCtCRHZKdkI7QUYyL1Z2QjtBRzd2Vkk7RUFDSSwwQ0RoSGdCO0FGKzJWeEI7QUd2dlZJO0VBQWlCLG1CRDFRRTtBRm9nV3ZCO0FHenVWSTtFQUNJLCtCRDVPcUI7QUZ1OVY3QjtBR3Z1Vkk7RUFDSSwrQkQ5UmU7QUZ1Z1d2QjtBR2h1Vkk7RUFDSSwrQkR4U2U7QUYwZ1d2QjtBRzF0Vkk7RUFDSSwrQkRwUXFCO0FGZytWN0I7QUd0blZJO0VBQ0ksNkJEeE00QjtFQ3lNNUIsV0Q1WmU7RUNxWWUsc0NEbFlmO0FGa2hXdkI7QUdyblZJO0VBQ0ksNkJENU1rQztFQzZNbEMsV0RsYWU7RUNzWXFCLGtCRHRZckI7QUYwaFd2QjtBR3BuVkk7Ozs7Ozs7Ozs7OztFQUVJLDZCRGpObUM7RUNrTm5DLFdEemFlO0VDdVlzQixrQkR2WXRCO0FGMGlXdkI7QUd6blZJO0VBQ0ksc0JEbGJlO0VDbWJmLFdEdGJPO0FGaWpXZjtBR3ZuVkk7RUFDSSw2Q0Q3TmtDO0VDOE5sQyxXRDViTztBRnFqV2Y7QUdyblZJOzs7Ozs7Ozs7Ozs7RUFFSSwwQ0RsT21DO0VDbU9uQyxXRG5jTztBRm9rV2Y7QUd6blZJO0VBQ0ksc0JEemNlO0VDMGNmLFdEN2NPO0FGd2tXZjtBR3ZuVkk7RUFDSSw2Q0Q5T29DO0VDK09wQyxXRG5kTztBRjRrV2Y7QUdyblZJOzs7Ozs7Ozs7Ozs7RUFFSSwwQ0RuUHFDO0VDb1ByQyxXRDFkTztBRjJsV2Y7QUd6blZJO0VBQ0ksV0RoZWU7QUYybFd2QjtBRzVzVkk7RUFBWSx5QkQvWU87QUY4bFd2QjtBRzFuVkk7RUFDSSxXRHJlZTtBRmltV3ZCO0FHeG5WSTtFQUNJLCtCRDFicUI7QUZvalc3QjtBR2xuVkk7RUFDSSxXRG5mZTtBRnVtV3ZCO0FHaG5WSTtFQUF3QiwrQkR2Y0M7QUYwalc3QjtBR3YvVUk7RUFDSSxzQkRwbkJlO0VDcW5CZixXRHhuQk87QUZpbldmO0FHMStVSTtFQUNJLCtCRHJsQnFCO0FGaWtXN0I7QUd4K1VJO0VBQ0ksK0JEdm9CZTtBRmluV3ZCO0FHbCtVSTtFQUFxQixnRERoZ0JEO09DZ2dCQywyQ0RoZ0JEO0FGcStWeEI7QUcvNVVJO0VJcHNCQTtBUHNtV0o7QUc3NVVJOzs7Ozs7Ozs7Ozs7RUFFSSw2Q0Q3a0JnQjtBRnMvVnhCO0FHcjZVSTtFQUNJLDBDRGxsQmdCO0FGeS9WeEI7QUduNlVJO0VBQ0ksMkNEdmxCZ0I7QUY0L1Z4QjtBR2g1VUk7RUFDSSw2QkQ5WnlCO0VDdVpFO0FIMDVVbkM7QUcvNFVJO0VBQ0ksMENEbGErQjtFQ3VaRTtBSDY1VXpDO0FHOTRVSTtFQUNJLDBDRHRhaUM7RUN1WkU7QUhnNlUzQztBRzc0VUk7RUFDSSwwQ0QxYWdDO0VDdVpFO0FIbTZVMUM7QUc3MlVJO0VBQ0ksNkNEelo4QjtBRnd3VnRDO0FHMzJVSTs7Ozs7Ozs7Ozs7O0VBRUksOENEOVpvQztBRnF4VjVDO0FHbDNVSTtFQUNJLDZDRHJhOEI7QUZ5eFZ0QztBR2gzVUk7RUFDSSw4Q0R6YW9DO0FGMnhWNUM7QUc3MlVJO0VBQ0ksb0NEOWE4QjtFQ2taRSxzQ0Q0YU47QUZnK1RsQztBRzMyVUk7RUFDSSxvQ0RwYjhCO0VDa1pFLHNDRDRhTjtBRm8rVGxDO0FHN3pVSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHSSwwQ0QzZTBCO0VDNGUxQiwrQkRqNEJlO0VDazRCZjtFQWZvQixzQ0RwdUJKO0FGdWtXeEI7QUdqMVVROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUNJLDJDRGpib0I7RUNrYnBCLCtCRHY0Qlc7RUNvM0JXLHNDRHAzQlg7QUZpdld2QjtBR2oyVUk7RUFBeUIsK0JEbjJCQTtBRnVzVzdCO0FHcDJVSTtFQUF5QiwrQkRuMkJBO0FGdXNXN0I7QUdsMlVJO0VBQTRCLCtCRHIyQkg7QUYwc1c3QjtBR3IyVUk7RUFBNEIsK0JEcjJCSDtBRjBzVzdCO0FHLzFVSTtFSXY0QkE7QVB5dVdKO0FHNTFVSTs7Ozs7Ozs7Ozs7O0VJNzRCQTtBUHV2V0o7QUduMlVJOzs7Ozs7Ozs7Ozs7RUFFSSwwQ0RsaEIwQjtFQ2dlQSxzQ0R0dUJWO0FGd29XeEI7QUczMlVJOzs7Ozs7Ozs7Ozs7RUFFSSwyQ0RuZDhCO0VDMlpFLHNDRHQzQmpCO0FGc3lXdkI7QUduM1VJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUdJLHNCRHo3QmU7RUMwM0JtQixrQkQxM0JuQjtBRm0wV3ZCO0FHcjRVSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHSSx1QkRoZXNDO0FGMjNWOUM7QUd0NVVJO0VJbDdCQTtBUDIwV0o7QUd4NVVJO0VJbjdCQTtBUDgwV0o7QUcxNVVJO0VJcDdCQTtBUGkxV0o7QUcxNVVJO0VBL0U4QixXRDUzQlg7QUZ3Mld2QjtBR3g1VUk7RUFDSSwrQkRqNkJxQjtBRjJ6VzdCO0FHdjVVSTtFQUFzQiwrQkRqOUJIO0FGMjJXdkI7QUdoNVVJO0VBQ0ksMkNENzBCZ0I7QUYrdFd4QjtBRzk0VUk7RUFDSSwwQ0RsMUJnQjtBRmt1V3hCO0FHdDFVSTtFQUNJLDZDRDc0QmdCO0FGcXVXeEI7QUdwMVVJO0VBQ0ksMkNEbDVCZ0I7QUZ3dVd4QjtBR2wxVUk7Ozs7Ozs7Ozs7OztFQUVJLDZDRHg1QmdCO0FGc3ZXeEI7QUdsMFVJO0VBQ0ksK0JEdmhDcUI7QUYyMVc3QjtBR2gwVUk7RUFDSSwrQkR6a0NlO0FGMjRXdkI7QUc5elVJOzs7Ozs7Ozs7Ozs7RUFFSSwrQkQva0NlO0FGeTVXdkI7QUdsMFVJO0VBQ0ksMENEbnNCMEI7RUNvc0IxQiwrQkQ1aUNxQjtBRmczVzdCO0FHaDBVSTtFQUNJLDJDRHZpQitCO0VDd2lCL0IsK0JEL2xDZTtBRmk2V3ZCO0FHOXpVSTtFQUNJLDBDRDNpQmdDO0VDNGlCaEMsK0JEcm1DZTtBRnE2V3ZCO0FHN3lVSTtFQUNJLCtCRDVrQ3FCO0FGMjNXN0I7QUczeVVJO0VBQ0ksK0JEOW5DZTtBRjI2V3ZCO0FHenlVSTtFQUNJLCtCRG5vQ2U7QUY4Nld2QjtBRzN4VUk7RUFDSSxzQkR2cENlO0VDd3BDZixXRDNwQ087QUZ3N1dmO0FHNXZVSTs7Ozs7Ozs7Ozs7O0VBRUksK0JEM29DcUI7QUZtNVc3QjtBR3B3VUk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBR0ksK0JEL3JDZTtBRnk5V3ZCO0FHdHhVSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHSSwrQkR6cENxQjtBRnE4VzdCO0FHeHlVSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFHSSxXRGh0Q2U7QUY4Z1h2QjtBR3B5VUk7RUFBNEI7QUh1eVVoQztBR3R5VUk7RUFBK0I7QUh5eVVuQztBR3h5VUk7RUFBOEI7QUgyeVVsQztBRzF5VUk7RUFBZ0M7QUg2eVVwQztBRzN5VUk7RUkzdENBO0FQeWdYSjtBRzF5VUk7RUFDSSwwQ0RsbUNnQjtBRjg0V3hCO0FHOXpVSTtFQUNJLDBDRGpsQ2dCO0VDa2xDaEIsNkNEbGxDZ0I7QUZrNVd4QjtBR3h5VUk7RUFBdUMsMENEcDJCVDtBRitvV2xDO0FHOXhVSTtFQUNJLG1CRGx3Q2tCO0VDbXdDbEIsV0Q5d0NPO0FGOGlYZjtBRzV4VUk7RUFDSSxXRG54Q087QUZpalhmO0FHL3JVSTtFQUNJLCtCRGgwQ3FCO0FGaWdYN0I7QUc3clVJO0VBQ0ksK0JEbDNDZTtBRmlqWHZCO0FHM3JVSTtFQUNJLFdEMTNDZTtBRnVqWHZCO0FHenJVSTtFQUNJLFdELzNDZTtBRjBqWHZCO0FHdnJVSTtFQUNJLDBDRGx2Q2dCO0FGMjZXeEI7QUdyclVJO0VBQWdDLCtCRHgxQ1A7QUZnaFg3QjtBR3RyVUk7RUFBc0MsK0JEdjRDbkI7QUZna1h2QjtBR3ZyVUk7RUFBK0MsV0Q1NEM1QjtBRnNrWHZCO0FHcHJVSTtFQUNJLCtCRG4yQ3FCO0FGeWhYN0I7QUdsclVJO0VBQ0ksK0JEcjVDZTtBRnlrWHZCO0FHaHJVSTtFQUNJLFdENzVDZTtBRitrWHZCO0FHOXFVSTtFQUNJLFdEbDZDZTtBRmtsWHZCO0FHNXFVSTtFQUNJLDBDRHJ4Q2dCO0FGbThXeEI7QUcxcVVJO0VBQWdDLCtCRDMzQ1A7QUZ3aVg3QjtBRzNxVUk7RUFBc0MsK0JEMTZDbkI7QUZ3bFh2QjtBRzVxVUk7RUFBK0MsV0QvNkM1QjtBRjhsWHZCO0FHenFVSTtFQUNJLFdEdDdDZTtBRmltWHZCO0FHdnFVSTtFQUNJLFdEMzdDZTtFQ2kyQ3lCLDBDRHo4QmQ7QUY2c1dsQztBR3RxVUk7RUFDSSxXRGg4Q2U7RUNrMkMwQiwwQ0QxOEJmO0FGaXRXbEM7QUdycVVJO0VBQ0ksK0JEcjVDcUI7QUY0alg3QjtBR25xVUk7RUFDSSwrQkR2OENlO0FGNG1YdkI7QUdqcVVJO0VBQ0ksV0QvOENlO0FGa25YdkI7QUcvcFVJO0VBQ0ksV0RwOUNlO0FGcW5YdkI7QUc3cFVJO0VBQ0ksMENEdjBDZ0I7QUZzK1d4QjtBRzNwVUk7RUFBa0MsK0JENzZDVDtBRjJrWDdCO0FHNXBVSTtFQUF3QywrQkQ1OUNyQjtBRjJuWHZCO0FHN3BVSTtFQUFpRCxXRGorQzlCO0FGaW9YdkI7QUcxcFVJO0VBQ0ksMENEdDFDZ0I7QUZrL1d4QjtBR2hsVUk7RUFDSSwrQkRyZ0RxQjtBRnVsWDdCO0FHOWtVSTs7Ozs7Ozs7Ozs7O0VBRUksK0JEeGpEZTtBRmtwWHZCO0FHdGxVSTtFQUNJLFdEaGtEZTtBRndwWHZCO0FHcGxVSTtFQUNJLFdEcmtEZTtBRjJwWHZCO0FHOWtVSTtFQUNJLCtCRDNrRGU7QUYycFh2QjtBR3hrVUk7RUFDSSwrQkR2aURxQjtBRmluWDdCO0FHdGtVSTs7Ozs7Ozs7Ozs7O0VBRUksK0JEMWxEZTtBRjRxWHZCO0FHL2lVSTtFQUNJLCtCRGpsRHFCO0FGa29YN0I7QUc3aVVJO0VBQ0ksK0JEbm9EZTtBRmtyWHZCO0FHM2lVSTtFQUNJLCtCRHhvRGU7QUZxclh2QjtBR3ppVUk7RUFDSSwrQkRobURxQjtBRjJvWDdCO0FHLy9USTtFQUFtQiwrQkR6ckRBO0FGMnJYdkI7QUdoZ1VJO0VBQWdDLCtCRDlvRFA7QUZpcFg3QjtBR25nVUk7RUFBZ0MsK0JEOW9EUDtBRmlwWDdCO0FHNy9USTtFQUE2QiwrQkRwcERKO0FGb3BYN0I7QUcvL1RJO0VBQW1DLCtCRHJwRFY7QUZ1cFg3QjtBRzUvVEk7RUFDSSw2QkRseEI0QjtFQ2t2QlEsc0NEMWhEcEI7QUZ5alh4QjtBRzMvVEk7RUFDSSxxQ0R0eEJrQztBRm14VjFDO0FHei9USTtFQUNJLDZCRDF4QjJCO0VDa3ZCUSxzQ0Q1aERuQjtBRmdrWHhCO0FHeC9USTtFQUNJLHFDRDl4QmlDO0FGd3hWekM7QUd0L1RJO0VBQ0ksNkJEbHlCMkI7RUNrdkJRLHNDRDloRG5CO0FGdWtYeEI7QUdyL1RJO0VBQ0kscUNEdHlCaUM7QUY2eFZ6QztBR24vVEk7RUFDSSw2QkQxeUIwQjtFQ2t2QlEsc0NEaGlEbEI7QUY4a1h4QjtBR2wvVEk7RUFDSSxxQ0Q5eUJnQztBRmt5VnhDO0FHNStUSTtFQUNJLCtCRHhzRHFCO0FGc3JYN0I7QUcxK1RJO0VBQ0ksK0JEMXZEZTtBRnN1WHZCO0FHbjlUSTtFQUNJLCtCRDV6QmlCO0FGaXhWekI7QUdqOVRJO0VBQ0ksZ0NEaDBCdUI7QUZteFYvQjtBRy84VEk7RUFDSSwrQkRwMEJ3QjtBRnF4VmhDO0FHcjZUSTtFQUNJLCtCRDl4RHFCO0FGcXNYN0I7QUduNlRJO0VBQ0ksK0JEaDFEZTtBRnF2WHZCO0FHajZUSTtFQUNJLFdEeDFEZTtBRjJ2WHZCO0FHMzVUSTtFQUNJLDJDRC9zRGdCO0FGNG1YeEI7QUdyNVRJO0VBQ0ksNkJEcDJCOEI7RUNxMkI5QiwrQkQzekRxQjtBRmt0WDdCO0FHbjVUSTtFQUNJLDBDRHg5QzBCO0VDeTlDMUIsK0JEOTJEZTtBRm13WHZCO0FHajVUSTtFQUNJLDBDRDk5QzBCO0VDKzlDMUIsK0JEcDNEZTtBRnV3WHZCO0FHLzRUSTtFQUNJLHNCRDUzRGU7RUM2M0RmLFdEaDRETztBRml4WGY7QUd6NFRJO0VBQ0ksK0JEdDFEcUI7QUZpdVg3QjtBRzF6VEk7RUFBWSxzQ0RyMERRO0FGa29YeEI7QUdoelRJO0VBQ0ksK0JEcjdEcUI7QUZ1dVg3QjtBRzl5VEk7RUFDSSwrQkR2K0RlO0FGdXhYdkI7QUc1eVRJO0VBQ0ksV0QvK0RlO0VDNDlEZ0Isa0JENTlEaEI7QUY4eFh2QjtBRzN5VEk7RUFDSSwrQkRwOERxQjtBRml2WDdCO0FHeHdUSTs7Ozs7Ozs7Ozs7O0VBQzBELDZDRHg0RHRDO0FGNnBYeEI7QUdod1RJO0VBQ0ksK0JEN2lFZTtBRit5WHZCO0FHOXZUSTtFQUNJLCtCRHJnRXFCO0FGcXdYN0I7QUc1dlRJO0VBQWlCO0FIK3ZUckI7QUc5dlRJO0VBQW9CO0FIaXdUeEI7QUdod1RJO0VBQW1CO0FIbXdUdkI7QUdsd1RJO0VBQXFCO0FIcXdUekI7QUd6dVRJO0VBQVcsK0VEeHpCa0I7QUZvaVZqQztBR3BzVEk7RUFDSSwrQkRqbEVxQjtBRnV4WDdCO0FHbHNUSTtFQUNJLCtCRG5vRWU7QUZ1MFh2QjtBR2hzVEk7RUFDSSxXRDNvRWU7QUY2MFh2QjtBR3pxVEk7RUFDSSxXRHJxRWU7QUZnMVh2QjtBR3ZxVEk7RUFDSSxXRDFxRWU7QUZtMVh2QjtBR3JxVEk7RUFBNkY7QUh3cVRqRztBR3ZxVEk7RUFBbUI7QUgwcVR2QjtBR3YwWEk7RUlFQTtBUHcwWEo7QUd4MFhJO0VJQUE7QVAyMFhKO0FHdDBUSTs7Ozs7Ozs7Ozs7O0VBQzBELDZDRHg0RHRDO0FGMnRYeEI7O0E0RXYxWEE7O0VBQUE7QUFJQTtFQUFJO0E1RTAxWEo7O0E0RXgxWEE7RUFBWTtBNUU0MVhaOztBNEUzMVhBO0VBQVc7QTVFKzFYWDs7QTRFNzFYQTtFQUFvQjtBNUVpMlhwQjs7QTRFaDJYQTtFQUFtQjtBNUVvMlhuQjs7QTZFcDRYQTs7NkVBQUE7QUFJQTtFQUVJOzs7SUFHSTtJQUNBO0lBQ0E7SUFDQTtFN0VxNFhOO0U2RWw0WEU7O0lBQ1k7RTdFcTRYZDtFNkVuNFhFOztJQUVJO0lBQ0E7RTdFcTRYTjtFNkVsNFhFO0lBQVE7RTdFcTRYVjtFNkVuNFhFOztJQUNNO0U3RXM0WFI7RTZFcDRYRTtJQUFNO0U3RXU0WFI7RTZFcjRYRTtJQUFRO0U3RXc0WFY7RTZFdDRYRTs7O0lBR0k7SUFDQTtFN0V3NFhOO0U2RXI0WEU7O0lBQ0s7RTdFdzRYUDtBQUNGO0E4RTE3WEE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBOUUyN1hKOztBOEV4N1hBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7QTlFMDdYSjs7QThFdjdYQTtFQUVJLHNCQXBCVztFQXFCWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RXk3WEo7O0E4RXQ3WEE7RUFFRTtFQUNBO0E5RXc3WEY7O0E4RXI3WEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RXU3WEY7O0E4RXA3WEE7RUFDRTtJQUNFO0U5RXU3WEY7RThFcDdYQTtJQUNFO0U5RXM3WEY7RThFbjdYQTtJQUNFO0lBQ0E7RTlFcTdYRjtBQUNGO0E4RWw3WEE7RUFDRTtJQUNFO0lBQ0E7RTlFbzdYRjtFOEVoN1hBO0lBQ0U7RTlFazdYRjtBQUNGO0E4RS82WEE7RUFDRTtJQUNFO0U5RWk3WEY7RThFOTZYQTtJQUNFO0U5RWc3WEY7QUFDRjtBOEU3NlhBO0VBQ0U7SUFDRTtFOUUrNlhGO0U4RTU2WEE7SUFDRTtFOUU4NlhGO0FBQ0Y7QStFM2dZQTtFQUNJO0VBQ0E7QS9FNmdZSjs7QStFMWdZQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0U0Z1lKOztBK0V6Z1lBO0VBQ0M7RUFDQTtBL0U0Z1lEOztBK0V6Z1lBO0VBRUU7RUFDQTtFQUNBO0EvRTJnWUY7O0ErRXhnWUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBL0UwZ1lGOztBK0V2Z1lBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0V5Z1lGOztBK0V0Z1lBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0V5Z1lGOztBK0V0Z1lBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9FeWdZRjs7QStFdGdZQTtFQUNFO0VBQ0E7RUFDQTtBL0V5Z1lGOztBK0V0Z1lBO0VBQ0k7QS9FeWdZSjs7QStFdGdZQTtFQUNFO0EvRXlnWUY7O0ErRXRnWUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBL0V3Z1lGOztBK0VyZ1lBO0VBRUU7QS9FdWdZRjs7QStFcGdZQTtFQUVFO0EvRXNnWUY7O0ErRW5nWUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBL0VxZ1lGOztBK0VsZ1lBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Fb2dZRjs7QStFamdZQTtFQUNFO0VBQ0E7RUFDQTtBL0VvZ1lGOztBK0VqZ1lBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRW1nWUY7O0ErRWhnWUE7RUFDRTtFQUNBO0VBQ0E7QS9FbWdZRjs7QStFaGdZQTtFQUVJO0EvRWtnWUo7O0ErRS8vWEE7RUFDRTtFQUNBO0EvRWtnWUY7O0ErRS8vWEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FaWdZRjs7QStFOS9YQTtFQUVFO0VBQ0E7QS9FZ2dZRjs7QStFNy9YQTtFQUVFO0EvRSsvWEY7O0ErRTUvWEE7RUFFRTtBL0U4L1hGOztBK0UxL1hBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9FNi9YRjs7QStFMS9YQTtFQUNFO0EvRTYvWEY7O0ErRTEvWEE7RUFDRTtFQUNBO0EvRTYvWEY7O0ErRTEvWEE7O0VBR0U7QS9FNC9YRjs7QStFei9YQTtFQUNFO0EvRTQvWEY7O0ErRXovWEE7RUFDRTtBL0U0L1hGOztBK0V6L1hBO0VBQ0U7QS9FNC9YRjs7QStFei9YQTtFQUVFO0VBQ0E7QS9FMi9YRjs7QStFeC9YQTtFQUVFO0EvRTAvWEY7O0ErRXYvWEE7RUFFRTtFQUNBO0EvRXkvWEY7O0ErRXQvWEE7RUFDRTtBL0V5L1hGOztBK0V0L1hBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Fdy9YRjs7QStFci9YQTtFQUVFO0VBQ0E7QS9FdS9YRjs7QStFcC9YQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Fcy9YRjs7QStFbi9YQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0VxL1hGOztBK0VsL1hBO0VBRUU7QS9Fby9YRjs7QStFai9YQTtFQUNFO0EvRW8vWEY7O0ErRWovWEE7RUFDRTtFQUNBO0EvRW8vWEY7O0ErRWovWEE7RUFDRTtBL0VvL1hGOztBK0VqL1hBOztFQUVFO0EvRW8vWEY7O0ErRWovWEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Fby9YRjs7QStFai9YQTtBQUNBO0VBQ0U7QS9Fby9YRjs7QStFai9YQTtFQUNFO0EvRW8vWEY7O0ErRWovWEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBL0VtL1hGOztBK0VoL1hBO0VBR0U7QS9FaS9YRjs7QStFOStYQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0EvRWcvWEY7O0ErRTcrWEE7RUFFRTtFQUNBO0EvRSsrWEY7O0ErRTUrWEE7RUFDRTtBL0UrK1hGOztBK0U1K1hBO0VBRUk7RUFDQTtBL0U4K1hKOztBK0UzK1hBO0VBQ0U7RUFDQTtBL0U4K1hGOztBK0UzK1hBO0VBRUU7QS9FNitYRjs7QStFMStYQTtFQUVFO0VBQ0E7QS9FNCtYRjs7QStFeitYQTtFQUVFO0VBQ0E7QS9FMitYRjs7QStFeCtYQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QS9FMitYSjs7QStFeCtYQTtFQUNJO0EvRTIrWEo7O0ErRXgrWEE7RUFDRTtBL0UyK1hGOztBK0V4K1hBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FMitYSjs7QStFeCtYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0UyK1hKOztBK0V4K1hBO0VBQ0k7RUFDQTtFQUNBO0EvRTIrWEo7O0ErRXgrWEE7RUFFRTtFQUNBO0EvRTArWEY7O0ErRXYrWEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0V5K1hGOztBK0V0K1hBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRXcrWEY7O0ErRXIrWEE7RUFFRTtFQUNBO0EvRXUrWEY7O0ErRXArWEE7RUFFRTtBL0VzK1hGOztBK0VuK1hBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRXErWEY7O0ErRWwrWEE7RUFDRTtBL0VxK1hGOztBK0VsK1hBO0VBRUU7RUFDQTtBL0VvK1hGOztBK0VqK1hBO0VBQ0U7QS9FbytYRjs7QStFaitYQTtFQUVFO0VBQ0E7QS9FbStYRjs7QStFaCtYQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0VrK1hGOztBK0UvOVhBO0VBQ0U7QS9FaytYRjs7QStFLzlYQTtFQUVFO0VBQ0E7QS9FaStYRjs7QStFOTlYQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FZytYRjs7QStFNzlYQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FKzlYRjs7QStFNTlYQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0EvRTg5WEY7O0ErRTM5WEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FNjlYRjs7QStFMTlYQTtFQUNFO0EvRTY5WEY7O0ErRTE5WEE7RUFDSTtBL0U2OVhKOztBK0UxOVhBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0U0OVhGOztBK0V6OVhBO0VBRUU7RUFDQTtFQUNBO0EvRTI5WEY7O0ErRXg5WEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBL0UwOVhGOztBK0V2OVhBO0VBRUU7RUFDQTtBL0V5OVhGOztBK0V0OVhBO0VBRUU7RUFDQTtFQUNBO0EvRXc5WEY7O0ErRXI5WEE7RUFFRTtFQUNBO0VBQ0E7QS9FdTlYRjs7QStFcjlYQTtFQUVFO0EvRXU5WEY7O0ErRXA5WEE7RUFDRTtFQUNBO0VBQ0E7QS9FdTlYRjs7QStFcDlYQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FdTlYSjs7QStFcDlYQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRXU5WEY7O0ErRXA5WEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRXU5WEY7O0ErRXA5WEE7RUFDRTtFQUNBO0VBQ0E7QS9FdTlYRjs7QStFcDlYQTtFQUVFO0VBQ0E7QS9FczlYRjs7QStFbjlYQTtFQUVFO0EvRXE5WEY7O0ErRWw5WEE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBL0VvOVhGOztBK0VqOVhBO0VBRUU7QS9FbTlYRjs7QStFaDlYQTs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0VrOVhKOztBK0UvOFhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9FazlYRjs7QStFLzhYQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9FazlYRjs7QStFaDlYQTtFQUNFO0VBQ0E7QS9FbTlYRjs7QStFajlYQTtFQUNFO0EvRW85WEY7O0ErRWo5WEE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRW05WEo7O0ErRWg5WEE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRW05WEo7O0ErRWg5WEE7RUFDSTtFQUNBO0EvRW05WEo7O0ErRWg5WEE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtBL0VrOVhKOztBK0UvOFhBO0VBQ0U7RUFDQTtBL0VrOVhGOztBK0U5OFhBO0VBQ0U7QS9FaTlYRjs7QStFOThYQTtFQUNFO0VBQ0E7QS9FaTlYRjs7QWdGdHJaQTtFQUVJO0VBQ0E7QWhGd3JaSjs7QWdGcnJaQTtFQUNJO0FoRndyWko7O0FnRnJyWkE7RUFDSTtBaEZ3clpKOztBZ0ZyclpBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZ1clpKOztBZ0ZwclpBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZ1clpKOztBZ0ZwclpBO0VBQ0k7RUFDQTtBaEZ1clpKOztBZ0ZwclpBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7QWhGc3JaSjs7QWdGbnJaQTs7RUFFSTtBaEZzclpKOztBZ0ZuclpBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGc3JaSjs7QWdGbnJaQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0FoRnNyWko7O0FnRm5yWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7QWhGc3JaSjs7QWdGbnJaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtBaEZzclpKOztBZ0ZuclpBO0VBQ0k7RUFDQTtFQUNBO0VBR0E7QWhGc3JaSjs7QWdGbnJaQTtFQUNJO0VBQ0E7RUFDQTtFQUdBO0FoRnNyWko7O0FnRm5yWkE7RUFDSTtBaEZzclpKOztBZ0ZuclpBO0VBQ0k7RUFDQTtFQUNBO0FoRnNyWko7O0FnRm5yWkE7RUFDSTtFQUNBO0FoRnNyWko7O0FnRm5yWkE7RUFDSTtBaEZzclpKOztBZ0ZuclpBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZzclpKOztBZ0ZuclpBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWhGc3JaSjs7QWdGbnJaQTtFQUVJO0FoRnFyWko7O0FnRmxyWkE7RUFDSTtFQUNBO0FoRnFyWko7O0FnRmxyWkE7RUFFSTtBaEZvclpKOztBZ0ZqclpBO0VBQ0k7QWhGb3JaSjs7QWdGanJaQTtFQUVJO0VBQ0E7RUFDQTtBaEZtclpKOztBZ0ZoclpBO0VBQ0k7RUFDQTtFQUNBO0FoRm1yWko7O0FnRmhyWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEZtclpKOztBZ0Z4cVpBO0VBQ0k7SUFDSTtFaEYycVpOO0VnRnpxWkU7SUFDSTtJQUNBO0VoRjJxWk47QUFDRjtBZ0Z4cVpBO0VBQ0k7O0lBRUk7SUFDQTtFaEYwcVpOO0VnRnhxWkU7SUFDSTtJQUNBO0VoRjBxWk47QUFDRjtBZ0Z2cVpBO0VBQ0k7SUFFSTtFaEZ3cVpOO0VnRnJxWkU7SUFDSTtFaEZ1cVpOO0FBQ0Y7QWdGcHFaQTtFQUNJO0lBQ0k7SUFDQTtFaEZzcVpOO0VnRnBxWkU7SUFDSTtJQUNBO0VoRnNxWk47RWdGcHFaRTtJQUNJO0lBQ0E7RWhGc3FaTjtBQUNGO0FnRm5xWkE7RUFDSTtJQUNJO0VoRnFxWk47QUFDRjtBZ0ZscVpBO0VBQ0k7SUFDSTtFaEZvcVpOO0VnRmxxWkU7SUFDSTtFaEZvcVpOO0FBQ0Y7QWlGOTZaQTtFQUNJO0lBQ0k7RWpGZzdaTjtBQUNGO0FpRjk2WkE7RUFDSTtJQUNJO0lBQ0E7RWpGZzdaTjtFaUY5NlpFO0lBQ0k7SUFDQTtFakZnN1pOO0FBQ0Y7QWlGOTZaQTtFQUNJO0lBQ0k7RWpGZzdaTjtFaUY5NlpFO0lBQ0k7RWpGZzdaTjtBQUNGO0FpRjk2WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGZzdaSjs7QWlGOTZaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FqRmk3Wko7O0FpRi82WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakZrN1pKOztBaUZoN1pBO0VBQ0k7QWpGbTdaSjs7QWlGajdaQTtFQUNJO0FqRm83Wko7O0FpRmw3WkE7RUFDSTtBakZxN1pKOztBaUZuN1pBO0VBQ0k7QWpGczdaSjs7QWlGcDdaQTtFQUNJO0FqRnU3Wko7O0FpRnI3WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGdzdaSjs7QWlGdDdaQTtFQUNJO0FqRnk3Wko7O0FpRnY3WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRjA3Wko7O0FpRng3WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakYyN1pKOztBaUZ6N1pBO0VBQ0k7QWpGNDdaSjs7QWlGMTdaQTtFQUNJO0FqRjY3Wko7O0FpRjM3WkE7RUFDSTtJQUNJO0lBQ0E7RWpGODdaTjtBQUNGO0FpRjU3WkE7RUFDSTtJQUNJO0VqRjg3Wk47QUFDRjtBaUY1N1pBO0VBQ0k7QWpGODdaSjs7QWlGNTdaQTtFQUNJO0FqRis3Wko7O0FpRjc3WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZnOFpKOztBaUY5N1pBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZpOFpKOztBaUYvN1pBO0VBQ0k7QWpGazhaSjs7QWlGaDhaQTtFQUNJO0FqRm04Wko7O0FpRmo4WkE7RUFDSTtBakZvOFpKOztBaUZsOFpBO0VBQ0k7QWpGcThaSjs7QWlGbjhaQTtFQUNJO0FqRnM4Wko7O0FpRnA4WkE7RUFDSSxtQkE3SlM7RUE4SlQ7QWpGdThaSjs7QWlGcjhaQTtFQUNJO0FqRnc4Wko7O0FpRnQ4WkE7RUFDSSxtQkFwS1M7RUFxS1Q7QWpGeThaSjs7QWlGdjhaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakYwOFpKOztBaUZ4OFpBO0VBQ0k7RUFDQTtBakYyOFpKOztBaUZ6OFpBO0VBQ0ksbUJBMUxTO0FqRnNvYWI7O0FpRjE4WkE7RUFDSTtFQUNBO0FqRjY4Wko7O0FpRjM4WkE7RUFDSTtBakY4OFpKOztBaUY1OFpBO0VBQ0k7QWpGKzhaSjs7QWlGNzhaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FqRmc5Wko7O0FpRjk4WkE7RUFDSTtBakZpOVpKOztBaUYvOFpBO0VBQ0k7QWpGazlaSjs7QWlGaDlaQTtFQUNJO0VBQ0E7QWpGbTlaSjs7QWlGajlaQTtFQUNJO0FqRm85Wko7O0FpRmw5WkE7RUFDSTtJQUNJO0VqRnE5Wk47QUFDRjtBaUZuOVpBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpGcTlaSjs7QWlGbjlaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGczlaSjs7QWlGcDlaQTtFQUNJO0lBQ0k7RWpGdTlaTjtBQUNGO0FpRnI5WkE7RUFDSTtFQUNBO0VBQ0E7QWpGdTlaSjs7QWlGcjlaQTtFQUNJO0FqRnc5Wko7O0FpRnQ5WkE7RUFDSTtBakZ5OVpKOztBaUZ2OVpBO0VBQ0k7RUFDQTtFQUNBO0FqRjA5Wko7O0FpRng5WkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QWpGMjlaSjs7QWlGejlaQTtFQUNJO0VBQ0E7RUFDQTtBakY0OVpKOztBaUYxOVpBO0VBQ0k7RUFDQTtBakY2OVpKOztBaUYzOVpBO0VBQ0k7QWpGODlaSjs7QWlGNTlaQTtFQUNJO0FqRis5Wko7O0FpRjc5WkE7RUFDSTtBakZnK1pKOztBaUY5OVpBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGaStaSjs7QWlGLzlaQTtFQUNJO0VBQ0E7QWpGaytaSjs7QWlGaCtaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGbStaSjs7QWlGaitaQTtFQUNJO0FqRm8rWko7O0FpRmwrWkE7RUFDSTtBakZxK1pKOztBaUZuK1pBO0VBQ0k7QWpGcytaSjs7QWlGcCtaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBakZ1K1pKOztBaUZyK1pBO0VBQ0k7RUFDQTtFQUNBO0FqRncrWko7O0FpRnQrWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRnkrWko7O0FpRnYrWkE7RUFDSTtBakYwK1pKOztBaUZ4K1pBO0VBQ0k7RUFDQTtBakYyK1pKOztBaUZ6K1pBO0VBQ0k7QWpGNCtaSjs7QWlGMStaQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakY2K1pKOztBaUYzK1pBO0VBQ0k7RUFDQTtBakY4K1pKOztBaUY1K1pBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGKytaSjs7QWlGNytaQTtFQUNJO0FqRmcvWko7O0FpRjkrWkE7RUFDSTtBakZpL1pKOztBaUYvK1pBO0VBQ0k7QWpGay9aSjs7QWlGaC9aQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGbS9aSjs7QWlGai9aQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZvL1pKOztBaUZsL1pBO0VBQ0ksbUJBbmFTO0FqRnc1YWI7O0FpRm4vWkE7RUFDSTtFQUNBO0FqRnMvWko7O0FpRnAvWkE7RUFDSTtBakZ1L1pKOztBaUZyL1pBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGdy9aSjs7QWlGdC9aQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY0ExYlM7RUEyYlQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRnkvWko7O0FpRnYvWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QWpGMC9aSjs7QWlGeC9aQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QWpGMi9aSjs7QWlGei9aQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7QWpGNC9aSjs7QWlGMS9aQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtBakY2L1pKOztBaUYzL1pBO0VBQ0k7RUFDQTtFQUNBO0FqRjgvWko7O0FpRjUvWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFFQTtFQUNBO0FqRisvWko7O0FpRjcvWkE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFFQTtBakZnZ2FKOztBaUY5L1pBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBRUE7RUFDQTtBakZpZ2FKOztBaUYvL1pBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7QWpGa2dhSjs7QWlGaGdhQTtFQUNJO0FqRm1nYUo7O0FpRmpnYUE7RUFDSTtBakZvZ2FKOztBaUZsZ2FBO0VBQ0k7QWpGcWdhSjs7QWlGbmdhQTtFQUNJO0VBQ0E7QWpGc2dhSjs7QWlGcGdhQTtFQUNJO0VBQ0E7QWpGdWdhSjs7QWlGcmdhQTtFQUNJO0VBQ0E7QWpGd2dhSjs7QWlGdGdhQTtFQUNJO0FqRnlnYUo7O0FpRnZnYUE7RUFDSTtBakYwZ2FKOztBaUZ4Z2FBO0VBQ0k7QWpGMmdhSjs7QWlGemdhQTtFQUNJO0FqRjRnYUo7O0FpRjFnYUE7RUFDSTtBakY2Z2FKOztBaUYzZ2FBO0VBQ0k7QWpGOGdhSjs7QWlGNWdhQTtFQUNJO0FqRitnYUo7O0FpRjdnYUE7RUFDSTtBakZnaGFKOztBaUY5Z2FBO0VBQ0k7QWpGaWhhSjs7QWlGL2dhQTtFQUNJO0FqRmtoYUo7O0FpRmhoYUE7RUFDSTtBakZtaGFKOztBaUZqaGFBO0VBQ0k7QWpGb2hhSjs7QWlGbGhhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZxaGFKOztBaUZuaGFBO0VBQ0k7QWpGc2hhSjs7QWlGcGhhQTtFQUNJO0FqRnVoYUo7O0FpRnJoYUE7RUFDSTtFQUNBO0FqRndoYUo7O0FpRnRoYUE7RUFDSTtJQUNJO0VqRnloYU47QUFDRjtBaUZ2aGFBO0VBQ0k7QWpGeWhhSjs7QWlGdmhhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRjBoYUo7O0FpRnhoYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRjJoYUo7O0FpRnpoYUE7RUFDSTtFQUNBO0FqRjRoYUo7O0FpRjFoYUE7RUFDSTtBakY2aGFKOztBaUYzaGFBO0VBQ0k7RUFDQTtFQUNBO0FqRjhoYUo7O0FpRjVoYUE7RUFDSTtBakYraGFKOztBaUY3aGFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWpGZ2lhSjs7QWlGOWhhQTtFQUNJO0VBQ0E7RUFDQTtBakZpaWFKOztBaUYvaGFBO0VBQ0k7QWpGa2lhSjs7QWlGaGlhQTtFQUNJO0VBQ0E7QWpGbWlhSjs7QWlGamlhQTtFQUNJO0FqRm9pYUo7O0FpRmxpYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRnFpYUo7O0FpRm5pYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakZzaWFKOztBaUZwaWFBO0VBQ0k7RUFDQTtFQUNBO0FqRnVpYUo7O0FpRnJpYUE7RUFDSTtFQUNBO0FqRndpYUo7O0FpRnRpYUE7RUFDSTtFQUNBO0FqRnlpYUo7O0FpRnZpYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakYwaWFKOztBaUZ4aWFBO0VBQ0k7QWpGMmlhSjs7QWlGemlhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGNGlhSjs7QWlGMWlhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakY2aWFKOztBaUYzaWFBO0VBQ0ksbUJBdHZCUztBakZveWJiOztBaUY1aWFBO0VBQ0k7RUFDQTtBakYraWFKOztBaUY3aWFBO0VBQ0k7QWpGZ2phSjs7QWlGOWlhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRmlqYUo7O0FpRi9pYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNBN3dCUztFQTh3QlQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRmtqYUo7O0FpRmhqYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QWpGbWphSjs7QWlGamphQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtFQUNBO0VBQ0E7QWpGb2phSjs7QWlGbGphQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7QWpGcWphSjs7QWlGbmphQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFDQTtBakZzamFKOztBaUZwamFBO0VBQ0k7RUFDQTtFQUNBO0FqRnVqYUo7O0FpRnJqYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFFQTtFQUNBO0FqRndqYUo7O0FpRnRqYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQUE7RUFFQTtBakZ5amFKOztBaUZ2amFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUFBO0VBRUE7RUFDQTtBakYwamFKOztBaUZ4amFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtFQUNBO0VBQ0E7QWpGMmphSjs7QWlGemphQTtFQUNJO0FqRjRqYUo7O0FpRjFqYUE7RUFDSTtBakY2amFKOztBaUYzamFBO0VBQ0k7QWpGOGphSjs7QWlGNWphQTtFQUNJO0VBQ0E7QWpGK2phSjs7QWlGN2phQTtFQUNJO0VBQ0E7QWpGZ2thSjs7QWlGOWphQTtFQUNJO0VBQ0E7QWpGaWthSjs7QWlGL2phQTtFQUNJO0FqRmtrYUo7O0FpRmhrYUE7RUFDSTtBakZta2FKOztBaUZqa2FBO0VBQ0k7QWpGb2thSjs7QWlGbGthQTtFQUNJO0FqRnFrYUo7O0FpRm5rYUE7RUFDSTtBakZza2FKOztBaUZwa2FBO0VBQ0k7QWpGdWthSjs7QWlGcmthQTtFQUNJO0FqRndrYUo7O0FpRnRrYUE7RUFDSTtBakZ5a2FKOztBaUZ2a2FBO0VBQ0k7QWpGMGthSjs7QWlGeGthQTtFQUNJO0FqRjJrYUo7O0FpRnprYUE7RUFDSTtBakY0a2FKOztBaUYxa2FBO0VBQ0k7QWpGNmthSjs7QWlGM2thQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakY4a2FKOztBaUY1a2FBO0VBQ0k7RUFDQTtBakYra2FKOztBaUY3a2FBO0VBQ0k7QWpGZ2xhSjs7QWlGOWthQTtFQUNJO0VBQ0E7QWpGaWxhSjs7QWlGL2thQTtFQUNJO0lBQ0k7RWpGa2xhTjtBQUNGO0FpRmhsYUE7RUFDSTtBakZrbGFKOztBaUZobGFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGbWxhSjs7QWlGamxhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGb2xhSjs7QWlGbGxhQTtFQUNJO0VBQ0E7QWpGcWxhSjs7QWlGbmxhQTtFQUNJO0FqRnNsYUo7O0FpRnBsYUE7RUFDSTtFQUNBO0VBQ0E7QWpGdWxhSjs7QWlGcmxhQTtFQUNJO0FqRndsYUo7O0FpRnRsYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakZ5bGFKOztBaUZ2bGFBO0VBQ0k7RUFDQTtFQUNBO0FqRjBsYUo7O0FpRnhsYUE7RUFDSTtBakYybGFKOztBaUZ6bGFBO0VBQ0k7RUFDQTtBakY0bGFKOztBaUYxbGFBO0VBQ0k7QWpGNmxhSjs7QWlGM2xhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGOGxhSjs7QWlGNWxhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FqRitsYUo7O0FpRjdsYUE7RUFDSTtFQUNBO0VBQ0E7QWpGZ21hSjs7QWlGOWxhQTtFQUNJO0VBQ0E7QWpGaW1hSjs7QWlGL2xhQTtFQUNJO0VBQ0E7QWpGa21hSjs7QWlGaG1hQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRm1tYUo7O0FpRmptYUE7RUFDSTtFQUNBO0VBQUE7QWpGb21hSjs7QWlGbG1hQTtFQUNJO0VBQ0E7RUFDQTtBakZxbWFKOztBaUZubWFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFBQTtBakZzbWFKOztBaUZwbWFBO0VBQ0k7RUFDQTtFQUFBO0FqRnVtYUo7O0FpRnJtYUE7RUFDSTtFQUNBO0FqRndtYUo7O0FpRnRtYUE7RUFDSTtBakZ5bWFKOztBaUZ2bWFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakYwbWFKOztBaUZ4bWFBO0VBQ0k7QWpGMm1hSjs7QWlGem1hQTtFQUNJO0FqRjRtYUo7O0FpRjFtYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBakY2bWFKOztBaUYzbWFBO0VBQ0k7RUFDQTtFQUNBO0FqRjhtYUo7O0FpRjVtYUE7RUFDSTtJQUNJO0VqRittYU47QUFDRjtBaUY3bWFBO0VBQ0k7SUFDSTtFakYrbWFOO0FBQ0Y7QWlGN21hQTtFQUNJO0FqRittYUo7O0FpRjdtYUE7RUFDSTtBakZnbmFKOztBaUZ6bGFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZvbmFKOztBaUZ6bWFBO0VBQ0k7QWpGd25hSjs7QWlGMW1hQTtFQUNJO0VBQ0E7QWpGNG5hSjs7QWlGam5hQTtFQUNJO0FqRmdvYUo7O0FpRi9tYUE7RUFDSTtFQUNBO0VBQ0E7QWpGb29hSjs7QWlGem5hQTtFQUNJO0FqRndvYUo7O0FpRjduYUE7RUFDSTtBakY0b2FKOztBaUZqb2FBO0VBQ0k7QWpGZ3BhSjs7QWlGOW9hQTtFQVVJO0lBQ0k7RWpGaXBhTjtBQUNGO0FpRi9vYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRmlwYUo7O0FpRi9vYUE7RUFDSTtBakZrcGFKOztBaUZocGFBO0VBQ0k7RUFDQTtBakZtcGFKOztBaUZqcGFBO0VBQ0k7QWpGb3BhSjs7QWlGbHBhQTtFQUNJO0VBQ0E7RUFDQTtBakZxcGFKOztBaUZucGFBO0VBQ0k7QWpGc3BhSjs7QWlGcHBhQTtFQUNJO0FqRnVwYUo7O0FpRnJwYUE7RUFDSTtBakZ3cGFKOztBaUZ0cGFBO0VBQ0k7SUFDSTtFakZ5cGFOO0FBQ0Y7QWlGdnBhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGeXBhSjs7QWlGdnBhQTtFQUNJO0FqRjBwYUo7O0FpRnhwYUE7RUFDSTtFQUNBO0FqRjJwYUo7O0FpRnpwYUE7RUFDSTtBakY0cGFKOztBaUYxcGFBO0VBQ0k7RUFDQTtFQUNBO0FqRjZwYUo7O0FpRjNwYUE7RUFDSTtBakY4cGFKOztBaUY1cGFBO0VBQ0k7QWpGK3BhSjs7QWlGN3BhQTtFQUNJO0FqRmdxYUo7O0FpRjlwYUE7RUFDSTtJQUNJO0VqRmlxYU47QUFDRjtBaUYvcGFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZpcWFKOztBaUYvcGFBO0VBQ0k7QWpGa3FhSjs7QWlGaHFhQTtFQUNJO0VBQ0E7QWpGbXFhSjs7QWlGanFhQTtFQUNJO0FqRm9xYUo7O0FpRmxxYUE7RUFDSTtFQUNBO0VBQ0E7QWpGcXFhSjs7QWlGbnFhQTtFQUNJO0FqRnNxYUo7O0FpRnBxYUE7RUFDSTtBakZ1cWFKOztBaUZycWFBO0VBQ0k7QWpGd3FhSjs7QWlGdHFhQTtFQUNJO0lBQ0k7RWpGeXFhTjtBQUNGO0FpRnZxYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRnlxYUo7O0FpRnZxYUE7RUFDSTtBakYwcWFKOztBaUZ4cWFBO0VBQ0k7RUFDQTtBakYycWFKOztBaUZ6cWFBO0VBQ0k7QWpGNHFhSjs7QWlGMXFhQTtFQUNJO0VBQ0E7RUFDQTtBakY2cWFKOztBaUYzcWFBO0VBQ0k7QWpGOHFhSjs7QWlGNXFhQTtFQUNJO0FqRitxYUo7O0FpRjdxYUE7RUFDSTtBakZncmFKOztBaUY5cWFBO0VBQ0k7SUFDSTtFakZpcmFOO0FBQ0Y7QWlGL3FhQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZpcmFKOztBaUYvcWFBO0VBQ0k7RUFDQTtFQUNBO0FqRmtyYUo7O0FpRmhyYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRm1yYUo7O0FpRmpyYUE7RUFDSTtBakZvcmFKOztBaUZscmFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGcXJhSjs7QWlGbnJhQTtFQUNJO0FqRnNyYUo7O0FpRnByYUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZ1cmFKOztBaUZycmFBO0VBQ0k7QWpGd3JhSjs7QWtGdm9kQTtFQUVJO0VBQ0E7RUFDQTtFQUdBO0FsRnlvZEo7O0FrRnRvZEE7RUFHSTtBbEZ5b2RKOztBa0Z0b2RBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEZ3b2RKOztBa0Zyb2RBO0VBRUk7QWxGdW9kSjs7QWtGcG9kQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0FsRnNvZEo7O0FrRm5vZEE7O0VBRUk7QWxGc29kSjs7QWtGbm9kQTtFQUNJO0FsRnNvZEo7O0FrRm5vZEE7RUFDSTtFQUNBO0FsRnNvZEo7O0FrRm5vZEE7RUFFSTtFQUNBO0VBQ0E7QWxGcW9kSjs7QWtGbG9kQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0FsRm9vZEo7O0FrRmpvZEE7RUFDSTtBbEZvb2RKOztBa0Zqb2RBO0VBQ0k7QWxGb29kSjs7QWtGam9kQTtFQUVJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxGbW9kSjs7QWtGaG9kQTtFQUVJO0VBQ0E7RUFDQTtBbEZrb2RKOztBa0YvbmRBO0VBRUk7RUFDQTtFQUNBO0FsRmlvZEo7O0FrRjluZEE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRmdvZEo7O0FrRjduZEE7O0VBR0k7QWxGK25kSjs7QWtGNW5kQTtFQUNJO0VBQ0E7RUFDQTtBbEYrbmRKOztBa0Y1bmRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEYrbmRKOztBa0Y1bmRBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWxGK25kSjs7QWtGNW5kQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEYrbmRKOztBa0Y1bmRBO0VBQ0k7RUFDQTtBbEYrbmRKOztBa0Y1bmRBO0VBRUk7RUFDQTtBbEY4bmRKOztBa0YzbmRBO0VBQ0k7RUFDQTtBbEY4bmRKOztBa0YzbmRBO0VBQ0k7RUFDQTtBbEY4bmRKOztBa0YzbmRBO0VBRUk7RUFDQTtBbEY2bmRKOztBa0YxbmRBO0VBRUk7RUFDQTtFQUNBO0FsRjRuZEo7O0FtRnJ5ZEE7RUFDSTtJQUNJO0VuRnd5ZE47QUFDRjtBbUZyeWRBO0VBQ0k7SUFDSTtJQUNBO0lBQ0E7SUFDQTtFbkZ1eWROO0VtRnJ5ZEU7O0lBRUk7SUFDQTtFbkZ1eWROO0VtRnJ5ZEU7SUFDSTtFbkZ1eWROO0VtRnB5ZEU7SUFDSTtFbkZzeWROO0FBQ0Y7QW1GbnlkQTtFQUNJO0lBQ0k7RW5GcXlkTjtFbUZueWRFO0lBQ0k7RW5GcXlkTjtFbUZueWRFO0lBQ0k7RW5GcXlkTjtBQUNGO0FtRmx5ZEE7RUFDSTs7SUFFSTtFbkZveWROO0VtRmp5ZEU7SUFDSTtJQUNBO0lBQ0E7RW5GbXlkTjtFbUZoeWRFO0lBQ0k7RW5Ga3lkTjtFbUYveGRFO0lBQ0k7RW5GaXlkTjtFbUYveGRFO0lBQ0k7RW5GaXlkTjtBQUNGO0FtRjl4ZEE7RUFDSTtJQUNJO0VuRmd5ZE47RW1GN3hkRTtJQUVJO0VuRjh4ZE47RW1GM3hkRTtJQUVJO0VuRjR4ZE47RW1GenhkRTtJQUNJO0VuRjJ4ZE47RW1GeHhkRTtJQUNJO0VuRjB4ZE47RW1GdnhkRTtJQUNJO0VuRnl4ZE47RW1GdHhkRTtJQUNJO0VuRnd4ZE47RW1GcnhkRTtJQUNJO0VuRnV4ZE47QUFDRjtBbUZweGRBO0VBQ0k7O0lBRUk7RW5Gc3hkTjtFbUZweGRFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkZzeGROO0VtRnB4ZEU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuRnN4ZE47RW1GcHhkRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RW5Gc3hkTjtFbUZweGRFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkZzeGROO0VtRnB4ZEU7SUFDSTtFbkZzeGROO0FBQ0Y7QW1GbnhkQTtFQUNDO0lBQ087RW5GcXhkTjtFbUZseGRFO0lBQ0k7RW5Gb3hkTjtFbUZqeGRFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbkZteGROO0VtRmh4ZEU7SUFFSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RW5GaXhkTjtFbUYvd2RFO0lBQ0k7RW5GaXhkTjtFbUYvd2RFO0lBQ0k7RW5GaXhkTjtBQUNGO0FtRjl3ZEE7RUFDSTtJQUNJO0VuRmd4ZE47RW1GOXdkRTtJQUNJO0VuRmd4ZE47RW1GN3dkRTtJQUNJO0lBQ0E7RW5GK3dkTjtFbUY1d2RFO0lBQ0k7SUFDQTtFbkY4d2ROO0VtRjN3ZEU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuRjZ3ZE47RW1GMXdkRTtJQUNJO0VuRjR3ZE47RW1GendkRTtJQUNJO0VuRjJ3ZE47RW1GeHdkRTtJQUNJO0VuRjB3ZE47RW1GdndkRTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuRnl3ZE47RW1GdHdkRTtJQUNJO0lBQ0E7SUFDQTtFbkZ3d2ROO0VtRnJ3ZEU7SUFDSTtJQUNBO0lBQ0E7RW5GdXdkTjtFbUZwd2RFO0lBQ0k7RW5Gc3dkTjtFbUZud2RFO0lBQ0k7RW5GcXdkTjtFbUZsd2RFO0lBQ0k7RW5Gb3dkTjtFbUZqd2RFO0lBQ0k7SUFDQTtFbkZtd2ROO0VtRmh3ZEU7SUFDSTtJQUNBO0VuRmt3ZE47QUFDRjtBbUYvdmRBO0VBQ0k7SUFDSTtFbkZpd2ROO0VtRi92ZEU7SUFDSTtFbkZpd2ROO0VtRi92ZEU7SUFDSTtFbkZpd2ROO0VtRi92ZEU7SUFDSTtJQUNBO0lBQ0E7RW5GaXdkTjtFbUYvdmRFOztJQUVJO0VuRml3ZE47RW1GL3ZkRTtJQUNJO0lBQ0E7RW5GaXdkTjtFbUYvdmRFOztJQUVJO0VuRml3ZE47RW1GL3ZkRTtJQUNFO0VuRml3ZEo7RW1GL3ZkRTtJQUNJO0VuRml3ZE47RW1GL3ZkRTtJQUNJO0VuRml3ZE47RW1GL3ZkRTtJQUNJO0VuRml3ZE47RW1GL3ZkRTtJQUNJO0lBQ0E7SUFDQTtFbkZpd2ROO0VtRi92ZEU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RW5GaXdkTjtFbUYvdmRFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuRml3ZE47RW1GL3ZkRTtJQUNJO0lBQ0E7SUFDQTtFbkZpd2ROO0VtRi92ZEU7SUFDSTtJQUNBO0lBQ0E7RW5GaXdkTjtFbUY5dmRFO0lBRUU7RW5GK3ZkSjtFbUY1dmRFO0lBRUk7RW5GNnZkTjtFbUYxdmRFO0lBQ0k7SUFDQTtJQUNBO0VuRjR2ZE47RW1GenZkRTtJQUNJO0VuRjJ2ZE47RW1GeHZkRTtJQUNJO0VuRjB2ZE47RW1GeHZkRTtJQUNJO0lBQ0E7RW5GMHZkTjtFbUZ2dmRFO0lBQ0k7RW5GeXZkTjtFbUZ0dmRFO0lBQ0k7RW5Gd3ZkTjtFbUZ0dmRFO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RW5Gd3ZkTjtFbUZ0dmRFO0lBQ0k7SUFDQTtFbkZ3dmROO0VtRnR2ZEU7SUFDSTtFbkZ3dmROO0VtRnJ2ZEU7SUFFRTtFbkZzdmRKO0FBQ0Y7QW1GbnZkQTtFQUNJO0lBQ0k7SUFDQTtFbkZxdmROO0VtRmx2ZEU7SUFDSTtFbkZvdmROO0VtRmp2ZEU7SUFDSTtJQUNBO0lBQ0E7RW5GbXZkTjtFbUZqdmRFO0lBQ0k7RW5GbXZkTjtFbUZqdmRFOztJQUVJO0VuRm12ZE47RW1GanZkRTtJQUNJO0lBQ0E7RW5GbXZkTjtBQUNGO0FtRmh2ZEE7RUFDSTtJQUNJO0lBQ0E7SUFDQTtFbkZrdmROO0FBQ0Y7QW1GL3VkQTtFQUNJO0lBQ0k7RW5GaXZkTjtBQUNGO0FtRjl1ZEE7RUFDSTtJQUNJO0lBQ0E7SUFDQTtFbkZndmROO0FBQ0Y7QW9GdHFlQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDRztFQUVLO0VBQ1I7RUFDQTtFQUNBO0FwRndxZUY7O0FvRnBxZUU7RUFDSTtBcEZ1cWVOOztBb0Z0cWVFO0VBQ0U7QXBGeXFlSjs7QW9GeHFlRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEYycWVKOztBb0Z6cWVFO0VBR1U7QXBGNHFlWjs7QW9GM3FlRTtFQUNFO0VBQ0E7RUFDQTtFQUdRO0FwRjhxZVo7O0FvRjdxZUU7RUFDRTtFQUNBO0VBQ0E7QXBGZ3JlSjs7QW9GL3FlSTtFQUNFO0FwRmtyZU47O0FvRmpyZUU7RUFDRTtBcEZvcmVKOztBb0ZucmVJO0VBQ0U7RUFDQTtBcEZzcmVOOztBb0ZycmVFO0VBQ0U7QXBGd3JlSjs7QW9GdnJlSTtFQUNFO0VBQ0E7QXBGMHJlTjs7QW9GenJlRTtFQUNFO0VBQ0E7RUFDQTtBcEY0cmVKOztBb0YzcmVJO0VBQ0U7RUFDQTtBcEY4cmVOOztBb0Y3cmVJO0VBQ0U7RUFDQTtBcEZnc2VOOztBb0YvcmVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR1E7RUFHQTtFQUVSO0VBQ0E7QXBGa3NlSjs7QW9GanNlSTtFQUNFO0FwRm9zZU47O0FvRm5zZUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FwRnNzZUo7O0FvRnJzZUk7RUFDRTtBcEZ3c2VOOztBb0Z2c2VJO0VBQ0U7RUFDQTtFQUNBO0FwRjBzZU47O0FvRnhzZUE7RUFDRTtBcEYyc2VGOztBb0Z6c2VBO0VBQ0U7QXBGNHNlRjs7QW9GMXNlQTtFQUVFO0VBQ0E7RUFDQTtBcEY0c2VGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFzZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy92YXJpYWJsZXMtdGhlbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvbWl4aW5zLXRoZW1lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGluay5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2hlYWRpbmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kaXZpZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbWl4aW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZGVzY3JpcHRpb24tbGlzdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaWNvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Zvcm0tcmFuZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcHJvZ3Jlc3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGlsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jbG9zZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NwaW5uZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90b3RvcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21hcmtlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FsZXJ0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGxhY2Vob2xkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9iYWRnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xhYmVsLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvb3ZlcmxheS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FydGljbGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb21tZW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZHJvcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Ryb3BiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kcm9wbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbW9kYWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZXNob3cuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdGlja3kuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9vZmZjYW52YXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zd2l0Y2hlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xlYWRlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Rvb2x0aXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zb3J0YWJsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvdW50ZG93bi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RodW1ibmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaWNvbm5hdi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2dyaWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9uYXZiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdWJuYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9icmVhZGNydW1iLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcGFnaW5hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RhYi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3NsaWRlbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZG90bmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZHJvcGRvd24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9saWdodGJveC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FuaW1hdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3dpZHRoLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaGVpZ2h0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGV4dC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvbHVtbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFja2dyb3VuZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FsaWduLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc3ZnLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdXRpbGl0eS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2ZsZXguc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9tYXJnaW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wYWRkaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvcG9zaXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90cmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdmlzaWJpbGl0eS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2ludmVyc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wcmludC5zY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9iYXNlL19wYWdlbG9hZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2Jhc2UvX2FwcC5jc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2Jhc2UvX2JvZHlfYWR2YW5jZWQuY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9iYXNlL19wbHlyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL3N0eWxlc2hlZXRzL2Jhc2UvX21lbnUuY3NzIiwid2VicGFjazovLy8uL3Jlc291cmNlcy9zdHlsZXNoZWV0cy9iYXNlL19hcHBfbW9iaWxlLmNzcyIsIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc3R5bGVzaGVldHMvYmFzZS9fbmljZS1zZWxlY3QuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYXNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTZXQgYGZvbnQtc2l6ZWAgdG8gc3VwcG9ydCBgcmVtYCB1bml0c1xuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKiAzLiBTdHlsZVxuICovXG5odG1sIHtcbiAgLyogMSAqL1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBMaW5rc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogU3R5bGVcbiAqL1xuYSxcbi51ay1saW5rIHtcbiAgY29sb3I6ICMxZTg3ZjA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5hOmhvdmVyLFxuLnVrLWxpbms6aG92ZXIsXG4udWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmsge1xuICBjb2xvcjogIzBmNmVjZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIEVkZ2UuXG4gKiAyLiBUaGUgc2hvcnRoYW5kIGRlY2xhcmF0aW9uIGB1bmRlcmxpbmUgZG90dGVkYCBpcyBub3Qgc3VwcG9ydGVkIGluIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1zdHlsZTogZG90dGVkO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qXG4gKiAxLiBDb25zb2xhcyBoYXMgYSBiZXR0ZXIgYmFzZWxpbmUgaW4gcnVubmluZyB0ZXh0IGNvbXBhcmVkIHRvIGBDb3VyaWVyYFxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICogMy4gU3R5bGVcbiAqL1xuOm5vdChwcmUpID4gY29kZSxcbjpub3QocHJlKSA+IGtiZCxcbjpub3QocHJlKSA+IHNhbXAge1xuICAvKiAxICovXG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgbW9uYWNvLCBtb25vc3BhY2U7XG4gIC8qIDIgKi9cbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgLyogMyAqL1xuICBjb2xvcjogI2YwNTA2ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbn1cblxuLypcbiAqIEVtcGhhc2l6ZVxuICovXG5lbSB7XG4gIGNvbG9yOiAjZjA1MDZlO1xufVxuXG4vKlxuICogSW5zZXJ0XG4gKi9cbmlucyB7XG4gIGJhY2tncm91bmQ6ICNmZmQ7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBNYXJrXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmZkO1xuICBjb2xvcjogIzY2Njtcbn1cblxuLypcbiAqIFF1b3RlXG4gKi9cbnEge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLypcbiAqIFByZXZlbnRzIGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gdGhlIGVsZW1lbnQgYW5kIHRoZSBib3R0b20gb2YgaXRzIHBhcmVudCBjb250YWluZXIuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKlxuICogMS4gQ29uc3RyYWluIHRoZSBlbGVtZW50IHRvIGl0cyBwYXJlbnQgd2lkdGguXG4gKiAyLiBQcmVzZXJ2ZSB0aGUgaW50cmluc2ljIGFzcGVjdCByYXRpbyBhbmQgYXV0by1zY2FsZSB0aGUgaGVpZ2h0IG9mIGFuIGltYWdlIGlmIHRoZSBgaGVpZ2h0YCBhdHRyaWJ1dGUgaXMgcHJlc2VudC5cbiAqIDMuIFRha2UgYm9yZGVyIGFuZCBwYWRkaW5nIGludG8gYWNjb3VudC5cbiAqL1xuY2FudmFzLFxuaW1nLFxuc3ZnLFxudmlkZW8ge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBoZWlnaHQ6IGF1dG87XG4gIC8qIDMgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAqIERlcHJlY2F0ZWQ6IG9ubHkgbmVlZGVkIGZvciBgaW1nYCBlbGVtZW50cyB3aXRoIGB1ay1pbWdgXG4gKiAxLiBIaWRlIGBhbHRgIHRleHQgZm9yIGxhenkgbG9hZCBpbWFnZXMuXG4gKiAyLiBGaXggbGF6eSBsb2FkaW5nIGltYWdlcyBpZiBwYXJlbnQgZWxlbWVudCBpcyBzZXQgdG8gYGRpc3BsYXk6IGlubGluZWAgYW5kIGhhcyBgb3ZlcmZsb3c6IGhpZGRlbmAuXG4gKi9cbmltZzpub3QoW3NyY10pIHtcbiAgLyogMSAqL1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIC8qIDIgKi9cbiAgbWluLXdpZHRoOiAxcHg7XG59XG5cbi8qXG4gKiBJZnJhbWVcbiAqIFJlbW92ZSBib3JkZXIgaW4gYWxsIGJyb3dzZXJzXG4gKi9cbmlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyogQmxvY2sgZWxlbWVudHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIE1hcmdpbnNcbiAqL1xucCxcbnVsLFxub2wsXG5kbCxcbnByZSxcbmFkZHJlc3MsXG5maWVsZHNldCxcbmZpZ3VyZSB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgcCxcbiogKyB1bCxcbiogKyBvbCxcbiogKyBkbCxcbiogKyBwcmUsXG4qICsgYWRkcmVzcyxcbiogKyBmaWVsZHNldCxcbiogKyBmaWd1cmUge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vKiBIZWFkaW5nc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5oMSwgLnVrLWgxLFxuaDIsIC51ay1oMixcbmgzLCAudWstaDMsXG5oNCwgLnVrLWg0LFxuaDUsIC51ay1oNSxcbmg2LCAudWstaDYsXG4udWstaGVhZGluZy1zbWFsbCxcbi51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1oZWFkaW5nLWxhcmdlLFxuLnVrLWhlYWRpbmcteGxhcmdlLFxuLnVrLWhlYWRpbmctMnhsYXJnZSxcbi51ay1oZWFkaW5nLTN4bGFyZ2Uge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMzMzO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaDEsICogKyAudWstaDEsXG4qICsgaDIsICogKyAudWstaDIsXG4qICsgaDMsICogKyAudWstaDMsXG4qICsgaDQsICogKyAudWstaDQsXG4qICsgaDUsICogKyAudWstaDUsXG4qICsgaDYsICogKyAudWstaDYsXG4qICsgLnVrLWhlYWRpbmctc21hbGwsXG4qICsgLnVrLWhlYWRpbmctbWVkaXVtLFxuKiArIC51ay1oZWFkaW5nLWxhcmdlLFxuKiArIC51ay1oZWFkaW5nLXhsYXJnZSxcbiogKyAudWstaGVhZGluZy0yeGxhcmdlLFxuKiArIC51ay1oZWFkaW5nLTN4bGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4vKlxuICogU2l6ZXNcbiAqL1xuaDEsIC51ay1oMSB7XG4gIGZvbnQtc2l6ZTogMi4yMzEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDIsIC51ay1oMiB7XG4gIGZvbnQtc2l6ZTogMS43cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG5oMywgLnVrLWgzIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbmg0LCAudWstaDQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbmg1LCAudWstaDUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbmg2LCAudWstaDYge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICBoMSwgLnVrLWgxIHtcbiAgICBmb250LXNpemU6IDIuNjI1cmVtO1xuICB9XG4gIGgyLCAudWstaDIge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuLyogTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudWwsXG5vbCB7XG4gIHBhZGRpbmctbGVmdDogMzBweDtcbn1cblxuLypcbiAqIFJlc2V0IG1hcmdpbiBmb3IgbmVzdGVkIGxpc3RzXG4gKi9cbnVsID4gbGkgPiB1bCxcbnVsID4gbGkgPiBvbCxcbm9sID4gbGkgPiBvbCxcbm9sID4gbGkgPiB1bCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogRGVzY3JpcHRpb24gbGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuZHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuZGQge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyogSG9yaXpvbnRhbCBydWxlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gQ2hyb21lLCBFZGdlIGFuZCBJRS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0LWFsaWduIGluIEVkZ2UgYW5kIElFLlxuICogMy4gU3R5bGVcbiAqL1xuaHIsIC51ay1ociB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi9cbiAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgLyogMyAqL1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGhyLFxuKiArIC51ay1ociB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi8qIEFkZHJlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogQmxvY2txdW90ZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBibG9ja3F1b3RlIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLypcbiAqIENvbnRlbnRcbiAqL1xuYmxvY2txdW90ZSBwOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICM2NjY7XG59XG5ibG9ja3F1b3RlIGZvb3Rlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJQgXCI7XG59XG5cbi8qIFByZWZvcm1hdHRlZCB0ZXh0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udDogMC44NzVyZW0gLyAxLjUgQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlO1xuICBjb2xvcjogIzY2NjtcbiAgLW1vei10YWItc2l6ZTogNDtcbiAgdGFiLXNpemU6IDQ7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxucHJlIGNvZGUge1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlO1xufVxuXG4vKiBGb2N1c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG46Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG46Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBkb3R0ZWQgIzMzMztcbn1cblxuLyogU2VsZWN0aW9uIHBzZXVkby1lbGVtZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzM5ZjtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKiBIVE1MNSBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5kZXRhaWxzLFxubWFpbiB7IC8qIDIgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBQYXNzIG1lZGlhIGJyZWFrcG9pbnRzIHRvIEpTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBCcmVha3BvaW50c1xuICovXG46cm9vdCB7XG4gIC0tdWstYnJlYWtwb2ludC1zOiAzMjBweDtcbiAgLS11ay1icmVha3BvaW50LW06IDc2OHB4O1xuICAtLXVrLWJyZWFrcG9pbnQtbDogMTIwMHB4O1xuICAtLXVrLWJyZWFrcG9pbnQteGw6IDE2MDBweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpbmtcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogTXV0ZWRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYS51ay1saW5rLW11dGVkLFxuLnVrLWxpbmstbXV0ZWQgYSxcbi51ay1saW5rLXRvZ2dsZSAudWstbGluay1tdXRlZCB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG5hLnVrLWxpbmstbXV0ZWQ6aG92ZXIsXG4udWstbGluay1tdXRlZCBhOmhvdmVyLFxuLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLW11dGVkIHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi8qIFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYS51ay1saW5rLXRleHQsXG4udWstbGluay10ZXh0IGEsXG4udWstbGluay10b2dnbGUgLnVrLWxpbmstdGV4dCB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5hLnVrLWxpbmstdGV4dDpob3Zlcixcbi51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay10ZXh0IHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qIEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYS51ay1saW5rLWhlYWRpbmcsXG4udWstbGluay1oZWFkaW5nIGEsXG4udWstbGluay10b2dnbGUgLnVrLWxpbmstaGVhZGluZyB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5hLnVrLWxpbmstaGVhZGluZzpob3Zlcixcbi51ay1saW5rLWhlYWRpbmcgYTpob3Zlcixcbi51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1oZWFkaW5nIHtcbiAgY29sb3I6ICMxZTg3ZjA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogUmVzZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcnJpZGUgaW52ZXJzZSBjb21wb25lbnRcbiAqL1xuYS51ay1saW5rLXJlc2V0LFxuLnVrLWxpbmstcmVzZXQgYSB7XG4gIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBUb2dnbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxpbmstdG9nZ2xlIHtcbiAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBIZWFkaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1oZWFkaW5nLXNtYWxsIHtcbiAgZm9udC1zaXplOiAyLjZyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi51ay1oZWFkaW5nLW1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMi44ODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG4udWstaGVhZGluZy1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMy40cmVtO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG4udWstaGVhZGluZy14bGFyZ2Uge1xuICBmb250LXNpemU6IDRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4udWstaGVhZGluZy0yeGxhcmdlIHtcbiAgZm9udC1zaXplOiA2cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLnVrLWhlYWRpbmctM3hsYXJnZSB7XG4gIGZvbnQtc2l6ZTogOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi8qIFRhYmxldCBMYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1oZWFkaW5nLXNtYWxsIHtcbiAgICBmb250LXNpemU6IDMuMjVyZW07XG4gIH1cbiAgLnVrLWhlYWRpbmctbWVkaXVtIHtcbiAgICBmb250LXNpemU6IDMuNXJlbTtcbiAgfVxuICAudWstaGVhZGluZy1sYXJnZSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG4gIC51ay1oZWFkaW5nLXhsYXJnZSB7XG4gICAgZm9udC1zaXplOiA2cmVtO1xuICB9XG4gIC51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogOHJlbTtcbiAgfVxuICAudWstaGVhZGluZy0zeGxhcmdlIHtcbiAgICBmb250LXNpemU6IDExcmVtO1xuICB9XG59XG4vKiBMYXB0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstaGVhZGluZy1tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgfVxuICAudWstaGVhZGluZy1sYXJnZSB7XG4gICAgZm9udC1zaXplOiA2cmVtO1xuICB9XG4gIC51ay1oZWFkaW5nLXhsYXJnZSB7XG4gICAgZm9udC1zaXplOiA4cmVtO1xuICB9XG4gIC51ay1oZWFkaW5nLTJ4bGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTFyZW07XG4gIH1cbiAgLnVrLWhlYWRpbmctM3hsYXJnZSB7XG4gICAgZm9udC1zaXplOiAxNXJlbTtcbiAgfVxufVxuLyogUHJpbWFyeVxuICAgRGVwcmVjYXRlZDogVXNlIGB1ay1oZWFkaW5nLW1lZGl1bWAgaW5zdGVhZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuLyogSGVyb1xuICAgRGVwcmVjYXRlZDogVXNlIGB1ay1oZWFkaW5nLXhsYXJnZWAgaW5zdGVhZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstaGVhZGluZy1kaXZpZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoNXB4ICsgMC4xZW0pO1xuICBib3JkZXItYm90dG9tOiBjYWxjKDAuMnB4ICsgMC4wNWVtKSBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKiBCdWxsZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWhlYWRpbmctYnVsbGV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxuICogMS4gVXNpbmcgYGlubGluZS1ibG9ja2AgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGV4dCBhbGlnbm1lbnRcbiAqIDIuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAzLiBTdHlsZVxuICovXG4udWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiBjYWxjKC0wLjEgKiAxZW0pO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAzICovXG4gIGhlaWdodDogY2FsYyg0cHggKyAwLjdlbSk7XG4gIG1hcmdpbi1yaWdodDogY2FsYyg1cHggKyAwLjJlbSk7XG4gIGJvcmRlci1sZWZ0OiBjYWxjKDVweCArIDAuMWVtKSBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKiBMaW5lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBDbGlwIHRoZSBjaGlsZCBlbGVtZW50XG4gKi9cbi51ay1oZWFkaW5nLWxpbmUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKlxuICogRXh0cmEgbWFya3VwIGlzIG5lZWRlZCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWduXG4gKi9cbi51ay1oZWFkaW5nLWxpbmUgPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiAxLiBDZW50ZXIgdmVydGljYWxseVxuICogMi4gTWFrZSB0aGUgZWxlbWVudCBhcyBsYXJnZSBhcyBwb3NzaWJsZS4gSXQncyBjbGlwcGVkIGJ5IHRoZSBjb250YWluZXIuXG4gKiAzLiBTdHlsZVxuICovXG4udWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsXG4udWstaGVhZGluZy1saW5lID4gOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoNTAlIC0gKGNhbGMoMC4ycHggKyAwLjA1ZW0pIC8gMikpO1xuICAvKiAyICovXG4gIHdpZHRoOiAyMDAwcHg7XG4gIC8qIDMgKi9cbiAgYm9yZGVyLWJvdHRvbTogY2FsYygwLjJweCArIDAuMDVlbSkgc29saWQgI2U1ZTVlNTtcbn1cblxuLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlIHtcbiAgcmlnaHQ6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogY2FsYyg1cHggKyAwLjNlbSk7XG59XG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgbGVmdDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNXB4ICsgMC4zZW0pO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVzZXQgZGVmYXVsdCBgaHJgXG4gKiAyLiBTZXQgbWFyZ2luIGlmIGEgYGRpdmAgaXMgdXNlZCBmb3Igc2VtYW50aWNhbCByZWFzb25cbiAqL1xuW2NsYXNzKj11ay1kaXZpZGVyXSB7XG4gIC8qIDEgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAyICovXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIFtjbGFzcyo9dWstZGl2aWRlcl0ge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vKiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1kaXZpZGVyLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMjBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyMCUyMiUyMGhlaWdodCUzRCUyMjIwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIlMjNlNWU1ZTUlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIyJTIyJTIwY3glM0QlMjIxMCUyMiUyMGN5JTNEJTIyMTAlMjIlMjByJTNEJTIyNyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLFxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gKDUwcHggLyAyKSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4udWstZGl2aWRlci1pY29uOjpiZWZvcmUge1xuICByaWdodDogY2FsYyg1MCUgKyAoNTBweCAvIDIpKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgbGVmdDogY2FsYyg1MCUgKyAoNTBweCAvIDIpKTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBGaXggaGVpZ2h0IGJlY2F1c2Ugb2YgYGlubGluZS1ibG9ja2BcbiAqIDIuIFVzaW5nIDo6YWZ0ZXIgYW5kIGlubGluZS1ibG9jayB0byBtYWtlIGB0ZXh0LWFsaWduYCB3b3JrXG4gKi9cbi8qIDEgKi9cbi51ay1kaXZpZGVyLXNtYWxsIHtcbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi8qIDIgKi9cbi51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4vKiBWZXJ0aWNhbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZGl2aWRlci12ZXJ0aWNhbCB7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBBdm9pZCBjb2x1bW4gYnJlYWsgd2l0aGluIHRoZSBsaXN0IGl0ZW0sIHdoZW4gdXNpbmcgYGNvbHVtbi1jb3VudGBcbiAqL1xuLnVrLWxpc3QgPiAqIHtcbiAgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWxpc3QgPiAqID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKlxuICogU3R5bGVcbiAqL1xuLnVrLWxpc3QgPiA6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdCA+ICogPiB1bCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi8qIE1hcmtlciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxpc3QtZGlzYyxcbi51ay1saXN0LWNpcmNsZSxcbi51ay1saXN0LXNxdWFyZSxcbi51ay1saXN0LWRlY2ltYWwsXG4udWstbGlzdC1oeXBoZW4ge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbi51ay1saXN0LWRpc2Mge1xuICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG59XG5cbi51ay1saXN0LWNpcmNsZSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlO1xufVxuXG4udWstbGlzdC1zcXVhcmUge1xuICBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcbn1cblxuLnVrLWxpc3QtZGVjaW1hbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cblxuLnVrLWxpc3QtaHlwaGVuIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBcIuKAkyAgXCI7XG59XG5cbi8qXG4gKiBDb2xvciBtb2RpZmllcnNcbiAqL1xuLnVrLWxpc3QtbXV0ZWQgPiA6Om1hcmtlciB7XG4gIGNvbG9yOiAjOTk5ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1saXN0LWVtcGhhc2lzID4gOjptYXJrZXIge1xuICBjb2xvcjogIzMzMyAhaW1wb3J0YW50O1xufVxuXG4udWstbGlzdC1wcmltYXJ5ID4gOjptYXJrZXIge1xuICBjb2xvcjogIzFlODdmMCAhaW1wb3J0YW50O1xufVxuXG4udWstbGlzdC1zZWNvbmRhcnkgPiA6Om1hcmtlciB7XG4gIGNvbG9yOiAjMjIyICFpbXBvcnRhbnQ7XG59XG5cbi8qIEltYWdlIGJ1bGxldCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGlzdC1idWxsZXQgPiAqIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbi51ay1saXN0LWJ1bGxldCA+IDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDEuNWVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBjeCUzRCUyMjMlMjIlMjBjeSUzRCUyMjMlMjIlMjByJTNEJTIyMyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbn1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEaXZpZGVyXG4gKi9cbi51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cbi51ay1saXN0LXN0cmlwZWQgPiAqIHtcbiAgcGFkZGluZzogMTBweCAxMHB4O1xufVxuLnVrLWxpc3Qtc3RyaXBlZCA+ICo6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbn1cblxuLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxpc3QtbGFyZ2UgPiA6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdC1sYXJnZSA+ICogPiB1bCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi51ay1saXN0LWNvbGxhcHNlID4gOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QtY29sbGFwc2UgPiAqID4gdWwge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKlxuICogRGl2aWRlclxuICovXG4udWstbGlzdC1sYXJnZS51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLnVrLWxpc3QtY29sbGFwc2UudWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+ICoge1xuICBwYWRkaW5nOiAyMHB4IDEwcHg7XG59XG5cbi51ay1saXN0LWNvbGxhcHNlLnVrLWxpc3Qtc3RyaXBlZCA+ICoge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtY2hpbGQobisyKSxcbi51ay1saXN0LWNvbGxhcHNlLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEZXNjcmlwdGlvbiBsaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBUZXJtXG4gKi9cbi51ay1kZXNjcmlwdGlvbi1saXN0ID4gZHQge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi8qXG4gKiBEZXNjcmlwdGlvblxuICovXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTGluZVxuICovXG4udWstZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyID4gZHQ6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUYWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICogMi4gQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAzLiBTdHlsZVxuICovXG4udWstdGFibGUge1xuICAvKiAxICovXG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xuICAvKiAyICovXG4gIHdpZHRoOiAxMDAlO1xuICAvKiAzICovXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay10YWJsZSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi8qIEhlYWRlciBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTdHlsZVxuICovXG4udWstdGFibGUgdGgge1xuICBwYWRkaW5nOiAxNnB4IDEycHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICM5OTk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi8qIENlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRhYmxlIHRkIHtcbiAgcGFkZGluZzogMTZweCAxMnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay10YWJsZSB0ZCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogRm9vdGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZSB0Zm9vdCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRhYmxlIGNhcHRpb24ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10YWJsZS1taWRkbGUsXG4udWstdGFibGUtbWlkZGxlIHRkIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZSAhaW1wb3J0YW50O1xufVxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLXRhYmxlLWRpdmlkZXIgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSxcbi51ay10YWJsZS1kaXZpZGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpID4gdHIsXG4udWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cbi51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUob2RkKSxcbi51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG4udWstdGFibGUtaG92ZXIgPiB0cjpob3Zlcixcbi51ay10YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZmQ7XG59XG5cbi8qIEFjdGl2ZSBzdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUgPiB0ci51ay1hY3RpdmUsXG4udWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2ZmZDtcbn1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUtc21hbGwgdGgsXG4udWstdGFibGUtc21hbGwgdGQge1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG59XG5cbi51ay10YWJsZS1sYXJnZSB0aCxcbi51ay10YWJsZS1sYXJnZSB0ZCB7XG4gIHBhZGRpbmc6IDIycHggMTJweDtcbn1cblxuLyogSnVzdGlmeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUtanVzdGlmeSB0aDpmaXJzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4udWstdGFibGUtanVzdGlmeSB0aDpsYXN0LWNoaWxkLFxuLnVrLXRhYmxlLWp1c3RpZnkgdGQ6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi8qIENlbGwgc2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGFibGUtc2hyaW5rIHtcbiAgd2lkdGg6IDFweDtcbn1cblxuLnVrLXRhYmxlLWV4cGFuZCB7XG4gIG1pbi13aWR0aDogMTUwcHg7XG59XG5cbi8qIENlbGwgbGluayBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRG9lcyBub3Qgd29yayB3aXRoIGB1ay10YWJsZS1qdXN0aWZ5YCBhdCB0aGUgbW9tZW50XG4gKi9cbi51ay10YWJsZS1saW5rIHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4udWstdGFibGUtbGluayA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTZweCAxMnB4O1xufVxuXG4udWstdGFibGUtc21hbGwgLnVrLXRhYmxlLWxpbmsgPiBhIHtcbiAgcGFkZGluZzogMTBweCAxMnB4O1xufVxuXG4vKiBSZXNwb25zaXZlIHRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC51ay10YWJsZS1yZXNwb25zaXZlLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0Ym9keSxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRkLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRkIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB9XG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gIC51ay10YWJsZS1yZXNwb25zaXZlIC51ay10YWJsZS1saW5rOm5vdCg6Zmlyc3QtY2hpbGQpID4gYSB7XG4gICAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50O1xuICB9XG4gIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAudWstdGFibGUtcmVzcG9uc2l2ZSAudWstdGFibGUtbGluazpub3QoOmxhc3QtY2hpbGQpID4gYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50O1xuICB9XG4gIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG4udWstdGFibGUgdGJvZHkgdHIge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgbGluZWFyO1xufVxuXG4udWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsXG4udWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBOb3RlOiAxLiAtIDcuIGlzIHJlcXVpcmVkIGZvciBgYnV0dG9uYCBlbGVtZW50cy4gTmVlZGVkIGZvciBDbG9zZSBhbmQgRm9ybSBJY29uIGNvbXBvbmVudC5cbiAqIDEuIFJlbW92ZSBtYXJnaW5zIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBib3JkZXJzIGZvciBgYnV0dG9uYC5cbiAqIDMuIFJlbW92ZSBib3JkZXItcmFkaXVzIGluIENocm9tZS5cbiAqIDQuIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUuXG4gKiA1LiBDb3JyZWN0IGBmb250YCBwcm9wZXJ0aWVzIGFuZCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgZm9yIGBidXR0b25gLlxuICogNi4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiA3LiBSZW1vdmUgZGVmYXVsdCBgYnV0dG9uYCBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGNvbG9yXG4gKiA4LiBTdHlsZVxuICogOS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMTAuIExldCB0aGUgY29udGFpbmVyIGZpdCB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uXG4gKi9cbi51ay1pY29uIHtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAzICovXG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC8qIDQgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDUgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDYgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC8qIDcuICovXG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiA4ICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogOSAqL1xuICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gIC8qIDEwICovXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4vKiBSZXF1aXJlZCBmb3IgYGJ1dHRvbmAuICovXG5idXR0b24udWstaWNvbjpub3QoOmRpc2FibGVkKSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbi51ay1pY29uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKi9cbi51ay1pY29uOm5vdCgudWstcHJlc2VydmUpIFtmaWxsKj1cIiNcIl06bm90KC51ay1wcmVzZXJ2ZSkge1xuICBmaWxsOiBjdXJyZW50Y29sb3I7XG59XG5cbi51ay1pY29uOm5vdCgudWstcHJlc2VydmUpIFtzdHJva2UqPVwiI1wiXTpub3QoLnVrLXByZXNlcnZlKSB7XG4gIHN0cm9rZTogY3VycmVudGNvbG9yO1xufVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuLnVrLWljb24gPiAqIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG5cbi8qIEltYWdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEaXNwbGF5IGltYWdlcyBpbiBpY29uIGRpbWVuc2lvbnNcbiAqIDEuIFJlcXVpcmVkIGZvciBgc3BhbmAgd2l0aCBiYWNrZ3JvdW5kIGltYWdlXG4gKiAyLiBSZXF1aXJlZCBmb3IgYGltYWdlYFxuICovXG4udWstaWNvbi1pbWFnZSB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIC8qIDEgKi9cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAyICovXG4gIG9iamVjdC1maXQ6IHNjYWxlLWRvd247XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBMaW5rXG4gKiAxLiBBbGxvdyB0ZXh0IHdpdGhpbiBsaW5rXG4gKi9cbi51ay1pY29uLWxpbmsge1xuICBjb2xvcjogIzk5OTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnVrLWljb24tbGluazpob3ZlciB7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstaWNvbi1saW5rOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgY29sb3I6IHJnYig4OS4yNSwgODkuMjUsIDg5LjI1KTtcbn1cblxuLypcbiAqIEJ1dHRvblxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cbi51ay1pY29uLWJ1dHRvbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBjb2xvcjogIzk5OTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWljb24tYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzNS4yNSwgMjM1LjI1LCAyMzUuMjUpO1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tYnV0dG9uOmFjdGl2ZSxcbi51ay1hY3RpdmUgPiAudWstaWNvbi1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjIyLjUsIDIyMi41LCAyMjIuNSk7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybSBSYW5nZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUuXG4gKiAyLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogMy4gUmVtb3ZlIGBtYXJnaW5gIGluIGFsbCBicm93c2Vycy5cbiAqIDQuIEFsaWduIHRvIHRoZSBjZW50ZXIgb2YgdGhlIGxpbmUgYm94LlxuICogNS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZC5cbiAqIDYuIFRha2UgdGhlIGZ1bGwgd2lkdGguXG4gKiA3LiBSZW1vdmUgd2hpdGUgYmFja2dyb3VuZCBpbiBDaHJvbWUuXG4gKi9cbi51ay1yYW5nZSB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDMgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiA0ICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDUgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiA2ICovXG4gIHdpZHRoOiAxMDAlO1xuICAvKiA3ICovXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhbmdlOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnVrLXJhbmdlOjotbW96LWZvY3VzLW91dGVyIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbW96LXJhbmdlLXRodW1iIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKlxuICogVHJhY2tcbiAqIDEuIFNhZmFyaSBkb2Vzbid0IGhhdmUgYSBmb2N1cyBzdGF0ZS4gVXNpbmcgYWN0aXZlIGluc3RlYWQuXG4gKi9cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiByZ2IoMjM1LjI1LCAyMzUuMjUsIDIzNS4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuLnVrLXJhbmdlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjIyLjUsIDIyMi41LCAyMjIuNSk7XG59XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10cmFjayB7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiByZ2IoMjM1LjI1LCAyMzUuMjUsIDIzNS4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjIyLjUsIDIyMi41LCAyMjIuNSk7XG59XG5cbi8qXG4gKiBUaHVtYlxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cbi8qIFdlYmtpdCAqL1xuLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW4tdG9wOiAtN3B4O1xuICAvKiAyICovXG4gIGhlaWdodDogMTVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMjAzLjUsIDIwMy41LCAyMDMuNSk7XG59XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIC8qIDEgKi9cbiAgYm9yZGVyOiBub25lO1xuICAvKiAyICovXG4gIGhlaWdodDogMTVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIG1hcmdpbi10b3A6IC03cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMjAzLjUsIDIwMy41LCAyMDMuNSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogICAgRGVmYXVsdCBpcyBgY29udGVudC1ib3hgIHdpdGggZm9sbG93aW5nIGV4Y2VwdGlvbnMgc2V0IHRvIGBib3JkZXItYm94YFxuICogICAgYHNlbGVjdGAsIGBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1gIGFuZCBgaW5wdXRbdHlwZT1cInJhZGlvXCJdYFxuICogICAgYGlucHV0W3R5cGU9XCJzZWFyY2hcIl1gIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYVxuICogICAgYGlucHV0W3R5cGU9XCJjb2xvclwiXWAgaW4gRmlyZWZveFxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbi51ay1pbnB1dCxcbi51ay1zZWxlY3QsXG4udWstdGV4dGFyZWEsXG4udWstcmFkaW8sXG4udWstY2hlY2tib3gge1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovXG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC8qIDQgKi9cbiAgZm9udDogaW5oZXJpdDtcbn1cblxuLypcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbi51ay1pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG4udWstc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDIuIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgYW5kIHVzZSBgYm9sZGAgaW5zdGVhZC5cbiAqIE5PVEU6IEJvdGggZGVjbGFyYXRpb25zIGRvbid0IHdvcmsgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICovXG4udWstc2VsZWN0IG9wdGdyb3VwIHtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cbi51ay10ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbi51ay1pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4udWstaW5wdXRbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG4udWstaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLypcbiAqIENvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIFNhZmFyaS5cbiAqL1xuLnVrLWlucHV0W3R5cGU9ZGF0ZV06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCxcbi51ay1pbnB1dFt0eXBlPXRpbWVdOjotd2Via2l0LWRhdGV0aW1lLWVkaXQsXG4udWstaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qXG4gKiBSZW1vdmVzIHBsYWNlaG9sZGVyIHRyYW5zcGFyZW5jeSBpbiBGaXJlZm94LlxuICovXG4udWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsXG4udWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuLnVrLXJhZGlvOm5vdCg6ZGlzYWJsZWQpLFxuLnVrLWNoZWNrYm94Om5vdCg6ZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICogMS4gUmVzZXQgYG1pbi13aWR0aGBcbiAqL1xuLnVrLWZpZWxkc2V0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIC8qIDEgKi9cbiAgbWluLXdpZHRoOiAwO1xufVxuXG4vKiBJbnB1dCwgc2VsZWN0IGFuZCB0ZXh0YXJlYVxuICogQWxsb3dlZDogYHRleHRgLCBgcGFzc3dvcmRgLCBgZGF0ZXRpbWUtbG9jYWxgLCBgZGF0ZWAsICBgbW9udGhgLFxuICAgICAgICAgICAgYHRpbWVgLCBgd2Vla2AsIGBudW1iZXJgLCBgZW1haWxgLCBgdXJsYCwgYHNlYXJjaGAsIGB0ZWxgLCBgY29sb3JgXG4gKiBEaXNhbGxvd2VkOiBgcmFuZ2VgLCBgcmFkaW9gLCBgY2hlY2tib3hgLCBgZmlsZWAsIGBzdWJtaXRgLCBgcmVzZXRgIGFuZCBgaW1hZ2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBpT1MuXG4gKi9cbi51ay1pbnB1dCxcbi51ay10ZXh0YXJlYSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIFJlc2V0IGRlZmF1bHRcbiAqIDQuIFN0eWxlXG4gKi9cbi51ay1pbnB1dCxcbi51ay1zZWxlY3QsXG4udWstdGV4dGFyZWEge1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogMyAqL1xuICBib3JkZXI6IDAgbm9uZTtcbiAgLyogNCAqL1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjNjY2O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1O1xuICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyO1xufVxuXG4vKlxuICogU2luZ2xlLWxpbmVcbiAqIDEuIEFsbG93IGFueSBlbGVtZW50IHRvIGxvb2sgbGlrZSBhbiBgaW5wdXRgIG9yIGBzZWxlY3RgIGVsZW1lbnRcbiAqIDIuIE1ha2Ugc3VyZSBsaW5lLWhlaWdodCBpcyBub3QgbGFyZ2VyIHRoYW4gaGVpZ2h0XG4gKiAgICBBbHNvIG5lZWRlZCB0byBjZW50ZXIgdGhlIHRleHQgdmVydGljYWxseVxuICovXG4udWstaW5wdXQsXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gIGhlaWdodDogNDBweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qIDIgKi9cbi51ay1pbnB1dDpub3QoaW5wdXQpLFxuLnVrLXNlbGVjdDpub3Qoc2VsZWN0KSB7XG4gIGxpbmUtaGVpZ2h0OiAzOHB4O1xufVxuXG4vKlxuICogTXVsdGktbGluZVxuICovXG4udWstc2VsZWN0W211bHRpcGxlXSxcbi51ay1zZWxlY3Rbc2l6ZV0sXG4udWstdGV4dGFyZWEge1xuICBwYWRkaW5nLXRvcDogNnB4O1xuICBwYWRkaW5nLWJvdHRvbTogNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4udWstc2VsZWN0W211bHRpcGxlXSxcbi51ay1zZWxlY3Rbc2l6ZV0ge1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG4vKiBGb2N1cyAqL1xuLnVrLWlucHV0OmZvY3VzLFxuLnVrLXNlbGVjdDpmb2N1cyxcbi51ay10ZXh0YXJlYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNjY2O1xuICBib3JkZXItY29sb3I6ICMxZTg3ZjA7XG59XG5cbi8qIERpc2FibGVkICovXG4udWstaW5wdXQ6ZGlzYWJsZWQsXG4udWstc2VsZWN0OmRpc2FibGVkLFxuLnVrLXRleHRhcmVhOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgY29sb3I6ICM5OTk7XG4gIGJvcmRlci1jb2xvcjogI2U1ZTVlNTtcbn1cblxuLypcbiAqIFBsYWNlaG9sZGVyXG4gKi9cbi51ay1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTbWFsbFxuICovXG4udWstZm9ybS1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi8qIFNpbmdsZS1saW5lICovXG4udWstZm9ybS1zbWFsbDpub3QodGV4dGFyZWEpOm5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cblxuLyogTXVsdGktbGluZSAqL1xudGV4dGFyZWEudWstZm9ybS1zbWFsbCxcblttdWx0aXBsZV0udWstZm9ybS1zbWFsbCxcbltzaXplXS51ay1mb3JtLXNtYWxsIHtcbiAgcGFkZGluZzogNXB4IDhweDtcbn1cblxuLnVrLWZvcm0tc21hbGw6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG4udWstZm9ybS1sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuLyogU2luZ2xlLWxpbmUgKi9cbi51ay1mb3JtLWxhcmdlOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgaGVpZ2h0OiA1NXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG59XG5cbi8qIE11bHRpLWxpbmUgKi9cbnRleHRhcmVhLnVrLWZvcm0tbGFyZ2UsXG5bbXVsdGlwbGVdLnVrLWZvcm0tbGFyZ2UsXG5bc2l6ZV0udWstZm9ybS1sYXJnZSB7XG4gIHBhZGRpbmc6IDdweCAxMnB4O1xufVxuXG4udWstZm9ybS1sYXJnZTpub3Qoc2VsZWN0KTpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSkge1xuICBsaW5lLWhlaWdodDogNTNweDtcbn1cblxuLyogU3R5bGUgbW9kaWZpZXIgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRXJyb3JcbiAqL1xuLnVrLWZvcm0tZGFuZ2VyLFxuLnVrLWZvcm0tZGFuZ2VyOmZvY3VzIHtcbiAgY29sb3I6ICNmMDUwNmU7XG4gIGJvcmRlci1jb2xvcjogI2YwNTA2ZTtcbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuLnVrLWZvcm0tc3VjY2Vzcyxcbi51ay1mb3JtLXN1Y2Nlc3M6Zm9jdXMge1xuICBjb2xvcjogIzMyZDI5NjtcbiAgYm9yZGVyLWNvbG9yOiAjMzJkMjk2O1xufVxuXG4vKlxuICogQmxhbmtcbiAqL1xuLnVrLWZvcm0tYmxhbmsge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4udWstZm9ybS1ibGFuazpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2U1ZTVlNTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLyogV2lkdGggbW9kaWZpZXJzIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEZpeGVkIHdpZHRoc1xuICogRGlmZmVyZW50IHdpZHRocyBmb3IgbWluaSBzaXplZCBgaW5wdXRgIGFuZCBgc2VsZWN0YCBlbGVtZW50c1xuICovXG5pbnB1dC51ay1mb3JtLXdpZHRoLXhzbWFsbCB7XG4gIHdpZHRoOiA1MHB4O1xufVxuXG5zZWxlY3QudWstZm9ybS13aWR0aC14c21hbGwge1xuICB3aWR0aDogNzVweDtcbn1cblxuLnVrLWZvcm0td2lkdGgtc21hbGwge1xuICB3aWR0aDogMTMwcHg7XG59XG5cbi51ay1mb3JtLXdpZHRoLW1lZGl1bSB7XG4gIHdpZHRoOiAyMDBweDtcbn1cblxuLnVrLWZvcm0td2lkdGgtbGFyZ2Uge1xuICB3aWR0aDogNTAwcHg7XG59XG5cbi8qIFNlbGVjdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUuIEFsc28gd29ya3MgaW4gRmlyZWZveFxuICogMi4gU3R5bGVcbiAqIDMuIFNldCBgY29sb3JgIGZvciBvcHRpb25zIGluIHRoZSBzZWxlY3QgZHJvcGRvd24sIGJlY2F1c2UgdGhlIGluaGVyaXRlZCBgY29sb3JgIG1pZ2h0IGJlIHRvbyBsaWdodC5cbiAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAvKiAxICovXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAvKiAyICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG59XG5cbi8qIDMgKi9cbi51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIG9wdGlvbiB7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6ZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzk5OSUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG59XG5cbi8qIERhdGFsaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBDaHJvbWVcbiAqL1xuLnVrLWlucHV0W2xpc3RdIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG59XG5cbi51ay1pbnB1dFtsaXN0XTpob3Zlcixcbi51ay1pbnB1dFtsaXN0XTpmb2N1cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMiUyMDglMjA2JTIwMTYlMjA2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIpO1xufVxuXG4vKiAxICovXG4udWstaW5wdXRbbGlzdF06Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogUmFkaW8gYW5kIGNoZWNrYm94XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTdHlsZVxuICogMi4gTWFrZSBib3ggbW9yZSByb2J1c3Qgc28gaXQgY2xpcHMgdGhlIGNoaWxkIGVsZW1lbnRcbiAqIDMuIFZlcnRpY2FsIGFsaWdubWVudFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIEZpeCBibGFjayBiYWNrZ3JvdW5kIG9uIGlPU1xuICogNi4gQ2VudGVyIGljb25zXG4gKi9cbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxNnB4O1xuICAvKiAyICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDMgKi9cbiAgbWFyZ2luLXRvcDogLTRweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLyogNCAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLyogNSAqL1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogNiAqL1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMjAzLjUsIDIwMy41LCAyMDMuNSk7XG4gIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjtcbn1cblxuLnVrLXJhZGlvIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhZGlvOmZvY3VzLFxuLnVrLWNoZWNrYm94OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyLWNvbG9yOiAjMWU4N2YwO1xufVxuXG4vKlxuICogQ2hlY2tlZFxuICovXG4udWstcmFkaW86Y2hlY2tlZCxcbi51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4N2YwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEzLjY4NzUsIDEwOS41LCAyMDUuMzEyNSk7XG59XG5cbi8qXG4gKiBJY29uc1xuICovXG4udWstcmFkaW86Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjNmZmYlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbn1cblxuLnVrLWNoZWNrYm94OmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTtcbn1cblxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiUyM2ZmZiUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbn1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cbi51ay1yYWRpbzpkaXNhYmxlZCxcbi51ay1jaGVja2JveDpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGJvcmRlci1jb2xvcjogI2U1ZTVlNTtcbn1cblxuLnVrLXJhZGlvOmRpc2FibGVkOmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyJTIzOTk5JTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7XG59XG5cbi51ay1jaGVja2JveDpkaXNhYmxlZDpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA1JTIwNy41JTIwMiUyMDUlMjAxJTIwNS41JTIwNSUyMDEwJTIwMTMlMjAxLjUlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG59XG5cbi51ay1jaGVja2JveDpkaXNhYmxlZDppbmRldGVybWluYXRlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjM5OTklMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7XG59XG5cbi8qIExlZ2VuZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTGVnZW5kXG4gKiAxLiBCZWhhdmUgbGlrZSBibG9jayBlbGVtZW50XG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiA0LiBTdHlsZVxuICovXG4udWstbGVnZW5kIHtcbiAgLyogMSAqL1xuICB3aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMyAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiA0ICovXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiBDdXN0b20gY29udHJvbHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICovXG4udWstZm9ybS1jdXN0b20ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIDMgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiA0ICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qXG4gKiAxLiBQb3NpdGlvbiBhbmQgcmVzaXplIHRoZSBmb3JtIGNvbnRyb2wgdG8gYWx3YXlzIGNvdmVyIGl0cyBjb250YWluZXJcbiAqIDIuIFJlcXVpcmVkIGZvciBGaXJlZm94IGZvciBwb3NpdGlvbmluZyB0byB0aGUgbGVmdFxuICogMy4gUmVxdWlyZWQgZm9yIFdlYmtpdCB0byBtYWtlIGBoZWlnaHRgIHdvcmtcbiAqIDQuIEhpZGUgY29udHJvbHMgYW5kIHNob3cgY3Vyc29yXG4gKiA1LiBOZWVkZWQgZm9yIHRoZSBjdXJzb3JcbiAqIDYuIENsaXAgaGVpZ2h0IGNhdXNlZCBieSA1LiBOZWVkZWQgZm9yIFdlYmtpdCBvbmx5XG4gKi9cbi51ay1mb3JtLWN1c3RvbSBzZWxlY3QsXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1maWxlXSB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8qIDIgKi9cbiAgbGVmdDogMDtcbiAgLyogMyAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC8qIDQgKi9cbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1maWxlXSB7XG4gIC8qIDUgKi9cbiAgZm9udC1zaXplOiA1MDBweDtcbiAgLyogNiAqL1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZm9ybS1sYWJlbCB7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4vKiBMYXlvdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFN0YWNrZWRcbiAqL1xuLnVrLWZvcm0tc3RhY2tlZCAudWstZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8qXG4gKiBIb3Jpem9udGFsXG4gKi9cbi8qIFRhYmxldCBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC8qIEJlaGF2ZSBsaWtlIGB1ay1mb3JtLXN0YWNrZWRgICovXG4gIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxufVxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1sYWJlbCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi10b3A6IDdweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWNvbnRyb2xzIHtcbiAgICBtYXJnaW4tbGVmdDogMjE1cHg7XG4gIH1cbiAgLyogQmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudCBpZiBjb250cm9scyBhcmUgY2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9ucyB3aXRoIHRleHQgKi9cbiAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scy10ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogN3B4O1xuICB9XG59XG4vKiBJY29uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTZXQgd2lkdGhcbiAqIDMuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogNC4gU3R5bGVcbiAqL1xuLnVrLWZvcm0taWNvbiB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICB3aWR0aDogNDBweDtcbiAgLyogMyAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIDQgKi9cbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG4udWstZm9ybS1pY29uOmhvdmVyIHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi8qXG4gKiBNYWtlIGBpbnB1dGAgZWxlbWVudCBjbGlja2FibGUgdGhyb3VnaCBpY29uLCBlLmcuIGlmIGl0J3MgYSBgc3BhbmBcbiAqL1xuLnVrLWZvcm0taWNvbjpub3QoYSk6bm90KGJ1dHRvbik6bm90KGlucHV0KSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKlxuICogSW5wdXQgcGFkZGluZ1xuICovXG4udWstZm9ybS1pY29uOm5vdCgudWstZm9ybS1pY29uLWZsaXApIH4gLnVrLWlucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiBQb3NpdGlvbiBtb2RpZmllclxuICovXG4udWstZm9ybS1pY29uLWZsaXAge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLnVrLWZvcm0taWNvbi1mbGlwIH4gLnVrLWlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnV0dG9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNC4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDUuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgZm9yIGBpbnB1dCB0eXBlPVwic3VibWl0XCJgaW4gaU9TLlxuICogNy4gU3R5bGVcbiAqIDguIGBsaW5lLWhlaWdodGAgaXMgdXNlZCB0byBjcmVhdGUgYSBoZWlnaHQgYmVjYXVzZSBpdCBhbHNvIGNlbnRlcnMgdGhlIHRleHQgdmVydGljYWxseSBmb3IgYGFgIGVsZW1lbnRzLlxuICogICAgQmV0dGVyIHdvdWxkIGJlIHRvIHVzZSBoZWlnaHQgYW5kIGZsZXhib3ggdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHkgYnV0IGZsZXhib3ggZG9lc24ndCB3b3JrIGluIEZpcmVmb3ggb24gYGJ1dHRvbmAgZWxlbWVudHMuXG4gKiA5LiBBbGlnbiB0ZXh0IGlmIGJ1dHRvbiBoYXMgYSB3aWR0aFxuICogMTAuIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cbi51ay1idXR0b24ge1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xuICBib3JkZXI6IG5vbmU7XG4gIC8qIDMgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDQgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDUgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIC8qIDYgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKiA3ICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMCAzMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICAvKiA4ICovXG4gIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAvKiA5ICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLyogMTAgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuXG4udWstYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuLnVrLWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1idXR0b246aG92ZXIge1xuICAvKiA5ICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi51ay1idXR0b24tZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzMzMztcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1idXR0b24tZGVmYXVsdDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzMzMztcbiAgYm9yZGVyLWNvbG9yOiAjYjJiMmIyO1xufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzMzMztcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTUyLjUsIDE1Mi41LCAxNTIuNSk7XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cbi51ay1idXR0b24tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg3ZjA7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1idXR0b24tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNS4yODEyNSwgMTIyLjI1LCAyMjkuMjE4NzUpO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTMuNjg3NSwgMTA5LjUsIDIwNS4zMTI1KTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMS4yNSwgMjEuMjUsIDIxLjI1KTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig4LjUsIDguNSwgOC41KTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuLnVrLWJ1dHRvbi1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjA1MDZlO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzcuOTg2ODQyMTA1MywgNTYuNTEzMTU3ODk0NywgOTAuNTM5NDczNjg0Mik7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLWRhbmdlcjphY3RpdmUsXG4udWstYnV0dG9uLWRhbmdlci51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM1Ljk3MzY4NDIxMDUsIDMzLjAyNjMxNTc4OTUsIDcxLjA3ODk0NzM2ODQpO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLypcbiAqIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuICovXG4udWstYnV0dG9uLWRlZmF1bHQ6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXByaW1hcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLXNlY29uZGFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tZGFuZ2VyOmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjOTk5O1xuICBib3JkZXItY29sb3I6ICNlNWU1ZTU7XG59XG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1idXR0b24tc21hbGwge1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4udWstYnV0dG9uLWxhcmdlIHtcbiAgcGFkZGluZzogMCA0MHB4O1xuICBsaW5lLWhlaWdodDogNTNweDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLyogVGV4dCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFRleHRcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG4udWstYnV0dG9uLXRleHQge1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIC8qIDIgKi9cbiAgY29sb3I6ICMzMzM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi51ay1idXR0b24tdGV4dDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAxMDAlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY3VycmVudENvbG9yO1xuICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIGVhc2Utb3V0O1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWJ1dHRvbi10ZXh0OmhvdmVyIHtcbiAgY29sb3I6ICMzMzM7XG59XG4udWstYnV0dG9uLXRleHQ6aG92ZXI6OmJlZm9yZSB7XG4gIHJpZ2h0OiAwO1xufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgY29sb3I6ICM5OTk7XG59XG4udWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuLnVrLWJ1dHRvbi1saW5rIHtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvKiAyICovXG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWJ1dHRvbi1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICM5OTk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tbGluazpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjOTk5O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIEdyb3VwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBVc2luZyBgZmxleGAgaW5zdGVhZCBvZiBgaW5saW5lLWJsb2NrYCB0byBwcmV2ZW50IHdoaXRlc3BhY2UgYmV0d2VlbiBjaGlsZCBlbGVtZW50c1xuICogMi4gQmVoYXZlIGxpa2UgYnV0dG9uXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICovXG4udWstYnV0dG9uLWdyb3VwIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgLyogMiAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAzICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogR3JvdXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIENvbGxhcHNlIGJvcmRlclxuICovXG4udWstYnV0dG9uLWdyb3VwID4gLnVrLWJ1dHRvbjpudGgtY2hpbGQobisyKSxcbi51ay1idXR0b24tZ3JvdXAgPiBkaXY6bnRoLWNoaWxkKG4rMikgLnVrLWJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuXG4vKlxuICogQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgdG8gc3VwZXJpbXBvc2UgdGhlIHN1Y2Nlc3NvciBlbGVtZW50cyBib3JkZXJcbiAqIEtub3duIGlzc3VlOiBJZiB5b3UgdXNlIGFuIGBhYCBlbGVtZW50IGFzIGJ1dHRvbiBhbmQgYW4gaWNvbiBpbnNpZGUsXG4gKiB0aGUgYWN0aXZlIHN0YXRlIHdpbGwgbm90IHdvcmsgaWYgeW91IGNsaWNrIHRoZSBpY29uIGluc2lkZSB0aGUgYnV0dG9uXG4gKiBXb3JrYXJvdW5kOiBKdXN0IHVzZSBhIGBidXR0b25gIG9yIGBpbnB1dGAgZWxlbWVudCBhcyBidXR0b25cbiAqL1xuLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmhvdmVyLFxuLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmZvY3VzLFxuLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmFjdGl2ZSxcbi51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbi51ay1hY3RpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQcm9ncmVzc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnQuXG4gKiAzLiBSZW1vdmUgYm9yZGVycyBpbiBGaXJlZm94LlxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIEVkZ2UuXG4gKiA1LiBTdHlsZVxuICovXG4udWstcHJvZ3Jlc3Mge1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgYm9yZGVyOiAwO1xuICAvKiA0ICovXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIC8qIDUgKi9cbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiA1MDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXByb2dyZXNzIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLypcbiAqIFNob3cgYmFja2dyb3VuZCBjb2xvciBzZXQgb24gYHVrLXByb2dyZXNzYCBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgRWRnZS5cbiAqL1xuLnVrLXByb2dyZXNzOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKlxuICogUHJvZ3Jlc3MgQmFyXG4gKiAxLiBUcmFuc2l0aW9ucyBkb24ndCB3b3JrIG9uIGA6Oi1tb3otcHJvZ3Jlc3MtYmFyYCBwc2V1ZG8gZWxlbWVudCBpbiBGaXJlZm94IHlldC5cbiAqICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjM1MVxuICovXG4udWstcHJvZ3Jlc3M6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4N2YwO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG59XG5cbi51ay1wcm9ncmVzczo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU4N2YwO1xuICAvKiAxICovXG4gIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIE1ha2UgaXQgd29yayB3aXRoIGAxMDB2aGAgYW5kIGhlaWdodCBpbiBnZW5lcmFsXG4gKi9cbi51ay1zZWN0aW9uIHtcbiAgZGlzcGxheTogZmxvdy1yb290O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICB9XG59XG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogWFNtYWxsXG4gKi9cbi51ay1zZWN0aW9uLXhzbWFsbCB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cbi51ay1zZWN0aW9uLXNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogNzBweDtcbiAgcGFkZGluZy1ib3R0b206IDcwcHg7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1zZWN0aW9uLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogMTQwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE0MHB4O1xuICB9XG59XG4vKlxuICogWExhcmdlXG4gKi9cbi51ay1zZWN0aW9uLXhsYXJnZSB7XG4gIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDE0MHB4O1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstc2VjdGlvbi14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAyMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjEwcHg7XG4gIH1cbn1cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICovXG4udWstc2VjdGlvbi1kZWZhdWx0IHtcbiAgLS11ay1pbnZlcnNlOiBkYXJrO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuLnVrLXNlY3Rpb24tbXV0ZWQge1xuICAtLXVrLWludmVyc2U6IGRhcms7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cbi51ay1zZWN0aW9uLXByaW1hcnkge1xuICAtLXVrLWludmVyc2U6IGxpZ2h0O1xuICBiYWNrZ3JvdW5kOiAjMWU4N2YwO1xufVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cbi51ay1zZWN0aW9uLXNlY29uZGFyeSB7XG4gIC0tdWstaW52ZXJzZTogbGlnaHQ7XG4gIGJhY2tncm91bmQ6ICMyMjI7XG59XG5cbi8qIE92ZXJsYXAgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFJlc2VydmVkIG1vZGlmaWVyIHRvIG1ha2UgYSBzZWN0aW9uIG92ZXJsYXAgYW5vdGhlciBzZWN0aW9uIHdpdGggYW4gYm9yZGVyIGltYWdlXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQm94IHNpemluZyBoYXMgdG8gYmUgYGNvbnRlbnQtYm94YCBzbyB0aGUgbWF4LXdpZHRoIGlzIGFsd2F5cyB0aGUgc2FtZSBhbmRcbiAqICAgIHVuYWZmZWN0ZWQgYnkgdGhlIHBhZGRpbmcgb24gZGlmZmVyZW50IGJyZWFrcG9pbnRzLiBJdCdzIGltcG9ydGFudCBmb3IgdGhlIHNpemUgbW9kaWZpZXJzLlxuICovXG4udWstY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxvdy1yb290O1xuICAvKiAxICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC51ay1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgfVxufVxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstY29udGFpbmVyID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKlxuICogUmVtb3ZlIHBhZGRpbmcgZnJvbSBuZXN0ZWQgY29udGFpbmVyc1xuICovXG4udWstY29udGFpbmVyIC51ay1jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNvbnRhaW5lci14c21hbGwge1xuICBtYXgtd2lkdGg6IDc1MHB4O1xufVxuXG4udWstY29udGFpbmVyLXNtYWxsIHtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbn1cblxuLnVrLWNvbnRhaW5lci1sYXJnZSB7XG4gIG1heC13aWR0aDogMTQwMHB4O1xufVxuXG4udWstY29udGFpbmVyLXhsYXJnZSB7XG4gIG1heC13aWR0aDogMTYwMHB4O1xufVxuXG4udWstY29udGFpbmVyLWV4cGFuZCB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLyogRXhwYW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBFeHBhbmQgb25lIHNpZGUgb25seVxuICovXG4udWstY29udGFpbmVyLWV4cGFuZC1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhzbWFsbCxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhzbWFsbCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArICg3NTBweCAvIDIpIC0gMzBweCk7XG4gIH1cbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItc21hbGwsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSArICg5MDBweCAvIDIpIC0gMzBweCk7XG4gIH1cbn1cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQsXG4gIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDEyMDBweCAvIDIpIC0gNDBweCk7XG4gIH1cbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDc1MHB4IC8gMikgLSA0MHB4KTtcbiAgfVxuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXNtYWxsIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDkwMHB4IC8gMikgLSA0MHB4KTtcbiAgfVxuICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1sYXJnZSxcbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLWxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDE0MDBweCAvIDIpIC0gNDBweCk7XG4gIH1cbiAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteGxhcmdlLFxuICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteGxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoNTAlICsgKDE2MDBweCAvIDIpIC0gNDBweCk7XG4gIH1cbn1cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFV0aWxpdHkgY2xhc3NlcyB0byByZXNldCBjb250YWluZXIgcGFkZGluZyBvbiB0aGUgbGVmdCBvciByaWdodCBzaWRlXG4gKiBOb3RlOiBJdCBoYXMgdG8gYmUgbmVnYXRpdmUgbWFyZ2luIG9uIHRoZSBpdGVtLCBiZWNhdXNlIGl0J3Mgc3BlY2lmaWMgdG8gdGhlIGl0ZW0uXG4gKi9cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDE1cHgpO1xufVxuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbn1cblxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkge1xuICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7XG4gIH1cbiAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgfVxuICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogLTMwcHg7XG4gIH1cbn1cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0MHB4KTtcbiAgfVxuICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICB9XG4gIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRpbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRpbGUge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIHtcbiAgLnVrLXRpbGUge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstdGlsZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZy10b3A6IDcwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gIH1cbn1cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLXRpbGUgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBYU21hbGxcbiAqL1xuLnVrLXRpbGUteHNtYWxsIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuXG4vKlxuICogU21hbGxcbiAqL1xuLnVrLXRpbGUtc21hbGwge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG4udWstdGlsZS1sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiA3MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLXRpbGUtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAxNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7XG4gIH1cbn1cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuLnVrLXRpbGUteGxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDE0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTQwcHg7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay10aWxlLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDIxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMTBweDtcbiAgfVxufVxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi51ay10aWxlLWRlZmF1bHQge1xuICAtLXVrLWludmVyc2U6IGRhcms7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi8qXG4gKiBNdXRlZFxuICovXG4udWstdGlsZS1tdXRlZCB7XG4gIC0tdWstaW52ZXJzZTogZGFyaztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuLnVrLXRpbGUtcHJpbWFyeSB7XG4gIC0tdWstaW52ZXJzZTogbGlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg3ZjA7XG59XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuLnVrLXRpbGUtc2Vjb25kYXJ5IHtcbiAgLS11ay1pbnZlcnNlOiBsaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENhcmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQtYm9keSB7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgcGFkZGluZzogMzBweCAzMHB4O1xufVxuXG4udWstY2FyZC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gIHBhZGRpbmc6IDE1cHggMzBweDtcbn1cblxuLnVrLWNhcmQtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxvdy1yb290O1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHg7XG4gIH1cbiAgLnVrLWNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gIH1cbiAgLnVrLWNhcmQtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gIH1cbn1cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWNhcmQtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtaGVhZGVyID4gOmxhc3QtY2hpbGQsXG4udWstY2FyZC1mb290ZXIgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIE1lZGlhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZXNlcnZlZCBhbGlnbm1lbnQgbW9kaWZpZXIgdG8gc3R5bGUgdGhlIG1lZGlhIGVsZW1lbnQsIGUuZy4gd2l0aCBgYm9yZGVyLXJhZGl1c2BcbiAqIEltcGxlbWVudGVkIGJ5IHRoZSB0aGVtZVxuICovXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY2FyZC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUG9zaXRpb25cbiAqIDIuIFNpemVcbiAqIDMuIFN0eWxlXG4gKiA0LiBDZW50ZXIgY2hpbGQgdmVydGljYWxseVxuICovXG4udWstY2FyZC1iYWRnZSB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAxNXB4O1xuICB6LWluZGV4OiAxO1xuICAvKiAyICovXG4gIGhlaWdodDogMjJweDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICAvKiAzICovXG4gIGJhY2tncm91bmQ6ICMxZTg3ZjA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICAvKiA0ICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuLnVrLWNhcmQtYmFkZ2U6Zmlyc3QtY2hpbGQgKyAqIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogSG92ZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNhcmQtaG92ZXI6bm90KC51ay1jYXJkLWRlZmF1bHQpOm5vdCgudWstY2FyZC1wcmltYXJ5KTpub3QoLnVrLWNhcmQtc2Vjb25kYXJ5KTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG59XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGVmYXVsdFxuICogTm90ZTogSGVhZGVyIGFuZCBGb290ZXIgYXJlIG9ubHkgaW1wbGVtZW50ZWQgZm9yIHRoZSBkZWZhdWx0IHN0eWxlXG4gKi9cbi51ay1jYXJkLWRlZmF1bHQge1xuICAtLXVrLWludmVyc2U6IGRhcms7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjNjY2O1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtdGl0bGUge1xuICBjb2xvcjogIzMzMztcbn1cblxuLnVrLWNhcmQtZGVmYXVsdC51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAxNHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLnVrLWNhcmQtZGVmYXVsdCAudWstY2FyZC1mb290ZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuLnVrLWNhcmQtcHJpbWFyeSB7XG4gIC0tdWstaW52ZXJzZTogbGlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg3ZjA7XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi51ay1jYXJkLXByaW1hcnkgLnVrLWNhcmQtdGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlODdmMDtcbiAgYm94LXNoYWRvdzogMCAxNHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcbn1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG4udWstY2FyZC1zZWNvbmRhcnkge1xuICAtLXVrLWludmVyc2U6IGxpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICBjb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4udWstY2FyZC1zZWNvbmRhcnkgLnVrLWNhcmQtdGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICBib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xufVxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTbWFsbFxuICovXG4udWstY2FyZC1zbWFsbC51ay1jYXJkLWJvZHksXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1ib2R5IHtcbiAgcGFkZGluZzogMjBweCAyMHB4O1xufVxuXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1oZWFkZXIge1xuICBwYWRkaW5nOiAxM3B4IDIwcHg7XG59XG5cbi51ay1jYXJkLXNtYWxsIC51ay1jYXJkLWZvb3RlciB7XG4gIHBhZGRpbmc6IDEzcHggMjBweDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY2FyZC1sYXJnZS51ay1jYXJkLWJvZHksXG4gIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6IDcwcHggNzBweDtcbiAgfVxuICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDM1cHggNzBweDtcbiAgfVxuICAudWstY2FyZC1sYXJnZSAudWstY2FyZC1mb290ZXIge1xuICAgIHBhZGRpbmc6IDM1cHggNzBweDtcbiAgfVxufVxuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCB7XG4gIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMzBweDtcbn1cblxuLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogLTE1cHg7XG4gIG1hcmdpbi1ib3R0b206IC0xNXB4O1xufVxuXG4udWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbi51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xufVxuXG4udWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4O1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC00MHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTQwcHg7XG4gIH1cbiAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMjVweDtcbiAgfVxuICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbiAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7XG4gICAgcGFkZGluZy1sZWZ0OiA1NXB4O1xuICB9XG59XG4vKlxuICogU21hbGxcbiAqL1xuLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQge1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi1yaWdodDogLTIwcHg7XG59XG5cbi51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQge1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBtYXJnaW4tYm90dG9tOiAtNXB4O1xufVxuXG4udWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbi51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xufVxuXG4udWstY2FyZC1zbWFsbCA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiB7XG4gIHBhZGRpbmctbGVmdDogMzVweDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsXG4gIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENsb3NlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cbi51ay1jbG9zZSB7XG4gIGNvbG9yOiAjOTk5O1xuICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgb3BhY2l0eTtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1jbG9zZTpob3ZlciB7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3Bpbm5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG4vKiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNwaW5uZXIgPiAqIHtcbiAgYW5pbWF0aW9uOiB1ay1zcGlubmVyLXJvdGF0ZSAxLjRzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLXJvdGF0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICB9XG59XG4vKlxuICogQ2lyY2xlXG4gKi9cbi51ay1zcGlubmVyID4gKiA+ICoge1xuICBzdHJva2UtZGFzaGFycmF5OiA4OHB4O1xuICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICBhbmltYXRpb246IHVrLXNwaW5uZXItZGFzaCAxLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICBzdHJva2Utd2lkdGg6IDE7XG4gIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbn1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLWRhc2gge1xuICAwJSB7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDg4cHg7XG4gIH1cbiAgNTAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMjJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiA4OHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1MGRlZyk7XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUb3RvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG4udWstdG90b3Age1xuICBwYWRkaW5nOiA1cHg7XG4gIGNvbG9yOiAjOTk5O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLXRvdG9wOmhvdmVyIHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay10b3RvcDphY3RpdmUge1xuICBjb2xvcjogIzMzMztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1hcmtlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRkb3B0cyBgdWstaWNvbmBcbiAqL1xuLnVrLW1hcmtlciB7XG4gIHBhZGRpbmc6IDVweDtcbiAgYmFja2dyb3VuZDogIzIyMjtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLW1hcmtlcjpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWxlcnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFsZXJ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nOiAxNXB4IDI5cHggMTVweCAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLWFsZXJ0IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstYWxlcnQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYWxlcnQtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG4udWstYWxlcnQtY2xvc2U6Zmlyc3QtY2hpbGQgKyAqIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLypcbiAqIEhvdmVyXG4gKi9cbi51ay1hbGVydC1jbG9zZTpob3ZlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstYWxlcnQtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6IHJnYigyMTUuNjI1LCAyMzQsIDI1Mi4zNzUpO1xuICBjb2xvcjogIzFlODdmMDtcbn1cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuLnVrLWFsZXJ0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjM2LjU1LCAyNTAuOTUsIDI0NS41NSk7XG4gIGNvbG9yOiAjMzJkMjk2O1xufVxuXG4vKlxuICogV2FybmluZ1xuICovXG4udWstYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQ6IHJnYigyNTQuNSwgMjQ1LjUsIDIzOC41KTtcbiAgY29sb3I6ICNmYWEwNWE7XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuLnVrLWFsZXJ0LWRhbmdlciB7XG4gIGJhY2tncm91bmQ6IHJnYigyNTQuMDUyNjMxNTc4OSwgMjQzLjk0NzM2ODQyMTEsIDI0NS44NDIxMDUyNjMyKTtcbiAgY29sb3I6ICNmMDUwNmU7XG59XG5cbi8qXG4gKiBDb250ZW50XG4gKi9cbi51ay1hbGVydCBoMSxcbi51ay1hbGVydCBoMixcbi51ay1hbGVydCBoMyxcbi51ay1hbGVydCBoNCxcbi51ay1hbGVydCBoNSxcbi51ay1hbGVydCBoNiB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4udWstYWxlcnQgYTpub3QoW2NsYXNzXSkge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi51ay1hbGVydCBhOm5vdChbY2xhc3NdKTpob3ZlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wbGFjZWhvbGRlciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDMwcHggMzBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IGRhc2hlZCAjZTVlNWU1O1xufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcGxhY2Vob2xkZXIge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1wbGFjZWhvbGRlciA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTdHlsZVxuICogMi4gQ2VudGVyIGNoaWxkIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG4udWstYmFkZ2Uge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAvKiAxICovXG4gIGJhY2tncm91bmQ6ICMxZTg3ZjA7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYFxuICovXG4udWstYmFkZ2U6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgYmFja2dyb3VuZDogIzFlODdmMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICNmZmY7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBTdWNjZXNzXG4gKi9cbi51ay1sYWJlbC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyZDI5NjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cbi51ay1sYWJlbC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhYTA1YTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuLnVrLWxhYmVsLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMDUwNmU7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstb3ZlcmxheSB7XG4gIHBhZGRpbmc6IDMwcHggMzBweDtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstb3ZlcmxheSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLW92ZXJsYXktZGVmYXVsdCB7XG4gIC0tdWstaW52ZXJzZTogZGFyaztcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstb3ZlcmxheS1wcmltYXJ5IHtcbiAgLS11ay1pbnZlcnNlOiBsaWdodDtcbiAgYmFja2dyb3VuZDogcmdiYSgzNCwgMzQsIDM0LCAwLjgpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQXJ0aWNsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYXJ0aWNsZSB7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstYXJ0aWNsZSA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogQWRqYWNlbnQgc2libGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYXJ0aWNsZSArIC51ay1hcnRpY2xlIHtcbiAgbWFyZ2luLXRvcDogNzBweDtcbn1cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFydGljbGUtdGl0bGUge1xuICBmb250LXNpemU6IDIuMjMxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1hcnRpY2xlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuNjI1cmVtO1xuICB9XG59XG4vKiBNZXRhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hcnRpY2xlLW1ldGEge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzk5OTtcbn1cbi51ay1hcnRpY2xlLW1ldGEgYSB7XG4gIGNvbG9yOiAjOTk5O1xufVxuLnVrLWFydGljbGUtbWV0YSBhOmhvdmVyIHtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbW1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNvbW1lbnQtYm9keSB7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4udWstY29tbWVudC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLWNvbW1lbnQtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLWNvbW1lbnQtaGVhZGVyID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29tbWVudC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY29tbWVudC1tZXRhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qIEF2YXRhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBMaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb21tZW50LWxpc3Qge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCA+IDpudGgtY2hpbGQobisyKSB7XG4gIG1hcmdpbi10b3A6IDcwcHg7XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICogTm90ZTogR2VuZXJhbCBzaWJsaW5nIHNlbGVjdG9yIGFsbG93cyByZXBseSBibG9jayBiZXR3ZWVuIGNvbW1lbnQgYW5kIHN1Ymxpc3RcbiAqL1xuLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsIHtcbiAgbWFyZ2luOiA3MHB4IDAgMCAwO1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qIFRhYmxldCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwMHB4O1xuICB9XG59XG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsID4gOm50aC1jaGlsZChuKzIpIHtcbiAgbWFyZ2luLXRvcDogNzBweDtcbn1cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWNvbW1lbnQtcHJpbWFyeSB7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWFyY2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBSZXNldCBgZm9ybWBcbiAqL1xuLnVrLXNlYXJjaCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMyAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDQgKi9cbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBJbnB1dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbi51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnNcbiAqIDUuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKiA2LiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBpT1MuXG4gKiA3LiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDguIFRha2UgdGhlIGZ1bGwgY29udGFpbmVyIHdpZHRoXG4gKiA5LiBTdHlsZVxuICovXG4udWstc2VhcmNoLWlucHV0IHtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqL1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAvKiA0ICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDUgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDYgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAvKiA3ICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDggKi9cbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDkgKi9cbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogIzY2Njtcbn1cblxuLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIFBsYWNlaG9sZGVyICovXG4udWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiBJY29uIChBZG9wdHMgYHVrLWljb25gKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUG9zaXRpb24gYWJvdmUgaW5wdXRcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiAzLiBTdHlsZVxuICovXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIDMgKi9cbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKlxuICogTWFrZSBgaW5wdXRgIGVsZW1lbnQgY2xpY2thYmxlIHRocm91Z2ggaWNvbiwgZS5nLiBpZiBpdCdzIGEgYHNwYW5gXG4gKi9cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qXG4gKiBQb3NpdGlvbiBtb2RpZmllclxuICovXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbi1mbGlwIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi8qIERlZmF1bHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IHtcbiAgd2lkdGg6IDI0MHB4O1xufVxuXG4vKlxuICogSW5wdXRcbiAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi8qIEZvY3VzICovXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG4gIGJvcmRlci1jb2xvcjogIzFlODdmMDtcbn1cblxuLypcbiAqIEljb25cbiAqL1xuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLnVrLXNlYXJjaC1kZWZhdWx0OmhhcygudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSkgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbn1cblxuLnVrLXNlYXJjaC1kZWZhdWx0OmhhcygudWstc2VhcmNoLWljb24tZmxpcCkgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG59XG5cbi8qIE5hdmJhciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc2VhcmNoLW5hdmJhciB7XG4gIHdpZHRoOiAyNDBweDtcbn1cblxuLypcbiAqIElucHV0XG4gKi9cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLyogRm9jdXMgKi9cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICMxZTg3ZjA7XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbn1cblxuLnVrLXNlYXJjaC1uYXZiYXI6aGFzKC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApKSAudWstc2VhcmNoLWlucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiA0MHB4O1xufVxuXG4udWstc2VhcmNoLW5hdmJhcjpoYXMoLnVrLXNlYXJjaC1pY29uLWZsaXApIC51ay1zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xufVxuXG4vKiBNZWRpdW0gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXNlYXJjaC1tZWRpdW0ge1xuICB3aWR0aDogNDAwcHg7XG59XG5cbi8qXG4gKiBJbnB1dFxuICovXG4udWstc2VhcmNoLW1lZGl1bSAudWstc2VhcmNoLWlucHV0IHtcbiAgaGVpZ2h0OiA1NXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLyogRm9jdXMgKi9cbi51ay1zZWFyY2gtbWVkaXVtIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBib3JkZXItY29sb3I6ICMxZTg3ZjA7XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cbi51ay1zZWFyY2gtbWVkaXVtIC51ay1zZWFyY2gtaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTJweDtcbn1cblxuLnVrLXNlYXJjaC1tZWRpdW06aGFzKC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApKSAudWstc2VhcmNoLWlucHV0IHtcbiAgcGFkZGluZy1sZWZ0OiA0OHB4O1xufVxuXG4udWstc2VhcmNoLW1lZGl1bTpoYXMoLnVrLXNlYXJjaC1pY29uLWZsaXApIC51ay1zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xufVxuXG4vKiBMYXJnZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc2VhcmNoLWxhcmdlIHtcbiAgd2lkdGg6IDUwMHB4O1xufVxuXG4vKlxuICogSW5wdXRcbiAqL1xuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgaGVpZ2h0OiA5MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDIuNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgYm9yZGVyLWNvbG9yOiAjMWU4N2YwO1xufVxuXG4vKlxuICogSWNvblxuICovXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbiB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbn1cblxuLnVrLXNlYXJjaC1sYXJnZTpoYXMoLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkpIC51ay1zZWFyY2gtaW5wdXQge1xuICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG59XG5cbi51ay1zZWFyY2gtbGFyZ2U6aGFzKC51ay1zZWFyY2gtaWNvbi1mbGlwKSAudWstc2VhcmNoLWlucHV0IHtcbiAgcGFkZGluZy1yaWdodDogODBweDtcbn1cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qIEhvdmVyICovXG4udWstc2VhcmNoLXRvZ2dsZTpob3ZlciB7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWNjb3JkaW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hY2NvcmRpb24ge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1hY2NvcmRpb24gPiA6bnRoLWNoaWxkKG4rMikge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICMzMzM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4udWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMS40ZW07XG4gIGhlaWdodDogMS40ZW07XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcmVjdCUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjB3aWR0aCUzRCUyMjElMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHglM0QlMjI2JTIyJTIweSUzRCUyMjAlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG59XG4udWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyJTIzNjY2JTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIENvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogZmxvdy1yb290O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1hY2NvcmRpb24tY29udGVudCA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERyb3BcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKi9cbi51ay1kcm9wIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAyMDtcbiAgLS11ay1wb3NpdGlvbi1vZmZzZXQ6IDIwcHg7XG4gIC0tdWstcG9zaXRpb24tdmlld3BvcnQtb2Zmc2V0OiAxNXB4O1xuICAvKiAzICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAzMDBweDtcbn1cblxuLyogU2hvdyAqL1xuLnVrLWRyb3AudWstb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZHJvcC1zdGFjayAudWstZHJvcC1ncmlkID4gKiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBhcmVudCBpY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1kcm9wLXBhcmVudC1pY29uIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG59XG5cblthcmlhLWV4cGFuZGVkPXRydWVdID4gLnVrLWRyb3AtcGFyZW50LWljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERyb3BiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkb3B0cyBgdWstZHJvcGBcbiAqIDEuIFJlc2V0IGRyb3BcbiAqIDIuIFN0eWxlXG4gKi9cbi51ay1kcm9wYmFyIHtcbiAgLS11ay1wb3NpdGlvbi1vZmZzZXQ6IDA7XG4gIC0tdWstcG9zaXRpb24tc2hpZnQtb2Zmc2V0OiAwO1xuICAtLXVrLXBvc2l0aW9uLXZpZXdwb3J0LW9mZnNldDogMDtcbiAgLS11ay1pbnZlcnNlOiBkYXJrO1xuICAvKiAxICovXG4gIHdpZHRoOiBhdXRvO1xuICAvKiAyICovXG4gIHBhZGRpbmc6IDI1cHggMTVweCAyNXB4IDE1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1kcm9wYmFyID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC51ay1kcm9wYmFyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLWRyb3BiYXIge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG59XG4udWstZHJvcGJhciA6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmUtY29sb3I6ICMzMzMgIWltcG9ydGFudDtcbn1cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZHJvcGJhci1sYXJnZSB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cblxuLyogRGlyZWN0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1kcm9wYmFyLXRvcCB7XG4gIGJveC1zaGFkb3c6IDAgMTJweCA3cHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4udWstZHJvcGJhci1ib3R0b20ge1xuICBib3gtc2hhZG93OiAwIC0xMnB4IDdweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi51ay1kcm9wYmFyLWxlZnQge1xuICBib3gtc2hhZG93OiAxMnB4IDAgN3B4IC02cHggcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLnVrLWRyb3BiYXItcmlnaHQge1xuICBib3gtc2hhZG93OiAtMTJweCAwIDdweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wbmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQb3NpdGlvblxuICogMi4gUmVzZXQgZHJvcGJhclxuICogMy4gV2lkdGhcbiAqL1xuLnVrLWRyb3BuYXYtZHJvcGJhciB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5ODA7XG4gIC8qIDIgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1vZGFsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cbi51ay1tb2RhbCB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAxMDtcbiAgLyogMyAqL1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICAvKiA0ICovXG4gIHBhZGRpbmc6IDE1cHggMTVweDtcbiAgLyogNSAqL1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIC8qIDYgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIHtcbiAgLnVrLW1vZGFsIHtcbiAgICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gIH1cbn1cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1tb2RhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIH1cbn1cbi8qXG4gKiBPcGVuXG4gKi9cbi51ay1tb2RhbC51ay1vcGVuIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cbi51ay1tb2RhbC1wYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRGlhbG9nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3Igc3Bpbm5lciBhbmQgY2xvc2UgYnV0dG9uXG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBgIWltcG9ydGFudGAgaXMgbmVlZGVkIHRvIG92ZXJ3cml0ZSBgdWstd2lkdGgtYXV0b2AuIFNlZSBgI21vZGFsLW1lZGlhLWltYWdlYCBpbiB0ZXN0c1xuICogNC4gU3R5bGVcbiAqIDUuIFNsaWRlLWluIHRyYW5zaXRpb25cbiAqL1xuLnVrLW1vZGFsLWRpYWxvZyB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogNjAwcHg7XG4gIC8qIDMgKi9cbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIC8qIDQgKi9cbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLyogNSAqL1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgdHJhbnNpdGlvbjogMC4zcyBsaW5lYXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybTtcbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuLnVrLW9wZW4gPiAudWstbW9kYWwtZGlhbG9nIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBDb250YWluZXIgc2l6ZVxuICogVGFrZSB0aGUgc2FtZSBzaXplIGFzIHRoZSBDb250YWluZXIgY29tcG9uZW50XG4gKi9cbi51ay1tb2RhbC1jb250YWluZXIgLnVrLW1vZGFsLWRpYWxvZyB7XG4gIHdpZHRoOiAxMjAwcHg7XG59XG5cbi8qXG4gKiBGdWxsIHNpemVcbiAqIDEuIFJlbW92ZSBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGZyb20gbW9kYWxcbiAqIDIuIFJlc2V0IGFsbCBkZWZhdWx0IGRlY2xhcmF0aW9ucyBmcm9tIG1vZGFsIGRpYWxvZ1xuICovXG4vKiAxICovXG4udWstbW9kYWwtZnVsbCB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qIDIgKi9cbi51ay1tb2RhbC1mdWxsIC51ay1tb2RhbC1kaWFsb2cge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1vZGFsLWJvZHkge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gIHBhZGRpbmc6IDIwcHggMjBweDtcbn1cblxuLnVrLW1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLnVrLW1vZGFsLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkge1xuICAudWstbW9kYWwtYm9keSB7XG4gICAgcGFkZGluZzogMzBweCAzMHB4O1xuICB9XG4gIC51ay1tb2RhbC1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDE1cHggMzBweDtcbiAgfVxuICAudWstbW9kYWwtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIH1cbn1cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLW1vZGFsLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1mb290ZXIgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tb2RhbC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbltjbGFzcyo9dWstbW9kYWwtY2xvc2UtXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAxMDtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTBweDtcbiAgcGFkZGluZzogNXB4O1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuW2NsYXNzKj11ay1tb2RhbC1jbG9zZS1dOmZpcnN0LWNoaWxkICsgKiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG4vKlxuICogRGVmYXVsdFxuICovXG4vKlxuICogT3V0c2lkZVxuICogMS4gUHJldmVudCBzY3JvbGxiYXIgb24gc21hbGwgZGV2aWNlc1xuICovXG4udWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gIHRvcDogMDtcbiAgLyogMSAqL1xuICByaWdodDogLTVweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTEwMCUpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC8qIDEgKi9cbiAgLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMCUsIC0xMDAlKTtcbiAgfVxufVxuLypcbiAqIEZ1bGxcbiAqL1xuLnVrLW1vZGFsLWNsb3NlLWZ1bGwge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstbW9kYWwtY2xvc2UtZnVsbCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlc2hvd1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuLnVrLXNsaWRlc2hvdyB7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBhbmQgc3RhY2tpbmcgY29udGV4dFxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICogNC4gUHJldmVudCBkaXNwbGF5aW5nIHRoZSBjYWxsb3V0IGluZm9ybWF0aW9uIG9uIGlPUy5cbiAqIDUuIERpc2FibGUgaG9yaXpvbnRhbCBwYW5uaW5nIGdlc3R1cmVzXG4gKi9cbi51ay1zbGlkZXNob3ctaXRlbXMge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8qIDMgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogNCAqL1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC8qIDUgKi9cbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUG9zaXRpb24gaXRlbXMgYWJvdmUgZWFjaCBvdGhlclxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50cywgZS5nLiBmb3IgYHVrLWNvdmVyYFxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKi9cbi51ay1zbGlkZXNob3ctaXRlbXMgPiAqIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICAvKiAzICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDQgKi9cbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbn1cblxuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG4udWstc2xpZGVzaG93LWl0ZW1zID4gOm5vdCgudWstYWN0aXZlKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cbi51ay1zbGlkZXIge1xuICAvKiAxICovXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICogMi4gUHJldmVudCBhY2NpZGVudGFsIHNjcm9sbGluZyB0aHJvdWdoIGVsZW1lbnRzIGluIHNsaWRlIGdldHRpbmcgZm9jdXNlZFxuICovXG4udWstc2xpZGVyLWNvbnRhaW5lciB7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogMiAqL1xuICBvdmVyZmxvdzogY2xpcDtcbn1cblxuLypcbiAqIFdpZGVuIGNvbnRhaW5lciB0byBwcmV2ZW50IGJveC1zaGFkb3dzIGZyb20gY2xpcHBpbmcsIGBsYXJnZS1ib3gtc2hhZG93YFxuICovXG4udWstc2xpZGVyLWNvbnRhaW5lci1vZmZzZXQge1xuICBtYXJnaW46IC0xMXB4IC0yNXB4IC0zOXB4IC0yNXB4O1xuICBwYWRkaW5nOiAxMXB4IDI1cHggMzlweCAyNXB4O1xufVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiAyLiBDcmVhdGUgYSBjb250YWluaW5nIGJsb2NrLiBJbiBTYWZhcmkgaXQncyBuZWl0aGVyIGNyZWF0ZWQgYnkgYHRyYW5zZm9ybWAgbm9yIGB3aWxsLWNoYW5nZWAuXG4gKiAzLiBEaXNhYmxlIGhvcml6b250YWwgcGFubmluZyBnZXN0dXJlc1xuICovXG4udWstc2xpZGVyLWl0ZW1zIHtcbiAgLyogMSAqL1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMyAqL1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4vKlxuICogMS4gUmVzZXQgbGlzdCBzdHlsZSB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggZ3JpZFxuICogMi4gUHJldmVudCBkaXNwbGF5aW5nIHRoZSBjYWxsb3V0IGluZm9ybWF0aW9uIG9uIGlPUy5cbiAqL1xuLnVrLXNsaWRlci1pdGVtczpub3QoLnVrLWdyaWQpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xufVxuXG4udWstc2xpZGVyLWl0ZW1zLnVrLWdyaWQge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gTGV0IGl0ZW1zIHRha2UgY29udGVudCBkaW1lbnNpb25zICgwIDAgYXV0bylcbiAqICAgIGBtYXgtd2lkdGhgIG5lZWRlZCB0byBrZWVwIGltYWdlIHJlc3BvbnNpdmVuZXNzIGFuZCBwcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKi9cbi51ay1zbGlkZXItaXRlbXMgPiAqIHtcbiAgLyogMSAqL1xuICBmbGV4OiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdGlja3lcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IHNvIGl0J3MgdCB0aGUgc2FtZSBsaWtlIHdoZW4gZml4ZWQuXG4gKiAyLiBDcmVhdGUgc3RhY2tpbmcgY29udGV4dCBhbHJlYWR5IHdoZW4gbm90IHN0aWNreSB0byBoYXZlIHRoZSBzYW1lIGNvbnRleHRcbiogICAgIGZvciBwb3NpdGlvbiBzZXQgdG8gYHN0aWNreWAgYW5kIGByZWxhdGl2ZWBcbiAqIDIuIE1vcmUgcm9idXN0IGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZCBhbmQgdGhlIHN0aWNreSBoZWlnaHQgaXMgdHJhbnNpdGlvbmVkXG4gKi9cbi51ay1zdGlja3kge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLyogMiAqL1xuICB6LWluZGV4OiA5ODA7XG4gIC8qIDMgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnVrLXN0aWNreS1maXhlZCB7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xufVxuXG4vKlxuICogRmFzdGVyIGFuaW1hdGlvbnNcbiAqL1xuLnVrLXN0aWNreVtjbGFzcyo9dWstYW5pbWF0aW9uLV0ge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XG59XG5cbi51ay1zdGlja3kudWstYW5pbWF0aW9uLXJldmVyc2Uge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuMnM7XG59XG5cbi8qXG4gKiBQbGFjZWhvbGRlclxuICogTWFrZSBjb250ZW50IGNsaWNrYWJsZSBmb3Igc3RpY2t5IGNvdmVyIGFuZCByZXZlYWwgZWZmZWN0c1xuICovXG4udWstc3RpY2t5LXBsYWNlaG9sZGVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBPZmYtY2FudmFzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICovXG4udWstb2ZmY2FudmFzIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBub25lO1xuICAvKiAyICovXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi8qXG4gKiBGbGlwIG1vZGlmaWVyXG4gKi9cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzIHtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi8qIEJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTaXplIGFuZCBzdHlsZVxuICogMy4gQWxsb3cgc2Nyb2xsaW5nXG4gKi9cbi51ay1vZmZjYW52YXMtYmFyIHtcbiAgLS11ay1pbnZlcnNlOiBsaWdodDtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAtMjcwcHg7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDI3MHB4O1xuICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gIGJhY2tncm91bmQ6ICMyMjI7XG4gIC8qIDMgKi9cbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkge1xuICAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgbGVmdDogLTM1MHB4O1xuICAgIHdpZHRoOiAzNTBweDtcbiAgICBwYWRkaW5nOiAzMHB4IDMwcHg7XG4gIH1cbn1cbi8qIEZsaXAgbW9kaWZpZXIgKi9cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhciB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMjcwcHg7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgcmlnaHQ6IC0zNTBweDtcbiAgfVxufVxuLypcbiAqIE9wZW5cbiAqL1xuLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLWJhciB7XG4gIGxlZnQ6IDA7XG59XG5cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb3BlbiA+IC51ay1vZmZjYW52YXMtYmFyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG59XG5cbi8qXG4gKiBTbGlkZSBBbmltYXRpb24gKFVzZWQgaW4gc2xpZGUgYW5kIHB1c2ggbW9kZSlcbiAqL1xuLnVrLW9mZmNhbnZhcy1iYXItYW5pbWF0aW9uIHtcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2Utb3V0O1xufVxuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1iYXItYW5pbWF0aW9uIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogcmlnaHQ7XG59XG5cbi8qXG4gKiBSZXZlYWwgQW5pbWF0aW9uXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENsaXAgdGhlIGJhclxuICogMy4gQW5pbWF0aW9uXG4gKiA0LiBSZXNldCBwb3NpdGlvblxuICovXG4udWstb2ZmY2FudmFzLXJldmVhbCB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgLyogMiAqL1xuICB3aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLyogMyAqL1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0O1xufVxuXG4udWstb2ZmY2FudmFzLXJldmVhbCAudWstb2ZmY2FudmFzLWJhciB7XG4gIC8qIDQgKi9cbiAgbGVmdDogMDtcbn1cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtcmV2ZWFsIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgLyogNCAqL1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbn1cblxuLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLXJldmVhbCB7XG4gIHdpZHRoOiAyNzBweDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIHtcbiAgLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLXJldmVhbCB7XG4gICAgd2lkdGg6IDM1MHB4O1xuICB9XG59XG4vKlxuICogRmxpcCBtb2RpZmllclxuICovXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1vZmZjYW52YXMtY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHRvcDogNXB4O1xuICByaWdodDogNXB4O1xuICBwYWRkaW5nOiA1cHg7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC51ay1vZmZjYW52YXMtY2xvc2Uge1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTBweDtcbiAgfVxufVxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cbi51ay1vZmZjYW52YXMtY2xvc2U6Zmlyc3QtY2hpbGQgKyAqIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogT3ZlcmxheSB0aGUgd2hvbGUgcGFnZS4gTmVlZGVkIGZvciB0aGUgYDo6YmVmb3JlYFxuICogMS4gVXNpbmcgYDEwMHZ3YCBzbyBubyBtb2RpZmljYXRpb24gaXMgbmVlZGVkIHdoZW4gb2ZmLWNhbnZhcyBpcyBmbGlwcGVkXG4gKiAyLiBBbGxvdyBmb3IgY2xvc2luZyB3aXRoIHN3aXBlIGdlc3R1cmUgb24gZGV2aWNlcyB3aXRoIHBvaW50ZXIgZXZlbnRzLlxuICovXG4udWstb2ZmY2FudmFzLW92ZXJsYXkge1xuICAvKiAxICovXG4gIHdpZHRoOiAxMDB2dztcbiAgLyogMiAqL1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBNYXNrIHRoZSB3aG9sZSBwYWdlXG4gKiAyLiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuLnVrLW9mZmNhbnZhcy1vdmVybGF5OjpiZWZvcmUge1xuICAvKiAxICovXG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIC8qIDIgKi9cbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG59XG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheS51ay1vcGVuOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKiBQcmV2ZW50IHNjcm9sbGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJldmVudCBob3Jpem9udGFsIHNjcm9sbGJhciB3aGVuIHRoZSBjb250ZW50IGlzIHNsaWRlLW91dFxuICogSGFzIHRvIGJlIG9uIHRoZSBgaHRtbGAgZWxlbWVudCB0b28gdG8gbWFrZSBpdCB3b3JrIG9uIHRoZSBgYm9keWBcbiAqIDEuIGBjbGlwYCBpcyBuZWVkZWQgZm9yIGBwb3NpdGlvbjogc3RpY2t5YCBlbGVtZW50cyB0byBrZWVwIHRoZWlyIHBvc2l0aW9uXG4gKi9cbi51ay1vZmZjYW52YXMtcGFnZSxcbi51ay1vZmZjYW52YXMtY29udGFpbmVyIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAvKiAxICovXG4gIG92ZXJmbG93LXg6IGNsaXA7XG59XG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJlcGFyZSBzbGlkZS1vdXQgYW5pbWF0aW9uIChVc2VkIGluIHJldmVhbCBhbmQgcHVzaCBtb2RlKVxuICogVXNpbmcgYHBvc2l0aW9uOiBsZWZ0YCBpbnN0ZWFkIG9mIGB0cmFuc2Zvcm1gIGJlY2F1c2UgcG9zaXRpb24gYGZpeGVkYCBlbGVtZW50cyBsaWtlIHN0aWNreSBuYXZiYXJzXG4gKiBsb3NlIHRoZWlyIGZpeGVkIHN0YXRlIGFuZCBiZWhhdmVzIGxpa2UgYGFic29sdXRlYCB3aXRoaW4gYSB0cmFuc2Zvcm1lZCBjb250YWluZXJcbiAqIDEuIFByb3ZpZGUgYSBmaXhlZCB3aWR0aCBhbmQgcHJldmVudCBzaHJpbmtpbmdcbiAqL1xuLnVrLW9mZmNhbnZhcy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLW91dDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLypcbiAqIEFjdGl2YXRlIHNsaWRlLW91dCBhbmltYXRpb25cbiAqL1xuOm5vdCgudWstb2ZmY2FudmFzLWZsaXApLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHtcbiAgbGVmdDogMjcwcHg7XG59XG5cbi51ay1vZmZjYW52YXMtZmxpcC51ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbiB7XG4gIGxlZnQ6IC0yNzBweDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIHtcbiAgOm5vdCgudWstb2ZmY2FudmFzLWZsaXApLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHtcbiAgICBsZWZ0OiAzNTBweDtcbiAgfVxuICAudWstb2ZmY2FudmFzLWZsaXAudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24ge1xuICAgIGxlZnQ6IC0zNTBweDtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN3aXRjaGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZXNldCBsaXN0XG4gKi9cbi51ay1zd2l0Y2hlciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG4udWstc3dpdGNoZXIgPiA6bm90KC51ay1hY3RpdmUpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstc3dpdGNoZXIgPiAqID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1sZWFkZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKlxuICogMS4gUGxhY2UgZWxlbWVudCBpbiB0ZXh0IGZsb3dcbiAqIDIuIE5ldmVyIGJyZWFrIGludG8gYSBuZXcgbGluZVxuICogMy4gR2V0IGEgc3RyaW5nIGJhY2sgd2l0aCBhcyBtYW55IHJlcGVhdGluZyBjaGFyYWN0ZXJzIHRvIGZpbGwgdGhlIGNvbnRhaW5lclxuICogNC4gUHJldmVudCB3cmFwcGluZy4gT3ZlcmZsb3dpbmcgY2hhcmFjdGVycyB3aWxsIGJlIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lclxuICovXG4udWstbGVhZGVyLWZpbGw6OmFmdGVyIHtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAvKiAyICovXG4gIHdpZHRoOiAwO1xuICAvKiAzICovXG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1maWxsKTtcbiAgLyogNCAqL1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKlxuICogSGlkZSBpZiBtZWRpYSBkb2VzIG5vdCBtYXRjaFxuICovXG4udWstbGVhZGVyLWZpbGwudWstbGVhZGVyLWhpZGU6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLypcbiAqIFBhc3MgZmlsbCBjaGFyYWN0ZXIgdG8gSlNcbiAqL1xuOnJvb3Qge1xuICAtLXVrLWxlYWRlci1maWxsLWNvbnRlbnQ6IC47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBOb3RpZmljYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gRGltZW5zaW9uc1xuICovXG4udWstbm90aWZpY2F0aW9uIHtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogMTBweDtcbiAgei1pbmRleDogMTA0MDtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMzUwcHg7XG59XG5cbi8qIFBvc2l0aW9uIG1vZGlmaWVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ub3RpZmljYXRpb24tdG9wLXJpZ2h0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTBweDtcbn1cblxuLnVrLW5vdGlmaWNhdGlvbi10b3AtY2VudGVyLFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTE3NXB4O1xufVxuXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1sZWZ0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMTBweDtcbn1cblxuLyogUmVzcG9uc2l2ZW5lc3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQaG9uZXMgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAzMTlweCkge1xuICAudWstbm90aWZpY2F0aW9uIHtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuLyogTWVzc2FnZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTVweDtcbiAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4qICsgLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ub3RpZmljYXRpb24tY2xvc2Uge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDE1cHg7XG59XG5cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZTpob3ZlciAudWstbm90aWZpY2F0aW9uLWNsb3NlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUHJpbWFyeVxuICovXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSB7XG4gIGNvbG9yOiAjMWU4N2YwO1xufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcyB7XG4gIGNvbG9yOiAjMzJkMjk2O1xufVxuXG4vKlxuICogV2FybmluZ1xuICovXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZyB7XG4gIGNvbG9yOiAjZmFhMDVhO1xufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cbi51ay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIge1xuICBjb2xvcjogI2YwNTA2ZTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRvb2x0aXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gUG9zaXRpb25cbiAqIDMuIFJlbW92ZSB0b29sdGlwIGZyb20gZG9jdW1lbnQgZmxvdyB0byBrZWVwIHRoZSBVSWtpdCBjb250YWluZXIgZnJvbSBjaGFuZ2luZyBpdHMgc2l6ZSB3aGVuIGluamVjdGVkIGludG8gdGhlIGRvY3VtZW50IGluaXRpYWxseVxuICogNC4gRGltZW5zaW9uc1xuICogNS4gU3R5bGVcbiAqL1xuLnVrLXRvb2x0aXAge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDMwO1xuICAtLXVrLXBvc2l0aW9uLW9mZnNldDogMTBweDtcbiAgLS11ay1wb3NpdGlvbi12aWV3cG9ydC1vZmZzZXQ6IDEwO1xuICAvKiAzICovXG4gIHRvcDogMDtcbiAgLyogNCAqL1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAzcHggNnB4O1xuICAvKiA1ICovXG4gIGJhY2tncm91bmQ6ICM2NjY7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLyogU2hvdyAqL1xuLnVrLXRvb2x0aXAudWstYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTb3J0YWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc29ydGFibGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuLnVrLXNvcnRhYmxlID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBEcmFnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zb3J0YWJsZS1kcmFnIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDEwNTAgIWltcG9ydGFudDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zb3J0YWJsZS1wbGFjZWhvbGRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBFbXB0eSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstc29ydGFibGUtZW1wdHkge1xuICBtaW4taGVpZ2h0OiA1MHB4O1xufVxuXG4vKiBIYW5kbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSG92ZXIgKi9cbi51ay1zb3J0YWJsZS1oYW5kbGU6aG92ZXIge1xuICBjdXJzb3I6IG1vdmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3VudGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBOdW1iZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIE1ha2UgbnVtYmVycyBhbGwgb2YgdGhlIHNhbWUgc2l6ZSB0byBwcmV2ZW50IGp1bXBpbmcuIE11c3QgYmUgc3VwcG9ydGVkIGJ5IHRoZSBmb250LlxuICogMi4gU3R5bGVcbiAqL1xuLnVrLWNvdW50ZG93bi1udW1iZXIge1xuICAvKiAxICovXG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIC8qIDIgKi9cbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMC44O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC51ay1jb3VudGRvd24tbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDRyZW07XG4gIH1cbn1cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1jb3VudGRvd24tbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDZyZW07XG4gIH1cbn1cbi8qIFNlcGFyYXRvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkge1xuICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGh1bWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuLnVrLXRodW1ibmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAvKiAzICovXG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbn1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogMS4gR3V0dGVyXG4gKi9cbi51ay10aHVtYm5hdiA+ICoge1xuICAvKiAxICovXG4gIHBhZGRpbmctbGVmdDogMTVweDtcbn1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEl0ZW1zXG4gKi9cbi51ay10aHVtYm5hdiA+ICogPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4udWstdGh1bWJuYXYgPiAqID4gKjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLXRodW1ibmF2ID4gKiA+IDpob3Zlcjo6YWZ0ZXIge1xuICBvcGFjaXR5OiAwO1xufVxuXG4vKiBBY3RpdmUgKi9cbi51ay10aHVtYm5hdiA+IC51ay1hY3RpdmUgPiAqOjphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qIE1vZGlmaWVyOiAndWstdGh1bWJuYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuLnVrLXRodW1ibmF2LXZlcnRpY2FsIHtcbiAgLyogMSAqL1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvKiAyICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTVweDtcbn1cblxuLyogMiAqL1xuLnVrLXRodW1ibmF2LXZlcnRpY2FsID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJY29ubmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gR3V0dGVyXG4gKi9cbi51ay1pY29ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAvKiAzICovXG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbn1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogMS4gR3V0dGVyXG4gKi9cbi51ay1pY29ubmF2ID4gKiB7XG4gIC8qIDEgKi9cbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogMS4gQ2VudGVyIGNvbnRlbnQgdmVydGljYWxseSBpZiB0aGVyZSBpcyBzdGlsbCBzb21lIHRleHRcbiAqIDIuIEltaXRhdGUgd2hpdGUgc3BhY2UgZ2FwIHdoZW4gdXNpbmcgZmxleGJveFxuICogMy4gRm9yY2UgdGV4dCBub3QgdG8gYWZmZWN0IGl0ZW0gaGVpZ2h0XG4gKiA0LiBTdHlsZVxuICogNS4gUmVxdWlyZWQgZm9yIGBhYCBpZiB0aGVyZSBpcyBzdGlsbCBzb21lIHRleHRcbiAqL1xuLnVrLWljb25uYXYgPiAqID4gYSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLyogMiAqL1xuICBjb2x1bW4tZ2FwOiAwLjI1ZW07XG4gIC8qIDMgKi9cbiAgbGluZS1oZWlnaHQ6IDA7XG4gIC8qIDQgKi9cbiAgY29sb3I6ICM5OTk7XG4gIC8qIDUgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogQWN0aXZlICovXG4udWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi8qIE1vZGlmaWVyOiAndWstaWNvbm5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENoYW5nZSBkaXJlY3Rpb25cbiAqIDIuIEd1dHRlclxuICovXG4udWstaWNvbm5hdi12ZXJ0aWNhbCB7XG4gIC8qIDEgKi9cbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLyogMiAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLTEwcHg7XG59XG5cbi8qIDIgKi9cbi51ay1pY29ubmF2LXZlcnRpY2FsID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBHcmlkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGxvdyBjZWxscyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICovXG4udWstZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgZmxleC13cmFwOiB3cmFwO1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIEdyaWQgY2VsbFxuICogTm90ZTogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogUmVzZXQgbWFyZ2luIGZvciBlLmcuIHBhcmFncmFwaHNcbiAqL1xuLnVrLWdyaWQgPiAqIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1ncmlkID4gKiA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogR3V0dGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0XG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xufVxuXG4udWstZ3JpZCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLFxuLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC8qIEhvcml6b250YWwgKi9cbiAgLnVrLWdyaWQge1xuICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgfVxuICAudWstZ3JpZCA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgfVxuICAvKiBWZXJ0aWNhbCAqL1xuICAudWstZ3JpZCArIC51ay1ncmlkLFxuICAudWstZ3JpZCA+IC51ay1ncmlkLW1hcmdpbixcbiAgKiArIC51ay1ncmlkLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxufVxuLypcbiAqIFNtYWxsXG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLXNtYWxsLFxuLnVrLWdyaWQtY29sdW1uLXNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xufVxuXG4udWstZ3JpZC1zbWFsbCA+ICosXG4udWstZ3JpZC1jb2x1bW4tc21hbGwgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LXNtYWxsLFxuLnVrLWdyaWQtc21hbGwgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctc21hbGwgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLXNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLypcbiAqIE1lZGl1bVxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1jb2x1bW4tbWVkaXVtIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xufVxuXG4udWstZ3JpZC1tZWRpdW0gPiAqLFxuLnVrLWdyaWQtY29sdW1uLW1lZGl1bSA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLW1lZGl1bSxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LW1lZGl1bSxcbi51ay1ncmlkLW1lZGl1bSA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1tZWRpdW0gPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLW1lZGl1bSB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1sYXJnZSxcbi51ay1ncmlkLWNvbHVtbi1sYXJnZSB7XG4gIG1hcmdpbi1sZWZ0OiAtNDBweDtcbn1cblxuLnVrLWdyaWQtbGFyZ2UgPiAqLFxuLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gKiB7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZCArIC51ay1ncmlkLXJvdy1sYXJnZSxcbi51ay1ncmlkLWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtcm93LWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBIb3Jpem9udGFsICovXG4gIC51ay1ncmlkLWxhcmdlLFxuICAudWstZ3JpZC1jb2x1bW4tbGFyZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAtNzBweDtcbiAgfVxuICAudWstZ3JpZC1sYXJnZSA+ICosXG4gIC51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogNzBweDtcbiAgfVxuICAvKiBWZXJ0aWNhbCAqL1xuICAudWstZ3JpZCArIC51ay1ncmlkLWxhcmdlLFxuICAudWstZ3JpZCArIC51ay1ncmlkLXJvdy1sYXJnZSxcbiAgLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4gIC51ay1ncmlkLXJvdy1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiAgKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcbiAgfVxufVxuLypcbiAqIENvbGxhcHNlXG4gKi9cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWNvbGxhcHNlLFxuLnVrLWdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi51ay1ncmlkLWNvbGxhcHNlID4gKixcbi51ay1ncmlkLWNvbHVtbi1jb2xsYXBzZSA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLWNvbGxhcHNlLFxuLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctY29sbGFwc2UsXG4udWstZ3JpZC1jb2xsYXBzZSA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLXJvdy1jb2xsYXBzZSA+IC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWdyaWQtZGl2aWRlciA+ICoge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKlxuICogRGVmYXVsdFxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyIHtcbiAgbWFyZ2luLWxlZnQ6IC02MHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyID4gKiB7XG4gIHBhZGRpbmctbGVmdDogNjBweDtcbn1cblxuLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gIGxlZnQ6IDMwcHg7XG59XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIHRvcDogLTMwcHg7XG4gIGxlZnQ6IDYwcHg7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBIb3Jpem9udGFsICovXG4gIC51ay1ncmlkLWRpdmlkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAtODBweDtcbiAgfVxuICAudWstZ3JpZC1kaXZpZGVyID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG4gIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGxlZnQ6IDQwcHg7XG4gIH1cbiAgLyogVmVydGljYWwgKi9cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICB9XG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6IC00MHB4O1xuICAgIGxlZnQ6IDgwcHg7XG4gIH1cbn1cbi8qXG4gKiBTbWFsbFxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLXNtYWxsIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiAqLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1zbWFsbCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBsZWZ0OiAxNXB4O1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgdG9wOiAtMTVweDtcbiAgbGVmdDogMzBweDtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1zbWFsbC51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICB0b3A6IC0xNXB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIGxlZnQ6IDMwcHg7XG59XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbWVkaXVtIHtcbiAgbWFyZ2luLWxlZnQ6IC02MHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gKixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbWVkaXVtID4gKiB7XG4gIHBhZGRpbmctbGVmdDogNjBweDtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbWVkaXVtID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgbGVmdDogMzBweDtcbn1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIHRvcDogLTMwcHg7XG4gIGxlZnQ6IDYwcHg7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIHRvcDogLTMwcHg7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIGxlZnQ6IDYwcHg7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlIHtcbiAgbWFyZ2luLWxlZnQ6IC04MHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBsZWZ0OiA0MHB4O1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4ge1xuICBtYXJnaW4tdG9wOiA4MHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgdG9wOiAtNDBweDtcbiAgbGVmdDogODBweDtcbn1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICB0b3A6IC00MHB4O1xufVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gIGxlZnQ6IDgwcHg7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBIb3Jpem9udGFsICovXG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSxcbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNDBweDtcbiAgfVxuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqLFxuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAxNDBweDtcbiAgfVxuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGxlZnQ6IDcwcHg7XG4gIH1cbiAgLyogVmVydGljYWwgKi9cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4gIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7XG4gICAgbWFyZ2luLXRvcDogMTQwcHg7XG4gIH1cbiAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAtNzBweDtcbiAgICBsZWZ0OiAxNDBweDtcbiAgfVxuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAtNzBweDtcbiAgfVxuICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgbGVmdDogMTQwcHg7XG4gIH1cbn1cbi8qIE1hdGNoIGNoaWxkIG9mIGEgZ3JpZCBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDEuIFdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoLCBhdCBsZWFzdCAxMDAlLiBPbmx5IGlmIG5vIGNsYXNzIGZyb20gdGhlIFdpZHRoIGNvbXBvbmVudCBpcyBzZXQuXG4gKiAzLiBFeHBhbmQgd2lkdGggZXZlbiBpZiBsYXJnZXIgdGhhbiAxMDAlLCBlLmcuIGJlY2F1c2Ugb2YgbmVnYXRpdmUgbWFyZ2luIChOZWVkZWQgZm9yIG5lc3RlZCBncmlkcylcbiAqL1xuLnVrLWdyaWQtbWF0Y2ggPiAqLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIDEgKi9cbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udWstZ3JpZC1tYXRjaCA+ICogPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSxcbi51ay1ncmlkLWl0ZW0tbWF0Y2ggPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSB7XG4gIC8qIDIgKi9cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIDMgKi9cbiAgZmxleDogYXV0bztcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogUmVzZXRcbiAqL1xuLnVrLW5hdixcbi51ay1uYXYgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4qIDEuIENlbnRlciBjb250ZW50IHZlcnRpY2FsbHksIGUuZy4gYW4gaWNvblxuKiAyLiBJbWl0YXRlIHdoaXRlIHNwYWNlIGdhcCB3aGVuIHVzaW5nIGZsZXhib3hcbiogMy4gUmVzZXQgbGlua1xuICovXG4udWstbmF2IGxpID4gYSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLyogMiAqL1xuICBjb2x1bW4tZ2FwOiAwLjI1ZW07XG4gIC8qIDMqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBJdGVtc1xuICogTXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gbGlzdHMpXG4gKi9cbi51ay1uYXYgPiBsaSA+IGEge1xuICBwYWRkaW5nOiA1cHggMDtcbn1cblxuLyogU3VibGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIExldmVsIDJcbiAqIGB1bGAgbmVlZGVkIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgcGFkZGluZ1xuICovXG51bC51ay1uYXYtc3ViIHtcbiAgcGFkZGluZzogNXB4IDAgNXB4IDE1cHg7XG59XG5cbi8qXG4gKiBMZXZlbCAzIGFuZCBkZWVwZXJcbiAqL1xuLnVrLW5hdi1zdWIgdWwge1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG4udWstbmF2LXN1YiBhIHtcbiAgcGFkZGluZzogMnB4IDA7XG59XG5cbi8qIFBhcmVudCBpY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtcGFyZW50LWljb24ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi51ay1uYXYgPiBsaS51ay1vcGVuID4gYSAudWstbmF2LXBhcmVudC1pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG59XG5cbi8qIEhlYWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2LWhlYWRlciB7XG4gIHBhZGRpbmc6IDVweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4udWstbmF2LWhlYWRlcjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdiAudWstbmF2LWRpdmlkZXIge1xuICBtYXJnaW46IDVweCAwO1xufVxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtZGVmYXVsdCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGEge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMztcbn1cblxuLypcbiAqIFN1YnRpdGxlXG4gKi9cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vKlxuICogRGl2aWRlclxuICovXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciB7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vKiBQcmltYXJ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXYtcHJpbWFyeSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qIEhvdmVyICovXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8qXG4gKiBTdWJ0aXRsZVxuICovXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cblxuLypcbiAqIEhlYWRlclxuICovXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICBjb2xvcjogIzMzMztcbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciB7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vKiBTZWNvbmRhcnkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdi1zZWNvbmRhcnkge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG4udWstbmF2LXNlY29uZGFyeSA+IDpub3QoLnVrLW5hdi1kaXZpZGVyKSArIDpub3QoLnVrLW5hdi1oZWFkZXIsIC51ay1uYXYtZGl2aWRlcikge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuLnVrLW5hdi1zZWNvbmRhcnkgPiBsaSA+IGEge1xuICBjb2xvcjogIzMzMztcbiAgcGFkZGluZzogMTBweCAxMHB4O1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLW5hdi1zZWNvbmRhcnkgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2LXNlY29uZGFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbn1cblxuLypcbiAqIFN1YnRpdGxlXG4gKi9cbi51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3VidGl0bGUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyIC51ay1uYXYtc3VidGl0bGUge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2LXNlY29uZGFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEgLnVrLW5hdi1zdWJ0aXRsZSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cbi51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cbi51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udWstbmF2LXNlY29uZGFyeSAudWstbmF2LXN1YiBhIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBNZWRpdW1cbiAqL1xuLnVrLW5hdi1tZWRpdW0ge1xuICBmb250LXNpemU6IDIuODg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi51ay1uYXYtbGFyZ2Uge1xuICBmb250LXNpemU6IDMuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi51ay1uYXYteGxhcmdlIHtcbiAgZm9udC1zaXplOiA0cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLyogVGFibGV0IExhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLW5hdi1tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogMy41cmVtO1xuICB9XG4gIC51ay1uYXYtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgfVxuICAudWstbmF2LXhsYXJnZSB7XG4gICAgZm9udC1zaXplOiA2cmVtO1xuICB9XG59XG4vKiBMYXB0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstbmF2LW1lZGl1bSB7XG4gICAgZm9udC1zaXplOiA0cmVtO1xuICB9XG4gIC51ay1uYXYtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogNnJlbTtcbiAgfVxuICAudWstbmF2LXhsYXJnZSB7XG4gICAgZm9udC1zaXplOiA4cmVtO1xuICB9XG59XG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENlbnRlciBoZWFkZXJcbiAqIDIuIENlbnRlciBpdGVtc1xuICovXG4vKiAxICovXG4udWstbmF2LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogMiAqL1xuLnVrLW5hdi1jZW50ZXIgbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIFN1Ymxpc3RzICovXG4udWstbmF2LWNlbnRlciAudWstbmF2LXN1Yixcbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViIHVsIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4vKiBQYXJlbnQgaWNvbiAgKi9cbi51ay1uYXYtY2VudGVyIC51ay1uYXYtcGFyZW50LWljb24ge1xuICBtYXJnaW4tbGVmdDogMC4yNWVtO1xufVxuXG4vKiBTdHlsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogRGl2aWRlclxuICogTmFtaW5nIGlzIGluIHBsdXJhbCB0byBwcmV2ZW50IGNvbmZsaWN0cyB3aXRoIGRpdmlkZXIgc3ViIG9iamVjdC5cbiAqL1xuLnVrLW5hdi51ay1uYXYtZGl2aWRlciA+IDpub3QoLnVrLW5hdi1oZWFkZXIsIC51ay1uYXYtZGl2aWRlcikgKyA6bm90KC51ay1uYXYtaGVhZGVyLCAudWstbmF2LWRpdmlkZXIpIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdmJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgdG8gY2VudGVyIG5hdmJhciBncm91cFxuICovXG4udWstbmF2YmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIENvbnRhaW5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkge1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xufVxuXG4vKiBHcm91cHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEFsaWduIG5hdnMgYW5kIGl0ZW1zIHZlcnRpY2FsbHkgaWYgdGhleSBoYXZlIGEgZGlmZmVyZW50IGhlaWdodFxuICovXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuW2NsYXNzKj11ay1uYXZiYXItY2VudGVyXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTVweDtcbiAgLyogMSAqL1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKlxuICogSG9yaXpvbnRhbCBhbGlnbm1lbnRcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBjZW50ZXJlZCBuYXZiYXIgd2l0aCBzdWIgZ3JvdXBzIChsZWZ0L3JpZ2h0KVxuICogMi4gRml4IHRleHQgd3JhcHBpbmcgaWYgY29udGVudCBpcyBsYXJnZXIgdGhhbiA1MCUgb2YgdGhlIGNvbnRhaW5lci5cbiAqIDMuIE5lZWRlZCBmb3IgZHJvcGRvd25zIGJlY2F1c2UgYSBuZXcgcG9zaXRpb24gY29udGV4dCBpcyBjcmVhdGVkXG4gKiAgICBgei1pbmRleGAgbXVzdCBiZSBzbWFsbGVyIHRoYW4gb2ZmLWNhbnZhc1xuICogNC4gQWxpZ24gc3ViIGdyb3VwcyBmb3IgY2VudGVyZWQgbmF2YmFyXG4gKi9cbi51ay1uYXZiYXItcmlnaHQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuLnVrLW5hdmJhci1jZW50ZXI6b25seS1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLyogMiAqL1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDMgKi9cbiAgei1pbmRleDogOTkwO1xufVxuXG4vKiA0ICovXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0LFxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cblxuLnVrLW5hdmJhci1jZW50ZXItbGVmdCB7XG4gIHJpZ2h0OiBjYWxjKDEwMCUgKyAxNXB4KTtcbn1cblxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQge1xuICBsZWZ0OiBjYWxjKDEwMCUgKyAxNXB4KTtcbn1cblxuW2NsYXNzKj11ay1uYXZiYXItY2VudGVyLV0ge1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIE5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gUmVzZXQgbGlzdFxuICovXG4udWstbmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTVweDtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogT25seSBub3QgYGFic29sdXRlYCBwb3NpdGlvbmVkIGdyb3Vwc1xuICovXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuLnVrLW5hdmJhci1jZW50ZXI6b25seS1jaGlsZCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLypcbiAqIEl0ZW1zXG4gKiAxLiBDZW50ZXIgY29udGVudCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDIuIEltaXRhdGUgd2hpdGUgc3BhY2UgZ2FwIHdoZW4gdXNpbmcgZmxleGJveFxuICogMy4gRGltZW5zaW9uc1xuICogNC4gU3R5bGVcbiAqIDUuIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsXG4udWstbmF2YmFyLWl0ZW0sXG4udWstbmF2YmFyLXRvZ2dsZSB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIDIgKi9cbiAgY29sdW1uLWdhcDogMC4yNWVtO1xuICAvKiAzICovXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi1oZWlnaHQ6IDgwcHg7XG4gIC8qIDQgKi9cbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgLyogNSAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBOYXYgaXRlbXNcbiAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwIDA7XG4gIGNvbG9yOiAjOTk5O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cblxuLypcbiAqIEhvdmVyXG4gKiBBcHBseSBob3ZlciBzdHlsZSBhbHNvIGlmIGRyb3Bkb3duIGlzIG9wZW5lZFxuICovXG4udWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogT25DbGljayAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1uYXZiYXItcGFyZW50LWljb24ge1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbn1cblxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGFbYXJpYS1leHBhbmRlZD10cnVlXSAudWstbmF2YmFyLXBhcmVudC1pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7XG59XG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW5hdmJhci1pdGVtIHtcbiAgcGFkZGluZzogMCAwO1xuICBjb2xvcjogIzY2Njtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstbmF2YmFyLWl0ZW0gPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qIFRvZ2dsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2YmFyLXRvZ2dsZSB7XG4gIHBhZGRpbmc6IDAgMDtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuLnVrLW5hdmJhci10b2dnbGVbYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBJY29uXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cbi8qIEhvdmVyICovXG4vKiBTdWJ0aXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2YmFyLXN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbn1cblxuLyogSnVzdGlmeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2YmFyLWp1c3RpZnkgLnVrLW5hdmJhci1sZWZ0LFxuLnVrLW5hdmJhci1qdXN0aWZ5IC51ay1uYXZiYXItcmlnaHQsXG4udWstbmF2YmFyLWp1c3RpZnkgLnVrLW5hdmJhci1uYXYsXG4udWstbmF2YmFyLWp1c3RpZnkgLnVrLW5hdmJhci1uYXYgPiBsaSxcbi51ay1uYXZiYXItanVzdGlmeSAudWstbmF2YmFyLWl0ZW0sXG4udWstbmF2YmFyLWp1c3RpZnkgLnVrLW5hdmJhci10b2dnbGUge1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBEcm9wZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRvcHRzIGB1ay1kcm9wYFxuICogMS4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogMi4gU3R5bGVcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93biB7XG4gIC0tdWstcG9zaXRpb24tb2Zmc2V0OiAxNXB4O1xuICAtLXVrLXBvc2l0aW9uLXNoaWZ0LW9mZnNldDogMDtcbiAgLS11ay1wb3NpdGlvbi12aWV3cG9ydC1vZmZzZXQ6IDE1cHg7XG4gIC0tdWstaW52ZXJzZTogZGFyaztcbiAgLyogMSAqL1xuICB3aWR0aDogMjAwcHg7XG4gIC8qIDIgKi9cbiAgcGFkZGluZzogMjVweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICM2NjY7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstbmF2YmFyLWRyb3Bkb3duID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udWstbmF2YmFyLWRyb3Bkb3duIDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZS1jb2xvcjogIzMzMyAhaW1wb3J0YW50O1xufVxuXG4vKlxuICogR3JpZFxuICogQWRvcHRzIGB1ay1ncmlkYFxuICovXG4vKiBHdXR0ZXIgSG9yaXpvbnRhbCAqL1xuLnVrLW5hdmJhci1kcm9wZG93biAudWstZHJvcC1ncmlkIHtcbiAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xufVxuXG4udWstbmF2YmFyLWRyb3Bkb3duIC51ay1kcm9wLWdyaWQgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufVxuXG4vKiBHdXR0ZXIgVmVydGljYWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24gLnVrLWRyb3AtZ3JpZCA+IC51ay1ncmlkLW1hcmdpbiB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG59XG5cbi8qXG4gKiBXaWR0aCBtb2RpZmllclxuICovXG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTI6bm90KC51ay1kcm9wLXN0YWNrKSB7XG4gIHdpZHRoOiA0MDBweDtcbn1cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0zOm5vdCgudWstZHJvcC1zdGFjaykge1xuICB3aWR0aDogNjAwcHg7XG59XG5cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNDpub3QoLnVrLWRyb3Atc3RhY2spIHtcbiAgd2lkdGg6IDgwMHB4O1xufVxuXG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTU6bm90KC51ay1kcm9wLXN0YWNrKSB7XG4gIHdpZHRoOiAxMDAwcHg7XG59XG5cbi8qXG4gKiBTaXplIG1vZGlmaWVyXG4gKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbGFyZ2Uge1xuICAtLXVrLXBvc2l0aW9uLXNoaWZ0LW9mZnNldDogMDtcbiAgcGFkZGluZzogNDBweDtcbn1cblxuLypcbiAqIERyb3BiYXIgbW9kaWZpZXJcbiAqIDEuIFJlc2V0IGRyb3Bkb3duIHdpZHRoIHRvIHByZXZlbnQgdG8gZWFybHkgc2hpZnRpbmdcbiAqIDIuIFJlc2V0IHN0eWxlXG4gKiAzLiBQYWRkaW5nXG4gKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZHJvcGJhciB7XG4gIC8qIDEgKi9cbiAgd2lkdGg6IGF1dG87XG4gIC8qIDIgKi9cbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC8qIDMgKi9cbiAgcGFkZGluZzogMjVweCAwIDI1cHggMDtcbiAgLS11ay1wb3NpdGlvbi1vZmZzZXQ6IDA7XG4gIC0tdWstcG9zaXRpb24tc2hpZnQtb2Zmc2V0OiAwO1xuICAtLXVrLXBvc2l0aW9uLXZpZXdwb3J0LW9mZnNldDogMTVweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkge1xuICAudWstbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIge1xuICAgIC0tdWstcG9zaXRpb24tdmlld3BvcnQtb2Zmc2V0OiAzMHB4O1xuICB9XG59XG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIge1xuICAgIC0tdWstcG9zaXRpb24tdmlld3BvcnQtb2Zmc2V0OiA0MHB4O1xuICB9XG59XG4udWstbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbGFyZ2Uge1xuICAtLXVrLXBvc2l0aW9uLXNoaWZ0LW9mZnNldDogMDtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xufVxuXG4vKiBEcm9wZG93biBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMztcbn1cblxuLypcbiAqIFN1YnRpdGxlXG4gKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3VidGl0bGUge1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1oZWFkZXIge1xuICBjb2xvcjogIzMzMztcbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6aG92ZXIge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vKiBEcm9wYmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZG9wdHMgYHVrLWRyb3BuYXYtZHJvcGJhcmBcbiAqL1xuLnVrLW5hdmJhci1jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstbmF2YmFyLWxlZnQsXG4gIC51ay1uYXZiYXItcmlnaHQsXG4gIFtjbGFzcyo9dWstbmF2YmFyLWNlbnRlcl0ge1xuICAgIGdhcDogMzBweDtcbiAgfVxuICAudWstbmF2YmFyLWNlbnRlci1sZWZ0IHtcbiAgICByaWdodDogY2FsYygxMDAlICsgMzBweCk7XG4gIH1cbiAgLnVrLW5hdmJhci1jZW50ZXItcmlnaHQge1xuICAgIGxlZnQ6IGNhbGMoMTAwJSArIDMwcHgpO1xuICB9XG59XG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstbmF2YmFyLW5hdiB7XG4gICAgZ2FwOiAzMHB4O1xuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3VibmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gQ2VudGVyIGl0ZW1zIHZlcnRpY2FsbHkgaWYgdGhleSBoYXZlIGEgZGlmZmVyZW50IGhlaWdodFxuICogMy4gR3V0dGVyXG4gKiA0LiBSZXNldCBsaXN0XG4gKi9cbi51ay1zdWJuYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvKiAzICovXG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgLyogNCAqL1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuLnVrLXN1Ym5hdiA+ICoge1xuICAvKiAxICovXG4gIGZsZXg6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiAzICovXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIFVzaW5nIGA6Zmlyc3QtY2hpbGRgIGluc3RlYWQgb2YgYGFgIHRvIHN1cHBvcnQgYHNwYW5gIGVsZW1lbnRzIGZvciB0ZXh0XG4gKiAxLiBDZW50ZXIgY29udGVudCB2ZXJ0aWNhbGx5LCBlLmcuIGFuIGljb25cbiAqIDIuIEltaXRhdGUgd2hpdGUgc3BhY2UgZ2FwIHdoZW4gdXNpbmcgZmxleGJveFxuICogMy4gU3R5bGVcbiAqL1xuLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIDIgKi9cbiAgY29sdW1uLWdhcDogMC4yNWVtO1xuICAvKiAzICovXG4gIGNvbG9yOiAjOTk5O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1zdWJuYXYgPiAqID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICMzMzM7XG59XG5cbi8qIERpdmlkZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFNldCBndXR0ZXJcbiAqL1xuLnVrLXN1Ym5hdi1kaXZpZGVyIHtcbiAgbWFyZ2luLWxlZnQ6IC00MXB4O1xufVxuXG4vKlxuICogQWxpZ24gaXRlbXMgYW5kIGRpdmlkZXIgdmVydGljYWxseVxuICovXG4udWstc3VibmF2LWRpdmlkZXIgPiAqIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLypcbiAqIERpdmlkZXJcbiAqIDEuIGBudGgtY2hpbGRgIG1ha2VzIGl0IGFsc28gd29yayB3aXRob3V0IEpTIGlmIGl0J3Mgb25seSBvbmUgcm93XG4gKi9cbi51ay1zdWJuYXYtZGl2aWRlciA+IDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAxLjVlbTtcbiAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4vKiAxICovXG4udWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICBib3JkZXItbGVmdC1jb2xvcjogI2U1ZTVlNTtcbn1cblxuLyogUGlsbCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogR3V0dGVyXG4gKi9cbi51ay1zdWJuYXYtcGlsbCB7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbn1cblxuLnVrLXN1Ym5hdi1waWxsID4gKiB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qIEhvdmVyICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4vKiBPbkNsaWNrICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICBjb2xvcjogIzY2Njtcbn1cblxuLyogQWN0aXZlICovXG4udWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxZTg3ZjA7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiBEaXNhYmxlZFxuICogVGhlIHNhbWUgZm9yIGFsbCBzdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJyZWFkY3J1bWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlc2V0IGxpc3RcbiAqIDIuIFJlbW92ZSBzcGFjZSBiZXR3ZWVuIGVsZW1lbnRzXG4gKi9cbi51ay1icmVhZGNydW1iIHtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAvKiAyICovXG4gIGZvbnQtc2l6ZTogMDtcbn1cblxuLypcbiAqIDEuIERvZXNuJ3QgZ2VuZXJhdGUgYW55IGJveCBhbmQgcmVwbGFjZWQgYnkgY2hpbGQgYm94ZXNcbiAqL1xuLnVrLWJyZWFkY3J1bWIgPiAqIHtcbiAgZGlzcGxheTogY29udGVudHM7XG59XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciB7XG4gIGNvbG9yOiAjNjY2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIERpc2FibGVkICovXG4vKiBBY3RpdmUgKi9cbi51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiBzcGFuLFxuLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+IGE6bm90KFtocmVmXSkge1xuICBjb2xvcjogIzY2Njtcbn1cblxuLypcbiAqIERpdmlkZXJcbiAqIGBudGgtY2hpbGRgIG1ha2VzIGl0IGFsc28gd29yayB3aXRob3V0IEpTIGlmIGl0J3Mgb25seSBvbmUgcm93XG4gKiAxLiBSZW1vdmUgc3BhY2UgYmV0d2VlbiBpbmxpbmUgYmxvY2sgZWxlbWVudHMuXG4gKiAyLiBTdHlsZVxuICovXG4udWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiL1wiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwIDIwcHg7XG4gIC8qIDIgKi9cbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWdpbmF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gQ2VudGVyIGl0ZW1zIHZlcnRpY2FsbHkgaWYgdGhleSBoYXZlIGEgZGlmZmVyZW50IGhlaWdodFxuICogMy4gR3V0dGVyXG4gKiA0LiBSZXNldCBsaXN0XG4gKi9cbi51ay1wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8qIDIgKi9cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLyogMyAqL1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLyogNCAqL1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuLnVrLXBhZ2luYXRpb24gPiAqIHtcbiAgLyogMSAqL1xuICBmbGV4OiBub25lO1xuICAvKiAyICovXG4gIHBhZGRpbmctbGVmdDogMDtcbiAgLyogMyAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBDZW50ZXIgY29udGVudCB2ZXJ0aWNhbGx5LCBlLmcuIGFuIGljb25cbiAqIDIuIEltaXRhdGUgd2hpdGUgc3BhY2UgZ2FwIHdoZW4gdXNpbmcgZmxleGJveFxuICogMy4gU3R5bGVcbiAqL1xuLnVrLXBhZ2luYXRpb24gPiAqID4gKiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLyogMiAqL1xuICBjb2x1bW4tZ2FwOiAwLjI1ZW07XG4gIC8qIDMgKi9cbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGNvbG9yOiAjOTk5O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyIHtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogQWN0aXZlICovXG4udWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi8qIERpc2FibGVkICovXG4udWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG4udWstdGFiIHtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogMSAqL1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIC8qIDIgKi9cbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAvKiAzICovXG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi51ay10YWI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAyMHB4O1xuICByaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG4udWstdGFiID4gKiB7XG4gIC8qIDEgKi9cbiAgZmxleDogbm9uZTtcbiAgLyogMiAqL1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIDMgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogMS4gQ2VudGVyIGNvbnRlbnQgdmVydGljYWxseSwgZS5nLiBhbiBpY29uXG4gKiAyLiBJbWl0YXRlIHdoaXRlIHNwYWNlIGdhcCB3aGVuIHVzaW5nIGZsZXhib3hcbiAqIDMuIENlbnRlciBjb250ZW50IGlmIGEgd2lkdGggaXMgc2V0XG4gKiA0LiBTdHlsZVxuICovXG4udWstdGFiID4gKiA+IGEge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8qIDIgKi9cbiAgY29sdW1uLWdhcDogMC4yNWVtO1xuICAvKiAzICovXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAvKiA0ICovXG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBjb2xvcjogIzk5OTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLXRhYiA+ICogPiBhOmhvdmVyIHtcbiAgY29sb3I6ICM2NjY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLyogQWN0aXZlICovXG4udWstdGFiID4gLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogIzMzMztcbiAgYm9yZGVyLWNvbG9yOiAjMWU4N2YwO1xufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLyogUG9zaXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEJvdHRvbVxuICovXG4udWstdGFiLWJvdHRvbTo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICBib3R0b206IGF1dG87XG59XG5cbi51ay10YWItYm90dG9tID4gKiA+IGEge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi8qXG4gKiBMZWZ0ICsgUmlnaHRcbiAqIDEuIFJlc2V0IEd1dHRlclxuICovXG4udWstdGFiLWxlZnQsXG4udWstdGFiLXJpZ2h0IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLyogMSAqL1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyogMSAqL1xuLnVrLXRhYi1sZWZ0ID4gKixcbi51ay10YWItcmlnaHQgPiAqIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4udWstdGFiLWxlZnQ6OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlNWU1O1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4udWstdGFiLXJpZ2h0OjpiZWZvcmUge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U1ZTVlNTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cblxuLnVrLXRhYi1sZWZ0ID4gKiA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4udWstdGFiLXJpZ2h0ID4gKiA+IGEge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi51ay10YWIgLnVrLWRyb3Bkb3duIHtcbiAgbWFyZ2luLWxlZnQ6IDMwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZW5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG4udWstc2xpZGVuYXYge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgY29sb3I6IHJnYmEoMTAyLCAxMDIsIDEwMiwgMC41KTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1zbGlkZW5hdjpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuOSk7XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1zbGlkZW5hdjphY3RpdmUge1xuICBjb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjUpO1xufVxuXG4vKiBJY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmV2aW91c1xuICovXG4vKlxuICogTmV4dFxuICovXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zbGlkZW5hdi1sYXJnZSB7XG4gIHBhZGRpbmc6IDEwcHggMTBweDtcbn1cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1zbGlkZW5hdi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRG90bmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gR3V0dGVyXG4gKi9cbi51ay1kb3RuYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICAvKiAxICovXG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC8qIDMgKi9cbiAgbWFyZ2luLWxlZnQ6IC0xMnB4O1xufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqL1xuLnVrLWRvdG5hdiA+ICoge1xuICAvKiAxICovXG4gIGZsZXg6IG5vbmU7XG4gIC8qIDIgKi9cbiAgcGFkZGluZy1sZWZ0OiAxMnB4O1xufVxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogSXRlbXNcbiAqIDEuIEhpZGUgdGV4dCBpZiBwcmVzZW50XG4gKi9cbi51ay1kb3RuYXYgPiAqID4gKiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAxMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIHRleHQtaW5kZW50OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuNCk7XG4gIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIGJvcmRlci1jb2xvcjtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1kb3RuYXYgPiAqID4gOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjYpO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBPbkNsaWNrICovXG4udWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMiwgMTAyLCAxMDIsIDAuMik7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDIsIDEwMiwgMTAyLCAwLjYpO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBNb2RpZmllcjogJ3VrLWRvdG5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIENoYW5nZSBkaXJlY3Rpb25cbiAqIDIuIEd1dHRlclxuICovXG4udWstZG90bmF2LXZlcnRpY2FsIHtcbiAgLyogMSAqL1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAvKiAyICovXG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAtMTJweDtcbn1cblxuLyogMiAqL1xuLnVrLWRvdG5hdi12ZXJ0aWNhbCA+ICoge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctdG9wOiAxMnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRHJvcGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkb3B0cyBgdWstZHJvcGBcbiAqIDEuIFJlc2V0IGRyb3AgYW5kIGxldCB0ZXh0IGV4cGFuZCB0aGUgd2lkdGggaW5zdGVhZCBvZiB3cmFwcGluZ1xuICogMi4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICogMy4gU3R5bGVcbiAqL1xuLnVrLWRyb3Bkb3duIHtcbiAgLS11ay1wb3NpdGlvbi1vZmZzZXQ6IDEwcHg7XG4gIC0tdWstcG9zaXRpb24tdmlld3BvcnQtb2Zmc2V0OiAxNXB4O1xuICAtLXVrLWludmVyc2U6IGRhcms7XG4gIC8qIDEgKi9cbiAgd2lkdGg6IGF1dG87XG4gIC8qIDIgKi9cbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgLyogMyAqL1xuICBwYWRkaW5nOiAyNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzY2NjtcbiAgYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cbi51ay1kcm9wZG93biA+IDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnVrLWRyb3Bkb3duIDpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZS1jb2xvcjogIzMzMyAhaW1wb3J0YW50O1xufVxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1kcm9wZG93bi1sYXJnZSB7XG4gIHBhZGRpbmc6IDQwcHg7XG59XG5cbi8qIERyb3BiYXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFJlc2V0IGRyb3Bkb3duIHdpZHRoIHRvIHByZXZlbnQgdG8gZWFybHkgc2hpZnRpbmdcbiAqIDIuIFJlc2V0IHN0eWxlXG4gKiAzLiBQYWRkaW5nXG4gKi9cbi51ay1kcm9wZG93bi1kcm9wYmFyIHtcbiAgLS11ay1wb3NpdGlvbi1vZmZzZXQ6IDEwcHg7XG4gIC8qIDEgKi9cbiAgd2lkdGg6IGF1dG87XG4gIC8qIDIgKi9cbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIC8qIDMgKi9cbiAgcGFkZGluZzogNXB4IDAgMjVweCAwO1xuICAtLXVrLXBvc2l0aW9uLXZpZXdwb3J0LW9mZnNldDogMTVweDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkge1xuICAudWstZHJvcGRvd24tZHJvcGJhciB7XG4gICAgLS11ay1wb3NpdGlvbi12aWV3cG9ydC1vZmZzZXQ6IDMwcHg7XG4gIH1cbn1cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1kcm9wZG93bi1kcm9wYmFyIHtcbiAgICAtLXVrLXBvc2l0aW9uLXZpZXdwb3J0LW9mZnNldDogNDBweDtcbiAgfVxufVxuLnVrLWRyb3Bkb3duLWRyb3BiYXItbGFyZ2Uge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG59XG5cbi8qIE5hdlxuICogQWRvcHRzIGB1ay1uYXZgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1kcm9wZG93bi1uYXYge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYSB7XG4gIGNvbG9yOiAjOTk5O1xufVxuXG4vKiBIb3ZlciArIEFjdGl2ZSAqL1xuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3Zlcixcbi51ay1kcm9wZG93bi1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICM2NjY7XG59XG5cbi8qXG4gKiBTdWJ0aXRsZVxuICovXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3VidGl0bGUge1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LWhlYWRlciB7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4vKlxuICogRGl2aWRlclxuICovXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhIHtcbiAgY29sb3I6ICM5OTk7XG59XG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjNjY2O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlnaHRib3hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqIDcuIFByZXZlbnQgY2FuY2VsbGF0aW9uIG9mIHBvaW50ZXIgZXZlbnRzIHdoaWxlIGRyYWdnaW5nXG4gKi9cbi51ay1saWdodGJveCB7XG4gIC0tdWstaW52ZXJzZTogbGlnaHQ7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogbm9uZTtcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAxMDtcbiAgLyogNSAqL1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAvKiA2ICovXG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAvKiA3ICovXG4gIHRvdWNoLWFjdGlvbjogcGluY2gtem9vbTtcbn1cblxuLypcbiAqIE9wZW5cbiAqIDEuIENlbnRlciBjaGlsZFxuICogMi4gRmFkZS1pblxuICovXG4udWstbGlnaHRib3gudWstb3BlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvKiAyICovXG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qXG4gKiBGb2N1c1xuICovXG4udWstbGlnaHRib3ggOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG4udWstbGlnaHRib3gtcGFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBSZXNldCBsaXN0XG4gKi9cbi51ay1saWdodGJveC1pdGVtcyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIDEuIENlbnRlciBjaGlsZCB3aXRoaW4gdGhlIHZpZXdwb3J0XG4gKiAyLiBOb3QgdmlzaWJsZSBieSBkZWZhdWx0XG4gKiAzLiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqIDQuIFJlc3BvbnNpdmVuZXNzXG4gKiAgICBVc2luZyBgdmhgIGZvciBgbWF4LWhlaWdodGAgdG8gZml4IGltYWdlIHByb3BvcnRpb25zIGFmdGVyIHJlc2l6ZSBpbiBTYWZhcmkgYW5kIE9wZXJhXG4gKi9cbi51ay1saWdodGJveC1pdGVtcyA+ICoge1xuICAvKiAxICovXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICAvKiAyICovXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLyogMyAqL1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAvKiA0ICovXG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKiAyICovXG4udWstbGlnaHRib3gtaXRlbXMgPiAudWstYWN0aXZlIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zLWZpdCA+ICoge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKiA0ICovXG4udWstbGlnaHRib3gtaXRlbXMtZml0ID4gKiA+ICoge1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICBtYXgtaGVpZ2h0OiAxMDB2aDtcbn1cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zLWZpdCA+ICogPiA6bm90KGlmcmFtZSkge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKiBab29tIEN1cnNvciAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zLnVrLWxpZ2h0Ym94LWl0ZW1zLWZpdCAudWstbGlnaHRib3gtem9vbTpob3ZlciB7XG4gIGN1cnNvcjogem9vbS1pbjtcbn1cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zOm5vdCgudWstbGlnaHRib3gtaXRlbXMtZml0KSAudWstbGlnaHRib3gtem9vbTpob3ZlciB7XG4gIGN1cnNvcjogem9vbS1vdXQ7XG59XG5cbi8qIE5hdnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxpZ2h0Ym94LXRodW1ibmF2LXZlcnRpY2FsIDp3aGVyZShpbWcsIHZpZGVvKSB7XG4gIG1heC13aWR0aDogMTAwcHg7XG59XG5cbi51ay1saWdodGJveC10aHVtYm5hdjpub3QoLnVrLWxpZ2h0Ym94LXRodW1ibmF2LXZlcnRpY2FsKSA6d2hlcmUoaW1nLCB2aWRlbykge1xuICBtYXgtaGVpZ2h0OiAxMDBweDtcbn1cblxuLnVrLWxpZ2h0Ym94LXRodW1ibmF2OmVtcHR5LFxuLnVrLWxpZ2h0Ym94LWRvdG5hdjplbXB0eSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIENhcHRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWxpZ2h0Ym94LWNhcHRpb246ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4udWstbGlnaHRib3gtY2FwdGlvbiB7XG4gIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4udWstbGlnaHRib3gtY2FwdGlvbiA+ICoge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuXG4vKiBDb3VudGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saWdodGJveC1jb3VudGVyOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSWZyYW1lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1saWdodGJveC1pZnJhbWUge1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IDgwJTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFuaW1hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5bY2xhc3MqPXVrLWFuaW1hdGlvbi1dIHtcbiAgYW5pbWF0aW9uOiAwLjVzIGVhc2Utb3V0IGJvdGg7XG59XG5cbi8qIEFuaW1hdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEZhZGVcbiAqL1xuLnVrLWFuaW1hdGlvbi1mYWRlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGU7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC44cztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xufVxuXG4vKlxuICogU2NhbGVcbiAqL1xuLnVrLWFuaW1hdGlvbi1zY2FsZS11cCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zY2FsZS11cDtcbn1cblxuLnVrLWFuaW1hdGlvbi1zY2FsZS1kb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNjYWxlLWRvd247XG59XG5cbi8qXG4gKiBTbGlkZVxuICovXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS10b3A7XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLWJvdHRvbTtcbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLWxlZnQ7XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZSwgdWstc2xpZGUtcmlnaHQ7XG59XG5cbi8qXG4gKiBTbGlkZSBTbWFsbFxuICovXG4udWstYW5pbWF0aW9uLXNsaWRlLXRvcC1zbWFsbCB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS10b3Atc21hbGw7XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLWJvdHRvbS1zbWFsbDtcbn1cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLWxlZnQtc21hbGw7XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtcmlnaHQtc21hbGwge1xuICBhbmltYXRpb24tbmFtZTogdWstZmFkZSwgdWstc2xpZGUtcmlnaHQtc21hbGw7XG59XG5cbi8qXG4gKiBTbGlkZSBNZWRpdW1cbiAqL1xuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AtbWVkaXVtIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLXRvcC1tZWRpdW07XG59XG5cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS1ib3R0b20tbWVkaXVtO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLWxlZnQtbWVkaXVtO1xufVxuXG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS1yaWdodC1tZWRpdW07XG59XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG4udWstYW5pbWF0aW9uLWtlbmJ1cm5zIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLWtlbmJ1cm5zO1xuICBhbmltYXRpb24tZHVyYXRpb246IDE1cztcbn1cblxuLypcbiAqIFNoYWtlXG4gKi9cbi51ay1hbmltYXRpb24tc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogdWstc2hha2U7XG59XG5cbi8qXG4gKiBTVkcgU3Ryb2tlXG4gKiBUaGUgYC0tdWstYW5pbWF0aW9uLXN0cm9rZWAgY3VzdG9tIHByb3BlcnR5IGNvbnRhaW5zIHRoZSBsb25nZXN0IHBhdGggbGVuZ3RoLlxuICogU2V0IGl0IG1hbnVhbGx5IG9yIHVzZSBgdWstc3ZnPVwic3Ryb2tlLWFuaW1hdGlvbjogdHJ1ZVwiYCB0byBzZXQgaXQgYXV0b21hdGljYWxseS5cbiAqIEFsbCBzdHJva2VzIGFyZSBhbmltYXRlZCBieSB0aGUgc2FtZSBwYWNlIGFuZCBkb2Vzbid0IGVuZCBzaW11bHRhbmVvdXNseS5cbiAqIFRvIGVuZCBzaW11bHRhbmVvdXNseSwgYHBhdGhMZW5ndGg9XCIxXCJgIGNvdWxkIGJlIHVzZWQsIGJ1dCBpdCdzIG5vdCB3b3JraW5nIGluIFNhZmFyaSB5ZXQuXG4gKi9cbi51ay1hbmltYXRpb24tc3Ryb2tlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHVrLXN0cm9rZTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgc3Ryb2tlLWRhc2hhcnJheTogdmFyKC0tdWstYW5pbWF0aW9uLXN0cm9rZSk7XG59XG5cbi8qIERpcmVjdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYW5pbWF0aW9uLXJldmVyc2Uge1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG4vKiBEdXJhdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYW5pbWF0aW9uLWZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDAuMXM7XG59XG5cbi8qIFRvZ2dsZSBhbmltYXRpb24gYmFzZWQgb24gdGhlIFN0YXRlIG9mIHRoZSBQYXJlbnQgRWxlbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYW5pbWF0aW9uLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSBbY2xhc3MqPXVrLWFuaW1hdGlvbi1dIHtcbiAgYW5pbWF0aW9uLW5hbWU6IG5vbmU7XG59XG5cbi8qIEtleWZyYW1lcyB1c2VkIGJ5IGFuaW1hdGlvbiBjbGFzc2VzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBGYWRlXG4gKi9cbkBrZXlmcmFtZXMgdWstZmFkZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi8qXG4gKiBTY2FsZVxuICovXG5Aa2V5ZnJhbWVzIHVrLXNjYWxlLXVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHVrLXNjYWxlLWRvd24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbi8qXG4gKiBTbGlkZVxuICovXG5Aa2V5ZnJhbWVzIHVrLXNsaWRlLXRvcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyB1ay1zbGlkZS1ib3R0b20ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyB1ay1zbGlkZS1sZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHVrLXNsaWRlLXJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbi8qXG4gKiBTbGlkZSBTbWFsbFxuICovXG5Aa2V5ZnJhbWVzIHVrLXNsaWRlLXRvcC1zbWFsbCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyB1ay1zbGlkZS1ib3R0b20tc21hbGwge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyB1ay1zbGlkZS1sZWZ0LXNtYWxsIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHVrLXNsaWRlLXJpZ2h0LXNtYWxsIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbi8qXG4gKiBTbGlkZSBNZWRpdW1cbiAqL1xuQGtleWZyYW1lcyB1ay1zbGlkZS10b3AtbWVkaXVtIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHVrLXNsaWRlLWJvdHRvbS1tZWRpdW0ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyB1ay1zbGlkZS1sZWZ0LW1lZGl1bSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyB1ay1zbGlkZS1yaWdodC1tZWRpdW0ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cbkBrZXlmcmFtZXMgdWsta2VuYnVybnMge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gIH1cbn1cbi8qXG4gKiBTaGFrZVxuICovXG5Aa2V5ZnJhbWVzIHVrLXNoYWtlIHtcbiAgMCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtOXB4KTtcbiAgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO1xuICB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03cHgpO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDZweCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTVweCk7XG4gIH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KTtcbiAgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KTtcbiAgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpO1xuICB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xcHgpO1xuICB9XG59XG4vKlxuICogU3Ryb2tlXG4gKi9cbkBrZXlmcmFtZXMgdWstc3Ryb2tlIHtcbiAgMCUge1xuICAgIHN0cm9rZS1kYXNob2Zmc2V0OiB2YXIoLS11ay1hbmltYXRpb24tc3Ryb2tlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMDtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFdpZHRoXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIEVxdWFsIGNoaWxkIHdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5bY2xhc3MqPXVrLWNoaWxkLXdpZHRoXSA+ICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnVrLWNoaWxkLXdpZHRoLTEtMiA+ICoge1xuICB3aWR0aDogNTAlO1xufVxuXG4udWstY2hpbGQtd2lkdGgtMS0zID4gKiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbn1cblxuLnVrLWNoaWxkLXdpZHRoLTEtNCA+ICoge1xuICB3aWR0aDogMjUlO1xufVxuXG4udWstY2hpbGQtd2lkdGgtMS01ID4gKiB7XG4gIHdpZHRoOiAyMCU7XG59XG5cbi51ay1jaGlsZC13aWR0aC0xLTYgPiAqIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDYpO1xufVxuXG4udWstY2hpbGQtd2lkdGgtYXV0byA+ICoge1xuICB3aWR0aDogYXV0bztcbn1cblxuLypcbiAqIDEuIFJlc2V0IHRoZSBgbWluLXdpZHRoYCwgd2hpY2ggaXMgc2V0IHRvIGF1dG8gYnkgZGVmYXVsdCwgYmVjYXVzZVxuICogICAgZmxleCBpdGVtcyB3b24ndCBzaHJpbmsgYmVsb3cgdGhlaXIgbWluaW11bSBpbnRyaW5zaWMgY29udGVudCBzaXplLlxuICogICAgVXNpbmcgYDFweGAgaW5zdGVhZCBvZiBgMGAsIHNvIGl0ZW1zIHN0aWxsIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lLFxuICogICAgaWYgdGhleSBoYXZlIHplcm8gd2lkdGggYW5kIHBhZGRpbmcgYW5kIHRoZSBwcmVkZWNlc3NvciBpcyAxMDAlIHdpZGUuXG4gKi9cbi51ay1jaGlsZC13aWR0aC1leHBhbmQgPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSB7XG4gIGZsZXg6IDE7XG4gIC8qIDEgKi9cbiAgbWluLXdpZHRoOiAxcHg7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIHtcbiAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQHMgPiAqIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtMS0yXFxAcyA+ICoge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHMgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHMgPiAqIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTVcXEBzID4gKiB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAcyA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA2KTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHMgPiAqIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAcyA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4O1xuICB9XG4gIC8qIFJlc2V0IGV4cGFuZCAqL1xuICAudWstY2hpbGQtd2lkdGgtMS0xXFxAcyA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtMS0yXFxAcyA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtMS0zXFxAcyA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtMS00XFxAcyA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtMS01XFxAcyA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAcyA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHMgPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSB7XG4gICAgZmxleDogaW5pdGlhbDtcbiAgfVxufVxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQG0gPiAqIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtMS0yXFxAbSA+ICoge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQG0gPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQG0gPiAqIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTVcXEBtID4gKiB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAbSA+ICoge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA2KTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQG0gPiAqIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAbSA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4O1xuICB9XG4gIC8qIFJlc2V0IGV4cGFuZCAqL1xuICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbSA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtMS0yXFxAbSA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbSA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtMS00XFxAbSA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtMS01XFxAbSA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAbSA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQG0gPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSB7XG4gICAgZmxleDogaW5pdGlhbDtcbiAgfVxufVxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jaGlsZC13aWR0aC0xLTFcXEBsID4gKiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQGwgPiAqIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEBsID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTRcXEBsID4gKiB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtMS01XFxAbCA+ICoge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQGwgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gNik7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBsID4gKiB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQGwgPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDFweDtcbiAgfVxuICAvKiBSZXNldCBleHBhbmQgKi9cbiAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQGwgPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSxcbiAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQGwgPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSxcbiAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQGwgPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSxcbiAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQGwgPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSxcbiAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQGwgPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSxcbiAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQGwgPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSxcbiAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBsID4gOm5vdChbY2xhc3MqPXVrLXdpZHRoXSkge1xuICAgIGZsZXg6IGluaXRpYWw7XG4gIH1cbn1cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay1jaGlsZC13aWR0aC0xLTFcXEB4bCA+ICoge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTJcXEB4bCA+ICoge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQHhsID4gKiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC0xLTRcXEB4bCA+ICoge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHhsID4gKiB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAudWstY2hpbGQtd2lkdGgtMS02XFxAeGwgPiAqIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gNik7XG4gIH1cbiAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEB4bCA+ICoge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEB4bCA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4O1xuICB9XG4gIC8qIFJlc2V0IGV4cGFuZCAqL1xuICAudWstY2hpbGQtd2lkdGgtMS0xXFxAeGwgPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSxcbiAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHhsID4gOm5vdChbY2xhc3MqPXVrLXdpZHRoXSksXG4gIC51ay1jaGlsZC13aWR0aC0xLTNcXEB4bCA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtMS00XFxAeGwgPiA6bm90KFtjbGFzcyo9dWstd2lkdGhdKSxcbiAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHhsID4gOm5vdChbY2xhc3MqPXVrLXdpZHRoXSksXG4gIC51ay1jaGlsZC13aWR0aC0xLTZcXEB4bCA+IDpub3QoW2NsYXNzKj11ay13aWR0aF0pLFxuICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHhsID4gOm5vdChbY2xhc3MqPXVrLXdpZHRoXSkge1xuICAgIGZsZXg6IGluaXRpYWw7XG4gIH1cbn1cbi8qIFNpbmdsZSBXaWR0aHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIGBtYXgtd2lkdGhgIGlzIG5lZWRlZCBmb3IgdGhlIHBpeGVsLWJhc2VkIGNsYXNzZXNcbiAqL1xuW2NsYXNzKj11ay13aWR0aF0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIEhhbHZlcyAqL1xuLnVrLXdpZHRoLTEtMiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi8qIFRoaXJkcyAqL1xuLnVrLXdpZHRoLTEtMyB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbn1cblxuLnVrLXdpZHRoLTItMyB7XG4gIHdpZHRoOiBjYWxjKDIwMCUgLyAzKTtcbn1cblxuLyogUXVhcnRlcnMgKi9cbi51ay13aWR0aC0xLTQge1xuICB3aWR0aDogMjUlO1xufVxuXG4udWstd2lkdGgtMy00IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLyogRmlmdGhzICovXG4udWstd2lkdGgtMS01IHtcbiAgd2lkdGg6IDIwJTtcbn1cblxuLnVrLXdpZHRoLTItNSB7XG4gIHdpZHRoOiA0MCU7XG59XG5cbi51ay13aWR0aC0zLTUge1xuICB3aWR0aDogNjAlO1xufVxuXG4udWstd2lkdGgtNC01IHtcbiAgd2lkdGg6IDgwJTtcbn1cblxuLyogU2l4dGhzICovXG4udWstd2lkdGgtMS02IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAvIDYpO1xufVxuXG4udWstd2lkdGgtNS02IHtcbiAgd2lkdGg6IGNhbGMoNTAwJSAvIDYpO1xufVxuXG4vKiBQaXhlbCAqL1xuLnVrLXdpZHRoLXNtYWxsIHtcbiAgd2lkdGg6IDE1MHB4O1xufVxuXG4udWstd2lkdGgtbWVkaXVtIHtcbiAgd2lkdGg6IDMwMHB4O1xufVxuXG4udWstd2lkdGgtbGFyZ2Uge1xuICB3aWR0aDogNDUwcHg7XG59XG5cbi51ay13aWR0aC14bGFyZ2Uge1xuICB3aWR0aDogNjAwcHg7XG59XG5cbi51ay13aWR0aC0yeGxhcmdlIHtcbiAgd2lkdGg6IDc1MHB4O1xufVxuXG4vKiBBdXRvICovXG4udWstd2lkdGgtYXV0byB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vKiBFeHBhbmQgKi9cbi51ay13aWR0aC1leHBhbmQge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDFweDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkge1xuICAvKiBXaG9sZSAqL1xuICAudWstd2lkdGgtMS0xXFxAcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLyogSGFsdmVzICovXG4gIC51ay13aWR0aC0xLTJcXEBzIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC8qIFRoaXJkcyAqL1xuICAudWstd2lkdGgtMS0zXFxAcyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICB9XG4gIC51ay13aWR0aC0yLTNcXEBzIHtcbiAgICB3aWR0aDogY2FsYygyMDAlIC8gMyk7XG4gIH1cbiAgLyogUXVhcnRlcnMgKi9cbiAgLnVrLXdpZHRoLTEtNFxcQHMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnVrLXdpZHRoLTMtNFxcQHMge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLyogRmlmdGhzICovXG4gIC51ay13aWR0aC0xLTVcXEBzIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC51ay13aWR0aC0yLTVcXEBzIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC51ay13aWR0aC0zLTVcXEBzIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG4gIC51ay13aWR0aC00LTVcXEBzIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC8qIFNpeHRocyAqL1xuICAudWstd2lkdGgtMS02XFxAcyB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDYpO1xuICB9XG4gIC51ay13aWR0aC01LTZcXEBzIHtcbiAgICB3aWR0aDogY2FsYyg1MDAlIC8gNik7XG4gIH1cbiAgLyogUGl4ZWwgKi9cbiAgLnVrLXdpZHRoLXNtYWxsXFxAcyB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICB9XG4gIC51ay13aWR0aC1tZWRpdW1cXEBzIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cbiAgLnVrLXdpZHRoLWxhcmdlXFxAcyB7XG4gICAgd2lkdGg6IDQ1MHB4O1xuICB9XG4gIC51ay13aWR0aC14bGFyZ2VcXEBzIHtcbiAgICB3aWR0aDogNjAwcHg7XG4gIH1cbiAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEBzIHtcbiAgICB3aWR0aDogNzUwcHg7XG4gIH1cbiAgLyogQXV0byAqL1xuICAudWstd2lkdGgtYXV0b1xcQHMge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC8qIEV4cGFuZCAqL1xuICAudWstd2lkdGgtZXhwYW5kXFxAcyB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDFweDtcbiAgfVxuICAvKiBSZXNldCBleHBhbmQgKi9cbiAgLnVrLXdpZHRoLTEtMVxcQHMsXG4gIC51ay13aWR0aC0xLTJcXEBzLFxuICAudWstd2lkdGgtMS0zXFxAcyxcbiAgLnVrLXdpZHRoLTItM1xcQHMsXG4gIC51ay13aWR0aC0xLTRcXEBzLFxuICAudWstd2lkdGgtMy00XFxAcyxcbiAgLnVrLXdpZHRoLTEtNVxcQHMsXG4gIC51ay13aWR0aC0yLTVcXEBzLFxuICAudWstd2lkdGgtMy01XFxAcyxcbiAgLnVrLXdpZHRoLTQtNVxcQHMsXG4gIC51ay13aWR0aC0xLTZcXEBzLFxuICAudWstd2lkdGgtNS02XFxAcyxcbiAgLnVrLXdpZHRoLXNtYWxsXFxAcyxcbiAgLnVrLXdpZHRoLW1lZGl1bVxcQHMsXG4gIC51ay13aWR0aC1sYXJnZVxcQHMsXG4gIC51ay13aWR0aC14bGFyZ2VcXEBzLFxuICAudWstd2lkdGgtMnhsYXJnZVxcQHMsXG4gIC51ay13aWR0aC1hdXRvXFxAcyB7XG4gICAgZmxleDogaW5pdGlhbDtcbiAgfVxufVxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLyogV2hvbGUgKi9cbiAgLnVrLXdpZHRoLTEtMVxcQG0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC8qIEhhbHZlcyAqL1xuICAudWstd2lkdGgtMS0yXFxAbSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAvKiBUaGlyZHMgKi9cbiAgLnVrLXdpZHRoLTEtM1xcQG0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgfVxuICAudWstd2lkdGgtMi0zXFxAbSB7XG4gICAgd2lkdGg6IGNhbGMoMjAwJSAvIDMpO1xuICB9XG4gIC8qIFF1YXJ0ZXJzICovXG4gIC51ay13aWR0aC0xLTRcXEBtIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC51ay13aWR0aC0zLTRcXEBtIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC8qIEZpZnRocyAqL1xuICAudWstd2lkdGgtMS01XFxAbSB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuICAudWstd2lkdGgtMi01XFxAbSB7XG4gICAgd2lkdGg6IDQwJTtcbiAgfVxuICAudWstd2lkdGgtMy01XFxAbSB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuICAudWstd2lkdGgtNC01XFxAbSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgfVxuICAvKiBTaXh0aHMgKi9cbiAgLnVrLXdpZHRoLTEtNlxcQG0ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA2KTtcbiAgfVxuICAudWstd2lkdGgtNS02XFxAbSB7XG4gICAgd2lkdGg6IGNhbGMoNTAwJSAvIDYpO1xuICB9XG4gIC8qIFBpeGVsICovXG4gIC51ay13aWR0aC1zbWFsbFxcQG0ge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgfVxuICAudWstd2lkdGgtbWVkaXVtXFxAbSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICB9XG4gIC51ay13aWR0aC1sYXJnZVxcQG0ge1xuICAgIHdpZHRoOiA0NTBweDtcbiAgfVxuICAudWstd2lkdGgteGxhcmdlXFxAbSB7XG4gICAgd2lkdGg6IDYwMHB4O1xuICB9XG4gIC51ay13aWR0aC0yeGxhcmdlXFxAbSB7XG4gICAgd2lkdGg6IDc1MHB4O1xuICB9XG4gIC8qIEF1dG8gKi9cbiAgLnVrLXdpZHRoLWF1dG9cXEBtIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAvKiBFeHBhbmQgKi9cbiAgLnVrLXdpZHRoLWV4cGFuZFxcQG0ge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAxcHg7XG4gIH1cbiAgLyogUmVzZXQgZXhwYW5kICovXG4gIC51ay13aWR0aC0xLTFcXEBtLFxuICAudWstd2lkdGgtMS0yXFxAbSxcbiAgLnVrLXdpZHRoLTEtM1xcQG0sXG4gIC51ay13aWR0aC0yLTNcXEBtLFxuICAudWstd2lkdGgtMS00XFxAbSxcbiAgLnVrLXdpZHRoLTMtNFxcQG0sXG4gIC51ay13aWR0aC0xLTVcXEBtLFxuICAudWstd2lkdGgtMi01XFxAbSxcbiAgLnVrLXdpZHRoLTMtNVxcQG0sXG4gIC51ay13aWR0aC00LTVcXEBtLFxuICAudWstd2lkdGgtMS02XFxAbSxcbiAgLnVrLXdpZHRoLTUtNlxcQG0sXG4gIC51ay13aWR0aC1zbWFsbFxcQG0sXG4gIC51ay13aWR0aC1tZWRpdW1cXEBtLFxuICAudWstd2lkdGgtbGFyZ2VcXEBtLFxuICAudWstd2lkdGgteGxhcmdlXFxAbSxcbiAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEBtLFxuICAudWstd2lkdGgtYXV0b1xcQG0ge1xuICAgIGZsZXg6IGluaXRpYWw7XG4gIH1cbn1cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAvKiBXaG9sZSAqL1xuICAudWstd2lkdGgtMS0xXFxAbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLyogSGFsdmVzICovXG4gIC51ay13aWR0aC0xLTJcXEBsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC8qIFRoaXJkcyAqL1xuICAudWstd2lkdGgtMS0zXFxAbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICB9XG4gIC51ay13aWR0aC0yLTNcXEBsIHtcbiAgICB3aWR0aDogY2FsYygyMDAlIC8gMyk7XG4gIH1cbiAgLyogUXVhcnRlcnMgKi9cbiAgLnVrLXdpZHRoLTEtNFxcQGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnVrLXdpZHRoLTMtNFxcQGwge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLyogRmlmdGhzICovXG4gIC51ay13aWR0aC0xLTVcXEBsIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG4gIC51ay13aWR0aC0yLTVcXEBsIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC51ay13aWR0aC0zLTVcXEBsIHtcbiAgICB3aWR0aDogNjAlO1xuICB9XG4gIC51ay13aWR0aC00LTVcXEBsIHtcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC8qIFNpeHRocyAqL1xuICAudWstd2lkdGgtMS02XFxAbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDYpO1xuICB9XG4gIC51ay13aWR0aC01LTZcXEBsIHtcbiAgICB3aWR0aDogY2FsYyg1MDAlIC8gNik7XG4gIH1cbiAgLyogUGl4ZWwgKi9cbiAgLnVrLXdpZHRoLXNtYWxsXFxAbCB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICB9XG4gIC51ay13aWR0aC1tZWRpdW1cXEBsIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cbiAgLnVrLXdpZHRoLWxhcmdlXFxAbCB7XG4gICAgd2lkdGg6IDQ1MHB4O1xuICB9XG4gIC51ay13aWR0aC14bGFyZ2VcXEBsIHtcbiAgICB3aWR0aDogNjAwcHg7XG4gIH1cbiAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEBsIHtcbiAgICB3aWR0aDogNzUwcHg7XG4gIH1cbiAgLyogQXV0byAqL1xuICAudWstd2lkdGgtYXV0b1xcQGwge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG4gIC8qIEV4cGFuZCAqL1xuICAudWstd2lkdGgtZXhwYW5kXFxAbCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDFweDtcbiAgfVxuICAvKiBSZXNldCBleHBhbmQgKi9cbiAgLnVrLXdpZHRoLTEtMVxcQGwsXG4gIC51ay13aWR0aC0xLTJcXEBsLFxuICAudWstd2lkdGgtMS0zXFxAbCxcbiAgLnVrLXdpZHRoLTItM1xcQGwsXG4gIC51ay13aWR0aC0xLTRcXEBsLFxuICAudWstd2lkdGgtMy00XFxAbCxcbiAgLnVrLXdpZHRoLTEtNVxcQGwsXG4gIC51ay13aWR0aC0yLTVcXEBsLFxuICAudWstd2lkdGgtMy01XFxAbCxcbiAgLnVrLXdpZHRoLTQtNVxcQGwsXG4gIC51ay13aWR0aC0xLTZcXEBsLFxuICAudWstd2lkdGgtNS02XFxAbCxcbiAgLnVrLXdpZHRoLXNtYWxsXFxAbCxcbiAgLnVrLXdpZHRoLW1lZGl1bVxcQGwsXG4gIC51ay13aWR0aC1sYXJnZVxcQGwsXG4gIC51ay13aWR0aC14bGFyZ2VcXEBsLFxuICAudWstd2lkdGgtMnhsYXJnZVxcQGwsXG4gIC51ay13aWR0aC1hdXRvXFxAbCB7XG4gICAgZmxleDogaW5pdGlhbDtcbiAgfVxufVxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLyogV2hvbGUgKi9cbiAgLnVrLXdpZHRoLTEtMVxcQHhsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAvKiBIYWx2ZXMgKi9cbiAgLnVrLXdpZHRoLTEtMlxcQHhsIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC8qIFRoaXJkcyAqL1xuICAudWstd2lkdGgtMS0zXFxAeGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzKTtcbiAgfVxuICAudWstd2lkdGgtMi0zXFxAeGwge1xuICAgIHdpZHRoOiBjYWxjKDIwMCUgLyAzKTtcbiAgfVxuICAvKiBRdWFydGVycyAqL1xuICAudWstd2lkdGgtMS00XFxAeGwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLnVrLXdpZHRoLTMtNFxcQHhsIHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC8qIEZpZnRocyAqL1xuICAudWstd2lkdGgtMS01XFxAeGwge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cbiAgLnVrLXdpZHRoLTItNVxcQHhsIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG4gIC51ay13aWR0aC0zLTVcXEB4bCB7XG4gICAgd2lkdGg6IDYwJTtcbiAgfVxuICAudWstd2lkdGgtNC01XFxAeGwge1xuICAgIHdpZHRoOiA4MCU7XG4gIH1cbiAgLyogU2l4dGhzICovXG4gIC51ay13aWR0aC0xLTZcXEB4bCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDYpO1xuICB9XG4gIC51ay13aWR0aC01LTZcXEB4bCB7XG4gICAgd2lkdGg6IGNhbGMoNTAwJSAvIDYpO1xuICB9XG4gIC8qIFBpeGVsICovXG4gIC51ay13aWR0aC1zbWFsbFxcQHhsIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gIH1cbiAgLnVrLXdpZHRoLW1lZGl1bVxcQHhsIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gIH1cbiAgLnVrLXdpZHRoLWxhcmdlXFxAeGwge1xuICAgIHdpZHRoOiA0NTBweDtcbiAgfVxuICAudWstd2lkdGgteGxhcmdlXFxAeGwge1xuICAgIHdpZHRoOiA2MDBweDtcbiAgfVxuICAudWstd2lkdGgtMnhsYXJnZVxcQHhsIHtcbiAgICB3aWR0aDogNzUwcHg7XG4gIH1cbiAgLyogQXV0byAqL1xuICAudWstd2lkdGgtYXV0b1xcQHhsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuICAvKiBFeHBhbmQgKi9cbiAgLnVrLXdpZHRoLWV4cGFuZFxcQHhsIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4O1xuICB9XG4gIC8qIFJlc2V0IGV4cGFuZCAqL1xuICAudWstd2lkdGgtMS0xXFxAeGwsXG4gIC51ay13aWR0aC0xLTJcXEB4bCxcbiAgLnVrLXdpZHRoLTEtM1xcQHhsLFxuICAudWstd2lkdGgtMi0zXFxAeGwsXG4gIC51ay13aWR0aC0xLTRcXEB4bCxcbiAgLnVrLXdpZHRoLTMtNFxcQHhsLFxuICAudWstd2lkdGgtMS01XFxAeGwsXG4gIC51ay13aWR0aC0yLTVcXEB4bCxcbiAgLnVrLXdpZHRoLTMtNVxcQHhsLFxuICAudWstd2lkdGgtNC01XFxAeGwsXG4gIC51ay13aWR0aC0xLTZcXEB4bCxcbiAgLnVrLXdpZHRoLTUtNlxcQHhsLFxuICAudWstd2lkdGgtc21hbGxcXEB4bCxcbiAgLnVrLXdpZHRoLW1lZGl1bVxcQHhsLFxuICAudWstd2lkdGgtbGFyZ2VcXEB4bCxcbiAgLnVrLXdpZHRoLXhsYXJnZVxcQHhsLFxuICAudWstd2lkdGgtMnhsYXJnZVxcQHhsLFxuICAudWstd2lkdGgtYXV0b1xcQHhsIHtcbiAgICBmbGV4OiBpbml0aWFsO1xuICB9XG59XG4vKiBJbnRyaW5zaWMgV2lkdGhzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay13aWR0aC1tYXgtY29udGVudCB7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLnVrLXdpZHRoLW1pbi1jb250ZW50IHtcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSGVpZ2h0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbltjbGFzcyo9dWstaGVpZ2h0XSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qXG4gKiBPbmx5IHdvcmtzIGlmIHBhcmVudCBlbGVtZW50IGhhcyBhIGhlaWdodCBzZXRcbiAqL1xuLnVrLWhlaWdodC0xLTEge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qXG4gKiBVc2VmdWwgdG8gY3JlYXRlIGltYWdlIHRlYXNlcnNcbiAqL1xuLnVrLWhlaWdodC12aWV3cG9ydCB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xufVxuXG4udWstaGVpZ2h0LXZpZXdwb3J0LTIge1xuICBtaW4taGVpZ2h0OiAyMDB2aDtcbn1cblxuLnVrLWhlaWdodC12aWV3cG9ydC0zIHtcbiAgbWluLWhlaWdodDogMzAwdmg7XG59XG5cbi51ay1oZWlnaHQtdmlld3BvcnQtNCB7XG4gIG1pbi1oZWlnaHQ6IDQwMHZoO1xufVxuXG4vKlxuICogUGl4ZWxcbiAqIFVzZWZ1bCBmb3IgYG92ZXJmbG93OiBhdXRvYFxuICovXG4udWstaGVpZ2h0LXNtYWxsIHtcbiAgaGVpZ2h0OiAxNTBweDtcbn1cblxuLnVrLWhlaWdodC1tZWRpdW0ge1xuICBoZWlnaHQ6IDMwMHB4O1xufVxuXG4udWstaGVpZ2h0LWxhcmdlIHtcbiAgaGVpZ2h0OiA0NTBweDtcbn1cblxuLnVrLWhlaWdodC1tYXgtc21hbGwge1xuICBtYXgtaGVpZ2h0OiAxNTBweDtcbn1cblxuLnVrLWhlaWdodC1tYXgtbWVkaXVtIHtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG59XG5cbi51ay1oZWlnaHQtbWF4LWxhcmdlIHtcbiAgbWF4LWhlaWdodDogNDUwcHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUZXh0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1sZWFkIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4udWstdGV4dC1tZXRhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM5OTk7XG59XG4udWstdGV4dC1tZXRhID4gYSB7XG4gIGNvbG9yOiAjOTk5O1xufVxuLnVrLXRleHQtbWV0YSA+IGE6aG92ZXIge1xuICBjb2xvcjogIzY2NjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi51ay10ZXh0LWxhcmdlIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi51ay10ZXh0LWRlZmF1bHQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qIFdlaWdodCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1saWdodCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi51ay10ZXh0LW5vcm1hbCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi51ay10ZXh0LWJvbGQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4udWstdGV4dC1saWdodGVyIHtcbiAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG59XG5cbi51ay10ZXh0LWJvbGRlciB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LWl0YWxpYyB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyogVHJhbnNmb3JtIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50O1xufVxuXG4udWstdGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7XG59XG5cbi51ay10ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2UgIWltcG9ydGFudDtcbn1cblxuLyogRGVjb3JhdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdGV4dC1kZWNvcmF0aW9uLW5vbmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LW11dGVkIHtcbiAgY29sb3I6ICM5OTkgIWltcG9ydGFudDtcbn1cblxuLnVrLXRleHQtZW1waGFzaXMge1xuICBjb2xvcjogIzMzMyAhaW1wb3J0YW50O1xufVxuXG4udWstdGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICMxZTg3ZjAgIWltcG9ydGFudDtcbn1cblxuLnVrLXRleHQtc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICMyMjIgIWltcG9ydGFudDtcbn1cblxuLnVrLXRleHQtc3VjY2VzcyB7XG4gIGNvbG9yOiAjMzJkMjk2ICFpbXBvcnRhbnQ7XG59XG5cbi51ay10ZXh0LXdhcm5pbmcge1xuICBjb2xvcjogI2ZhYTA1YSAhaW1wb3J0YW50O1xufVxuXG4udWstdGV4dC1kYW5nZXIge1xuICBjb2xvcjogI2YwNTA2ZSAhaW1wb3J0YW50O1xufVxuXG4vKiBCYWNrZ3JvdW5kIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBUaGUgYmFja2dyb3VuZCBjbGlwcyB0byB0aGUgZm9yZWdyb3VuZCB0ZXh0LiBXb3JrcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBEZWZhdWx0IGNvbG9yIGlzIHNldCB0byB0cmFuc3BhcmVudC5cbiAqIDMuIENvbnRhaW5lciBmaXRzIHRoZSB0ZXh0XG4gKiA0LiBTdHlsZVxuICovXG4udWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgLyogMSAqL1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLyogMiAqL1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgLyogMyAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDQgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlODdmMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMWU4N2YwIDAlLCAjNDExZWYwIDEwMCUpO1xufVxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay10ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi51ay10ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnVrLXRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi51ay10ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIHtcbiAgLnVrLXRleHQtbGVmdFxcQHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAudWstdGV4dC1yaWdodFxcQHMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLXRleHQtY2VudGVyXFxAcyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay10ZXh0LWxlZnRcXEBtIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLXRleHQtcmlnaHRcXEBtIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB9XG4gIC51ay10ZXh0LWNlbnRlclxcQG0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLXRleHQtbGVmdFxcQGwge1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAudWstdGV4dC1yaWdodFxcQGwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLXRleHQtY2VudGVyXFxAbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay10ZXh0LWxlZnRcXEB4bCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG4gIC51ay10ZXh0LXJpZ2h0XFxAeGwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLXRleHQtY2VudGVyXFxAeGwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICB9XG59XG4vKlxuICogVmVydGljYWxcbiAqL1xuLnVrLXRleHQtdG9wIHtcbiAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xufVxuXG4udWstdGV4dC1taWRkbGUge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XG59XG5cbi51ay10ZXh0LWJvdHRvbSB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDtcbn1cblxuLnVrLXRleHQtYmFzZWxpbmUge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcbn1cblxuLyogV3JhcCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXNcbiAqL1xuLnVrLXRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLypcbiAqIDEuIE1ha2Ugc3VyZSBhIG1heC13aWR0aCBpcyBzZXQgYWZ0ZXIgd2hpY2ggdHJ1bmNhdGlvbiBjYW4gb2NjdXJcbiAqIDIuIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXMsIGFuZCB0cnVuY2F0ZSB3aXRoIGFuIGVsbGlwc2lzXG4gKiAzLiBGaXggZm9yIHRhYmxlIGNlbGxzXG4gKi9cbi51ay10ZXh0LXRydW5jYXRlIHtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDIgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIDIgKi9cbnRoLnVrLXRleHQtdHJ1bmNhdGUsXG50ZC51ay10ZXh0LXRydW5jYXRlIHtcbiAgbWF4LXdpZHRoOiAwO1xufVxuXG4vKlxuICogV3JhcCBsb25nIHdvcmRzIG9udG8gdGhlIG5leHQgbGluZSBhbmQgYnJlYWsgdGhlbSBpZiB0aGV5IGFyZSB0b28gbG9uZyB0byBmaXQuXG4gKiAxLiBNYWtlIGl0IHdvcmsgd2l0aCB0YWJsZSBjZWxscyBpbiBhbGwgYnJvd3NlcnMuXG4gKiBOb3RlOiBOb3QgdXNpbmcgYGh5cGhlbnM6IGF1dG9gIGJlY2F1c2UgaXQgaHlwaGVuYXRlcyB0ZXh0IGV2ZW4gaWYgbm90IG5lZWRlZC5cbiAqL1xuLnVrLXRleHQtYnJlYWsge1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xufVxuXG4vKiAxICovXG50aC51ay10ZXh0LWJyZWFrLFxudGQudWstdGV4dC1icmVhayB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIFN0cm9rZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRleHQtc3Ryb2tlIHtcbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogY2FsYygxLjRweCArIDAuMDAyZW0pO1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb2x1bW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuW2NsYXNzKj11ay1jb2x1bW4tXSB7XG4gIGNvbHVtbi1nYXA6IDMwcHg7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBbY2xhc3MqPXVrLWNvbHVtbi1dIHtcbiAgICBjb2x1bW4tZ2FwOiA0MHB4O1xuICB9XG59XG4vKlxuICogRml4IGltYWdlIDFweCBsaW5lIHdyYXBwaW5nIGludG8gdGhlIG5leHQgY29sdW1uIGluIENocm9tZVxuICovXG5bY2xhc3MqPXVrLWNvbHVtbi1dIGltZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIERvdWJsZSB0aGUgY29sdW1uIGdhcFxuICovXG4udWstY29sdW1uLWRpdmlkZXIge1xuICBjb2x1bW4tcnVsZTogMXB4IHNvbGlkICNlNWU1ZTU7XG4gIC8qIDEgKi9cbiAgY29sdW1uLWdhcDogNjBweDtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1jb2x1bW4tZGl2aWRlciB7XG4gICAgY29sdW1uLWdhcDogODBweDtcbiAgfVxufVxuLyogV2lkdGggbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb2x1bW4tMS0yIHtcbiAgY29sdW1uLWNvdW50OiAyO1xufVxuXG4udWstY29sdW1uLTEtMyB7XG4gIGNvbHVtbi1jb3VudDogMztcbn1cblxuLnVrLWNvbHVtbi0xLTQge1xuICBjb2x1bW4tY291bnQ6IDQ7XG59XG5cbi51ay1jb2x1bW4tMS01IHtcbiAgY29sdW1uLWNvdW50OiA1O1xufVxuXG4udWstY29sdW1uLTEtNiB7XG4gIGNvbHVtbi1jb3VudDogNjtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkge1xuICAudWstY29sdW1uLTEtMlxcQHMge1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgfVxuICAudWstY29sdW1uLTEtM1xcQHMge1xuICAgIGNvbHVtbi1jb3VudDogMztcbiAgfVxuICAudWstY29sdW1uLTEtNFxcQHMge1xuICAgIGNvbHVtbi1jb3VudDogNDtcbiAgfVxuICAudWstY29sdW1uLTEtNVxcQHMge1xuICAgIGNvbHVtbi1jb3VudDogNTtcbiAgfVxuICAudWstY29sdW1uLTEtNlxcQHMge1xuICAgIGNvbHVtbi1jb3VudDogNjtcbiAgfVxufVxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLWNvbHVtbi0xLTJcXEBtIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTNcXEBtIHtcbiAgICBjb2x1bW4tY291bnQ6IDM7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTRcXEBtIHtcbiAgICBjb2x1bW4tY291bnQ6IDQ7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTVcXEBtIHtcbiAgICBjb2x1bW4tY291bnQ6IDU7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTZcXEBtIHtcbiAgICBjb2x1bW4tY291bnQ6IDY7XG4gIH1cbn1cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstY29sdW1uLTEtMlxcQGwge1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgfVxuICAudWstY29sdW1uLTEtM1xcQGwge1xuICAgIGNvbHVtbi1jb3VudDogMztcbiAgfVxuICAudWstY29sdW1uLTEtNFxcQGwge1xuICAgIGNvbHVtbi1jb3VudDogNDtcbiAgfVxuICAudWstY29sdW1uLTEtNVxcQGwge1xuICAgIGNvbHVtbi1jb3VudDogNTtcbiAgfVxuICAudWstY29sdW1uLTEtNlxcQGwge1xuICAgIGNvbHVtbi1jb3VudDogNjtcbiAgfVxufVxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLnVrLWNvbHVtbi0xLTJcXEB4bCB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICB9XG4gIC51ay1jb2x1bW4tMS0zXFxAeGwge1xuICAgIGNvbHVtbi1jb3VudDogMztcbiAgfVxuICAudWstY29sdW1uLTEtNFxcQHhsIHtcbiAgICBjb2x1bW4tY291bnQ6IDQ7XG4gIH1cbiAgLnVrLWNvbHVtbi0xLTVcXEB4bCB7XG4gICAgY29sdW1uLWNvdW50OiA1O1xuICB9XG4gIC51ay1jb2x1bW4tMS02XFxAeGwge1xuICAgIGNvbHVtbi1jb3VudDogNjtcbiAgfVxufVxuLyogTWFrZSBlbGVtZW50IHNwYW4gYWNyb3NzIGFsbCBjb2x1bW5zXG4gKiBEb2VzIG5vdCB3b3JrIGluIEZpcmVmb3ggeWV0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1jb2x1bW4tc3BhbiB7XG4gIGNvbHVtbi1zcGFuOiBhbGw7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogV29ya3Mgd2l0aCBpZnJhbWVzIGFuZCBlbWJlZGRlZCBjb250ZW50XG4gKiAxLiBVc2UgYXR0cmlidXRlIHRvIGFwcGx5IHRyYW5zZm9ybSBpbnN0YW50bHkuIE5lZWRlZCBpZiB0cmFuc2Zvcm0gaXMgdHJhbnNpdGlvbmVkLlxuICogMi4gUmVzZXQgcmVzcG9uc2l2ZW5lc3MgZm9yIGVtYmVkZGVkIGNvbnRlbnRcbiAqIDMuIENlbnRlciBvYmplY3RcbiAqIE5vdGU6IFBlcmNlbnQgdmFsdWVzIG9uIHRoZSBgdG9wYCBwcm9wZXJ0eSBvbmx5IHdvcmtzIGlmIHRoaXMgZWxlbWVudFxuICogICAgICAgaXMgYWJzb2x1dGUgcG9zaXRpb25lZCBvciBpZiB0aGUgY29udGFpbmVyIGhhcyBhIGhlaWdodFxuICovXG4vKiAxICovXG5bdWstY292ZXJdOndoZXJlKGNhbnZhcywgaWZyYW1lLCBzdmcpLFxuW2RhdGEtdWstY292ZXJdOndoZXJlKGNhbnZhcywgaWZyYW1lLCBzdmcpIHtcbiAgLyogMiAqL1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIC8qIDMgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICAtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS14OiAtNTAlO1xuICAtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS15OiAtNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteCksIHZhcigtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS15KSk7XG59XG5cbmlmcmFtZVt1ay1jb3Zlcl0sXG5pZnJhbWVbZGF0YS11ay1jb3Zlcl0ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuW3VrLWNvdmVyXTp3aGVyZShpbWcsIHZpZGVvKSxcbltkYXRhLXVrLWNvdmVyXTp3aGVyZShpbWcsIHZpZGVvKSB7XG4gIC8qIDMgKi9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQYXJlbnQgY29udGFpbmVyIHdoaWNoIGNsaXBzIHJlc2l6ZWQgb2JqZWN0XG4gKiAyLiBOZWVkZWQgaWYgdGhlIGNoaWxkIGlzIHBvc2l0aW9uZWQgYWJzb2x1dGUuIFNlZSBub3RlIGFib3ZlXG4gKi9cbi51ay1jb3Zlci1jb250YWluZXIge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC8qIDIgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQmFja2dyb3VuZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDb2xvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYmFja2dyb3VuZC1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuLnVrLWJhY2tncm91bmQtbXV0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xufVxuXG4udWstYmFja2dyb3VuZC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFlODdmMDtcbn1cblxuLnVrLWJhY2tncm91bmQtc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbn1cblxuLyogU2l6ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYmFja2dyb3VuZC1jb3Zlcixcbi51ay1iYWNrZ3JvdW5kLWNvbnRhaW4sXG4udWstYmFja2dyb3VuZC13aWR0aC0xLTEsXG4udWstYmFja2dyb3VuZC1oZWlnaHQtMS0xIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVrLWJhY2tncm91bmQtY292ZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4udWstYmFja2dyb3VuZC1jb250YWluIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuXG4udWstYmFja2dyb3VuZC13aWR0aC0xLTEge1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWhlaWdodC0xLTEge1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbn1cblxuLyogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJhY2tncm91bmQtdG9wLWxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG59XG5cbi51ay1iYWNrZ3JvdW5kLXRvcC1jZW50ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcbn1cblxuLnVrLWJhY2tncm91bmQtdG9wLXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAwO1xufVxuXG4udWstYmFja2dyb3VuZC1jZW50ZXItbGVmdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgNTAlO1xufVxuXG4udWstYmFja2dyb3VuZC1jZW50ZXItY2VudGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbn1cblxuLnVrLWJhY2tncm91bmQtY2VudGVyLXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1sZWZ0IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xufVxuXG4udWstYmFja2dyb3VuZC1ib3R0b20tY2VudGVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1yaWdodCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcbn1cblxuLyogUmVwZWF0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1iYWNrZ3JvdW5kLW5vcmVwZWF0IHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLyogQXR0YWNobWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstYmFja2dyb3VuZC1maXhlZCB7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG59XG5cbi8qXG4gKiBFeGNsdWRlIHRvdWNoIGRldmljZXMgYmVjYXVzZSBgZml4ZWRgIGRvZXNuJ3Qgd29yayBvbiBpT1MgYW5kIEFuZHJvaWRcbiAqL1xuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgLnVrLWJhY2tncm91bmQtZml4ZWQge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xuICB9XG59XG4vKiBJbWFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDMxOXB4KSB7XG4gIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudWstYmFja2dyb3VuZC1pbWFnZVxcQG0ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAudWstYmFja2dyb3VuZC1pbWFnZVxcQGwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogRGVza3RvcCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDE1OTlweCkge1xuICAudWstYmFja2dyb3VuZC1pbWFnZVxcQHhsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIEJsZW5kIG1vZGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLW11bHRpcGx5IHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbn1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtc2NyZWVuIHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzY3JlZW47XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG92ZXJsYXk7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRhcmtlbiB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogZGFya2VuO1xufVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1saWdodGVuIHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsaWdodGVuO1xufVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvci1kb2RnZSB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3ItZG9kZ2U7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yLWJ1cm4ge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWJ1cm47XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWhhcmQtbGlnaHQge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNvZnQtbGlnaHQge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRpZmZlcmVuY2Uge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWV4Y2x1c2lvbiB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogZXhjbHVzaW9uO1xufVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1odWUge1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGh1ZTtcbn1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtc2F0dXJhdGlvbiB7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2F0dXJhdGlvbjtcbn1cblxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3Ige1xuICBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yO1xufVxuXG4udWstYmFja2dyb3VuZC1ibGVuZC1sdW1pbm9zaXR5IHtcbiAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWxpZ25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuW2NsYXNzKj11ay1hbGlnbl0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuKiArIFtjbGFzcyo9dWstYWxpZ25dIHtcbiAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLypcbiAqIENlbnRlclxuICovXG4udWstYWxpZ24tY2VudGVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLypcbiAqIExlZnQvUmlnaHRcbiAqL1xuLnVrLWFsaWduLWxlZnQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4udWstYWxpZ24tcmlnaHQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMzBweDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC51ay1hbGlnbi1sZWZ0XFxAcyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnVrLWFsaWduLXJpZ2h0XFxAcyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1hbGlnbi1sZWZ0XFxAbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnVrLWFsaWduLXJpZ2h0XFxAbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstYWxpZ24tbGVmdFxcQGwge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnVrLWFsaWduLXJpZ2h0XFxAbCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLnVrLWFsaWduLWxlZnQsXG4gIC51ay1hbGlnbi1sZWZ0XFxAcyxcbiAgLnVrLWFsaWduLWxlZnRcXEBtLFxuICAudWstYWxpZ24tbGVmdFxcQGwge1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgfVxuICAudWstYWxpZ24tcmlnaHQsXG4gIC51ay1hbGlnbi1yaWdodFxcQHMsXG4gIC51ay1hbGlnbi1yaWdodFxcQG0sXG4gIC51ay1hbGlnbi1yaWdodFxcQGwge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICB9XG59XG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstYWxpZ24tbGVmdFxcQHhsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAudWstYWxpZ24tcmlnaHRcXEB4bCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDIuIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG4vKiAxICovXG4udWstc3ZnLFxuLnVrLXN2Zzpub3QoLnVrLXByZXNlcnZlKSBbZmlsbCo9XCIjXCJdOm5vdCgudWstcHJlc2VydmUpIHtcbiAgZmlsbDogY3VycmVudGNvbG9yO1xufVxuXG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtzdHJva2UqPVwiI1wiXTpub3QoLnVrLXByZXNlcnZlKSB7XG4gIHN0cm9rZTogY3VycmVudGNvbG9yO1xufVxuXG4vKlxuICogRml4IEZpcmVmb3ggYmx1cnJ5IFNWRyByZW5kZXJpbmc6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDY4MzVcbiAqL1xuLnVrLXN2ZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVXRpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBQYW5lbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGFuZWwge1xuICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG4udWstcGFuZWwgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qXG4gKiBTY3JvbGxhYmxlXG4gKi9cbi51ay1wYW5lbC1zY3JvbGxhYmxlIHtcbiAgaGVpZ2h0OiAxNzBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHJlc2l6ZTogYm90aDtcbn1cblxuLyogQ2xlYXJmaXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIGB0YWJsZS1jZWxsYCBpcyB1c2VkIHdpdGggYDo6YmVmb3JlYCBiZWNhdXNlIGB0YWJsZWAgY3JlYXRlcyBhIDFweCBnYXAgd2hlbiBpdCBiZWNvbWVzIGEgZmxleCBpdGVtLCBvbmx5IGluIFdlYmtpdFxuICogMi4gYHRhYmxlYCBpcyB1c2VkIGFnYWluIHdpdGggYDo6YWZ0ZXJgIGJlY2F1c2UgYGNsZWFyYCBvbmx5IHdvcmtzIHdpdGggYmxvY2sgZWxlbWVudHMuXG4gKiBOb3RlOiBgZGlzcGxheTogYmxvY2tgIHdpdGggYG92ZXJmbG93OiBoaWRkZW5gIGlzIGN1cnJlbnRseSBub3Qgd29ya2luZyBpbiB0aGUgbGF0ZXN0IFNhZmFyaVxuICovXG4vKiAxICovXG4udWstY2xlYXJmaXg6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG5cbi8qIDIgKi9cbi51ay1jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi8qIEZsb2F0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqL1xuLnVrLWZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLnVrLWZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKiAxICovXG5bY2xhc3MqPXVrLWZsb2F0LV0ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIE92ZXJmbG93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1vdmVyZmxvdy1oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKlxuICogRW5hYmxlIHNjcm9sbGJhcnMgaWYgY29udGVudCBpcyBjbGlwcGVkXG4gKi9cbi51ay1vdmVyZmxvdy1hdXRvIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi51ay1vdmVyZmxvdy1hdXRvID4gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBCb3ggU2l6aW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ib3gtc2l6aW5nLWNvbnRlbnQge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLnVrLWJveC1zaXppbmctYm9yZGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogUmVzaXplXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1yZXNpemUge1xuICByZXNpemU6IGJvdGg7XG59XG5cbi51ay1yZXNpemUtaG9yaXpvbnRhbCB7XG4gIHJlc2l6ZTogaG9yaXpvbnRhbDtcbn1cblxuLnVrLXJlc2l6ZS12ZXJ0aWNhbCB7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qIERpc3BsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWRpc3BsYXktYmxvY2sge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4udWstZGlzcGxheS1pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbn1cblxuLnVrLWRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG59XG5cbi8qIElubGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIEJlaGF2ZSBsaWtlIG1vc3QgaW5saW5lLWJsb2NrIGVsZW1lbnRzXG4gKiA1LiBGb3JjZSBuZXcgbGF5ZXIgd2l0aG91dCBjcmVhdGluZyBhIG5ldyBzdGFja2luZyBjb250ZXh0XG4gKiAgICB0byBmaXggMXB4IGdsaXRjaCB3aGVuIGNvbWJpbmVkIHdpdGggb3ZlcmxheXMgYW5kIHRyYW5zaXRpb25zIGluIFdlYmtpdFxuICogNi4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICovXG5bY2xhc3MqPXVrLWlubGluZV0ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMiAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qIDMgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiA0ICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC8qIDUgKi9cbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi51ay1pbmxpbmUtY2xpcCB7XG4gIC8qIDYgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogUmVzcG9uc2l2ZSBvYmplY3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBQcmVzZXJ2ZSBvcmlnaW5hbCBkaW1lbnNpb25zXG4gKiBCZWNhdXNlIGBpbWcsIGB2aWRlb2AsIGBjYW52YXNgIGFuZCAgYGF1ZGlvYCBhcmUgYWxyZWFkeSByZXNwb25zaXZlIGJ5IGRlZmF1bHQsIHNlZSBCYXNlIGNvbXBvbmVudFxuICovXG4udWstcHJlc2VydmUtd2lkdGgsXG4udWstcHJlc2VydmUtd2lkdGggY2FudmFzLFxuLnVrLXByZXNlcnZlLXdpZHRoIGltZyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBzdmcsXG4udWstcHJlc2VydmUtd2lkdGggdmlkZW8ge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8qXG4gKiBSZXNwb25zaXZlbmVzc1xuICogQ29ycmVjdHMgYG1heC13aWR0aGAgYW5kIGBtYXgtaGVpZ2h0YCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWRcbiAqL1xuLnVrLXJlc3BvbnNpdmUtd2lkdGgsXG4udWstcmVzcG9uc2l2ZS1oZWlnaHQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSB3aWR0aC4gYGltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGB1ay1wcmVzZXJ2ZS13aWR0aCBpbWdgXG4gKiAyLiBBdXRvIHNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKi9cbi51ay1yZXNwb25zaXZlLXdpZHRoIHtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgLyogMiAqL1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qXG4gKiAxLiBTZXQgYSBtYXhpbXVtIGhlaWdodC4gT25seSB3b3JrcyBpZiB0aGUgcGFyZW50IGVsZW1lbnQgaGFzIGEgZml4ZWQgaGVpZ2h0XG4gKiAyLiBBdXRvIHNjYWxlIHRoZSB3aWR0aC4gT25seSBuZWVkZWQgaWYgYHdpZHRoYCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICogMy4gUmVzZXQgbWF4LXdpZHRoLCB3aGljaCBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYWxyZWFkeSBoYXZlIGJ5IGRlZmF1bHRcbiAqL1xuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHtcbiAgLyogMSAqL1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAvKiAyICovXG4gIHdpZHRoOiBhdXRvO1xuICAvKiAzICovXG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuLypcbiAqIEZpeCBpbml0aWFsIGlmcmFtZSB3aWR0aC4gV2l0aG91dCB0aGUgdmlld3BvcnQgaXMgZXhwYW5kZWQgb24gaU9TIGRldmljZXNcbiAqL1xuW3VrLXJlc3BvbnNpdmVdLFxuW2RhdGEtdWstcmVzcG9uc2l2ZV0ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIE9iamVjdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstb2JqZWN0LWNvdmVyIHtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi51ay1vYmplY3QtY29udGFpbiB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi51ay1vYmplY3QtZmlsbCB7XG4gIG9iamVjdC1maXQ6IGZpbGw7XG59XG5cbi51ay1vYmplY3Qtbm9uZSB7XG4gIG9iamVjdC1maXQ6IG5vbmU7XG59XG5cbi51ay1vYmplY3Qtc2NhbGUtZG93biB7XG4gIG9iamVjdC1maXQ6IHNjYWxlLWRvd247XG59XG5cbi8qXG4gKiBQb3NpdGlvblxuICovXG4udWstb2JqZWN0LXRvcC1sZWZ0IHtcbiAgb2JqZWN0LXBvc2l0aW9uOiAwIDA7XG59XG5cbi51ay1vYmplY3QtdG9wLWNlbnRlciB7XG4gIG9iamVjdC1wb3NpdGlvbjogNTAlIDA7XG59XG5cbi51ay1vYmplY3QtdG9wLXJpZ2h0IHtcbiAgb2JqZWN0LXBvc2l0aW9uOiAxMDAlIDA7XG59XG5cbi51ay1vYmplY3QtY2VudGVyLWxlZnQge1xuICBvYmplY3QtcG9zaXRpb246IDAgNTAlO1xufVxuXG4udWstb2JqZWN0LWNlbnRlci1jZW50ZXIge1xuICBvYmplY3QtcG9zaXRpb246IDUwJSA1MCU7XG59XG5cbi51ay1vYmplY3QtY2VudGVyLXJpZ2h0IHtcbiAgb2JqZWN0LXBvc2l0aW9uOiAxMDAlIDUwJTtcbn1cblxuLnVrLW9iamVjdC1ib3R0b20tbGVmdCB7XG4gIG9iamVjdC1wb3NpdGlvbjogMCAxMDAlO1xufVxuXG4udWstb2JqZWN0LWJvdHRvbS1jZW50ZXIge1xuICBvYmplY3QtcG9zaXRpb246IDUwJSAxMDAlO1xufVxuXG4udWstb2JqZWN0LWJvdHRvbS1yaWdodCB7XG4gIG9iamVjdC1wb3NpdGlvbjogMTAwJSAxMDAlO1xufVxuXG4vKiBCb3JkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWJvcmRlci1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi51ay1ib3JkZXItcGlsbCB7XG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xufVxuXG4udWstYm9yZGVyLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi8qXG4gKiBGaXggYG92ZXJmbG93OiBoaWRkZW5gIHRvIGJlIGlnbm9yZWQgd2l0aCBib3JkZXItcmFkaXVzIGFuZCBDU1MgdHJhbnNmb3JtcyBpbiBXZWJraXRcbiAqL1xuLnVrLWlubGluZS1jbGlwW2NsYXNzKj11ay1ib3JkZXItXSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuXG4vKiBCb3gtc2hhZG93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ib3gtc2hhZG93LXNtYWxsIHtcbiAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG59XG5cbi51ay1ib3gtc2hhZG93LW1lZGl1bSB7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cblxuLnVrLWJveC1zaGFkb3ctbGFyZ2Uge1xuICBib3gtc2hhZG93OiAwIDE0cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xufVxuXG4udWstYm94LXNoYWRvdy14bGFyZ2Uge1xuICBib3gtc2hhZG93OiAwIDI4cHggNTBweCByZ2JhKDAsIDAsIDAsIDAuMTYpO1xufVxuXG4vKlxuICogSG92ZXJcbiAqL1xuW2NsYXNzKj11ay1ib3gtc2hhZG93LWhvdmVyXSB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLWluLW91dDtcbn1cblxuLnVrLWJveC1zaGFkb3ctaG92ZXItc21hbGw6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cblxuLnVrLWJveC1zaGFkb3ctaG92ZXItbWVkaXVtOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci1sYXJnZTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG59XG5cbi51ay1ib3gtc2hhZG93LWhvdmVyLXhsYXJnZTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMjhweCA1MHB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG59XG5cbi8qIEJveC1zaGFkb3cgYm90dG9tXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb24uXG4gKiAyLiBTZXQgc3R5bGVcbiAqIDMuIEZpeCBzaGFkb3cgYmVpbmcgY2xpcHBlZCBpbiBTYWZhcmkgaWYgY29udGFpbmVyIGlzIGFuaW1hdGVkXG4gKi9cbkBzdXBwb3J0cyAoZmlsdGVyOiBibHVyKDApKSB7XG4gIC51ay1ib3gtc2hhZG93LWJvdHRvbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC51ay1ib3gtc2hhZG93LWJvdHRvbTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0zMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogMzBweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7XG4gICAgZmlsdGVyOiBibHVyKDIwcHgpO1xuICAgIC8qIDMgKi9cbiAgICB3aWxsLWNoYW5nZTogZmlsdGVyO1xuICB9XG59XG4vKiBEcm9wIGNhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogMS4gRmlyZWZveCBkb2Vzbid0IGFwcGx5IGA6OmZpcnN0LWxldHRlcmAgaWYgdGhlIGZpcnN0IGxldHRlciBpcyBpbnNpZGUgY2hpbGQgZWxlbWVudHNcbiAqICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDAwNFxuICogMi4gSW4gRmlyZWZveCwgYSBmbG9hdGluZyBgOjpmaXJzdC1sZXR0ZXJgIGRvZXNuJ3QgaGF2ZSBhIGxpbmUgYm94IGFuZCB0aGVyZSBmb3Igbm8gYGxpbmUtaGVpZ2h0YFxuICogICAgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE3OTMzXG4gKi9cbi51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4udWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogNC41ZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tYm90dG9tOiAtMnB4O1xufVxuXG4vKiAyICovXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAudWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuICAudWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxLjElO1xuICB9XG59XG4vKiBMb2dvXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBTdHlsZVxuICogMi4gUmVxdWlyZWQgZm9yIGBhYFxuICogMy4gQmVoYXZlIGxpa2UgaW1hZ2UgYnV0IGNhbiBiZSBvdmVycmlkZGVuIHRocm91Z2ggZmxleCB1dGlsaXR5IGNsYXNzZXNcbiAqL1xuLnVrLWxvZ28ge1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICBjb2xvcjogIzMzMztcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIDMgKi9cbjp3aGVyZSgudWstbG9nbykge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIEhvdmVyICovXG4udWstbG9nbzpob3ZlciB7XG4gIGNvbG9yOiAjMzMzO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnVrLWxvZ28gOndoZXJlKGltZywgc3ZnLCB2aWRlbykge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnVrLWxvZ28taW52ZXJzZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIERpc2FibGVkIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1kaXNhYmxlZCB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBEcmFnIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiAxLiBOZWVkZWQgaWYgbW92aW5nIG92ZXIgZWxlbWVudHMgd2l0aCBoYXZlIHRoZWlyIG93biBjdXJzb3Igb24gaG92ZXIsIGUuZy4gbGlua3Mgb3IgYnV0dG9uc1xuICogMi4gRml4IGRyYWdnaW5nIG92ZXIgaWZyYW1lc1xuICovXG4udWstZHJhZyxcbi51ay1kcmFnICoge1xuICBjdXJzb3I6IG1vdmU7XG59XG5cbi8qIDIgKi9cbi51ay1kcmFnIGlmcmFtZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBEcmFnb3ZlciBTdGF0ZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogQ3JlYXRlIGEgYm94LXNoYWRvdyB3aGVuIGRyYWdnaW5nIGEgZmlsZSBvdmVyIHRoZSB1cGxvYWQgYXJlYVxuICovXG4udWstZHJhZ292ZXIge1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMyk7XG59XG5cbi8qIEJsZW5kIG1vZGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1ibGVuZC1tdWx0aXBseSB7XG4gIG1peC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbn1cblxuLnVrLWJsZW5kLXNjcmVlbiB7XG4gIG1peC1ibGVuZC1tb2RlOiBzY3JlZW47XG59XG5cbi51ay1ibGVuZC1vdmVybGF5IHtcbiAgbWl4LWJsZW5kLW1vZGU6IG92ZXJsYXk7XG59XG5cbi51ay1ibGVuZC1kYXJrZW4ge1xuICBtaXgtYmxlbmQtbW9kZTogZGFya2VuO1xufVxuXG4udWstYmxlbmQtbGlnaHRlbiB7XG4gIG1peC1ibGVuZC1tb2RlOiBsaWdodGVuO1xufVxuXG4udWstYmxlbmQtY29sb3ItZG9kZ2Uge1xuICBtaXgtYmxlbmQtbW9kZTogY29sb3ItZG9kZ2U7XG59XG5cbi51ay1ibGVuZC1jb2xvci1idXJuIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWJ1cm47XG59XG5cbi51ay1ibGVuZC1oYXJkLWxpZ2h0IHtcbiAgbWl4LWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7XG59XG5cbi51ay1ibGVuZC1zb2Z0LWxpZ2h0IHtcbiAgbWl4LWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7XG59XG5cbi51ay1ibGVuZC1kaWZmZXJlbmNlIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7XG59XG5cbi51ay1ibGVuZC1leGNsdXNpb24ge1xuICBtaXgtYmxlbmQtbW9kZTogZXhjbHVzaW9uO1xufVxuXG4udWstYmxlbmQtaHVlIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGh1ZTtcbn1cblxuLnVrLWJsZW5kLXNhdHVyYXRpb24ge1xuICBtaXgtYmxlbmQtbW9kZTogc2F0dXJhdGlvbjtcbn1cblxuLnVrLWJsZW5kLWNvbG9yIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGNvbG9yO1xufVxuXG4udWstYmxlbmQtbHVtaW5vc2l0eSB7XG4gIG1peC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5O1xufVxuXG4vKiBUcmFuc2Zvcm1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstdHJhbnNmb3JtLWNlbnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vKiBUcmFuc2Zvcm0gT3JpZ2luXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLWxlZnQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG59XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1jZW50ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbn1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tdG9wLXJpZ2h0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xufVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1jZW50ZXItbGVmdCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xufVxuXG4udWstdHJhbnNmb3JtLW9yaWdpbi1jZW50ZXItcmlnaHQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTtcbn1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLWxlZnQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG59XG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1jZW50ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbn1cblxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tYm90dG9tLXJpZ2h0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRmxleFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi51ay1mbGV4LWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xufVxuXG4vKiBBbGlnbm1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFsaWduIGl0ZW1zIGFsb25nIHRoZSBtYWluIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogSG9yaXpvbnRhbFxuICovXG4udWstZmxleC1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4udWstZmxleC1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnVrLWZsZXgtcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4udWstZmxleC1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4udWstZmxleC1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkge1xuICAudWstZmxleC1sZWZ0XFxAcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC51ay1mbGV4LWNlbnRlclxcQHMge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuICAudWstZmxleC1iZXR3ZWVuXFxAcyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC51ay1mbGV4LWFyb3VuZFxcQHMge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG59XG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstZmxleC1sZWZ0XFxAbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG4gIC51ay1mbGV4LWNlbnRlclxcQG0ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuICAudWstZmxleC1iZXR3ZWVuXFxAbSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG4gIC51ay1mbGV4LWFyb3VuZFxcQG0ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG59XG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWZsZXgtbGVmdFxcQGwge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAudWstZmxleC1jZW50ZXJcXEBsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAudWstZmxleC1yaWdodFxcQGwge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgLnVrLWZsZXgtYmV0d2VlblxcQGwge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAudWstZmxleC1hcm91bmRcXEBsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgfVxufVxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLnVrLWZsZXgtbGVmdFxcQHhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cbiAgLnVrLWZsZXgtY2VudGVyXFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC51ay1mbGV4LXJpZ2h0XFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbiAgLnVrLWZsZXgtYmV0d2VlblxcQHhsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLnVrLWZsZXgtYXJvdW5kXFxAeGwge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICB9XG59XG4vKlxuICogQWxpZ24gaXRlbXMgaW4gdGhlIGNyb3NzIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogVmVydGljYWxcbiAqL1xuLnVrLWZsZXgtc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4udWstZmxleC10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLnVrLWZsZXgtbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnVrLWZsZXgtYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC51ay1mbGV4LXN0cmV0Y2hcXEBzIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICAudWstZmxleC10b3BcXEBzIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuICAudWstZmxleC1taWRkbGVcXEBzIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC51ay1mbGV4LWJvdHRvbVxcQHMge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgfVxufVxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLWZsZXgtc3RyZXRjaFxcQG0ge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIC51ay1mbGV4LXRvcFxcQG0ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC51ay1mbGV4LW1pZGRsZVxcQG0ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLnVrLWZsZXgtYm90dG9tXFxAbSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB9XG59XG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWZsZXgtc3RyZXRjaFxcQGwge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIC51ay1mbGV4LXRvcFxcQGwge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC51ay1mbGV4LW1pZGRsZVxcQGwge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLnVrLWZsZXgtYm90dG9tXFxAbCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB9XG59XG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstZmxleC1zdHJldGNoXFxAeGwge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIC51ay1mbGV4LXRvcFxcQHhsIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuICAudWstZmxleC1taWRkbGVcXEB4bCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAudWstZmxleC1ib3R0b21cXEB4bCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB9XG59XG4vKiBEaXJlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLWZsZXgtcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLnVrLWZsZXgtcm93LXJldmVyc2Uge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG59XG5cbi51ay1mbGV4LWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi51ay1mbGV4LWNvbHVtbi1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC51ay1mbGV4LXJvd1xcQHMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbiAgLnVrLWZsZXgtY29sdW1uXFxAcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLWZsZXgtcm93XFxAbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAudWstZmxleC1jb2x1bW5cXEBtIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLWZsZXgtcm93XFxAbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAudWstZmxleC1jb2x1bW5cXEBsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstZmxleC1yb3dcXEB4bCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuICAudWstZmxleC1jb2x1bW5cXEB4bCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuLyogV3JhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstZmxleC1ub3dyYXAge1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbn1cblxuLnVrLWZsZXgtd3JhcCB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnVrLWZsZXgtd3JhcC1yZXZlcnNlIHtcbiAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XG59XG5cbi8qXG4gKiBBbGlnbnMgaXRlbXMgd2l0aGluIHRoZSBmbGV4IGNvbnRhaW5lciB3aGVuIHRoZXJlIGlzIGV4dHJhIHNwYWNlIGluIHRoZSBjcm9zcy1heGlzXG4gKiBPbmx5IHdvcmtzIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgbGluZSBvZiBmbGV4IGl0ZW1zXG4gKi9cbi51ay1mbGV4LXdyYXAtc3RyZXRjaCB7XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG59XG5cbi51ay1mbGV4LXdyYXAtdG9wIHtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLnVrLWZsZXgtd3JhcC1taWRkbGUge1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG59XG5cbi51ay1mbGV4LXdyYXAtYm90dG9tIHtcbiAgYWxpZ24tY29udGVudDogZmxleC1lbmQ7XG59XG5cbi51ay1mbGV4LXdyYXAtYmV0d2VlbiB7XG4gIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi51ay1mbGV4LXdyYXAtYXJvdW5kIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4vKiBJdGVtIG9yZGVyaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBEZWZhdWx0IGlzIDBcbiAqL1xuLnVrLWZsZXgtZmlyc3Qge1xuICBvcmRlcjogLTE7XG59XG5cbi51ay1mbGV4LWxhc3Qge1xuICBvcmRlcjogOTk7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIHtcbiAgLnVrLWZsZXgtZmlyc3RcXEBzIHtcbiAgICBvcmRlcjogLTE7XG4gIH1cbiAgLnVrLWZsZXgtbGFzdFxcQHMge1xuICAgIG9yZGVyOiA5OTtcbiAgfVxufVxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLWZsZXgtZmlyc3RcXEBtIHtcbiAgICBvcmRlcjogLTE7XG4gIH1cbiAgLnVrLWZsZXgtbGFzdFxcQG0ge1xuICAgIG9yZGVyOiA5OTtcbiAgfVxufVxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1mbGV4LWZpcnN0XFxAbCB7XG4gICAgb3JkZXI6IC0xO1xuICB9XG4gIC51ay1mbGV4LWxhc3RcXEBsIHtcbiAgICBvcmRlcjogOTk7XG4gIH1cbn1cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC51ay1mbGV4LWZpcnN0XFxAeGwge1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuICAudWstZmxleC1sYXN0XFxAeGwge1xuICAgIG9yZGVyOiA5OTtcbiAgfVxufVxuLyogSXRlbSBkaW1lbnNpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBJbml0aWFsOiAwIDEgYXV0b1xuICogQ29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rc1xuICovXG4udWstZmxleC1pbml0aWFsIHtcbiAgZmxleDogaW5pdGlhbDtcbn1cblxuLypcbiAqIE5vIEZsZXg6IDAgMCBhdXRvXG4gKiBDb250ZW50IGRpbWVuc2lvbnNcbiAqL1xuLnVrLWZsZXgtbm9uZSB7XG4gIGZsZXg6IG5vbmU7XG59XG5cbi8qXG4gKiBSZWxhdGl2ZSBGbGV4OiAxIDEgYXV0b1xuICogU3BhY2UgaXMgYWxsb2NhdGVkIGNvbnNpZGVyaW5nIGNvbnRlbnRcbiAqL1xuLnVrLWZsZXgtYXV0byB7XG4gIGZsZXg6IGF1dG87XG59XG5cbi8qXG4gKiBBYnNvbHV0ZSBGbGV4OiAxIDEgMCVcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gZmxleFxuICovXG4udWstZmxleC0xIHtcbiAgZmxleDogMTtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkge1xuICAudWstZmxleC1pbml0aWFsXFxAcyB7XG4gICAgZmxleDogaW5pdGlhbDtcbiAgfVxuICAudWstZmxleC1ub25lXFxAcyB7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuICAudWstZmxleC0xXFxAcyB7XG4gICAgZmxleDogMTtcbiAgfVxufVxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnVrLWZsZXgtaW5pdGlhbFxcQG0ge1xuICAgIGZsZXg6IGluaXRpYWw7XG4gIH1cbiAgLnVrLWZsZXgtbm9uZVxcQG0ge1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cbiAgLnVrLWZsZXgtMVxcQG0ge1xuICAgIGZsZXg6IDE7XG4gIH1cbn1cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstZmxleC1pbml0aWFsXFxAbCB7XG4gICAgZmxleDogaW5pdGlhbDtcbiAgfVxuICAudWstZmxleC1ub25lXFxAbCB7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuICAudWstZmxleC0xXFxAbCB7XG4gICAgZmxleDogMTtcbiAgfVxufVxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLnVrLWZsZXgtaW5pdGlhbFxcQHhsIHtcbiAgICBmbGV4OiBpbml0aWFsO1xuICB9XG4gIC51ay1mbGV4LW5vbmVcXEB4bCB7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuICAudWstZmxleC0xXFxAeGwge1xuICAgIGZsZXg6IDE7XG4gIH1cbn1cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNYXJnaW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIERlZmF1bHRcbiAqL1xuLnVrLW1hcmdpbiB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbiogKyAudWstbWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLyogWFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4teHNtYWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4qICsgLnVrLW1hcmdpbi14c21hbGwge1xuICBtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi14c21hbGwtdG9wIHtcbiAgbWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4teHNtYWxsLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXhzbWFsbC1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDVweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXhzbWFsbC1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4tc21hbGwge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4qICsgLnVrLW1hcmdpbi1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1zbWFsbC10b3Age1xuICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tc21hbGwtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXNtYWxsLWxlZnQge1xuICBtYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXNtYWxsLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIE1lZGl1bVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLW1lZGl1bSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbiogKyAudWstbWFyZ2luLW1lZGl1bSB7XG4gIG1hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1tZWRpdW0tdG9wIHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLW1lZGl1bS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tbWVkaXVtLWxlZnQge1xuICBtYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLW1lZGl1bS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4vKiBMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLWxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuKiArIC51ay1tYXJnaW4tbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tbGFyZ2UtdG9wIHtcbiAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogNDBweCAhaW1wb3J0YW50O1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLW1hcmdpbi1sYXJnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNzBweDtcbiAgfVxuICAqICsgLnVrLW1hcmdpbi1sYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50O1xuICB9XG4gIC51ay1tYXJnaW4tbGFyZ2UtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHggIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLWxhcmdlLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA3MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA3MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIFhMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstbWFyZ2luLXhsYXJnZSB7XG4gIG1hcmdpbi1ib3R0b206IDcwcHg7XG59XG5cbiogKyAudWstbWFyZ2luLXhsYXJnZSB7XG4gIG1hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHtcbiAgbWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXhsYXJnZS1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiA3MHB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4teGxhcmdlLWxlZnQge1xuICBtYXJnaW4tbGVmdDogNzBweCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXhsYXJnZS1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogNzBweCAhaW1wb3J0YW50O1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLW1hcmdpbi14bGFyZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDE0MHB4O1xuICB9XG4gICogKyAudWstbWFyZ2luLXhsYXJnZSB7XG4gICAgbWFyZ2luLXRvcDogMTQwcHggIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLXhsYXJnZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDE0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC51ay1tYXJnaW4teGxhcmdlLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC51ay1tYXJnaW4teGxhcmdlLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDE0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIEF1dG9cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLW1hcmdpbi1hdXRvIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tYXV0by10b3Age1xuICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tYXV0by1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tYXV0by1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1hdXRvLXJpZ2h0IHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tYXV0by12ZXJ0aWNhbCB7XG4gIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC51ay1tYXJnaW4tYXV0b1xcQHMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQHMge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstbWFyZ2luLWF1dG9cXEBtIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAbSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLWF1dG8tcmlnaHRcXEBtIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC51ay1tYXJnaW4tYXV0b1xcQGwge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBsIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQGwge1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstbWFyZ2luLWF1dG9cXEB4bCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQHhsIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQHhsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1tYXJnaW4tcmVtb3ZlIHtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tcmVtb3ZlLXRvcCB7XG4gIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1yZW1vdmUtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXJlbW92ZS1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1yZW1vdmUtdmVydGljYWwge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1yZW1vdmUtYWRqYWNlbnQgKyAqLFxuLnVrLW1hcmdpbi1yZW1vdmUtZmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tcmVtb3ZlLWxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkge1xuICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAcyB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQHMge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgfVxuICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQG0ge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQGwge1xuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEBsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLnVrLW1hcmdpbi1yZW1vdmUtbGVmdFxcQHhsIHtcbiAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAeGwge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICB9XG59XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGFkZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGFkZGluZyB7XG4gIHBhZGRpbmc6IDMwcHg7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstcGFkZGluZyB7XG4gICAgcGFkZGluZzogNDBweDtcbiAgfVxufVxuLyogU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXBhZGRpbmctc21hbGwge1xuICBwYWRkaW5nOiAxNXB4O1xufVxuXG4vKiBMYXJnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udWstcGFkZGluZy1sYXJnZSB7XG4gIHBhZGRpbmc6IDQwcHg7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstcGFkZGluZy1sYXJnZSB7XG4gICAgcGFkZGluZzogNzBweDtcbiAgfVxufVxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wYWRkaW5nLXJlbW92ZSB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLXRvcCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1wYWRkaW5nLXJlbW92ZS1ib3R0b20ge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udWstcGFkZGluZy1yZW1vdmUtbGVmdCB7XG4gIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xufVxuXG4udWstcGFkZGluZy1yZW1vdmUtcmlnaHQge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1wYWRkaW5nLXJlbW92ZS12ZXJ0aWNhbCB7XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1wYWRkaW5nLXJlbW92ZS1ob3Jpem9udGFsIHtcbiAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBvc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbjpyb290IHtcbiAgLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0OiAwcHg7XG59XG5cbi8qIERpcmVjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdy5cbiAqL1xuW2NsYXNzKj11ay1wb3NpdGlvbi10b3BdLFxuW2NsYXNzKj11ay1wb3NpdGlvbi1ib3R0b21dLFxuW2NsYXNzKj11ay1wb3NpdGlvbi1sZWZ0XSxcbltjbGFzcyo9dWstcG9zaXRpb24tcmlnaHRdLFxuW2NsYXNzKj11ay1wb3NpdGlvbi1jZW50ZXJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAodmFyKC0tdWstcG9zaXRpb24tbWFyZ2luLW9mZnNldCkgKiAyKSk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qXG4gKiBFZGdlc1xuICogRG9uJ3QgdXNlIGB3aWR0aDogMTAwJWAgYmVjYXVzZSBpdCdzIHdyb25nIGlmIHRoZSBwYXJlbnQgaGFzIHBhZGRpbmcuXG4gKi9cbi51ay1wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4vKlxuICogQ29ybmVyc1xuICovXG4udWstcG9zaXRpb24tdG9wLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi10b3AtcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLWxlZnQge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20tcmlnaHQge1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4vKlxuICogQ2VudGVyXG4gKiAxLiBGaXggdGV4dCB3cmFwcGluZyBpZiBjb250ZW50IGlzIGxhcmdlciB0aGFuIDUwJSBvZiB0aGUgY29udGFpbmVyLlxuICogICAgVXNpbmcgYG1heC1jb250ZW50YCByZXF1aXJlcyBgbWF4LXdpZHRoYCBvZiAxMDAlIHdoaWNoIGlzIHNldCBnZW5lcmFsbHkuXG4gKi9cbi51ay1wb3NpdGlvbi1jZW50ZXIge1xuICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0tdWstcG9zaXRpb24tbWFyZ2luLW9mZnNldCkpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIHZhcigtLXVrLXBvc2l0aW9uLW1hcmdpbi1vZmZzZXQpKTtcbiAgLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteDogLTUwJTtcbiAgLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteTogLTUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXgpLCB2YXIoLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteSkpO1xuICAvKiAxICovXG4gIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLyogVmVydGljYWwgKi9cbltjbGFzcyo9dWstcG9zaXRpb24tY2VudGVyLWxlZnRdLFxuW2NsYXNzKj11ay1wb3NpdGlvbi1jZW50ZXItcmlnaHRdLFxuLnVrLXBvc2l0aW9uLWNlbnRlci12ZXJ0aWNhbCB7XG4gIHRvcDogY2FsYyg1MCUgLSB2YXIoLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0KSk7XG4gIC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXk6IC01MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIHZhcigtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS15KSk7XG59XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItbGVmdCB7XG4gIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQge1xuICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci12ZXJ0aWNhbCB7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQtb3V0IHtcbiAgcmlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodC1vdXQge1xuICBsZWZ0OiAxMDAlO1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIsXG4udWstcG9zaXRpb24tY2VudGVyLWhvcml6b250YWwge1xuICBsZWZ0OiBjYWxjKDUwJSAtIHZhcigtLXVrLXBvc2l0aW9uLW1hcmdpbi1vZmZzZXQpKTtcbiAgLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteDogLTUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXgpLCAwKTtcbiAgLyogMSAqL1xuICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyIHtcbiAgdG9wOiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7XG4gIGJvdHRvbTogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1ob3Jpem9udGFsIHtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG59XG5cbi8qXG4gKiBDb3ZlclxuICovXG4udWstcG9zaXRpb24tY292ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cblxuLyogTWFyZ2luXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wb3NpdGlvbi1zbWFsbCB7XG4gIG1hcmdpbjogMTVweDtcbiAgLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0OiAxNXB4O1xufVxuXG4udWstcG9zaXRpb24tbWVkaXVtIHtcbiAgbWFyZ2luOiAzMHB4O1xuICAtLXVrLXBvc2l0aW9uLW1hcmdpbi1vZmZzZXQ6IDMwcHg7XG59XG5cbi51ay1wb3NpdGlvbi1sYXJnZSB7XG4gIG1hcmdpbjogMzBweDtcbiAgLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0OiAzMHB4O1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICBtYXJnaW46IDUwcHg7XG4gICAgLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0OiA1MHB4O1xuICB9XG59XG4vKiBTY2hlbWVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xufVxuXG4udWstcG9zaXRpb24tYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn1cblxuLnVrLXBvc2l0aW9uLWZpeGVkIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbi51ay1wb3NpdGlvbi1zdGlja3kge1xuICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XG59XG5cbi8qIExheWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1wb3NpdGlvbi16LWluZGV4IHtcbiAgei1pbmRleDogMTtcbn1cblxuLnVrLXBvc2l0aW9uLXotaW5kZXgtemVybyB7XG4gIHotaW5kZXg6IDA7XG59XG5cbi51ay1wb3NpdGlvbi16LWluZGV4LW5lZ2F0aXZlIHtcbiAgei1pbmRleDogLTE7XG59XG5cbi51ay1wb3NpdGlvbi16LWluZGV4LWhpZ2gge1xuICB6LWluZGV4OiA5OTA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUcmFuc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRyYW5zaXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBUaGUgdG9nZ2xlIGlzIHRyaWdnZXJlZCBvbiB0b3VjaCBkZXZpY2VzIGJ5IHR3byBtZXRob2RzOlxuICogMS4gVXNpbmcgYDpmb2N1c2AgYW5kIHRhYmluZGV4XG4gKiAyLiBVc2luZyBgOmhvdmVyYCBhbmQgYSBgdG91Y2hzdGFydGAgZXZlbnQgbGlzdGVuZXIgcmVnaXN0ZXJlZCBvbiB0aGUgZG9jdW1lbnRcbiAqICAgIChEb2Vzbid0IHdvcmsgb24gU3VyZmFjZSB0b3VjaCBkZXZpY2VzKVxuICovXG46d2hlcmUoLnVrLXRyYW5zaXRpb24tZmFkZSksXG46d2hlcmUoW2NsYXNzKj11ay10cmFuc2l0aW9uLXNjYWxlXSksXG46d2hlcmUoW2NsYXNzKj11ay10cmFuc2l0aW9uLXNsaWRlXSkge1xuICAtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS14OiAwO1xuICAtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS15OiAwO1xufVxuXG4udWstdHJhbnNpdGlvbi1mYWRlLFxuW2NsYXNzKj11ay10cmFuc2l0aW9uLXNjYWxlXSxcbltjbGFzcyo9dWstdHJhbnNpdGlvbi1zbGlkZV0ge1xuICAtLXVrLXRyYW5zbGF0ZS14OiAwO1xuICAtLXVrLXRyYW5zbGF0ZS15OiAwO1xuICAtLXVrLXNjYWxlLXg6IDE7XG4gIC0tdWstc2NhbGUteTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXgpLCB2YXIoLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteSkpIHRyYW5zbGF0ZSh2YXIoLS11ay10cmFuc2xhdGUteCksIHZhcigtLXVrLXRyYW5zbGF0ZS15KSkgc2NhbGUodmFyKC0tdWstc2NhbGUteCksIHZhcigtLXVrLXNjYWxlLXkpKTtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLW91dDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qXG4gKiBGYWRlXG4gKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1mYWRlLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLWZhZGUsXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMtd2l0aGluIC51ay10cmFuc2l0aW9uLWZhZGUsXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLWZhZGUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKlxuICogU2NhbGVcbiAqIDEuIE1ha2UgaW1hZ2UgcmVuZGVyaW5nIHRoZSBzYW1lIGR1cmluZyB0aGUgdHJhbnNpdGlvbiBhcyBiZWZvcmUgYW5kIGFmdGVyLiBQcmVmaXhlZCBiZWNhdXNlIG9mIFNhZmFyaS5cbiAqL1xuLyogMSAqL1xuW2NsYXNzKj11ay10cmFuc2l0aW9uLXNjYWxlXSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udWstdHJhbnNpdGlvbi1zY2FsZS11cCB7XG4gIC0tdWstc2NhbGUteDogMTtcbiAgLS11ay1zY2FsZS15OiAxO1xufVxuXG4udWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHtcbiAgLS11ay1zY2FsZS14OiAxLjAzO1xuICAtLXVrLXNjYWxlLXk6IDEuMDM7XG59XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cy13aXRoaW4gLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwIHtcbiAgLS11ay1zY2FsZS14OiAxLjAzO1xuICAtLXVrLXNjYWxlLXk6IDEuMDM7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMtd2l0aGluIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24ge1xuICAtLXVrLXNjYWxlLXg6IDE7XG4gIC0tdWstc2NhbGUteTogMTtcbiAgb3BhY2l0eTogMTtcbn1cblxuLypcbiAqIFNsaWRlXG4gKi9cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcCB7XG4gIC0tdWstdHJhbnNsYXRlLXk6IC0xMDAlO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20ge1xuICAtLXVrLXRyYW5zbGF0ZS15OiAxMDAlO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0IHtcbiAgLS11ay10cmFuc2xhdGUteDogLTEwMCU7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0IHtcbiAgLS11ay10cmFuc2xhdGUteDogMTAwJTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLXNtYWxsIHtcbiAgLS11ay10cmFuc2xhdGUteTogY2FsYygtMSAqIDEwcHgpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tc21hbGwge1xuICAtLXVrLXRyYW5zbGF0ZS15OiAxMHB4O1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LXNtYWxsIHtcbiAgLS11ay10cmFuc2xhdGUteDogY2FsYygtMSAqIDEwcHgpO1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7XG4gIC0tdWstdHJhbnNsYXRlLXg6IDEwcHg7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1tZWRpdW0ge1xuICAtLXVrLXRyYW5zbGF0ZS15OiBjYWxjKC0xICogNTBweCk7XG59XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0ge1xuICAtLXVrLXRyYW5zbGF0ZS15OiA1MHB4O1xufVxuXG4udWstdHJhbnNpdGlvbi1zbGlkZS1sZWZ0LW1lZGl1bSB7XG4gIC0tdWstdHJhbnNsYXRlLXg6IGNhbGMoLTEgKiA1MHB4KTtcbn1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHtcbiAgLS11ay10cmFuc2xhdGUteDogNTBweDtcbn1cblxuLyogU2hvdyAqL1xuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmhvdmVyIFtjbGFzcyo9dWstdHJhbnNpdGlvbi1zbGlkZV0sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgW2NsYXNzKj11ay10cmFuc2l0aW9uLXNsaWRlXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cy13aXRoaW4gW2NsYXNzKj11ay10cmFuc2l0aW9uLXNsaWRlXSxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgW2NsYXNzKj11ay10cmFuc2l0aW9uLXNsaWRlXSB7XG4gIC0tdWstdHJhbnNsYXRlLXg6IDA7XG4gIC0tdWstdHJhbnNsYXRlLXk6IDA7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIE9wYWNpdHkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRyYW5zaXRpb24tb3BhcXVlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogRHVyYXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRyYW5zaXRpb24tc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuN3M7XG59XG5cbi8qIERpc2FibGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnVrLXRyYW5zaXRpb24tZGlzYWJsZSxcbi51ay10cmFuc2l0aW9uLWRpc2FibGUgKiB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhpZGRlblxuICogYGhpZGRlbmAgYXR0cmlidXRlIGFsc28gc2V0IGhlcmUgdG8gbWFrZSBpdCBzdHJvbmdlclxuICovXG5baGlkZGVuXSxcbi51ay1oaWRkZW4sXG4udWstaGlkZGVuLWVtcHR5OmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gIC51ay1oaWRkZW5cXEBzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC51ay1oaWRkZW5cXEBtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudWstaGlkZGVuXFxAbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAudWstaGlkZGVuXFxAeGwge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLypcbiAqIFZpc2libGVcbiAqL1xuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAzMTlweCkge1xuICAudWstdmlzaWJsZVxcQHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnVrLXZpc2libGVcXEBtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnVrLXZpc2libGVcXEBsIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAxNTk5cHgpIHtcbiAgLnVrLXZpc2libGVcXEB4bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4vKiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi51ay1pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLyogQmFzZWQgb24gdGhlIFN0YXRlIG9mIHRoZSBQYXJlbnQgRWxlbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKlxuICogTWluZCB0aGF0IGBkaXNwbGF5OiBub25lYCwgYHZpc2liaWxpdHk6IGhpZGRlbmAgYW5kIGBvcGFjaXR5OiAwYFxuICogcmVtb3ZlIHRoZSBlbGVtZW50IGZyb20gdGhlIGFjY2Vzc2liaWxpdHkgdHJlZSBhbmQgdGhhdFxuICogYGRpc3BsYXk6IG5vbmVgIGFuZCBgdmlzaWJpbGl0eTogaGlkZGVuYCBhcmUgbm90IGZvY3VzYWJsZS5cbiAqXG4gKiBUaGUgdGFyZ2V0IHN0YXlzIHZpc2libGUgaWYgYW55IGVsZW1lbnQgd2l0aGluIHJlY2VpdmVzIGZvY3VzIHRocm91Z2gga2V5Ym9hcmQuXG4gKi9cbi8qXG4gKiBSZW1vdmUgc3BhY2Ugd2hlbiBoaWRkZW4uXG4gKiAxLiBSZW1vdmUgZnJvbSBkb2N1bWVudCBmbG93LlxuICogMi4gSGlkZSBlbGVtZW50IGFuZCBzaHJpbmsgaXRzIGRpbWVuc2lvbi4gQ3VycmVudCBicm93c2VycyBhbmQgc2NyZWVuIHJlYWRlcnNcbiAqICAgIGtlZXAgdGhlIGVsZW1lbnQgaW4gdGhlIGFjY2Vzc2liaWxpdHkgdHJlZSBldmVuIHdpdGggemVybyBkaW1lbnNpb25zLlxuICogICAgVXNpbmcgYHRhYmluZGV4PVwiLTFcImAgd2lsbCBzaG93IHRoZSBlbGVtZW50IG9uIHRvdWNoIGRldmljZXMuXG4gKiAgICBOb3RlOiBgY2xpcC1wYXRoYCBkb2Vzbid0IHdvcmsgd2l0aCBgdGFiaW5kZXhgIG9uIHRvdWNoIGRldmljZXMuXG4gKi9cbi51ay1oaWRkZW4tdmlzdWFsbHk6bm90KDpmb2N1cyk6bm90KDphY3RpdmUpOm5vdCg6Zm9jdXMtd2l0aGluKSxcbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSAudWstaGlkZGVuLWhvdmVyOm5vdCg6Zm9jdXMtdmlzaWJsZSk6bm90KDpoYXMoOmZvY3VzLXZpc2libGUpKSxcbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSAudWstaGlkZGVuLWhvdmVyOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gIC8qIDEgKi9cbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIC8qIDIgKi9cbiAgd2lkdGg6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiBLZWVwIHNwYWNlIHdoZW4gaGlkZGVuLlxuICogSGlkZSBlbGVtZW50IHdpdGhvdXQgc2hyaW5raW5nIGl0cyBkaW1lbnNpb24uXG4gKiBOb3RlOiBgY2xpcC1wYXRoYCBkb2Vzbid0IHdvcmsgd2l0aCBob3ZlciBmb3IgZWxlbWVudHMgb3V0c2lkZSBvZiB0aGUgdG9nZ2xlIGJveC5cbiAqL1xuLnVrLXZpc2libGUtdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIC51ay1pbnZpc2libGUtaG92ZXI6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuXG4vKiBCYXNlZCBvbiBIb3ZlciBDYXBhYmlsaXR5IG9mIHRoZSBQb2ludGluZyBEZXZpY2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEhvdmVyXG4gKi9cbi8qIEhpZGUgaWYgcHJpbWFyeSBwb2ludGluZyBkZXZpY2UgZG9lc24ndCBzdXBwb3J0IGhvdmVyLCBlLmcuIHRvdWNoIHNjcmVlbnMuICovXG5AbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gIC51ay1oaWRkZW4tdG91Y2gge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogSGlkZSBpZiBwcmltYXJ5IHBvaW50aW5nIGRldmljZSBzdXBwb3J0cyBob3ZlciwgZS5nLiBtaWNlLiAqL1xuQG1lZGlhIChob3Zlcikge1xuICAudWstaGlkZGVuLW5vdG91Y2gge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEludmVyc2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEltcGxlbWVudGVkIGNsYXNzIGRlcGVuZHMgb24gdGhlIGdlbmVyYWwgdGhlbWUgY29sb3JcbiAqIGB1ay1saWdodGAgaXMgZm9yIGxpZ2h0IGNvbG9ycyBvbiBkYXJrIGJhY2tncm91bmRzXG4gKiBgdWstZGFya2AgaXMgb3IgZGFyayBjb2xvcnMgb24gbGlnaHQgYmFja2dyb3VuZHNcbiAqL1xuLnVrLWxpZ2h0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvciksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvciksIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pLCAudWstb3ZlcmxheS1wcmltYXJ5LCAudWstb2ZmY2FudmFzLWJhciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIC8qIFdlYmtpdCAqL1xuICAvKiBGaXJlZm94ICovXG4gIC8qIFdlYmtpdCAqL1xuICAvKiBGaXJlZm94ICovXG59XG4udWstbGlnaHQgLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMyUyMDEzJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwd2lkdGglM0QlMjIxJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB4JTNEJTIyNiUyMiUyMHklM0QlMjIwJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnVrLWxpZ2h0IC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnVrLWxpZ2h0IC51ay1hcnRpY2xlLW1ldGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFydGljbGUtbWV0YSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hcnRpY2xlLW1ldGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFydGljbGUtbWV0YSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hcnRpY2xlLW1ldGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1hcnRpY2xlLW1ldGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1hcnRpY2xlLW1ldGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWFydGljbGUtbWV0YSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYXJ0aWNsZS1tZXRhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1hcnRpY2xlLW1ldGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1hcnRpY2xlLW1ldGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay1iYWRnZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2UsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYmFkZ2UsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJhZGdlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYmFkZ2UsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1iYWRnZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYmFkZ2UsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJhZGdlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1iYWRnZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJhZGdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM2NjYgIWltcG9ydGFudDtcbn1cbi51ay1saWdodCBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgYSwgLnVrLW92ZXJsYXktcHJpbWFyeSBhLCAudWstb2ZmY2FudmFzLWJhciBhLFxuLnVrLWxpZ2h0IC51ay1saW5rLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluayxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluayxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmssXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmssXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluayxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saW5rLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluayxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxpbmssXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1saW5rLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpbmsge1xuICBjb2xvcjogI2ZmZjtcbn1cbi51ay1saWdodCBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgYTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSBhOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciBhOmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1saW5rOmhvdmVyLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluazpob3Zlcixcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluazpob3Zlcixcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbms6aG92ZXIsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbms6aG92ZXIsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluazpob3Zlcixcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saW5rOmhvdmVyLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluazpob3Zlcixcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxpbms6aG92ZXIsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1saW5rOmhvdmVyLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpbms6aG92ZXIsXG4udWstbGlnaHQgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmssXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmssXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmssXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluayxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rIHtcbiAgY29sb3I6ICNmZmY7XG59XG4udWstbGlnaHQgOm5vdChwcmUpID4gY29kZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBjb2RlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gY29kZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBjb2RlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gY29kZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgOm5vdChwcmUpID4gY29kZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgOm5vdChwcmUpID4gY29kZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSA6bm90KHByZSkgPiBjb2RlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIDpub3QocHJlKSA+IGNvZGUsIC51ay1vdmVybGF5LXByaW1hcnkgOm5vdChwcmUpID4gY29kZSwgLnVrLW9mZmNhbnZhcy1iYXIgOm5vdChwcmUpID4gY29kZSxcbi51ay1saWdodCA6bm90KHByZSkgPiBrYmQsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpub3QocHJlKSA+IGtiZCxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBrYmQsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpub3QocHJlKSA+IGtiZCxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBrYmQsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSA6bm90KHByZSkgPiBrYmQsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSA6bm90KHByZSkgPiBrYmQsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IDpub3QocHJlKSA+IGtiZCxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgOm5vdChwcmUpID4ga2JkLFxuLnVrLW92ZXJsYXktcHJpbWFyeSA6bm90KHByZSkgPiBrYmQsXG4udWstb2ZmY2FudmFzLWJhciA6bm90KHByZSkgPiBrYmQsXG4udWstbGlnaHQgOm5vdChwcmUpID4gc2FtcCxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOm5vdChwcmUpID4gc2FtcCxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBzYW1wLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6bm90KHByZSkgPiBzYW1wLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpub3QocHJlKSA+IHNhbXAsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSA6bm90KHByZSkgPiBzYW1wLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgOm5vdChwcmUpID4gc2FtcCxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgOm5vdChwcmUpID4gc2FtcCxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgOm5vdChwcmUpID4gc2FtcCxcbi51ay1vdmVybGF5LXByaW1hcnkgOm5vdChwcmUpID4gc2FtcCxcbi51ay1vZmZjYW52YXMtYmFyIDpub3QocHJlKSA+IHNhbXAge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWstbGlnaHQgZW0sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgZW0sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBlbSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBlbSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGVtLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBlbSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgZW0sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgZW0sIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgZW0sIC51ay1vdmVybGF5LXByaW1hcnkgZW0sIC51ay1vZmZjYW52YXMtYmFyIGVtIHtcbiAgY29sb3I6ICNmZmY7XG59XG4udWstbGlnaHQgaDEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgxLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoMSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgaDEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgaDEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgaDEsIC51ay1vdmVybGF5LXByaW1hcnkgaDEsIC51ay1vZmZjYW52YXMtYmFyIGgxLCAudWstbGlnaHQgLnVrLWgxLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oMSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWgxLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1oMSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaDEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWgxLCAudWstb2ZmY2FudmFzLWJhciAudWstaDEsXG4udWstbGlnaHQgaDIsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgyLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGgyLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMixcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMixcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGgyLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgaDIsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGgyLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSBoMixcbi51ay1vdmVybGF5LXByaW1hcnkgaDIsXG4udWstb2ZmY2FudmFzLWJhciBoMiwgLnVrLWxpZ2h0IC51ay1oMiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWgyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWgyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaDIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1oMiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaDIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWgyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oMiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWgyLFxuLnVrLWxpZ2h0IGgzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoMyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDMsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoMyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIGgzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBoMyxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgaDMsXG4udWstb3ZlcmxheS1wcmltYXJ5IGgzLFxuLnVrLW9mZmNhbnZhcy1iYXIgaDMsIC51ay1saWdodCAudWstaDMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWgzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWgzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oMywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWgzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaDMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWgzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1oMywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaDMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1oMyxcbi51ay1saWdodCBoNCxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDQsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDQsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg0LFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg0LFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgaDQsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSBoNCxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgaDQsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIGg0LFxuLnVrLW92ZXJsYXktcHJpbWFyeSBoNCxcbi51ay1vZmZjYW52YXMtYmFyIGg0LCAudWstbGlnaHQgLnVrLWg0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oNCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWg0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1oNCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaDQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWg0LCAudWstb2ZmY2FudmFzLWJhciAudWstaDQsXG4udWstbGlnaHQgaDUsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg1LFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGg1LFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNSxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNSxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGg1LFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgaDUsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGg1LFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSBoNSxcbi51ay1vdmVybGF5LXByaW1hcnkgaDUsXG4udWstb2ZmY2FudmFzLWJhciBoNSwgLnVrLWxpZ2h0IC51ay1oNSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaDUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWg1LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWg1LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaDUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1oNSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaDUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWg1LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oNSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWg1LFxuLnVrLWxpZ2h0IGg2LFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNixcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBoNixcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDYsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaDYsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBoNixcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIGg2LFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBoNixcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgaDYsXG4udWstb3ZlcmxheS1wcmltYXJ5IGg2LFxuLnVrLW9mZmNhbnZhcy1iYXIgaDYsIC51ay1saWdodCAudWstaDYsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWg2LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWg2LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oNiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWg2LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaDYsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWg2LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1oNiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaDYsIC51ay1vZmZjYW52YXMtYmFyIC51ay1oNixcbi51ay1saWdodCAudWstaGVhZGluZy1zbWFsbCxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctc21hbGwsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctc21hbGwsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctc21hbGwsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaGVhZGluZy1zbWFsbCxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctc21hbGwsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaGVhZGluZy1zbWFsbCxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1oZWFkaW5nLXNtYWxsLFxuLnVrLWxpZ2h0IC51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbWVkaXVtLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbWVkaXVtLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctbWVkaXVtLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaGVhZGluZy1tZWRpdW0sXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1saWdodCAudWstaGVhZGluZy1sYXJnZSxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxhcmdlLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWxhcmdlLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaGVhZGluZy1sYXJnZSxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctbGFyZ2UsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1oZWFkaW5nLWxhcmdlLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaGVhZGluZy1sYXJnZSxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1oZWFkaW5nLWxhcmdlLFxuLnVrLWxpZ2h0IC51ay1oZWFkaW5nLXhsYXJnZSxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmcteGxhcmdlLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLXhsYXJnZSxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmcteGxhcmdlLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLXhsYXJnZSxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLXhsYXJnZSxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1oZWFkaW5nLXhsYXJnZSxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmcteGxhcmdlLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaGVhZGluZy14bGFyZ2UsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1oZWFkaW5nLXhsYXJnZSxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1oZWFkaW5nLXhsYXJnZSxcbi51ay1saWdodCAudWstaGVhZGluZy0yeGxhcmdlLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy0yeGxhcmdlLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLTJ4bGFyZ2UsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLTJ4bGFyZ2UsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctMnhsYXJnZSxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLTJ4bGFyZ2UsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaGVhZGluZy0yeGxhcmdlLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy0yeGxhcmdlLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaGVhZGluZy0yeGxhcmdlLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaGVhZGluZy0yeGxhcmdlLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWhlYWRpbmctMnhsYXJnZSxcbi51ay1saWdodCAudWstaGVhZGluZy0zeGxhcmdlLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy0zeGxhcmdlLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLTN4bGFyZ2UsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLTN4bGFyZ2UsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctM3hsYXJnZSxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLTN4bGFyZ2UsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaGVhZGluZy0zeGxhcmdlLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy0zeGxhcmdlLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaGVhZGluZy0zeGxhcmdlLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaGVhZGluZy0zeGxhcmdlLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWhlYWRpbmctM3hsYXJnZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnVrLWxpZ2h0IGJsb2NrcXVvdGUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYmxvY2txdW90ZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGJsb2NrcXVvdGUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYmxvY2txdW90ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGJsb2NrcXVvdGUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGJsb2NrcXVvdGUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIGJsb2NrcXVvdGUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgYmxvY2txdW90ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSBibG9ja3F1b3RlLCAudWstb3ZlcmxheS1wcmltYXJ5IGJsb2NrcXVvdGUsIC51ay1vZmZjYW52YXMtYmFyIGJsb2NrcXVvdGUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi51ay1saWdodCBibG9ja3F1b3RlIGZvb3RlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBibG9ja3F1b3RlIGZvb3RlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGJsb2NrcXVvdGUgZm9vdGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGJsb2NrcXVvdGUgZm9vdGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYmxvY2txdW90ZSBmb290ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGJsb2NrcXVvdGUgZm9vdGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSBibG9ja3F1b3RlIGZvb3RlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBibG9ja3F1b3RlIGZvb3RlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSBibG9ja3F1b3RlIGZvb3RlciwgLnVrLW92ZXJsYXktcHJpbWFyeSBibG9ja3F1b3RlIGZvb3RlciwgLnVrLW9mZmNhbnZhcy1iYXIgYmxvY2txdW90ZSBmb290ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IGhyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGhyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaHIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgaHIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBociwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgaHIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIGhyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGhyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIGhyLCAudWstb3ZlcmxheS1wcmltYXJ5IGhyLCAudWstb2ZmY2FudmFzLWJhciBociwgLnVrLWxpZ2h0IC51ay1ociwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaHIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaHIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaHIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1ociwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaHIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWhyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1ociwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWhyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuLnVrLWxpZ2h0IDpmb2N1cy12aXNpYmxlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIDpmb2N1cy12aXNpYmxlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOmZvY3VzLXZpc2libGUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgOmZvY3VzLXZpc2libGUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSA6Zm9jdXMtdmlzaWJsZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgOmZvY3VzLXZpc2libGUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIDpmb2N1cy12aXNpYmxlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IDpmb2N1cy12aXNpYmxlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIDpmb2N1cy12aXNpYmxlLCAudWstb3ZlcmxheS1wcmltYXJ5IDpmb2N1cy12aXNpYmxlLCAudWstb2ZmY2FudmFzLWJhciA6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmUtY29sb3I6ICNmZmY7XG59XG4udWstbGlnaHQgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+ICogPiAqLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1icmVhZGNydW1iID4gKiA+ICosIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJyZWFkY3J1bWIgPiAqID4gKiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4udWstbGlnaHQgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICosIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1icmVhZGNydW1iID4gOmxhc3QtY2hpbGQgPiAqLCAudWstb2ZmY2FudmFzLWJhciAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWstbGlnaHQgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51ay1saWdodCAudWstYnV0dG9uLWRlZmF1bHQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYnV0dG9uLWRlZmF1bHQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1idXR0b24tZGVmYXVsdCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLWRlZmF1bHQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWstbGlnaHQgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1kZWZhdWx0OmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbn1cbi51ay1saWdodCAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi1kZWZhdWx0OmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuLnVrLWxpZ2h0IC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1kZWZhdWx0LnVrLWFjdGl2ZSxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUsXG4udWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG59XG4udWstbGlnaHQgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnksIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYnV0dG9uLXByaW1hcnksIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1wcmltYXJ5LCAudWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzY2Njtcbn1cbi51ay1saWdodCAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXByaW1hcnk6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDIuMjUsIDI0Mi4yNSwgMjQyLjI1KTtcbiAgY29sb3I6ICM2NjY7XG59XG4udWstbGlnaHQgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbi51ay1saWdodCAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjkuNSwgMjI5LjUsIDIyOS41KTtcbiAgY29sb3I6ICM2NjY7XG59XG4udWstbGlnaHQgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1zZWNvbmRhcnksIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM2NjY7XG59XG4udWstbGlnaHQgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0Mi4yNSwgMjQyLjI1LCAyNDIuMjUpO1xuICBjb2xvcjogIzY2Njtcbn1cbi51ay1saWdodCAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSxcbi51ay1saWdodCAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1idXR0b24tc2Vjb25kYXJ5LnVrLWFjdGl2ZSxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUsXG4udWstb2ZmY2FudmFzLWJhciAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI5LjUsIDIyOS41LCAyMjkuNSk7XG4gIGNvbG9yOiAjNjY2O1xufVxuLnVrLWxpZ2h0IC51ay1idXR0b24tdGV4dCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1idXR0b24tdGV4dCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi10ZXh0LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tdGV4dCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi10ZXh0IHtcbiAgY29sb3I6ICNmZmY7XG59XG4udWstbGlnaHQgLnVrLWJ1dHRvbi10ZXh0OjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi10ZXh0OjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi10ZXh0OjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi10ZXh0OjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWJ1dHRvbi10ZXh0OjpiZWZvcmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tdGV4dDo6YmVmb3JlIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbn1cbi51ay1saWdodCAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1idXR0b24tdGV4dDpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLXRleHQ6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tdGV4dDpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnVrLWxpZ2h0IC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tdGV4dDpkaXNhYmxlZCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51ay1saWdodCAudWstYnV0dG9uLWxpbmssIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluaywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1idXR0b24tbGluaywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1saW5rLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYnV0dG9uLWxpbmssIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWJ1dHRvbi1saW5rLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1idXR0b24tbGluaywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstYnV0dG9uLWxpbmssIC51ay1vZmZjYW52YXMtYmFyIC51ay1idXR0b24tbGluayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnVrLWxpZ2h0IC51ay1idXR0b24tbGluazpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWxpbms6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYnV0dG9uLWxpbms6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWxpbms6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1idXR0b24tbGluazpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYnV0dG9uLWxpbms6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1idXR0b24tbGluazpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWJ1dHRvbi1saW5rOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51ay1saWdodC51ay1jYXJkLWJhZGdlLCAudWstY2FyZC1iYWRnZS51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvciksIC51ay1jYXJkLWJhZGdlLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpLCAudWstY2FyZC1iYWRnZS51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvciksIC51ay1jYXJkLWJhZGdlLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpLCAudWstY2FyZC1iYWRnZS51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5LCAudWstY2FyZC1wcmltYXJ5ID4gLnVrLWNhcmQtYmFkZ2U6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pLCAudWstY2FyZC1iYWRnZS51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHksIC51ay1jYXJkLXNlY29uZGFyeSA+IC51ay1jYXJkLWJhZGdlOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSwgLnVrLWNhcmQtYmFkZ2UudWstb3ZlcmxheS1wcmltYXJ5LCAudWstY2FyZC1iYWRnZS51ay1vZmZjYW52YXMtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM2NjY7XG59XG4udWstbGlnaHQgLnVrLWNsb3NlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jbG9zZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2UsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2UsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jbG9zZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWNsb3NlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jbG9zZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstY2xvc2UsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNsb3NlLCAudWstb2ZmY2FudmFzLWJhciAudWstY2xvc2Uge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay1jbG9zZTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2xvc2U6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNsb3NlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2xvc2U6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1jbG9zZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2xvc2U6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWNsb3NlOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1jbG9zZTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWNsb3NlOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51ay1saWdodCAudWstY29sdW1uLWRpdmlkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstY29sdW1uLWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNvbHVtbi1kaXZpZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1jb2x1bW4tZGl2aWRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY29sdW1uLWRpdmlkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1jb2x1bW4tZGl2aWRlciB7XG4gIGNvbHVtbi1ydWxlLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG4udWstbGlnaHQgLnVrLWRpdmlkZXItaWNvbiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItaWNvbiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItaWNvbiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWRpdmlkZXItaWNvbiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci1pY29uLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1kaXZpZGVyLWljb24sIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRpdmlkZXItaWNvbiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWRpdmlkZXItaWNvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMiUyMiUyMGN4JTNEJTIyMTAlMjIlMjBjeSUzRCUyMjEwJTIyJTIwciUzRCUyMjclMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIik7XG59XG4udWstbGlnaHQgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLWljb246OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4udWstbGlnaHQgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmFmdGVyLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLWljb246OmFmdGVyLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjphZnRlcixcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci1pY29uOjphZnRlcixcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLWljb246OmFmdGVyLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLWljb246OmFmdGVyLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZGl2aWRlci1pY29uOjphZnRlcixcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIsXG4udWstb2ZmY2FudmFzLWJhciAudWstZGl2aWRlci1pY29uOjphZnRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi51ay1saWdodCAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi51ay1saWdodCAudWstZGl2aWRlci12ZXJ0aWNhbCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZGl2aWRlci12ZXJ0aWNhbCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLXZlcnRpY2FsLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kaXZpZGVyLXZlcnRpY2FsLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRpdmlkZXItdmVydGljYWwsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1kaXZpZGVyLXZlcnRpY2FsLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZGl2aWRlci12ZXJ0aWNhbCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZGl2aWRlci12ZXJ0aWNhbCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZGl2aWRlci12ZXJ0aWNhbCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZGl2aWRlci12ZXJ0aWNhbCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWRpdmlkZXItdmVydGljYWwge1xuICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuLnVrLWxpZ2h0IC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZG90bmF2ID4gKiA+ICosIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWRvdG5hdiA+ICogPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1kb3RuYXYgPiAqID4gKiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xufVxuLnVrLWxpZ2h0IC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZG90bmF2ID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1kb3RuYXYgPiAqID4gOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstZG90bmF2ID4gKiA+IDpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi51ay1saWdodCAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZG90bmF2ID4gKiA+IDphY3RpdmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi51ay1saWdodCAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZG90bmF2ID4gLnVrLWFjdGl2ZSA+ICosIC51ay1vZmZjYW52YXMtYmFyIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi51ay1saWdodCAudWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjaywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLCAudWstb2ZmY2FudmFzLWJhciAudWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDIuMjUsIDI0Mi4yNSwgMjQyLjI1LCAwLjEpO1xufVxuLnVrLWxpZ2h0IC51ay1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjaywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjaywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjaywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstcmFuZ2U6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssIC51ay1vZmZjYW52YXMtYmFyIC51ay1yYW5nZTpmb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssXG4udWstbGlnaHQgLnVrLXJhbmdlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYW5nZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYW5nZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFuZ2U6YWN0aXZlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFuZ2U6YWN0aXZlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1yYW5nZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXJhbmdlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYW5nZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstcmFuZ2U6YWN0aXZlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLXJhbmdlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2ssXG4udWstb2ZmY2FudmFzLWJhciAudWstcmFuZ2U6YWN0aXZlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQyLjI1LCAyNDIuMjUsIDI0Mi4yNSwgMC4xNSk7XG59XG4udWstbGlnaHQgLnVrLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYW5nZTo6LW1vei1yYW5nZS10cmFjaywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYW5nZTo6LW1vei1yYW5nZS10cmFjaywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2ssIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2ssIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1yYW5nZTo6LW1vei1yYW5nZS10cmFjaywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYW5nZTo6LW1vei1yYW5nZS10cmFjaywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2ssIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrLCAudWstb2ZmY2FudmFzLWJhciAudWstcmFuZ2U6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0Mi4yNSwgMjQyLjI1LCAyNDIuMjUsIDAuMSk7XG59XG4udWstbGlnaHQgLnVrLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRyYWNrLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYW5nZTpmb2N1czo6LW1vei1yYW5nZS10cmFjaywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYW5nZTpmb2N1czo6LW1vei1yYW5nZS10cmFjaywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2ssIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2ssIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1yYW5nZTpmb2N1czo6LW1vei1yYW5nZS10cmFjaywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRyYWNrLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYW5nZTpmb2N1czo6LW1vei1yYW5nZS10cmFjaywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2ssIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRyYWNrLCAudWstb2ZmY2FudmFzLWJhciAudWstcmFuZ2U6Zm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0Mi4yNSwgMjQyLjI1LCAyNDIuMjUsIDAuMTUpO1xufVxuLnVrLWxpZ2h0IC51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXJhbmdlOjotd2Via2l0LXNsaWRlci10aHVtYiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBiYWNrZ3JvdW5kOiByZ2IoMTI3LjUsIDEyNy41LCAxMjcuNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiKDIyOS41LCAyMjkuNSwgMjI5LjUpO1xufVxuLnVrLWxpZ2h0IC51ay1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhbmdlOjotbW96LXJhbmdlLXRodW1iLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhbmdlOjotbW96LXJhbmdlLXRodW1iLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXJhbmdlOjotbW96LXJhbmdlLXRodW1iLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXJhbmdlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYmFja2dyb3VuZDogcmdiKDEyNy41LCAxMjcuNSwgMTI3LjUpO1xuICBib3JkZXItY29sb3I6IHJnYigyMjkuNSwgMjI5LjUsIDIyOS41KTtcbn1cbi51ay1saWdodCAudWstaW5wdXQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1pbnB1dCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaW5wdXQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pbnB1dCxcbi51ay1saWdodCAudWstc2VsZWN0LFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0LFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3QsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3QsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdCxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3QsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc2VsZWN0LFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VsZWN0LFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc2VsZWN0LFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VsZWN0LFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNlbGVjdCxcbi51ay1saWdodCAudWstdGV4dGFyZWEsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYSxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWEsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYSxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dGFyZWEsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dGFyZWEsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGV4dGFyZWEsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYSxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRleHRhcmVhLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dGFyZWEsXG4udWstb2ZmY2FudmFzLWJhciAudWstdGV4dGFyZWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuLnVrLWxpZ2h0IC51ay1pbnB1dDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXQ6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1pbnB1dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWlucHV0OmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pbnB1dDpmb2N1cywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWlucHV0OmZvY3VzLFxuLnVrLWxpZ2h0IC51ay1zZWxlY3Q6Zm9jdXMsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6Zm9jdXMsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpmb2N1cyxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0OmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlbGVjdDpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWxlY3Q6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3Q6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWxlY3Q6Zm9jdXMsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWxlY3Q6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstc2VsZWN0OmZvY3VzLFxuLnVrLWxpZ2h0IC51ay10ZXh0YXJlYTpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOmZvY3VzLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay10ZXh0YXJlYTpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHRhcmVhOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGV4dGFyZWE6Zm9jdXMsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay10ZXh0YXJlYTpmb2N1cyxcbi51ay1vZmZjYW52YXMtYmFyIC51ay10ZXh0YXJlYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTtcbn1cbi51ay1saWdodCAudWstaW5wdXRbbGlzdF06aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0W2xpc3RdOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWlucHV0W2xpc3RdOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dFtsaXN0XTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dFtsaXN0XTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0W2xpc3RdOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaW5wdXRbbGlzdF06aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWlucHV0W2xpc3RdOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1pbnB1dFtsaXN0XTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaW5wdXRbbGlzdF06aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pbnB1dFtsaXN0XTpob3Zlcixcbi51ay1saWdodCAudWstaW5wdXRbbGlzdF06Zm9jdXMsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dFtsaXN0XTpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXRbbGlzdF06Zm9jdXMsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pbnB1dFtsaXN0XTpmb2N1cyxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaW5wdXRbbGlzdF06Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaW5wdXRbbGlzdF06Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaW5wdXRbbGlzdF06Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pbnB1dFtsaXN0XTpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWlucHV0W2xpc3RdOmZvY3VzLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaW5wdXRbbGlzdF06Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstaW5wdXRbbGlzdF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTIlMjA4JTIwNiUyMDE2JTIwNiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTtcbn1cbi51ay1saWdodCAudWstcmFkaW8sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstcmFkaW8sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1yYWRpbywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcmFkaW8sIC51ay1vZmZjYW52YXMtYmFyIC51ay1yYWRpbyxcbi51ay1saWdodCAudWstY2hlY2tib3gsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveCxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3gsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveCxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3gsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3gsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstY2hlY2tib3gsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveCxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWNoZWNrYm94LFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3gsXG4udWstb2ZmY2FudmFzLWJhciAudWstY2hlY2tib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuLnVrLWxpZ2h0IC51ay1yYWRpbzpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcmFkaW86Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1yYWRpbzpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstcmFkaW86Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXJhZGlvOmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1yYWRpbzpmb2N1cywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXJhZGlvOmZvY3VzLFxuLnVrLWxpZ2h0IC51ay1jaGVja2JveDpmb2N1cyxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmZvY3VzLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmZvY3VzLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1jaGVja2JveDpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstY2hlY2tib3g6Zm9jdXMsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1jaGVja2JveDpmb2N1cyxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1jaGVja2JveDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1yYWRpbzpjaGVja2VkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1yYWRpbzpjaGVja2VkLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1yYWRpbzpjaGVja2VkLCAudWstb2ZmY2FudmFzLWJhciAudWstcmFkaW86Y2hlY2tlZCxcbi51ay1saWdodCAudWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWNoZWNrYm94OmNoZWNrZWQsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1jaGVja2JveDpjaGVja2VkLFxuLnVrLWxpZ2h0IC51ay1jaGVja2JveDppbmRldGVybWluYXRlLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG59XG4udWstbGlnaHQgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcmFkaW86Y2hlY2tlZDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuLnVrLWxpZ2h0IC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZDpmb2N1cyxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstbGlnaHQgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMsXG4udWstb2ZmY2FudmFzLWJhciAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLnVrLWxpZ2h0IC51ay1yYWRpbzpjaGVja2VkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1yYWRpbzpjaGVja2VkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcmFkaW86Y2hlY2tlZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXJhZGlvOmNoZWNrZWQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1yYWRpbzpjaGVja2VkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1yYWRpbzpjaGVja2VkLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1yYWRpbzpjaGVja2VkLCAudWstb2ZmY2FudmFzLWJhciAudWstcmFkaW86Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIlMjM2NjYlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi51ay1saWdodCAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDpjaGVja2VkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmNoZWNrZWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDpjaGVja2VkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3g6Y2hlY2tlZCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWNoZWNrYm94OmNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE0JTIyJTIwaGVpZ2h0JTNEJTIyMTElMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNCUyMDExJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiKTtcbn1cbi51ay1saWdodCAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1jaGVja2JveDppbmRldGVybWluYXRlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiUyMzY2NiUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiKTtcbn1cbi51ay1saWdodCAudWstZm9ybS1sYWJlbCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZm9ybS1sYWJlbCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWxhYmVsLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWxhYmVsLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWZvcm0tbGFiZWwsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1mb3JtLWxhYmVsLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZm9ybS1sYWJlbCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZm9ybS1sYWJlbCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZm9ybS1sYWJlbCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZm9ybS1sYWJlbCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWZvcm0tbGFiZWwge1xuICBjb2xvcjogI2ZmZjtcbn1cbi51ay1saWdodCAudWstZm9ybS1pY29uLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWljb24sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZm9ybS1pY29uLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWljb24sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZm9ybS1pY29uLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZm9ybS1pY29uLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZm9ybS1pY29uLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1mb3JtLWljb24sIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWZvcm0taWNvbiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZm9ybS1pY29uLCAudWstb2ZmY2FudmFzLWJhciAudWstZm9ybS1pY29uIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51ay1saWdodCAudWstZm9ybS1pY29uOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWljb246aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZm9ybS1pY29uOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1mb3JtLWljb246aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZm9ybS1pY29uOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZm9ybS1pY29uOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZm9ybS1pY29uOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1mb3JtLWljb246aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWZvcm0taWNvbjpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZm9ybS1pY29uOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstZm9ybS1pY29uOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51ay1saWdodCAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi51ay1saWdodCAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG4udWstbGlnaHQgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1kaXZpZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1oZWFkaW5nLWRpdmlkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWhlYWRpbmctZGl2aWRlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWhlYWRpbmctZGl2aWRlciB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi51ay1saWdodCAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUge1xuICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuLnVrLWxpZ2h0IC51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLFxuLnVrLWxpZ2h0IC51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOjphZnRlcixcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaGVhZGluZy1saW5lID4gOjphZnRlcixcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1saW5lID4gOjphZnRlcixcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaGVhZGluZy1saW5lID4gOjphZnRlcixcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG4udWstbGlnaHQgLnVrLWljb24tbGluaywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluaywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluaywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluaywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWljb24tbGluaywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1saW5rLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1pY29uLWxpbmssIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWljb24tbGluaywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWljb24tbGluayB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4udWstbGlnaHQgLnVrLWljb24tbGluazpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluazpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWljb24tbGluazpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1saW5rOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1pY29uLWxpbms6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWljb24tbGluazpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWljb24tbGluazpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWstbGlnaHQgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1saW5rOmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWxpbms6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1saW5rOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWljb24tbGluazphY3RpdmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29uLWxpbms6YWN0aXZlLFxuLnVrLWxpZ2h0IC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYWN0aXZlID4gLnVrLWljb24tbGluayxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYWN0aXZlID4gLnVrLWljb24tbGluayxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstYWN0aXZlID4gLnVrLWljb24tbGluayxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstYWN0aXZlID4gLnVrLWljb24tbGluayxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmssXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmsge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1pY29uLWJ1dHRvbiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b24sIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b24sIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1idXR0b24sIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1pY29uLWJ1dHRvbiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1idXR0b24sIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWljb24tYnV0dG9uLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWJ1dHRvbiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWljb24tYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1idXR0b246aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWljb24tYnV0dG9uOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29uLWJ1dHRvbjpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWljb24tYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51ay1saWdodCAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29uLWJ1dHRvbjphY3RpdmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1pY29uLWJ1dHRvbjphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstaWNvbi1idXR0b246YWN0aXZlLCAudWstb2ZmY2FudmFzLWJhciAudWstaWNvbi1idXR0b246YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1pY29ubmF2ID4gKiA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gKiA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gKiA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gKiA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1pY29ubmF2ID4gKiA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb25uYXYgPiAqID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaWNvbm5hdiA+ICogPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29ubmF2ID4gKiA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29ubmF2ID4gKiA+IGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaWNvbm5hdiA+ICogPiBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1sYWJlbCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGFiZWwsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGFiZWwsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxhYmVsLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxhYmVsLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGFiZWwsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1sYWJlbCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGFiZWwsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxhYmVsLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1sYWJlbCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICM2NjY7XG59XG4udWstbGlnaHQgYS51ay1saW5rLW11dGVkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay1tdXRlZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay1tdXRlZCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstbXV0ZWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstbXV0ZWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGEudWstbGluay1tdXRlZCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgYS51ay1saW5rLW11dGVkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IGEudWstbGluay1tdXRlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSBhLnVrLWxpbmstbXV0ZWQsIC51ay1vdmVybGF5LXByaW1hcnkgYS51ay1saW5rLW11dGVkLCAudWstb2ZmY2FudmFzLWJhciBhLnVrLWxpbmstbXV0ZWQsXG4udWstbGlnaHQgLnVrLWxpbmstbXV0ZWQgYSxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQgYSxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkIGEsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay1tdXRlZCBhLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxpbmstbXV0ZWQgYSxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstbXV0ZWQgYSxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxpbmstbXV0ZWQgYSxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpbmstbXV0ZWQgYSxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1saW5rLW11dGVkIGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IGEudWstbGluay1tdXRlZDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLW11dGVkOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLW11dGVkOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIGEudWstbGluay1tdXRlZDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgYS51ay1saW5rLW11dGVkOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IGEudWstbGluay1tdXRlZDpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgYS51ay1saW5rLW11dGVkOmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQgYTpob3Zlcixcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstbXV0ZWQgYTpob3Zlcixcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1tdXRlZCBhOmhvdmVyLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstbXV0ZWQgYTpob3Zlcixcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4udWstb2ZmY2FudmFzLWJhciAudWstbGluay1tdXRlZCBhOmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1tdXRlZCxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLW11dGVkLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1tdXRlZCxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLW11dGVkLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1tdXRlZCxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1tdXRlZCxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1tdXRlZCxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLW11dGVkLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstbXV0ZWQsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1tdXRlZCxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1tdXRlZCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWstbGlnaHQgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay10ZXh0OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstdGV4dDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgYS51ay1saW5rLXRleHQ6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIGEudWstbGluay10ZXh0OmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbGluay10ZXh0IGE6aG92ZXIsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1vZmZjYW52YXMtYmFyIC51ay1saW5rLXRleHQgYTpob3Zlcixcbi51ay1saWdodCAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstdGV4dCxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLXRleHQsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLXRleHQsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay10ZXh0LFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay10ZXh0LFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLXRleHQsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstdGV4dCxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLXRleHQsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay10ZXh0LFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstdGV4dCxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay10ZXh0IHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51ay1saWdodCBhLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSBhLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay1oZWFkaW5nOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIGEudWstbGluay1oZWFkaW5nOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgYS51ay1saW5rLWhlYWRpbmc6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IGEudWstbGluay1oZWFkaW5nOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSBhLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSBhLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSBhLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSBhLnVrLWxpbmstaGVhZGluZzpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgYS51ay1saW5rLWhlYWRpbmc6aG92ZXIsXG4udWstbGlnaHQgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1oZWFkaW5nIGE6aG92ZXIsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay1oZWFkaW5nIGE6aG92ZXIsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay1oZWFkaW5nIGE6aG92ZXIsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saW5rLWhlYWRpbmcgYTpob3Zlcixcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLWxpZ2h0IC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1oZWFkaW5nLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstaGVhZGluZyxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstaGVhZGluZyxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLWhlYWRpbmcsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLWhlYWRpbmcsXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstaGVhZGluZyxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1oZWFkaW5nLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstaGVhZGluZyxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLWhlYWRpbmcsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay1saW5rLXRvZ2dsZTpob3ZlciAudWstbGluay1oZWFkaW5nLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLWhlYWRpbmcge1xuICBjb2xvcjogI2ZmZjtcbn1cbi51ay1saWdodCAudWstbGlzdC1tdXRlZCA+IDo6bWFya2VyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LW11dGVkID4gOjptYXJrZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1tdXRlZCA+IDo6bWFya2VyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LW11dGVkID4gOjptYXJrZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1tdXRlZCA+IDo6bWFya2VyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1tdXRlZCA+IDo6bWFya2VyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbGlzdC1tdXRlZCA+IDo6bWFya2VyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saXN0LW11dGVkID4gOjptYXJrZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxpc3QtbXV0ZWQgPiA6Om1hcmtlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGlzdC1tdXRlZCA+IDo6bWFya2VyLCAudWstb2ZmY2FudmFzLWJhciAudWstbGlzdC1tdXRlZCA+IDo6bWFya2VyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAhaW1wb3J0YW50O1xufVxuLnVrLWxpZ2h0IC51ay1saXN0LWVtcGhhc2lzID4gOjptYXJrZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtZW1waGFzaXMgPiA6Om1hcmtlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWVtcGhhc2lzID4gOjptYXJrZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtZW1waGFzaXMgPiA6Om1hcmtlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWVtcGhhc2lzID4gOjptYXJrZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saXN0LWVtcGhhc2lzID4gOjptYXJrZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saXN0LWVtcGhhc2lzID4gOjptYXJrZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpc3QtZW1waGFzaXMgPiA6Om1hcmtlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbGlzdC1lbXBoYXNpcyA+IDo6bWFya2VyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1saXN0LWVtcGhhc2lzID4gOjptYXJrZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1saXN0LWVtcGhhc2lzID4gOjptYXJrZXIge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuLnVrLWxpZ2h0IC51ay1saXN0LXByaW1hcnkgPiA6Om1hcmtlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1wcmltYXJ5ID4gOjptYXJrZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1wcmltYXJ5ID4gOjptYXJrZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtcHJpbWFyeSA+IDo6bWFya2VyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtcHJpbWFyeSA+IDo6bWFya2VyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1wcmltYXJ5ID4gOjptYXJrZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saXN0LXByaW1hcnkgPiA6Om1hcmtlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1wcmltYXJ5ID4gOjptYXJrZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxpc3QtcHJpbWFyeSA+IDo6bWFya2VyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1saXN0LXByaW1hcnkgPiA6Om1hcmtlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpc3QtcHJpbWFyeSA+IDo6bWFya2VyIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi51ay1saWdodCAudWstbGlzdC1zZWNvbmRhcnkgPiA6Om1hcmtlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zZWNvbmRhcnkgPiA6Om1hcmtlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LXNlY29uZGFyeSA+IDo6bWFya2VyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LXNlY29uZGFyeSA+IDo6bWFya2VyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3Qtc2Vjb25kYXJ5ID4gOjptYXJrZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saXN0LXNlY29uZGFyeSA+IDo6bWFya2VyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbGlzdC1zZWNvbmRhcnkgPiA6Om1hcmtlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1zZWNvbmRhcnkgPiA6Om1hcmtlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbGlzdC1zZWNvbmRhcnkgPiA6Om1hcmtlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbGlzdC1zZWNvbmRhcnkgPiA6Om1hcmtlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpc3Qtc2Vjb25kYXJ5ID4gOjptYXJrZXIge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuLnVrLWxpZ2h0IC51ay1saXN0LWJ1bGxldCA+IDo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWJ1bGxldCA+IDo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtYnVsbGV0ID4gOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtYnVsbGV0ID4gOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1idWxsZXQgPiA6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpc3QtYnVsbGV0ID4gOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saXN0LWJ1bGxldCA+IDo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1saXN0LWJ1bGxldCA+IDo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saXN0LWJ1bGxldCA+IDo6YmVmb3JlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1saXN0LWJ1bGxldCA+IDo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstbGlzdC1idWxsZXQgPiA6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyNiUyMiUyMGhlaWdodCUzRCUyMjYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjA2JTIwNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnVrLWxpZ2h0IC51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMiksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMiksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3QtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMiksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMiksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMiksIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLWxpc3QtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbGlzdC1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMiksIC51ay1vZmZjYW52YXMtYmFyIC51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMikge1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG4udWstbGlnaHQgLnVrLWxpc3Qtc3RyaXBlZCA+ICo6bnRoLW9mLXR5cGUob2RkKSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zdHJpcGVkID4gKjpudGgtb2YtdHlwZShvZGQpLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3Qtc3RyaXBlZCA+ICo6bnRoLW9mLXR5cGUob2RkKSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zdHJpcGVkID4gKjpudGgtb2YtdHlwZShvZGQpLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3Qtc3RyaXBlZCA+ICo6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxpc3Qtc3RyaXBlZCA+ICo6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxpc3Qtc3RyaXBlZCA+ICo6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1zdHJpcGVkID4gKjpudGgtb2YtdHlwZShvZGQpLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saXN0LXN0cmlwZWQgPiAqOm50aC1vZi10eXBlKG9kZCksIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWxpc3Qtc3RyaXBlZCA+ICo6bnRoLW9mLXR5cGUob2RkKSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpc3Qtc3RyaXBlZCA+ICo6bnRoLW9mLXR5cGUob2RkKSB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuLnVrLWxpZ2h0IC51ay1saXN0LXN0cmlwZWQgPiA6bnRoLW9mLXR5cGUob2RkKSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zdHJpcGVkID4gOm50aC1vZi10eXBlKG9kZCksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbGlzdC1zdHJpcGVkID4gOm50aC1vZi10eXBlKG9kZCksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtb2YtdHlwZShvZGQpLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtb2YtdHlwZShvZGQpLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1zdHJpcGVkID4gOm50aC1vZi10eXBlKG9kZCksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1saXN0LXN0cmlwZWQgPiA6bnRoLW9mLXR5cGUob2RkKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbGlzdC1zdHJpcGVkID4gOm50aC1vZi10eXBlKG9kZCksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtb2YtdHlwZShvZGQpLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1saXN0LXN0cmlwZWQgPiA6bnRoLW9mLXR5cGUob2RkKSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxpc3Qtc3RyaXBlZCA+IDpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVrLWxpZ2h0IC51ay1tYXJrZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW1hcmtlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1tYXJrZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW1hcmtlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1tYXJrZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1tYXJrZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1tYXJrZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW1hcmtlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbWFya2VyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1tYXJrZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1tYXJrZXIge1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICBjb2xvcjogIzY2Njtcbn1cbi51ay1saWdodCAudWstbWFya2VyOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1tYXJrZXI6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbWFya2VyOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1tYXJrZXI6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbWFya2VyOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbWFya2VyOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbWFya2VyOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1tYXJrZXI6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW1hcmtlcjpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbWFya2VyOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbWFya2VyOmhvdmVyIHtcbiAgY29sb3I6ICM2NjY7XG59XG4udWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51ay1saWdodCAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG4udWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cbi51ay1saWdodCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4udWstbGlnaHQgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51ay1saWdodCAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi51ay1saWdodCAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4udWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LWRpdmlkZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG4udWstbGlnaHQgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51ay1saWdodCAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXNlY29uZGFyeSA+IGxpID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXNlY29uZGFyeSA+IGxpID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaSA+IGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaSA+IGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXNlY29uZGFyeSA+IGxpID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaSA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXNlY29uZGFyeSA+IGxpID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG4udWstbGlnaHQgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXNlY29uZGFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXNlY29uZGFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LXNlY29uZGFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXNlY29uZGFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3VidGl0bGUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWJ0aXRsZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3VidGl0bGUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWJ0aXRsZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3VidGl0bGUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3VidGl0bGUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3VidGl0bGUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWJ0aXRsZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LXNlY29uZGFyeSAudWstbmF2LXN1YnRpdGxlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3VidGl0bGUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3VidGl0bGUge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyIC51ay1uYXYtc3VidGl0bGUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaSA+IGE6aG92ZXIgLnVrLW5hdi1zdWJ0aXRsZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyIC51ay1uYXYtc3VidGl0bGUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaSA+IGE6aG92ZXIgLnVrLW5hdi1zdWJ0aXRsZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyIC51ay1uYXYtc3VidGl0bGUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyIC51ay1uYXYtc3VidGl0bGUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyIC51ay1uYXYtc3VidGl0bGUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaSA+IGE6aG92ZXIgLnVrLW5hdi1zdWJ0aXRsZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LXNlY29uZGFyeSA+IGxpID4gYTpob3ZlciAudWstbmF2LXN1YnRpdGxlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyIC51ay1uYXYtc3VidGl0bGUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyIC51ay1uYXYtc3VidGl0bGUge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkudWstYWN0aXZlID4gYSAudWstbmF2LXN1YnRpdGxlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkudWstYWN0aXZlID4gYSAudWstbmF2LXN1YnRpdGxlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaS51ay1hY3RpdmUgPiBhIC51ay1uYXYtc3VidGl0bGUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaS51ay1hY3RpdmUgPiBhIC51ay1uYXYtc3VidGl0bGUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXNlY29uZGFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEgLnVrLW5hdi1zdWJ0aXRsZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaS51ay1hY3RpdmUgPiBhIC51ay1uYXYtc3VidGl0bGUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkudWstYWN0aXZlID4gYSAudWstbmF2LXN1YnRpdGxlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkudWstYWN0aXZlID4gYSAudWstbmF2LXN1YnRpdGxlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkudWstYWN0aXZlID4gYSAudWstbmF2LXN1YnRpdGxlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkudWstYWN0aXZlID4gYSAudWstbmF2LXN1YnRpdGxlLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXNlY29uZGFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEgLnVrLW5hdi1zdWJ0aXRsZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1oZWFkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1oZWFkZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXNlY29uZGFyeSAudWstbmF2LWhlYWRlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1oZWFkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtaGVhZGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2LXNlY29uZGFyeSAudWstbmF2LWhlYWRlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXNlY29uZGFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LXNlY29uZGFyeSAudWstbmF2LWRpdmlkZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXNlY29uZGFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LXNlY29uZGFyeSAudWstbmF2LWRpdmlkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1kaXZpZGVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtZGl2aWRlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIgYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIgYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIgYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LXNlY29uZGFyeSAudWstbmF2LXN1YiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIgYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LXNlY29uZGFyeSAudWstbmF2LXN1YiBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LXNlY29uZGFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi51ay1saWdodCAudWstbmF2LnVrLW5hdi1kaXZpZGVyID4gOm5vdCgudWstbmF2LWRpdmlkZXIpICsgOm5vdCgudWstbmF2LWhlYWRlciwgLnVrLW5hdi1kaXZpZGVyKSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2LnVrLW5hdi1kaXZpZGVyID4gOm5vdCgudWstbmF2LWRpdmlkZXIpICsgOm5vdCgudWstbmF2LWhlYWRlciwgLnVrLW5hdi1kaXZpZGVyKSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYudWstbmF2LWRpdmlkZXIgPiA6bm90KC51ay1uYXYtZGl2aWRlcikgKyA6bm90KC51ay1uYXYtaGVhZGVyLCAudWstbmF2LWRpdmlkZXIpLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXYudWstbmF2LWRpdmlkZXIgPiA6bm90KC51ay1uYXYtZGl2aWRlcikgKyA6bm90KC51ay1uYXYtaGVhZGVyLCAudWstbmF2LWRpdmlkZXIpLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdi51ay1uYXYtZGl2aWRlciA+IDpub3QoLnVrLW5hdi1kaXZpZGVyKSArIDpub3QoLnVrLW5hdi1oZWFkZXIsIC51ay1uYXYtZGl2aWRlciksIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXYudWstbmF2LWRpdmlkZXIgPiA6bm90KC51ay1uYXYtZGl2aWRlcikgKyA6bm90KC51ay1uYXYtaGVhZGVyLCAudWstbmF2LWRpdmlkZXIpLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LnVrLW5hdi1kaXZpZGVyID4gOm5vdCgudWstbmF2LWRpdmlkZXIpICsgOm5vdCgudWstbmF2LWhlYWRlciwgLnVrLW5hdi1kaXZpZGVyKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2LnVrLW5hdi1kaXZpZGVyID4gOm5vdCgudWstbmF2LWRpdmlkZXIpICsgOm5vdCgudWstbmF2LWhlYWRlciwgLnVrLW5hdi1kaXZpZGVyKSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2LnVrLW5hdi1kaXZpZGVyID4gOm5vdCgudWstbmF2LWRpdmlkZXIpICsgOm5vdCgudWstbmF2LWhlYWRlciwgLnVrLW5hdi1kaXZpZGVyKSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2LnVrLW5hdi1kaXZpZGVyID4gOm5vdCgudWstbmF2LWRpdmlkZXIpICsgOm5vdCgudWstbmF2LWhlYWRlciwgLnVrLW5hdi1kaXZpZGVyKSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdi51ay1uYXYtZGl2aWRlciA+IDpub3QoLnVrLW5hdi1kaXZpZGVyKSArIDpub3QoLnVrLW5hdi1oZWFkZXIsIC51ay1uYXYtZGl2aWRlcikge1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG4udWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51ay1saWdodCAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsXG4udWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGFbYXJpYS1leHBhbmRlZD10cnVlXSxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGFbYXJpYS1leHBhbmRlZD10cnVlXSxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYVthcmlhLWV4cGFuZGVkPXRydWVdLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYVthcmlhLWV4cGFuZGVkPXRydWVdLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0sXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYVthcmlhLWV4cGFuZGVkPXRydWVdLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGFbYXJpYS1leHBhbmRlZD10cnVlXSxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGFbYXJpYS1leHBhbmRlZD10cnVlXSxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGFbYXJpYS1leHBhbmRlZD10cnVlXSxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGFbYXJpYS1leHBhbmRlZD10cnVlXSxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGE6YWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG59XG4udWstbGlnaHQgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItbmF2ID4gbGkudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi51ay1saWdodCAudWstbmF2YmFyLWl0ZW0sIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1pdGVtLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci1pdGVtLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItaXRlbSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItaXRlbSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1pdGVtLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2YmFyLWl0ZW0sIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci1pdGVtLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1uYXZiYXItaXRlbSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2YmFyLWl0ZW0sIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXZiYXItaXRlbSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWstbGlnaHQgLnVrLW5hdmJhci10b2dnbGUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdmJhci10b2dnbGUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci10b2dnbGUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdmJhci10b2dnbGUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci10b2dnbGUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1uYXZiYXItdG9nZ2xlIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51ay1saWdodCAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbmF2YmFyLXRvZ2dsZTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLW5hdmJhci10b2dnbGU6aG92ZXIsXG4udWstbGlnaHQgLnVrLW5hdmJhci10b2dnbGVbYXJpYS1leHBhbmRlZD10cnVlXSxcbi51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW5hdmJhci10b2dnbGVbYXJpYS1leHBhbmRlZD10cnVlXSxcbi51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZVthcmlhLWV4cGFuZGVkPXRydWVdLFxuLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbmF2YmFyLXRvZ2dsZVthcmlhLWV4cGFuZGVkPXRydWVdLFxuLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1uYXZiYXItdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0sXG4udWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbmF2YmFyLXRvZ2dsZVthcmlhLWV4cGFuZGVkPXRydWVdLFxuLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdmJhci10b2dnbGVbYXJpYS1leHBhbmRlZD10cnVlXSxcbi51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLW5hdmJhci10b2dnbGVbYXJpYS1leHBhbmRlZD10cnVlXSxcbi51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLW5hdmJhci10b2dnbGVbYXJpYS1leHBhbmRlZD10cnVlXSxcbi51ay1vdmVybGF5LXByaW1hcnkgLnVrLW5hdmJhci10b2dnbGVbYXJpYS1leHBhbmRlZD10cnVlXSxcbi51ay1vZmZjYW52YXMtYmFyIC51ay1uYXZiYXItdG9nZ2xlW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXBhZ2luYXRpb24gPiAqID4gKiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstcGFnaW5hdGlvbiA+ICogPiAqLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1wYWdpbmF0aW9uID4gKiA+ICosIC51ay1vZmZjYW52YXMtYmFyIC51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1wYWdpbmF0aW9uID4gKiA+IDpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51ay1saWdodCAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICosIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICosIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1wYWdpbmF0aW9uID4gLnVrLWFjdGl2ZSA+ICosIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqLCAudWstb2ZmY2FudmFzLWJhciAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51ay1saWdodCAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstcGFnaW5hdGlvbiA+IC51ay1kaXNhYmxlZCA+ICosIC51ay1vZmZjYW52YXMtYmFyIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4udWstbGlnaHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWFyY2gtaW5wdXQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWstbGlnaHQgLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51ay1saWdodCAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24sIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24ge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG4udWstbGlnaHQgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuLnVrLWxpZ2h0IC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG59XG4udWstbGlnaHQgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi51ay1saWdodCAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXNlYXJjaC1uYXZiYXIgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi51ay1saWdodCAudWstc2VhcmNoLW1lZGl1bSAudWstc2VhcmNoLWlucHV0LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbWVkaXVtIC51ay1zZWFyY2gtaW5wdXQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLW1lZGl1bSAudWstc2VhcmNoLWlucHV0LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbWVkaXVtIC51ay1zZWFyY2gtaW5wdXQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLW1lZGl1bSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLW1lZGl1bSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc2VhcmNoLW1lZGl1bSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtbWVkaXVtIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXNlYXJjaC1tZWRpdW0gLnVrLXNlYXJjaC1pbnB1dCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLW1lZGl1bSAudWstc2VhcmNoLWlucHV0LCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoLW1lZGl1bSAudWstc2VhcmNoLWlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuLnVrLWxpZ2h0IC51ay1zZWFyY2gtbWVkaXVtIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1tZWRpdW0gLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbWVkaXVtIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1tZWRpdW0gLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtbWVkaXVtIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtbWVkaXVtIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWFyY2gtbWVkaXVtIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC1tZWRpdW0gLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc2VhcmNoLW1lZGl1bSAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtbWVkaXVtIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zZWFyY2gtbWVkaXVtIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuLnVrLWxpZ2h0IC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0LCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuLnVrLWxpZ2h0IC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0OmZvY3VzLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cywgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cbi51ay1saWdodCAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtdG9nZ2xlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc2VhcmNoLXRvZ2dsZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNlYXJjaC10b2dnbGUge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWstbGlnaHQgLnVrLXNsaWRlbmF2LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdiwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zbGlkZW5hdiwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXYsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXYsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdiwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXNsaWRlbmF2LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zbGlkZW5hdiwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc2xpZGVuYXYsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNsaWRlbmF2LCAudWstb2ZmY2FudmFzLWJhciAudWstc2xpZGVuYXYge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xufVxuLnVrLWxpZ2h0IC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2xpZGVuYXY6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXNsaWRlbmF2OmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zbGlkZW5hdjpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNsaWRlbmF2OmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG59XG4udWstbGlnaHQgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc2xpZGVuYXY6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zbGlkZW5hdjphY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXNsaWRlbmF2OmFjdGl2ZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXNsaWRlbmF2OmFjdGl2ZSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWstbGlnaHQgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51ay1saWdodCAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zdWJuYXYgPiAqID4gYTpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWstbGlnaHQgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cbi51ay1saWdodCAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG4udWstbGlnaHQgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51ay1saWdodCAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUsIC51ay1vZmZjYW52YXMtYmFyIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51ay1saWdodCAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXN1Ym5hdi1waWxsID4gLnVrLWFjdGl2ZSA+IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzY2Njtcbn1cbi51ay1saWdodCAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstc3VibmF2ID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay10YWI6OmJlZm9yZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiOjpiZWZvcmUsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYjo6YmVmb3JlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYjo6YmVmb3JlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay10YWI6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiOjpiZWZvcmUsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRhYjo6YmVmb3JlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10YWI6OmJlZm9yZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRhYjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG4udWstbGlnaHQgLnVrLXRhYiA+ICogPiBhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAqID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGEsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10YWIgPiAqID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRhYiA+ICogPiBhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10YWIgPiAqID4gYSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGFiID4gKiA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRhYiA+ICogPiBhLCAudWstb2ZmY2FudmFzLWJhciAudWstdGFiID4gKiA+IGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuLnVrLWxpZ2h0IC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gKiA+IGE6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRhYiA+ICogPiBhOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10YWIgPiAqID4gYTpob3ZlciwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRhYiA+ICogPiBhOmhvdmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51ay1saWdodCAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay10YWIgPiAudWstYWN0aXZlID4gYSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGFiID4gLnVrLWFjdGl2ZSA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay10YWIgPiAudWstYWN0aXZlID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG59XG4udWstbGlnaHQgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGFiID4gLnVrLWRpc2FibGVkID4gYSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEsIC51ay1vZmZjYW52YXMtYmFyIC51ay10YWIgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51ay1saWdodCAudWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsIC51ay1vZmZjYW52YXMtYmFyIC51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCxcbi51ay1saWdodCAudWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLFxuLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLFxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsXG4udWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsXG4udWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCxcbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsXG4udWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLFxuLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLFxuLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbn1cbi51ay1saWdodCAudWstdGV4dC1sZWFkLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LWxlYWQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1sZWFkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LWxlYWQsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1sZWFkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1sZWFkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGV4dC1sZWFkLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LWxlYWQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRleHQtbGVhZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dC1sZWFkLCAudWstb2ZmY2FudmFzLWJhciAudWstdGV4dC1sZWFkIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cbi51ay1saWdodCAudWstdGV4dC1tZXRhLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LW1ldGEsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tZXRhLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LW1ldGEsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tZXRhLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1tZXRhLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGV4dC1tZXRhLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LW1ldGEsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRleHQtbWV0YSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dC1tZXRhLCAudWstb2ZmY2FudmFzLWJhciAudWstdGV4dC1tZXRhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51ay1saWdodCAudWstdGV4dC1tdXRlZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1tdXRlZCwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LW11dGVkLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LW11dGVkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtbXV0ZWQsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LW11dGVkLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGV4dC1tdXRlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1tdXRlZCwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGV4dC1tdXRlZCwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dC1tdXRlZCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRleHQtbXV0ZWQge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG59XG4udWstbGlnaHQgLnVrLXRleHQtZW1waGFzaXMsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtZW1waGFzaXMsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1lbXBoYXNpcywgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1lbXBoYXNpcywgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LWVtcGhhc2lzLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1lbXBoYXNpcywgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRleHQtZW1waGFzaXMsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtZW1waGFzaXMsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRleHQtZW1waGFzaXMsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRleHQtZW1waGFzaXMsIC51ay1vZmZjYW52YXMtYmFyIC51ay10ZXh0LWVtcGhhc2lzIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi51ay1saWdodCAudWstdGV4dC1wcmltYXJ5LCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LXByaW1hcnksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1wcmltYXJ5LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LXByaW1hcnksIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGV4dC1wcmltYXJ5LCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGV4dC1wcmltYXJ5LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGV4dC1wcmltYXJ5LCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10ZXh0LXByaW1hcnksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRleHQtcHJpbWFyeSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dC1wcmltYXJ5LCAudWstb2ZmY2FudmFzLWJhciAudWstdGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cbi51ay1saWdodCAudWstdGV4dC1zZWNvbmRhcnksIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtc2Vjb25kYXJ5LCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRleHQtc2Vjb25kYXJ5LCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LXNlY29uZGFyeSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10ZXh0LXNlY29uZGFyeSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtc2Vjb25kYXJ5LCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGV4dC1zZWNvbmRhcnksIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRleHQtc2Vjb25kYXJ5LCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay10ZXh0LXNlY29uZGFyeSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdGV4dC1zZWNvbmRhcnksIC51ay1vZmZjYW52YXMtYmFyIC51ay10ZXh0LXNlY29uZGFyeSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG4udWstbGlnaHQgLnVrLXRodW1ibmF2ID4gKiA+ICo6OmFmdGVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10aHVtYm5hdiA+ICogPiAqOjphZnRlciwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10aHVtYm5hdiA+ICogPiAqOjphZnRlciwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGh1bWJuYXYgPiAqID4gKjo6YWZ0ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGh1bWJuYXYgPiAqID4gKjo6YWZ0ZXIsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay10aHVtYm5hdiA+ICogPiAqOjphZnRlciwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRodW1ibmF2ID4gKiA+ICo6OmFmdGVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10aHVtYm5hdiA+ICogPiAqOjphZnRlciwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdGh1bWJuYXYgPiAqID4gKjo6YWZ0ZXIsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRodW1ibmF2ID4gKiA+ICo6OmFmdGVyLCAudWstb2ZmY2FudmFzLWJhciAudWstdGh1bWJuYXYgPiAqID4gKjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDAsIDAsIDAsIDApLCByZ2JhKDAsIDAsIDAsIDAuNCkpO1xufVxuLnVrLWxpZ2h0IC51ay10b3RvcCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3AsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3AsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3AsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay10b3RvcCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3AsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRvdG9wLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10b3RvcCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRvdG9wIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi51ay1saWdodCAudWstdG90b3A6aG92ZXIsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmhvdmVyLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcDpob3ZlciwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10b3RvcDpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRvdG9wOmhvdmVyLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstdG90b3A6aG92ZXIsIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHkgLnVrLXRvdG9wOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay10b3RvcDpob3ZlciwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstdG90b3A6aG92ZXIsIC51ay1vZmZjYW52YXMtYmFyIC51ay10b3RvcDpob3ZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4udWstbGlnaHQgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6YWN0aXZlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdG90b3A6YWN0aXZlLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdG90b3A6YWN0aXZlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay10b3RvcDphY3RpdmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLXRvdG9wOmFjdGl2ZSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRvdG9wOmFjdGl2ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnVrLWxpZ2h0IC51ay1sb2dvLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28sIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ28sIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbywgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxvZ28sIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1sb2dvLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1sb2dvLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1sb2dvLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1sb2dvLCAudWstb2ZmY2FudmFzLWJhciAudWstbG9nbyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnVrLWxpZ2h0IC51ay1sb2dvOmhvdmVyLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvOmhvdmVyLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286aG92ZXIsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286aG92ZXIsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpob3ZlciwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLWxvZ286aG92ZXIsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1sb2dvOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1sb2dvOmhvdmVyLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1sb2dvOmhvdmVyLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1sb2dvOmhvdmVyLCAudWstb2ZmY2FudmFzLWJhciAudWstbG9nbzpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnVrLWxpZ2h0IC51ay1sb2dvOmhhcygudWstbG9nby1pbnZlcnNlKSA+IDpub3QocGljdHVyZTpoYXMoLnVrLWxvZ28taW52ZXJzZSkpOm5vdCgudWstbG9nby1pbnZlcnNlKSwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpoYXMoLnVrLWxvZ28taW52ZXJzZSkgPiA6bm90KHBpY3R1cmU6aGFzKC51ay1sb2dvLWludmVyc2UpKTpub3QoLnVrLWxvZ28taW52ZXJzZSksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nbzpoYXMoLnVrLWxvZ28taW52ZXJzZSkgPiA6bm90KHBpY3R1cmU6aGFzKC51ay1sb2dvLWludmVyc2UpKTpub3QoLnVrLWxvZ28taW52ZXJzZSksIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286aGFzKC51ay1sb2dvLWludmVyc2UpID4gOm5vdChwaWN0dXJlOmhhcygudWstbG9nby1pbnZlcnNlKSk6bm90KC51ay1sb2dvLWludmVyc2UpLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLWxvZ286aGFzKC51ay1sb2dvLWludmVyc2UpID4gOm5vdChwaWN0dXJlOmhhcygudWstbG9nby1pbnZlcnNlKSk6bm90KC51ay1sb2dvLWludmVyc2UpLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbzpoYXMoLnVrLWxvZ28taW52ZXJzZSkgPiA6bm90KHBpY3R1cmU6aGFzKC51ay1sb2dvLWludmVyc2UpKTpub3QoLnVrLWxvZ28taW52ZXJzZSksIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1sb2dvOmhhcygudWstbG9nby1pbnZlcnNlKSA+IDpub3QocGljdHVyZTpoYXMoLnVrLWxvZ28taW52ZXJzZSkpOm5vdCgudWstbG9nby1pbnZlcnNlKSwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nbzpoYXMoLnVrLWxvZ28taW52ZXJzZSkgPiA6bm90KHBpY3R1cmU6aGFzKC51ay1sb2dvLWludmVyc2UpKTpub3QoLnVrLWxvZ28taW52ZXJzZSksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxvZ286aGFzKC51ay1sb2dvLWludmVyc2UpID4gOm5vdChwaWN0dXJlOmhhcygudWstbG9nby1pbnZlcnNlKSk6bm90KC51ay1sb2dvLWludmVyc2UpLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1sb2dvOmhhcygudWstbG9nby1pbnZlcnNlKSA+IDpub3QocGljdHVyZTpoYXMoLnVrLWxvZ28taW52ZXJzZSkpOm5vdCgudWstbG9nby1pbnZlcnNlKSwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLWxvZ286aGFzKC51ay1sb2dvLWludmVyc2UpID4gOm5vdChwaWN0dXJlOmhhcygudWstbG9nby1pbnZlcnNlKSk6bm90KC51ay1sb2dvLWludmVyc2UpIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi51ay1saWdodCAudWstbG9nby1pbnZlcnNlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvLWludmVyc2UsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nby1pbnZlcnNlLCAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1sb2dvLWludmVyc2UsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstbG9nby1pbnZlcnNlLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstbG9nby1pbnZlcnNlLCAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstbG9nby1pbnZlcnNlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1sb2dvLWludmVyc2UsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWxvZ28taW52ZXJzZSwgLnVrLW92ZXJsYXktcHJpbWFyeSAudWstbG9nby1pbnZlcnNlLCAudWstb2ZmY2FudmFzLWJhciAudWstbG9nby1pbnZlcnNlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4udWstbGlnaHQgLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPXVrLWNhcmQtbWVkaWFdKSAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay1vdmVybGF5LXByaW1hcnkgLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMyUyMDEzJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMnJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwd2lkdGglM0QlMjIxJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB4JTNEJTIyNiUyMiUyMHklM0QlMjIwJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnVrLWxpZ2h0IC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSwgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLW9wZW4gPiAudWstYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay1vcGVuID4gLnVrLWFjY29yZGlvbi10aXRsZTo6YmVmb3JlLCAudWstb2ZmY2FudmFzLWJhciAudWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIycmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpJTIyJTIwd2lkdGglM0QlMjIxMyUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjB4JTNEJTIyMCUyMiUyMHklM0QlMjI2JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIpO1xufVxuLnVrLWxpZ2h0IC51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCwgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsIC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLCAudWstdGlsZS1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSAudWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsIC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCwgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSAudWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSkgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLCAudWstb3ZlcmxheS1wcmltYXJ5IC51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCwgLnVrLW9mZmNhbnZhcy1iYXIgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLFxuLnVrLWxpZ2h0IC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsXG4udWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsXG4udWstc2VjdGlvbi1zZWNvbmRhcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCxcbi51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCxcbi51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSAudWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCxcbi51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsXG4udWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pIC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsXG4udWstb3ZlcmxheS1wcmltYXJ5IC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsXG4udWstb2ZmY2FudmFzLWJhciAudWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG4vKlxuICogUGFzcyBkcm9wYmFyIGJlaGluZCBjb2xvciB0byBKU1xuICovXG4qIHtcbiAgLS11ay1pbnZlcnNlOiBpbml0aWFsO1xufVxuXG4udWstbGlnaHQsIC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvciksIC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSwgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSwgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpLCAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSwgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSksIC51ay1jYXJkLXNlY29uZGFyeS51ay1jYXJkLWJvZHksIC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj11ay1jYXJkLW1lZGlhXSksIC51ay1vdmVybGF5LXByaW1hcnksIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgLS11ay1pbnZlcnNlOiBsaWdodDtcbn1cblxuLnVrLWRhcmssIC51ay1zZWN0aW9uLWRlZmF1bHQ6bm90KC51ay1wcmVzZXJ2ZS1jb2xvciksIC51ay1zZWN0aW9uLW11dGVkOm5vdCgudWstcHJlc2VydmUtY29sb3IpLCAudWstdGlsZS1kZWZhdWx0Om5vdCgudWstcHJlc2VydmUtY29sb3IpLCAudWstdGlsZS1tdXRlZDpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSwgLnVrLWNhcmQtZGVmYXVsdC51ay1jYXJkLWJvZHksIC51ay1jYXJkLWRlZmF1bHQgPiA6bm90KFtjbGFzcyo9dWstY2FyZC1tZWRpYV0pLCAudWstb3ZlcmxheS1kZWZhdWx0LCAudWstZHJvcGJhciwgLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpLCAudWstbmF2YmFyLWRyb3Bkb3duLCAudWstZHJvcGRvd24ge1xuICAtLXVrLWludmVyc2U6IGRhcms7XG59XG5cbi51ay1pbnZlcnNlLWxpZ2h0IHtcbiAgLS11ay1pbnZlcnNlOiBsaWdodCAhaW1wb3J0YW50O1xufVxuXG4udWstaW52ZXJzZS1kYXJrIHtcbiAgLS11ay1pbnZlcnNlOiBkYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQcmludFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgcHJpbnQge1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtO1xuICB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgfVxufVxuI3BhZ2Utd3JhcHBlciB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS4ycztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjlzO1xuICBhbmltYXRpb24tbmFtZTogcGFnZUZhZGVJbjtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuI3BhZ2Utd3JhcHBlci51bmxvYWQge1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICBhbmltYXRpb24tbmFtZTogcGFnZUZhZGVPdXQ7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbiNsb2FkZXIge1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZUxvYWRlcjtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgNjAwbXM7XG4gIG9wYWNpdHk6IDA7XG59XG5cbiNsb2FkZXIudW5sb2FkcGFnZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlTG9hZGVyT2ZmO1xuICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xufVxuXG4jbG9hZGVyIGltZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDUwJSAtIDcycHgpO1xuICBsZWZ0OiBjYWxjKDUwJSAtIDcxLjVweCk7XG4gIG1heC13aWR0aDogMTQwcHg7XG4gIG1heC1oZWlnaHQ6IDE0MHB4O1xufVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVMb2FkZXIge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICA5MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbkBrZXlmcmFtZXMgYW5pbWF0ZUxvYWRlck9mZiB7XG4gIDAlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBwYWdlRmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyBwYWdlRmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbioge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgdGV4dC1yZW5kZXJpbmc6IGdlb21ldHJpY1ByZWNpc2lvbjtcbn1cblxuaHRtbCwgYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJ1YmlrXCIsIHNhbnMtc2VyaWYsIGFyaWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBjb2xvcjogIzMzMzMzMztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG5oMSwgaDIsIGgzLCBoNSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1lcnJpd2VhdGhlclwiLCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDY1cHg7XG4gIGxpbmUtaGVpZ2h0OiA2NXB4O1xuICBjb2xvcjogIzMzMzMzMztcbn1cblxuaDIge1xuICBmb250LXNpemU6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICBtYXJnaW4tdG9wOiAwcHg7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuXG5oNCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJ1YmlrXCIsIHNhbnMtc2VyaWYsIGFyaWFsO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBjb2xvcjogI0NDQ0UwMDtcbiAgbWFyZ2luLWJvdHRvbTogN3B4O1xufVxuXG5hLCAudWstbGluayB7XG4gIGNvbG9yOiAjQ0NDRTAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4ycztcbn1cblxuYTpob3ZlciwgLnVrLWxpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgY29sb3I6ICMzMzM7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4ycztcbn1cblxuYiwgc3Ryb25nIHtcbiAgZm9udC1mYW1pbHk6IFwiUnViaWtcIiwgc2Fucy1zZXJpZiwgYXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuXG5lbSB7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuXG5idXR0b24sIGlucHV0LCB0ZXh0YXJlYSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5oZWFkZXJfc3ZnIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDFweCk7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBoZWlnaHQ6IDM3dnc7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5oZWFkZXJfc3ZnIGltYWdlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLmhvbWVfaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaG9tZV9oZWFkZXIgLmhlYWRlcl90ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAzMCU7XG4gIGxlZnQ6IDA7XG59XG5cbi5ob21lX2hlYWRlciBoMSB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDYwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbn1cblxuLnBhZ2VfZWxlbWVudCB7XG4gIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9iZWVsZG1lcmsuc3ZnKSBsZWZ0IHRvcCAxNTBweCBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLmJyYW5jaGVzX2hvbGRlciB7XG4gIG1heC13aWR0aDogMTM2NnB4O1xuICBtYXJnaW46IC0zMHB4IGF1dG8gMTAwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuXG4uYnJhbmNoZXNfYmcge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9iZWVsZG1lcmsuc3ZnXCIpIGxlZnQgY2VudGVyIG5vLXJlcGVhdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4uYnJhbmNoZXNfaG9sZGVyIC5icmFuY2hlc19pbnRybyB7XG4gIG1heC13aWR0aDogNjUwcHg7XG59XG5cbi5icmFuY2hlc19ob2xkZXIgLmJyYW5jaGVzX2ludHJvIGgyIHtcbiAgbWF4LXdpZHRoOiA2NTBweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmJyYW5jaGVzX2hvbGRlciBoNCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJ1YmlrXCIsIHNhbnMtc2VyaWYsIGFyaWFsO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBjb2xvcjogI0NDQ0UwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5icmFuY2hlX2dyaWQge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5icmFuY2hlX2dyaWQgLmJyYW5jaGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5icmFuY2hlX2dyaWQgLmJyYW5jaGUgaDMge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5icmFuY2hlX2dyaWQgLmltYWdlX2hvbGRlciB7XG4gIHBhZGRpbmc6IDI4JSAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xufVxuXG4uYnJhbmNoZV9ncmlkIC5icmFuY2hlOmhvdmVyIC5pbWFnZV9ob2xkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0NDRTAwO1xufVxuXG4uYnJhbmNoZV9ncmlkIC5pbWFnZV9ob2xkZXIgc3ZnIHtcbiAgaGVpZ2h0OiAxMDNweDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5icmFuY2hlX2dyaWQgLmltYWdlX2hvbGRlciBzdmcgKltmaWxsPVwiIzMzMzMzM1wiXSxcbi5icmFuY2hlX2dyaWQgLmltYWdlX2hvbGRlciBzdmcgKltzdHJva2U9XCIjMzMzMzMzXCJdIHtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xufVxuXG4uYnJhbmNoZV9ncmlkIC5pbWFnZV9ob2xkZXIgc3ZnIGcge1xuICBzdHJva2Utd2lkdGg6IDEuOTtcbn1cblxuLmJyYW5jaGVfZ3JpZCAuYnJhbmNoZTpob3ZlciAuaW1hZ2VfaG9sZGVyIHN2ZyAqW2ZpbGw9XCIjMzMzMzMzXCJdIHtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLmJyYW5jaGVfZ3JpZCAuYnJhbmNoZTpob3ZlciAuaW1hZ2VfaG9sZGVyIHN2ZyAqW3N0cm9rZT1cIiMzMzMzMzNcIl0ge1xuICBzdHJva2U6ICNmZmY7XG59XG5cbi5icmFuY2hlX2dyaWQgLmJyYW5jaGUgYSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbn1cblxuLmJyYW5jaGVfZ3JpZCAuYnJhbmNoZTpob3ZlciBhIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm92ZXJfb25zIHtcbiAgcGFkZGluZy10b3A6IDEwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5vdmVyX29ucy5jb250YWN0cGFnZSB7XG4gIG1hcmdpbi10b3A6IDE2MHB4O1xufVxuXG4ub3Zlcl9vbnMgLmJnX292ZXJfb25zIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogY2FsYyg1MCUgKyA2NjNweCk7XG4gIGhlaWdodDogODUlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICB6LWluZGV4OiAxO1xufVxuXG4ub3Zlcl9vbnMgLm92ZXJfb25zX2dyaWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5vdmVyX29ucyAudGV4dF9ibG9jayB7XG4gIHBhZGRpbmc6IGNhbGMoMTAlIC0gMjBweCkgMTAlIDEwJTtcbiAgbWF4LXdpZHRoOiA3NTBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEwJSAtIDE1cHgpO1xuICBtYXJnaW4tdG9wOiA3MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggMTVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5vdmVyX29ucyAudGV4dF9ibG9jayBoMiB7XG4gIGNvbG9yOiAjY2NjO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLm92ZXJfb25zIC5sZWZ0X2NvbHVtbiBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm92ZXJfb25zIHAuY29udGFjdF9pY29ucyB7XG4gIGxpbmUtaGVpZ2h0OiA0M3B4O1xufVxuXG4ub3Zlcl9vbnMgcC5jb250YWN0X2ljb25zIHNwYW4ge1xuICB3aWR0aDogMzVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ub3Zlcl9vbnMgLnRleHRfYmxvY2sgaDMge1xuICBtYXJnaW46IDA7XG59XG5cbi5vdmVyX29ucyAudGV4dF9ibG9jayBiLFxuLm92ZXJfb25zIC50ZXh0X2Jsb2NrIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5tYXBzX2dlZ2V2ZW5zICNtYXAge1xuICBoZWlnaHQ6IDUwMHB4O1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiA1MHB4IGF1dG8gMzBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogcHJvamVjdCBkZXRhaWwgKi9cbi5rZW5tZXJrZW5fcHJvamVjdCBwIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ub3Zlcl9vbnMgLnRleHRfYmxvY2sgLnNmZWVyaW1wcmVzc2llcyB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5mb290ZXIge1xuICBtYXgtd2lkdGg6IDEzNjZweDtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgcGFkZGluZzogNTBweCAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZm9vdGVyIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5mb290ZXIgLmZvb3Rlcl9pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uZm9vdGVyIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogNTVweCAwIDA7XG59XG5cbi5mb290ZXIgdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uZm9vdGVyIGEge1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uZm9vdGVyIGEuZm9vdGVyX2FkcmVzIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5mb290ZXIgLmxhc3RfY29sdW1uIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5mb290ZXIgLmxhc3RfY29sdW1uIC5zb2NpYWwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZvb3RlciAubGFzdF9jb2x1bW4gLnNvY2lhbCAuaG9mbGV2ZXJhbmNpZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuXG4vKiBsYW5kaW5nc3BhZ2luYSAqL1xuLmxhbmRpbmdfY29udGVudCB7XG4gIG1heC13aWR0aDogMTM2NnB4O1xuICBtYXJnaW46IDgwcHggYXV0bztcbiAgcGFkZGluZzogMCAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubGFuZGluZ19jb250ZW50LnRvcCB7XG4gIG1hcmdpbjogODBweCBhdXRvIDUwcHg7XG59XG5cbi5pbnRyb3RleHQge1xuICBtYXJnaW46IDEwcHggYXV0bztcbn1cblxuLmxhbmRpbmdfY29udGVudCBoMSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNDQ0NFMDA7XG4gIGZvbnQtZmFtaWx5OiBcIlJ1YmlrXCIsIHNhbnMtc2VyaWYsIGFyaWFsO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5sYW5kaW5nX2NvbnRlbnQgaDIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiA1MHB4O1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4ubGFuZGluZ19jb250ZW50IC5sYW5kaW5nX2ludHJvIHtcbiAgbWF4LXdpZHRoOiA4MTBweDtcbiAgbWFyZ2luOiAwIGF1dG8gMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5sYWF0c3RlX3Byb2plY3Rlbl9ob2xkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sYWF0c3RlX3Byb2plY3Rlbl9ob2xkZXIgLmJnX3Byb2plY3RlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAzNDhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgei1pbmRleDogMTtcbn1cblxuLmxhYXRzdGVfcHJvamVjdGVuIHtcbiAgbWF4LXdpZHRoOiAxMzY2cHg7XG4gIG1hcmdpbjogMTAwcHggYXV0byAwO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuLmxhYXRzdGVfcHJvamVjdGVuIC5wcm9qZWN0ZW5faW50cm8ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5sYWF0c3RlX3Byb2plY3RlbiBoMyB7XG4gIG1hcmdpbjogMCAwIDVweDtcbn1cblxuLmxhYXRzdGVfcHJvamVjdGVuIGg0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGNvbG9yOiAjQ0NDRTAwO1xuICBtYXJnaW46IDAgMCA1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJ1YmlrXCIsIHNhbnMtc2VyaWYsIGFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5sYWF0c3RlX3Byb2plY3RlbiBwIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubGFhdHN0ZV9wcm9qZWN0ZW4gLnByb2plY3RfaW50cm8ge1xuICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5sYWF0c3RlX3Byb2plY3RlbiAucHJvamVjdF9pbnRybyAuYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLmNlcnRpZmljYXRlbl9ob2xkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBwYWRkaW5nOiAxMDBweCAwO1xufVxuXG4uY2VydGlmaWNhdGVuIHtcbiAgbWF4LXdpZHRoOiAxMzY2cHg7XG4gIG1hcmdpbjogMHB4IGF1dG87XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNlcnRpZmljYXRlbiAuY2VydGlmaWNhdGVuTGluayB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNlcnRpZmljYXRlbiBpbWcge1xuICBtYXgtaGVpZ2h0OiA5NXB4O1xuICBtYXJnaW46IDdweCA1cHg7XG59XG5cbi5jdGFfaG9sZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcGFkZGluZzogNDBweCAwIDYwcHg7XG59XG5cbi5jdGEge1xuICBtYXgtd2lkdGg6IDEzNjZweDtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgcGFkZGluZzogMCAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmN0YSBoMyB7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogNjUwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmN0YSBhLmxlZXNfbWVlciB7XG4gIGZsb2F0OiByaWdodDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmctcmlnaHQ6IDMzcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9jdGFfYXJyb3cuc3ZnKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgNXB4IGNlbnRlcjtcbn1cblxuLmN0YSBhLmxlZXNfbWVlcjpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDBweCBjZW50ZXI7XG59XG5cbi5wcm9qZWN0ZW5faG9sZGVyIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7XG59XG5cbi5wcm9qZWN0ZW4ge1xuICBtYXgtd2lkdGg6IDEzNjZweDtcbiAgbWFyZ2luOiAwcHggYXV0byAxMDBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnByb2plY3RlbiAucHJvamVjdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLnByb2plY3RlbiAucHJvamVjdCBoNCB7XG4gIGZvbnQtZmFtaWx5OiBcIk1lcnJpd2VhdGhlclwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5wcm9qZWN0ZW4gLnByb2plY3QgcCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnByb2plY3RlbiAucHJvamVjdCAucHJvamVjdF90aXRsZSB7XG4gIHBhZGRpbmc6IDIwcHggMjBweCA1MHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi5wcm9qZWN0ZW4gLnByb2plY3QgLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMjVweDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5wcm9qZWN0ZW4gLnByb2plY3QgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9qZWN0ZW4gZm9ybSB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnByb2plY3RlbiBmb3JtIHNwYW4ge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAxN3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gIG1hcmdpbi1yaWdodDogMjVweDtcbn1cblxuLnByb2plY3RlbiBmb3JtIHNwYW46YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDMwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgcmlnaHQ6IDA7XG4gIHRvcDogY2FsYyg1MCUgLSAycHgpO1xufVxuXG4ucHJvamVjdGVuIGZvcm0gYSB7XG4gIGJhY2tncm91bmQ6ICNDQ0NFMDA7XG4gIHBhZGRpbmc6IDlweCAyMnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW46IDAgMXB4IDdweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5wcm9qZWN0ZW4gZm9ybSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzO1xufVxuXG4udGVydWcge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbn1cblxuLnRlcnVnIGE6aG92ZXIge1xuICBjb2xvcjogI0NDQ0UwMDtcbn1cblxuLnRlcnVnIGEgaW1nIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiAtMnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG59XG5cbi50ZXJ1ZyBhOmhvdmVyIGltZyB7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbn1cblxuLnNvY2lhbCAudWstaWNvbi1idXR0b24sXG4uc29jaWFsIC51ay1pY29uLWJ1dHRvbjpob3ZlciB7XG4gIHdpZHRoOiA0N3B4O1xuICBoZWlnaHQ6IDQ3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNDQ0NFMDA7XG4gIHBhZGRpbmc6IDhweDtcbiAgY29sb3I6ICNmZmY7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5mb3JtdWxpZXJDb250YWluZXIge1xuICBtYXgtd2lkdGg6IDEyNDBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uZm9ybXVsaWVyQ29udGFpbmVyIGlucHV0LCAuZm9ybXVsaWVyQ29udGFpbmVyIHRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0NFMDA7XG4gIGZvbnQtZmFtaWx5OiBcIlJ1YmlrXCIsIHNhbnMtc2VyaWYsIGFyaWFsO1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5mb3JtdWxpZXJDb250YWluZXIgaW5wdXQge1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbn1cblxuLmZvcm11bGllckNvbnRhaW5lciB0ZXh0YXJlYSB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5mb3JtdWxpZXJDb250YWluZXIgLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDEzcHggNzVweCAxM3B4IDMwcHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjMzMzIHVybChcIi9hc3NldHMvaW1hZ2VzL2J1dHRvbl9iZy5zdmdcIikgcmlnaHQgbm8tcmVwZWF0O1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gIGZvbnQtc2l6ZTogMTdweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA1NXB4O1xuICBmb250LWZhbWlseTogXCJSdWJpa1wiLCBzYW5zLXNlcmlmLCBhcmlhbDtcbn1cblxuLmZvcm11bGllckNvbnRhaW5lciAuYnV0dG9uOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgdG9wOiBjYWxjKDUwJSAtIDlweCk7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDE0cHg7XG4gIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9idXR0b25fYXJyb3cuc3ZnKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjNzO1xufVxuXG4uZm9ybXVsaWVyQ29udGFpbmVyIC5idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwIHVybChcIi9hc3NldHMvaW1hZ2VzL2J1dHRvbl9iZy5zdmdcIikgcmlnaHQgbm8tcmVwZWF0O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjNzO1xufVxuXG4uZm9ybXVsaWVyQ29udGFpbmVyIC5idXR0b246aG92ZXI6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IGNhbGMoNTAlIC0gOXB4KTtcbiAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4zcztcbn1cblxuLmZvcm11bGllckNvbnRhaW5lciBpbnB1dC5jaGVja2JveCB7XG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDE1cHg7XG59XG5cbi5mb3JtdWxpZXJDb250YWluZXIgLmxhYmVsSG9sZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZm9ybXVsaWVyQ29udGFpbmVyIC5sYWJlbEhvbGRlciBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAzMHB4O1xufVxuXG4uYm9keV9hZHZhbmNlZCB7XG4gIG1hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xufVxuXG4uYm9keV9hZHZhbmNlZCBoMiB7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4uYm9keV9hZHZhbmNlZCBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJ1dHRvbiBhIHtcbiAgcGFkZGluZzogMTNweCA3NXB4IDEzcHggMzBweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICMzMzMgdXJsKFwiL2Fzc2V0cy9pbWFnZXMvYnV0dG9uX2JnLnN2Z1wiKSByaWdodCBuby1yZXBlYXQ7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgZm9udC1zaXplOiAxN3B4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDU1cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJ1YmlrXCIsIHNhbnMtc2VyaWYsIGFyaWFsO1xufVxuXG4uYnV0dG9uIGE6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICB0b3A6IGNhbGMoNTAlIC0gOXB4KTtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAyMHB4O1xuICB3aWR0aDogMTRweDtcbiAgYmFja2dyb3VuZDogdXJsKC9hc3NldHMvaW1hZ2VzL2J1dHRvbl9hcnJvdy5zdmcpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQ7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuM3M7XG59XG5cbi5idXR0b24gYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMDAgdXJsKFwiL2Fzc2V0cy9pbWFnZXMvYnV0dG9uX2JnLnN2Z1wiKSByaWdodCBuby1yZXBlYXQ7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuM3M7XG59XG5cbi5idXR0b24gYTpob3ZlcjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogY2FsYyg1MCUgLSA5cHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjNzO1xufVxuXG4uYm9keV9hZHZhbmNlZCBzdHJvbmcsXG4uYm9keV9hZHZhbmNlZCBiIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmxhbmRpbmdfYm9keSAuYm9keV9hZHZhbmNlZCB7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjOUI5QjlCO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLyogc2xpZGVyX2JnICovXG4uc2xpZGVyX2JnIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDE0MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5zbGlkZXJfYmcgLnByZXYge1xuICBiYWNrZ3JvdW5kOiAjQ0NDRTAwIHVybChcIi9hc3NldHMvaW1hZ2VzL3ByZXYuc3ZnXCIpIDI2cHggY2VudGVyIG5vLXJlcGVhdDtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbi1sZWZ0OiAyJTtcbiAgcGFkZGluZzogNXB4O1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiA2MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA4cHggMHB4IHJnYmEoMTk3LCAxOTcsIDE5NywgMC43KTtcbiAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDhweCAwcHggcmdiYSgxOTcsIDE5NywgMTk3LCAwLjcpO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDhweCAwcHggcmdiYSgxOTcsIDE5NywgMTk3LCAwLjcpO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzO1xufVxuXG4uc2xpZGVyX2JnIC5uZXh0IHtcbiAgYmFja2dyb3VuZDogI0NDQ0UwMCB1cmwoXCIvYXNzZXRzL2ltYWdlcy9uZXh0LnN2Z1wiKSAzMHB4IGNlbnRlciBuby1yZXBlYXQ7XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW4tcmlnaHQ6IDIlO1xuICBwYWRkaW5nOiA1cHg7XG4gIHdpZHRoOiA2MHB4O1xuICBoZWlnaHQ6IDYwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDhweCAwcHggcmdiYSgxOTcsIDE5NywgMTk3LCAwLjcpO1xuICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggOHB4IDBweCByZ2JhKDE5NywgMTk3LCAxOTcsIDAuNyk7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggOHB4IDBweCByZ2JhKDE5NywgMTk3LCAxOTcsIDAuNyk7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XG59XG5cbi5zbGlkZXJfYmcgLnByZXY6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogIzAwMCB1cmwoXCIvYXNzZXRzL2ltYWdlcy9wcmV2LnN2Z1wiKSAyNnB4IGNlbnRlciBuby1yZXBlYXQ7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIDAuMnM7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjcpO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjcpO1xufVxuXG4uc2xpZGVyX2JnIC5uZXh0OmhvdmVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6ICMwMDAgdXJsKFwiL2Fzc2V0cy9pbWFnZXMvbmV4dC5zdmdcIikgMzBweCBjZW50ZXIgbm8tcmVwZWF0O1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbn1cblxuLnNsaWRlcl9iZyBhIHN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5ib2R5X2FkdmFuY2VkLmNlbnRlciB7XG4gIG1heC13aWR0aDogMTI0MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwcHggYXV0byA0MHB4O1xufVxuXG4uYm9keV9hZHZhbmNlZCAuYmdfaW1hZ2Uge1xuICBtYXgtd2lkdGg6IDE0MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5ibG9nX2RldGFpbCAuYm9keV9hZHZhbmNlZCAuYmdfaW1hZ2Uge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbn1cblxuLmNlbnRlciB7XG4gIC8qbWF4LXdpZHRoOiAxMjQwcHg7Ki9cbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMHB4IGF1dG8gNDBweDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmNlbnRlcl9mdWxsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMHB4IGF1dG87XG4gIG1heC13aWR0aDogODAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbnRhY3RfYm9keSAuY2VudGVyX2Z1bGwge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jb250YWN0X2JvZHkgLmJvZHlfYWR2YW5jZWQge1xuICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbn1cblxuLmNlbnRlciBwLmFsaWduLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNlbnRlciAubGVmdF9jb2x1bW4ge1xuICBwYWRkaW5nLWxlZnQ6IDBweDtcbn1cblxuLmJvZHlfYWR2YW5jZWQgaW1nLmZ1bGwge1xuICB3aWR0aDogOTAlO1xuICBtYXJnaW4tbGVmdDogNSU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5xdW90ZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucXVvdGUgaDMge1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0M3B4O1xuICBjb2xvcjogIzMzMztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1mYW1pbHk6IFwiTWVycml3ZWF0aGVyXCIsIHNlcmlmO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjQwcHgpIHtcbiAgLmxhbmRpbmdfaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG4gIC5ib2R5X2FkdmFuY2VkIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAubGFuZGluZ19ib2R5IC5ib2R5X2FkdmFuY2VkOmZpcnN0LWNoaWxkIC5zY3JlZW4gLmNlbnRlcixcbiAgLmxhbmRpbmdfYm9keSAuYm9keV9hZHZhbmNlZCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB9XG4gIC5tYXN0ZXJzX2luX2dyZWVuIC5tYXN0ZXJzX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYm9keV9hZHZhbmNlZCB7XG4gICAgbWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50O1xuICB9XG4gIC5jZW50ZXIgLmNlbnRlcl9mdWxsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5ib2R5X2FkdmFuY2VkIC5yaWdodF9jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLnByb2plY3Rfc2xpZGVyIC5ibG9jayAuaW1hZ2VfdGl0bGUge1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gIH1cbiAgLmJvZHlfYWR2YW5jZWQge1xuICAgIG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLnByb2plY3Rfc2xpZGVyIC5ibG9jayB7XG4gICAgbWFyZ2luOiAwIDIwcHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnByb2plY3Rfc2xpZGVyLnVrLWZsZXgge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5wcm9qZWN0X3NsaWRlciAuYmxvY2sge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcGx5ci1wcm9ncmVzcyB7XG4gIHRvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyNXB4IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcGx5ci1wb3B1cCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBwbHlyLWZhZGUtaW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4ucGx5ciB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIGZvbnQtZmFtaWx5OiBBdmVuaXIsIFwiQXZlbmlyIE5leHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAyMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIGVhc2U7XG59XG5cbi5wbHlyIGF1ZGlvLCAucGx5ciB2aWRlbyB7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wbHlyIGJ1dHRvbiB7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ucGx5ciBidXR0b246OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wbHlyOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnBseXItLWZ1bGwtdWkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ucGx5ci0tZnVsbC11aSAqLCAucGx5ci0tZnVsbC11aSA6OmFmdGVyLCAucGx5ci0tZnVsbC11aSA6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGEsIC5wbHlyLS1mdWxsLXVpIGJ1dHRvbiwgLnBseXItLWZ1bGwtdWkgaW5wdXQsIC5wbHlyLS1mdWxsLXVpIGxhYmVsIHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbi5wbHlyX19iYWRnZSB7XG4gIGJhY2tncm91bmQ6ICM0ZjViNWY7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogOXB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogM3B4IDRweDtcbn1cblxuLnBseXItLWZ1bGwtdWkgOjotd2Via2l0LW1lZGlhLXRleHQtdHJhY2stY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBseXJfX2NhcHRpb25zIHtcbiAgYW5pbWF0aW9uOiBwbHlyLWZhZGUtaW4gMC4zcyBlYXNlO1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxlZnQ6IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBlYXNlLWluLW91dDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wbHlyX19jYXB0aW9ucyAucGx5cl9fY2FwdGlvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAtd2Via2l0LWJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICBsaW5lLWhlaWdodDogMTg1JTtcbiAgcGFkZGluZzogMC4yZW0gMC41ZW07XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbn1cblxuLnBseXJfX2NhcHRpb25zIC5wbHlyX19jYXB0aW9uIGRpdiB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLnBseXJfX2NhcHRpb25zIHNwYW46ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBseXJfX2NhcHRpb25zIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG4ucGx5ci0tY2FwdGlvbnMtYWN0aXZlIC5wbHlyX19jYXB0aW9ucyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucGx5cjpub3QoLnBseXItLWhpZGUtY29udHJvbHMpIC5wbHlyX19jb250cm9sczpub3QoOmVtcHR5KSB+IC5wbHlyX19jYXB0aW9ucyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG59XG5cbi5wbHlyX19jb250cm9sIHtcbiAgYmFja2dyb3VuZDogMCAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nOiA3cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbn1cblxuLnBseXJfX2NvbnRyb2wgc3ZnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgaGVpZ2h0OiAxOHB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2lkdGg6IDE4cHg7XG59XG5cbi5wbHlyX19jb250cm9sOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuYS5wbHlyX19jb250cm9sIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5hLnBseXJfX2NvbnRyb2w6OmFmdGVyLCBhLnBseXJfX2NvbnRyb2w6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wbHlyX19jb250cm9sLnBseXJfX2NvbnRyb2wtLXByZXNzZWQgLmljb24tLW5vdC1wcmVzc2VkLCAucGx5cl9fY29udHJvbC5wbHlyX19jb250cm9sLS1wcmVzc2VkIC5sYWJlbC0tbm90LXByZXNzZWQsIC5wbHlyX19jb250cm9sOm5vdCgucGx5cl9fY29udHJvbC0tcHJlc3NlZCkgLmljb24tLXByZXNzZWQsIC5wbHlyX19jb250cm9sOm5vdCgucGx5cl9fY29udHJvbC0tcHJlc3NlZCkgLmxhYmVsLS1wcmVzc2VkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cywgLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9sOmhvdmVyLCAucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gIGJhY2tncm91bmQ6ICNDQ0NFMDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2wgc3ZnIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSk7XG59XG5cbi5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXMsIC5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbDpob3ZlciwgLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kOiAjQ0NDRTAwO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyMDQsIDIwNiwgMCwgMC44KTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxlZnQ6IDUwJTtcbiAgcGFkZGluZzogMTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5wbHlyX19jb250cm9sLS1vdmVybGFpZCBzdmcge1xuICBsZWZ0OiAycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlkOmZvY3VzLCAucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjQ0NDRTAwO1xufVxuXG4ucGx5ci0tcGxheWluZyAucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQge1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sLS1vdmVybGFpZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucGx5ci0tZnVsbC11aSA6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGx5cl9fY29udHJvbHMge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wbHlyX19jb250cm9scyAucGx5cl9fbWVudSwgLnBseXJfX2NvbnRyb2xzIC5wbHlyX19wcm9ncmVzcywgLnBseXJfX2NvbnRyb2xzIC5wbHlyX190aW1lLCAucGx5cl9fY29udHJvbHMgLnBseXJfX3ZvbHVtZSwgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2wge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4ucGx5cl9fY29udHJvbHMgLnBseXJfX21lbnUgKyAucGx5cl9fY29udHJvbCwgLnBseXJfX2NvbnRyb2xzIC5wbHlyX19wcm9ncmVzcyArIC5wbHlyX19jb250cm9sLCAucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbCArIC5wbHlyX19jb250cm9sLCAucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbCArIC5wbHlyX19tZW51IHtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cblxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQsIC5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkICsgW2RhdGEtcGx5cj1wYXVzZV0ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4ucGx5cl9fY29udHJvbHM6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX19tZW51LCAucGx5cl9fY29udHJvbHMgLnBseXJfX3Byb2dyZXNzLCAucGx5cl9fY29udHJvbHMgLnBseXJfX3RpbWUsIC5wbHlyX19jb250cm9scyAucGx5cl9fdm9sdW1lLCAucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cbi5wbHlyLS1hdWRpbyAucGx5cl9fY29udHJvbHMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICBjb2xvcjogIzRmNWI1ZjtcbiAgcGFkZGluZzogMTBweDtcbn1cblxuLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9scyB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2JhKDAsIDAsIDAsIDApLCByZ2JhKDAsIDAsIDAsIDAuNykpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgYm90dG9tOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMjBweCA1cHggNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZS1pbi1vdXQsIHRyYW5zZm9ybSAwLjRzIGVhc2UtaW4tb3V0O1xuICB6LWluZGV4OiAzO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9scyB7XG4gICAgcGFkZGluZzogMzVweCAxMHB4IDEwcHg7XG4gIH1cbn1cbi5wbHlyLS12aWRlby5wbHlyLS1oaWRlLWNvbnRyb2xzIC5wbHlyX19jb250cm9scyB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG59XG5cbi5wbHlyIFtkYXRhLXBseXI9YWlycGxheV0sIC5wbHlyIFtkYXRhLXBseXI9Y2FwdGlvbnNdLCAucGx5ciBbZGF0YS1wbHlyPWZ1bGxzY3JlZW5dLCAucGx5ciBbZGF0YS1wbHlyPXBpcF0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGx5ci0tYWlycGxheS1zdXBwb3J0ZWQgW2RhdGEtcGx5cj1haXJwbGF5XSwgLnBseXItLWNhcHRpb25zLWVuYWJsZWQgW2RhdGEtcGx5cj1jYXB0aW9uc10sIC5wbHlyLS1mdWxsc2NyZWVuLWVuYWJsZWQgW2RhdGEtcGx5cj1mdWxsc2NyZWVuXSwgLnBseXItLXBpcC1zdXBwb3J0ZWQgW2RhdGEtcGx5cj1waXBdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucGx5cl9fdmlkZW8tZW1iZWQge1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBseXJfX3ZpZGVvLWVtYmVkIGlmcmFtZSB7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wbHlyLS1mdWxsLXVpIC5wbHlyX192aWRlby1lbWJlZCA+IC5wbHlyX192aWRlby1lbWJlZF9fY29udGFpbmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDI0MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zOC4yODEyNSUpO1xufVxuXG4ucGx5cl9fbWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBseXJfX21lbnUgLnBseXJfX2NvbnRyb2wgc3ZnIHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLnBseXJfX21lbnUgLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXSBzdmcge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5wbHlyX19tZW51IC5wbHlyX19jb250cm9sW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0gLnBseXJfX3Rvb2x0aXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGx5cl9fbWVudV9fY29udGFpbmVyIHtcbiAgYW5pbWF0aW9uOiBwbHlyLXBvcHVwIDAuMnMgZWFzZTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvdHRvbTogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGNvbG9yOiAjNGY1YjVmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC0zcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5wbHlyX19tZW51X19jb250YWluZXIgPiBkaXYge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgd2lkdGggMC4zNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuLnBseXJfX21lbnVfX2NvbnRhaW5lcjo6YWZ0ZXIge1xuICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBjb250ZW50OiBcIlwiO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE1cHg7XG4gIHRvcDogMTAwJTtcbiAgd2lkdGg6IDA7XG59XG5cbi5wbHlyX19tZW51X19jb250YWluZXIgW3JvbGU9bWVudV0ge1xuICBwYWRkaW5nOiA3cHg7XG59XG5cbi5wbHlyX19tZW51X19jb250YWluZXIgW3JvbGU9bWVudWl0ZW1dLCAucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVpdGVtcmFkaW9dIHtcbiAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4ucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVpdGVtXTpmaXJzdC1jaGlsZCwgLnBseXJfX21lbnVfX2NvbnRhaW5lciBbcm9sZT1tZW51aXRlbXJhZGlvXTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzRmNWI1ZjtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiA0cHggMTFweDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wgPiBzcGFuIHtcbiAgYWxpZ24taXRlbXM6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sOjphZnRlciB7XG4gIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWZvcndhcmQge1xuICBwYWRkaW5nLXJpZ2h0OiAyOHB4O1xufVxuXG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1mb3J3YXJkOjphZnRlciB7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDc5LCA5MSwgOTUsIDAuOCk7XG4gIHJpZ2h0OiA1cHg7XG59XG5cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWZvcndhcmQucGx5cl9fdGFiLWZvY3VzOjphZnRlciwgLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tZm9yd2FyZDpob3Zlcjo6YWZ0ZXIge1xuICBib3JkZXItbGVmdC1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNrIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiA3cHg7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbiAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxNHB4KTtcbn1cblxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFjazo6YWZ0ZXIge1xuICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoNzksIDkxLCA5NSwgMC44KTtcbiAgbGVmdDogN3B4O1xufVxuXG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNrOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYjdjNWNkO1xuICBib3gtc2hhZG93OiAwIDFweCAwICNmZmY7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMXB4O1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTtcbn1cblxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFjay5wbHlyX190YWItZm9jdXM6OmFmdGVyLCAucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNrOmhvdmVyOjphZnRlciB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb10ge1xuICBwYWRkaW5nLWxlZnQ6IDdweDtcbn1cblxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjphZnRlciwgLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgd2lkdGg6IDE2cHg7XG59XG5cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDA7XG4gIGhlaWdodDogNnB4O1xuICBsZWZ0OiAxMnB4O1xuICBvcGFjaXR5OiAwO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgd2lkdGg6IDZweDtcbn1cblxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dW2FyaWEtY2hlY2tlZD10cnVlXTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI0NDQ0UwMDtcbn1cblxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dW2FyaWEtY2hlY2tlZD10cnVlXTo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSk7XG59XG5cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXS5wbHlyX190YWItZm9jdXM6OmJlZm9yZSwgLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOmhvdmVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX21lbnVfX3ZhbHVlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogLTVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAyOHB4O1xuICBjb2xvcjogI0NDQ0UwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGhlaWdodDogNHB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgY3VycmVudENvbG9yIHZhcigtLXZhbHVlLCAwKSwgdHJhbnNwYXJlbnQgdmFyKC0tdmFsdWUsIDApKTtcbn1cblxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoNDcsIDUyLCA2MSwgMC4yKTtcbiAgaGVpZ2h0OiAxNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIHdpZHRoOiAxNHB4O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC01cHg7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogMCAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBlYXNlO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSg0NywgNTIsIDYxLCAwLjIpO1xuICBoZWlnaHQ6IDE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgd2lkdGg6IDE0cHg7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXByb2dyZXNzIHtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGhlaWdodDogNHB4O1xufVxuXG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogMCAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBlYXNlO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtZmlsbC11cHBlciB7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGhlaWdodDogNHB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLWxvd2VyIHtcbiAgYmFja2dyb3VuZDogMCAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBlYXNlO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSg0NywgNTIsIDYxLCAwLjIpO1xuICBoZWlnaHQ6IDE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgd2lkdGg6IDE0cHg7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdG9vbHRpcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otZm9jdXMtb3V0ZXIge1xuICBib3JkZXI6IDA7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBib3gtc2hhZG93OiAwIDAgMCA1cHggcmdiYSgyNiwgMTc1LCAyNTUsIDAuNSk7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LW1vei1yYW5nZS10cmFjayB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDVweCByZ2JhKDI2LCAxNzUsIDI1NSwgMC41KTtcbiAgb3V0bGluZTogMDtcbn1cblxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV0ucGx5cl9fdGFiLWZvY3VzOjotbXMtdHJhY2sge1xuICBib3gtc2hhZG93OiAwIDAgMCA1cHggcmdiYSgyNiwgMTc1LCAyNTUsIDAuNSk7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbn1cblxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoNDcsIDUyLCA2MSwgMC4yKSwgMCAwIDAgM3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDQ3LCA1MiwgNjEsIDAuMiksIDAgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1zLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDQ3LCA1MiwgNjEsIDAuMiksIDAgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTgzLCAxOTcsIDIwNSwgMC42Nik7XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxODMsIDE5NywgMjA1LCAwLjY2KTtcbn1cblxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTgzLCAxOTcsIDIwNSwgMC42Nik7XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoNDcsIDUyLCA2MSwgMC4yKSwgMCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDQ3LCA1MiwgNjEsIDAuMiksIDAgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1zLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDQ3LCA1MiwgNjEsIDAuMiksIDAgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5wbHlyX19wb3N0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTtcbn1cblxuLnBseXItLXN0b3BwZWQucGx5cl9fcG9zdGVyLWVuYWJsZWQgLnBseXJfX3Bvc3RlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5wbHlyX190aW1lIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4ucGx5cl9fdGltZSArIC5wbHlyX190aW1lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKBhFwiO1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAucGx5cl9fdGltZSArIC5wbHlyX190aW1lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4ucGx5ci0tdmlkZW8gLnBseXJfX3RpbWUge1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi5wbHlyX190b29sdGlwIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvdHRvbTogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGNvbG9yOiAjNGY1YjVmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxlZnQ6IDUwJTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogNXB4IDcuNXB4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMHB4KSBzY2FsZSgwLjgpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgMC4xcyBlYXNlLCBvcGFjaXR5IDAuMnMgMC4xcyBlYXNlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB6LWluZGV4OiAyO1xufVxuXG4ucGx5cl9fdG9vbHRpcDo6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gIGJvdHRvbTogLTRweDtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAwO1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogMDtcbiAgei1pbmRleDogMjtcbn1cblxuLnBseXIgLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLCAucGx5ciAucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcCwgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKSBzY2FsZSgxKTtcbn1cblxuLnBseXIgLnBseXJfX2NvbnRyb2w6aG92ZXIgLnBseXJfX3Rvb2x0aXAge1xuICB6LWluZGV4OiAzO1xufVxuXG4ucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcCwgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgKyAucGx5cl9fY29udHJvbCAucGx5cl9fdG9vbHRpcCB7XG4gIGxlZnQ6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpIHNjYWxlKDAuOCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcbn1cblxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZSwgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgKyAucGx5cl9fY29udHJvbCAucGx5cl9fdG9vbHRpcDo6YmVmb3JlIHtcbiAgbGVmdDogMTZweDtcbn1cblxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KSBzY2FsZSgwLjgpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG59XG5cbi5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxNnB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbn1cblxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUsIC5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkICsgLnBseXJfX2NvbnRyb2wgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUsIC5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkICsgLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLCAucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCArIC5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwLCAucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsIC5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkOmhvdmVyIC5wbHlyX190b29sdGlwLCAucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwLS12aXNpYmxlLCAucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZDpob3ZlciAucGx5cl9fdG9vbHRpcCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xufVxuXG4ucGx5ci0tdmlkZW8ge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGx5ci0tdmlkZW8ucGx5ci0tbWVudS1vcGVuIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5wbHlyX192aWRlby13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xufVxuXG4ucGx5cl9fcHJvZ3Jlc3Mge1xuICBmbGV4OiAxO1xuICBsZWZ0OiA3cHg7XG4gIG1hcmdpbi1yaWdodDogMTRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1yYW5nZV0sIC5wbHlyX19wcm9ncmVzc19fYnVmZmVyIHtcbiAgbWFyZ2luLWxlZnQ6IC03cHg7XG4gIG1hcmdpbi1yaWdodDogLTdweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDE0cHgpO1xufVxuXG4ucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1yYW5nZV0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5wbHlyX19wcm9ncmVzcyAucGx5cl9fdG9vbHRpcCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGVmdDogMDtcbn1cblxuLnBseXJfX3Byb2dyZXNzX19idWZmZXIge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG59XG5cbi5wbHlyX19wcm9ncmVzc19fYnVmZmVyOjotd2Via2l0LXByb2cgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTo6YWZ0ZXIsIC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbn1cblxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbGV4LXNocmluazogMDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHdpZHRoOiAxNnB4O1xufVxuXG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAwO1xuICBoZWlnaHQ6IDZweDtcbiAgbGVmdDogMTJweDtcbiAgb3BhY2l0eTogMDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgb3BhY2l0eSAwLjNzIGVhc2U7XG4gIHdpZHRoOiA2cHg7XG59XG5cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNDQ0NFMDA7XG59XG5cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV06OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpO1xufVxuXG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb10ucGx5cl9fdGFiLWZvY3VzOjpiZWZvcmUsIC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTpob3Zlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19tZW51X192YWx1ZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IC01cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAwIDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMjhweDtcbiAgY29sb3I6ICNDQ0NFMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIGVhc2U7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAwIDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBoZWlnaHQ6IDRweDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIGVhc2U7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGN1cnJlbnRDb2xvciB2YXIoLS12YWx1ZSwgMCksIHRyYW5zcGFyZW50IHZhcigtLXZhbHVlLCAwKSk7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDQ3LCA1MiwgNjEsIDAuMik7XG4gIGhlaWdodDogMTRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICB3aWR0aDogMTRweDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW4tdG9wOiAtNXB4O1xufVxuXG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFjayB7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGhlaWdodDogNHB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRodW1iIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoNDcsIDUyLCA2MSwgMC4yKTtcbiAgaGVpZ2h0OiAxNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIHdpZHRoOiAxNHB4O1xufVxuXG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS1wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBoZWlnaHQ6IDRweDtcbn1cblxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFjayB7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGhlaWdodDogNHB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtdXBwZXIge1xuICBiYWNrZ3JvdW5kOiAwIDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBoZWlnaHQ6IDRweDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzIGVhc2U7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtZmlsbC1sb3dlciB7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGhlaWdodDogNHB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xufVxuXG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRodW1iIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoNDcsIDUyLCA2MSwgMC4yKTtcbiAgaGVpZ2h0OiAxNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIHdpZHRoOiAxNHB4O1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRvb2x0aXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LWZvY3VzLW91dGVyIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXS5wbHlyX190YWItZm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgNXB4IHJnYmEoMjYsIDE3NSwgMjU1LCAwLjUpO1xuICBvdXRsaW5lOiAwO1xufVxuXG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXS5wbHlyX190YWItZm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2sge1xuICBib3gtc2hhZG93OiAwIDAgMCA1cHggcmdiYSgyNiwgMTc1LCAyNTUsIDAuNSk7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LW1zLXRyYWNrIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgNXB4IHJnYmEoMjYsIDE3NSwgMjU1LCAwLjUpO1xuICBvdXRsaW5lOiAwO1xufVxuXG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xufVxuXG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xufVxuXG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDQ3LCA1MiwgNjEsIDAuMiksIDAgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSg0NywgNTIsIDYxLCAwLjIpLCAwIDAgMCAzcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tcy10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSg0NywgNTIsIDYxLCAwLjIpLCAwIDAgMCAzcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xufVxuXG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4MywgMTk3LCAyMDUsIDAuNjYpO1xufVxuXG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTgzLCAxOTcsIDIwNSwgMC42Nik7XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4MywgMTk3LCAyMDUsIDAuNjYpO1xufVxuXG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDQ3LCA1MiwgNjEsIDAuMiksIDAgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSg0NywgNTIsIDYxLCAwLjIpLCAwIDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tcy10aHVtYiB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDAgMCAxcHggcmdiYSg0NywgNTIsIDYxLCAwLjIpLCAwIDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4ucGx5cl9fcG9zdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5wbHlyLS1zdG9wcGVkLnBseXJfX3Bvc3Rlci1lbmFibGVkIC5wbHlyX19wb3N0ZXIge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4ucGx5cl9fdGltZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLnBseXJfX3RpbWUgKyAucGx5cl9fdGltZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCLigYRcIjtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnBseXJfX3RpbWUgKyAucGx5cl9fdGltZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnBseXItLXZpZGVvIC5wbHlyX190aW1lIHtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4ucGx5cl9fdG9vbHRpcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3R0b206IDEwMCU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBjb2xvcjogIzRmNWI1ZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsZWZ0OiA1MCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDVweCA3LjVweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMTBweCkgc2NhbGUoMC44KTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjJzIDAuMXMgZWFzZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgei1pbmRleDogMjtcbn1cblxuLnBseXJfX3Rvb2x0aXA6OmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiA0cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBib3R0b206IC00cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGhlaWdodDogMDtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2lkdGg6IDA7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5wbHlyIC5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwgLnBseXIgLnBseXJfX2NvbnRyb2w6aG92ZXIgLnBseXJfX3Rvb2x0aXAsIC5wbHlyX190b29sdGlwLS12aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCkgc2NhbGUoMSk7XG59XG5cbi5wbHlyIC5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwIHtcbiAgei1pbmRleDogMztcbn1cblxuLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAsIC5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkICsgLnBseXJfX2NvbnRyb2wgLnBseXJfX3Rvb2x0aXAge1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KSBzY2FsZSgwLjgpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7XG59XG5cbi5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwOjpiZWZvcmUsIC5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkICsgLnBseXJfX2NvbnRyb2wgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZSB7XG4gIGxlZnQ6IDE2cHg7XG59XG5cbi5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTBweCkgc2NhbGUoMC44KTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xufVxuXG4ucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwOjpiZWZvcmUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTZweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7XG59XG5cbi5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwLS12aXNpYmxlLCAucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCArIC5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwLS12aXNpYmxlLCAucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCArIC5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgKyAucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcCwgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLCAucGx5cl9fY29udHJvbHMgPiAucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZDpob3ZlciAucGx5cl9fdG9vbHRpcCwgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSwgLnBseXJfX2NvbnRyb2xzID4gLnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsIC5wbHlyX19jb250cm9scyA+IC5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQ6aG92ZXIgLnBseXJfX3Rvb2x0aXAge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbn1cblxuLnBseXItLXZpZGVvIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnBseXItLXZpZGVvLnBseXItLW1lbnUtb3BlbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4ucGx5cl9fcHJvZ3Jlc3Mge1xuICBmbGV4OiAxO1xuICBsZWZ0OiA3cHg7XG4gIG1hcmdpbi1yaWdodDogMTRweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1yYW5nZV0sIC5wbHlyX19wcm9ncmVzc19fYnVmZmVyIHtcbiAgbWFyZ2luLWxlZnQ6IC03cHg7XG4gIG1hcmdpbi1yaWdodDogLTdweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDE0cHgpO1xufVxuXG4ucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1yYW5nZV0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5wbHlyX19wcm9ncmVzcyAucGx5cl9fdG9vbHRpcCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGVmdDogMDtcbn1cblxuLnBseXJfX3Byb2dyZXNzX19idWZmZXIge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG59XG5cbi5wbHlyX19wcm9ncmVzc19fYnVmZmVyOjotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gIGJhY2tncm91bmQ6IDAgMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlO1xufVxuXG4ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIG1pbi13aWR0aDogNHB4O1xufVxuXG4ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBtaW4td2lkdGg6IDRweDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlO1xufVxuXG4ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcjo6LW1zLWZpbGwge1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlO1xufVxuXG4ucGx5ci0tdmlkZW8gLnBseXJfX3Byb2dyZXNzX19idWZmZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG5cbi5wbHlyLS1hdWRpbyAucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlciB7XG4gIGNvbG9yOiByZ2JhKDE4MywgMTk3LCAyMDUsIDAuNjYpO1xufVxuXG4ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlciB7XG4gIGFuaW1hdGlvbjogcGx5ci1wcm9ncmVzcyAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoNDcsIDUyLCA2MSwgMC42KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDQ3LCA1MiwgNjEsIDAuNikgNTAlLCByZ2JhKDQ3LCA1MiwgNjEsIDAuNikgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBiYWNrZ3JvdW5kLXNpemU6IDI1cHggMjVweDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ucGx5ci0tdmlkZW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG59XG5cbi5wbHlyLS1hdWRpby5wbHlyLS1sb2FkaW5nIC5wbHlyX19wcm9ncmVzc19fYnVmZmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxODMsIDE5NywgMjA1LCAwLjY2KTtcbn1cblxuLnBseXJfX3ZvbHVtZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnBseXJfX3ZvbHVtZSBpbnB1dFt0eXBlPXJhbmdlXSB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wbHlyX192b2x1bWUge1xuICAgIG1heC13aWR0aDogOTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wbHlyX192b2x1bWUge1xuICAgIG1heC13aWR0aDogMTEwcHg7XG4gIH1cbn1cbi5wbHlyLS1pcy1pb3MgLnBseXJfX3ZvbHVtZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBseXItLWlzLWlvcy5wbHlyLS12aW1lbyBbZGF0YS1wbHlyPW11dGVdIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4ge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnBseXI6LW1zLWZ1bGxzY3JlZW4ge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnBseXI6ZnVsbHNjcmVlbiB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIHZpZGVvIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIHZpZGVvIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucGx5cjotbXMtZnVsbHNjcmVlbiB2aWRlbyB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnBseXI6ZnVsbHNjcmVlbiB2aWRlbyB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wbHlyOmZ1bGxzY3JlZW4gLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby1lbWJlZCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby1lbWJlZCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fdmlkZW8tZW1iZWQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnBseXI6ZnVsbHNjcmVlbiAucGx5cl9fdmlkZW8tZW1iZWQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gIGhlaWdodDogMDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnBseXI6LW1vei1mdWxsLXNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gIGhlaWdodDogMDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnBseXI6LW1zLWZ1bGxzY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICBoZWlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5wbHlyOmZ1bGxzY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICBoZWlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucGx5cjpmdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuICsgc3ZnIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuICsgc3ZnIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbiArIHN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wbHlyOmZ1bGxzY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbiArIHN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4ucGx5ci0taGlkZS1jb250cm9scyB7XG4gIGN1cnNvcjogbm9uZTtcbn1cblxuLnBseXI6LW1vei1mdWxsLXNjcmVlbi5wbHlyLS1oaWRlLWNvbnRyb2xzIHtcbiAgY3Vyc29yOiBub25lO1xufVxuXG4ucGx5cjotbXMtZnVsbHNjcmVlbi5wbHlyLS1oaWRlLWNvbnRyb2xzIHtcbiAgY3Vyc29yOiBub25lO1xufVxuXG4ucGx5cjpmdWxsc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHMge1xuICBjdXJzb3I6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fY2FwdGlvbnMge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxuICAucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG4gIC5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG4gIC5wbHlyOmZ1bGxzY3JlZW4gLnBseXJfX2NhcHRpb25zIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gIH1cbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4ge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiB2aWRlbyB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVkIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICBoZWlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4gKyBzdmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHMge1xuICBjdXJzb3I6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fY2FwdGlvbnMge1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgfVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIHZpZGVvIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fdmlkZW8tZW1iZWQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnBseXI6LW1vei1mdWxsLXNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gIGhlaWdodDogMDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbiArIHN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4ucGx5ci0taGlkZS1jb250cm9scyB7XG4gIGN1cnNvcjogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbiB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGx5cjotbXMtZnVsbHNjcmVlbiB2aWRlbyB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fdmlkZW8tZW1iZWQge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLnBseXI6LW1zLWZ1bGxzY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICBoZWlnaHQ6IDA7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbiArIHN2ZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wbHlyOi1tcy1mdWxsc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHMge1xuICBjdXJzb3I6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX2NhcHRpb25zIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gIH1cbn1cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDAwMDAwMDtcbn1cblxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgdmlkZW8ge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIC5wbHlyX192aWRlby13cmFwcGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgLnBseXJfX3ZpZGVvLWVtYmVkIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrLnBseXItLXZpbWVvIC5wbHlyX192aWRlby13cmFwcGVyIHtcbiAgaGVpZ2h0OiAwO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4gKyBzdmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjay5wbHlyLS1oaWRlLWNvbnRyb2xzIHtcbiAgY3Vyc29yOiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICB9XG59XG4ucGx5cl9fYWRzIHtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgYm90dG9tOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogLTE7XG59XG5cbi5wbHlyX19hZHMgPiBkaXYsIC5wbHlyX19hZHMgPiBkaXYgaWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucGx5cl9fYWRzOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNDcsIDUyLCA2MSwgMC44KTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3R0b206IDEwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBjb250ZW50OiBhdHRyKGRhdGEtYmFkZ2UtdGV4dCk7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgcGFkZGluZzogMnB4IDZweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwcHg7XG4gIHotaW5kZXg6IDM7XG59XG5cbi5wbHlyX19hZHM6OmFmdGVyOmVtcHR5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnBseXJfX2N1ZXMge1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAtMnB4IDAgMDtcbiAgb3BhY2l0eTogMC44O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogM3B4O1xuICB6LWluZGV4OiAzO1xufVxuXG4ucGx5ci0tbm8tdHJhbnNpdGlvbiB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBseXJfX3NyLW9ubHkge1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5wbHlyIFtoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4ubWVudV9ob2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3gtc2hhZG93OiAwcHggMHB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cblxuLnNlY3Rpb25faG9tZXBhZ2UgLm1lbnVfaG9sZGVyIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi5tZW51IHtcbiAgbWF4LXdpZHRoOiAxNDgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubWVudS5hY3RpdmUge1xuICBwb3NpdGlvbjogZml4ZWQ7XG59XG5cbi5tZW51IC5sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMCA4MHB4O1xufVxuXG4uc2VjdGlvbl9ob21lcGFnZSAubWVudSAubG9nbyAubG9nb19iZy52ZXJ2b2xnLFxuLm1lbnUgLmxvZ28gLmxvZ29fYmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VjdGlvbl9ob21lcGFnZSAubWVudSAubG9nbyAubG9nb19iZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubWVudSAubG9nbyAubG9nb19iZy52ZXJ2b2xnIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogODglO1xufVxuXG4ubWVudSAubG9nbyAubG9nb19iZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAxMDAlO1xufVxuXG4ubWVudSAubG9nbyAubG9nb19pbWcge1xuICBtYXJnaW4tYm90dG9tOiAtMzBweDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuXG4ubWVudSAubG9nby5qdWIge1xuICBwYWRkaW5nOiAwcHggNDVweDtcbn1cblxuLm1lbnUgLmxvZ28gLmxvZ29faW1nLmp1YiB7XG4gIG1heC13aWR0aDogMjEwcHg7XG59XG5cbi5tZW51IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLm1lbnUgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICBwYWRkaW5nOiAzOXB4IDAgMDtcbn1cblxuLm1lbnUgdWwgbGkuYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL21lbnVfYWN0aXZlLnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG59XG5cbi5tZW51IHVsIGxpIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLm1lbnUgdWwgbGk6aG92ZXIgYSxcbi5tZW51IHVsIGxpLmFjdGl2ZSBhIHtcbiAgY29sb3I6ICNDQ0NFMDA7XG59XG5cbi5tZW51LmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4uaGFtYnVyZ2VyX2hvbGRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA3cHg7XG4gIHJpZ2h0OiAxMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB6LWluZGV4OiA1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5oYW1idXJnZXIge1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW46IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhhbWJ1cmdlciAubGluZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogM3B4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGxlZnQ6IDBweDtcbn1cblxuLmhhbWJ1cmdlciAubGluZS5saW5lX3RvcCB7XG4gIHRvcDogM3B4O1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXM7XG59XG5cbi5tZW51LmFjdGl2ZSAuaGFtYnVyZ2VyIC5saW5lLmxpbmVfdG9wIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdG9wOiAxM3B4O1xufVxuXG4uaGFtYnVyZ2VyIC5saW5lLmxpbmVfbWlkZGxlIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDJweCk7XG4gIHRyYW5zaXRpb246IGFsbCA1MDBtcztcbn1cblxuLmhhbWJ1cmdlciAubGluZS5saW5lX2JvdHRvbSB7XG4gIGJvdHRvbTogNHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgNTAwbXM7XG59XG5cbi5tZW51LmFjdGl2ZSAuaGFtYnVyZ2VyIC5saW5lLmxpbmVfYm90dG9tIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBib3R0b206IDE0cHg7XG59XG5cbi5tZW51LmFjdGl2ZSAuaGFtYnVyZ2VyIC5saW5lLmxpbmVfbWlkZGxlIHtcbiAgd2lkdGg6IDA7XG4gIGxlZnQ6IDE1cHg7XG4gIG9wYWNpdHk6IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC5vdmVyX29ucyAuYmdfb3Zlcl9vbnMge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ4MHB4KSB7XG4gIC5vdmVyX29ucyAudGV4dF9ibG9jayB7XG4gICAgcGFkZGluZzogY2FsYygxMCUgLSAyMHB4KSA4JSA4JTtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtNyUgLSAxNXB4KTtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIG1heC13aWR0aDogNjUwcHg7XG4gIH1cbiAgLmxhbmRpbmdfY29udGVudCBoMixcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG4gIC5jdGFfaG9sZGVyIHtcbiAgICBwYWRkaW5nOiA0MHB4IDAgNjBweDtcbiAgfVxuICAub3Zlcl9vbnMgLnRleHRfYmxvY2sgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gIC5vdmVyX29ucyAudGV4dF9ibG9jayBoMiB7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICB9XG4gIC5icmFuY2hlc19ob2xkZXIgLmJyYW5jaGVzX2ludHJvIGgyIHtcbiAgICBmb250LXNpemU6IDQ1cHg7XG4gIH1cbiAgLm1hcHNfZ2VnZXZlbnMgI21hcCB7XG4gICAgbWFyZ2luOiA1MHB4IGF1dG8gMTAwcHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI4MHB4KSB7XG4gIC5sYW5kaW5nX2NvbnRlbnQgaDIsXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gIH1cbiAgLmhvbWVfaGVhZGVyIGgxIHtcbiAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDUzcHg7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgfVxuICAuaG9tZV9oZWFkZXIgLmhlYWRlcl90ZXh0IHtcbiAgICB0b3A6IDI1JTtcbiAgfVxuICAubGFhdHN0ZV9wcm9qZWN0ZW5faG9sZGVyIC5iZ19wcm9qZWN0ZW4ge1xuICAgIGhlaWdodDogMzclO1xuICB9XG4gIC5vdmVyX29ucy5jb250YWN0cGFnZSB7XG4gICAgbWFyZ2luLXRvcDogNzBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjQwcHgpIHtcbiAgLmxhbmRpbmdfY29udGVudCAubGFuZGluZ19pbnRybyB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMHB4O1xuICB9XG4gIC5tZW51IHVsIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMjJweDtcbiAgfVxuICAubWVudSB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbiAgLmJyYW5jaGVfZ3JpZCAuaW1hZ2VfaG9sZGVyIHN2ZyB7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICB9XG4gIC5rZW5tZXJrZW5fcHJvamVjdCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICAub3Zlcl9vbnMge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG4gIC5vdmVyX29ucyAudGV4dF9ibG9jayBoMiB7XG4gICAgcmlnaHQ6IDIwcHg7XG4gIH1cbiAgLnByb2plY3Rlbl9ob2xkZXIge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5sYW5kaW5nX2NvbnRlbnQgaDIsXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gIH1cbiAgLnNsaWRlcl9iZyAucHJldiB7XG4gICAgYmFja2dyb3VuZDogI0NDQ0UwMCB1cmwoL2Fzc2V0cy9pbWFnZXMvcHJldi5zdmcpIDE0cHggY2VudGVyIG5vLXJlcGVhdDtcbiAgICBtYXJnaW4tbGVmdDogMSU7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjUlO1xuICB9XG4gIC5zbGlkZXJfYmcgLm5leHQge1xuICAgIGJhY2tncm91bmQ6ICNDQ0NFMDAgdXJsKC9hc3NldHMvaW1hZ2VzL25leHQuc3ZnKSAxNHB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNSU7XG4gIH1cbiAgLnNsaWRlcl9iZyAucHJldjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzAwMCB1cmwoL2Fzc2V0cy9pbWFnZXMvcHJldi5zdmcpIDE0cHggY2VudGVyIG5vLXJlcGVhdDtcbiAgICBtYXJnaW4tbGVmdDogMSU7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjUlO1xuICB9XG4gIC5zbGlkZXJfYmcgLm5leHQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDAgdXJsKC9hc3NldHMvaW1hZ2VzL25leHQuc3ZnKSAxNHB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgbWFyZ2luLWxlZnQ6IDElO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI1JTtcbiAgfVxuICAub3Zlcl9vbnMgLnRleHRfYmxvY2sgaDMge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgLm92ZXJfb25zIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAub3Zlcl9vbnMgLmJnX292ZXJfb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5vdmVyX29ucyAudGV4dF9ibG9jayB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbiAgLm92ZXJfb25zIC50ZXh0X2Jsb2NrIGgyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmtlbm1lcmtlbl9wcm9qZWN0IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG4gIC5vdmVyX29ucyAudGV4dF9ibG9jayBoMyB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gIC5tZW51X2hvbGRlciB7XG4gICAgbWluLWhlaWdodDogNjFweDtcbiAgfVxuICAuaGFtYnVyZ2VyX2hvbGRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLm1lbnUgLmxvZ28ge1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICB3aWR0aDogNzRweDtcbiAgfVxuICAubWVudSAubG9nbyAubG9nb19pbWcge1xuICAgIG1hcmdpbi1ib3R0b206IC0xMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbiAgLm1lbnUgdWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcztcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5tZW51IHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAubWVudSB1bCBsaS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgLm1lbnUuYWN0aXZlIHVsIGxpIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIC5tZW51IHVsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCA3MDBtcztcbiAgfVxuICAubWVudS5hY3RpdmUgdWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAuaG9tZV9oZWFkZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICB9XG4gIC5icmFuY2hlc19ob2xkZXIge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbiAgLmJyYW5jaGVzX2hvbGRlciBoNCB7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICB9XG4gIC5jdGEgYS5sZWVzX21lZXIge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG4gIC5jdGEgaDMge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC5tZW51IC5sb2dvIC5sb2dvX2ltZy5qdWIge1xuICAgIG1heC13aWR0aDogMTMwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5icmFuY2hlc19ob2xkZXIge1xuICAgIG1hcmdpbjogMTBweCBhdXRvIDQwcHg7XG4gIH1cbiAgLmtlbm1lcmtlbl9wcm9qZWN0IC51ay1maXJzdC1jb2x1bW4ge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gIH1cbiAgLmxhbmRpbmdfY29udGVudCBoMSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG4gIC5sYW5kaW5nX2NvbnRlbnQgaDIsIGgyIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDVweCAwcHg7XG4gIH1cbiAgaDMsXG4gIC5vdmVyX29ucyAudGV4dF9ibG9jayBoMyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gIGh0bWwsIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgfVxuICAubGFuZGluZ19jb250ZW50LFxuICAubGFuZGluZ19jb250ZW50LnRvcCB7XG4gICAgbWFyZ2luOiA2NXB4IGF1dG8gMjBweDtcbiAgfVxuICAubWFwc19nZWdldmVucyAjbWFwIHtcbiAgICBoZWlnaHQ6IDM1MHB4O1xuICB9XG4gIC5vdmVyX29ucy5jb250YWN0cGFnZSB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICB9XG4gIC5vdmVyX29ucy5jb250YWN0cGFnZSAudGV4dF9ibG9jayBoMiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAub3Zlcl9vbnMuY29udGFjdHBhZ2UgLnRleHRfYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbiAgLnF1b3RlIGgzIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG4gIC5zbGlkZXJfYmcgLnByZXYge1xuICAgIGJhY2tncm91bmQ6ICNDQ0NFMDAgdXJsKC9hc3NldHMvaW1hZ2VzL3ByZXYuc3ZnKSAxMHB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgbWFyZ2luLWxlZnQ6IDElO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjUlO1xuICB9XG4gIC5zbGlkZXJfYmcgLm5leHQge1xuICAgIGJhY2tncm91bmQ6ICNDQ0NFMDAgdXJsKC9hc3NldHMvaW1hZ2VzL25leHQuc3ZnKSAxMHB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDI1JTtcbiAgfVxuICAuc2xpZGVyX2JnIC5wcmV2OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwIHVybCgvYXNzZXRzL2ltYWdlcy9wcmV2LnN2ZykgMTBweCBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiAyNSU7XG4gIH1cbiAgLnNsaWRlcl9iZyAubmV4dDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzAwMCB1cmwoL2Fzc2V0cy9pbWFnZXMvbmV4dC5zdmcpIDEwcHggY2VudGVyIG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjUlO1xuICB9XG4gIC5mb290ZXIgLmxhc3RfY29sdW1uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmZvb3RlciB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAuYnJhbmNoZV9ncmlkIC5icmFuY2hlIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC5icmFuY2hlX2dyaWQgLmJyYW5jaGUgYSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubGFhdHN0ZV9wcm9qZWN0ZW5faG9sZGVyIC5iZ19wcm9qZWN0ZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmxhYXRzdGVfcHJvamVjdGVuIHtcbiAgICBtYXJnaW46IDUwcHggYXV0byAwO1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICB9XG4gIC5jZXJ0aWZpY2F0ZW5faG9sZGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gIH1cbiAgLnByb2plY3RlbiAucHJvamVjdCAucHJvamVjdF90aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG4gIC5idXR0b24gYSB7XG4gICAgcGFkZGluZzogMTFweCA3MHB4IDExcHggMjBweDtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gIH1cbiAgLnByb2plY3RlbiBmb3JtIGEge1xuICAgIHBhZGRpbmc6IDZweCAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgfVxuICAuY3RhIGgzIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbiAgLnRlcnVnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5ob21lX2hlYWRlciB7XG4gICAgd2lkdGg6IDE1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNSU7XG4gIH1cbiAgLmhlYWRlcl9zdmcge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAuY3RhX2hvbGRlciB7XG4gICAgcGFkZGluZzogMjBweCAwIDMwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xuICB9XG4gIC5sYWF0c3RlX3Byb2plY3RlbiBoMyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gIC5sYWF0c3RlX3Byb2plY3RlbiBoNCxcbiAgLmxhbmRpbmdfY29udGVudCBoMSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG4gIC5sYWF0c3RlX3Byb2plY3RlbiAucHJvamVjdF9pbnRybyB7XG4gICAgcGFkZGluZzogMjBweCAwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAuaG9tZV9oZWFkZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gIC5icmFuY2hlX2dyaWQgLmltYWdlX2hvbGRlciBzdmcge1xuICAgIGhlaWdodDogNTVweDtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAuaG9tZV9oZWFkZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1heC13aWR0aDogMjgwcHg7XG4gIH1cbn1cbi5uaWNlLXNlbGVjdCB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0NFMDA7XG4gIGNvbG9yOiAjMDAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlJ1YmlrXCIsIHNhbnMtc2VyaWYsIGFyaWFsO1xuICBoZWlnaHQ6IDUwcHg7XG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5uaWNlLXNlbGVjdDpob3ZlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0NFMDA7XG59XG5cbi5uaWNlLXNlbGVjdDphY3RpdmUsIC5uaWNlLXNlbGVjdC5vcGVuLCAubmljZS1zZWxlY3Q6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNDQ0NFMDA7XG59XG5cbi5uaWNlLXNlbGVjdDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEycHg7XG4gIHdpZHRoOiAxMnB4O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzAwMDtcbiAgbWFyZ2luLXRvcDogMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyNXB4O1xuICB0b3A6IGNhbGMoNTAlIC0gNXB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbn1cblxuLm5pY2Utc2VsZWN0Lm9wZW46YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xufVxuXG4ubmljZS1zZWxlY3Qub3BlbiAubGlzdCB7XG4gIG9wYWNpdHk6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbn1cblxuLm5pY2Utc2VsZWN0LmRpc2FibGVkIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWRlZGVkO1xuICBjb2xvcjogIzk5OTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5uaWNlLXNlbGVjdC5kaXNhYmxlZDphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbn1cblxuLm5pY2Utc2VsZWN0LndpZGUge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm5pY2Utc2VsZWN0LndpZGUgLmxpc3Qge1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5uaWNlLXNlbGVjdC5yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLm5pY2Utc2VsZWN0LnJpZ2h0IC5saXN0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG59XG5cbi5uaWNlLXNlbGVjdC5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBsaW5lLWhlaWdodDogMzRweDtcbn1cblxuLm5pY2Utc2VsZWN0LnNtYWxsOmFmdGVyIHtcbiAgaGVpZ2h0OiA0cHg7XG4gIHdpZHRoOiA0cHg7XG59XG5cbi5uaWNlLXNlbGVjdC5zbWFsbCAub3B0aW9uIHtcbiAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIG1pbi1oZWlnaHQ6IDM0cHg7XG59XG5cbi5uaWNlLXNlbGVjdCAubGlzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoNjgsIDY4LCA2OCwgMC4xMSk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSkgdHJhbnNsYXRlWSgtMjFweCk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNzUpIHRyYW5zbGF0ZVkoLTIxcHgpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpIHRyYW5zbGF0ZVkoLTIxcHgpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjUsIDAsIDAsIDEuMjUpLCBvcGFjaXR5IDAuMTVzIGVhc2Utb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLCAxLjI1KSwgb3BhY2l0eSAwLjE1cyBlYXNlLW91dDtcbiAgei1pbmRleDogOTtcbn1cblxuLm5pY2Utc2VsZWN0IC5saXN0OmhvdmVyIC5vcHRpb246bm90KDpob3Zlcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4ubmljZS1zZWxlY3QgLm9wdGlvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWluLWhlaWdodDogMzJweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyOXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cblxuLm5pY2Utc2VsZWN0IC5vcHRpb246aG92ZXIsIC5uaWNlLXNlbGVjdCAub3B0aW9uLmZvY3VzLCAubmljZS1zZWxlY3QgLm9wdGlvbi5zZWxlY3RlZC5mb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG59XG5cbi5uaWNlLXNlbGVjdCAub3B0aW9uLmRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjOTk5O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi5uby1jc3Nwb2ludGVyZXZlbnRzIC5uaWNlLXNlbGVjdCAubGlzdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5uby1jc3Nwb2ludGVyZXZlbnRzIC5uaWNlLXNlbGVjdC5vcGVuIC5saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5rZXVyaW5nc3Byb2R1Y3RfbWVyayB1bCB7XG4gIGNvbHVtbnM6IDI7XG4gIC13ZWJraXQtY29sdW1uczogMjtcbiAgLW1vei1jb2x1bW5zOiAyO1xufSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFzZVxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZhdWx0IHZhbHVlcyBmb3IgSFRNTCBlbGVtZW50c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oMWAsIGB1ay1oMmAsIGB1ay1oM2AsIGB1ay1oNGAsIGB1ay1oNWAsIGB1ay1oNmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYXNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBgZm9udC1zaXplYCB0byBzdXBwb3J0IGByZW1gIHVuaXRzXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqIDMuIFN0eWxlXG4gKi9cblxuaHRtbCB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1ib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYm9keS1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRiYXNlLWJvZHktZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJvZHktbGluZS1oZWlnaHQ7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgYmFja2dyb3VuZDogJGJhc2UtYm9keS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1ib2R5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWJvZHkoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7IG1hcmdpbjogMDsgfVxuXG5cbi8qIExpbmtzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFN0eWxlXG4gKi9cblxuYSxcbi51ay1saW5rIHtcbiAgICBjb2xvcjogJGJhc2UtbGluay1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1saW5rKSkge0BpbmNsdWRlIGhvb2stYmFzZS1saW5rKCk7fVxufVxuXG5hOmhvdmVyLFxuLnVrLWxpbms6aG92ZXIsXG4udWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmsge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtbGluay1ob3ZlcigpO31cbn1cblxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIEVkZ2UuXG4gKiAyLiBUaGUgc2hvcnRoYW5kIGRlY2xhcmF0aW9uIGB1bmRlcmxpbmUgZG90dGVkYCBpcyBub3Qgc3VwcG9ydGVkIGluIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc3R5bGU6IGRvdHRlZDtcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7IGZvbnQtd2VpZ2h0OiAkYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ7IH1cblxuLypcbiAqIDEuIENvbnNvbGFzIGhhcyBhIGJldHRlciBiYXNlbGluZSBpbiBydW5uaW5nIHRleHQgY29tcGFyZWQgdG8gYENvdXJpZXJgXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAzLiBTdHlsZVxuICovXG5cbjpub3QocHJlKSA+IGNvZGUsXG46bm90KHByZSkgPiBrYmQsXG46bm90KHByZSkgPiBzYW1wIHtcbiAgICAvKiAxICovXG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWNvZGUtZm9udC1mYW1pbHk7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtY29kZS1mb250LXNpemU7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkYmFzZS1jb2RlLWNvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtY29kZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtY29kZSgpO31cbn1cblxuLypcbiAqIEVtcGhhc2l6ZVxuICovXG5cbmVtIHsgY29sb3I6ICRiYXNlLWVtLWNvbG9yOyB9XG5cbi8qXG4gKiBJbnNlcnRcbiAqL1xuXG5pbnMge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWlucy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1pbnMtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKlxuICogTWFya1xuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLW1hcmstYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtbWFyay1jb2xvcjtcbn1cblxuLypcbiAqIFF1b3RlXG4gKi9cblxucSB7IGZvbnQtc3R5bGU6ICRiYXNlLXF1b3RlLWZvbnQtc3R5bGU7IH1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHsgZm9udC1zaXplOiAkYmFzZS1zbWFsbC1mb250LXNpemU7IH1cblxuLypcbiAqIFByZXZlbnRzIGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAgeyB0b3A6IC0wLjVlbTsgfVxuc3ViIHsgYm90dG9tOiAtMC4yNWVtOyB9XG5cblxuLyogRW1iZWRkZWQgY29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIHRoZSBlbGVtZW50IGFuZCB0aGUgYm90dG9tIG9mIGl0cyBwYXJlbnQgY29udGFpbmVyLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8geyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qXG4gKiAxLiBDb25zdHJhaW4gdGhlIGVsZW1lbnQgdG8gaXRzIHBhcmVudCB3aWR0aC5cbiAqIDIuIFByZXNlcnZlIHRoZSBpbnRyaW5zaWMgYXNwZWN0IHJhdGlvIGFuZCBhdXRvLXNjYWxlIHRoZSBoZWlnaHQgb2YgYW4gaW1hZ2UgaWYgdGhlIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50LlxuICogMy4gVGFrZSBib3JkZXIgYW5kIHBhZGRpbmcgaW50byBhY2NvdW50LlxuICovXG5cbmNhbnZhcyxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qXG4gKiBEZXByZWNhdGVkOiBvbmx5IG5lZWRlZCBmb3IgYGltZ2AgZWxlbWVudHMgd2l0aCBgdWstaW1nYFxuICogMS4gSGlkZSBgYWx0YCB0ZXh0IGZvciBsYXp5IGxvYWQgaW1hZ2VzLlxuICogMi4gRml4IGxhenkgbG9hZGluZyBpbWFnZXMgaWYgcGFyZW50IGVsZW1lbnQgaXMgc2V0IHRvIGBkaXNwbGF5OiBpbmxpbmVgIGFuZCBoYXMgYG92ZXJmbG93OiBoaWRkZW5gLlxuICovXG5cbmltZzpub3QoW3NyY10pIHtcbiAgICAvKiAxICovXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC8qIDIgKi9cbiAgICBtaW4td2lkdGg6IDFweDtcbn1cblxuLypcbiAqIElmcmFtZVxuICogUmVtb3ZlIGJvcmRlciBpbiBhbGwgYnJvd3NlcnNcbiAqL1xuXG5pZnJhbWUgeyBib3JkZXI6IDA7IH1cblxuXG4vKiBCbG9jayBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBNYXJnaW5zXG4gKi9cblxucCxcbnVsLFxub2wsXG5kbCxcbnByZSxcbmFkZHJlc3MsXG5maWVsZHNldCxcbmZpZ3VyZSB7IG1hcmdpbjogMCAwICRiYXNlLW1hcmdpbi12ZXJ0aWNhbCAwOyB9XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIHAsXG4qICsgdWwsXG4qICsgb2wsXG4qICsgZGwsXG4qICsgcHJlLFxuKiArIGFkZHJlc3MsXG4qICsgZmllbGRzZXQsXG4qICsgZmlndXJlIHsgbWFyZ2luLXRvcDogJGJhc2UtbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSGVhZGluZ3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5oMSwgLnVrLWgxLFxuaDIsIC51ay1oMixcbmgzLCAudWstaDMsXG5oNCwgLnVrLWg0LFxuaDUsIC51ay1oNSxcbmg2LCAudWstaDYsXG4udWstaGVhZGluZy1zbWFsbCxcbi51ay1oZWFkaW5nLW1lZGl1bSxcbi51ay1oZWFkaW5nLWxhcmdlLFxuLnVrLWhlYWRpbmcteGxhcmdlLFxuLnVrLWhlYWRpbmctMnhsYXJnZSxcbi51ay1oZWFkaW5nLTN4bGFyZ2Uge1xuICAgIG1hcmdpbjogMCAwICRiYXNlLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1oZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkYmFzZS1oZWFkaW5nLWNvbG9yO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWhlYWRpbmcoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGgxLCAqICsgLnVrLWgxLFxuKiArIGgyLCAqICsgLnVrLWgyLFxuKiArIGgzLCAqICsgLnVrLWgzLFxuKiArIGg0LCAqICsgLnVrLWg0LFxuKiArIGg1LCAqICsgLnVrLWg1LFxuKiArIGg2LCAqICsgLnVrLWg2LFxuKiArIC51ay1oZWFkaW5nLXNtYWxsLFxuKiArIC51ay1oZWFkaW5nLW1lZGl1bSxcbiogKyAudWstaGVhZGluZy1sYXJnZSxcbiogKyAudWstaGVhZGluZy14bGFyZ2UsXG4qICsgLnVrLWhlYWRpbmctMnhsYXJnZSxcbiogKyAudWstaGVhZGluZy0zeGxhcmdlIHsgbWFyZ2luLXRvcDogJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOyB9XG5cbi8qXG4gKiBTaXplc1xuICovXG5cbmgxLCAudWstaDEge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMSkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDEoKTt9XG59XG5cbmgyLCAudWstaDIge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMi1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMikpIHtAaW5jbHVkZSBob29rLWJhc2UtaDIoKTt9XG59XG5cbmgzLCAudWstaDMge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDMtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oMy1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oMykpIHtAaW5jbHVkZSBob29rLWJhc2UtaDMoKTt9XG59XG5cbmg0LCAudWstaDQge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNCkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDQoKTt9XG59XG5cbmg1LCAudWstaDUge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNSkpIHtAaW5jbHVkZSBob29rLWJhc2UtaDUoKTt9XG59XG5cbmg2LCAudWstaDYge1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtaDYtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1oNi1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1oNikpIHtAaW5jbHVkZSBob29rLWJhc2UtaDYoKTt9XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgaDEsIC51ay1oMSB7IGZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplLW07IH1cbiAgICBoMiwgLnVrLWgyIHsgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogTGlzdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG51bCxcbm9sIHsgcGFkZGluZy1sZWZ0OiAkYmFzZS1saXN0LXBhZGRpbmctbGVmdDsgfVxuXG4vKlxuICogUmVzZXQgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAqL1xuXG51bCA+IGxpID4gdWwsXG51bCA+IGxpID4gb2wsXG5vbCA+IGxpID4gb2wsXG5vbCA+IGxpID4gdWwgeyBtYXJnaW46IDA7IH1cblxuXG4vKiBEZXNjcmlwdGlvbiBsaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmR0IHsgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbmRkIHsgbWFyZ2luLWxlZnQ6IDA7IH1cblxuXG4vKiBIb3Jpem9udGFsIHJ1bGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIENocm9tZSwgRWRnZSBhbmQgSUUuXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dC1hbGlnbiBpbiBFZGdlIGFuZCBJRS5cbiAqIDMuIFN0eWxlXG4gKi9cblxuaHIsIC51ay1ociB7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDIgKi9cbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW46IDAgMCAkYmFzZS1oci1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogJGJhc2UtaHItYm9yZGVyLXdpZHRoIHNvbGlkICRiYXNlLWhyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ocikpIHtAaW5jbHVkZSBob29rLWJhc2UtaHIoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGhyLFxuKiArIC51ay1ociB7IG1hcmdpbi10b3A6ICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEFkZHJlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hZGRyZXNzIHsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cblxuLyogQmxvY2txdW90ZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDAgMCAkYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJGJhc2UtYmxvY2txdW90ZS1mb250LXN0eWxlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJsb2NrcXVvdGUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLWJsb2NrcXVvdGUoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIGJsb2NrcXVvdGUgeyBtYXJnaW4tdG9wOiAkYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogQ29udGVudFxuICovXG5cbmJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKTt9XG59XG5cblxuLyogUHJlZm9ybWF0dGVkIHRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgICBmb250OiAkYmFzZS1wcmUtZm9udC1zaXplIHVucXVvdGUoXCIvXCIpICRiYXNlLXByZS1saW5lLWhlaWdodCAkYmFzZS1wcmUtZm9udC1mYW1pbHk7XG4gICAgY29sb3I6ICRiYXNlLXByZS1jb2xvcjtcbiAgICAtbW96LXRhYi1zaXplOiA0O1xuICAgIHRhYi1zaXplOiA0O1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1wcmUpKSB7QGluY2x1ZGUgaG9vay1iYXNlLXByZSgpO31cbn1cblxucHJlIGNvZGUgeyBmb250LWZhbWlseTogJGJhc2UtcHJlLWZvbnQtZmFtaWx5OyB9XG5cblxuLyogRm9jdXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbjpmb2N1cy12aXNpYmxlIHsgb3V0bGluZTogJGJhc2UtZm9jdXMtb3V0bGluZS13aWR0aCAkYmFzZS1mb2N1cy1vdXRsaW5lLXN0eWxlICRiYXNlLWZvY3VzLW91dGxpbmU7IH1cblxuXG4vKiBTZWxlY3Rpb24gcHNldWRvLWVsZW1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLXNlbGVjdGlvbi1jb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuXG4vKiBIVE1MNSBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWFpbiB7IC8qIDIgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHsgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBQYXNzIG1lZGlhIGJyZWFrcG9pbnRzIHRvIEpTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJyZWFrcG9pbnRzXG4gKi9cblxuOnJvb3Qge1xuICAgIC0tdWstYnJlYWtwb2ludC1zOiAjeyRicmVha3BvaW50LXNtYWxsfTtcbiAgICAtLXVrLWJyZWFrcG9pbnQtbTogI3skYnJlYWtwb2ludC1tZWRpdW19O1xuICAgIC0tdWstYnJlYWtwb2ludC1sOiAjeyRicmVha3BvaW50LWxhcmdlfTtcbiAgICAtLXVrLWJyZWFrcG9pbnQteGw6ICN7JGJyZWFrcG9pbnQteGxhcmdlfTtcbn1cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFzZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYXNlLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtcHJlKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuIiwiJGdsb2JhbC1tYXJnaW46IDIwcHggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGdsb2JhbC1lbXBoYXNpcy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbG9yOiAjNjY2ICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtaW52ZXJzZS1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nOiAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctcmlnaHQ6ICRhbGVydC1wYWRkaW5nICsgMTRweCAhZGVmYXVsdDtcbiRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDogI2Y4ZjhmOCAhZGVmYXVsdDtcbiRhbGVydC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtdG9wOiAkYWxlcnQtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1yaWdodDogJGFsZXJ0LXBhZGRpbmcgIWRlZmF1bHQ7XG4kZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogIzFlODdmMCAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAjMzJkMjk2ICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kLCA0MCUpLCAyNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQ6ICNmYWEwNWEgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQsIDQ1JSksIDE1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kOiAjZjA1MDZlICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCwgNDAlKSwgMjAlKSAhZGVmYXVsdDtcbiRhbGVydC1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWd1dHRlcjogMzBweCAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxpZ24tbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWd1dHRlcjogNDBweCAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uOiAwLjhzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zdHJva2UtZHVyYXRpb246IDJzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjogMTVzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1mYXN0LWR1cmF0aW9uOiAwLjFzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6IDEwcHggIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6IDUwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLW1hcmdpbjogNzBweCAhZGVmYXVsdDtcbiRhcnRpY2xlLW1hcmdpbi10b3A6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZTogMi42MjVyZW0gIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbTogJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTogJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtZm9udC1zaXplOiAwLjg3NXJlbSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRnbG9iYWwtbXV0ZWQtY29sb3I6ICM5OTkgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGdsb2JhbC1iYWNrZ3JvdW5kOiAjZmZmICFkZWZhdWx0O1xuJGJhY2tncm91bmQtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZDogIzIyMiAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLXNpemU6IDE4cHggIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy12ZXJ0aWNhbDogMCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLWhvcml6b250YWw6IDVweCAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWRnZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtc2l6ZTogMTFweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhZGdlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWJvZHktYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRnbG9iYWwtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGdsb2JhbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstY29sb3I6ICMxZTg3ZjAgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWNvbG9yOiAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1ob3Zlci1jb2xvcjogIzBmNmVjZCAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ6IGJvbGRlciAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtZm9udC1mYW1pbHk6IENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1lbS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJGJhc2UtaW5zLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJGJhc2UtbWFyay1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRiYXNlLXNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuJGJhc2UtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLW1hcmdpbjogNDBweCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctbWFyZ2luLXRvcDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplLW06ICRnbG9iYWwtMnhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemU6ICRiYXNlLWgxLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgxLWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1mb250LXNpemU6IDJyZW0gIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemUtbTogJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDItZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1mb250LXNpemU6IDEuNXJlbSAhZGVmYXVsdDtcbiRiYXNlLWgzLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMy1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDQtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtaDUtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg1LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDYtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXI6ICNlNWU1ZTUgIWRlZmF1bHQ7XG4kYmFzZS1oci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiRiYXNlLXByZS1mb250LWZhbWlseTogJGJhc2UtY29kZS1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLXByZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWZvY3VzLW91dGxpbmUtd2lkdGg6IDJweCAhZGVmYXVsdDtcbiRiYXNlLWZvY3VzLW91dGxpbmUtc3R5bGU6IGRvdHRlZCAhZGVmYXVsdDtcbiRiYXNlLWZvY3VzLW91dGxpbmU6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1mb2N1cy1vdXRsaW5lLW9mZnNldDogMXB4ICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ6ICMzOWYgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWJvcmRlcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZm9jdXMtb3V0bGluZTogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogXCIvXCIgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mb250LXNpemU6ICRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0IC0gKCRidXR0b24tYm9yZGVyLXdpZHRoICogMikgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAtICgkYnV0dG9uLWJvcmRlci13aWR0aCAqIDIpICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodDogNTVweCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgLSAoJGJ1dHRvbi1ib3JkZXItd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtZ3V0dGVyOiAxNXB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItaG92ZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCgkZ2xvYmFsLWd1dHRlciAqIDAuNSkpICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICogMC41KSkgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAoJGdsb2JhbC1ndXR0ZXIgKiAwLjUpICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgoJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICogMC41KSkgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXRvcDogMTVweCAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXJpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtaGVpZ2h0OiAyMnB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjYXJkLWhvdmVyLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtdGl0bGUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtY29sb3ItbW9kZTogZGFyayAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LXRpdGxlLWNvbG9yOiAkY2FyZC1wcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCgkZ2xvYmFsLW1hcmdpbiAqIDAuNjY2NjcpKSAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCgkZ2xvYmFsLW1hcmdpbiAqIDAuNjY2NjcpKSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtZ3V0dGVyOiA3MHB4ICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctdmVydGljYWwtbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyICogMC41KSkgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyICogMC41KSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jYXJkLWJhZGdlLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jYXJkLWJhZGdlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXI6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXItbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTogMTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLW1heC13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOiA3NTBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiA5MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOiAxNDAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXhsYXJnZS1tYXgtd2lkdGg6IDE2MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1saW5lLWhlaWdodDogMC44ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM6IDRyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTogNnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWxpbmUtaGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczogMnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOiAzcmVtICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LXRlcm0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0tYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24td2lkdGg6IDUwcHggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWhlaWdodDogMjBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tY29sb3I6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXRvcDogNTAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoOiAxMDAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyMCUyMiUyMGhlaWdodCUzRCUyMjIwJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjAlMjAyMCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMiUyMiUyMGN4JTNEJTIyMTAlMjIlMjBjeSUzRCUyMjEwJTIyJTIwciUzRCUyMjclMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLXdpZHRoOiAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci1zbWFsbC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtaGVpZ2h0OiAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1zbWFsbC1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDogJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS13aWR0aDogMTBweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICRkb3RuYXYtaXRlbS13aWR0aCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzOiA1MCUgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRnbG9iYWwtei1pbmRleDogMTAwMCAhZGVmYXVsdDtcbiRkcm9wLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3AtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkcm9wLXZpZXdwb3J0LW1hcmdpbjogMTVweCAhZGVmYXVsdDtcbiRkcm9wLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbiRkcm9wLXBhcmVudC1pY29uLW1hcmdpbi1sZWZ0OiAwLjI1ZW0gIWRlZmF1bHQ7XG4kZHJvcGJhci1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kZHJvcGJhci1wYWRkaW5nLXRvcDogMjVweCAhZGVmYXVsdDtcbiRkcm9wYmFyLXBhZGRpbmctYm90dG9tOiAkZHJvcGJhci1wYWRkaW5nLXRvcCAhZGVmYXVsdDtcbiRkcm9wYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRkcm9wYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRkcm9wYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZHJvcGJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZHJvcGJhci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wYmFyLWNvbG9yLW1vZGU6IGRhcmsgIWRlZmF1bHQ7XG4kZHJvcGJhci1mb2N1cy1vdXRsaW5lOiAkYmFzZS1mb2N1cy1vdXRsaW5lICFkZWZhdWx0O1xuJGRyb3BiYXItbGFyZ2UtcGFkZGluZy10b3A6IDQwcHggIWRlZmF1bHQ7XG4kZHJvcGJhci1sYXJnZS1wYWRkaW5nLWJvdHRvbTogJGRyb3BiYXItbGFyZ2UtcGFkZGluZy10b3AgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRkcm9wZG93bi12aWV3cG9ydC1tYXJnaW46IDE1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nOiAyNXB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvci1tb2RlOiBkYXJrICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvY3VzLW91dGxpbmU6ICRiYXNlLWZvY3VzLW91dGxpbmUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGFyZ2UtcGFkZGluZzogNDBweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kcm9wYmFyLW1hcmdpbjogJGRyb3Bkb3duLW1hcmdpbiAhZGVmYXVsdDtcbiRkcm9wZG93bi1kcm9wYmFyLXBhZGRpbmctdG9wOiA1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tZHJvcGJhci1wYWRkaW5nLWJvdHRvbTogJGRyb3Bkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZHJvcGJhci12aWV3cG9ydC1tYXJnaW46IDE1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tZHJvcGJhci12aWV3cG9ydC1tYXJnaW4tczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZHJvcGJhci12aWV3cG9ydC1tYXJnaW4tbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRyb3BiYXItbGFyZ2UtcGFkZGluZy10b3A6ICRkcm9wZG93bi1sYXJnZS1wYWRkaW5nICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRyb3BiYXItbGFyZ2UtcGFkZGluZy1ib3R0b206ICRkcm9wZG93bi1sYXJnZS1wYWRkaW5nICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJ0aXRsZS1mb250LXNpemU6IDEycHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3BuYXYtZHJvcGJhci16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogM3B4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogMTVweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLXdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4xKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ6IGZhZGUtaW4oJGludmVyc2UtZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kLCAwLjA1KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDogZGFya2VuKGZhZGUtaW4oJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAxKSwgNTAlKSAhZGVmYXVsdDtcbiRmb3JtLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1saW5lLWhlaWdodDogJGZvcm0taGVpZ2h0IC0gKDIqICRmb3JtLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZm9ybS1wYWRkaW5nLWhvcml6b250YWwgKiAwLjYpICFkZWZhdWx0O1xuJGZvcm0tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6IDhweCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLXBhZGRpbmctdmVydGljYWw6IHJvdW5kKCRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbCAqIDAuNikgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1saW5lLWhlaWdodDogJGZvcm0tc21hbGwtaGVpZ2h0IC0gKDIqICRmb3JtLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtbGFyZ2UtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogcm91bmQoJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsICogMC42KSAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OiAkZm9ybS1sYXJnZS1oZWlnaHQgLSAoMiogJGZvcm0tYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC14c21hbGw6IDUwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1zbWFsbDogMTMwcHggIWRlZmF1bHQ7XG4kZm9ybS13aWR0aC1tZWRpdW06IDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbGFyZ2U6IDUwMHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWRhdGFsaXN0LXBhZGRpbmctcmlnaHQ6IDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLW1hcmdpbi10b3A6IC00cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZm9ybS1yYWRpby1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWRpc2FibGVkLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1sZWdlbmQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGZvcm0tc3RhY2tlZC1tYXJnaW4tYm90dG9tOiA1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDogN3B4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy1tYXJnaW4tbGVmdDogMjE1cHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A6IDdweCAhZGVmYXVsdDtcbiRmb3JtLWljb24td2lkdGg6ICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjQlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDI0JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDklMjA2JTIwMTUlMjA2JTIyJTIwJTJGJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxMyUyMDklMjA4JTIwMTUlMjA4JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1kYXRhbGlzdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEyJTIwOCUyMDYlMjAxNiUyMDYlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWJhY2tncm91bmQ6IGZhZGUtaW4oJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kLCAwLjA1KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tc2VsZWN0LWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMtYmFja2dyb3VuZDogZmFkZS1pbigkaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQsIDAuMDUpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogZmFkZS1pbigkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWljb24taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItdmVydGljYWwtbDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbDogNHJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgKiAwLjgxMjUgIWRlZmF1bHQ7XG4kaGVhZGluZy1zbWFsbC1mb250LXNpemU6ICRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1tICogMC44ICFkZWZhdWx0O1xuJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWwgKiAwLjg3NSAhZGVmYXVsdDtcbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemU6ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbSAqIDAuODI1ICFkZWZhdWx0O1xuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW06ICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemUtbDogNnJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWwgIWRlZmF1bHQ7XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZTogJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0O1xuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sOiA4cmVtICFkZWZhdWx0O1xuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemUtbTogJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sICFkZWZhdWx0O1xuJGhlYWRpbmctM3hsYXJnZS1mb250LXNpemU6ICRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLW0gIWRlZmF1bHQ7XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1sOiAxMXJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLTN4bGFyZ2UtZm9udC1zaXplLW06ICRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLWwgIWRlZmF1bHQ7XG4kaGVhZGluZy0zeGxhcmdlLWZvbnQtc2l6ZS1sOiAxNXJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXNtYWxsLWxpbmUtaGVpZ2h0OiAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZy1tZWRpdW0tbGluZS1oZWlnaHQ6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxhcmdlLWxpbmUtaGVpZ2h0OiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy14bGFyZ2UtbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy0yeGxhcmdlLWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0O1xuJGhlYWRpbmctM3hsYXJnZS1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b206IHVucXVvdGUoJ2NhbGMoNXB4ICsgMC4xZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aDogdW5xdW90ZSgnY2FsYygwLjJweCArIDAuMDVlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC10b3A6IHVucXVvdGUoJ2NhbGMoLTAuMSAqIDFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1oZWlnaHQ6IHVucXVvdGUoJ2NhbGMoNHB4ICsgMC43ZW0pJykgIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0OiB1bnF1b3RlKCdjYWxjKDVweCArIDAuMmVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aDogdW5xdW90ZSgnY2FsYyg1cHggKyAwLjFlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS10b3A6IDUwJSAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoOiB1bnF1b3RlKCdjYWxjKDAuMnB4ICsgMC4wNWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS13aWR0aDogMjAwMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDogdW5xdW90ZSgnY2FsYyg1cHggKyAwLjNlbSknKSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWw6IDMuNzVyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LWw6IDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW06ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWwgKiAwLjkgIWRlZmF1bHQ7XG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbCAqIDAuOCAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWw6IDhyZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LWw6IDEgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sICogMC43NSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbTogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sICogMC41ICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodDogMS4xICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWhlYWRpbmctbGluZS1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVpZ2h0LXNtYWxsLWhlaWdodDogMTUwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LW1lZGl1bS1oZWlnaHQ6IDMwMHB4ICFkZWZhdWx0O1xuJGhlaWdodC1sYXJnZS1oZWlnaHQ6IDQ1MHB4ICFkZWZhdWx0O1xuJGljb24taW1hZ2Utc2l6ZTogMjBweCAhZGVmYXVsdDtcbiRpY29uLWxpbmstY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1hY3RpdmUtY29sb3I6IGRhcmtlbigkZ2xvYmFsLWNvbG9yLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tc2l6ZTogMzZweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDogZmFkZS1pbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAwLjA1KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogZmFkZS1pbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaWNvbm5hdi1tYXJnaW4tdmVydGljYWw6ICRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy12ZXJ0aWNhbDogMCAhZGVmYXVsdDtcbiRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxhYmVsLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGFiZWwtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWJhY2tncm91bmQ6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGVhZGVyLWZpbGwtY29udGVudDogdW5xdW90ZSgnLicpICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLW1hcmdpbi1sZWZ0OiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRsaWdodGJveC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRsaWdodGJveC1iYWNrZ3JvdW5kOiAjMDAwICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWZvY3VzLW91dGxpbmU6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLW1heC13aWR0aDogMTAwdncgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1tYXgtaGVpZ2h0OiAxMDB2aCAhZGVmYXVsdDtcbiRsaWdodGJveC10aHVtYm5hdi12ZXJ0aWNhbC13aWR0aDogMTAwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdGh1bWJuYXYtaGVpZ2h0OiAxMDBweCAhZGVmYXVsdDtcbiRsaWdodGJveC1jYXB0aW9uLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtY2FwdGlvbi1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtY2FwdGlvbi1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpbmstbXV0ZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGluay1tdXRlZC1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLXRleHQtaG92ZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaW5rLWhlYWRpbmctaG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay1tdXRlZC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbGluay10ZXh0LWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGlzdC1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXBhZGRpbmctbGVmdDogMzBweCAhZGVmYXVsdDtcbiRsaXN0LW1hcmtlci1oZWlnaHQ6ICgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMWVtKSAhZGVmYXVsdDtcbiRsaXN0LW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZW1waGFzaXMtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LXNlY29uZGFyeS1jb2xvcjogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjI2JTIyJTIwaGVpZ2h0JTNEJTIyNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDYlMjA2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMGN4JTNEJTIyMyUyMiUyMGN5JTNEJTIyMyUyMiUyMHIlM0QlMjIzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWVtcGhhc2lzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXByaW1hcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbWFyZ2luLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXhzbWFsbC1tYXJnaW46IDVweCAhZGVmYXVsdDtcbiRtYXJnaW4tc21hbGwtbWFyZ2luOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbWVkaXVtLW1hcmdpbjogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW46ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luLWw6ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLW1hcmdpbjogMTQwcHggIWRlZmF1bHQ7XG4kbWFyZ2luLXhsYXJnZS1tYXJnaW4tbDogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJG1hcmtlci1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbWFya2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbWFya2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbWFya2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC42KSAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXM6IDUwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRhaW5lci13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogMjBweCAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWwtczogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsICogMC41KSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLXM6ICgkbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1zICogMC41KSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICgkbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbCAqIDAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1zOiAoJG1vZGFsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWwtcyAqIDAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBvc2l0aW9uOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogMTAwJSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yOiBsaWdodGVuKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0OiAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAycHggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLW1hcmdpbi1sZWZ0OiAwLjI1ZW0gIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VidGl0bGUtZm9udC1zaXplOiAxMnB4ICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtZm9udC1zaXplOiAkbmF2LWRlZmF1bHQtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtbGluZS1oZWlnaHQ6ICRuYXYtZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VidGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtc2Vjb25kYXJ5LWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXNlY29uZGFyeS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtc2Vjb25kYXJ5LWl0ZW0tY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXNlY29uZGFyeS1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1zZWNvbmRhcnktaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdi1zZWNvbmRhcnktc3VidGl0bGUtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtc2Vjb25kYXJ5LXN1YnRpdGxlLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtc2Vjb25kYXJ5LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtc2Vjb25kYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtc2Vjb25kYXJ5LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRuYXYtc2Vjb25kYXJ5LXN1Ymxpc3QtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtc2Vjb25kYXJ5LXN1Ymxpc3QtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbmF2LXNlY29uZGFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXNlY29uZGFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXNlY29uZGFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1tZWRpdW0tbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG4kbmF2LW1lZGl1bS1mb250LXNpemUtbDogNHJlbSAhZGVmYXVsdDtcbiRuYXYtbWVkaXVtLWZvbnQtc2l6ZS1tOiAkbmF2LW1lZGl1bS1mb250LXNpemUtbCAqIDAuODc1ICFkZWZhdWx0O1xuJG5hdi1tZWRpdW0tZm9udC1zaXplOiAkbmF2LW1lZGl1bS1mb250LXNpemUtbSAqIDAuODI1ICFkZWZhdWx0O1xuJG5hdi1sYXJnZS1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcbiRuYXYtbGFyZ2UtZm9udC1zaXplLW06IDRyZW0gIWRlZmF1bHQ7XG4kbmF2LWxhcmdlLWZvbnQtc2l6ZTogJG5hdi1sYXJnZS1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kbmF2LWxhcmdlLWZvbnQtc2l6ZS1sOiA2cmVtICFkZWZhdWx0O1xuJG5hdi14bGFyZ2UtbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG4kbmF2LXhsYXJnZS1mb250LXNpemU6IDRyZW0gIWRlZmF1bHQ7XG4kbmF2LXhsYXJnZS1mb250LXNpemUtbTogNnJlbSAhZGVmYXVsdDtcbiRuYXYteGxhcmdlLWZvbnQtc2l6ZS1sOiA4cmVtICFkZWZhdWx0O1xuJG5hdi1kaXZpZGVycy1tYXJnaW4tdG9wOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXJzLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXJzLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtc2Vjb25kYXJ5LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1zZWNvbmRhcnktaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXNlY29uZGFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1zZWNvbmRhcnktaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtc2Vjb25kYXJ5LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXNlY29uZGFyeS1zdWJsaXN0LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1zZWNvbmRhcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtc2Vjb25kYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kaXZpZGVycy1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZ2FwOiAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1jb2xvci1tb2RlOiBkYXJrICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtZ2FwOiAxNXB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ6IDgwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1wYXJlbnQtaWNvbi1tYXJnaW4tbGVmdDogNHB4ICFkZWZhdWx0O1xuJG5hdmJhci1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXZiYXItaXRlbS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjogMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tc2hpZnQtbWFyZ2luOiAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi12aWV3cG9ydC1tYXJnaW46IDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tcGFkZGluZzogMjVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tY29sb3ItbW9kZTogZGFyayAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZm9jdXMtb3V0bGluZTogJGJhc2UtZm9jdXMtb3V0bGluZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWxhcmdlLXNoaWZ0LW1hcmdpbjogMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbGFyZ2UtcGFkZGluZzogNDBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItc2hpZnQtbWFyZ2luOiAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLXBhZGRpbmctdG9wOiAkbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItcGFkZGluZy1ib3R0b206ICRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1wYWRkaW5nLXRvcCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci12aWV3cG9ydC1tYXJnaW46IDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItdmlld3BvcnQtbWFyZ2luLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLXZpZXdwb3J0LW1hcmdpbi1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbGFyZ2Utc2hpZnQtbWFyZ2luOiAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLWxhcmdlLXBhZGRpbmctdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWxhcmdlLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbGFyZ2UtcGFkZGluZy1ib3R0b206ICRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1sYXJnZS1wYWRkaW5nLXRvcCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJ0aXRsZS1mb250LXNpemU6IDEycHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjogMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgNDAgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXdpZHRoOiAzNTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1tYXJnaW4tdG9wOiAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS10b3A6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1jbG9zZS1yaWdodDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG9mZmNhbnZhcy16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci13aWR0aDogMjcwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsOiAyMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItd2lkdGgtczogMzUwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbjogNXB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uLXM6IDEwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LWRlZmF1bHQtY29sb3ItbW9kZTogZGFyayAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZy1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmc6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDogJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRwb3NpdGlvbi1zbWFsbC1tYXJnaW46ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW46ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLWxhcmdlLW1hcmdpbjogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw6IDUwcHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LXdpZHRoOiAyNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6IGRhcmtlbigkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCwgMiUpICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGg6IDIwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaWNvbi1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItd2lkdGg6IDI0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZDogJGdsb2JhbC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItZm9jdXMtYmFja2dyb3VuZDogJHNlYXJjaC1uYXZiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWljb24td2lkdGg6IDIwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1pY29uLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW1lZGl1bS13aWR0aDogNDAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW1lZGl1bS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kc2VhcmNoLW1lZGl1bS1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kc2VhcmNoLW1lZGl1bS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbWVkaXVtLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kc2VhcmNoLW1lZGl1bS1mb2N1cy1iYWNrZ3JvdW5kOiBkYXJrZW4oJHNlYXJjaC1tZWRpdW0tYmFja2dyb3VuZCwgMiUpICFkZWZhdWx0O1xuJHNlYXJjaC1tZWRpdW0taWNvbi13aWR0aDogMjRweCAhZGVmYXVsdDtcbiRzZWFyY2gtbWVkaXVtLWljb24tcGFkZGluZzogMTJweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2Utd2lkdGg6IDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1oZWlnaHQ6IDkwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC0yeGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRzZWFyY2gtbGFyZ2UtYmFja2dyb3VuZCwgMiUpICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1pY29uLXBhZGRpbmc6IDIwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ6IGZhZGUtaW4oJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCwgMC4wNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLW5hdmJhci1mb2N1cy1iYWNrZ3JvdW5kOiBmYWRlLWluKCRpbnZlcnNlLXNlYXJjaC1uYXZiYXItYmFja2dyb3VuZCwgMC4wNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtbWVkaXVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLW1lZGl1bS1mb2N1cy1iYWNrZ3JvdW5kOiBmYWRlLWluKCRpbnZlcnNlLXNlYXJjaC1tZWRpdW0tYmFja2dyb3VuZCwgMC4wNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtbGFyZ2UtZm9jdXMtYmFja2dyb3VuZDogZmFkZS1pbigkaW52ZXJzZS1zZWFyY2gtbGFyZ2UtYmFja2dyb3VuZCwgMC4wNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuJHNlY3Rpb24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1kZWZhdWx0LWNvbG9yLW1vZGU6IGRhcmsgIWRlZmF1bHQ7XG4kc2VjdGlvbi1tdXRlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1tdXRlZC1jb2xvci1tb2RlOiBkYXJrICFkZWZhdWx0O1xuJHNlY3Rpb24tcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kc2xpZGVuYXYtcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtaG92ZXItY29sb3I6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1hY3RpdmUtY29sb3I6IHJnYmEoJGdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWwgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zbGlkZW5hdi1ob3Zlci1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOTUpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRzbGlkZXItY29udGFpbmVyLW1hcmdpbi10b3A6IC0xMXB4ICFkZWZhdWx0O1xuJHNsaWRlci1jb250YWluZXItbWFyZ2luLWJvdHRvbTogLTM5cHggIWRlZmF1bHQ7XG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tbGVmdDogLTI1cHggIWRlZmF1bHQ7XG4kc2xpZGVyLWNvbnRhaW5lci1tYXJnaW4tcmlnaHQ6IC0yNXB4ICFkZWZhdWx0O1xuJHNvcnRhYmxlLWRyYWdnZWQtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgNTAgIWRlZmF1bHQ7XG4kc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTogMCAhZGVmYXVsdDtcbiRzb3J0YWJsZS1lbXB0eS1oZWlnaHQ6IDUwcHggIWRlZmF1bHQ7XG4kc3Bpbm5lci1zaXplOiAzMHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc3Ryb2tlLXdpZHRoOiAxICFkZWZhdWx0O1xuJHNwaW5uZXItcmFkaXVzOiBmbG9vcigoKCRzcGlubmVyLXNpemUgLSAkc3Bpbm5lci1zdHJva2Utd2lkdGgpICogMC41KSkgIWRlZmF1bHQ7XG4kc3Bpbm5lci1jaXJjdW1mZXJlbmNlOiByb3VuZCgyICogMy4xNDEgKiAkc3Bpbm5lci1yYWRpdXMpICFkZWZhdWx0O1xuJHNwaW5uZXItZHVyYXRpb246IDEuNHMgIWRlZmF1bHQ7XG4kc3RpY2t5LXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDIwICFkZWZhdWx0O1xuJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kc3RpY2t5LXJldmVyc2UtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ6IDEuNWVtICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1tYXJnaW4taG9yaXpvbnRhbDogJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctdmVydGljYWw6IDVweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6IDE2cHggIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWZvb3Rlci1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogI2ZmZCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAyMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWV4cGFuZC1taW4td2lkdGg6IDE1MHB4ICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogZmFkZS1vdXQoJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDAuMDIpICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJHRleHQtbWV0YS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxhcmdlLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LWVtcGhhc2lzLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtYmFja2dyb3VuZC1jb2xvcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1zdHJva2UtdGV4dC1zdHJva2U6IHVucXVvdGUoJ2NhbGMoMS40cHggKyAwLjAwMmVtKScpICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1sZWFkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbXV0ZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtZW1waGFzaXMtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtc2Vjb25kYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJHRodW1ibmF2LW1hcmdpbi12ZXJ0aWNhbDogJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG4kdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLWRlZmF1bHQtY29sb3ItbW9kZTogZGFyayAhZGVmYXVsdDtcbiR0aWxlLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLW11dGVkLWNvbG9yLW1vZGU6IGRhcmsgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHRvb2x0aXAtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMzAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46IDEwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbDogM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kOiAjNjY2ICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZTogMTJweCAhZGVmYXVsdDtcbiR0b3RvcC1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kdG90b3AtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdG90b3AtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdG90b3AtYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2NhbGU6IDEuMDMgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGU6IDEwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlOiA1MHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xvdy1kdXJhdGlvbjogMC43cyAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDogMTcwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czogNXB4ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctZHVyYXRpb246IDAuMXMgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0OiAzMHB4ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJvdHRvbTogKC0kYm94LXNoYWRvdy1ib3R0b20taGVpZ2h0KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzOiAxMDAlICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJhY2tncm91bmQ6ICM0NDQgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYmx1cjogMjBweCAhZGVmYXVsdDtcbiRkcm9wY2FwLW1hcmdpbi1yaWdodDogMTBweCAhZGVmYXVsdDtcbiRkcm9wY2FwLWZvbnQtc2l6ZTogKCgkZ2xvYmFsLWxpbmUtaGVpZ2h0ICogMykgKiAxZW0pICFkZWZhdWx0O1xuJGRyb3BjYXAtbGluZS1oZWlnaHQ6IDEgIWRlZmF1bHQ7XG4kbG9nby1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGxvZ28tZm9udC1mYW1pbHk6ICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbG9nby1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRsb2dvLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRyYWdvdmVyLWJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMTAwLDEwMCwxMDAsMC4zKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkZXByZWNhdGVkOiBmYWxzZSAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsOiA2NDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LW1lZGl1bTogOTYwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZTogMTIwMHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQteGxhcmdlOiAxNjAwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC14c21hbGwtbWF4OiAoJGJyZWFrcG9pbnQtc21hbGwgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LXNtYWxsLW1heDogKCRicmVha3BvaW50LW1lZGl1bSAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbWVkaXVtLW1heDogKCRicmVha3BvaW50LWxhcmdlIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1sYXJnZS1tYXg6ICgkYnJlYWtwb2ludC14bGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c6IDAgMTRweCAyNXB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OiAwIDI4cHggNTBweCByZ2JhKDAsMCwwLDAuMTYpICFkZWZhdWx0O1xuJHdpZHRoLXNtYWxsLXdpZHRoOiAxNTBweCAhZGVmYXVsdDtcbiR3aWR0aC1tZWRpdW0td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLWxhcmdlLXdpZHRoOiA0NTBweCAhZGVmYXVsdDtcbiR3aWR0aC14bGFyZ2Utd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuJHdpZHRoLTJ4bGFyZ2Utd2lkdGg6IDc1MHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLW1hcmdpbi1sZWZ0OiAxMHB4ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLWFjY29yZGlvbi1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDEzJTIwMTMlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHdpZHRoJTNEJTIyMTMlMjIlMjBoZWlnaHQlM0QlMjIxJTIyJTIweCUzRCUyMjAlMjIlMjB5JTNEJTIyNiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWFjY29yZGlvbi1jbG9zZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMTMlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxMyUyMDEzJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB3aWR0aCUzRCUyMjEzJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMHglM0QlMjIwJTIyJTIweSUzRCUyMjYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB3aWR0aCUzRCUyMjElMjIlMjBoZWlnaHQlM0QlMjIxMyUyMiUyMHglM0QlMjI2JTIyJTIweSUzRCUyMjAlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1vcGFjaXR5OiAwLjQgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtaG92ZXItb3BhY2l0eTogMC44ICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5rLWNvbG9yOiAkYXJ0aWNsZS1tZXRhLWNvbG9yICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtY29kZS1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtcGFkZGluZy12ZXJ0aWNhbDogMnB4ICFkZWZhdWx0O1xuJGJhc2UtY29kZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcbiRiYXNlLXByZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRiYXNlLXByZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJhc2UtcHJlLWJvcmRlci1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYm9yZGVyOiBkYXJrZW4oJGdsb2JhbC1ib3JkZXIsIDIwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJvcmRlcjogZGFya2VuKCRnbG9iYWwtYm9yZGVyLCAzMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtYm9yZGVyOiBjdXJyZW50Q29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kY2FyZC1iYWRnZS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGNhcmQtaG92ZXItYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWhlYWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ib3gtc2hhZG93OiAkZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1ib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY29tbWVudC1wcmltYXJ5LXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbW1lbnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWZvbnQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNCkgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYm9yZGVyOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZHJvcGJhci10b3AtYm94LXNoYWRvdzogMCAxMnB4IDdweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4wNSkgIWRlZmF1bHQ7XG4kZHJvcGJhci1ib3R0b20tYm94LXNoYWRvdzogMCAtMTJweCA3cHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMDUpICFkZWZhdWx0O1xuJGRyb3BiYXItbGVmdC1ib3gtc2hhZG93OiAxMnB4IDAgN3B4IC02cHggcmdiYSgwLCAwLCAwLCAwLjA1KSAhZGVmYXVsdDtcbiRkcm9wYmFyLXJpZ2h0LWJveC1zaGFkb3c6IC0xMnB4IDAgN3B4IC02cHggcmdiYSgwLCAwLCAwLCAwLjA1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAwIDVweCAxMnB4IHJnYmEoMCwwLDAsMC4xNSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI6IGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyOiBkYXJrZW4oZmFkZS1pbigkaW52ZXJzZS1nbG9iYWwtYm9yZGVyLCAxKSwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRmb3JtLWRhbmdlci1ib3JkZXI6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWJvcmRlcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1ibGFuay1mb2N1cy1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tYmxhbmstZm9jdXMtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1ib3JkZXI6IGRhcmtlbigkZ2xvYmFsLWJvcmRlciwgMTAlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWZvY3VzLWJvcmRlcjogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWJvcmRlcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1kaXNhYmxlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1sYWJlbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGFiZWwtYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJGxhYmVsLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLWZ1bGwtYmFja2dyb3VuZDogJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLWZ1bGwtcGFkZGluZy1tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRuYXYtc2Vjb25kYXJ5LW1hcmdpbi10b3A6IDAgIWRlZmF1bHQ7XG4kbmF2LXNlY29uZGFyeS1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRuYXYtc2Vjb25kYXJ5LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiRuYXYtc2Vjb25kYXJ5LWl0ZW0taG92ZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdi1zZWNvbmRhcnktaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWJhY2tncm91bmQtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1iYWNrZ3JvdW5kLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1nYXAtbTogMzBweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWdhcC1tOiAzMHB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYm94LXNoYWRvdzogMCA1cHggMTJweCByZ2JhKDAsMCwwLDAuMTUpICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiA1MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtZm9jdXMtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItZm9jdXMtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtbWVkaXVtLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc2VhcmNoLW1lZGl1bS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHNlYXJjaC1tZWRpdW0tZm9jdXMtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtZm9jdXMtYm9yZGVyOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRhYi1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYi1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRhYi1pdGVtLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWItaXRlbS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRhYi1pdGVtLWFjdGl2ZS1ib3JkZXI6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5rLWNvbG9yOiAkdGV4dC1tZXRhLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5rLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLXRleHQtYmFja2dyb3VuZC1jb2xvci1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yIDAlLCBhZGp1c3QtaHVlKCR0ZXh0LWJhY2tncm91bmQtY29sb3IsIDQwKSAxMDAlKSAhZGVmYXVsdDtcbiR0aHVtYm5hdi1pdGVtLWdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDI1NSwyNTUsMjU1LDApLCByZ2JhKDI1NSwyNTUsMjU1LDAuNCkpICFkZWZhdWx0O1xuJHRodW1ibmF2LWl0ZW0taG92ZXItb3BhY2l0eTogMCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1pdGVtLWFjdGl2ZS1vcGFjaXR5OiAwICFkZWZhdWx0O1xuJGludmVyc2UtdGh1bWJuYXYtaXRlbS1ncmFkaWVudDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgwLDAsMCwwKSwgcmdiYSgwLDAsMCwwLjQpKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDsiLCJAbWl4aW4gaG9vay1hY2NvcmRpb24oKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi10aXRsZSgpe1xuXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAoJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodCAqIDFlbSk7XG4gICAgICAgIGhlaWdodDogKCRhY2NvcmRpb24tdGl0bGUtbGluZS1oZWlnaHQgKiAxZW0pO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFjY29yZGlvbi1pY29uLW1hcmdpbi1sZWZ0O1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1hY2NvcmRpb24tY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkYWNjb3JkaW9uLWljb24tY29sb3IpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIH1cblxuICAgIC51ay1vcGVuID4gJjo6YmVmb3JlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWFjY29yZGlvbi1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJGFjY29yZGlvbi1pY29uLWNvbG9yKTsgfVxuXG59XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hY2NvcmRpb24oKXtcblxuICAgIC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1hY2NvcmRpb24tY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1nbG9iYWwtY29sb3IpOyB9XG5cbiAgICAudWstb3BlbiA+IC51ay1hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1hY2NvcmRpb24tb3Blbi1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWdsb2JhbC1jb2xvcik7IH1cblxufVxuQG1peGluIGhvb2stYWxlcnQoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1jbG9zZSgpe1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5O1xufVxuQG1peGluIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKXtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBvcGFjaXR5OiAkYWxlcnQtY2xvc2UtaG92ZXItb3BhY2l0eTtcbn1cbkBtaXhpbiBob29rLWFsZXJ0LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stYWxlcnQtd2FybmluZygpe31cbkBtaXhpbiBob29rLWFsZXJ0LWRhbmdlcigpe31cbkBtaXhpbiBob29rLWFsZXJ0LW1pc2MoKXtcblxuICAgIC8qXG4gICAgICogQ29udGVudFxuICAgICAqL1xuXG4gICAgLnVrLWFsZXJ0IGgxLFxuICAgIC51ay1hbGVydCBoMixcbiAgICAudWstYWxlcnQgaDMsXG4gICAgLnVrLWFsZXJ0IGg0LFxuICAgIC51ay1hbGVydCBoNSxcbiAgICAudWstYWxlcnQgaDYgeyBjb2xvcjogaW5oZXJpdDsgfVxuXG4gICAgLnVrLWFsZXJ0IGE6bm90KFtjbGFzc10pIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIC51ay1hbGVydCBhOm5vdChbY2xhc3NdKTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWFsaWduLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1hbmltYXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWFydGljbGUoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLWFkamFjZW50KCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS10aXRsZSgpe31cbkBtaXhpbiBob29rLWFydGljbGUtbWV0YSgpe1xuXG4gICAgYSB7IGNvbG9yOiAkYXJ0aWNsZS1tZXRhLWxpbmstY29sb3I7IH1cblxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGFydGljbGUtbWV0YS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1hcnRpY2xlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWFydGljbGUoKXtcblxuICAgIC51ay1hcnRpY2xlLXRpdGxlIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSgpO31cbiAgICB9XG5cbiAgICAudWstYXJ0aWNsZS1tZXRhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1hcnRpY2xlLW1ldGEoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1iYWNrZ3JvdW5kLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1iYWRnZSgpe31cbkBtaXhpbiBob29rLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYmFkZ2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFkZ2UoKXtcblxuICAgIC51ay1iYWRnZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJhZGdlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYWRnZS1jb2xvciAhaW1wb3J0YW50O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYWRnZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFkZ2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJhZGdlOmhvdmVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFkZ2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYmFzZS1ib2R5KCl7fVxuQG1peGluIGhvb2stYmFzZS1saW5rKCl7fVxuQG1peGluIGhvb2stYmFzZS1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYmFzZS1jb2RlKCl7XG4gICAgcGFkZGluZzogJGJhc2UtY29kZS1wYWRkaW5nLXZlcnRpY2FsICRiYXNlLWNvZGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWNvZGUtYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLWJhc2UtaGVhZGluZygpe31cbkBtaXhpbiBob29rLWJhc2UtaDEoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWgyKCl7fVxuQG1peGluIGhvb2stYmFzZS1oMygpe31cbkBtaXhpbiBob29rLWJhc2UtaDQoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg1KCl7fVxuQG1peGluIGhvb2stYmFzZS1oNigpe31cbkBtaXhpbiBob29rLWJhc2UtaHIoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUoKXtcbiAgICBjb2xvcjogJGJhc2UtYmxvY2txdW90ZS1jb2xvcjtcbn1cbkBtaXhpbiBob29rLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKXtcblxuICAgIGNvbG9yOiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjtcblxuICAgICY6OmJlZm9yZSB7IGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbn1cbkBtaXhpbiBob29rLWJhc2UtcHJlKCl7XG4gICAgcGFkZGluZzogJGJhc2UtcHJlLXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkYmFzZS1wcmUtYm9yZGVyLXdpZHRoIHNvbGlkICRiYXNlLXByZS1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogJGJhc2UtcHJlLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtcHJlLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1iYXNlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWNvZGUoKXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZDtcbn1cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgxKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWgzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg1KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWg2KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUoKXsgY29sb3I6ICRpbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7IGNvbG9yOiAkaW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaHIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1iYXNlKCl7XG5cbiAgICBjb2xvcjogJGludmVyc2UtYmFzZS1jb2xvcjtcblxuICAgIC8vIEJhc2VcbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIC8vXG4gICAgLy8gTGlua1xuICAgIC8vXG5cbiAgICBhLFxuICAgIC51ay1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1saW5rKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKTt9XG4gICAgfVxuXG4gICAgYTpob3ZlcixcbiAgICAudWstbGluazpob3ZlcixcbiAgICAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmsge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIENvZGVcbiAgICAvL1xuXG4gICAgOm5vdChwcmUpID4gY29kZSxcbiAgICA6bm90KHByZSkgPiBrYmQsXG4gICAgOm5vdChwcmUpID4gc2FtcCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtY29kZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1jb2RlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRW1waGFzaXplXG4gICAgLy9cblxuICAgIGVtIHsgY29sb3I6ICRpbnZlcnNlLWJhc2UtZW0tY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gSGVhZGluZ3NcbiAgICAvL1xuXG4gICAgaDEsIC51ay1oMSxcbiAgICBoMiwgLnVrLWgyLFxuICAgIGgzLCAudWstaDMsXG4gICAgaDQsIC51ay1oNCxcbiAgICBoNSwgLnVrLWg1LFxuICAgIGg2LCAudWstaDYsXG4gICAgLnVrLWhlYWRpbmctc21hbGwsXG4gICAgLnVrLWhlYWRpbmctbWVkaXVtLFxuICAgIC51ay1oZWFkaW5nLWxhcmdlLFxuICAgIC51ay1oZWFkaW5nLXhsYXJnZSxcbiAgICAudWstaGVhZGluZy0yeGxhcmdlLFxuICAgIC51ay1oZWFkaW5nLTN4bGFyZ2Uge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFzZS1oZWFkaW5nLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpO31cbiAgICB9XG5cbiAgICBoMSwgLnVrLWgxIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMSgpO31cbiAgICB9XG5cbiAgICBoMiwgLnVrLWgyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMigpO31cbiAgICB9XG5cbiAgICBoMywgLnVrLWgzIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oMykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oMygpO31cbiAgICB9XG5cbiAgICBoNCwgLnVrLWg0IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNCgpO31cbiAgICB9XG5cbiAgICBoNSwgLnVrLWg1IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNSgpO31cbiAgICB9XG5cbiAgICBoNiwgLnVrLWg2IHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1oNikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oNigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEJsb2NrcXVvdGVzXG4gICAgLy9cblxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpO31cbiAgICB9XG5cbiAgICBibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZS1mb290ZXIoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBIb3Jpem9udGFsIHJ1bGVzXG4gICAgLy9cblxuICAgIGhyLCAudWstaHIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1ocikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1ocigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEZvY3VzXG4gICAgLy9cblxuICAgIDpmb2N1cy12aXNpYmxlIHsgb3V0bGluZS1jb2xvcjogJGludmVyc2UtYmFzZS1mb2N1cy1vdXRsaW5lOyB9XG5cbn1cbkBtaXhpbiBob29rLWJyZWFkY3J1bWIoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stYnJlYWRjcnVtYi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1icmVhZGNydW1iKCl7XG5cbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlclxuICAgIC8vXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uKCl7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRidXR0b24tdGV4dC10cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yO1xufVxuQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0KCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgJGJ1dHRvbi1kZWZhdWx0LWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnkoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5KCl7IGJvcmRlcjogJGJ1dHRvbi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXIoKXsgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWJ1dHRvbi1zbWFsbCgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1sYXJnZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0KCl7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRidXR0b24tdGV4dC1ib3JkZXItd2lkdGggc29saWQgJGJ1dHRvbi10ZXh0LWJvcmRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogcmlnaHQgMC4zcyBlYXNlLW91dDtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7XG5cbiAgICAmOjpiZWZvcmUgeyByaWdodDogMDsgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tdGV4dC1kaXNhYmxlZCgpe1xuXG4gICAgJjo6YmVmb3JlIHsgZGlzcGxheTogbm9uZTsgfVxuXG59XG5AbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1taXNjKCl7XG5cbiAgICAvKiBHcm91cFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBDb2xsYXBzZSBib3JkZXJcbiAgICAgKi9cblxuICAgIC51ay1idXR0b24tZ3JvdXAgPiAudWstYnV0dG9uOm50aC1jaGlsZChuKzIpLFxuICAgIC51ay1idXR0b24tZ3JvdXAgPiBkaXY6bnRoLWNoaWxkKG4rMikgLnVrLWJ1dHRvbiB7IG1hcmdpbi1sZWZ0OiAoLSRidXR0b24tYm9yZGVyLXdpZHRoKTsgfVxuXG4gICAgLypcbiAgICAgKiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCB0byBzdXBlcmltcG9zZSB0aGUgc3VjY2Vzc29yIGVsZW1lbnRzIGJvcmRlclxuICAgICAqIEtub3duIGlzc3VlOiBJZiB5b3UgdXNlIGFuIGBhYCBlbGVtZW50IGFzIGJ1dHRvbiBhbmQgYW4gaWNvbiBpbnNpZGUsXG4gICAgICogdGhlIGFjdGl2ZSBzdGF0ZSB3aWxsIG5vdCB3b3JrIGlmIHlvdSBjbGljayB0aGUgaWNvbiBpbnNpZGUgdGhlIGJ1dHRvblxuICAgICAqIFdvcmthcm91bmQ6IEp1c3QgdXNlIGEgYGJ1dHRvbmAgb3IgYGlucHV0YCBlbGVtZW50IGFzIGJ1dHRvblxuICAgICAqL1xuXG4gICAgLnVrLWJ1dHRvbi1ncm91cCAudWstYnV0dG9uOmhvdmVyLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbjpmb2N1cyxcbiAgICAudWstYnV0dG9uLWdyb3VwIC51ay1idXR0b246YWN0aXZlLFxuICAgIC51ay1idXR0b24tZ3JvdXAgLnVrLWJ1dHRvbi51ay1hY3RpdmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCl7XG4gICAgJjo6YmVmb3JlIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOyB9XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1idXR0b24oKXtcblxuICAgIC8vXG4gICAgLy8gRGVmYXVsdFxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuICAgIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmltYXJ5XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tcHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tcHJpbWFyeTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4gICAgLnVrLWJ1dHRvbi1wcmltYXJ5LnVrLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFNlY29uZGFyeVxuICAgIC8vXG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5OmFjdGl2ZSxcbiAgICAudWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFRleHRcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi10ZXh0IHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi10ZXh0OmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBMaW5rXG4gICAgLy9cblxuICAgIC51ay1idXR0b24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tbGluay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1saW5rKCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tbGluazpob3ZlciB7IGNvbG9yOiAkaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjsgfVxuXG59XG5AbWl4aW4gaG9vay1jYXJkKCl7IHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4xcyBlYXNlLWluLW91dDsgfVxuQG1peGluIGhvb2stY2FyZC1ib2R5KCl7fVxuQG1peGluIGhvb2stY2FyZC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLXRvcCgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtYm90dG9tKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1yaWdodCgpe31cbkBtaXhpbiBob29rLWNhcmQtdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWJhZGdlKCl7XG4gICAgYm9yZGVyLXJhZGl1czogJGNhcmQtYmFkZ2UtYm9yZGVyLXJhZGl1cztcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGNhcmQtYmFkZ2UtdGV4dC10cmFuc2Zvcm07XG59XG5AbWl4aW4gaG9vay1jYXJkLWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdCgpeyBib3gtc2hhZG93OiAkY2FyZC1kZWZhdWx0LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1ob3ZlcigpeyBib3gtc2hhZG93OiAkY2FyZC1kZWZhdWx0LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKXsgYm9yZGVyLWJvdHRvbTogJGNhcmQtZGVmYXVsdC1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWRlZmF1bHQtaGVhZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcigpeyBib3JkZXItdG9wOiAkY2FyZC1kZWZhdWx0LWZvb3Rlci1ib3JkZXItd2lkdGggIHNvbGlkICRjYXJkLWRlZmF1bHQtZm9vdGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5KCl7IGJveC1zaGFkb3c6ICRjYXJkLXByaW1hcnktYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1wcmltYXJ5LWhvdmVyKCl7IGJveC1zaGFkb3c6ICRjYXJkLXByaW1hcnktaG92ZXItYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnkoKXsgYm94LXNoYWRvdzogJGNhcmQtc2Vjb25kYXJ5LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKXsgYm94LXNoYWRvdzogJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWNhcmQtbWlzYygpe1xuXG4gICAgLypcbiAgICAgKiBEZWZhdWx0XG4gICAgICovXG5cbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICgtJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwpO1xuICAgIH1cbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAoLSRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgIH1cblxuICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsXG4gICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cblxuICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0ICsgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuXG4gICAgLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKC0kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sKTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogKC0kY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sKTtcbiAgICAgICAgfVxuICAgICAgICAudWstY2FyZC1ib2R5ID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogKC0kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbCArIDE1cHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogKC0kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbCArIDE1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSxcbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlcixcbiAgICAgICAgLnVrLWNhcmQtYm9keSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51ay1jYXJkLWJvZHkgPiAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgeyBwYWRkaW5nLWxlZnQ6ICRuYXYtc3VibGlzdC1kZWVwZXItcGFkZGluZy1sZWZ0ICsgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBTbWFsbFxuICAgICAqL1xuXG4gICAgLnVrLWNhcmQtc21hbGwgPiAudWstbmF2LWRlZmF1bHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKC0kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogKC0kY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbCk7XG4gICAgfVxuICAgIC51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0Om9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAoLSRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCArIDE1cHgpO1xuICAgIH1cblxuICAgIC51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhLFxuICAgIC51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAgIC51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cblxuICAgIC51ay1jYXJkLXNtYWxsID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdCArICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbiAgICAvKlxuICAgICAqIExhcmdlXG4gICAgICovXG5cbiAgICAvKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCB7IG1hcmdpbjogMDsgfVxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdDpvbmx5LWNoaWxkIHsgbWFyZ2luOiAwOyB9XG5cbiAgICAgICAgLnVrLWNhcmQtbGFyZ2UgPiAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGEsXG4gICAgICAgIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyLFxuICAgICAgICAudWstY2FyZC1sYXJnZSA+IC51ay1uYXYtZGVmYXVsdCAudWstbmF2LWRpdmlkZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC51ay1jYXJkLWxhcmdlID4gLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHsgcGFkZGluZy1sZWZ0OiAkbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDsgfVxuXG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNhcmQtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jYXJkKCl7XG5cbiAgICAmLnVrLWNhcmQtYmFkZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1jYXJkLWJhZGdlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1jYXJkLWJhZGdlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jYXJkLWJhZGdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jYXJkLWJhZGdlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stY2xvc2UoKXtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBvcGFjaXR5O1xufVxuQG1peGluIGhvb2stY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1jbG9zZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jbG9zZSgpe1xuXG4gICAgLnVrLWNsb3NlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWNsb3NlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY2xvc2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNsb3NlOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWNsb3NlLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1jb2x1bW4tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWNvbHVtbigpe1xuXG4gICAgLnVrLWNvbHVtbi1kaXZpZGVyIHsgY29sdW1uLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I7IH1cblxufVxuQG1peGluIGhvb2stY29tbWVudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtYm9keSgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtaGVhZGVyKCl7fVxuQG1peGluIGhvb2stY29tbWVudC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbWV0YSgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtYXZhdGFyKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yigpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LXByaW1hcnkoKXtcbiAgICBwYWRkaW5nOiAkY29tbWVudC1wcmltYXJ5LXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbW1lbnQtcHJpbWFyeS1iYWNrZ3JvdW5kO1xufVxuQG1peGluIGhvb2stY29tbWVudC1taXNjKCl7fVxuQG1peGluIGhvb2stY29udGFpbmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24oKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24taXRlbSgpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1udW1iZXIoKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLWxhYmVsKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbnVtYmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jb3VudGRvd24oKXtcblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyLFxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1zZXBhcmF0b3IoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1sYWJlbCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stY292ZXItbWlzYygpe31cbkBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpe1xuICAgIGZvbnQtc2l6ZTogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tdGV4dC10cmFuc2Zvcm07XG59XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0oKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZSgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZGl2aWRlcigpe1xuXG4gICAgLnVrLWRpdmlkZXItaWNvbiB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbigpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci1pY29uOjpiZWZvcmUsXG4gICAgLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLWljb24tbGluZS1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCgpO31cbiAgICB9XG5cbiAgICAudWstZGl2aWRlci12ZXJ0aWNhbCB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci12ZXJ0aWNhbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci12ZXJ0aWNhbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWRvdG5hdigpe31cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtKCl7XG4gICAgYm9yZGVyOiAkZG90bmF2LWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkICRkb3RuYXYtaXRlbS1ib3JkZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3I7XG59XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1ob3ZlcigpeyBib3JkZXItY29sb3I6ICRkb3RuYXYtaXRlbS1ob3Zlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKXsgYm9yZGVyLWNvbG9yOiAkZG90bmF2LWl0ZW0tb25jbGljay1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpeyBib3JkZXItY29sb3I6ICRkb3RuYXYtaXRlbS1hY3RpdmUtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1kb3RuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXsgYm9yZGVyLWNvbG9yOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KTsgfVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcigpeyBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2soKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZG90bmF2KCl7XG5cbiAgICAudWstZG90bmF2ID4gKiA+ICoge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+ICogPiA6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+ICogPiA6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCk7fVxuICAgIH1cblxuICAgIC51ay1kb3RuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWRyb3AtbWlzYygpe31cbkBtaXhpbiBob29rLWRyb3BiYXIoKXt9XG5AbWl4aW4gaG9vay1kcm9wYmFyLXRvcCgpeyBib3gtc2hhZG93OiAkZHJvcGJhci10b3AtYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stZHJvcGJhci1ib3R0b20oKXsgYm94LXNoYWRvdzogJGRyb3BiYXItYm90dG9tLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWRyb3BiYXItbGVmdCgpeyBib3gtc2hhZG93OiAkZHJvcGJhci1sZWZ0LWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWRyb3BiYXItcmlnaHQoKXsgYm94LXNoYWRvdzogJGRyb3BiYXItcmlnaHQtYm94LXNoYWRvdzsgfVxuQG1peGluIGhvb2stZHJvcGJhci1taXNjKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24oKXsgYm94LXNoYWRvdzogJGRyb3Bkb3duLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLWRyb3Bkb3duLWRyb3BiYXIoKXsgYm94LXNoYWRvdzogbm9uZTsgfVxuQG1peGluIGhvb2stZHJvcGRvd24tZHJvcGJhci1sYXJnZSgpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdigpeyBmb250LXNpemU6ICRkcm9wZG93bi1uYXYtZm9udC1zaXplOyB9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LXN1YnRpdGxlKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbWlzYygpe31cbkBtaXhpbiBob29rLWRyb3BuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWZsZXgtbWlzYygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrKCl7IGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM7IH1cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRodW1iKCl7IGJvcmRlcjogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXdpZHRoIHNvbGlkICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhbmdlLXRyYWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhbmdlLXRodW1iKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZm9ybS1yYW5nZS10aHVtYi1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWZvcm0tcmFuZ2UoKXtcblxuICAgIC8qIFdlYmtpdCAqL1xuICAgIC51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS1mb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFuZ2UtdHJhY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayxcbiAgICAudWstcmFuZ2U6YWN0aXZlOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYW5nZS10cmFjay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbiAgICB9XG5cbiAgICAvKiBGaXJlZm94ICovXG4gICAgLnVrLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhbmdlLXRyYWNrKCk7fVxuICAgIH1cblxuICAgIC51ay1yYW5nZTpmb2N1czo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYW5nZS10cmFjay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbiAgICB9XG5cbiAgICAvKiBXZWJraXQgKi9cbiAgICAudWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhbmdlLXRodW1iKCk7fVxuICAgIH1cblxuICAgIC8qIEZpcmVmb3ggKi9cbiAgICAudWstcmFuZ2U6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS1mb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFuZ2UtdGh1bWIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1mb3JtKCl7XG4gICAgYm9yZGVyOiAkZm9ybS1ib3JkZXItd2lkdGggc29saWQgJGZvcm0tYm9yZGVyO1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3IsIGJvcmRlcjtcbn1cbkBtaXhpbiBob29rLWZvcm0tc2luZ2xlLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1mb3JtLW11bHRpLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWRpc2FibGVkKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tZGlzYWJsZWQtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpeyBib3JkZXItY29sb3I6ICRmb3JtLWRhbmdlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLWZvcm0tc3VjY2VzcygpeyBib3JkZXItY29sb3I6ICRmb3JtLXN1Y2Nlc3MtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLWJsYW5rKCl7IGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbkBtaXhpbiBob29rLWZvcm0tYmxhbmstZm9jdXMoKXtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlcjtcbiAgICBib3JkZXItc3R5bGU6ICRmb3JtLWJsYW5rLWZvY3VzLWJvcmRlci1zdHlsZTtcbn1cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8oKXtcbiAgICBib3JkZXI6ICRmb3JtLXJhZGlvLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1yYWRpby1ib3JkZXI7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXI7XG59XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGZvcm0tcmFkaW8tZm9jdXMtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKXsgYm9yZGVyLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpeyBib3JkZXItY29sb3I6ICRmb3JtLXJhZGlvLWRpc2FibGVkLWJvcmRlcjsgfVxuQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWxhYmVsKCl7XG4gICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xufVxuQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuQG1peGluIGhvb2stZm9ybS1pY29uKCl7fVxuQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8oKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDsgfVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKXsgY29sb3I6ICRpbnZlcnNlLWZvcm0tbGFiZWwtY29sb3I7IH1cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1pY29uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZm9ybSgpe1xuXG4gICAgLnVrLWlucHV0LFxuICAgIC51ay1zZWxlY3QsXG4gICAgLnVrLXRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtZm9ybS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybSgpO31cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGNvbG9yOiAkaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yO1xuICAgICAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1mb2N1cygpO31cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUGxhY2Vob2xkZXJcbiAgICAvL1xuXG4gICAgLnVrLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cbiAgICAudWstdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gU2VsZWN0XG4gICAgLy9cblxuICAgIC51ay1zZWxlY3Q6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tc2VsZWN0LWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1zZWxlY3QtaWNvbi1jb2xvcik7IH1cblxuICAgIC8vXG4gICAgLy8gRGF0YWxpc3RcbiAgICAvL1xuXG4gICAgLnVrLWlucHV0W2xpc3RdOmhvdmVyLFxuICAgIC51ay1pbnB1dFtsaXN0XTpmb2N1cyB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWRhdGFsaXN0LWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1kYXRhbGlzdC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBSYWRpbyBhbmQgY2hlY2tib3hcbiAgICAvL1xuXG4gICAgLnVrLXJhZGlvLFxuICAgIC51ay1jaGVja2JveCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpbykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpbygpO31cbiAgICB9XG5cbiAgICAvLyBGb2N1c1xuICAgIC51ay1yYWRpbzpmb2N1cyxcbiAgICAudWstY2hlY2tib3g6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLy8gQ2hlY2tlZFxuICAgIC51ay1yYWRpbzpjaGVja2VkLFxuICAgIC51ay1jaGVja2JveDpjaGVja2VkLFxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCk7fVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgLnVrLXJhZGlvOmNoZWNrZWQ6Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGU6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLy8gSWNvblxuICAgIC51ay1yYWRpbzpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcik7IH1cbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4gICAgLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG5cbiAgICAvLyBMYWJlbFxuICAgIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpO31cbiAgICB9XG5cbiAgICAvLyBJY29uXG4gICAgLnVrLWZvcm0taWNvbiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1mb3JtLWljb24tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0taWNvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1pY29uKCk7fVxuICAgIH1cbiAgICAudWstZm9ybS1pY29uOmhvdmVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0taWNvbi1ob3Zlci1jb2xvcjsgfVxuXG59XG5AbWl4aW4gaG9vay1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCgpe31cbkBtaXhpbiBob29rLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCgpe31cbkBtaXhpbiBob29rLWdyaWQtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLWhvcml6b250YWwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWdyaWQoKXtcblxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLWhvcml6b250YWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWdyaWQtZGl2aWRlci1ob3Jpem9udGFsKCk7fVxuICAgIH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ3JpZC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLXZlcnRpY2FsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1ncmlkLWRpdmlkZXItdmVydGljYWwoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1oZWFkaW5nLXNtYWxsKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1tZWRpdW0oKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWxhcmdlKCl7fVxuQG1peGluIGhvb2staGVhZGluZy14bGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLTN4bGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWhlcm8oKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1oZWFkaW5nLWJ1bGxldCgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctbGluZSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1zbWFsbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1tZWRpdW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmcteGxhcmdlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctM3hsYXJnZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWhlYWRpbmcoKXtcblxuICAgIC51ay1oZWFkaW5nLXNtYWxsIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1zbWFsbCgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1tZWRpdW0ge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLW1lZGl1bSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1tZWRpdW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctbGFyZ2Uge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWxhcmdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWxhcmdlKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLXhsYXJnZSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmcteGxhcmdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLXhsYXJnZSgpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy0yeGxhcmdlIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy0yeGxhcmdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLTJ4bGFyZ2UoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctM3hsYXJnZSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctM3hsYXJnZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy0zeGxhcmdlKCk7fVxuICAgIH1cblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkgeyAudWstaGVhZGluZy1wcmltYXJ5IHsgQGlmIChtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCk7fX19XG5cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHsgLnVrLWhlYWRpbmctaGVybyB7IEBpZiAobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybygpO319fVxuXG4gICAgLnVrLWhlYWRpbmctZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWhlYWRpbmctYnVsbGV0LWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctYnVsbGV0KCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSxcbiAgICAudWstaGVhZGluZy1saW5lID4gOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRpbnZlcnNlLWhlYWRpbmctbGluZS1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1saW5lKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staGVpZ2h0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pY29uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pY29uLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pY29uLWxpbmstYWN0aXZlKCl7fVxuQG1peGluIGhvb2staWNvbi1idXR0b24oKXtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xufVxuQG1peGluIGhvb2staWNvbi1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWljb24oKXtcblxuICAgIC8vXG4gICAgLy8gTGlua1xuICAgIC8vXG5cbiAgICAudWstaWNvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tbGluay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1saW5rKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWxpbms6YWN0aXZlLFxuICAgIC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBCdXR0b25cbiAgICAvL1xuXG4gICAgLnVrLWljb24tYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24oKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tYnV0dG9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWljb25uYXYoKXt9XG5AbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0oKXtcbiAgICBmb250LXNpemU6ICRzdWJuYXYtaXRlbS1mb250LXNpemU7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvcjtcbn1cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29ubmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbm5hdigpe1xuXG4gICAgLnVrLWljb25uYXYgPiAqID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29ubmF2ID4gKiA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1sYWJlbCgpe1xuICAgIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1ib3JkZXItcmFkaXVzO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkbGFiZWwtdGV4dC10cmFuc2Zvcm07XG59XG5AbWl4aW4gaG9vay1sYWJlbC1zdWNjZXNzKCl7fVxuQG1peGluIGhvb2stbGFiZWwtd2FybmluZygpe31cbkBtaXhpbiBob29rLWxhYmVsLWRhbmdlcigpe31cbkBtaXhpbiBob29rLWxhYmVsLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxhYmVsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGFiZWwoKXtcblxuICAgIC51ay1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWxhYmVsLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1sYWJlbC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxhYmVsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbGVhZGVyKCl7fVxuQG1peGluIGhvb2stbGVhZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxlYWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxlYWRlcigpe1xuXG4gICAgLnVrLWxlYWRlci1maWxsOjphZnRlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxlYWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGVhZGVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbGlnaHRib3goKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1pdGVtKCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtY2FwdGlvbigpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1saW5rLW11dGVkKCl7fVxuQG1peGluIGhvb2stbGluay1tdXRlZC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpbmstdGV4dCgpe31cbkBtaXhpbiBob29rLWxpbmstdGV4dC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpbmstaGVhZGluZygpe31cbkBtaXhpbiBob29rLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpbmstcmVzZXQoKXt9XG5AbWl4aW4gaG9vay1saW5rLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGluaygpe1xuXG4gICAgYS51ay1saW5rLW11dGVkLFxuICAgIC51ay1saW5rLW11dGVkIGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay1tdXRlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1tdXRlZCgpO31cbiAgICB9XG5cbiAgICBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsXG4gICAgLnVrLWxpbmstbXV0ZWQgYTpob3ZlcixcbiAgICAudWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstbXV0ZWQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay1tdXRlZC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay1tdXRlZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1tdXRlZC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICBhLnVrLWxpbmstdGV4dDpob3ZlcixcbiAgICAudWstbGluay10ZXh0IGE6aG92ZXIsXG4gICAgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLXRleHQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay10ZXh0LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICBhLnVrLWxpbmstaGVhZGluZzpob3ZlcixcbiAgICAudWstbGluay1oZWFkaW5nIGE6aG92ZXIsXG4gICAgLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLWhlYWRpbmcge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWxpc3QtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWxpc3Qtc3RyaXBlZCgpe1xuXG4gICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGxpc3Qtc3RyaXBlZC1ib3JkZXItd2lkdGggc29saWQgJGxpc3Qtc3RyaXBlZC1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRsaXN0LXN0cmlwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICRsaXN0LXN0cmlwZWQtYm9yZGVyO1xuICAgIH1cblxufVxuQG1peGluIGhvb2stbGlzdC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpe1xuXG4gICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxpc3QoKXtcblxuICAgIC51ay1saXN0LW11dGVkID4gOjptYXJrZXIgeyBjb2xvcjogJGludmVyc2UtbGlzdC1tdXRlZC1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLWxpc3QtZW1waGFzaXMgPiA6Om1hcmtlciB7IGNvbG9yOiAkaW52ZXJzZS1saXN0LWVtcGhhc2lzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbGlzdC1wcmltYXJ5ID4gOjptYXJrZXIgeyBjb2xvcjogJGludmVyc2UtbGlzdC1wcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbGlzdC1zZWNvbmRhcnkgPiA6Om1hcmtlciB7IGNvbG9yOiAkaW52ZXJzZS1saXN0LXNlY29uZGFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbGlzdC1idWxsZXQgPiA6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3IpO1xuICAgIH1cblxuICAgIC51ay1saXN0LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1saXN0LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbGlzdC1zdHJpcGVkID4gKiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKCk7fVxuICAgIH1cblxuICAgIC51ay1saXN0LXN0cmlwZWQgPiA6bnRoLW9mLXR5cGUob2RkKSB7IGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOyB9XG5cbn1cbkBtaXhpbiBob29rLW1hcmdpbi1taXNjKCl7fVxuQG1peGluIGhvb2stbWFya2VyKCl7XG4gICAgYm9yZGVyLXJhZGl1czogNTAwcHg7XG59XG5AbWl4aW4gaG9vay1tYXJrZXItaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tYXJrZXItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbWFya2VyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXItaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1tYXJrZXIoKXtcblxuICAgIC51ay1tYXJrZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS1tYXJrZXItYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW1hcmtlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbWFya2VyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1tYXJrZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW1hcmtlcjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbWFya2VyLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbW9kYWwoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1kaWFsb2coKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1mdWxsKCl7fVxuQG1peGluIGhvb2stbW9kYWwtYm9keSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpeyBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stbW9kYWwtZm9vdGVyKCl7IGJvcmRlci10b3A6ICRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1mb290ZXItYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBwYWRkaW5nOiAkbW9kYWwtY2xvc2UtZnVsbC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1jbG9zZS1mdWxsLWJhY2tncm91bmQ7XG59XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtbWlzYygpe1xuXG4gICAgLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgICAgIC51ay1tb2RhbC1jbG9zZS1mdWxsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRtb2RhbC1jbG9zZS1mdWxsLXBhZGRpbmctbTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1uYXYtc3ViKCl7fVxuQG1peGluIGhvb2stbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtc3VidGl0bGUoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktc3VidGl0bGUoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LXNlY29uZGFyeSgpe1xuICAgID4gOm5vdCgudWstbmF2LWRpdmlkZXIpICsgOm5vdCgudWstbmF2LWhlYWRlciwgLnVrLW5hdi1kaXZpZGVyKSB7ICBtYXJnaW4tdG9wOiAkbmF2LXNlY29uZGFyeS1tYXJnaW4tdG9wOyB9XG59XG5AbWl4aW4gaG9vay1uYXYtc2Vjb25kYXJ5LWl0ZW0oKXsgcGFkZGluZzogJG5hdi1zZWNvbmRhcnktaXRlbS1wYWRkaW5nLXZlcnRpY2FsICRuYXYtc2Vjb25kYXJ5LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsOyB9XG5AbWl4aW4gaG9vay1uYXYtc2Vjb25kYXJ5LWl0ZW0taG92ZXIoKXsgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1zZWNvbmRhcnktaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOyB9XG5AbWl4aW4gaG9vay1uYXYtc2Vjb25kYXJ5LWl0ZW0tYWN0aXZlKCl7IGJhY2tncm91bmQtY29sb3I6ICRuYXYtc2Vjb25kYXJ5LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7IH1cbkBtaXhpbiBob29rLW5hdi1zZWNvbmRhcnktc3VidGl0bGUoKXt9XG5AbWl4aW4gaG9vay1uYXYtc2Vjb25kYXJ5LXN1YnRpdGxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXYtc2Vjb25kYXJ5LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1zZWNvbmRhcnktZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1tZWRpdW0oKXt9XG5AbWl4aW4gaG9vay1uYXYtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1uYXYteGxhcmdlKCl7fVxuQG1peGluIGhvb2stbmF2LWRpdmlkZXJzKCl7fVxuQG1peGluIGhvb2stbmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1zZWNvbmRhcnktaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXNlY29uZGFyeS1pdGVtLWhvdmVyKCl7IGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLW5hdi1iYWNrZ3JvdW5kLWl0ZW0taG92ZXItYmFja2dyb3VuZDsgfVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtc2Vjb25kYXJ5LWl0ZW0tYWN0aXZlKCl7IGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLW5hdi1iYWNrZ3JvdW5kLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7IH1cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXNlY29uZGFyeS1zdWJ0aXRsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1zZWNvbmRhcnktaGVhZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXYtc2Vjb25kYXJ5LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kaXZpZGVycygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW5hdigpe1xuXG4gICAgLy9cbiAgICAvLyBEZWZhdWx0XG4gICAgLy9cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1oZWFkZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3ZlciB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gUHJpbWFyeVxuICAgIC8vXG5cbiAgICAudWstbmF2LXByaW1hcnkgPiBsaSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIgeyBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFNlY29uZGFyeVxuICAgIC8vXG5cbiAgICAudWstbmF2LXNlY29uZGFyeSA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtc2Vjb25kYXJ5LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1zZWNvbmRhcnktaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXNlY29uZGFyeS1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1zZWNvbmRhcnktaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXNlY29uZGFyeS1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtc2Vjb25kYXJ5LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1zZWNvbmRhcnkgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1zZWNvbmRhcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1zZWNvbmRhcnktaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1zZWNvbmRhcnktaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtc2Vjb25kYXJ5LXN1YnRpdGxlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtc2Vjb25kYXJ5LXN1YnRpdGxlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtc2Vjb25kYXJ5LXN1YnRpdGxlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtc2Vjb25kYXJ5ID4gbGkgPiBhOmhvdmVyIC51ay1uYXYtc3VidGl0bGUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXNlY29uZGFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEgLnVrLW5hdi1zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtc2Vjb25kYXJ5LXN1YnRpdGxlLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1zZWNvbmRhcnktc3VidGl0bGUtYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1zZWNvbmRhcnktaGVhZGVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtc2Vjb25kYXJ5LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LXNlY29uZGFyeS1oZWFkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbmF2LXNlY29uZGFyeS1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LXNlY29uZGFyeS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtc2Vjb25kYXJ5LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtc2Vjb25kYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIgYTpob3ZlciB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtc2Vjb25kYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtc2Vjb25kYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlcnNcbiAgICAvL1xuXG4gICAgLnVrLW5hdi51ay1uYXYtZGl2aWRlciA+IDpub3QoLnVrLW5hdi1kaXZpZGVyKSArIDpub3QoLnVrLW5hdi1oZWFkZXIsIC51ay1uYXYtZGl2aWRlcikge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1uYXYtZGl2aWRlcnMtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGl2aWRlcnMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1kaXZpZGVycygpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLW5hdmJhcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1jb250YWluZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0oKXtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJG5hdmJhci1uYXYtaXRlbS10ZXh0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xufVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaWNvbigpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUtaWNvbi1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1zdWJ0aXRsZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXN0aWNreSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bigpeyBib3gtc2hhZG93OiAkbmF2YmFyLWRyb3Bkb3duLWJveC1zaGFkb3c7IH1cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1sYXJnZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKCl7IGJveC1zaGFkb3c6IG5vbmU7IH1cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyLWxhcmdlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpeyBmb250LXNpemU6ICRuYXZiYXItZHJvcGRvd24tbmF2LWZvbnQtc2l6ZTsgfVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtc3VidGl0bGUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLW1pc2MoKXtcblxuICAgIC51ay1uYXZiYXItY29udGFpbmVyIHtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4xcyBlYXNlLWluLW91dDtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAvKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAgICAgLnVrLW5hdmJhci1sZWZ0LFxuICAgICAgICAudWstbmF2YmFyLXJpZ2h0LFxuICAgICAgICBbY2xhc3MqPVwidWstbmF2YmFyLWNlbnRlclwiXSB7IGdhcDogJG5hdmJhci1nYXAtbTsgfVxuXG4gICAgICAgIC51ay1uYXZiYXItY2VudGVyLWxlZnQgeyByaWdodDogdW5xdW90ZSgnY2FsYygxMDAlICsgI3skbmF2YmFyLWdhcC1tfSknKTsgfVxuICAgICAgICAudWstbmF2YmFyLWNlbnRlci1yaWdodCB7IGxlZnQ6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JG5hdmJhci1nYXAtbX0pJyk7IH1cblxuICAgIH1cblxuICAgIC8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgICAgICAudWstbmF2YmFyLW5hdiB7IGdhcDogJG5hdmJhci1uYXYtZ2FwLW07IH1cblxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2YmFyKCl7XG5cbiAgICAvL1xuICAgIC8vIE5hdiBJdGVtXG4gICAgLy9cblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaTpob3ZlciA+IGEsXG4gICAgLnVrLW5hdmJhci1uYXYgPiBsaSA+IGFbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEl0ZW1cbiAgICAvL1xuXG4gICAgLnVrLW5hdmJhci1pdGVtIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdmJhci1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBUb2dnbGVcbiAgICAvL1xuXG4gICAgLnVrLW5hdmJhci10b2dnbGUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLXRvZ2dsZTpob3ZlcixcbiAgICAudWstbmF2YmFyLXRvZ2dsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcygpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1iYXIoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpe31cbkBtaXhpbiBob29rLW9mZmNhbnZhcy1taXNjKCl7fVxuQG1peGluIGhvb2stb3ZlcmxheSgpe31cbkBtaXhpbiBob29rLW92ZXJsYXktaWNvbigpe31cbkBtaXhpbiBob29rLW92ZXJsYXktZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLW92ZXJsYXktcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW92ZXJsYXktbWlzYygpe31cbkBtaXhpbiBob29rLXBhZGRpbmctbWlzYygpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24oKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0oKXsgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDsgfVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXBhZ2luYXRpb24oKXtcblxuICAgIC51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstcGFnaW5hdGlvbiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAudWstZGlzYWJsZWQgPiAqIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1wbGFjZWhvbGRlcigpeyBib3JkZXI6ICRwbGFjZWhvbGRlci1ib3JkZXItd2lkdGggZGFzaGVkICRwbGFjZWhvbGRlci1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXBsYWNlaG9sZGVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wb3NpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcHJpbnQoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcygpe1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1iYXIoKXt9XG5AbWl4aW4gaG9vay1wcm9ncmVzcy1taXNjKCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWljb24oKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpeyBib3JkZXI6ICRzZWFyY2gtZGVmYXVsdC1ib3JkZXItd2lkdGggc29saWQgJHNlYXJjaC1kZWZhdWx0LWJvcmRlcjsgfVxuQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWRlZmF1bHQtZm9jdXMtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCl7IGJvcmRlcjogJHNlYXJjaC1uYXZiYXItYm9yZGVyLXdpZHRoIHNvbGlkICRzZWFyY2gtbmF2YmFyLWJvcmRlcjsgfVxuQG1peGluIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dC1mb2N1cygpeyBib3JkZXItY29sb3I6ICRzZWFyY2gtbmF2YmFyLWZvY3VzLWJvcmRlcjsgfVxuQG1peGluIGhvb2stc2VhcmNoLW1lZGl1bS1pbnB1dCgpeyBib3JkZXI6ICRzZWFyY2gtbWVkaXVtLWJvcmRlci13aWR0aCBzb2xpZCAkc2VhcmNoLW1lZGl1bS1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXNlYXJjaC1tZWRpdW0taW5wdXQtZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLW1lZGl1bS1mb2N1cy1ib3JkZXI7IH1cbkBtaXhpbiBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpeyBib3JkZXI6ICRzZWFyY2gtbGFyZ2UtYm9yZGVyLXdpZHRoIHNvbGlkICRzZWFyY2gtbGFyZ2UtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQtZm9jdXMoKXsgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWxhcmdlLWZvY3VzLWJvcmRlcjsgfVxuQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0LWZvY3VzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbWVkaXVtLWlucHV0KCl7IGJvcmRlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbWVkaXVtLWlucHV0LWZvY3VzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dC1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNlYXJjaCgpe1xuXG4gICAgLy9cbiAgICAvLyBJbnB1dFxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLWlucHV0IHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1jb2xvcjsgfVxuXG4gICAgLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIEljb25cbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb24geyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I7IH1cbiAgICAudWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbjpob3ZlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBTdHlsZSBtb2RpZmllclxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCgpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQtZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC1tZWRpdW0gLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1tZWRpdW0tYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLW1lZGl1bS1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLW1lZGl1bS1pbnB1dCgpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLW1lZGl1bSAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLW1lZGl1bS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtbWVkaXVtLWlucHV0LWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtbWVkaXVtLWlucHV0LWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtbGFyZ2UgLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCgpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtbGFyZ2UtZm9jdXMtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0LWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQtZm9jdXMoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBUb2dnbGVcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC10b2dnbGUge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpO31cbiAgICB9XG5cbiAgICAudWstc2VhcmNoLXRvZ2dsZTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stc2VjdGlvbigpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbXV0ZWQoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tb3ZlcmxhcCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tbWlzYygpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2KCl7IHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7IH1cbkBtaXhpbiBob29rLXNsaWRlbmF2LWhvdmVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1uZXh0KCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1jb250YWluZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCl7XG5cbiAgICAudWstc2xpZGVuYXYge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdigpO31cbiAgICB9XG5cbiAgICAudWstc2xpZGVuYXY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1zbGlkZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZXItbWlzYygpe31cbkBtaXhpbiBob29rLXNsaWRlc2hvdygpe31cbkBtaXhpbiBob29rLXNsaWRlc2hvdy1taXNjKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1kcmFnKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1lbXB0eSgpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zcGlubmVyKCl7fVxuQG1peGluIGhvb2stc3Bpbm5lci1taXNjKCl7fVxuQG1peGluIGhvb2stc3RpY2t5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbSgpe1xuICAgIGZvbnQtc2l6ZTogJHN1Ym5hdi1pdGVtLWZvbnQtc2l6ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJHN1Ym5hdi1pdGVtLXRleHQtdHJhbnNmb3JtO1xuICAgIHRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG59XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stc3VibmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1zdWJuYXYoKXtcblxuICAgIC51ay1zdWJuYXYgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXZpZGVyXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFBpbGxcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGlzYWJsZWRcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXN2Zy1taXNjKCl7fVxuQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe31cbkBtaXhpbiBob29rLXRhYigpe1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1pdGVtKCl7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYi1pdGVtLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06ICR0YWItaXRlbS10ZXh0LXRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjFzIGVhc2UtaW4tb3V0O1xufVxuQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay10YWItaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkdGFiLWl0ZW0tYWN0aXZlLWJvcmRlcjsgfVxuQG1peGluIGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay10YWItYm90dG9tKCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe1xuICAgIGJvcmRlci10b3A6ICR0YWItaXRlbS1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbkBtaXhpbiBob29rLXRhYi1sZWZ0KCl7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkdGFiLWJvcmRlci13aWR0aCBzb2xpZCAkdGFiLWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYi1yaWdodCgpe1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXItbGVmdDogJHRhYi1ib3JkZXItd2lkdGggc29saWQgJHRhYi1ib3JkZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10YWItbGVmdC1pdGVtKCl7XG4gICAgYm9yZGVyLXJpZ2h0OiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItcmlnaHQtaXRlbSgpe1xuICAgIGJvcmRlci1sZWZ0OiAkdGFiLWl0ZW0tYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5AbWl4aW4gaG9vay10YWItbWlzYygpe1xuXG4gICAgLnVrLXRhYiAudWstZHJvcGRvd24geyBtYXJnaW4tbGVmdDogKCR0YWItbWFyZ2luLWhvcml6b250YWwgKyAkdGFiLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsKTsgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYigpe1xuXG4gICAgJjo6YmVmb3JlIHsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS10YWItYm9yZGVyOyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKXsgYm9yZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOyB9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFiKCl7XG5cbiAgICAudWstdGFiIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRhYmxlKCl7fVxuQG1peGluIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKXsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuQG1peGluIGhvb2stdGFibGUtY2VsbCgpe31cbkBtaXhpbiBob29rLXRhYmxlLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLXRhYmxlLWNhcHRpb24oKXt9XG5AbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtc3RyaXBlZCgpe1xuICAgIGJvcmRlci10b3A6ICR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtc3RyaXBlZC1ib3JkZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLXN0cmlwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICR0YWJsZS1zdHJpcGVkLWJvcmRlcjtcbn1cbkBtaXhpbiBob29rLXRhYmxlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtcm93LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXRhYmxlLXNtYWxsKCl7fVxuQG1peGluIGhvb2stdGFibGUtbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1taXNjKCl7XG5cbiAgICAudWstdGFibGUgdGJvZHkgdHIgeyB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMXMgbGluZWFyOyB9XG5cbiAgICAudWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKGV2ZW4pOmxhc3QtY2hpbGQsXG4gICAgLnVrLXRhYmxlLXN0cmlwZWQgdGJvZHkgdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCB7IGJvcmRlci1ib3R0b206ICR0YWJsZS1zdHJpcGVkLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtc3RyaXBlZC1ib3JkZXI7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtY2FwdGlvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtcm93LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtc3RyaXBlZCgpe1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXI7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjtcbn1cbkBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10YWJsZSgpe1xuICAgIC51ay10YWJsZS1zdHJpcGVkID4gdHI6bnRoLW9mLXR5cGUoZXZlbik6bGFzdC1jaGlsZCxcbiAgICAudWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKTpsYXN0LWNoaWxkIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlcjsgfVxufVxuQG1peGluIGhvb2stdGV4dC1sZWFkKCl7fVxuQG1peGluIGhvb2stdGV4dC1tZXRhKCl7XG5cbiAgICA+IGEgeyBjb2xvcjogJHRleHQtbWV0YS1saW5rLWNvbG9yOyB9XG5cbiAgICA+IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHRleHQtbWV0YS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10ZXh0LXNtYWxsKCl7fVxuQG1peGluIGhvb2stdGV4dC1sYXJnZSgpe31cbkBtaXhpbiBob29rLXRleHQtYmFja2dyb3VuZCgpeyBiYWNrZ3JvdW5kLWltYWdlOiAkaW50ZXJuYWwtdGV4dC1iYWNrZ3JvdW5kLWNvbG9yLWdyYWRpZW50OyB9XG5AbWl4aW4gaG9vay10ZXh0LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpe1xuXG4gICAgLnVrLXRleHQtbGVhZCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGV4dC1sZWFkKCk7fVxuICAgIH1cblxuICAgIC51ay10ZXh0LW1ldGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpO31cbiAgICB9XG5cbiAgICAudWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1lbXBoYXNpcyB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LWVtcGhhc2lzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtc2Vjb25kYXJ5IHsgY29sb3I6ICRpbnZlcnNlLXRleHQtc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cblxufVxuQG1peGluIGhvb2stdGh1bWJuYXYoKXt9XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtKCl7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkdGh1bWJuYXYtaXRlbS1ncmFkaWVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxufVxuQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbS1ob3Zlcigpe1xuICAgICY6OmFmdGVyIHsgb3BhY2l0eTogJHRodW1ibmF2LWl0ZW0taG92ZXItb3BhY2l0eTsgfVxufVxuQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXtcbiAgICAmOjphZnRlciB7IG9wYWNpdHk6ICR0aHVtYm5hdi1pdGVtLWFjdGl2ZS1vcGFjaXR5OyB9XG59XG5AbWl4aW4gaG9vay10aHVtYm5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKCl7XG4gICAgJjo6YWZ0ZXIgeyBiYWNrZ3JvdW5kLWltYWdlOiAkaW52ZXJzZS10aHVtYm5hdi1pdGVtLWdyYWRpZW50OyB9XG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGh1bWJuYXYoKXtcblxuICAgIC51ay10aHVtYm5hdiA+ICogPiAqIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstdGh1bWJuYXYgPiAqID4gOmhvdmVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstdGh1bWJuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRpbGUoKXt9XG5AbWl4aW4gaG9vay10aWxlLWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay10aWxlLWRlZmF1bHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay10aWxlLW11dGVkKCl7fVxuQG1peGluIGhvb2stdGlsZS1tdXRlZC1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRpbGUtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLXRpbGUtcHJpbWFyeS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRpbGUtc2Vjb25kYXJ5KCl7fVxuQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay10aWxlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10b29sdGlwKCl7fVxuQG1peGluIGhvb2stdG9vbHRpcC1taXNjKCl7fVxuQG1peGluIGhvb2stdG90b3AoKXsgdHJhbnNpdGlvbjogY29sb3IgMC4xcyBlYXNlLWluLW91dDsgfVxuQG1peGluIGhvb2stdG90b3AtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay10b3RvcC1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10b3RvcC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRvdG9wKCl7XG5cbiAgICAudWstdG90b3Age1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRvdG9wKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10b3RvcCgpO31cbiAgICB9XG5cbiAgICAudWstdG90b3A6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10b3RvcC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstdG90b3A6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRvdG9wLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3AtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10cmFuc2l0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYW5lbC1zY3JvbGxhYmxlKCl7fVxuQG1peGluIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKXt9XG5AbWl4aW4gaG9vay1kcm9wY2FwKCl7XG4gICAgLy8gUHJldmVudCBsaW5lIHdyYXBcbiAgICBtYXJnaW4tYm90dG9tOiAtMnB4O1xufVxuQG1peGluIGhvb2stbG9nbygpe31cbkBtaXhpbiBob29rLWxvZ28taG92ZXIoKXt9XG5AbWl4aW4gaG9vay11dGlsaXR5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC11dGlsaXR5KCl7XG5cbiAgICAudWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuICAgIC51ay1kcm9wY2FwIHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZHJvcGNhcCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZHJvcGNhcCgpO31cbiAgICB9XG5cbiAgICAudWstbG9nbyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1sb2dvLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sb2dvKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sb2dvKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxvZ28taG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxvZ28taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ286aGFzKC51ay1sb2dvLWludmVyc2UpID4gOm5vdChwaWN0dXJlOmhhcygudWstbG9nby1pbnZlcnNlKSk6bm90KC51ay1sb2dvLWludmVyc2UpIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC51ay1sb2dvLWludmVyc2UgeyBkaXNwbGF5OiBibG9jazsgfVxuXG59XG5AbWl4aW4gaG9vay12aXNpYmlsaXR5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay13aWR0aC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZSgpIHtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWFjY29yZGlvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYXJ0aWNsZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFkZ2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJhc2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJyZWFkY3J1bWIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJ1dHRvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtY2FyZCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtY2xvc2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWNvbHVtbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtY291bnRkb3duKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kaXZpZGVyKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kb3RuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWZvcm0tcmFuZ2UoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWZvcm0oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWdyaWQoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWhlYWRpbmcoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWljb24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWljb25uYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWxhYmVsKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1sZWFkZXIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWxpbmsoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWxpc3QoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LW1hcmtlcigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXZiYXIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXBhZ2luYXRpb24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXNlYXJjaCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2xpZGVuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXN1Ym5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFiKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10YWJsZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGh1bWJuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXRvdG9wKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC11dGlsaXR5KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hY2NvcmRpb24oKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXRhYmxlKCk7XG59IiwiLy8gTmFtZTogICAgICAgICAgICBMaW5rXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlua3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saW5rLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay10ZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay1oZWFkaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay1yZXNldGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1saW5rLXRvZ2dsZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaW5rXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBNdXRlZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmEudWstbGluay1tdXRlZCxcbi51ay1saW5rLW11dGVkIGEsXG4udWstbGluay10b2dnbGUgLnVrLWxpbmstbXV0ZWQge1xuICAgIGNvbG9yOiAkbGluay1tdXRlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1tdXRlZCkpIHtAaW5jbHVkZSBob29rLWxpbmstbXV0ZWQoKTt9XG59XG5cbmEudWstbGluay1tdXRlZDpob3Zlcixcbi51ay1saW5rLW11dGVkIGE6aG92ZXIsXG4udWstbGluay10b2dnbGU6aG92ZXIgLnVrLWxpbmstbXV0ZWQge1xuICAgIGNvbG9yOiAkbGluay1tdXRlZC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1tdXRlZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpbmstbXV0ZWQtaG92ZXIoKTt9XG59XG5cblxuLyogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmEudWstbGluay10ZXh0LFxuLnVrLWxpbmstdGV4dCBhLFxuLnVrLWxpbmstdG9nZ2xlIC51ay1saW5rLXRleHQge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXRleHQpKSB7QGluY2x1ZGUgaG9vay1saW5rLXRleHQoKTt9XG59XG5cbmEudWstbGluay10ZXh0OmhvdmVyLFxuLnVrLWxpbmstdGV4dCBhOmhvdmVyLFxuLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLXRleHQge1xuICAgIGNvbG9yOiAkbGluay10ZXh0LWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXRleHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saW5rLXRleHQtaG92ZXIoKTt9XG59XG5cblxuLyogSGVhZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmEudWstbGluay1oZWFkaW5nLFxuLnVrLWxpbmstaGVhZGluZyBhLFxuLnVrLWxpbmstdG9nZ2xlIC51ay1saW5rLWhlYWRpbmcge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLWhlYWRpbmcpKSB7QGluY2x1ZGUgaG9vay1saW5rLWhlYWRpbmcoKTt9XG59XG5cbmEudWstbGluay1oZWFkaW5nOmhvdmVyLFxuLnVrLWxpbmstaGVhZGluZyBhOmhvdmVyLFxuLnVrLWxpbmstdG9nZ2xlOmhvdmVyIC51ay1saW5rLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaGVhZGluZy1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstaGVhZGluZy1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpbmstaGVhZGluZy1ob3ZlcigpO31cbn1cblxuXG4vKiBSZXNldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBgIWltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGludmVyc2UgY29tcG9uZW50XG4gKi9cblxuYS51ay1saW5rLXJlc2V0LFxuLnVrLWxpbmstcmVzZXQgYSB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay1yZXNldCkpIHtAaW5jbHVkZSBob29rLWxpbmstcmVzZXQoKTt9XG59XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpbmstdG9nZ2xlIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstbWlzYykpIHtAaW5jbHVkZSBob29rLWxpbmstbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGluay1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLXJlc2V0KCl7fVxuLy8gQG1peGluIGhvb2stbGluay1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBIZWFkaW5nXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgaGVhZGluZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oZWFkaW5nLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWhlcm9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWJ1bGxldGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhlYWRpbmctbGluZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaGVhZGluZy1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctc21hbGwtZm9udC1zaXplLW0gKiAwLjggIWRlZmF1bHQ7ICAgICAgIC8vIDM4cHggMC43M1xuJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbSAqIDAuODI1ICFkZWZhdWx0OyAgICAvLyA0MHB4IDAuNzE0XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0OyAgICAgIC8vIDUwcHggMC43OFxuJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1tICFkZWZhdWx0OyAgICAgICAgICAgICAvLyA0cmVtIC8gNjRweFxuJGhlYWRpbmctMnhsYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbSAhZGVmYXVsdDsgICAgICAgICAgICAvLyA2cmVtIC8gOTZweFxuJGhlYWRpbmctM3hsYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLW0gIWRlZmF1bHQ7ICAgICAgICAgICAvLyA4cmVtIC8gMTI4cHhcblxuJGhlYWRpbmctc21hbGwtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbCAqIDAuODEyNSAhZGVmYXVsdDsgICAvLyAzLjI1cmVtIC8gNTJweFxuJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbCAqIDAuODc1ICFkZWZhdWx0OyAgICAvLyAzLjVyZW0gLyA1NnB4XG4kaGVhZGluZy1sYXJnZS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1sICFkZWZhdWx0OyAgICAgICAgICAgIC8vIDRyZW0gLyA2NHB4XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWwgIWRlZmF1bHQ7ICAgICAgICAgICAgIC8vIDZyZW0gLyA5NnB4XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmcteGxhcmdlLWZvbnQtc2l6ZS1sICFkZWZhdWx0OyAgICAgICAgICAgIC8vIDhyZW0gLyAxMjhweFxuJGhlYWRpbmctM3hsYXJnZS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLWwgIWRlZmF1bHQ7ICAgICAgICAgICAvLyAxMXJlbSAvIDE3NnB4XG5cbiRoZWFkaW5nLW1lZGl1bS1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgICA0cmVtICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gNjRweFxuJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA5NnB4XG4kaGVhZGluZy14bGFyZ2UtZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAgOHJlbSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEyOHB4XG4kaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgMTFyZW0gIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDE3NnB4XG4kaGVhZGluZy0zeGxhcmdlLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgMTVyZW0gIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDI0MHB4XG5cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSGVhZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLXNtYWxsIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctc21hbGwtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctc21hbGwpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXNtYWxsKCk7fVxufVxuXG4udWstaGVhZGluZy1tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctbWVkaXVtLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLW1lZGl1bSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctbWVkaXVtKCk7fVxufVxuXG4udWstaGVhZGluZy1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1sYXJnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxhcmdlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWxhcmdlKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1sYXJnZSgpO31cbn1cblxuLnVrLWhlYWRpbmcteGxhcmdlIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXhsYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy14bGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLXhsYXJnZSgpO31cbn1cblxuLnVrLWhlYWRpbmctMnhsYXJnZSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy0yeGxhcmdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctMnhsYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy0yeGxhcmdlKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy0yeGxhcmdlKCk7fVxufVxuXG4udWstaGVhZGluZy0zeGxhcmdlIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLTN4bGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy0zeGxhcmdlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLTN4bGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLTN4bGFyZ2UoKTt9XG59XG5cbi8qIFRhYmxldCBMYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWhlYWRpbmctc21hbGwgeyBmb250LXNpemU6ICRoZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1tOyB9XG4gICAgLnVrLWhlYWRpbmctbWVkaXVtIHsgZm9udC1zaXplOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLW07IH1cbiAgICAudWstaGVhZGluZy1sYXJnZSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLW07IH1cbiAgICAudWstaGVhZGluZy14bGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbTsgfVxuICAgIC51ay1oZWFkaW5nLTJ4bGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLW07IH1cbiAgICAudWstaGVhZGluZy0zeGxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy0zeGxhcmdlLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuLyogTGFwdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWhlYWRpbmctbWVkaXVtIHsgZm9udC1zaXplOiAkaGVhZGluZy1tZWRpdW0tZm9udC1zaXplLWw7IH1cbiAgICAudWstaGVhZGluZy1sYXJnZSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctbGFyZ2UtZm9udC1zaXplLWw7IH1cbiAgICAudWstaGVhZGluZy14bGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLXhsYXJnZS1mb250LXNpemUtbDsgfVxuICAgIC51ay1oZWFkaW5nLTJ4bGFyZ2UgeyBmb250LXNpemU6ICRoZWFkaW5nLTJ4bGFyZ2UtZm9udC1zaXplLWw7IH1cbiAgICAudWstaGVhZGluZy0zeGxhcmdlIHsgZm9udC1zaXplOiAkaGVhZGluZy0zeGxhcmdlLWZvbnQtc2l6ZS1sOyB9XG5cbn1cblxuXG4vKiBQcmltYXJ5XG4gICBEZXByZWNhdGVkOiBVc2UgYHVrLWhlYWRpbmctbWVkaXVtYCBpbnN0ZWFkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgIDMuNzVyZW0gIWRlZmF1bHQ7ICAvLyA2MHB4XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC45ICFkZWZhdWx0OyAvLyA1NHB4XG5cbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC44ICFkZWZhdWx0OyAvLyA0OHB4XG5cbkBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLWhlYWRpbmctcHJpbWFyeSB7XG4gICAgZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1wcmltYXJ5KCk7fVxufVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLWhlYWRpbmctcHJpbWFyeSB7IGZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTsgfVxufVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay1oZWFkaW5nLXByaW1hcnkge1xuICAgICAgICBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LWw7XG4gICAgfVxufVxuXG59XG5cblxuLyogSGVyb1xuICAgRGVwcmVjYXRlZDogVXNlIGB1ay1oZWFkaW5nLXhsYXJnZWAgaW5zdGVhZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWw6ICAgICAgICAgICAgICAgICAgICAgICA4cmVtICFkZWZhdWx0OyAvLyAxMjhweFxuXG4kaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctaGVyby1mb250LXNpemUtbCAqIDAuNzUgIWRlZmF1bHQ7IC8vIDk2cHhcblxuJGhlYWRpbmctaGVyby1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWwgKiAwLjUgIWRlZmF1bHQ7IC8vIDY0cHhcblxuQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1oZXJvIHtcbiAgICBmb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWhlcm8pKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWhlcm8oKTt9XG59XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tO1xuICAgIH1cbn1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgQGlmICgkZGVwcmVjYXRlZCA9PSB0cnVlKSB7XG4udWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1sO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1sO1xuICAgIH1cbn1cblxufVxuXG5cbi8qIERpdmlkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1kaXZpZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGhlYWRpbmctZGl2aWRlci1wYWRkaW5nLWJvdHRvbTtcbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGluZy1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1kaXZpZGVyKCk7fVxufVxuXG5cbi8qIEJ1bGxldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLWJ1bGxldCB7IHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxuICogMS4gVXNpbmcgYGlubGluZS1ibG9ja2AgdG8gbWFrZSBpdCB3b3JrIHdpdGggdGV4dCBhbGlnbm1lbnRcbiAqIDIuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay1oZWFkaW5nLWJ1bGxldDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6ICRoZWFkaW5nLWJ1bGxldC10b3A7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAzICovXG4gICAgaGVpZ2h0OiAkaGVhZGluZy1idWxsZXQtaGVpZ2h0O1xuICAgIG1hcmdpbi1yaWdodDogJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDtcbiAgICBib3JkZXItbGVmdDogJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1idWxsZXQtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctYnVsbGV0KCk7fVxufVxuXG5cbi8qIExpbmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ2xpcCB0aGUgY2hpbGQgZWxlbWVudFxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBFeHRyYSBtYXJrdXAgaXMgbmVlZGVkIHRvIG1ha2UgaXQgd29yayB3aXRoIHRleHQgYWxpZ25cbiAqL1xuXG4udWstaGVhZGluZy1saW5lID4gKiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIDEuIENlbnRlciB2ZXJ0aWNhbGx5XG4gKiAyLiBNYWtlIHRoZSBlbGVtZW50IGFzIGxhcmdlIGFzIHBvc3NpYmxlLiBJdCdzIGNsaXBwZWQgYnkgdGhlIGNvbnRhaW5lci5cbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLFxuLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHVucXVvdGUoJ2NhbGMoI3skaGVhZGluZy1saW5lLXRvcH0gLSAoI3skaGVhZGluZy1saW5lLWhlaWdodH0gLyAyKSknKTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6ICRoZWFkaW5nLWxpbmUtd2lkdGg7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoIHNvbGlkICRoZWFkaW5nLWxpbmUtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1oZWFkaW5nLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWxpbmUoKTt9XG59XG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsO1xufVxuLnVrLWhlYWRpbmctbGluZSA+IDo6YWZ0ZXIge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6ICRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1taXNjKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1tZWRpdW0oKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy14bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLTJ4bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLTN4bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWhlcm8oKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWJ1bGxldCgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWhlYWRpbmctbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLW1lZGl1bSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy14bGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctMnhsYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy0zeGxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1saW5lKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEaXZpZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZGl2aWRlcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kaXZpZGVyLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXZpZGVyLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGl2aWRlci12ZXJ0aWNhbGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldCBkZWZhdWx0IGBocmBcbiAqIDIuIFNldCBtYXJnaW4gaWYgYSBgZGl2YCBpcyB1c2VkIGZvciBzZW1hbnRpY2FsIHJlYXNvblxuICovXG5cbltjbGFzcyo9XCJ1ay1kaXZpZGVyXCJdIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkZGl2aWRlci1tYXJnaW4tdmVydGljYWw7XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIFtjbGFzcyo9XCJ1ay1kaXZpZGVyXCJdIHsgbWFyZ2luLXRvcDogJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOyB9XG5cblxuLyogSWNvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXZpZGVyLWljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6ICRkaXZpZGVyLWljb24taGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1kaXZpZGVyLWljb24taW1hZ2UsIFwiIzAwMFwiLCAkZGl2aWRlci1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbikpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbigpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLFxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGRpdmlkZXItaWNvbi1saW5lLXRvcDtcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlIC0gKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICBib3JkZXItYm90dG9tOiAkZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItaWNvbi1saW5lKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSB7XG4gICAgcmlnaHQ6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICB3aWR0aDogJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCgpO31cbn1cblxuLnVrLWRpdmlkZXItaWNvbjo6YWZ0ZXIge1xuICAgIGxlZnQ6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGRpdmlkZXItaWNvbi13aWR0aH0gLyAyKSknKTtcbiAgICB3aWR0aDogJGRpdmlkZXItaWNvbi1saW5lLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lLXJpZ2h0KCk7fVxufVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZpeCBoZWlnaHQgYmVjYXVzZSBvZiBgaW5saW5lLWJsb2NrYFxuICogMi4gVXNpbmcgOjphZnRlciBhbmQgaW5saW5lLWJsb2NrIHRvIG1ha2UgYHRleHQtYWxpZ25gIHdvcmtcbiAqL1xuXG4vKiAxICovXG4udWstZGl2aWRlci1zbWFsbCB7IGxpbmUtaGVpZ2h0OiAwOyB9XG5cbi8qIDIgKi9cbi51ay1kaXZpZGVyLXNtYWxsOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6ICRkaXZpZGVyLXNtYWxsLXdpZHRoO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAkZGl2aWRlci1zbWFsbC1ib3JkZXItd2lkdGggc29saWQgJGRpdmlkZXItc21hbGwtYm9yZGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItc21hbGwpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLXNtYWxsKCk7fVxufVxuXG5cbi8qIFZlcnRpY2FsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpdmlkZXItdmVydGljYWwge1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBoZWlnaHQ6ICRkaXZpZGVyLXZlcnRpY2FsLWhlaWdodDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLWxlZnQ6ICRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlci13aWR0aCBzb2xpZCAkZGl2aWRlci12ZXJ0aWNhbC1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItdmVydGljYWwpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLXZlcnRpY2FsKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRpdmlkZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci12ZXJ0aWNhbCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuIiwiLy9cbi8vIENvbXBvbmVudDogICAgICAgTWl4aW5cbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBtaXhpbnMgd2hpY2ggYXJlIHVzZWQgYWNyb3NzIGFsbCBjb21wb25lbnRzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFNWR1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiAnJykge1xuICAgICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gICAgQGlmICRpbmRleCB7XG4gICAgICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgK1xuICAgICAgICAgICAgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkc3RyaW5nO1xufVxuXG5AbWl4aW4gc3ZnLWZpbGwoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpIHtcbiAgICAkcmVwbGFjZS1zcmM6IHN0ci1yZXBsYWNlKCRzcmMsICRjb2xvci1kZWZhdWx0LCAkY29sb3ItbmV3KSAhZGVmYXVsdDtcbiAgICAkcmVwbGFjZS1zcmM6IHN0ci1yZXBsYWNlKCRyZXBsYWNlLXNyYywgJyMnLCAnJTIzJyk7XG4gICAgJHJlcGxhY2Utc3JjOiBxdW90ZSgkcmVwbGFjZS1zcmMpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkcmVwbGFjZS1zcmMpO1xufVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaXN0XG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saXN0YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWxpc3QtZGlzY2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtY2lyY2xlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1zcXVhcmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWRlY2ltYWxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWh5cGhlbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWVtcGhhc2lzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWJ1bGxldGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3Qtc3RyaXBlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saXN0LWNvbGxhcHNlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogQXZvaWQgY29sdW1uIGJyZWFrIHdpdGhpbiB0aGUgbGlzdCBpdGVtLCB3aGVuIHVzaW5nIGBjb2x1bW4tY291bnRgXG4gKi9cblxuLnVrLWxpc3QgPiAqIHsgYnJlYWstaW5zaWRlOiBhdm9pZC1jb2x1bW47IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1saXN0ID4gKiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKlxuICogU3R5bGVcbiAqL1xuXG4udWstbGlzdCA+IDpudGgtY2hpbGQobisyKSxcbi51ay1saXN0ID4gKiA+IHVsIHsgbWFyZ2luLXRvcDogJGxpc3QtbWFyZ2luLXRvcDsgfVxuXG5cbi8qIE1hcmtlciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdC1kaXNjLFxuLnVrLWxpc3QtY2lyY2xlLFxuLnVrLWxpc3Qtc3F1YXJlLFxuLnVrLWxpc3QtZGVjaW1hbCxcbi51ay1saXN0LWh5cGhlbiB7IHBhZGRpbmctbGVmdDogJGxpc3QtcGFkZGluZy1sZWZ0OyB9XG5cbi51ay1saXN0LWRpc2MgeyBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cbi51ay1saXN0LWNpcmNsZSB7IGxpc3Qtc3R5bGUtdHlwZTogY2lyY2xlOyB9XG4udWstbGlzdC1zcXVhcmUgeyBsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTsgfVxuLnVrLWxpc3QtZGVjaW1hbCB7IGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDsgfVxuLnVrLWxpc3QtaHlwaGVuIHsgbGlzdC1zdHlsZS10eXBlOiAn4oCTICAnOyB9XG5cbi8qXG4gKiBDb2xvciBtb2RpZmllcnNcbiAqL1xuXG4udWstbGlzdC1tdXRlZCA+IDo6bWFya2VyIHsgY29sb3I6ICRsaXN0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay1saXN0LWVtcGhhc2lzID4gOjptYXJrZXIgeyBjb2xvcjogJGxpc3QtZW1waGFzaXMtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWxpc3QtcHJpbWFyeSA+IDo6bWFya2VyIHsgY29sb3I6ICRsaXN0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLWxpc3Qtc2Vjb25kYXJ5ID4gOjptYXJrZXIgeyBjb2xvcjogJGxpc3Qtc2Vjb25kYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBJbWFnZSBidWxsZXQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdC1idWxsZXQgPiAqIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGlzdC1wYWRkaW5nLWxlZnQ7XG59XG5cbi51ay1saXN0LWJ1bGxldCA+IDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJGxpc3QtcGFkZGluZy1sZWZ0O1xuICAgIGhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbTtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2UsIFwiIzAwMFwiLCAkbGlzdC1idWxsZXQtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWxpc3QtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgYm9yZGVyLXRvcDogJGxpc3QtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGxpc3QtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpc3QtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWxpc3QtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstbGlzdC1zdHJpcGVkID4gKiB7XG4gICAgcGFkZGluZzogJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsICRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1saXN0LXN0cmlwZWQoKTt9XG59XG5cbi51ay1saXN0LXN0cmlwZWQgPiA6bnRoLW9mLXR5cGUob2RkKSB7IGJhY2tncm91bmQ6ICRsaXN0LXN0cmlwZWQtYmFja2dyb3VuZDsgfVxuXG4udWstbGlzdC1zdHJpcGVkID4gOm50aC1jaGlsZChuKzIpIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlzdC1sYXJnZSA+IDpudGgtY2hpbGQobisyKSxcbi51ay1saXN0LWxhcmdlID4gKiA+IHVsIHsgbWFyZ2luLXRvcDogJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDsgfVxuXG4udWstbGlzdC1jb2xsYXBzZSA+IDpudGgtY2hpbGQobisyKSxcbi51ay1saXN0LWNvbGxhcHNlID4gKiA+IHVsIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1saXN0LWxhcmdlLnVrLWxpc3QtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A7XG59XG5cbi51ay1saXN0LWNvbGxhcHNlLnVrLWxpc3QtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LXN0cmlwZWQgPiAqIHsgcGFkZGluZzogJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsICRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi51ay1saXN0LWNvbGxhcHNlLnVrLWxpc3Qtc3RyaXBlZCA+ICoge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LXN0cmlwZWQgPiA6bnRoLWNoaWxkKG4rMiksXG4udWstbGlzdC1jb2xsYXBzZS51ay1saXN0LXN0cmlwZWQgPiA6bnRoLWNoaWxkKG4rMikgeyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1taXNjKSkge0BpbmNsdWRlIGhvb2stbGlzdC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1saXN0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saXN0LXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1saXN0LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEZXNjcmlwdGlvbiBsaXN0XG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZGVzY3JpcHRpb24gbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kZXNjcmlwdGlvbi1saXN0YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGVzY3JpcHRpb24gbGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUZXJtXG4gKi9cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdCB7XG4gICAgY29sb3I6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSkpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpO31cbn1cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wO1xufVxuXG4vKlxuICogRGVzY3JpcHRpb25cbiAqL1xuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGRkIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbikpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGluZVxuICovXG5cbi51ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXIgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wO1xuICAgIGJvcmRlci10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGggc29saWQgJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0pKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGFibGVcbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciB0YWJsZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10YWJsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10YWJsZS1taWRkbGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc3RyaXBlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWhvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1qdXN0aWZ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtc2hyaW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtZXhwYW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXJlc3BvbnNpdmVgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqIDIuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstdGFibGUge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWJvdHRvbTogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUpKSB7QGluY2x1ZGUgaG9vay10YWJsZSgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXRhYmxlIHsgbWFyZ2luLXRvcDogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEhlYWRlciBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKi9cblxuLnVrLXRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZGVyLWNlbGwtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhlYWRlci1jZWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKTt9XG59XG5cblxuLyogQ2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtY2VsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWNlbGwoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstdGFibGUgdGQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBGb290ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgdGZvb3Qge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWZvb3Rlci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLXRhYmxlLWZvb3RlcigpO31cbn1cblxuXG4vKiBDYXB0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIGNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWNhcHRpb24tZm9udC1zaXplO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2stdGFibGUtY2FwdGlvbigpO31cbn1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtbWlkZGxlLFxuLnVrLXRhYmxlLW1pZGRsZSB0ZCB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLXRhYmxlLWRpdmlkZXIgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSxcbi51ay10YWJsZS1kaXZpZGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpID4gdHIsXG4udWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKG9kZCksXG4udWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXN0cmlwZWQoKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuLnVrLXRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaG92ZXIoKTt9XG59XG5cblxuLyogQWN0aXZlIHN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlID4gdHIudWstYWN0aXZlLFxuLnVrLXRhYmxlIHRib2R5IHRyLnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtcm93LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXJvdy1hY3RpdmUoKTt9XG59XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtc21hbGwgdGgsXG4udWstdGFibGUtc21hbGwgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1zbWFsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXNtYWxsKCk7fVxufVxuXG4udWstdGFibGUtbGFyZ2UgdGgsXG4udWstdGFibGUtbGFyZ2UgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWxhcmdlKCk7fVxufVxuXG5cbi8qIEp1c3RpZnkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtanVzdGlmeSB0aDpmaXJzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmZpcnN0LWNoaWxkIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmxhc3QtY2hpbGQsXG4udWstdGFibGUtanVzdGlmeSB0ZDpsYXN0LWNoaWxkIHsgcGFkZGluZy1yaWdodDogMDsgfVxuXG5cbi8qIENlbGwgc2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1zaHJpbmsgeyB3aWR0aDogMXB4OyB9XG4udWstdGFibGUtZXhwYW5kIHsgbWluLXdpZHRoOiAkdGFibGUtZXhwYW5kLW1pbi13aWR0aDsgfVxuXG5cbi8qIENlbGwgbGluayBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEb2VzIG5vdCB3b3JrIHdpdGggYHVrLXRhYmxlLWp1c3RpZnlgIGF0IHRoZSBtb21lbnRcbiAqL1xuXG4udWstdGFibGUtbGluayB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4udWstdGFibGUtbGluayA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstdGFibGUtc21hbGwgLnVrLXRhYmxlLWxpbmsgPiBhIHsgcGFkZGluZzogJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuXG4vKiBSZXNwb25zaXZlIHRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRib2R5LFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRyIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoZWFkIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpmaXJzdC1jaGlsZCkgPiBhIHsgcGFkZGluZy10b3A6IHJvdW5kKCgkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICogMC4zMzMzMykpICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoOm5vdCg6bGFzdC1jaGlsZCk6bm90KC51ay10YWJsZS1saW5rKSxcbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0ZDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpsYXN0LWNoaWxkKSA+IGEgeyBwYWRkaW5nLWJvdHRvbTogcm91bmQoKCR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgKiAwLjMzMzMzKSkgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLXRhYmxlLWp1c3RpZnkudWstdGFibGUtcmVzcG9uc2l2ZSB0aCxcbiAgICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRkIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10YWJsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10YWJsZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtY2VsbCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWNhcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1yb3ctYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSWNvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGljb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1pY29uLWltYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1idXR0b25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTm90ZTogMS4gLSA3LiBpcyByZXF1aXJlZCBmb3IgYGJ1dHRvbmAgZWxlbWVudHMuIE5lZWRlZCBmb3IgQ2xvc2UgYW5kIEZvcm0gSWNvbiBjb21wb25lbnQuXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBSZW1vdmUgYm9yZGVyLXJhZGl1cyBpbiBDaHJvbWUuXG4gKiA0LiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNS4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDYuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNy4gUmVtb3ZlIGRlZmF1bHQgYGJ1dHRvbmAgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBjb2xvclxuICogOC4gU3R5bGVcbiAqIDkuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDEwLiBMZXQgdGhlIGNvbnRhaW5lciBmaXQgdGhlIGhlaWdodCBvZiB0aGUgaWNvblxuICovXG5cbi51ay1pY29uIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDUgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDYgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAvKiA3LiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogOCAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiA5ICovXG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIC8qIDEwICovXG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi8qIFJlcXVpcmVkIGZvciBgYnV0dG9uYC4gKi9cbmJ1dHRvbi51ay1pY29uOm5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbi51ay1pY29uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG5cbi51ay1pY29uOm5vdCgudWstcHJlc2VydmUpIFtmaWxsKj1cIiNcIl06bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH1cbi51ay1pY29uOm5vdCgudWstcHJlc2VydmUpIFtzdHJva2UqPVwiI1wiXTpub3QoLnVrLXByZXNlcnZlKSB7IHN0cm9rZTogY3VycmVudGNvbG9yOyB9XG5cbi8qXG4gKiBGaXggRmlyZWZveCBibHVycnkgU1ZHIHJlbmRlcmluZzogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgzNVxuICovXG5cbi51ay1pY29uID4gKiB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cblxuLyogSW1hZ2UgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGlzcGxheSBpbWFnZXMgaW4gaWNvbiBkaW1lbnNpb25zXG4gKiAxLiBSZXF1aXJlZCBmb3IgYHNwYW5gIHdpdGggYmFja2dyb3VuZCBpbWFnZVxuICogMi4gUmVxdWlyZWQgZm9yIGBpbWFnZWBcbiAqL1xuXG4udWstaWNvbi1pbWFnZSB7XG4gICAgd2lkdGg6ICRpY29uLWltYWdlLXNpemU7XG4gICAgaGVpZ2h0OiAkaWNvbi1pbWFnZS1zaXplO1xuICAgIC8qIDEgKi9cbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMiAqL1xuICAgIG9iamVjdC1maXQ6IHNjYWxlLWRvd247XG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBBbGxvdyB0ZXh0IHdpdGhpbiBsaW5rXG4gKi9cblxuLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstY29sb3I7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmsoKTt9XG59XG5cbi51ay1pY29uLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAkaWNvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWxpbmstaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pY29uLWxpbmstaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWxpbms6YWN0aXZlLFxuLnVrLWFjdGl2ZSA+IC51ay1pY29uLWxpbmsge1xuICAgIGNvbG9yOiAkaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1saW5rLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb24tbGluay1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBCdXR0b25cbiAqIDEuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG5cbi51ay1pY29uLWJ1dHRvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJGljb24tYnV0dG9uLXNpemU7XG4gICAgaGVpZ2h0OiAkaWNvbi1idXR0b24tc2l6ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkaWNvbi1idXR0b24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWNvbG9yO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24oKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstaWNvbi1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWJ1dHRvbjphY3RpdmUsXG4udWstYWN0aXZlID4gLnVrLWljb24tYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1pY29uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWljb24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRm9ybSBSYW5nZVxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIHRoZSByYW5nZSBpbnB1dCB0eXBlXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcmFuZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZvcm0gUmFuZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUuXG4gKiAyLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogMy4gUmVtb3ZlIGBtYXJnaW5gIGluIGFsbCBicm93c2Vycy5cbiAqIDQuIEFsaWduIHRvIHRoZSBjZW50ZXIgb2YgdGhlIGxpbmUgYm94LlxuICogNS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZC5cbiAqIDYuIFRha2UgdGhlIGZ1bGwgd2lkdGguXG4gKiA3LiBSZW1vdmUgd2hpdGUgYmFja2dyb3VuZCBpbiBDaHJvbWUuXG4gKi9cblxuLnVrLXJhbmdlIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgLyogNCAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogNSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA2ICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogNyAqL1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZSgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYW5nZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbi51ay1yYW5nZTo6LW1vei1mb2N1cy1vdXRlciB7IGJvcmRlcjogbm9uZTsgfVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuXG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgY3Vyc29yOiBwb2ludGVyOyB9XG4udWstcmFuZ2U6bm90KDpkaXNhYmxlZCk6Oi1tb3otcmFuZ2UtdGh1bWIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuXG4vKlxuICogVHJhY2tcbiAqIDEuIFNhZmFyaSBkb2Vzbid0IGhhdmUgYSBmb2N1cyBzdGF0ZS4gVXNpbmcgYWN0aXZlIGluc3RlYWQuXG4gKi9cblxuLyogV2Via2l0ICovXG4udWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayxcbi8qIDEgKi9cbi51ay1yYW5nZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuLyogRmlyZWZveCAqL1xuLnVrLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuLypcbiAqIFRodW1iXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogKGZsb29yKCgkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQgKiAwLjUpKSAqIC0xKTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IChmbG9vcigoJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0ICogMC41KSkgKiAtMSk7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRodW1iKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10aHVtYigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhbmdlLXRyYWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhbmdlLXRodW1iKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGb3JtXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZm9ybXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mb3JtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnB1dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlbGVjdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRleHRhcmVhYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmFkaW9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jaGVja2JveGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxlZ2VuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZpZWxkc2V0YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWZvcm0tY3VzdG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdGFja2VkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ob3Jpem9udGFsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYWJlbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb24tZmxpcGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1mb3JtLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tZGFuZ2VyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ibGFua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgteHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHMtdGV4dGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAgICBEZWZhdWx0IGlzIGBjb250ZW50LWJveGAgd2l0aCBmb2xsb3dpbmcgZXhjZXB0aW9ucyBzZXQgdG8gYGJvcmRlci1ib3hgXG4gKiAgICBgc2VsZWN0YCwgYGlucHV0W3R5cGU9XCJjaGVja2JveFwiXWAgYW5kIGBpbnB1dFt0eXBlPVwicmFkaW9cIl1gXG4gKiAgICBgaW5wdXRbdHlwZT1cInNlYXJjaFwiXWAgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhXG4gKiAgICBgaW5wdXRbdHlwZT1cImNvbG9yXCJdYCBpbiBGaXJlZm94XG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhLFxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xufVxuXG4vKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG4udWstaW5wdXQgeyBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbi51ay1zZWxlY3QgeyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKlxuICogMS4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiAyLiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIGFuZCB1c2UgYGJvbGRgIGluc3RlYWQuXG4gKiBOT1RFOiBCb3RoIGRlY2xhcmF0aW9ucyBkb24ndCB3b3JrIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYS5cbiAqL1xuXG4udWstc2VsZWN0IG9wdGdyb3VwIHtcbiAgICAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiAyICovXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG4udWstdGV4dGFyZWEgeyBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4udWstaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24geyBoZWlnaHQ6IGF1dG87IH1cblxuLypcbiAqIENvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIFNhZmFyaS5cbiAqL1xuXG4udWstaW5wdXRbdHlwZT1cImRhdGVcIl06Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCxcbi51ay1pbnB1dFt0eXBlPVwidGltZVwiXTo6LXdlYmtpdC1kYXRldGltZS1lZGl0LFxuLnVrLWlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTo6LXdlYmtpdC1kYXRldGltZS1lZGl0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsXG4udWstdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIgeyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG5cbi51ay1yYWRpbzpub3QoOmRpc2FibGVkKSxcbi51ay1jaGVja2JveDpub3QoOmRpc2FibGVkKSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICogMS4gUmVzZXQgYG1pbi13aWR0aGBcbiAqL1xuXG4udWstZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAvKiAxICovXG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG5cbi8qIElucHV0LCBzZWxlY3QgYW5kIHRleHRhcmVhXG4gKiBBbGxvd2VkOiBgdGV4dGAsIGBwYXNzd29yZGAsIGBkYXRldGltZS1sb2NhbGAsIGBkYXRlYCwgIGBtb250aGAsXG4gICAgICAgICAgICBgdGltZWAsIGB3ZWVrYCwgYG51bWJlcmAsIGBlbWFpbGAsIGB1cmxgLCBgc2VhcmNoYCwgYHRlbGAsIGBjb2xvcmBcbiAqIERpc2FsbG93ZWQ6IGByYW5nZWAsIGByYWRpb2AsIGBjaGVja2JveGAsIGBmaWxlYCwgYHN1Ym1pdGAsIGByZXNldGAgYW5kIGBpbWFnZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gaU9TLlxuICovXG5cbi51ay1pbnB1dCxcbi51ay10ZXh0YXJlYSB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogMS4gUHJldmVudCBjb250ZW50IG92ZXJmbG93IGlmIGEgZml4ZWQgd2lkdGggaXMgdXNlZFxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aFxuICogMy4gUmVzZXQgZGVmYXVsdFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0LFxuLnVrLXRleHRhcmVhIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6IDAgJGZvcm0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRmb3JtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtKSkge0BpbmNsdWRlIGhvb2stZm9ybSgpO31cbn1cblxuLypcbiAqIFNpbmdsZS1saW5lXG4gKiAxLiBBbGxvdyBhbnkgZWxlbWVudCB0byBsb29rIGxpa2UgYW4gYGlucHV0YCBvciBgc2VsZWN0YCBlbGVtZW50XG4gKiAyLiBNYWtlIHN1cmUgbGluZS1oZWlnaHQgaXMgbm90IGxhcmdlciB0aGFuIGhlaWdodFxuICogICAgQWxzbyBuZWVkZWQgdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHlcbiAqL1xuXG4udWstaW5wdXQsXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgaGVpZ2h0OiAkZm9ybS1oZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXNpbmdsZS1saW5lKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpO31cbn1cblxuLyogMiAqL1xuLnVrLWlucHV0Om5vdChpbnB1dCksXG4udWstc2VsZWN0Om5vdChzZWxlY3QpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLWxpbmUtaGVpZ2h0OyB9XG5cbi8qXG4gKiBNdWx0aS1saW5lXG4gKi9cblxuLnVrLXNlbGVjdFttdWx0aXBsZV0sXG4udWstc2VsZWN0W3NpemVdLFxuLnVrLXRleHRhcmVhIHtcbiAgICBwYWRkaW5nLXRvcDogJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tcGFkZGluZy12ZXJ0aWNhbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW11bHRpLWxpbmUpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW11bHRpLWxpbmUoKTt9XG59XG5cbi51ay1zZWxlY3RbbXVsdGlwbGVdLFxuLnVrLXNlbGVjdFtzaXplXSB7IHJlc2l6ZTogdmVydGljYWw7IH1cblxuLyogRm9jdXMgKi9cbi51ay1pbnB1dDpmb2N1cyxcbi51ay1zZWxlY3Q6Zm9jdXMsXG4udWstdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZm9jdXMtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGZvcm0tZm9jdXMtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWZvY3VzKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLWlucHV0OmRpc2FibGVkLFxuLnVrLXNlbGVjdDpkaXNhYmxlZCxcbi51ay10ZXh0YXJlYTpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGZvcm0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWRpc2FibGVkKCk7fVxufVxuXG4vKlxuICogUGxhY2Vob2xkZXJcbiAqL1xuXG4udWstaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOyB9XG5cbi51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4vKiBTdHlsZSBtb2RpZmllciAoYHVrLWlucHV0YCwgYHVrLXNlbGVjdGAgYW5kIGB1ay10ZXh0YXJlYWApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLWZvcm0tc21hbGwgeyBmb250LXNpemU6ICRmb3JtLXNtYWxsLWZvbnQtc2l6ZTsgfVxuXG4vKiBTaW5nbGUtbGluZSAqL1xuLnVrLWZvcm0tc21hbGw6bm90KHRleHRhcmVhKTpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0tc21hbGwtaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbn1cblxuLyogTXVsdGktbGluZSAqL1xudGV4dGFyZWEudWstZm9ybS1zbWFsbCxcblttdWx0aXBsZV0udWstZm9ybS1zbWFsbCxcbltzaXplXS51ay1mb3JtLXNtYWxsIHsgcGFkZGluZzogJGZvcm0tc21hbGwtcGFkZGluZy12ZXJ0aWNhbCAkZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuLnVrLWZvcm0tc21hbGw6bm90KHNlbGVjdCk6bm90KGlucHV0KTpub3QodGV4dGFyZWEpIHsgbGluZS1oZWlnaHQ6ICRmb3JtLXNtYWxsLWxpbmUtaGVpZ2h0OyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay1mb3JtLWxhcmdlIHsgZm9udC1zaXplOiAkZm9ybS1sYXJnZS1mb250LXNpemU7IH1cblxuLyogU2luZ2xlLWxpbmUgKi9cbi51ay1mb3JtLWxhcmdlOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLWxhcmdlLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi8qIE11bHRpLWxpbmUgKi9cbnRleHRhcmVhLnVrLWZvcm0tbGFyZ2UsXG5bbXVsdGlwbGVdLnVrLWZvcm0tbGFyZ2UsXG5bc2l6ZV0udWstZm9ybS1sYXJnZSB7IHBhZGRpbmc6ICRmb3JtLWxhcmdlLXBhZGRpbmctdmVydGljYWwgJGZvcm0tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi51ay1mb3JtLWxhcmdlOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1sYXJnZS1saW5lLWhlaWdodDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRXJyb3JcbiAqL1xuXG4udWstZm9ybS1kYW5nZXIsXG4udWstZm9ybS1kYW5nZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAkZm9ybS1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stZm9ybS1kYW5nZXIoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWZvcm0tc3VjY2Vzcyxcbi51ay1mb3JtLXN1Y2Nlc3M6Zm9jdXMge1xuICAgIGNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBCbGFua1xuICovXG5cbi51ay1mb3JtLWJsYW5rIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWJsYW5rKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ibGFuaygpO31cbn1cblxuLnVrLWZvcm0tYmxhbms6Zm9jdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWJsYW5rLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1ibGFuay1mb2N1cygpO31cbn1cblxuXG4vKiBXaWR0aCBtb2RpZmllcnMgKGB1ay1pbnB1dGAsIGB1ay1zZWxlY3RgIGFuZCBgdWstdGV4dGFyZWFgKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGaXhlZCB3aWR0aHNcbiAqIERpZmZlcmVudCB3aWR0aHMgZm9yIG1pbmkgc2l6ZWQgYGlucHV0YCBhbmQgYHNlbGVjdGAgZWxlbWVudHNcbiAqL1xuXG5pbnB1dC51ay1mb3JtLXdpZHRoLXhzbWFsbCB7IHdpZHRoOiAkZm9ybS13aWR0aC14c21hbGw7IH1cblxuc2VsZWN0LnVrLWZvcm0td2lkdGgteHNtYWxsIHsgd2lkdGg6ICgkZm9ybS13aWR0aC14c21hbGwgKyAyNXB4KTsgfVxuXG4udWstZm9ybS13aWR0aC1zbWFsbCB7IHdpZHRoOiAkZm9ybS13aWR0aC1zbWFsbDsgfVxuXG4udWstZm9ybS13aWR0aC1tZWRpdW0geyB3aWR0aDogJGZvcm0td2lkdGgtbWVkaXVtOyB9XG5cbi51ay1mb3JtLXdpZHRoLWxhcmdlIHsgd2lkdGg6ICRmb3JtLXdpZHRoLWxhcmdlOyB9XG5cblxuLyogU2VsZWN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHN0eWxlLiBBbHNvIHdvcmtzIGluIEZpcmVmb3hcbiAqIDIuIFN0eWxlXG4gKiAzLiBTZXQgYGNvbG9yYCBmb3Igb3B0aW9ucyBpbiB0aGUgc2VsZWN0IGRyb3Bkb3duLCBiZWNhdXNlIHRoZSBpbmhlcml0ZWQgYGNvbG9yYCBtaWdodCBiZSB0b28gbGlnaHQuXG4gKi9cblxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zZWxlY3QtcGFkZGluZy1yaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1zZWxlY3QtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTtcbn1cblxuLyogMyAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkgb3B0aW9uIHsgY29sb3I6ICRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cblxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6ZGlzYWJsZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBEYXRhbGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZSBpbiBDaHJvbWVcbiAqL1xuXG4gLnVrLWlucHV0W2xpc3RdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1kYXRhbGlzdC1wYWRkaW5nLXJpZ2h0O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG59XG5cbi51ay1pbnB1dFtsaXN0XTpob3Zlcixcbi51ay1pbnB1dFtsaXN0XTpmb2N1cyB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWRhdGFsaXN0LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tZGF0YWxpc3QtaWNvbi1jb2xvcik7IH1cblxuLyogMSAqL1xuLnVrLWlucHV0W2xpc3RdOjotd2Via2l0LWNhbGVuZGFyLXBpY2tlci1pbmRpY2F0b3IgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBSYWRpbyBhbmQgY2hlY2tib3hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU3R5bGVcbiAqIDIuIE1ha2UgYm94IG1vcmUgcm9idXN0IHNvIGl0IGNsaXBzIHRoZSBjaGlsZCBlbGVtZW50XG4gKiAzLiBWZXJ0aWNhbCBhbGlnbm1lbnRcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBGaXggYmxhY2sgYmFja2dyb3VuZCBvbiBpT1NcbiAqIDYuIENlbnRlciBpY29uc1xuICovXG5cbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6ICRmb3JtLXJhZGlvLXNpemU7XG4gICAgd2lkdGg6ICRmb3JtLXJhZGlvLXNpemU7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLXJhZGlvLW1hcmdpbi10b3A7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA0ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYWRpbygpO31cbn1cblxuLnVrLXJhZGlvIHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi8qIEZvY3VzICovXG4udWstcmFkaW86Zm9jdXMsXG4udWstY2hlY2tib3g6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBDaGVja2VkXG4gKi9cblxuLnVrLXJhZGlvOmNoZWNrZWQsXG4udWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tY2hlY2tlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uc1xuICovXG5cbi51ay1yYWRpbzpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuXG4udWstcmFkaW86ZGlzYWJsZWQsXG4udWstY2hlY2tib3g6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCk7fVxufVxuXG4udWstcmFkaW86ZGlzYWJsZWQ6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpkaXNhYmxlZDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBMZWdlbmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGVnZW5kXG4gKiAxLiBCZWhhdmUgbGlrZSBibG9jayBlbGVtZW50XG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1sZWdlbmQge1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxlZ2VuZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tbGVnZW5kKCk7fVxufVxuXG5cbi8qIEN1c3RvbSBjb250cm9sc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gQmVoYXZlIGxpa2UgbW9zdCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAqL1xuXG4udWstZm9ybS1jdXN0b20ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKlxuICogMS4gUG9zaXRpb24gYW5kIHJlc2l6ZSB0aGUgZm9ybSBjb250cm9sIHRvIGFsd2F5cyBjb3ZlciBpdHMgY29udGFpbmVyXG4gKiAyLiBSZXF1aXJlZCBmb3IgRmlyZWZveCBmb3IgcG9zaXRpb25pbmcgdG8gdGhlIGxlZnRcbiAqIDMuIFJlcXVpcmVkIGZvciBXZWJraXQgdG8gbWFrZSBgaGVpZ2h0YCB3b3JrXG4gKiA0LiBIaWRlIGNvbnRyb2xzIGFuZCBzaG93IGN1cnNvclxuICogNS4gTmVlZGVkIGZvciB0aGUgY3Vyc29yXG4gKiA2LiBDbGlwIGhlaWdodCBjYXVzZWQgYnkgNS4gTmVlZGVkIGZvciBXZWJraXQgb25seVxuICovXG5cbi51ay1mb3JtLWN1c3RvbSBzZWxlY3QsXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBsZWZ0OiAwO1xuICAgIC8qIDMgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNCAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDUgKi9cbiAgICBmb250LXNpemU6IDUwMHB4O1xuICAgIC8qIDYgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWZvcm0tbGFiZWwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1sYWJlbCgpO31cbn1cblxuXG4vKiBMYXlvdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU3RhY2tlZFxuICovXG5cbi51ay1mb3JtLXN0YWNrZWQgLnVrLWZvcm0tbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCk7fVxufVxuXG4vKlxuICogSG9yaXpvbnRhbFxuICovXG5cbi8qIFRhYmxldCBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLyogQmVoYXZlIGxpa2UgYHVrLWZvcm0tc3RhY2tlZGAgKi9cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3RhY2tlZC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpO31cbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtd2lkdGg7XG4gICAgICAgIG1hcmdpbi10b3A6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKTt9XG4gICAgfVxuXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scyB7IG1hcmdpbi1sZWZ0OiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLW1hcmdpbi1sZWZ0OyB9XG5cbiAgICAvKiBCZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50IGlmIGNvbnRyb2xzIGFyZSBjaGVja2JveGVzIGFuZCByYWRpbyBidXR0b25zIHdpdGggdGV4dCAqL1xuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMtdGV4dCB7IHBhZGRpbmctdG9wOiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A7IH1cblxufVxuXG5cbi8qIEljb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2V0IHdpZHRoXG4gKiAzLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWZvcm0taWNvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAkZm9ybS1pY29uLXdpZHRoO1xuICAgIC8qIDMgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDQgKi9cbiAgICBjb2xvcjogJGZvcm0taWNvbi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1pY29uKSkge0BpbmNsdWRlIGhvb2stZm9ybS1pY29uKCk7fVxufVxuXG4vKlxuICogUmVxdWlyZWQgZm9yIGBhYC5cbiAqL1xuXG4udWstZm9ybS1pY29uOmhvdmVyIHsgY29sb3I6ICRmb3JtLWljb24taG92ZXItY29sb3I7IH1cblxuLypcbiAqIE1ha2UgYGlucHV0YCBlbGVtZW50IGNsaWNrYWJsZSB0aHJvdWdoIGljb24sIGUuZy4gaWYgaXQncyBhIGBzcGFuYFxuICovXG5cbi51ay1mb3JtLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogSW5wdXQgcGFkZGluZ1xuICovXG5cbi51ay1mb3JtLWljb246bm90KC51ay1mb3JtLWljb24tZmxpcCkgfiAudWstaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICRmb3JtLWljb24td2lkdGggIWltcG9ydGFudDsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuXG4udWstZm9ybS1pY29uLWZsaXAge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cbi51ay1mb3JtLWljb24tZmxpcCB+IC51ay1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICRmb3JtLWljb24td2lkdGggIWltcG9ydGFudDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tbWlzYykpIHtAaW5jbHVkZSBob29rLWZvcm0tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZm9ybSgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc2luZ2xlLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLW11bHRpLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ibGFuaygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tYmxhbmstZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpby1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWxlZ2VuZCgpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXN0YWNrZWQtbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cblxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1pY29uKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBCdXR0b25cbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBidXR0b25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYnV0dG9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWJ1dHRvbi1ncm91cGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1idXR0b24tZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1kYW5nZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tdGV4dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWxhcmdlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJ1dHRvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNC4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDUuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgZm9yIGBpbnB1dCB0eXBlPVwic3VibWl0XCJgaW4gaU9TLlxuICogNy4gU3R5bGVcbiAqIDguIGBsaW5lLWhlaWdodGAgaXMgdXNlZCB0byBjcmVhdGUgYSBoZWlnaHQgYmVjYXVzZSBpdCBhbHNvIGNlbnRlcnMgdGhlIHRleHQgdmVydGljYWxseSBmb3IgYGFgIGVsZW1lbnRzLlxuICogICAgQmV0dGVyIHdvdWxkIGJlIHRvIHVzZSBoZWlnaHQgYW5kIGZsZXhib3ggdG8gY2VudGVyIHRoZSB0ZXh0IHZlcnRpY2FsbHkgYnV0IGZsZXhib3ggZG9lc24ndCB3b3JrIGluIEZpcmVmb3ggb24gYGJ1dHRvbmAgZWxlbWVudHMuXG4gKiA5LiBBbGlnbiB0ZXh0IGlmIGJ1dHRvbiBoYXMgYSB3aWR0aFxuICogMTAuIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLWJ1dHRvbiB7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAyICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiA1ICovXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgLyogNiAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDcgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAvKiA4ICovXG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGluZS1oZWlnaHQ7XG4gICAgLyogOSAqL1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAvKiAxMCAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uKCk7fVxufVxuXG4udWstYnV0dG9uOm5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbi51ay1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWJ1dHRvbjpob3ZlciB7XG4gICAgLyogOSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uOmFjdGl2ZSxcbi51ay1idXR0b24udWstYWN0aXZlIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1hY3RpdmUoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstYnV0dG9uLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQoKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsXG4udWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstYnV0dG9uLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnkoKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uLXByaW1hcnk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tcHJpbWFyeTphY3RpdmUsXG4udWstYnV0dG9uLXByaW1hcnkudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay1idXR0b24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zZWNvbmRhcnkoKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4udWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstYnV0dG9uLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRhbmdlci1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1kYW5nZXI6YWN0aXZlLFxuLnVrLWJ1dHRvbi1kYW5nZXIudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXItYWN0aXZlKCk7fVxufVxuXG4vKlxuICogRGlzYWJsZWRcbiAqIFRoZSBzYW1lIGZvciBhbGwgc3R5bGUgbW9kaWZpZXJzXG4gKi9cblxuLnVrLWJ1dHRvbi1kZWZhdWx0OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1wcmltYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6ZGlzYWJsZWQsXG4udWstYnV0dG9uLWRhbmdlcjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGlzYWJsZWQoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYnV0dG9uLXNtYWxsIHtcbiAgICBwYWRkaW5nOiAwICRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGJ1dHRvbi1zbWFsbC1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zbWFsbCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1zbWFsbCgpO31cbn1cblxuLnVrLWJ1dHRvbi1sYXJnZSB7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRidXR0b24tbGFyZ2UtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbGFyZ2UoKTt9XG59XG5cblxuLyogVGV4dCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVGV4dFxuICogMS4gUmVzZXRcbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWJ1dHRvbi10ZXh0IHtcbiAgICAvKiAxICovXG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi10ZXh0LWxpbmUtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQoKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstYnV0dG9uLXRleHQ6aG92ZXIge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG59XG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnV0dG9uLWxpbmsge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRidXR0b24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbGluaygpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay1idXR0b24tbGluazpob3ZlciB7XG4gICAgY29sb3I6ICRidXR0b24tbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRidXR0b24tbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLWxpbms6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi8qIEdyb3VwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFVzaW5nIGBmbGV4YCBpbnN0ZWFkIG9mIGBpbmxpbmUtYmxvY2tgIHRvIHByZXZlbnQgd2hpdGVzcGFjZSBiZXR3ZWVuIGNoaWxkIGVsZW1lbnRzXG4gKiAyLiBCZWhhdmUgbGlrZSBidXR0b25cbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKi9cblxuLnVrLWJ1dHRvbi1ncm91cCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1saW5rKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQcm9ncmVzc1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHByb2dyZXNzIGJhcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wcm9ncmVzc2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJvZ3Jlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnQuXG4gKiAzLiBSZW1vdmUgYm9yZGVycyBpbiBGaXJlZm94LlxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIEVkZ2UuXG4gKiA1LiBTdHlsZVxuICovXG5cbi51ay1wcm9ncmVzcyB7XG4gICAgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlcjogMDtcbiAgICAvKiA0ICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gICAgLyogNSAqL1xuICAgIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw7XG4gICAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcykpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcHJvZ3Jlc3MgeyBtYXJnaW4tdG9wOiAkcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBTaG93IGJhY2tncm91bmQgY29sb3Igc2V0IG9uIGB1ay1wcm9ncmVzc2AgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIEVkZ2UuXG4gKi9cblxuIC51ay1wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy1iYXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKlxuICogUHJvZ3Jlc3MgQmFyXG4gKiAxLiBUcmFuc2l0aW9ucyBkb24ndCB3b3JrIG9uIGA6Oi1tb3otcHJvZ3Jlc3MtYmFyYCBwc2V1ZG8gZWxlbWVudCBpbiBGaXJlZm94IHlldC5cbiAqICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjM1MVxuICovXG5cbi51ay1wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG4udWstcHJvZ3Jlc3M6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG4gICAgLyogMSAqL1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wcm9ncmVzcygpe31cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLWJhcigpe31cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNlY3Rpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBob3Jpem9udGFsIGxheW91dCBzZWN0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2VjdGlvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1zZWN0aW9uLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi14bGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLW92ZXJsYXBgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmUtY29sb3JgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2VjdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBNYWtlIGl0IHdvcmsgd2l0aCBgMTAwdmhgIGFuZCBoZWlnaHQgaW4gZ2VuZXJhbFxuICovXG5cbi51ay1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbigpO31cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFhTbWFsbFxuICovXG5cbi51ay1zZWN0aW9uLXhzbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXNlY3Rpb24tc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstc2VjdGlvbi1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogWExhcmdlXG4gKi9cblxuLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1zZWN0aW9uLXhsYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1zZWN0aW9uLWRlZmF1bHQge1xuICAgIC0tdWstaW52ZXJzZTogI3skc2VjdGlvbi1kZWZhdWx0LWNvbG9yLW1vZGV9O1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1kZWZhdWx0KCk7fVxufVxuXG5AaWYgKCAkc2VjdGlvbi1kZWZhdWx0LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1zZWN0aW9uLWRlZmF1bHQ6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkc2VjdGlvbi1kZWZhdWx0LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXNlY3Rpb24tZGVmYXVsdDpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKlxuICogTXV0ZWRcbiAqL1xuXG4udWstc2VjdGlvbi1tdXRlZCB7XG4gICAgLS11ay1pbnZlcnNlOiAjeyRzZWN0aW9uLW11dGVkLWNvbG9yLW1vZGV9O1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLW11dGVkKCk7fVxufVxuXG5AaWYgKCAkc2VjdGlvbi1tdXRlZC1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstc2VjdGlvbi1tdXRlZDpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRzZWN0aW9uLW11dGVkLWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXNlY3Rpb24tbXV0ZWQ6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay1zZWN0aW9uLXByaW1hcnkge1xuICAgIC0tdWstaW52ZXJzZTogI3skc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGV9O1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1wcmltYXJ5KCk7fVxufVxuXG5AaWYgKCAkc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXNlY3Rpb24tcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5IHtcbiAgICAtLXVrLWludmVyc2U6ICN7JHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGV9O1xuICAgIGJhY2tncm91bmQ6ICRzZWN0aW9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLXNlY29uZGFyeSkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tc2Vjb25kYXJ5KCk7fVxufVxuXG5AaWYgKCAkc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXNlY3Rpb24tc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLyogT3ZlcmxhcCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNlcnZlZCBtb2RpZmllciB0byBtYWtlIGEgc2VjdGlvbiBvdmVybGFwIGFub3RoZXIgc2VjdGlvbiB3aXRoIGFuIGJvcmRlciBpbWFnZVxuICogSW1wbGVtZW50ZWQgYnkgdGhlIHRoZW1lXG4gKi9cblxuLnVrLXNlY3Rpb24tb3ZlcmxhcCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tb3ZlcmxhcCkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tb3ZlcmxhcCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLW92ZXJsYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvbnRhaW5lclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gYWxpZ24gYW5kIGNlbnRlciB5b3VyIHNpdGUgYW5kIGdyaWQgY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbnRhaW5lcmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1jb250YWluZXItc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWV4cGFuZC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWV4cGFuZC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEJveCBzaXppbmcgaGFzIHRvIGJlIGBjb250ZW50LWJveGAgc28gdGhlIG1heC13aWR0aCBpcyBhbHdheXMgdGhlIHNhbWUgYW5kXG4gKiAgICB1bmFmZmVjdGVkIGJ5IHRoZSBwYWRkaW5nIG9uIGRpZmZlcmVudCBicmVha3BvaW50cy4gSXQncyBpbXBvcnRhbnQgZm9yIHRoZSBzaXplIG1vZGlmaWVycy5cbiAqL1xuXG4udWstY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jb250YWluZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuLypcbiAqIFJlbW92ZSBwYWRkaW5nIGZyb20gbmVzdGVkIGNvbnRhaW5lcnNcbiAqL1xuXG4udWstY29udGFpbmVyIC51ay1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29udGFpbmVyLXhzbWFsbCB7IG1heC13aWR0aDogJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXItc21hbGwgeyBtYXgtd2lkdGg6ICRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXItbGFyZ2UgeyBtYXgtd2lkdGg6ICRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOyB9XG5cbi51ay1jb250YWluZXIteGxhcmdlIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXhsYXJnZS1tYXgtd2lkdGg7IH1cblxuLnVrLWNvbnRhaW5lci1leHBhbmQgeyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuXG4vKiBFeHBhbmQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRXhwYW5kIG9uZSBzaWRlIG9ubHlcbiAqL1xuXG4udWstY29udGFpbmVyLWV4cGFuZC1sZWZ0IHsgbWFyZ2luLWxlZnQ6IDA7IH1cbi51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhzbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXIteHNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtc30pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1zbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtc30pJyk7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci14c21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhzbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXhzbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1zbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXItc21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci1zbWFsbC1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci1sYXJnZSxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXItbGFyZ2UgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci1sYXJnZS1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1sZWZ0LnVrLWNvbnRhaW5lci14bGFyZ2UsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXhsYXJnZSB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXhsYXJnZS1tYXgtd2lkdGh9IC8gMikgLSAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFV0aWxpdHkgY2xhc3NlcyB0byByZXNldCBjb250YWluZXIgcGFkZGluZyBvbiB0aGUgbGVmdCBvciByaWdodCBzaWRlXG4gKiBOb3RlOiBJdCBoYXMgdG8gYmUgbmVnYXRpdmUgbWFyZ2luIG9uIHRoZSBpdGVtLCBiZWNhdXNlIGl0J3Mgc3BlY2lmaWMgdG8gdGhlIGl0ZW0uXG4gKi9cblxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICsgI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbH0pJyk7IH1cblxuLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogKC0kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbCk7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLWxlZnQsXG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtc30pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcyk7IH1cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcyk7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKyAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpOyB9XG5cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCB7IG1hcmdpbi1sZWZ0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW0pOyB9XG4gICAgLnVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAoLSRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW0pOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb250YWluZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbnRhaW5lci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb250YWluZXItbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGlsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRpbGVkIGJveGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGlsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10aWxlLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS14bGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1zZWNvbmRhcnlgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmUtY29sb3JgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGlsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10aWxlIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlKSkge0BpbmNsdWRlIGhvb2stdGlsZSgpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLXRpbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXRpbGUgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBYU21hbGxcbiAqL1xuXG4udWstdGlsZS14c21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay10aWxlLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXRpbGUtbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKlxuICogWExhcmdlXG4gKi9cblxuLnVrLXRpbGUteGxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10aWxlLXhsYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay10aWxlLWRlZmF1bHQge1xuICAgIC0tdWstaW52ZXJzZTogI3skdGlsZS1kZWZhdWx0LWNvbG9yLW1vZGV9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0aWxlLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stdGlsZS1kZWZhdWx0KCk7fVxufVxuXG4udWstdGlsZS1kZWZhdWx0LnVrLXRpbGUtaG92ZXI6aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay10aWxlLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICR0aWxlLWRlZmF1bHQtY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXRpbGUtZGVmYXVsdDpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICR0aWxlLWRlZmF1bHQtY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstdGlsZS1kZWZhdWx0Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBNdXRlZFxuICovXG5cbi51ay10aWxlLW11dGVkIHtcbiAgICAtLXVrLWludmVyc2U6ICN7JHRpbGUtbXV0ZWQtY29sb3ItbW9kZX07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRpbGUtbXV0ZWQtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1tdXRlZCkpIHtAaW5jbHVkZSBob29rLXRpbGUtbXV0ZWQoKTt9XG59XG5cbi51ay10aWxlLW11dGVkLnVrLXRpbGUtaG92ZXI6aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLW11dGVkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGlsZS1tdXRlZC1ob3ZlcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJHRpbGUtbXV0ZWQtY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXRpbGUtbXV0ZWQ6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkdGlsZS1tdXRlZC1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay10aWxlLW11dGVkOm5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLXRpbGUtcHJpbWFyeSB7XG4gICAgLS11ay1pbnZlcnNlOiAjeyR0aWxlLXByaW1hcnktY29sb3ItbW9kZX07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay10aWxlLXByaW1hcnkoKTt9XG59XG5cbi51ay10aWxlLXByaW1hcnkudWstdGlsZS1ob3Zlcjpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRpbGUtcHJpbWFyeS1ob3ZlcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstdGlsZS1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFNlY29uZGFyeVxuICovXG5cbi51ay10aWxlLXNlY29uZGFyeSB7XG4gICAgLS11ay1pbnZlcnNlOiAjeyR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGlsZS1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay10aWxlLXNlY29uZGFyeSgpO31cbn1cblxuLnVrLXRpbGUtc2Vjb25kYXJ5LnVrLXRpbGUtaG92ZXI6aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aWxlLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRpbGUtc2Vjb25kYXJ5LWhvdmVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkdGlsZS1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXRpbGUtc2Vjb25kYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stdGlsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10aWxlKCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1kZWZhdWx0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtbXV0ZWQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLXByaW1hcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtc2Vjb25kYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGlsZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDYXJkXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYm94ZWQgY29udGVudCBjb250YWluZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2FyZGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jYXJkLWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtZm9vdGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1tZWRpYS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtYmFkZ2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstY2FyZC1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtc2Vjb25kYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtbGFyZ2VgXG4vL1xuLy8gVXNlczogICAgICAgICAgICBgdWstZ3JpZC1zdGFja2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ2FyZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZCkpIHtAaW5jbHVkZSBob29rLWNhcmQoKTt9XG59XG5cblxuLyogU2VjdGlvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWJvZHkoKTt9XG59XG5cbi51ay1jYXJkLWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBhZGRpbmc6ICRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1oZWFkZXIoKTt9XG59XG5cbi51ay1jYXJkLWZvb3RlciB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBhZGRpbmc6ICRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1mb290ZXIoKTt9XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2FyZC1ib2R5IHsgcGFkZGluZzogJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtaGVhZGVyIHsgcGFkZGluZzogJGNhcmQtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWZvb3RlciB7IHBhZGRpbmc6ICRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jYXJkLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLWNhcmQtZm9vdGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogTWVkaWFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXJ2ZWQgYWxpZ25tZW50IG1vZGlmaWVyIHRvIHN0eWxlIHRoZSBtZWRpYSBlbGVtZW50LCBlLmcuIHdpdGggYGJvcmRlci1yYWRpdXNgXG4gKiBJbXBsZW1lbnRlZCBieSB0aGUgdGhlbWVcbiAqL1xuXG5bY2xhc3MqPVwidWstY2FyZC1tZWRpYVwiXSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWVkaWEpKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhKCk7fVxufVxuXG4udWstY2FyZC1tZWRpYS10b3AsXG4udWstZ3JpZC1zdGFjayA+IC51ay1jYXJkLW1lZGlhLWxlZnQsXG4udWstZ3JpZC1zdGFjayA+IC51ay1jYXJkLW1lZGlhLXJpZ2h0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS10b3ApKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLXRvcCgpO31cbn1cblxuLnVrLWNhcmQtbWVkaWEtYm90dG9tIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLWJvdHRvbSgpO31cbn1cblxuOm5vdCgudWstZ3JpZC1zdGFjaykgPiAudWstY2FyZC1tZWRpYS1sZWZ0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1sZWZ0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCk7fVxufVxuXG46bm90KC51ay1ncmlkLXN0YWNrKSA+IC51ay1jYXJkLW1lZGlhLXJpZ2h0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1yaWdodCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtcmlnaHQoKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkY2FyZC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC10aXRsZSgpO31cbn1cblxuXG4vKiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQb3NpdGlvblxuICogMi4gU2l6ZVxuICogMy4gU3R5bGVcbiAqIDQuIENlbnRlciBjaGlsZCB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLWNhcmQtYmFkZ2Uge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkY2FyZC1iYWRnZS10b3A7XG4gICAgcmlnaHQ6ICRjYXJkLWJhZGdlLXJpZ2h0O1xuICAgIHotaW5kZXg6IDE7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogJGNhcmQtYmFkZ2UtaGVpZ2h0O1xuICAgIHBhZGRpbmc6IDAgJGNhcmQtYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1iYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1iYWRnZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRjYXJkLWJhZGdlLWZvbnQtc2l6ZTtcbiAgICAvKiA0ICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWJhZGdlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1iYWRnZSgpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSBhZGphY2VudCBlbGVtZW50XG4gKi9cblxuLnVrLWNhcmQtYmFkZ2U6Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG5cbi8qIEhvdmVyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQtaG92ZXI6bm90KC51ay1jYXJkLWRlZmF1bHQpOm5vdCgudWstY2FyZC1wcmltYXJ5KTpub3QoLnVrLWNhcmQtc2Vjb25kYXJ5KTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtaG92ZXIoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqIE5vdGU6IEhlYWRlciBhbmQgRm9vdGVyIGFyZSBvbmx5IGltcGxlbWVudGVkIGZvciB0aGUgZGVmYXVsdCBzdHlsZVxuICovXG5cbi51ay1jYXJkLWRlZmF1bHQge1xuICAgIC0tdWstaW52ZXJzZTogI3skY2FyZC1kZWZhdWx0LWNvbG9yLW1vZGV9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNhcmQtZGVmYXVsdC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0KCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtZGVmYXVsdC10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLWhlYWRlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCk7fVxufVxuXG4udWstY2FyZC1kZWZhdWx0IC51ay1jYXJkLWZvb3RlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtZGVmYXVsdC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtZm9vdGVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkY2FyZC1kZWZhdWx0LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLWRlZmF1bHQudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtZGVmYXVsdC1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1kZWZhdWx0ID4gOm5vdChbY2xhc3MqPVwidWstY2FyZC1tZWRpYVwiXSkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1kZWZhdWx0LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtZGVmYXVsdC51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLWRlZmF1bHQtY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1kZWZhdWx0ID4gOm5vdChbY2xhc3MqPVwidWstY2FyZC1tZWRpYVwiXSkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstY2FyZC1wcmltYXJ5IHtcbiAgICAtLXVrLWludmVyc2U6ICN7JGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeSgpO31cbn1cblxuLnVrLWNhcmQtcHJpbWFyeSAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWhvdmVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtcHJpbWFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtcHJpbWFyeS1ob3ZlcigpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1wcmltYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj1cInVrLWNhcmQtbWVkaWFcIl0pIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtcHJpbWFyeSA+IDpub3QoW2NsYXNzKj1cInVrLWNhcmQtbWVkaWFcIl0pIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstY2FyZC1zZWNvbmRhcnkge1xuICAgIC0tdWstaW52ZXJzZTogI3skY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZX07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjYXJkLXNlY29uZGFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeSgpO31cbn1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5IC51ay1jYXJkLXRpdGxlIHtcbiAgICBjb2xvcjogJGNhcmQtc2Vjb25kYXJ5LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCk7fVxufVxuXG4udWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXNlY29uZGFyeSA+IDpub3QoW2NsYXNzKj1cInVrLWNhcmQtbWVkaWFcIl0pIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuQGlmICggJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5ID4gOm5vdChbY2xhc3MqPVwidWstY2FyZC1tZWRpYVwiXSkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLWNhcmQtc21hbGwudWstY2FyZC1ib2R5LFxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOyB9XG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2FyZC1sYXJnZS51ay1jYXJkLWJvZHksXG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtZm9vdGVyIHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWlzYykpIHtAaW5jbHVkZSBob29rLWNhcmQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY2FyZCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS10b3AoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1iYWRnZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jYXJkLWJhZGdlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDbG9zZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgY2xvc2UgYnV0dG9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY2xvc2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDbG9zZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLWNsb3NlIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWNsb3NlKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWNsb3NlOmhvdmVyIHtcbiAgICBjb2xvcjogJGNsb3NlLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNsb3NlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jbG9zZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWNsb3NlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2xvc2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY2xvc2UtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNwaW5uZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGxvYWRpbmcgc3Bpbm5lclxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNwaW5uZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNwaW5uZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29yKCgoJHNwaW5uZXItc2l6ZSAtICRzcGlubmVyLXN0cm9rZS13aWR0aCkgKiAwLjUpKSAhZGVmYXVsdDsgLy8gTWludXMgc3Ryb2tlIHdpZHRoIHRvIHByZXZlbnQgb3ZlcmZsb3cgY2xpcHBpbmdcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3Bpbm5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXNwaW5uZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zcGlubmVyKSkge0BpbmNsdWRlIGhvb2stc3Bpbm5lcigpO31cbn1cblxuXG4vKiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc3Bpbm5lciA+ICogeyBhbmltYXRpb246IHVrLXNwaW5uZXItcm90YXRlICRzcGlubmVyLWR1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHVrLXNwaW5uZXItcm90YXRlIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbn1cblxuLypcbiAqIENpcmNsZVxuICovXG5cbi51ay1zcGlubmVyID4gKiA+ICoge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIGFuaW1hdGlvbjogdWstc3Bpbm5lci1kYXNoICRzcGlubmVyLWR1cmF0aW9uIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIHN0cm9rZS13aWR0aDogJHNwaW5uZXItc3Ryb2tlLXdpZHRoO1xuICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbn1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLWRhc2gge1xuICAgIDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7IH1cbiAgICA1MCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogKCRzcGlubmVyLWNpcmN1bWZlcmVuY2UgKiAwLjI1KTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0OiAkc3Bpbm5lci1jaXJjdW1mZXJlbmNlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NTBkZWcpO1xuICAgIH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zcGlubmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zcGlubmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNwaW5uZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRvdG9wXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYW4gaWNvbiB0byBzY3JvbGwgYmFjayB0byB0b3Bcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10b3RvcGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUb3RvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXRvdG9wIHtcbiAgICBwYWRkaW5nOiAkdG90b3AtcGFkZGluZztcbiAgICBjb2xvcjogJHRvdG9wLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcCkpIHtAaW5jbHVkZSBob29rLXRvdG9wKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLXRvdG9wOmhvdmVyIHtcbiAgICBjb2xvcjogJHRvdG9wLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRvdG9wLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstdG90b3A6YWN0aXZlIHtcbiAgICBjb2xvcjogJHRvdG9wLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3AtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdG90b3AtYWN0aXZlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10b3RvcC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10b3RvcCgpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdG90b3AtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stdG90b3AtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTWFya2VyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBtYXJrZXIgaWNvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1hcmtlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFya2VyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLW1hcmtlciB7XG4gICAgcGFkZGluZzogJG1hcmtlci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRtYXJrZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG1hcmtlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbWFya2VyKSkge0BpbmNsdWRlIGhvb2stbWFya2VyKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLW1hcmtlcjpob3ZlciB7XG4gICAgY29sb3I6ICRtYXJrZXItaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1hcmtlci1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJrZXItbWlzYykpIHtAaW5jbHVkZSBob29rLW1hcmtlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tYXJrZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tYXJrZXItaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tYXJrZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlci1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQWxlcnRcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbGVydCBtZXNzYWdlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFsZXJ0YFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLWFsZXJ0LWNsb3NlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWFsZXJ0LXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGVydC1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxlcnQtd2FybmluZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsZXJ0LWRhbmdlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGVydFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbGVydCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206ICRhbGVydC1tYXJnaW4tdmVydGljYWw7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcgJGFsZXJ0LXBhZGRpbmctcmlnaHQgJGFsZXJ0LXBhZGRpbmcgJGFsZXJ0LXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQpKSB7QGluY2x1ZGUgaG9vay1hbGVydCgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLWFsZXJ0IHsgbWFyZ2luLXRvcDogJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWFsZXJ0ID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFsZXJ0LWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkYWxlcnQtY2xvc2UtdG9wO1xuICAgIHJpZ2h0OiAkYWxlcnQtY2xvc2UtcmlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LWNsb3NlKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtY2xvc2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbi51ay1hbGVydC1jbG9zZTpmaXJzdC1jaGlsZCArICogeyBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay1hbGVydC1jbG9zZTpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstYWxlcnQtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1hbGVydC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWFsZXJ0LXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cblxuLnVrLWFsZXJ0LXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC13YXJuaW5nLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC13YXJuaW5nLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC13YXJuaW5nKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtd2FybmluZygpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1hbGVydC1kYW5nZXIge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtZGFuZ2VyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydCgpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LXdhcm5pbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQbGFjZWhvbGRlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHBsYWNlaG9sZGVyIGJveGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGxhY2Vob2xkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQbGFjZWhvbGRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wbGFjZWhvbGRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nOiAkcGxhY2Vob2xkZXItcGFkZGluZy12ZXJ0aWNhbCAkcGxhY2Vob2xkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlcikpIHtAaW5jbHVkZSBob29rLXBsYWNlaG9sZGVyKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyAudWstcGxhY2Vob2xkZXIgeyBtYXJnaW4tdG9wOiAkcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstcGxhY2Vob2xkZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wbGFjZWhvbGRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stcGxhY2Vob2xkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGxhY2Vob2xkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wbGFjZWhvbGRlci1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBCYWRnZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG5vdGlmaWNhdGlvbiBiYWRnZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1iYWRnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhZGdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKiAyLiBDZW50ZXIgY2hpbGQgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWJhZGdlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi13aWR0aDogJGJhZGdlLXNpemU7XG4gICAgaGVpZ2h0OiAkYmFkZ2Utc2l6ZTtcbiAgICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZy12ZXJ0aWNhbCAkYmFkZ2UtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJvcmRlci1yYWRpdXM6ICRiYWRnZS1ib3JkZXItcmFkaXVzO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3IgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UoKTt9XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cblxuLnVrLWJhZGdlOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWJhZGdlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2stYmFkZ2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYWRnZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYWRnZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTGFiZWxcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGluZGljYXRlIGltcG9ydGFudCBub3Rlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxhYmVsYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWxhYmVsLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sYWJlbC13YXJuaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGFiZWwtZGFuZ2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsICRsYWJlbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsYWJlbC1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stbGFiZWwoKTt9XG59XG5cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFN1Y2Nlc3NcbiAqL1xuXG4udWstbGFiZWwtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLXN1Y2Nlc3MtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLXN1Y2Nlc3MtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLXN1Y2Nlc3MpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogV2FybmluZ1xuICovXG5cbi51ay1sYWJlbC13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtd2FybmluZy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtd2FybmluZy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtd2FybmluZykpIHtAaW5jbHVkZSBob29rLWxhYmVsLXdhcm5pbmcoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstbGFiZWwtZGFuZ2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtZGFuZ2VyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLWRhbmdlcikpIHtAaW5jbHVkZSBob29rLWxhYmVsLWRhbmdlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC1taXNjKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGFiZWwoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC1zdWNjZXNzKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtd2FybmluZygpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGFiZWwoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE92ZXJsYXlcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBjb250ZW50IGFyZWFzIG92ZXJsYXlpbmcgYW4gaW1hZ2Vcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1vdmVybGF5YFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW92ZXJsYXktaWNvbmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1vdmVybGF5LWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vdmVybGF5LXByaW1hcnlgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVybGF5IHtcbiAgICBwYWRkaW5nOiAkb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsICRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheSkpIHtAaW5jbHVkZSBob29rLW92ZXJsYXkoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstb3ZlcmxheSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmxheS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1pY29uKSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1pY29uKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLW92ZXJsYXktZGVmYXVsdCB7XG4gICAgLS11ay1pbnZlcnNlOiAjeyRvdmVybGF5LWRlZmF1bHQtY29sb3ItbW9kZX07XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LWRlZmF1bHQoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRvdmVybGF5LWRlZmF1bHQtY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW92ZXJsYXktZGVmYXVsdCB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRvdmVybGF5LWRlZmF1bHQtY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstb3ZlcmxheS1kZWZhdWx0IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLW92ZXJsYXktcHJpbWFyeSB7XG4gICAgLS11ay1pbnZlcnNlOiAjeyRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZX07XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXktcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LXByaW1hcnkoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW92ZXJsYXktcHJpbWFyeSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstb3ZlcmxheS1wcmltYXJ5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1taXNjKSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1vdmVybGF5KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBcnRpY2xlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYXJ0aWNsZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hcnRpY2xlYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFydGljbGUtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hcnRpY2xlLW1ldGFgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQXJ0aWNsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hcnRpY2xlIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWFydGljbGUgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBBZGphY2VudCBzaWJsaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUgKyAudWstYXJ0aWNsZSB7XG4gICAgbWFyZ2luLXRvcDogJGFydGljbGUtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWFydGljbGUtYWRqYWNlbnQoKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkYXJ0aWNsZS10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRhcnRpY2xlLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS10aXRsZSgpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstYXJ0aWNsZS10aXRsZSB7IGZvbnQtc2l6ZTogJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIE1ldGFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZS1tZXRhIHtcbiAgICBmb250LXNpemU6ICRhcnRpY2xlLW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYXJ0aWNsZS1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkYXJ0aWNsZS1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLW1ldGEpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLW1ldGEoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlKCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb21tZW50XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgbmVzdGVkIGNvbW1lbnRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29tbWVudGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb21tZW50LWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LW1ldGFgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWF2YXRhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbW1lbnQtbGlzdGBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1jb21tZW50LXByaW1hcnlgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb21tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50KSkge0BpbmNsdWRlIGhvb2stY29tbWVudCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LWJvZHkge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1ib2R5KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1ib2R5KCk7fVxufVxuXG4udWstY29tbWVudC1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsb3ctcm9vdDtcbiAgICBtYXJnaW4tYm90dG9tOiAkY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWhlYWRlcigpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1jb21tZW50LWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1jb21tZW50LWhlYWRlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY29tbWVudC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC10aXRsZSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtdGl0bGUoKTt9XG59XG5cblxuLyogTWV0YVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LW1ldGEge1xuICAgIGZvbnQtc2l6ZTogJGNvbW1lbnQtbWV0YS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjb21tZW50LW1ldGEtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRjb21tZW50LW1ldGEtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbWV0YSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbWV0YSgpO31cbn1cblxuXG4vKiBBdmF0YXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1hdmF0YXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWF2YXRhcikpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtYXZhdGFyKCk7fVxufVxuXG5cbi8qIExpc3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1saXN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qIEFkamFjZW50IHNpYmxpbmdzICovXG4udWstY29tbWVudC1saXN0ID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKiBOb3RlOiBHZW5lcmFsIHNpYmxpbmcgc2VsZWN0b3IgYWxsb3dzIHJlcGx5IGJsb2NrIGJldHdlZW4gY29tbWVudCBhbmQgc3VibGlzdFxuICovXG5cbi51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCB7XG4gICAgbWFyZ2luOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3AgMCAwIDA7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29tbWVudC1saXN0LXBhZGRpbmctbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWxpc3Qtc3ViKSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1saXN0LXN1YigpO31cbn1cblxuLyogVGFibGV0IGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb21tZW50LWxpc3QgLnVrLWNvbW1lbnQgfiB1bCB7IHBhZGRpbmctbGVmdDogJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTsgfVxuXG59XG5cbi8qIEFkamFjZW50IHNpYmxpbmdzICovXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwgPiA6bnRoLWNoaWxkKG4rMikge1xuICAgIG1hcmdpbi10b3A6ICRjb21tZW50LWxpc3QtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stY29tbWVudC1wcmltYXJ5KCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY29tbWVudCgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtYXZhdGFyKCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNlYXJjaFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRoZSBzZWFyY2hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zZWFyY2hgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2VhcmNoLWlucHV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLXRvZ2dsZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1zZWFyY2gtaWNvbmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1zZWFyY2gtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC1uYXZiYXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTZWFyY2hcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ29udGFpbmVyIGZpdHMgaXRzIGNvbnRlbnRcbiAqIDIuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKiAzLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3dcbiAqIDQuIFJlc2V0IGBmb3JtYFxuICovXG5cbi51ay1zZWFyY2gge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICBtYXJnaW46IDA7XG59XG5cblxuLyogSW5wdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgb24gT1MgWCBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbi51ay1zZWFyY2gtaW5wdXQ6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7IG9wYWNpdHk6IDE7IH1cblxuLypcbiAqIDEuIERlZmluZSBjb25zaXN0ZW50IGJveCBzaXppbmcuXG4gKiAyLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3gvSUUgYW5kIENocm9tZS9TYWZhcmkvT3BlcmEuXG4gKiAzLiBSZW1vdmUgYGJvcmRlci1yYWRpdXNgIGluIGlPUy5cbiAqIDQuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogNS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqIDYuIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqIDcuIFZlcnRpY2FsIGFsaWdubWVudFxuICogOC4gVGFrZSB0aGUgZnVsbCBjb250YWluZXIgd2lkdGhcbiAqIDkuIFN0eWxlXG4gKi9cblxuLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICAvKiA1ICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogNiAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvKiA3ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA4ICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogOSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogJHNlYXJjaC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWlucHV0KCk7fVxufVxuXG4udWstc2VhcmNoLWlucHV0OmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG4vKiBQbGFjZWhvbGRlciAqL1xuLnVrLXNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJHNlYXJjaC1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG5cbi8qIEljb24gKEFkb3B0cyBgdWstaWNvbmApXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFBvc2l0aW9uIGFib3ZlIGlucHV0XG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkc2VhcmNoLWljb24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1pY29uKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWljb24oKTt9XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyIHsgY29sb3I6ICRzZWFyY2gtaWNvbi1jb2xvcjsgfVxuXG4vKlxuICogTWFrZSBgaW5wdXRgIGVsZW1lbnQgY2xpY2thYmxlIHRocm91Z2ggaWNvbiwgZS5nLiBpZiBpdCdzIGEgYHNwYW5gXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbi1mbGlwIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIERlZmF1bHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgeyB3aWR0aDogJHNlYXJjaC1kZWZhdWx0LXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay1zZWFyY2gtZGVmYXVsdDpoYXMoLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkpIC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aCArICRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWwgKyAkc2VhcmNoLWRlZmF1bHQtaWNvbi1wYWRkaW5nKTsgfVxuLnVrLXNlYXJjaC1kZWZhdWx0OmhhcygudWstc2VhcmNoLWljb24tZmxpcCkgLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aCArICRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWwgKyAkc2VhcmNoLWRlZmF1bHQtaWNvbi1wYWRkaW5nKTsgfVxuXG5cbi8qIE5hdmJhciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIHsgd2lkdGg6ICRzZWFyY2gtbmF2YmFyLXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1uYXZiYXItaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJHNlYXJjaC1uYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzZWFyY2gtbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dCgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWFyY2gtbmF2YmFyLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1uYXZiYXItaW5wdXQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0LWZvY3VzKCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2VhcmNoLW5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJHNlYXJjaC1uYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstc2VhcmNoLW5hdmJhcjpoYXMoLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkpIC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoICsgJHNlYXJjaC1uYXZiYXItcGFkZGluZy1ob3Jpem9udGFsICsgJHNlYXJjaC1uYXZiYXItaWNvbi1wYWRkaW5nKTsgfVxuLnVrLXNlYXJjaC1uYXZiYXI6aGFzKC51ay1zZWFyY2gtaWNvbi1mbGlwKSAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtbmF2YmFyLWljb24td2lkdGggKyAkc2VhcmNoLW5hdmJhci1wYWRkaW5nLWhvcml6b250YWwgKyAkc2VhcmNoLW5hdmJhci1pY29uLXBhZGRpbmcpOyB9XG5cblxuLyogTWVkaXVtIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC1tZWRpdW0geyB3aWR0aDogJHNlYXJjaC1tZWRpdW0td2lkdGg7IH1cblxuLypcbiAqIElucHV0XG4gKi9cblxuLnVrLXNlYXJjaC1tZWRpdW0gLnVrLXNlYXJjaC1pbnB1dCB7XG4gICAgaGVpZ2h0OiAkc2VhcmNoLW1lZGl1bS1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2VhcmNoLW1lZGl1bS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJHNlYXJjaC1tZWRpdW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtbWVkaXVtLWJhY2tncm91bmQ7XG4gICAgZm9udC1zaXplOiAkc2VhcmNoLW1lZGl1bS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1tZWRpdW0taW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbWVkaXVtLWlucHV0KCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXNlYXJjaC1tZWRpdW0gLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1tZWRpdW0tZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLW1lZGl1bS1pbnB1dC1mb2N1cykpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1tZWRpdW0taW5wdXQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1tZWRpdW0gLnVrLXNlYXJjaC1pY29uIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRzZWFyY2gtbWVkaXVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2VhcmNoLW1lZGl1bS1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay1zZWFyY2gtbWVkaXVtOmhhcygudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSkgLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtbWVkaXVtLWljb24td2lkdGggKyAkc2VhcmNoLW1lZGl1bS1wYWRkaW5nLWhvcml6b250YWwgKyAkc2VhcmNoLW1lZGl1bS1pY29uLXBhZGRpbmcpOyB9XG4udWstc2VhcmNoLW1lZGl1bTpoYXMoLnVrLXNlYXJjaC1pY29uLWZsaXApIC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1tZWRpdW0taWNvbi13aWR0aCArICRzZWFyY2gtbWVkaXVtLXBhZGRpbmctaG9yaXpvbnRhbCArICRzZWFyY2gtbWVkaXVtLWljb24tcGFkZGluZyk7IH1cblxuXG4vKiBMYXJnZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtbGFyZ2UgeyB3aWR0aDogJHNlYXJjaC1sYXJnZS13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1sYXJnZS1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2VhcmNoLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkc2VhcmNoLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ7XG4gICAgZm9udC1zaXplOiAkc2VhcmNoLWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VhcmNoLW1lZGl1bS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb24ge1xuICAgIHBhZGRpbmctbGVmdDogJHNlYXJjaC1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgcGFkZGluZy1yaWdodDogJHNlYXJjaC1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay1zZWFyY2gtbGFyZ2U6aGFzKC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApKSAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoICsgJHNlYXJjaC1sYXJnZS1wYWRkaW5nLWhvcml6b250YWwgKyAkc2VhcmNoLWxhcmdlLWljb24tcGFkZGluZyk7IH1cbi51ay1zZWFyY2gtbGFyZ2U6aGFzKC51ay1zZWFyY2gtaWNvbi1mbGlwKSAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtbGFyZ2UtaWNvbi13aWR0aCArICRzZWFyY2gtbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsICsgJHNlYXJjaC1sYXJnZS1pY29uLXBhZGRpbmcpOyB9XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC10b2dnbGUge1xuICAgIGNvbG9yOiAkc2VhcmNoLXRvZ2dsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC10b2dnbGUoKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstc2VhcmNoLXRvZ2dsZTpob3ZlciB7XG4gICAgY29sb3I6ICRzZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3ZlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtbWlzYykpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtaWNvbigpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLW5hdmJhci1pbnB1dC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1tZWRpdW0taW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbWVkaXVtLWlucHV0LWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0LWZvY3VzKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0LWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbWVkaXVtLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbWVkaXVtLWlucHV0LWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQWNjb3JkaW9uXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYWNjb3JkaW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFjY29yZGlvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1hY2NvcmRpb24tdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hY2NvcmRpb24tY29udGVudGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFjY29yZGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uID4gKiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLWl0ZW0oKTt9XG59XG5cbi51ay1hY2NvcmRpb24gPiA6bnRoLWNoaWxkKG4rMikgeyBtYXJnaW4tdG9wOiAkYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDsgfVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJGFjY29yZGlvbi10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLXRpdGxlKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWFjY29yZGlvbi10aXRsZTpob3ZlciB7XG4gICAgY29sb3I6ICRhY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKTt9XG59XG5cblxuLyogQ29udGVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hY2NvcmRpb24tY29udGVudCB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIG1hcmdpbi10b3A6ICRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tY29udGVudCkpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi1jb250ZW50KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuIC51ay1hY2NvcmRpb24tY29udGVudCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbigpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIERyb3Bcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIHBvc2l0aW9uIGFueSBlbGVtZW50IG5leHQgdG8gYW55IG90aGVyIGVsZW1lbnQuXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZHJvcGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1kcm9wLXBhcmVudC1pY29uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWRyb3Atc3RhY2tgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLWdyaWRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyBVc2VzOiAgICAgICAgICAgIEFuaW1hdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKi9cblxuLnVrLWRyb3Age1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGRyb3Atei1pbmRleDtcbiAgICAtLXVrLXBvc2l0aW9uLW9mZnNldDogI3skZHJvcC1tYXJnaW59O1xuICAgIC0tdWstcG9zaXRpb24tdmlld3BvcnQtb2Zmc2V0OiAjeyRkcm9wLXZpZXdwb3J0LW1hcmdpbn07XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRkcm9wLXdpZHRoO1xufVxuXG4vKiBTaG93ICovXG4udWstZHJvcC51ay1vcGVuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wLXN0YWNrIC51ay1kcm9wLWdyaWQgPiAqIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFBhcmVudCBpY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3AtcGFyZW50LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAkZHJvcC1wYXJlbnQtaWNvbi1tYXJnaW4tbGVmdDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbn1cblxuW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gLnVrLWRyb3AtcGFyZW50LWljb24geyB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3AtbWlzYykpIHtAaW5jbHVkZSBob29rLWRyb3AtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZHJvcC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEcm9wYmFyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBkcm9wYmFyIGJhc2VkIG9uIERyb3AgY29tcG9uZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZHJvcGJhcmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kcm9wYmFyLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGJhci10b3BgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wYmFyLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3BiYXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3BiYXItcmlnaHRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERyb3BiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1kcm9wYFxuICogMS4gUmVzZXQgZHJvcFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstZHJvcGJhciB7XG4gICAgLS11ay1wb3NpdGlvbi1vZmZzZXQ6ICN7JGRyb3BiYXItbWFyZ2lufTtcbiAgICAtLXVrLXBvc2l0aW9uLXNoaWZ0LW9mZnNldDogMDtcbiAgICAtLXVrLXBvc2l0aW9uLXZpZXdwb3J0LW9mZnNldDogMDtcbiAgICAtLXVrLWludmVyc2U6ICN7JGRyb3BiYXItY29sb3ItbW9kZX07XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nOiAkZHJvcGJhci1wYWRkaW5nLXRvcCAkZHJvcGJhci1wYWRkaW5nLWhvcml6b250YWwgJGRyb3BiYXItcGFkZGluZy1ib3R0b20gJGRyb3BiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRkcm9wYmFyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wYmFyKSkge0BpbmNsdWRlIGhvb2stZHJvcGJhcigpO31cbn1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1kcm9wYmFyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1kcm9wYmFyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkZHJvcGJhci1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGRyb3BiYXItcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWRyb3BiYXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRkcm9wYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZHJvcGJhci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJGRyb3BiYXItY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWRyb3BiYXIgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkZHJvcGJhci1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1kcm9wYmFyIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbkBpZiAoJGRyb3BiYXItY29sb3ItbW9kZSAhPSAkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSkge1xuLnVrLWRyb3BiYXIgOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmUtY29sb3I6ICRkcm9wYmFyLWZvY3VzLW91dGxpbmUgIWltcG9ydGFudDtcbn1cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3BiYXItbGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkZHJvcGJhci1sYXJnZS1wYWRkaW5nLXRvcDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGRyb3BiYXItbGFyZ2UtcGFkZGluZy1ib3R0b207XG59XG5cblxuLyogRGlyZWN0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3BiYXItdG9wIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGJhci10b3ApKSB7QGluY2x1ZGUgaG9vay1kcm9wYmFyLXRvcCgpO31cbn1cblxuLnVrLWRyb3BiYXItYm90dG9tIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGJhci1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay1kcm9wYmFyLWJvdHRvbSgpO31cbn1cblxuLnVrLWRyb3BiYXItbGVmdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3BiYXItbGVmdCkpIHtAaW5jbHVkZSBob29rLWRyb3BiYXItbGVmdCgpO31cbn1cblxuLnVrLWRyb3BiYXItcmlnaHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wYmFyLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stZHJvcGJhci1yaWdodCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wYmFyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kcm9wYmFyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3BiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wYmFyLXRvcCgpe31cbi8vIEBtaXhpbiBob29rLWRyb3BiYXItYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGJhci1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGJhci1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLWRyb3BiYXItbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRHJvcG5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRyb3Bkb3duL2Ryb3BiYXIgbWVudXMgYmFzZWQgb24gRHJvcCBjb21wb25lbnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kcm9wbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWRyb3BuYXYtZHJvcGJhcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IERyb3BuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIDEuIFBvc2l0aW9uXG4gKiAyLiBSZXNldCBkcm9wYmFyXG4gKiAzLiBXaWR0aFxuICovXG5cbi51ay1kcm9wbmF2LWRyb3BiYXIge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGRyb3BuYXYtZHJvcGJhci16LWluZGV4O1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIC8qIDMgKi9cbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3BuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLWRyb3BuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZHJvcG5hdi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBNb2RhbFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG1vZGFsIGRpYWxvZ3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1tb2RhbGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1tb2RhbC1wYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtZGlhbG9nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtaGVhZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtYm9keWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWZvb3RlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2VgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstbW9kYWwtY2xvc2UtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLW91dHNpZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1mdWxsYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLW1vZGFsLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWZ1bGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1vZGFsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstbW9kYWwge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRtb2RhbC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkbW9kYWwtcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtYmFja2dyb3VuZDtcbiAgICAvKiA2ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbCgpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW1vZGFsIHsgcGFkZGluZzogJG1vZGFsLXBhZGRpbmctdmVydGljYWwtcyAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1tb2RhbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBPcGVuXG4gKi9cblxuLnVrLW1vZGFsLnVrLW9wZW4geyBvcGFjaXR5OiAxOyB9XG5cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuXG4udWstbW9kYWwtcGFnZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBEaWFsb2dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIHNwaW5uZXIgYW5kIGNsb3NlIGJ1dHRvblxuICogMi4gRGltZW5zaW9uc1xuICogMy4gYCFpbXBvcnRhbnRgIGlzIG5lZWRlZCB0byBvdmVyd3JpdGUgYHVrLXdpZHRoLWF1dG9gLiBTZWUgYCNtb2RhbC1tZWRpYS1pbWFnZWAgaW4gdGVzdHNcbiAqIDQuIFN0eWxlXG4gKiA1LiBTbGlkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLW1vZGFsLWRpYWxvZyB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogJG1vZGFsLWRpYWxvZy13aWR0aDtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgLyogNCAqL1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDtcbiAgICAvKiA1ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWRpYWxvZykpIHtAaW5jbHVkZSBob29rLW1vZGFsLWRpYWxvZygpO31cbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstb3BlbiA+IC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29udGFpbmVyIHNpemVcbiAqIFRha2UgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgQ29udGFpbmVyIGNvbXBvbmVudFxuICovXG5cbi51ay1tb2RhbC1jb250YWluZXIgLnVrLW1vZGFsLWRpYWxvZyB7IHdpZHRoOiAkbW9kYWwtY29udGFpbmVyLXdpZHRoOyB9XG5cbi8qXG4gKiBGdWxsIHNpemVcbiAqIDEuIFJlbW92ZSBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGZyb20gbW9kYWxcbiAqIDIuIFJlc2V0IGFsbCBkZWZhdWx0IGRlY2xhcmF0aW9ucyBmcm9tIG1vZGFsIGRpYWxvZ1xuICovXG5cbi8qIDEgKi9cbi51ay1tb2RhbC1mdWxsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qIDIgKi9cbi51ay1tb2RhbC1mdWxsIC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1mdWxsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZnVsbCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tb2RhbC1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWJvZHkpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1ib2R5KCk7fVxufVxuXG4udWstbW9kYWwtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtaGVhZGVyKCk7fVxufVxuXG4udWstbW9kYWwtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbG93LXJvb3Q7XG4gICAgcGFkZGluZzogJG1vZGFsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1mb290ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZm9vdGVyKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstbW9kYWwtYm9keSB7IHBhZGRpbmc6ICRtb2RhbC1ib2R5LXBhZGRpbmctdmVydGljYWwtcyAkbW9kYWwtYm9keS1wYWRkaW5nLWhvcml6b250YWwtczsgfVxuICAgIC51ay1tb2RhbC1oZWFkZXIgeyBwYWRkaW5nOiAkbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWwtcyAkbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1zOyB9XG4gICAgLnVrLW1vZGFsLWZvb3RlciB7IHBhZGRpbmc6ICRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1zICRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLXM7IH1cblxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLW1vZGFsLWJvZHkgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1tb2RhbC1mb290ZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkbW9kYWwtdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtdGl0bGUoKTt9XG59XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj1cInVrLW1vZGFsLWNsb3NlLVwiXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRtb2RhbC16LWluZGV4O1xuICAgIHRvcDogJG1vZGFsLWNsb3NlLXBvc2l0aW9uO1xuICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2UtcG9zaXRpb247XG4gICAgcGFkZGluZzogJG1vZGFsLWNsb3NlLXBhZGRpbmc7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbltjbGFzcyo9XCJ1ay1tb2RhbC1jbG9zZS1cIl06Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogSG92ZXJcbiAqL1xuXG5bY2xhc3MqPVwidWstbW9kYWwtY2xvc2UtXCJdOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1ob3ZlcigpO31cbn1cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstbW9kYWwtY2xvc2UtZGVmYXVsdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCk7fVxufVxuXG4udWstbW9kYWwtY2xvc2UtZGVmYXVsdDpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0LWhvdmVyKCk7fVxufVxuXG4vKlxuICogT3V0c2lkZVxuICogMS4gUHJldmVudCBzY3JvbGxiYXIgb24gc21hbGwgZGV2aWNlc1xuICovXG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlIHtcbiAgICB0b3A6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLXBvc2l0aW9uO1xuICAgIC8qIDEgKi9cbiAgICByaWdodDogKC0kbW9kYWwtY2xvc2UtcGFkZGluZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLSgkbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGUpKTtcbiAgICBjb2xvcjogJG1vZGFsLWNsb3NlLW91dHNpZGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLW91dHNpZGUpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKCk7fVxufVxuXG4udWstbW9kYWwtY2xvc2Utb3V0c2lkZTpob3ZlciB7XG4gICAgY29sb3I6ICRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3ZlcigpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAvKiAxICovXG4gICAgLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgICAgICByaWdodDogJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb247XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSwgLSgkbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGUpKTtcbiAgICB9XG5cbn1cblxuLypcbiAqIEZ1bGxcbiAqL1xuXG4udWstbW9kYWwtY2xvc2UtZnVsbCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWZ1bGwpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1mdWxsKCk7fVxufVxuXG4udWstbW9kYWwtY2xvc2UtZnVsbDpob3ZlciB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tb2RhbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWRpYWxvZygpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWZ1bGwoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1ib2R5KCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1mdWxsLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU2xpZGVzaG93XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgc2xpZGVzaG93c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNsaWRlc2hvd2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zbGlkZXNob3ctaXRlbXNgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZXNob3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCB0YWIgaGlnaGxpZ2h0aW5nIG9uIGlPUy5cbiAqL1xuXG4udWstc2xpZGVzaG93IHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVzaG93KSkge0BpbmNsdWRlIGhvb2stc2xpZGVzaG93KCk7fVxufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBhbmQgc3RhY2tpbmcgY29udGV4dFxuICogMi4gUmVzZXQgbGlzdFxuICogMy4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICogNC4gUHJldmVudCBkaXNwbGF5aW5nIHRoZSBjYWxsb3V0IGluZm9ybWF0aW9uIG9uIGlPUy5cbiAqIDUuIERpc2FibGUgaG9yaXpvbnRhbCBwYW5uaW5nIGdlc3R1cmVzXG4gKi9cblxuLnVrLXNsaWRlc2hvdy1pdGVtcyB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLyogNSAqL1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQb3NpdGlvbiBpdGVtcyBhYm92ZSBlYWNoIG90aGVyXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoXG4gKiAzLiBDbGlwIGNoaWxkIGVsZW1lbnRzLCBlLmcuIGZvciBgdWstY292ZXJgXG4gKiA0LiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqL1xuXG4udWstc2xpZGVzaG93LWl0ZW1zID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDQgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xufVxuXG4vKlxuICogSGlkZSBub3QgYWN0aXZlIGl0ZW1zXG4gKi9cblxuLnVrLXNsaWRlc2hvdy1pdGVtcyA+IDpub3QoLnVrLWFjdGl2ZSkgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVzaG93LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXNob3ctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVzaG93KCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVzaG93LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNsaWRlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGhvcml6b250YWwgc2xpZGVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNsaWRlcmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zbGlkZXItY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2xpZGVyLWl0ZW1zYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay1zbGlkZXIge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXIpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXIoKTt9XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqIDIuIFByZXZlbnQgYWNjaWRlbnRhbCBzY3JvbGxpbmcgdGhyb3VnaCBlbGVtZW50cyBpbiBzbGlkZSBnZXR0aW5nIGZvY3VzZWRcbiAqL1xuXG4udWstc2xpZGVyLWNvbnRhaW5lciB7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBjbGlwO1xufVxuXG4vKlxuICogV2lkZW4gY29udGFpbmVyIHRvIHByZXZlbnQgYm94LXNoYWRvd3MgZnJvbSBjbGlwcGluZywgYGxhcmdlLWJveC1zaGFkb3dgXG4gKi9cblxuLnVrLXNsaWRlci1jb250YWluZXItb2Zmc2V0IHtcbiAgICBtYXJnaW46ICRzbGlkZXItY29udGFpbmVyLW1hcmdpbi10b3AgJHNsaWRlci1jb250YWluZXItbWFyZ2luLXJpZ2h0ICRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1ib3R0b20gJHNsaWRlci1jb250YWluZXItbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZzogKCRzbGlkZXItY29udGFpbmVyLW1hcmdpbi10b3AgKiAtMSkgKCRzbGlkZXItY29udGFpbmVyLW1hcmdpbi1yaWdodCAqIC0xKSAoJHNsaWRlci1jb250YWluZXItbWFyZ2luLWJvdHRvbSAqIC0xKSAoJHNsaWRlci1jb250YWluZXItbWFyZ2luLWxlZnQgKiAtMSk7XG59XG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE9wdGltaXplIGFuaW1hdGlvblxuICogMi4gQ3JlYXRlIGEgY29udGFpbmluZyBibG9jay4gSW4gU2FmYXJpIGl0J3MgbmVpdGhlciBjcmVhdGVkIGJ5IGB0cmFuc2Zvcm1gIG5vciBgd2lsbC1jaGFuZ2VgLlxuICogMy4gRGlzYWJsZSBob3Jpem9udGFsIHBhbm5pbmcgZ2VzdHVyZXNcbiAqL1xuXG4udWstc2xpZGVyLWl0ZW1zIHtcbiAgICAvKiAxICovXG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4vKlxuICogMS4gUmVzZXQgbGlzdCBzdHlsZSB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggZ3JpZFxuICogMi4gUHJldmVudCBkaXNwbGF5aW5nIHRoZSBjYWxsb3V0IGluZm9ybWF0aW9uIG9uIGlPUy5cbiAqL1xuXG4udWstc2xpZGVyLWl0ZW1zOm5vdCgudWstZ3JpZCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbn1cblxuLnVrLXNsaWRlci1pdGVtcy51ay1ncmlkIHsgZmxleC13cmFwOiBub3dyYXA7IH1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIExldCBpdGVtcyB0YWtlIGNvbnRlbnQgZGltZW5zaW9ucyAoMCAwIGF1dG8pXG4gKiAgICBgbWF4LXdpZHRoYCBuZWVkZWQgdG8ga2VlcCBpbWFnZSByZXNwb25zaXZlbmVzcyBhbmQgcHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICovXG5cbi51ay1zbGlkZXItaXRlbXMgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZmxleDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN0aWNreVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gbWFrZSBlbGVtZW50cyBzdGlja3kgaW4gdGhlIHZpZXdwb3J0XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3RpY2t5YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXN0aWNreS1maXhlZGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN0aWNreVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBzbyBpdCdzIHQgdGhlIHNhbWUgbGlrZSB3aGVuIGZpeGVkLlxuICogMi4gQ3JlYXRlIHN0YWNraW5nIGNvbnRleHQgYWxyZWFkeSB3aGVuIG5vdCBzdGlja3kgdG8gaGF2ZSB0aGUgc2FtZSBjb250ZXh0XG4qICAgICBmb3IgcG9zaXRpb24gc2V0IHRvIGBzdGlja3lgIGFuZCBgcmVsYXRpdmVgXG4gKiAyLiBNb3JlIHJvYnVzdCBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWQgYW5kIHRoZSBzdGlja3kgaGVpZ2h0IGlzIHRyYW5zaXRpb25lZFxuICovXG5cbi51ay1zdGlja3kge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMiAqL1xuICAgIHotaW5kZXg6ICRzdGlja3ktei1pbmRleDtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnVrLXN0aWNreS1maXhlZCB7IG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiBGYXN0ZXIgYW5pbWF0aW9uc1xuICovXG5cbi51ay1zdGlja3lbY2xhc3MqPVwidWstYW5pbWF0aW9uLVwiXSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHN0aWNreS1hbmltYXRpb24tZHVyYXRpb247IH1cblxuLnVrLXN0aWNreS51ay1hbmltYXRpb24tcmV2ZXJzZSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjsgfVxuXG4vKlxuICogUGxhY2Vob2xkZXJcbiAqIE1ha2UgY29udGVudCBjbGlja2FibGUgZm9yIHN0aWNreSBjb3ZlciBhbmQgcmV2ZWFsIGVmZmVjdHNcbiAqL1xuXG4udWstc3RpY2t5LXBsYWNlaG9sZGVyIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zdGlja3ktbWlzYykpIHtAaW5jbHVkZSBob29rLXN0aWNreS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgT2ZmLWNhbnZhc1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIG9mZi1jYW52YXMgc2lkZWJhclxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW9mZmNhbnZhc2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1vZmZjYW52YXMtYmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1wYWdlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW9mZmNhbnZhcy1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1vZmZjYW52YXMtZmxpcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1iYXItYW5pbWF0aW9uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLXJldmVhbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1vdmVybGF5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBPZmYtY2FudmFzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKi9cblxuLnVrLW9mZmNhbnZhcyB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy16LWluZGV4O1xufVxuXG4vKlxuICogRmxpcCBtb2RpZmllclxuICovXG5cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIEJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIFNpemUgYW5kIHN0eWxlXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmdcbiAqL1xuXG4udWstb2ZmY2FudmFzLWJhciB7XG4gICAgLS11ay1pbnZlcnNlOiAjeyRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGV9O1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoKTtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGg7XG4gICAgcGFkZGluZzogJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbCAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLWJhcikpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1iYXIoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAgICAgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aC1zKTtcbiAgICAgICAgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoLXM7XG4gICAgICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtcyAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICB9XG5cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW9mZmNhbnZhcy1iYXIgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1vZmZjYW52YXMtYmFyIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qIEZsaXAgbW9kaWZpZXIgKi9cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogKC0kb2ZmY2FudmFzLWJhci13aWR0aCk7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1iYXIgeyByaWdodDogKC0kb2ZmY2FudmFzLWJhci13aWR0aC1zKTsgfVxuXG59XG5cbi8qXG4gKiBPcGVuXG4gKi9cblxuLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLWJhciB7IGxlZnQ6IDA7IH1cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb3BlbiA+IC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4vKlxuICogU2xpZGUgQW5pbWF0aW9uIChVc2VkIGluIHNsaWRlIGFuZCBwdXNoIG1vZGUpXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1iYXItYW5pbWF0aW9uIHsgdHJhbnNpdGlvbjogbGVmdCAwLjNzIGVhc2Utb3V0OyB9XG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1iYXItYW5pbWF0aW9uIHsgdHJhbnNpdGlvbi1wcm9wZXJ0eTogcmlnaHQ7IH1cblxuLypcbiAqIFJldmVhbCBBbmltYXRpb25cbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gQ2xpcCB0aGUgYmFyXG4gKiAzLiBBbmltYXRpb25cbiAqIDQuIFJlc2V0IHBvc2l0aW9uXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDMgKi9cbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2Utb3V0O1xufVxuXG4udWstb2ZmY2FudmFzLXJldmVhbCAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgLyogNCAqL1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLXJldmVhbCAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgLyogNCAqL1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1yZXZlYWwgeyB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGg7IH1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1yZXZlYWwgeyB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGgtczsgfVxuXG59XG5cbi8qXG4gKiBGbGlwIG1vZGlmaWVyXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vZmZjYW52YXMtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLXotaW5kZXg7XG4gICAgdG9wOiAkb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uO1xuICAgIHJpZ2h0OiAkb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uO1xuICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtY2xvc2UtcGFkZGluZztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLWNsb3NlKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW9mZmNhbnZhcy1jbG9zZSB7XG4gICAgICAgIHRvcDogJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbi1zO1xuICAgICAgICByaWdodDogJG9mZmNhbnZhcy1jbG9zZS1wb3NpdGlvbi1zO1xuICAgIH1cblxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuXG4udWstb2ZmY2FudmFzLWNsb3NlOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vKiBPdmVybGF5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE92ZXJsYXkgdGhlIHdob2xlIHBhZ2UuIE5lZWRlZCBmb3IgdGhlIGA6OmJlZm9yZWBcbiAqIDEuIFVzaW5nIGAxMDB2d2Agc28gbm8gbW9kaWZpY2F0aW9uIGlzIG5lZWRlZCB3aGVuIG9mZi1jYW52YXMgaXMgZmxpcHBlZFxuICogMi4gQWxsb3cgZm9yIGNsb3Npbmcgd2l0aCBzd2lwZSBnZXN0dXJlIG9uIGRldmljZXMgd2l0aCBwb2ludGVyIGV2ZW50cy5cbiAqL1xuXG4udWstb2ZmY2FudmFzLW92ZXJsYXkge1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogMTAwdnc7XG4gICAgLyogMiAqL1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLypcbiAqIDEuIE1hc2sgdGhlIHdob2xlIHBhZ2VcbiAqIDIuIEZhZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1vZmZjYW52YXMtb3ZlcmxheTo6YmVmb3JlIHtcbiAgICAvKiAxICovXG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICAgIC8qIDIgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtb3ZlcmxheSkpIHtAaW5jbHVkZSBob29rLW9mZmNhbnZhcy1vdmVybGF5KCk7fVxufVxuXG4udWstb2ZmY2FudmFzLW92ZXJsYXkudWstb3Blbjo6YmVmb3JlIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIFByZXZlbnQgc2Nyb2xsaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgaG9yaXpvbnRhbCBzY3JvbGxiYXIgd2hlbiB0aGUgY29udGVudCBpcyBzbGlkZS1vdXRcbiAqIEhhcyB0byBiZSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQgdG9vIHRvIG1ha2UgaXQgd29yayBvbiB0aGUgYGJvZHlgXG4gKiAxLiBgY2xpcGAgaXMgbmVlZGVkIGZvciBgcG9zaXRpb246IHN0aWNreWAgZWxlbWVudHMgdG8ga2VlcCB0aGVpciBwb3NpdGlvblxuICovXG5cbi51ay1vZmZjYW52YXMtcGFnZSxcbi51ay1vZmZjYW52YXMtY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93LXg6IGNsaXA7XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXBhcmUgc2xpZGUtb3V0IGFuaW1hdGlvbiAoVXNlZCBpbiByZXZlYWwgYW5kIHB1c2ggbW9kZSlcbiAqIFVzaW5nIGBwb3NpdGlvbjogbGVmdGAgaW5zdGVhZCBvZiBgdHJhbnNmb3JtYCBiZWNhdXNlIHBvc2l0aW9uIGBmaXhlZGAgZWxlbWVudHMgbGlrZSBzdGlja3kgbmF2YmFyc1xuICogbG9zZSB0aGVpciBmaXhlZCBzdGF0ZSBhbmQgYmVoYXZlcyBsaWtlIGBhYnNvbHV0ZWAgd2l0aGluIGEgdHJhbnNmb3JtZWQgY29udGFpbmVyXG4gKiAxLiBQcm92aWRlIGEgZml4ZWQgd2lkdGggYW5kIHByZXZlbnQgc2hyaW5raW5nXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLW91dDtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLypcbiAqIEFjdGl2YXRlIHNsaWRlLW91dCBhbmltYXRpb25cbiAqL1xuXG46bm90KC51ay1vZmZjYW52YXMtZmxpcCkudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAkb2ZmY2FudmFzLWJhci13aWR0aDsgfVxuXG4udWstb2ZmY2FudmFzLWZsaXAudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoKTsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgOm5vdCgudWstb2ZmY2FudmFzLWZsaXApLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHsgbGVmdDogJG9mZmNhbnZhcy1iYXItd2lkdGgtczsgfVxuXG4gICAgLnVrLW9mZmNhbnZhcy1mbGlwLnVrLW9mZmNhbnZhcy1jb250YWluZXItYW5pbWF0aW9uIHsgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aC1zKTsgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLWJhcigpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1vdmVybGF5KCl7fVxuLy8gQG1peGluIGhvb2stb2ZmY2FudmFzLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFN3aXRjaGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBuYXZpZ2F0ZSB0aHJvdWdoIGRpZmZlcmVudCBjb250ZW50IHBhbmVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3dpdGNoZXJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTd2l0Y2hlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLXN3aXRjaGVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGUgbm90IGFjdGl2ZSBpdGVtc1xuICovXG5cbi51ay1zd2l0Y2hlciA+IDpub3QoLnVrLWFjdGl2ZSkgeyBkaXNwbGF5OiBub25lOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstc3dpdGNoZXIgPiAqID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3dpdGNoZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXN3aXRjaGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN3aXRjaGVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIExlYWRlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRvdCBsZWFkZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGVhZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxlYWRlciB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIDEuIFBsYWNlIGVsZW1lbnQgaW4gdGV4dCBmbG93XG4gKiAyLiBOZXZlciBicmVhayBpbnRvIGEgbmV3IGxpbmVcbiAqIDMuIEdldCBhIHN0cmluZyBiYWNrIHdpdGggYXMgbWFueSByZXBlYXRpbmcgY2hhcmFjdGVycyB0byBmaWxsIHRoZSBjb250YWluZXJcbiAqIDQuIFByZXZlbnQgd3JhcHBpbmcuIE92ZXJmbG93aW5nIGNoYXJhY3RlcnMgd2lsbCBiZSBjbGlwcGVkIGJ5IHRoZSBjb250YWluZXJcbiAqL1xuXG4udWstbGVhZGVyLWZpbGw6OmFmdGVyIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAwO1xuICAgIC8qIDMgKi9cbiAgICBjb250ZW50OiBhdHRyKGRhdGEtZmlsbCk7XG4gICAgLyogNCAqL1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxlYWRlcikpIHtAaW5jbHVkZSBob29rLWxlYWRlcigpO31cbn1cblxuLypcbiAqIEhpZGUgaWYgbWVkaWEgZG9lcyBub3QgbWF0Y2hcbiAqL1xuXG4udWstbGVhZGVyLWZpbGwudWstbGVhZGVyLWhpZGU6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogUGFzcyBmaWxsIGNoYXJhY3RlciB0byBKU1xuICovXG5cbjpyb290IHsgLS11ay1sZWFkZXItZmlsbC1jb250ZW50OiAjeyRsZWFkZXItZmlsbC1jb250ZW50fTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxlYWRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stbGVhZGVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWxlYWRlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1sZWFkZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE5vdGlmaWNhdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG5vdGlmaWNhdGlvbiBtZXNzYWdlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW5vdGlmaWNhdGlvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tY2xvc2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbm90aWZpY2F0aW9uLXRvcC1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTm90aWZpY2F0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gRGltZW5zaW9uc1xuICovXG5cbi51ay1ub3RpZmljYXRpb24ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xuICAgIGxlZnQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgei1pbmRleDogJG5vdGlmaWNhdGlvbi16LWluZGV4O1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbm90aWZpY2F0aW9uLXdpZHRoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ub3RpZmljYXRpb24pKSB7QGluY2x1ZGUgaG9vay1ub3RpZmljYXRpb24oKTt9XG59XG5cblxuLyogUG9zaXRpb24gbW9kaWZpZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbm90aWZpY2F0aW9uLXRvcC1yaWdodCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xufVxuXG4udWstbm90aWZpY2F0aW9uLXRvcC1jZW50ZXIsXG4udWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogKCRub3RpZmljYXRpb24td2lkdGggKiAtMC41KTtcbn1cblxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tbGVmdCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xufVxuXG5cbi8qIFJlc3BvbnNpdmVuZXNzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBQaG9uZXMgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG5cbiAgICAudWstbm90aWZpY2F0aW9uIHtcbiAgICAgICAgbGVmdDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICAgICAgcmlnaHQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG59XG5cblxuLyogTWVzc2FnZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRub3RpZmljYXRpb24tbWVzc2FnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UoKTt9XG59XG5cbiogKyAudWstbm90aWZpY2F0aW9uLW1lc3NhZ2UgeyBtYXJnaW4tdG9wOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLXRvcDsgfVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ub3RpZmljYXRpb24tY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJG5vdGlmaWNhdGlvbi1jbG9zZS10b3A7XG4gICAgcmlnaHQ6ICRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1jbG9zZSkpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpO31cbn1cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlOmhvdmVyIC51ay1ub3RpZmljYXRpb24tY2xvc2UgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbigpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRvb2x0aXBcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSB0b29sdGlwc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRvb2x0aXBgXG4vL1xuLy8gTW9kaWZpZXJzICAgICAgICBgdWstdG9vbHRpcC10b3BgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLXRvcC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbS1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtcmlnaHRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUb29sdGlwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gUG9zaXRpb25cbiAqIDMuIFJlbW92ZSB0b29sdGlwIGZyb20gZG9jdW1lbnQgZmxvdyB0byBrZWVwIHRoZSBVSWtpdCBjb250YWluZXIgZnJvbSBjaGFuZ2luZyBpdHMgc2l6ZSB3aGVuIGluamVjdGVkIGludG8gdGhlIGRvY3VtZW50IGluaXRpYWxseVxuICogNC4gRGltZW5zaW9uc1xuICogNS4gU3R5bGVcbiAqL1xuXG4udWstdG9vbHRpcCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkdG9vbHRpcC16LWluZGV4O1xuICAgIC0tdWstcG9zaXRpb24tb2Zmc2V0OiAjeyR0b29sdGlwLW1hcmdpbn07XG4gICAgLS11ay1wb3NpdGlvbi12aWV3cG9ydC1vZmZzZXQ6IDEwO1xuICAgIC8qIDMgKi9cbiAgICB0b3A6IDA7XG4gICAgLyogNCAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbCAkdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6ICR0b29sdGlwLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cztcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvb2x0aXApKSB7QGluY2x1ZGUgaG9vay10b29sdGlwKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstdG9vbHRpcC51ay1hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRvb2x0aXAtbWlzYykpIHtAaW5jbHVkZSBob29rLXRvb2x0aXAtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdG9vbHRpcCgpe31cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU29ydGFibGVcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBzb3J0YWJsZSBncmlkcyBhbmQgbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zb3J0YWJsZWBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zb3J0YWJsZS1kcmFnYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc29ydGFibGUtcGxhY2Vob2xkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zb3J0YWJsZS1oYW5kbGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc29ydGFibGUtZW1wdHlgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZHJhZ2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTb3J0YWJsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZSkpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXNvcnRhYmxlID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogRHJhZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1kcmFnIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAkc29ydGFibGUtZHJhZ2dlZC16LWluZGV4ICFpbXBvcnRhbnQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLWRyYWcpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1kcmFnKCk7fVxufVxuXG5cbi8qIFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNvcnRhYmxlLXBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAkc29ydGFibGUtcGxhY2Vob2xkZXItb3BhY2l0eTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpO31cbn1cblxuXG4vKiBFbXB0eSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1lbXB0eSB7XG4gICAgbWluLWhlaWdodDogJHNvcnRhYmxlLWVtcHR5LWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtZW1wdHkpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1lbXB0eSgpO31cbn1cblxuXG4vKiBIYW5kbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBIb3ZlciAqL1xuLnVrLXNvcnRhYmxlLWhhbmRsZTpob3ZlciB7IGN1cnNvcjogbW92ZTsgfVxuXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXNvcnRhYmxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZHJhZygpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtZW1wdHkoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb3VudGRvd25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBjb3VudGRvd24gdGltZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY291bnRkb3duYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWNvdW50ZG93bi1udW1iZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb3VudGRvd24tc2VwYXJhdG9yYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY291bnRkb3duLWxhYmVsYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0OyAvLyAzMnB4XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtczogICAgICAgICAgICAgICAgICAgNHJlbSAhZGVmYXVsdDsgLy8gNjRweFxuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7IC8vIDk2cHhcblxuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIDE2cHhcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOiAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0OyAvLyAzMnB4XG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtbTogICAgICAgICAgICAgICAgM3JlbSAhZGVmYXVsdDsgLy8gNDhweFxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3VudGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY291bnRkb3duLW51bWJlcixcbi51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24taXRlbSgpO31cbn1cblxuXG4vKiBOdW1iZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qXG4gKiAxLiBNYWtlIG51bWJlcnMgYWxsIG9mIHRoZSBzYW1lIHNpemUgdG8gcHJldmVudCBqdW1waW5nLiBNdXN0IGJlIHN1cHBvcnRlZCBieSB0aGUgZm9udC5cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLWNvdW50ZG93bi1udW1iZXIge1xuICAgIC8qIDEgKi9cbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIC8qIDIgKi9cbiAgICBmb250LXNpemU6ICRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNvdW50ZG93bi1udW1iZXItbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1udW1iZXIpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbnVtYmVyKCk7fVxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb3VudGRvd24tbnVtYmVyIHsgZm9udC1zaXplOiAkY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTsgfVxuXG59XG5cblxuLyogU2VwYXJhdG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgIGZvbnQtc2l6ZTogJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY291bnRkb3duLXNlcGFyYXRvci1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLXNlcGFyYXRvcikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1zZXBhcmF0b3IoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHsgZm9udC1zaXplOiAkY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3IgeyBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24tbGFiZWwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbGFiZWwoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY291bnRkb3duKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tbnVtYmVyKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUaHVtYm5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRodW1ibmFpbCBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRodW1ibmF2YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXRodW1ibmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRodW1ibmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuXG4udWstdGh1bWJuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdigpO31cbn1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogMS4gR3V0dGVyXG4gKi9cblxuLnVrLXRodW1ibmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmctbGVmdDogJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLXRodW1ibmF2ID4gKiA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstdGh1bWJuYXYgPiAqID4gOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXRodW1ibmF2ID4gLnVrLWFjdGl2ZSA+ICoge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIE1vZGlmaWVyOiAndWstdGh1bWJuYXYtdmVydGljYWwnXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENoYW5nZSBkaXJlY3Rpb25cbiAqIDIuIEd1dHRlclxuICovXG5cbi51ay10aHVtYm5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJHRodW1ibmF2LW1hcmdpbi12ZXJ0aWNhbCk7XG59XG5cbi8qIDIgKi9cbi51ay10aHVtYm5hdi12ZXJ0aWNhbCA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXRvcDogJHRodW1ibmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEljb25uYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBpY29uIG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbm5hdmBcbi8vXG4vLyBNb2RpZmllcjogICAgICAgIGB1ay1pY29ubmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25uYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay1pY29ubmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdikpIHtAaW5jbHVkZSBob29rLWljb25uYXYoKTt9XG59XG5cbi8qXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rczogMCAxIGF1dG9cbiAqIDEuIEd1dHRlclxuICovXG5cbi51ay1pY29ubmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmctbGVmdDogJGljb25uYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogMS4gQ2VudGVyIGNvbnRlbnQgdmVydGljYWxseSBpZiB0aGVyZSBpcyBzdGlsbCBzb21lIHRleHRcbiAqIDIuIEltaXRhdGUgd2hpdGUgc3BhY2UgZ2FwIHdoZW4gdXNpbmcgZmxleGJveFxuICogMy4gRm9yY2UgdGV4dCBub3QgdG8gYWZmZWN0IGl0ZW0gaGVpZ2h0XG4gKiA0LiBTdHlsZVxuICogNS4gUmVxdWlyZWQgZm9yIGBhYCBpZiB0aGVyZSBpcyBzdGlsbCBzb21lIHRleHRcbiAqL1xuXG4udWstaWNvbm5hdiA+ICogPiBhIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDIgKi9cbiAgICBjb2x1bW4tZ2FwOiAwLjI1ZW07XG4gICAgLyogMyAqL1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIC8qIDQgKi9cbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1jb2xvcjtcbiAgICAvKiA1ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstaWNvbm5hdiA+ICogPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1pY29ubmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay1pY29ubmF2LXZlcnRpY2FsJ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDaGFuZ2UgZGlyZWN0aW9uXG4gKiAyLiBHdXR0ZXJcbiAqL1xuXG4udWstaWNvbm5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsKTtcbn1cblxuLyogMiAqL1xuLnVrLWljb25uYXYtdmVydGljYWwgPiAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy10b3A6ICRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1pY29ubmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWljb25uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBHcmlkXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcmVzcG9uc2l2ZSwgZmx1aWQgYW5kIG5lc3RhYmxlIGdyaWRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZ3JpZGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1ncmlkLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1jb2xsYXBzZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWF0Y2hgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLXN0YWNrYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW5gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tY29sbGFwc2VgXG4vL1xuLy8gU3ViLW1vZGlmaWVyOiAgICBgdWstZ3JpZC1pdGVtLW1hdGNoYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWZpcnN0LWNvbHVtbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogR3JpZFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBjZWxscyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBHcmlkIGNlbGxcbiAqIE5vdGU6IFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rczogMCAxIGF1dG9cbiAqIFJlc2V0IG1hcmdpbiBmb3IgZS5nLiBwYXJhZ3JhcGhzXG4gKi9cblxuLnVrLWdyaWQgPiAqIHsgbWFyZ2luOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstZ3JpZCA+ICogPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBHdXR0ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWd1dHRlci1ob3Jpem9udGFsOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLFxuLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sKTsgfVxuICAgIC51ay1ncmlkID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZCArIC51ay1ncmlkLFxuICAgIC51ay1ncmlkID4gLnVrLWdyaWQtbWFyZ2luLFxuICAgICogKyAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItdmVydGljYWwtbDsgfVxuXG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLXNtYWxsLFxuLnVrLWdyaWQtY29sdW1uLXNtYWxsIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwpOyB9XG4udWstZ3JpZC1zbWFsbCA+ICosXG4udWstZ3JpZC1jb2x1bW4tc21hbGwgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LXNtYWxsLFxuLnVrLWdyaWQtc21hbGwgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctc21hbGwgPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLXNtYWxsIHsgbWFyZ2luLXRvcDogJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1jb2x1bW4tbWVkaXVtIHsgbWFyZ2luLWxlZnQ6ICgtJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsKTsgfVxuLnVrLWdyaWQtbWVkaXVtID4gKixcbi51ay1ncmlkLWNvbHVtbi1tZWRpdW0gPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbWVkaXVtLFxuLnVrLWdyaWQgKyAudWstZ3JpZC1yb3ctbWVkaXVtLFxuLnVrLWdyaWQtbWVkaXVtID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtcm93LW1lZGl1bSA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tbWVkaXVtIHsgbWFyZ2luLXRvcDogJGdyaWQtbWVkaXVtLWd1dHRlci12ZXJ0aWNhbDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1sYXJnZSxcbi51ay1ncmlkLWNvbHVtbi1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsKTsgfVxuLnVrLWdyaWQtbGFyZ2UgPiAqLFxuLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZCArIC51ay1ncmlkLXJvdy1sYXJnZSxcbi51ay1ncmlkLWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtcm93LWxhcmdlID4gLnVrLWdyaWQtbWFyZ2luLFxuKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbDsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkLWxhcmdlLFxuICAgIC51ay1ncmlkLWNvbHVtbi1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwpOyB9XG4gICAgLnVrLWdyaWQtbGFyZ2UgPiAqLFxuICAgIC51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQgKyAudWstZ3JpZC1sYXJnZSxcbiAgICAudWstZ3JpZCArIC51ay1ncmlkLXJvdy1sYXJnZSxcbiAgICAudWstZ3JpZC1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiAgICAudWstZ3JpZC1yb3ctbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOyB9XG5cbn1cblxuLypcbiAqIENvbGxhcHNlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtY29sbGFwc2UsXG4udWstZ3JpZC1jb2x1bW4tY29sbGFwc2UgeyBtYXJnaW4tbGVmdDogMDsgfVxuLnVrLWdyaWQtY29sbGFwc2UgPiAqLFxuLnVrLWdyaWQtY29sdW1uLWNvbGxhcHNlID4gKiB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1jb2xsYXBzZSxcbi51ay1ncmlkICsgLnVrLWdyaWQtcm93LWNvbGxhcHNlLFxuLnVrLWdyaWQtY29sbGFwc2UgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1yb3ctY29sbGFwc2UgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLWxlZnQ6ICRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRncmlkLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1ncmlkLWRpdmlkZXItaG9yaXpvbnRhbCkpIHtAaW5jbHVkZSBob29rLWdyaWQtZGl2aWRlci1ob3Jpem9udGFsKCk7fVxufVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGdyaWQtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCkpIHtAaW5jbHVkZSBob29rLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCgpO31cbn1cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlciA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHtcbiAgICB0b3A6ICgtJGdyaWQtZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG4gICAgLnVrLWdyaWQtZGl2aWRlciA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1ndXR0ZXItdmVydGljYWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIHRvcDogKC0kZ3JpZC1ndXR0ZXItdmVydGljYWwtbCk7XG4gICAgICAgIGxlZnQ6ICgkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7XG4gICAgfVxuXG59XG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiAqLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1zbWFsbCA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zbWFsbCA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgdG9wOiAoLSRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCk7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tc21hbGwudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtID4gKixcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbWVkaXVtID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUsXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLW1lZGl1bSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsKTtcbiAgICBsZWZ0OiAoJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7IHRvcDogKC0kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1tZWRpdW0udWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UgPiAqLFxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4sXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1yb3ctbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgdG9wOiAoLSRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCk7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1jb2x1bW4tbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbjo6YmVmb3JlIHsgbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UsXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICosXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSxcbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtY29sdW1uLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbGFyZ2UudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbixcbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtcm93LWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbCk7XG4gICAgICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7XG4gICAgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXJvdy1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyB0b3A6ICgtJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwpOyB9XG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWNvbHVtbi1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyBsZWZ0OiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbn1cblxuXG4vKiBNYXRjaCBjaGlsZCBvZiBhIGdyaWQgY2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDEuIFdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoLCBhdCBsZWFzdCAxMDAlLiBPbmx5IGlmIG5vIGNsYXNzIGZyb20gdGhlIFdpZHRoIGNvbXBvbmVudCBpcyBzZXQuXG4gKiAzLiBFeHBhbmQgd2lkdGggZXZlbiBpZiBsYXJnZXIgdGhhbiAxMDAlLCBlLmcuIGJlY2F1c2Ugb2YgbmVnYXRpdmUgbWFyZ2luIChOZWVkZWQgZm9yIG5lc3RlZCBncmlkcylcbiAqL1xuXG4udWstZ3JpZC1tYXRjaCA+ICosXG4udWstZ3JpZC1pdGVtLW1hdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi51ay1ncmlkLW1hdGNoID4gKiA+IDpub3QoW2NsYXNzKj1cInVrLXdpZHRoXCJdKSxcbi51ay1ncmlkLWl0ZW0tbWF0Y2ggPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSkge1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBmbGV4OiBhdXRvO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWdyaWQtbWlzYykpIHtAaW5jbHVkZSBob29rLWdyaWQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZ3JpZC1kaXZpZGVyLWhvcml6b250YWwoKXt9XG4vLyBAbWl4aW4gaG9vay1ncmlkLWRpdmlkZXItdmVydGljYWwoKXt9XG4vLyBAbWl4aW4gaG9vay1ncmlkLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZ3JpZC1kaXZpZGVyLWhvcml6b250YWwoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWdyaWQtZGl2aWRlci12ZXJ0aWNhbCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmluZXMgc3R5bGVzIGZvciBsaXN0IG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbmF2YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5hdi1wYXJlbnQtaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1zdWJ0aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1zdWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbmF2LWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1zZWNvbmRhcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LXhsYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1jZW50ZXJgLFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWRpdmlkZXJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFyZW50YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3BlbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvdWNoYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cblxuXG4kbmF2LW1lZGl1bS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5hdi1tZWRpdW0tZm9udC1zaXplLW0gKiAwLjgyNSAhZGVmYXVsdDsgICAgLy8gNDBweCAwLjcxNFxuJG5hdi1tZWRpdW0tZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICAgICRuYXYtbWVkaXVtLWZvbnQtc2l6ZS1sICogMC44NzUgIWRlZmF1bHQ7ICAgIC8vIDMuNXJlbSAvIDU2cHhcbiRuYXYtbWVkaXVtLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgICAgICA0cmVtICFkZWZhdWx0OyAvLyA2NHB4XG5cbiRuYXYtbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbmF2LWxhcmdlLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDsgICAgICAvLyA1MHB4IDAuNzhcbiRuYXYtbGFyZ2UtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICAgICA0cmVtICFkZWZhdWx0OyAvLyA2NHB4XG4kbmF2LWxhcmdlLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDsgLy8gOTZweFxuXG4kbmF2LXhsYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgNHJlbSAhZGVmYXVsdDsgLy8gNjRweFxuJG5hdi14bGFyZ2UtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICAgIDZyZW0gIWRlZmF1bHQ7IC8vIDk2cHhcbiRuYXYteGxhcmdlLWZvbnQtc2l6ZS1sOiAgICAgICAgICAgICAgICAgICAgICAgICA4cmVtICFkZWZhdWx0OyAvLyAxMjhweFxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZXNldFxuICovXG5cbi51ay1uYXYsXG4udWstbmF2IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuKiAxLiBDZW50ZXIgY29udGVudCB2ZXJ0aWNhbGx5LCBlLmcuIGFuIGljb25cbiogMi4gSW1pdGF0ZSB3aGl0ZSBzcGFjZSBnYXAgd2hlbiB1c2luZyBmbGV4Ym94XG4qIDMuIFJlc2V0IGxpbmtcbiAqL1xuXG4udWstbmF2IGxpID4gYSB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAyICovXG4gICAgY29sdW1uLWdhcDogMC4yNWVtO1xuICAgIC8qIDMqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLypcbiAqIEl0ZW1zXG4gKiBNdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBsaXN0cylcbiAqL1xuXG4udWstbmF2ID4gbGkgPiBhIHsgcGFkZGluZzogJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFN1Ymxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExldmVsIDJcbiAqIGB1bGAgbmVlZGVkIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgcGFkZGluZ1xuICovXG5cbnVsLnVrLW5hdi1zdWIge1xuICAgIHBhZGRpbmc6ICRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsIDAgJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWwgJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXN1YikpIHtAaW5jbHVkZSBob29rLW5hdi1zdWIoKTt9XG59XG5cbi8qXG4gKiBMZXZlbCAzIGFuZCBkZWVwZXJcbiAqL1xuXG4udWstbmF2LXN1YiB1bCB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ7IH1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1zdWIgYSB7IHBhZGRpbmc6ICRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWwgMDsgfVxuXG5cbi8qIFBhcmVudCBpY29uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi51ay1uYXYgPiBsaS51ay1vcGVuID4gYSAudWstbmF2LXBhcmVudC1pY29uIHsgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZyk7IH1cblxuXG4vKiBIZWFkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWhlYWRlciB7XG4gICAgcGFkZGluZzogJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJG5hdi1oZWFkZXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWhlYWRlcigpO31cbn1cblxuLnVrLW5hdi1oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tdG9wOiAkbmF2LWhlYWRlci1tYXJnaW4tdG9wOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBtYXJnaW46ICRuYXYtZGl2aWRlci1tYXJnaW4tdmVydGljYWwgJG5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kaXZpZGVyKCk7fVxufVxuXG5cbi8qIERlZmF1bHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWRlZmF1bHQge1xuICAgIGZvbnQtc2l6ZTogJG5hdi1kZWZhdWx0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdi1kZWZhdWx0LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFN1YnRpdGxlXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJG5hdi1kZWZhdWx0LXN1YnRpdGxlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtc3VidGl0bGUpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1zdWJ0aXRsZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIHtcbiAgICBmb250LXNpemU6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtbGluZS1oZWlnaHQ7XG59XG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjsgfVxuXG5cbi8qIFByaW1hcnkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LXByaW1hcnkge1xuICAgIGZvbnQtc2l6ZTogJG5hdi1wcmltYXJ5LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdi1wcmltYXJ5LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstbmF2LXByaW1hcnkgPiBsaSA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFN1YnRpdGxlXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJG5hdi1wcmltYXJ5LXN1YnRpdGxlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktc3VidGl0bGUpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1zdWJ0aXRsZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIHtcbiAgICBmb250LXNpemU6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdi1wcmltYXJ5LXN1Ymxpc3QtbGluZS1oZWlnaHQ7XG59XG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIgeyBjb2xvcjogJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjsgfVxuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjsgfVxuXG5cbi8qIFNlY29uZGFyeSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtc2Vjb25kYXJ5IHtcbiAgICBmb250LXNpemU6ICRuYXYtc2Vjb25kYXJ5LWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdi1zZWNvbmRhcnktbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1uYXYtc2Vjb25kYXJ5KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstbmF2LXNlY29uZGFyeSA+IGxpID4gYSB7XG5cbiAgICBjb2xvcjogJG5hdi1zZWNvbmRhcnktaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXNlY29uZGFyeS1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2LXNlY29uZGFyeS1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLW5hdi1zZWNvbmRhcnkgPiBsaSA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiAkbmF2LXNlY29uZGFyeS1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtc2Vjb25kYXJ5LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtc2Vjb25kYXJ5LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1zZWNvbmRhcnkgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1zZWNvbmRhcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1zZWNvbmRhcnktaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXYtc2Vjb25kYXJ5LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKlxuICogU3VidGl0bGVcbiAqL1xuXG4udWstbmF2LXNlY29uZGFyeSAudWstbmF2LXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6ICRuYXYtc2Vjb25kYXJ5LXN1YnRpdGxlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJG5hdi1zZWNvbmRhcnktc3VidGl0bGUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1zZWNvbmRhcnktc3VidGl0bGUpKSB7QGluY2x1ZGUgaG9vay1uYXYtc2Vjb25kYXJ5LXN1YnRpdGxlKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLW5hdi1zZWNvbmRhcnkgPiBsaSA+IGE6aG92ZXIgLnVrLW5hdi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICRuYXYtc2Vjb25kYXJ5LXN1YnRpdGxlLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtc2Vjb25kYXJ5LXN1YnRpdGxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2LXNlY29uZGFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEgLnVrLW5hdi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICRuYXYtc2Vjb25kYXJ5LXN1YnRpdGxlLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXYtc2Vjb25kYXJ5LXN1YnRpdGxlLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdi1zZWNvbmRhcnktaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtc2Vjb25kYXJ5LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1zZWNvbmRhcnktaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdi1zZWNvbmRhcnktZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdi1zZWNvbmRhcnktZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1zZWNvbmRhcnktZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1zZWNvbmRhcnktZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdi1zZWNvbmRhcnkgLnVrLW5hdi1zdWIge1xuICAgIGZvbnQtc2l6ZTogJG5hdi1zZWNvbmRhcnktc3VibGlzdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRuYXYtc2Vjb25kYXJ5LXN1Ymxpc3QtbGluZS1oZWlnaHQ7XG59XG5cbi51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdi1zZWNvbmRhcnktc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbi51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIgeyBjb2xvcjogJG5hdi1zZWNvbmRhcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbi51ay1uYXYtc2Vjb25kYXJ5IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJG5hdi1zZWNvbmRhcnktc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjsgfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTWVkaXVtXG4gKi9cblxuLnVrLW5hdi1tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogJG5hdi1tZWRpdW0tZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbmF2LW1lZGl1bS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LW1lZGl1bSkpIHtAaW5jbHVkZSBob29rLW5hdi1tZWRpdW0oKTt9XG59XG5cbi51ay1uYXYtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJG5hdi1sYXJnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRuYXYtbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1sYXJnZSkpIHtAaW5jbHVkZSBob29rLW5hdi1sYXJnZSgpO31cbn1cblxuLnVrLW5hdi14bGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJG5hdi14bGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbmF2LXhsYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXhsYXJnZSkpIHtAaW5jbHVkZSBob29rLW5hdi14bGFyZ2UoKTt9XG59XG5cbi8qIFRhYmxldCBMYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW5hdi1tZWRpdW0geyBmb250LXNpemU6ICRuYXYtbWVkaXVtLWZvbnQtc2l6ZS1tOyB9XG4gICAgLnVrLW5hdi1sYXJnZSB7IGZvbnQtc2l6ZTogJG5hdi1sYXJnZS1mb250LXNpemUtbTsgfVxuICAgIC51ay1uYXYteGxhcmdlIHsgZm9udC1zaXplOiAkbmF2LXhsYXJnZS1mb250LXNpemUtbTsgfVxuXG59XG5cbi8qIExhcHRvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1uYXYtbWVkaXVtIHsgZm9udC1zaXplOiAkbmF2LW1lZGl1bS1mb250LXNpemUtbDsgfVxuICAgIC51ay1uYXYtbGFyZ2UgeyBmb250LXNpemU6ICRuYXYtbGFyZ2UtZm9udC1zaXplLWw7IH1cbiAgICAudWstbmF2LXhsYXJnZSB7IGZvbnQtc2l6ZTogJG5hdi14bGFyZ2UtZm9udC1zaXplLWw7IH1cblxufVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgaGVhZGVyXG4gKiAyLiBDZW50ZXIgaXRlbXNcbiAqL1xuXG4gLyogMSAqL1xuLnVrLW5hdi1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAvKiAyICovXG4udWstbmF2LWNlbnRlciBsaSA+IGEgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4vKiBTdWJsaXN0cyAqL1xuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIsXG4udWstbmF2LWNlbnRlciAudWstbmF2LXN1YiB1bCB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKiBQYXJlbnQgaWNvbiAgKi9cbi51ay1uYXYtY2VudGVyIC51ay1uYXYtcGFyZW50LWljb24geyBtYXJnaW4tbGVmdDogJG5hdi1wYXJlbnQtaWNvbi1tYXJnaW4tbGVmdDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpdmlkZXJcbiAqIE5hbWluZyBpcyBpbiBwbHVyYWwgdG8gcHJldmVudCBjb25mbGljdHMgd2l0aCBkaXZpZGVyIHN1YiBvYmplY3QuXG4gKi9cblxuLnVrLW5hdi51ay1uYXYtZGl2aWRlciA+IDpub3QoLnVrLW5hdi1oZWFkZXIsIC51ay1uYXYtZGl2aWRlcikgKyA6bm90KC51ay1uYXYtaGVhZGVyLCAudWstbmF2LWRpdmlkZXIpIHtcbiAgICBtYXJnaW4tdG9wOiAkbmF2LWRpdmlkZXJzLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRuYXYtZGl2aWRlcnMtbWFyZ2luLXRvcDtcbiAgICBib3JkZXItdG9wOiAkbmF2LWRpdmlkZXJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LWRpdmlkZXJzLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRpdmlkZXJzKSkge0BpbmNsdWRlIGhvb2stbmF2LWRpdmlkZXJzKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stbmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW5hdi1zdWIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1zdWJ0aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1zdWJ0aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXNlY29uZGFyeS1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXNlY29uZGFyeS1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXNlY29uZGFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1zZWNvbmRhcnktc3VidGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtc2Vjb25kYXJ5LXN1YnRpdGxlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXNlY29uZGFyeS1zdWJ0aXRsZS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtc2Vjb25kYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1zZWNvbmRhcnktZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1tZWRpdW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYteGxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRpdmlkZXJzKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXNlY29uZGFyeS1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtc2Vjb25kYXJ5LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1zZWNvbmRhcnktaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1zZWNvbmRhcnktc3VidGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1zZWNvbmRhcnktc3VidGl0bGUtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1zZWNvbmRhcnktc3VidGl0bGUtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtc2Vjb25kYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2LXNlY29uZGFyeS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGl2aWRlcnMoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE5hdmJhclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGhvcml6b250YWwgbmF2aWdhdGlvbiBiYXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbmF2YmFyYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5hdmJhci1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItY2VudGVyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItY2VudGVyLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLW5hdmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1wYXJlbnQtaWNvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1pdGVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXRvZ2dsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1zdWJ0aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wYmFyYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bmAgKyBNb2RpZmllcnNcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bi1uYXZgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItdG9nZ2xlLWljb25gXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbmF2YmFyLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItdHJhbnNwYXJlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItc3RpY2t5YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhcmVudGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5hdmJhci1nYXA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDBweCAhZGVmYXVsdDsgLy8gTXVzdCBoYXZlIGEgdW5pdCBiZWNhdXNlIG9mIGBjYWxjYFxuXG4kbmF2YmFyLW5hdi1nYXA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHB4ICFkZWZhdWx0OyAvLyBNdXN0IGhhdmUgYSB1bml0IGJlY2F1c2Ugb2YgYGNhbGNgXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2YmFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IHRvIGNlbnRlciBuYXZiYXIgZ3JvdXBcbiAqL1xuXG4udWstbmF2YmFyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhcikpIHtAaW5jbHVkZSBob29rLW5hdmJhcigpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkge1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWNvbnRhaW5lcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1jb250YWluZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRuYXZiYXItY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJG5hdmJhci1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8qIEdyb3Vwc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGlnbiBuYXZzIGFuZCBpdGVtcyB2ZXJ0aWNhbGx5IGlmIHRoZXkgaGF2ZSBhIGRpZmZlcmVudCBoZWlnaHRcbiAqL1xuXG4udWstbmF2YmFyLWxlZnQsXG4udWstbmF2YmFyLXJpZ2h0LFxuW2NsYXNzKj1cInVrLW5hdmJhci1jZW50ZXJcIl0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAkbmF2YmFyLWdhcDtcbiAgICAvKiAxICovXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLypcbiAqIEhvcml6b250YWwgYWxpZ25tZW50XG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgY2VudGVyZWQgbmF2YmFyIHdpdGggc3ViIGdyb3VwcyAobGVmdC9yaWdodClcbiAqIDIuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIGNvbnRlbnQgaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBjb250YWluZXIuXG4gKiAzLiBOZWVkZWQgZm9yIGRyb3Bkb3ducyBiZWNhdXNlIGEgbmV3IHBvc2l0aW9uIGNvbnRleHQgaXMgY3JlYXRlZFxuICogICAgYHotaW5kZXhgIG11c3QgYmUgc21hbGxlciB0aGFuIG9mZi1jYW52YXNcbiAqIDQuIEFsaWduIHN1YiBncm91cHMgZm9yIGNlbnRlcmVkIG5hdmJhclxuICovXG5cbi51ay1uYXZiYXItcmlnaHQgeyBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4udWstbmF2YmFyLWNlbnRlcjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMyAqL1xuICAgIHotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDEwO1xufVxuXG4vKiA0ICovXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0LFxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgdG9wOiAwO1xufVxuXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0IHsgcmlnaHQ6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JG5hdmJhci1nYXB9KScpOyB9XG4udWstbmF2YmFyLWNlbnRlci1yaWdodCB7IGxlZnQ6IHVucXVvdGUoJ2NhbGMoMTAwJSArICN7JG5hdmJhci1nYXB9KScpOyB9XG5cbltjbGFzcyo9XCJ1ay1uYXZiYXItY2VudGVyLVwiXSB7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cblxuLyogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstbmF2YmFyLW5hdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6ICRuYXZiYXItbmF2LWdhcDtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiBPbmx5IG5vdCBgYWJzb2x1dGVgIHBvc2l0aW9uZWQgZ3JvdXBzXG4gKi9cblxuLnVrLW5hdmJhci1sZWZ0LFxuLnVrLW5hdmJhci1yaWdodCxcbi51ay1uYXZiYXItY2VudGVyOm9ubHktY2hpbGQgeyBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLypcbiAqIEl0ZW1zXG4gKiAxLiBDZW50ZXIgY29udGVudCB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDIuIEltaXRhdGUgd2hpdGUgc3BhY2UgZ2FwIHdoZW4gdXNpbmcgZmxleGJveFxuICogMy4gRGltZW5zaW9uc1xuICogNC4gU3R5bGVcbiAqIDUuIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSwgICAgLy8gTmF2IGl0ZW1cbi51ay1uYXZiYXItaXRlbSwgICAgICAgICAgICAvLyBDb250ZW50IGl0ZW1cbi51ay1uYXZiYXItdG9nZ2xlIHsgICAgICAgICAvLyBDbGlja2FibGUgaXRlbVxuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIGNvbHVtbi1nYXA6IDAuMjVlbTtcbiAgICAvKiAzICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLW5hdi1pdGVtLWhlaWdodDtcbiAgICAvKiA0ICovXG4gICAgZm9udC1zaXplOiAkbmF2YmFyLW5hdi1pdGVtLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogJG5hdmJhci1uYXYtaXRlbS1mb250LWZhbWlseTtcbiAgICAvKiA1ICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKlxuICogTmF2IGl0ZW1zXG4gKi9cblxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgIHBhZGRpbmc6IDAgJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbSgpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKiBBcHBseSBob3ZlciBzdHlsZSBhbHNvIGlmIGRyb3Bkb3duIGlzIG9wZW5lZFxuICovXG5cbi51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGFbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLXBhcmVudC1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogJG5hdmJhci1wYXJlbnQtaWNvbi1tYXJnaW4tbGVmdDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDtcbn1cblxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGFbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gLnVrLW5hdmJhci1wYXJlbnQtaWNvbiB7IHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpOyB9XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItaXRlbSB7XG4gICAgcGFkZGluZzogMCAkbmF2YmFyLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGNvbG9yOiAkbmF2YmFyLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWl0ZW0oKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstbmF2YmFyLWl0ZW0gPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBUb2dnbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLXRvZ2dsZSB7XG4gICAgcGFkZGluZzogMCAkbmF2YmFyLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGNvbG9yOiAkbmF2YmFyLXRvZ2dsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUoKTt9XG59XG5cbi51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuLnVrLW5hdmJhci10b2dnbGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgIGNvbG9yOiAkbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogSWNvblxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1uYXZiYXItdG9nZ2xlLWljb24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlLWljb24pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKTt9XG59XG5cbi8qIEhvdmVyICovXG46aG92ZXIgPiAudWstbmF2YmFyLXRvZ2dsZS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN1YnRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAkbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXN1YnRpdGxlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXN1YnRpdGxlKCk7fVxufVxuXG5cbi8qIEp1c3RpZnkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWp1c3RpZnkgLnVrLW5hdmJhci1sZWZ0LFxuLnVrLW5hdmJhci1qdXN0aWZ5IC51ay1uYXZiYXItcmlnaHQsXG4udWstbmF2YmFyLWp1c3RpZnkgLnVrLW5hdmJhci1uYXYsXG4udWstbmF2YmFyLWp1c3RpZnkgLnVrLW5hdmJhci1uYXYgPiBsaSwgICAgICAgIC8vIE5hdiBpdGVtXG4udWstbmF2YmFyLWp1c3RpZnkgLnVrLW5hdmJhci1pdGVtLCAgICAgICAgICAgIC8vIENvbnRlbnQgaXRlbVxuLnVrLW5hdmJhci1qdXN0aWZ5IC51ay1uYXZiYXItdG9nZ2xlIHsgZmxleC1ncm93OiAxOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItcHJpbWFyeSgpO31cbn1cblxuLnVrLW5hdmJhci10cmFuc3BhcmVudCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10cmFuc3BhcmVudCkpIHtAaW5jbHVkZSBob29rLW5hdmJhci10cmFuc3BhcmVudCgpO31cbn1cblxuLnVrLW5hdmJhci1zdGlja3kge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItc3RpY2t5KSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXN0aWNreSgpO31cbn1cblxuXG4vKiBEcm9wZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWRyb3BgXG4gKiAxLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24ge1xuICAgIC0tdWstcG9zaXRpb24tb2Zmc2V0OiAjeyRuYXZiYXItZHJvcGRvd24tbWFyZ2lufTtcbiAgICAtLXVrLXBvc2l0aW9uLXNoaWZ0LW9mZnNldDogI3skbmF2YmFyLWRyb3Bkb3duLXNoaWZ0LW1hcmdpbn07XG4gICAgLS11ay1wb3NpdGlvbi12aWV3cG9ydC1vZmZzZXQ6ICN7JG5hdmJhci1kcm9wZG93bi12aWV3cG9ydC1tYXJnaW59O1xuICAgIC0tdWstaW52ZXJzZTogI3skbmF2YmFyLWRyb3Bkb3duLWNvbG9yLW1vZGV9O1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogJG5hdmJhci1kcm9wZG93bi13aWR0aDtcbiAgICAvKiAyICovXG4gICAgcGFkZGluZzogJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93biA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkbmF2YmFyLWRyb3Bkb3duLWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1uYXZiYXItZHJvcGRvd24geyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkbmF2YmFyLWRyb3Bkb3duLWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLW5hdmJhci1kcm9wZG93biB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5AaWYgKCRuYXZiYXItZHJvcGRvd24tY29sb3ItbW9kZSAhPSAkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSkge1xuLnVrLW5hdmJhci1kcm9wZG93biA6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZS1jb2xvcjogJG5hdmJhci1kcm9wZG93bi1mb2N1cy1vdXRsaW5lICFpbXBvcnRhbnQ7XG59XG59XG5cbi8qXG4gKiBHcmlkXG4gKiBBZG9wdHMgYHVrLWdyaWRgXG4gKi9cblxuLyogR3V0dGVyIEhvcml6b250YWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24gLnVrLWRyb3AtZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24gLnVrLWRyb3AtZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBHdXR0ZXIgVmVydGljYWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24gLnVrLWRyb3AtZ3JpZCA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIFdpZHRoIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0yOm5vdCgudWstZHJvcC1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiAyKTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0zOm5vdCgudWstZHJvcC1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiAzKTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC00Om5vdCgudWstZHJvcC1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiA0KTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC01Om5vdCgudWstZHJvcC1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiA1KTsgfVxuXG4vKlxuICogU2l6ZSBtb2RpZmllclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbGFyZ2Uge1xuICAgIC0tdWstcG9zaXRpb24tc2hpZnQtb2Zmc2V0OiAjeyRuYXZiYXItZHJvcGRvd24tbGFyZ2Utc2hpZnQtbWFyZ2lufTtcbiAgICBwYWRkaW5nOiAkbmF2YmFyLWRyb3Bkb3duLWxhcmdlLXBhZGRpbmc7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1sYXJnZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1sYXJnZSgpO31cbn1cblxuLypcbiAqIERyb3BiYXIgbW9kaWZpZXJcbiAqIDEuIFJlc2V0IGRyb3Bkb3duIHdpZHRoIHRvIHByZXZlbnQgdG8gZWFybHkgc2hpZnRpbmdcbiAqIDIuIFJlc2V0IHN0eWxlXG4gKiAzLiBQYWRkaW5nXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyIHtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IGF1dG87XG4gICAgLyogMiAqL1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItcGFkZGluZy10b3AgMCAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItcGFkZGluZy1ib3R0b20gMDtcbiAgICAtLXVrLXBvc2l0aW9uLW9mZnNldDogI3skbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2lufTtcbiAgICAtLXVrLXBvc2l0aW9uLXNoaWZ0LW9mZnNldDogI3skbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItc2hpZnQtbWFyZ2lufTtcbiAgICAtLXVrLXBvc2l0aW9uLXZpZXdwb3J0LW9mZnNldDogI3skbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItdmlld3BvcnQtbWFyZ2lufTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcigpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyIHsgLS11ay1wb3NpdGlvbi12aWV3cG9ydC1vZmZzZXQ6ICN7JG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLXZpZXdwb3J0LW1hcmdpbi1zfTsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyIHsgLS11ay1wb3NpdGlvbi12aWV3cG9ydC1vZmZzZXQ6ICN7JG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLXZpZXdwb3J0LW1hcmdpbi1tfTsgfVxuXG59XG5cbi51ay1uYXZiYXItZHJvcGRvd24tZHJvcGJhci1sYXJnZSB7XG4gICAgLS11ay1wb3NpdGlvbi1zaGlmdC1vZmZzZXQ6ICN7JG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLWxhcmdlLXNoaWZ0LW1hcmdpbn07XG4gICAgcGFkZGluZy10b3A6ICRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1sYXJnZS1wYWRkaW5nLXRvcDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1kcm9wZG93bi1kcm9wYmFyLWxhcmdlLXBhZGRpbmctYm90dG9tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhci1sYXJnZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyLWxhcmdlKCk7fVxufVxuXG5cbi8qIERyb3Bkb3duIE5hdlxuICogQWRvcHRzIGB1ay1uYXZgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2KSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBTdWJ0aXRsZVxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VidGl0bGUtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LXN1YnRpdGxlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJ0aXRsZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3ZlciB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOyB9XG5cblxuLyogRHJvcGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWRyb3BuYXYtZHJvcGJhcmBcbiAqL1xuXG4udWstbmF2YmFyLWRyb3BiYXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGJhcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wYmFyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1taXNjKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1jb250YWluZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN1YnRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItc3RpY2t5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhci1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJ0aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTdWJuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHN1YiBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3VibmF2YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXN1Ym5hdi1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc3VibmF2LXBpbGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmlyc3QtY29sdW1uYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIENlbnRlciBpdGVtcyB2ZXJ0aWNhbGx5IGlmIHRoZXkgaGF2ZSBhIGRpZmZlcmVudCBoZWlnaHRcbiAqIDMuIEd1dHRlclxuICogNC4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1zdWJuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2KSkge0BpbmNsdWRlIGhvb2stc3VibmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstc3VibmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIFVzaW5nIGA6Zmlyc3QtY2hpbGRgIGluc3RlYWQgb2YgYGFgIHRvIHN1cHBvcnQgYHNwYW5gIGVsZW1lbnRzIGZvciB0ZXh0XG4gKiAxLiBDZW50ZXIgY29udGVudCB2ZXJ0aWNhbGx5LCBlLmcuIGFuIGljb25cbiAqIDIuIEltaXRhdGUgd2hpdGUgc3BhY2UgZ2FwIHdoZW4gdXNpbmcgZmxleGJveFxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstc3VibmF2ID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAyICovXG4gICAgY29sdW1uLWdhcDogMC4yNWVtO1xuICAgIC8qIDMgKi9cbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstc3VibmF2ID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogRGl2aWRlciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTZXQgZ3V0dGVyXG4gKi9cblxuLnVrLXN1Ym5hdi1kaXZpZGVyIHsgbWFyZ2luLWxlZnQ6IC0oKCRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbCAqIDIpICsgJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aCk7IH1cblxuLypcbiAqIEFsaWduIGl0ZW1zIGFuZCBkaXZpZGVyIHZlcnRpY2FsbHlcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiAqIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKiAxLiBgbnRoLWNoaWxkYCBtYWtlcyBpdCBhbHNvIHdvcmsgd2l0aG91dCBKUyBpZiBpdCdzIG9ubHkgb25lIHJvd1xuICovXG5cbi51ay1zdWJuYXYtZGl2aWRlciA+IDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci1oZWlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6ICgkc3VibmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWwgLSAkc3VibmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBtYXJnaW4tcmlnaHQ6ICRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBib3JkZXItbGVmdDogJHN1Ym5hdi1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLyogMSAqL1xuLnVrLXN1Ym5hdi1kaXZpZGVyID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHN1Ym5hdi1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtZGl2aWRlcigpO31cbn1cblxuXG4vKiBQaWxsIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEd1dHRlclxuICovXG5cbi51ay1zdWJuYXYtcGlsbCB7IG1hcmdpbi1sZWZ0OiAoLSRzdWJuYXYtcGlsbC1tYXJnaW4taG9yaXpvbnRhbCk7IH1cbi51ay1zdWJuYXYtcGlsbCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRzdWJuYXYtcGlsbC1tYXJnaW4taG9yaXpvbnRhbDsgfVxuXG4udWstc3VibmF2LXBpbGwgPiAqID4gOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nOiAkc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLXZlcnRpY2FsICRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEJyZWFkY3J1bWJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGJyZWFkY3J1bWIgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJyZWFkY3J1bWJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJyZWFkY3J1bWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzZXQgbGlzdFxuICogMi4gUmVtb3ZlIHNwYWNlIGJldHdlZW4gZWxlbWVudHNcbiAqL1xuXG4udWstYnJlYWRjcnVtYiB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgZm9udC1zaXplOiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYigpO31cbn1cblxuLypcbiAqIDEuIERvZXNuJ3QgZ2VuZXJhdGUgYW55IGJveCBhbmQgcmVwbGFjZWQgYnkgY2hpbGQgYm94ZXNcbiAqL1xuXG4udWstYnJlYWRjcnVtYiA+ICogeyBkaXNwbGF5OiBjb250ZW50czsgfVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJyZWFkY3J1bWIgPiAqID4gKiB7XG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWJyZWFkY3J1bWIgPiAqID4gOmhvdmVyIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRicmVhZGNydW1iLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnJlYWRjcnVtYiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWJyZWFkY3J1bWIgPiA6bGFzdC1jaGlsZCA+IHNwYW4sXG4udWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gYTpub3QoW2hyZWZdKSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqIGBudGgtY2hpbGRgIG1ha2VzIGl0IGFsc28gd29yayB3aXRob3V0IEpTIGlmIGl0J3Mgb25seSBvbmUgcm93XG4gKiAxLiBSZW1vdmUgc3BhY2UgYmV0d2VlbiBpbmxpbmUgYmxvY2sgZWxlbWVudHMuXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1icmVhZGNydW1iID4gOm50aC1jaGlsZChuKzIpOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkYnJlYWRjcnVtYi1kaXZpZGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwICRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWItZGl2aWRlci1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGFnaW5hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgcGFnZSBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstcGFnaW5hdGlvbmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1wYWdpbmF0aW9uLW5leHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWdpbmF0aW9uLXByZXZpb3VzYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBQYWdpbmF0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBDZW50ZXIgaXRlbXMgdmVydGljYWxseSBpZiB0aGV5IGhhdmUgYSBkaWZmZXJlbnQgaGVpZ2h0XG4gKiAzLiBHdXR0ZXJcbiAqIDQuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qIDIgKi9cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDMgKi9cbiAgICBtYXJnaW4tbGVmdDogKC0kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbikpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24oKTt9XG59XG5cbi8qXG4gKiAxLiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqIDIuIEd1dHRlclxuICogMy4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHQgZm9yIGRyb3Bkb3duc1xuICovXG5cbi51ay1wYWdpbmF0aW9uID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgY29udGVudCB2ZXJ0aWNhbGx5LCBlLmcuIGFuIGljb25cbiAqIDIuIEltaXRhdGUgd2hpdGUgc3BhY2UgZ2FwIHdoZW4gdXNpbmcgZmxleGJveFxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstcGFnaW5hdGlvbiA+ICogPiAqIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDIgKi9cbiAgICBjb2x1bW4tZ2FwOiAwLjI1ZW07XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcGFnaW5hdGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciAqL1xuLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRhYlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgdGFiYmVkIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10YWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGFiLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYi1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFiLXJpZ2h0YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUYWJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG5cbi51ay10YWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHRhYi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiKSkge0BpbmNsdWRlIGhvb2stdGFiKCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstdGFiID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHRhYi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIDEuIENlbnRlciBjb250ZW50IHZlcnRpY2FsbHksIGUuZy4gYW4gaWNvblxuICogMi4gSW1pdGF0ZSB3aGl0ZSBzcGFjZSBnYXAgd2hlbiB1c2luZyBmbGV4Ym94XG4gKiAzLiBDZW50ZXIgY29udGVudCBpZiBhIHdpZHRoIGlzIHNldFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstdGFiID4gKiA+IGEge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIGNvbHVtbi1nYXA6IDAuMjVlbTtcbiAgICAvKiAzICovXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLyogNCAqL1xuICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsICR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICR0YWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay10YWIgPiAqID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG4vKiBEaXNhYmxlZCAqL1xuLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQoKTt9XG59XG5cblxuLyogUG9zaXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQm90dG9tXG4gKi9cblxuLnVrLXRhYi1ib3R0b20ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItYm90dG9tKSkge0BpbmNsdWRlIGhvb2stdGFiLWJvdHRvbSgpO31cbn1cblxuLnVrLXRhYi1ib3R0b20gPiAqID4gYSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1ib3R0b20taXRlbSkpIHtAaW5jbHVkZSBob29rLXRhYi1ib3R0b20taXRlbSgpO31cbn1cblxuLypcbiAqIExlZnQgKyBSaWdodFxuICogMS4gUmVzZXQgR3V0dGVyXG4gKi9cblxuLnVrLXRhYi1sZWZ0LFxuLnVrLXRhYi1yaWdodCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8qIDEgKi9cbi51ay10YWItbGVmdCA+ICosXG4udWstdGFiLXJpZ2h0ID4gKiB7IHBhZGRpbmctbGVmdDogMDsgfVxuXG4udWstdGFiLWxlZnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItbGVmdCkpIHtAaW5jbHVkZSBob29rLXRhYi1sZWZ0KCk7fVxufVxuXG4udWstdGFiLXJpZ2h0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLXJpZ2h0KSkge0BpbmNsdWRlIGhvb2stdGFiLXJpZ2h0KCk7fVxufVxuXG4udWstdGFiLWxlZnQgPiAqID4gYSB7XG4gICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItbGVmdC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWxlZnQtaXRlbSgpO31cbn1cblxuLnVrLXRhYi1yaWdodCA+ICogPiBhIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1yaWdodC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLXJpZ2h0LWl0ZW0oKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10YWItbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGFiKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1ib3R0b20taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1sZWZ0KCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWxlZnQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1yaWdodC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNsaWRlbmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgcHJldmlvdXMvbmV4dCBpY29uIG5hdmlnYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc2xpZGVuYXZgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2xpZGVuYXYtY29udGFpbmVyYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNsaWRlbmF2LXByZXZpb3VzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2xpZGVuYXYtbmV4dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNsaWRlbmF2LWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNsaWRlbmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstc2xpZGVuYXYge1xuICAgIHBhZGRpbmc6ICRzbGlkZW5hdi1wYWRkaW5nLXZlcnRpY2FsICRzbGlkZW5hdi1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdigpO31cbn1cblxuLyogSG92ZXIgKi9cbi51ay1zbGlkZW5hdjpob3ZlciB7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayAqL1xuLnVrLXNsaWRlbmF2OmFjdGl2ZSB7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWFjdGl2ZSgpO31cbn1cblxuXG4vKiBJY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZpb3VzXG4gKi9cblxuLnVrLXNsaWRlbmF2LXByZXZpb3VzIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtcHJldmlvdXMpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1wcmV2aW91cygpO31cbn1cblxuLypcbiAqIE5leHRcbiAqL1xuXG4udWstc2xpZGVuYXYtbmV4dCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LW5leHQpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1uZXh0KCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2xpZGVuYXYtbGFyZ2Uge1xuICAgIHBhZGRpbmc6ICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LWxhcmdlKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtbGFyZ2UoKTt9XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNsaWRlbmF2LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtY29udGFpbmVyKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtY29udGFpbmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtcHJldmlvdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1uZXh0KCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1jb250YWluZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEb3RuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBkb3QgbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kb3RuYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstZG90bmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEb3RuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay1kb3RuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdikpIHtAaW5jbHVkZSBob29rLWRvdG5hdigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqIDEuIEhpZGUgdGV4dCBpZiBwcmVzZW50XG4gKi9cblxuLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkZG90bmF2LWl0ZW0td2lkdGg7XG4gICAgaGVpZ2h0OiAkZG90bmF2LWl0ZW0taGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICovXG4udWstZG90bmF2ID4gKiA+IDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBNb2RpZmllcjogJ3VrLWRvdG5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJGRvdG5hdi1tYXJnaW4tdmVydGljYWwpO1xufVxuXG4vKiAyICovXG4udWstZG90bmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kb3RuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEcm9wZG93blxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgZHJvcGRvd24gYmFzZWQgb24gRHJvcCBjb21wb25lbnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kcm9wZG93bmBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1kcm9wZG93bi1uYXZgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZHJvcGRvd24tbGFyZ2VgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEcm9wZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWRyb3BgXG4gKiAxLiBSZXNldCBkcm9wIGFuZCBsZXQgdGV4dCBleHBhbmQgdGhlIHdpZHRoIGluc3RlYWQgb2Ygd3JhcHBpbmdcbiAqIDIuIFNldCBhIGRlZmF1bHQgd2lkdGhcbiAqIDMuIFN0eWxlXG4gKi9cblxuLnVrLWRyb3Bkb3duIHtcbiAgICAtLXVrLXBvc2l0aW9uLW9mZnNldDogI3skZHJvcGRvd24tbWFyZ2lufTtcbiAgICAtLXVrLXBvc2l0aW9uLXZpZXdwb3J0LW9mZnNldDogI3skZHJvcGRvd24tdmlld3BvcnQtbWFyZ2lufTtcbiAgICAtLXVrLWludmVyc2U6ICN7JGRyb3Bkb3duLWNvbG9yLW1vZGV9O1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogYXV0bztcbiAgICAvKiAyICovXG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd24tbWluLXdpZHRoO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWRyb3Bkb3duID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRkcm9wZG93bi1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstZHJvcGRvd24geyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkZHJvcGRvd24tY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstZHJvcGRvd24geyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuQGlmICgkZHJvcGRvd24tY29sb3ItbW9kZSAhPSAkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSkge1xuLnVrLWRyb3Bkb3duIDpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lLWNvbG9yOiAkZHJvcGRvd24tZm9jdXMtb3V0bGluZSAhaW1wb3J0YW50O1xufVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZHJvcGRvd24tbGFyZ2UgeyBwYWRkaW5nOiAkZHJvcGRvd24tbGFyZ2UtcGFkZGluZzsgfVxuXG5cbi8qIERyb3BiYXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVzZXQgZHJvcGRvd24gd2lkdGggdG8gcHJldmVudCB0byBlYXJseSBzaGlmdGluZ1xuICogMi4gUmVzZXQgc3R5bGVcbiAqIDMuIFBhZGRpbmdcbiAqL1xuXG4udWstZHJvcGRvd24tZHJvcGJhciB7XG4gICAgLS11ay1wb3NpdGlvbi1vZmZzZXQ6ICN7JGRyb3Bkb3duLWRyb3BiYXItbWFyZ2lufTtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IGF1dG87XG4gICAgLyogMiAqL1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAkZHJvcGRvd24tZHJvcGJhci1wYWRkaW5nLXRvcCAwICRkcm9wZG93bi1kcm9wYmFyLXBhZGRpbmctYm90dG9tIDA7XG4gICAgLS11ay1wb3NpdGlvbi12aWV3cG9ydC1vZmZzZXQ6ICN7JGRyb3Bkb3duLWRyb3BiYXItdmlld3BvcnQtbWFyZ2lufTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tZHJvcGJhcikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLWRyb3BiYXIoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1kcm9wZG93bi1kcm9wYmFyIHsgLS11ay1wb3NpdGlvbi12aWV3cG9ydC1vZmZzZXQ6ICN7JGRyb3Bkb3duLWRyb3BiYXItdmlld3BvcnQtbWFyZ2luLXN9OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZHJvcGRvd24tZHJvcGJhciB7IC0tdWstcG9zaXRpb24tdmlld3BvcnQtb2Zmc2V0OiAjeyRkcm9wZG93bi1kcm9wYmFyLXZpZXdwb3J0LW1hcmdpbi1tfTsgfVxuXG59XG5cbi51ay1kcm9wZG93bi1kcm9wYmFyLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJGRyb3Bkb3duLWRyb3BiYXItbGFyZ2UtcGFkZGluZy10b3A7XG4gICAgcGFkZGluZy1ib3R0b206ICRkcm9wZG93bi1kcm9wYmFyLWxhcmdlLXBhZGRpbmctYm90dG9tO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1kcm9wYmFyLWxhcmdlKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tZHJvcGJhci1sYXJnZSgpO31cbn1cblxuXG4vKiBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wZG93bi1uYXYge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYpKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bi1uYXYoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1kcm9wZG93bi1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgQWN0aXZlICovXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhOmhvdmVyLFxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJ0aXRsZVxuICovXG5cbi51ay1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAkZHJvcGRvd24tbmF2LXN1YnRpdGxlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2LXN1YnRpdGxlKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LXN1YnRpdGxlKCk7fVxufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbWlzYykpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tZHJvcGJhcigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLWRyb3BiYXItbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LXN1YnRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTGlnaHRib3hcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhbiBsaWdodGJveCBpbWFnZSBnYWxsZXJ5XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlnaHRib3hgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbGlnaHRib3gtcGFnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWl0ZW1zYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtaXRlbXMtZml0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtdGh1bWJuYXZgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC10aHVtYm5hdi12ZXJ0aWNhbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWRvdG5hdmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWNhcHRpb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC1jb3VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtaWZyYW1lYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtem9vbWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaWdodGJveFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKiA3LiBQcmV2ZW50IGNhbmNlbGxhdGlvbiBvZiBwb2ludGVyIGV2ZW50cyB3aGlsZSBkcmFnZ2luZ1xuICovXG5cbi51ay1saWdodGJveCB7XG4gICAgLS11ay1pbnZlcnNlOiAjeyRsaWdodGJveC1jb2xvci1tb2RlfTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkbGlnaHRib3gtei1pbmRleDtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgLyogNyAqL1xuICAgIHRvdWNoLWFjdGlvbjogcGluY2gtem9vbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveCgpO31cbn1cblxuLypcbiAqIE9wZW5cbiAqIDEuIENlbnRlciBjaGlsZFxuICogMi4gRmFkZS1pblxuICovXG5cbi51ay1saWdodGJveC51ay1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgb3BhY2l0eTogMTtcbn1cblxuLypcbiAqIEZvY3VzXG4gKi9cblxuLnVrLWxpZ2h0Ym94IDpmb2N1cy12aXNpYmxlIHsgb3V0bGluZS1jb2xvcjogJGxpZ2h0Ym94LWZvY3VzLW91dGxpbmU7IH1cblxuXG4vKiBQYWdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgc2Nyb2xsYmFyc1xuICovXG5cbi51ay1saWdodGJveC1wYWdlIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstbGlnaHRib3gtaXRlbXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBDZW50ZXIgY2hpbGQgd2l0aGluIHRoZSB2aWV3cG9ydFxuICogMi4gTm90IHZpc2libGUgYnkgZGVmYXVsdFxuICogMy4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA0LiBSZXNwb25zaXZlbmVzc1xuICogICAgVXNpbmcgYHZoYCBmb3IgYG1heC1oZWlnaHRgIHRvIGZpeCBpbWFnZSBwcm9wb3J0aW9ucyBhZnRlciByZXNpemUgaW4gU2FmYXJpIGFuZCBPcGVyYVxuICovXG5cbi51ay1saWdodGJveC1pdGVtcyA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIC8qIDMgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIC8qIDQgKi9cbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtaXRlbSkpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LWl0ZW0oKTt9XG59XG5cbi8qIDIgKi9cbi51ay1saWdodGJveC1pdGVtcyA+IC51ay1hY3RpdmUgeyBkaXNwbGF5OiBmbGV4OyB9XG5cbi51ay1saWdodGJveC1pdGVtcy1maXQgPiAqIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4vKiA0ICovXG4udWstbGlnaHRib3gtaXRlbXMtZml0ID4gKiA+ICoge1xuICAgIG1heC13aWR0aDogJGxpZ2h0Ym94LWl0ZW0tbWF4LXdpZHRoO1xuICAgIG1heC1oZWlnaHQ6ICRsaWdodGJveC1pdGVtLW1heC1oZWlnaHQ7XG59XG5cbi51ay1saWdodGJveC1pdGVtcy1maXQgPiAqID4gOm5vdChpZnJhbWUpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qIFpvb20gQ3Vyc29yICovXG4udWstbGlnaHRib3gtaXRlbXMudWstbGlnaHRib3gtaXRlbXMtZml0IC51ay1saWdodGJveC16b29tOmhvdmVyIHsgY3Vyc29yOiB6b29tLWluOyB9XG4udWstbGlnaHRib3gtaXRlbXM6bm90KC51ay1saWdodGJveC1pdGVtcy1maXQpIC51ay1saWdodGJveC16b29tOmhvdmVyIHsgY3Vyc29yOiB6b29tLW91dDsgfVxuXG5cbi8qIE5hdnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGlnaHRib3gtdGh1bWJuYXYtdmVydGljYWwgOndoZXJlKGltZywgdmlkZW8pIHsgbWF4LXdpZHRoOiAkbGlnaHRib3gtdGh1bWJuYXYtdmVydGljYWwtd2lkdGg7IH1cbi51ay1saWdodGJveC10aHVtYm5hdjpub3QoLnVrLWxpZ2h0Ym94LXRodW1ibmF2LXZlcnRpY2FsKSA6d2hlcmUoaW1nLCB2aWRlbykgeyBtYXgtaGVpZ2h0OiAkbGlnaHRib3gtdGh1bWJuYXYtaGVpZ2h0OyB9XG5cbi51ay1saWdodGJveC10aHVtYm5hdjplbXB0eSxcbi51ay1saWdodGJveC1kb3RuYXY6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogQ2FwdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC1jYXB0aW9uOmVtcHR5IHsgZGlzcGxheTogbm9uZTsgfVxuXG4udWstbGlnaHRib3gtY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJGxpZ2h0Ym94LWNhcHRpb24tcGFkZGluZy12ZXJ0aWNhbCAkbGlnaHRib3gtY2FwdGlvbi1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxpZ2h0Ym94LWNhcHRpb24tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94LWNhcHRpb24pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1jYXB0aW9uKCk7fVxufVxuXG4udWstbGlnaHRib3gtY2FwdGlvbiA+ICogeyBjb2xvcjogJGxpZ2h0Ym94LWNhcHRpb24tY29sb3I7IH1cblxuXG4vKiBDb3VudGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LWNvdW50ZXI6ZW1wdHkgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogSWZyYW1lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LWlmcmFtZSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IDgwJTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1taXNjKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3goKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtY2FwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFuaW1hdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGtleWZyYW1lIGFuaW1hdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbmltYXRpb24tKmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1hbmltYXRpb24tZmFkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS11cGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zY2FsZS1kb3duYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWtlbmJ1cm5zYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNoYWtlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXN0cm9rZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1yZXZlcnNlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLWZhc3RgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYW5pbWF0aW9uLXRvZ2dsZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFuaW1hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9XCJ1ay1hbmltYXRpb24tXCJdIHsgYW5pbWF0aW9uOiAkYW5pbWF0aW9uLWR1cmF0aW9uIGVhc2Utb3V0IGJvdGg7IH1cblxuXG4vKiBBbmltYXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstYW5pbWF0aW9uLWZhZGUge1xuICAgIGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1mYWRlLWR1cmF0aW9uO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuLypcbiAqIFNjYWxlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zY2FsZS11cCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zY2FsZS11cDsgfVxuLnVrLWFuaW1hdGlvbi1zY2FsZS1kb3duIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNjYWxlLWRvd247IH1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZSwgdWstc2xpZGUtdG9wOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWJvdHRvbSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS1ib3R0b207IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS1sZWZ0OyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0IHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLXJpZ2h0OyB9XG5cbi8qXG4gKiBTbGlkZSBTbWFsbFxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLXRvcC1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1ib3R0b20tc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZSwgdWstc2xpZGUtYm90dG9tLXNtYWxsOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZSwgdWstc2xpZGUtbGVmdC1zbWFsbDsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1zbWFsbCB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS1yaWdodC1zbWFsbDsgfVxuXG4vKlxuICogU2xpZGUgTWVkaXVtXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLXRvcC1tZWRpdW07IH1cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS1ib3R0b20tbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUsIHVrLXNsaWRlLWxlZnQtbWVkaXVtOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLCB1ay1zbGlkZS1yaWdodC1tZWRpdW07IH1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1rZW5idXJucyB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLWtlbmJ1cm5zO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjtcbn1cblxuLypcbiAqIFNoYWtlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zaGFrZSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1zaGFrZTsgfVxuXG4vKlxuICogU1ZHIFN0cm9rZVxuICogVGhlIGAtLXVrLWFuaW1hdGlvbi1zdHJva2VgIGN1c3RvbSBwcm9wZXJ0eSBjb250YWlucyB0aGUgbG9uZ2VzdCBwYXRoIGxlbmd0aC5cbiAqIFNldCBpdCBtYW51YWxseSBvciB1c2UgYHVrLXN2Zz1cInN0cm9rZS1hbmltYXRpb246IHRydWVcImAgdG8gc2V0IGl0IGF1dG9tYXRpY2FsbHkuXG4gKiBBbGwgc3Ryb2tlcyBhcmUgYW5pbWF0ZWQgYnkgdGhlIHNhbWUgcGFjZSBhbmQgZG9lc24ndCBlbmQgc2ltdWx0YW5lb3VzbHkuXG4gKiBUbyBlbmQgc2ltdWx0YW5lb3VzbHksIGBwYXRoTGVuZ3RoPVwiMVwiYCBjb3VsZCBiZSB1c2VkLCBidXQgaXQncyBub3Qgd29ya2luZyBpbiBTYWZhcmkgeWV0LlxuICovXG5cbi51ay1hbmltYXRpb24tc3Ryb2tlIHtcbiAgICBhbmltYXRpb24tbmFtZTogdWstc3Ryb2tlO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1zdHJva2UtZHVyYXRpb247XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogdmFyKC0tdWstYW5pbWF0aW9uLXN0cm9rZSk7XG59XG5cblxuLyogRGlyZWN0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFuaW1hdGlvbi1yZXZlcnNlIHtcbiAgICBhbmltYXRpb24tZGlyZWN0aW9uOiByZXZlcnNlO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYW5pbWF0aW9uLWZhc3QgeyBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjsgfVxuXG5cbi8qIFRvZ2dsZSBhbmltYXRpb24gYmFzZWQgb24gdGhlIFN0YXRlIG9mIHRoZSBQYXJlbnQgRWxlbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbmltYXRpb24tdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIFtjbGFzcyo9XCJ1ay1hbmltYXRpb24tXCJdIHsgYW5pbWF0aW9uLW5hbWU6IG5vbmU7IH1cblxuXG4vKiBLZXlmcmFtZXMgdXNlZCBieSBhbmltYXRpb24gY2xhc3Nlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlIHtcbiAgICAwJSB7IG9wYWNpdHk6IDA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuXG4vKlxuICogU2NhbGVcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLXNjYWxlLXVwIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMC45KTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5cbkBrZXlmcmFtZXMgdWstc2NhbGUtZG93biB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuXG4vKlxuICogU2xpZGVcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLXNsaWRlLXRvcCB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLXNsaWRlLWJvdHRvbSB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbkBrZXlmcmFtZXMgdWstc2xpZGUtbGVmdCB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLXNsaWRlLXJpZ2h0IHtcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbn1cblxuLypcbiAqIFNsaWRlIFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1zbGlkZS10b3Atc21hbGwge1xuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbkBrZXlmcmFtZXMgdWstc2xpZGUtYm90dG9tLXNtYWxsIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbkBrZXlmcmFtZXMgdWstc2xpZGUtbGVmdC1zbWFsbCB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbn1cblxuQGtleWZyYW1lcyB1ay1zbGlkZS1yaWdodC1zbWFsbCB7XG4gICAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxufVxuXG4vKlxuICogU2xpZGUgTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1zbGlkZS10b3AtbWVkaXVtIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cblxuQGtleWZyYW1lcyB1ay1zbGlkZS1ib3R0b20tbWVkaXVtIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIHVrLXNsaWRlLWxlZnQtbWVkaXVtIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbn1cblxuQGtleWZyYW1lcyB1ay1zbGlkZS1yaWdodC1tZWRpdW0ge1xuICAgIDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbiAgICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG59XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG5cbkBrZXlmcmFtZXMgdWsta2VuYnVybnMge1xuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbn1cblxuLypcbiAqIFNoYWtlXG4gKi9cblxuQGtleWZyYW1lcyB1ay1zaGFrZSB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgICAxMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTlweCk7IH1cbiAgICAyMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuICAgIDMwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtN3B4KTsgfVxuICAgIDQwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XG4gICAgNjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cbiAgICA3MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7IH1cbiAgICA4MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxuICAgIDkwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTsgfVxufVxuXG4vKlxuICogU3Ryb2tlXG4gKi9cblxuIEBrZXlmcmFtZXMgdWstc3Ryb2tlIHtcbiAgICAwJSB7IHN0cm9rZS1kYXNob2Zmc2V0OiB2YXIoLS11ay1hbmltYXRpb24tc3Ryb2tlKTsgfVxuICAgIDEwMCUgeyBzdHJva2UtZGFzaG9mZnNldDogMDsgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFuaW1hdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYW5pbWF0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFuaW1hdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBXaWR0aFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHdpZHRoc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNoaWxkLXdpZHRoLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay13aWR0aC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogV2lkdGhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIEVxdWFsIGNoaWxkIHdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9XCJ1ay1jaGlsZC13aWR0aFwiXSA+ICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi51ay1jaGlsZC13aWR0aC0xLTIgPiAqIHsgd2lkdGg6IDUwJTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtMyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC8gMyknKTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNCA+ICogeyB3aWR0aDogMjUlOyB9XG4udWstY2hpbGQtd2lkdGgtMS01ID4gKiB7IHdpZHRoOiAyMCU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTYgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAvIDYpJyk7IH1cblxuLnVrLWNoaWxkLXdpZHRoLWF1dG8gPiAqIHsgd2lkdGg6IGF1dG87IH1cblxuLypcbiAqIDEuIFJlc2V0IHRoZSBgbWluLXdpZHRoYCwgd2hpY2ggaXMgc2V0IHRvIGF1dG8gYnkgZGVmYXVsdCwgYmVjYXVzZVxuICogICAgZmxleCBpdGVtcyB3b24ndCBzaHJpbmsgYmVsb3cgdGhlaXIgbWluaW11bSBpbnRyaW5zaWMgY29udGVudCBzaXplLlxuICogICAgVXNpbmcgYDFweGAgaW5zdGVhZCBvZiBgMGAsIHNvIGl0ZW1zIHN0aWxsIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lLFxuICogICAgaWYgdGhleSBoYXZlIHplcm8gd2lkdGggYW5kIHBhZGRpbmcgYW5kIHRoZSBwcmVkZWNlc3NvciBpcyAxMDAlIHdpZGUuXG4gKi9cblxuLnVrLWNoaWxkLXdpZHRoLWV4cGFuZCA+IDpub3QoW2NsYXNzKj1cInVrLXdpZHRoXCJdKSB7XG4gICAgZmxleDogMTtcbiAgICAvKiAxICovXG4gICAgbWluLXdpZHRoOiAxcHg7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEBzID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHMgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEBzID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLyAzKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHMgPiAqIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTVcXEBzID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAcyA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC8gNiknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBzID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHMgPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAvKiBSZXNldCBleHBhbmQgKi9cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAcyA+IDpub3QoW2NsYXNzKj1cInVrLXdpZHRoXCJdKSxcbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAcyA+IDpub3QoW2NsYXNzKj1cInVrLXdpZHRoXCJdKSxcbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAcyA+IDpub3QoW2NsYXNzKj1cInVrLXdpZHRoXCJdKSxcbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAcyA+IDpub3QoW2NsYXNzKj1cInVrLXdpZHRoXCJdKSxcbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAcyA+IDpub3QoW2NsYXNzKj1cInVrLXdpZHRoXCJdKSxcbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAcyA+IDpub3QoW2NsYXNzKj1cInVrLXdpZHRoXCJdKSxcbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHMgPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSkgeyBmbGV4OiBpbml0aWFsOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbSA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBtID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbSA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC8gMyknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBtID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAbSA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQG0gPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAvIDYpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbSA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBtID4gOm5vdChbY2xhc3MqPVwidWstd2lkdGhcIl0pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgLyogUmVzZXQgZXhwYW5kICovXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQG0gPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQG0gPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQG0gPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQG0gPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQG0gPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQG0gPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBtID4gOm5vdChbY2xhc3MqPVwidWstd2lkdGhcIl0pIHsgZmxleDogaW5pdGlhbDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAbCA+ICogeyB3aWR0aDogMTAwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTJcXEBsID4gKiB7IHdpZHRoOiA1MCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0zXFxAbCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC8gMyknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBsID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAbCA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAvIDYpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbCA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBsID4gOm5vdChbY2xhc3MqPVwidWstd2lkdGhcIl0pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgLyogUmVzZXQgZXhwYW5kICovXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQGwgPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQGwgPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQGwgPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQGwgPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQGwgPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQGwgPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBsID4gOm5vdChbY2xhc3MqPVwidWstd2lkdGhcIl0pIHsgZmxleDogaW5pdGlhbDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAeGwgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAeGwgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEB4bCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC8gMyknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEB4bCA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHhsID4gKiB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS02XFxAeGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAvIDYpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAeGwgPiAqIHsgd2lkdGg6IGF1dG87IH1cbiAgICAudWstY2hpbGQtd2lkdGgtZXhwYW5kXFxAeGwgPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSkge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDFweDtcbiAgICB9XG5cbiAgICAvKiBSZXNldCBleHBhbmQgKi9cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAeGwgPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHhsID4gOm5vdChbY2xhc3MqPVwidWstd2lkdGhcIl0pLFxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEB4bCA+IDpub3QoW2NsYXNzKj1cInVrLXdpZHRoXCJdKSxcbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAeGwgPiA6bm90KFtjbGFzcyo9XCJ1ay13aWR0aFwiXSksXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHhsID4gOm5vdChbY2xhc3MqPVwidWstd2lkdGhcIl0pLFxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEB4bCA+IDpub3QoW2NsYXNzKj1cInVrLXdpZHRoXCJdKSxcbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHhsID4gOm5vdChbY2xhc3MqPVwidWstd2lkdGhcIl0pIHsgZmxleDogaW5pdGlhbDsgfVxuXG59XG5cblxuLyogU2luZ2xlIFdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBgbWF4LXdpZHRoYCBpcyBuZWVkZWQgZm9yIHRoZSBwaXhlbC1iYXNlZCBjbGFzc2VzXG4gKi9cblxuW2NsYXNzKj1cInVrLXdpZHRoXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8qIEhhbHZlcyAqL1xuLnVrLXdpZHRoLTEtMiB7IHdpZHRoOiA1MCU7IH1cblxuLyogVGhpcmRzICovXG4udWstd2lkdGgtMS0zIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAvIDMpJyk7IH1cbi51ay13aWR0aC0yLTMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygyMDAlIC8gMyknKTsgfVxuXG4vKiBRdWFydGVycyAqL1xuLnVrLXdpZHRoLTEtNCB7IHdpZHRoOiAyNSU7IH1cbi51ay13aWR0aC0zLTQgeyB3aWR0aDogNzUlOyB9XG5cbi8qIEZpZnRocyAqL1xuLnVrLXdpZHRoLTEtNSB7IHdpZHRoOiAyMCU7IH1cbi51ay13aWR0aC0yLTUgeyB3aWR0aDogNDAlOyB9XG4udWstd2lkdGgtMy01IHsgd2lkdGg6IDYwJTsgfVxuLnVrLXdpZHRoLTQtNSB7IHdpZHRoOiA4MCU7IH1cblxuLyogU2l4dGhzICovXG4udWstd2lkdGgtMS02IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAvIDYpJyk7IH1cbi51ay13aWR0aC01LTYgeyB3aWR0aDogdW5xdW90ZSgnY2FsYyg1MDAlIC8gNiknKTsgfVxuXG4vKiBQaXhlbCAqL1xuLnVrLXdpZHRoLXNtYWxsIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuLnVrLXdpZHRoLW1lZGl1bSB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4udWstd2lkdGgtbGFyZ2UgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4udWstd2lkdGgteGxhcmdlIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbi51ay13aWR0aC0yeGxhcmdlIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG5AaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay13aWR0aC14eGxhcmdlIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG59XG5cbi8qIEF1dG8gKi9cbi51ay13aWR0aC1hdXRvIHsgd2lkdGg6IGF1dG87IH1cblxuLyogRXhwYW5kICovXG4udWstd2lkdGgtZXhwYW5kIHtcbiAgICBmbGV4OiAxO1xuICAgIG1pbi13aWR0aDogMXB4O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBzIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBzIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC8gMyknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMjAwJSAvIDMpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQHMgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQHMgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAcyB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAcyB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAcyB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAcyB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAvIDYpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAcyB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwMCUgLyA2KScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQHMgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQHMgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC0yeGxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLXdpZHRoLXh4bGFyZ2VcXEBzIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG59XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBzIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEBzIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgLyogUmVzZXQgZXhwYW5kICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQHMsXG4gICAgLnVrLXdpZHRoLTEtMlxcQHMsXG4gICAgLnVrLXdpZHRoLTEtM1xcQHMsXG4gICAgLnVrLXdpZHRoLTItM1xcQHMsXG4gICAgLnVrLXdpZHRoLTEtNFxcQHMsXG4gICAgLnVrLXdpZHRoLTMtNFxcQHMsXG4gICAgLnVrLXdpZHRoLTEtNVxcQHMsXG4gICAgLnVrLXdpZHRoLTItNVxcQHMsXG4gICAgLnVrLXdpZHRoLTMtNVxcQHMsXG4gICAgLnVrLXdpZHRoLTQtNVxcQHMsXG4gICAgLnVrLXdpZHRoLTEtNlxcQHMsXG4gICAgLnVrLXdpZHRoLTUtNlxcQHMsXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAcyxcbiAgICAudWstd2lkdGgtbWVkaXVtXFxAcyxcbiAgICAudWstd2lkdGgtbGFyZ2VcXEBzLFxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBzLFxuICAgIC51ay13aWR0aC0yeGxhcmdlXFxAcyxcbiAgICAudWstd2lkdGgtYXV0b1xcQHMgeyBmbGV4OiBpbml0aWFsOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBtIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBtIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQG0geyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC8gMyknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMjAwJSAvIDMpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQG0geyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQG0geyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAbSB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAbSB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAbSB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAbSB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAvIDYpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwMCUgLyA2KScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQG0geyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQG0geyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC0yeGxhcmdlXFxAbSB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLXdpZHRoLXh4bGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG59XG5cbiAgICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAbSB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAbSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxuICAgIC8qIFJlc2V0IGV4cGFuZCAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBtLFxuICAgIC51ay13aWR0aC0xLTJcXEBtLFxuICAgIC51ay13aWR0aC0xLTNcXEBtLFxuICAgIC51ay13aWR0aC0yLTNcXEBtLFxuICAgIC51ay13aWR0aC0xLTRcXEBtLFxuICAgIC51ay13aWR0aC0zLTRcXEBtLFxuICAgIC51ay13aWR0aC0xLTVcXEBtLFxuICAgIC51ay13aWR0aC0yLTVcXEBtLFxuICAgIC51ay13aWR0aC0zLTVcXEBtLFxuICAgIC51ay13aWR0aC00LTVcXEBtLFxuICAgIC51ay13aWR0aC0xLTZcXEBtLFxuICAgIC51ay13aWR0aC01LTZcXEBtLFxuICAgIC51ay13aWR0aC1zbWFsbFxcQG0sXG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQG0sXG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAbSxcbiAgICAudWstd2lkdGgteGxhcmdlXFxAbSxcbiAgICAudWstd2lkdGgtMnhsYXJnZVxcQG0sXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBtIHsgZmxleDogaW5pdGlhbDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBsIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBsIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC8gMyknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMjAwJSAvIDMpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQGwgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQGwgeyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAbCB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAbCB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAbCB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAbCB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAvIDYpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwMCUgLyA2KScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQGwgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQGwgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQGwgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC0yeGxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgtMnhsYXJnZS13aWR0aDsgfVxuICAgIEBpZiAoJGRlcHJlY2F0ZWQgPT0gdHJ1ZSkge1xuLnVrLXdpZHRoLXh4bGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC0yeGxhcmdlLXdpZHRoOyB9XG59XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBsIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEBsIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG4gICAgLyogUmVzZXQgZXhwYW5kICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQGwsXG4gICAgLnVrLXdpZHRoLTEtMlxcQGwsXG4gICAgLnVrLXdpZHRoLTEtM1xcQGwsXG4gICAgLnVrLXdpZHRoLTItM1xcQGwsXG4gICAgLnVrLXdpZHRoLTEtNFxcQGwsXG4gICAgLnVrLXdpZHRoLTMtNFxcQGwsXG4gICAgLnVrLXdpZHRoLTEtNVxcQGwsXG4gICAgLnVrLXdpZHRoLTItNVxcQGwsXG4gICAgLnVrLXdpZHRoLTMtNVxcQGwsXG4gICAgLnVrLXdpZHRoLTQtNVxcQGwsXG4gICAgLnVrLXdpZHRoLTEtNlxcQGwsXG4gICAgLnVrLXdpZHRoLTUtNlxcQGwsXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAbCxcbiAgICAudWstd2lkdGgtbWVkaXVtXFxAbCxcbiAgICAudWstd2lkdGgtbGFyZ2VcXEBsLFxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBsLFxuICAgIC51ay13aWR0aC0yeGxhcmdlXFxAbCxcbiAgICAudWstd2lkdGgtYXV0b1xcQGwgeyBmbGV4OiBpbml0aWFsOyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQHhsIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEB4bCB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLyAzKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMjAwJSAvIDMpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQHhsIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEB4bCB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEB4bCB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAeGwgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQHhsIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEB4bCB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLyA2KScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAwJSAvIDYpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAeGwgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQHhsIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC0yeGxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbiAgICBAaWYgKCRkZXByZWNhdGVkID09IHRydWUpIHtcbi51ay13aWR0aC14eGxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLTJ4bGFyZ2Utd2lkdGg7IH1cbn1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQHhsIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEB4bCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxuICAgIC8qIFJlc2V0IGV4cGFuZCAqL1xuICAgIC51ay13aWR0aC0xLTFcXEB4bCxcbiAgICAudWstd2lkdGgtMS0yXFxAeGwsXG4gICAgLnVrLXdpZHRoLTEtM1xcQHhsLFxuICAgIC51ay13aWR0aC0yLTNcXEB4bCxcbiAgICAudWstd2lkdGgtMS00XFxAeGwsXG4gICAgLnVrLXdpZHRoLTMtNFxcQHhsLFxuICAgIC51ay13aWR0aC0xLTVcXEB4bCxcbiAgICAudWstd2lkdGgtMi01XFxAeGwsXG4gICAgLnVrLXdpZHRoLTMtNVxcQHhsLFxuICAgIC51ay13aWR0aC00LTVcXEB4bCxcbiAgICAudWstd2lkdGgtMS02XFxAeGwsXG4gICAgLnVrLXdpZHRoLTUtNlxcQHhsLFxuICAgIC51ay13aWR0aC1zbWFsbFxcQHhsLFxuICAgIC51ay13aWR0aC1tZWRpdW1cXEB4bCxcbiAgICAudWstd2lkdGgtbGFyZ2VcXEB4bCxcbiAgICAudWstd2lkdGgteGxhcmdlXFxAeGwsXG4gICAgLnVrLXdpZHRoLTJ4bGFyZ2VcXEB4bCxcbiAgICAudWstd2lkdGgtYXV0b1xcQHhsIHsgZmxleDogaW5pdGlhbDsgfVxuXG59XG5cbi8qIEludHJpbnNpYyBXaWR0aHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstd2lkdGgtbWF4LWNvbnRlbnQgeyB3aWR0aDogbWF4LWNvbnRlbnQ7IH1cblxuLnVrLXdpZHRoLW1pbi1jb250ZW50IHsgd2lkdGg6IG1pbi1jb250ZW50OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2std2lkdGgtbWlzYykpIHtAaW5jbHVkZSBob29rLXdpZHRoLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXdpZHRoLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEhlaWdodFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGhlaWdodHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1oZWlnaHQtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEhlaWdodFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9XCJ1ay1oZWlnaHRcIl0geyBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qXG4gKiBPbmx5IHdvcmtzIGlmIHBhcmVudCBlbGVtZW50IGhhcyBhIGhlaWdodCBzZXRcbiAqL1xuXG4udWstaGVpZ2h0LTEtMSB7IGhlaWdodDogMTAwJTsgfVxuXG4vKlxuICogVXNlZnVsIHRvIGNyZWF0ZSBpbWFnZSB0ZWFzZXJzXG4gKi9cblxuLnVrLWhlaWdodC12aWV3cG9ydCB7IG1pbi1oZWlnaHQ6IDEwMHZoOyB9XG4udWstaGVpZ2h0LXZpZXdwb3J0LTIgeyBtaW4taGVpZ2h0OiAyMDB2aDsgfVxuLnVrLWhlaWdodC12aWV3cG9ydC0zIHsgbWluLWhlaWdodDogMzAwdmg7IH1cbi51ay1oZWlnaHQtdmlld3BvcnQtNCB7IG1pbi1oZWlnaHQ6IDQwMHZoOyB9XG5cbi8qXG4gKiBQaXhlbFxuICogVXNlZnVsIGZvciBgb3ZlcmZsb3c6IGF1dG9gXG4gKi9cblxuLnVrLWhlaWdodC1zbWFsbCB7IGhlaWdodDogJGhlaWdodC1zbWFsbC1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWVkaXVtIHsgaGVpZ2h0OiAkaGVpZ2h0LW1lZGl1bS1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbGFyZ2UgeyBoZWlnaHQ6ICRoZWlnaHQtbGFyZ2UtaGVpZ2h0OyB9XG5cbi51ay1oZWlnaHQtbWF4LXNtYWxsIHsgbWF4LWhlaWdodDogJGhlaWdodC1zbWFsbC1oZWlnaHQ7IH1cbi51ay1oZWlnaHQtbWF4LW1lZGl1bSB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtbWVkaXVtLWhlaWdodDsgfVxuLnVrLWhlaWdodC1tYXgtbGFyZ2UgeyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LWxhcmdlLWhlaWdodDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWhlaWdodC1taXNjKSkge0BpbmNsdWRlIGhvb2staGVpZ2h0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWhlaWdodC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBUZXh0XG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgdGV4dFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRleHQtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRleHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxlYWQge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICR0ZXh0LWxlYWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLXRleHQtbGVhZCgpO31cbn1cblxuLnVrLXRleHQtbWV0YSB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1tZXRhLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbWV0YS1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbWV0YS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1tZXRhKSkge0BpbmNsdWRlIGhvb2stdGV4dC1tZXRhKCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1zbWFsbC1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1zbWFsbCkpIHtAaW5jbHVkZSBob29rLXRleHQtc21hbGwoKTt9XG59XG5cbi51ay10ZXh0LWxhcmdlIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay10ZXh0LWxhcmdlKCk7fVxufVxuXG4udWstdGV4dC1kZWZhdWx0IHtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0O1xufVxuXG5cbi8qIFdlaWdodCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LWxpZ2h0IHsgZm9udC13ZWlnaHQ6IDMwMDsgfVxuLnVrLXRleHQtbm9ybWFsIHsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuLnVrLXRleHQtYm9sZCB7IGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnVrLXRleHQtbGlnaHRlciB7IGZvbnQtd2VpZ2h0OiBsaWdodGVyOyB9XG4udWstdGV4dC1ib2xkZXIgeyBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1pdGFsaWMgeyBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuXG4vKiBUcmFuc2Zvcm0gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtdXBwZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1sb3dlcmNhc2UgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBEZWNvcmF0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtZGVjb3JhdGlvbi1ub25lIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBDb2xvciBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkdGV4dC1tdXRlZC1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1lbXBoYXNpcyB7IGNvbG9yOiAkdGV4dC1lbXBoYXNpcy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICR0ZXh0LXByaW1hcnktY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtc2Vjb25kYXJ5IHsgY29sb3I6ICR0ZXh0LXNlY29uZGFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1zdWNjZXNzIHsgY29sb3I6ICR0ZXh0LXN1Y2Nlc3MtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtd2FybmluZyB7IGNvbG9yOiAkdGV4dC13YXJuaW5nLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWRhbmdlciB7IGNvbG9yOiAkdGV4dC1kYW5nZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG5cbi8qIEJhY2tncm91bmQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gVGhlIGJhY2tncm91bmQgY2xpcHMgdG8gdGhlIGZvcmVncm91bmQgdGV4dC4gV29ya3MgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gRGVmYXVsdCBjb2xvciBpcyBzZXQgdG8gdHJhbnNwYXJlbnQuXG4gKiAzLiBDb250YWluZXIgZml0cyB0aGUgdGV4dFxuICogNC4gU3R5bGVcbiAqL1xuXG4udWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLyogMiAqL1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIC8qIDMgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogNCAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXh0LWJhY2tncm91bmQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRleHQtYmFja2dyb3VuZCkpIHtAaW5jbHVkZSBob29rLXRleHQtYmFja2dyb3VuZCgpO31cbn1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVmdCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtcmlnaHQgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAcyB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAcyB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBzIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBtIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBtIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQG0geyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAbCB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LXJpZ2h0XFxAbCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEBsIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQHhsIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEB4bCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1jZW50ZXJcXEB4bCB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLypcbiAqIFZlcnRpY2FsXG4gKi9cblxuLnVrLXRleHQtdG9wIHsgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1taWRkbGUgeyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWJvdHRvbSB7IHZlcnRpY2FsLWFsaWduOiBib3R0b20gIWltcG9ydGFudDsgfVxuLnVrLXRleHQtYmFzZWxpbmUgeyB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFdyYXAgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXNcbiAqL1xuXG4udWstdGV4dC1ub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi8qXG4gKiAxLiBNYWtlIHN1cmUgYSBtYXgtd2lkdGggaXMgc2V0IGFmdGVyIHdoaWNoIHRydW5jYXRpb24gY2FuIG9jY3VyXG4gKiAyLiBQcmV2ZW50IHRleHQgZnJvbSB3cmFwcGluZyBvbnRvIG11bHRpcGxlIGxpbmVzLCBhbmQgdHJ1bmNhdGUgd2l0aCBhbiBlbGxpcHNpc1xuICogMy4gRml4IGZvciB0YWJsZSBjZWxsc1xuICovXG5cbi51ay10ZXh0LXRydW5jYXRlIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qIDIgKi9cbnRoLnVrLXRleHQtdHJ1bmNhdGUsXG50ZC51ay10ZXh0LXRydW5jYXRlIHsgbWF4LXdpZHRoOiAwOyB9XG5cbi8qXG4gKiBXcmFwIGxvbmcgd29yZHMgb250byB0aGUgbmV4dCBsaW5lIGFuZCBicmVhayB0aGVtIGlmIHRoZXkgYXJlIHRvbyBsb25nIHRvIGZpdC5cbiAqIDEuIE1ha2UgaXQgd29yayB3aXRoIHRhYmxlIGNlbGxzIGluIGFsbCBicm93c2Vycy5cbiAqIE5vdGU6IE5vdCB1c2luZyBgaHlwaGVuczogYXV0b2AgYmVjYXVzZSBpdCBoeXBoZW5hdGVzIHRleHQgZXZlbiBpZiBub3QgbmVlZGVkLlxuICovXG5cbiAudWstdGV4dC1icmVhayB7IG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7IH1cblxuIC8qIDEgKi9cbiB0aC51ay10ZXh0LWJyZWFrLFxuIHRkLnVrLXRleHQtYnJlYWsgeyB3b3JkLWJyZWFrOiBicmVhay13b3JkOyB9XG5cblxuLyogU3Ryb2tlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10ZXh0LXN0cm9rZSB7XG4gICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogJHRleHQtc3Ryb2tlLXRleHQtc3Ryb2tlO1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb2x1bW5cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0ZXh0IGNvbHVtbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb2x1bW4tKmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb2x1bW4tc3BhbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1jb2x1bW4tZGl2aWRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ29sdW1uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj1cInVrLWNvbHVtbi1cIl0geyBjb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlcjsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgW2NsYXNzKj1cInVrLWNvbHVtbi1cIl0geyBjb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlci1sOyB9XG5cbn1cblxuLypcbiAqIEZpeCBpbWFnZSAxcHggbGluZSB3cmFwcGluZyBpbnRvIHRoZSBuZXh0IGNvbHVtbiBpbiBDaHJvbWVcbiAqL1xuXG5bY2xhc3MqPVwidWstY29sdW1uLVwiXSBpbWcgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEb3VibGUgdGhlIGNvbHVtbiBnYXBcbiAqL1xuXG4udWstY29sdW1uLWRpdmlkZXIge1xuICAgIGNvbHVtbi1ydWxlOiAkY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aCBzb2xpZCAkY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgY29sdW1uLWdhcDogKCRjb2x1bW4tZ3V0dGVyICogMik7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLWRpdmlkZXIge1xuICAgICAgICBjb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXItbCAqIDIpO1xuICAgIH1cblxufVxuXG5cbi8qIFdpZHRoIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb2x1bW4tMS0yIHsgY29sdW1uLWNvdW50OiAyO31cbi51ay1jb2x1bW4tMS0zIHsgY29sdW1uLWNvdW50OiAzOyB9XG4udWstY29sdW1uLTEtNCB7IGNvbHVtbi1jb3VudDogNDsgfVxuLnVrLWNvbHVtbi0xLTUgeyBjb2x1bW4tY291bnQ6IDU7IH1cbi51ay1jb2x1bW4tMS02IHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAcyB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAcyB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAcyB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAcyB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAcyB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBtIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEBtIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEBtIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEBtIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEBtIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAbCB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAbCB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAbCB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAbCB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAbCB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQHhsIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEB4bCB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAeGwgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQHhsIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEB4bCB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIE1ha2UgZWxlbWVudCBzcGFuIGFjcm9zcyBhbGwgY29sdW1uc1xuICogRG9lcyBub3Qgd29yayBpbiBGaXJlZm94IHlldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb2x1bW4tc3BhbiB7IGNvbHVtbi1zcGFuOiBhbGw7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb2x1bW4tbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbHVtbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb2x1bW4tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ292ZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIGxldCBlbWJlZGRlZCBjb250ZW50IGNvdmVyIHRoZWlyIGNvbnRhaW5lciBpbiBhIGNlbnRlcmVkIHBvc2l0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY292ZXJgXG4vL1xuLy8gU3ViLW9iamVjdDogICAgICBgdWstY292ZXItY29udGFpbmVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb3ZlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBXb3JrcyB3aXRoIGlmcmFtZXMgYW5kIGVtYmVkZGVkIGNvbnRlbnRcbiAqIDEuIFVzZSBhdHRyaWJ1dGUgdG8gYXBwbHkgdHJhbnNmb3JtIGluc3RhbnRseS4gTmVlZGVkIGlmIHRyYW5zZm9ybSBpcyB0cmFuc2l0aW9uZWQuXG4gKiAyLiBSZXNldCByZXNwb25zaXZlbmVzcyBmb3IgZW1iZWRkZWQgY29udGVudFxuICogMy4gQ2VudGVyIG9iamVjdFxuICogTm90ZTogUGVyY2VudCB2YWx1ZXMgb24gdGhlIGB0b3BgIHByb3BlcnR5IG9ubHkgd29ya3MgaWYgdGhpcyBlbGVtZW50XG4gKiAgICAgICBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkIG9yIGlmIHRoZSBjb250YWluZXIgaGFzIGEgaGVpZ2h0XG4gKi9cblxuLyogMSAqL1xuW3VrLWNvdmVyXTp3aGVyZShjYW52YXMsIGlmcmFtZSwgc3ZnKSxcbltkYXRhLXVrLWNvdmVyXTp3aGVyZShjYW52YXMsIGlmcmFtZSwgc3ZnKSB7XG4gICAgLyogMiAqL1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICAtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS14OiAtNTAlO1xuICAgIC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXk6IC01MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXgpLCB2YXIoLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteSkpO1xufVxuXG5pZnJhbWVbdWstY292ZXJdLFxuaWZyYW1lW2RhdGEtdWstY292ZXJdIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuW3VrLWNvdmVyXTp3aGVyZShpbWcsIHZpZGVvKSxcbltkYXRhLXVrLWNvdmVyXTp3aGVyZShpbWcsIHZpZGVvKSB7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUGFyZW50IGNvbnRhaW5lciB3aGljaCBjbGlwcyByZXNpemVkIG9iamVjdFxuICogMi4gTmVlZGVkIGlmIHRoZSBjaGlsZCBpcyBwb3NpdGlvbmVkIGFic29sdXRlLiBTZWUgbm90ZSBhYm92ZVxuICovXG5cbi51ay1jb3Zlci1jb250YWluZXIge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY292ZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWNvdmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvdmVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEJhY2tncm91bmRcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBiYWNrZ3JvdW5kc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJhY2tncm91bmQtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhY2tncm91bmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtZGVmYXVsdCB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtbXV0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1wcmltYXJ5IHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1zZWNvbmRhcnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDsgfVxuXG5cbi8qIFNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1jb3Zlcixcbi51ay1iYWNrZ3JvdW5kLWNvbnRhaW4sXG4udWstYmFja2dyb3VuZC13aWR0aC0xLTEsXG4udWstYmFja2dyb3VuZC1oZWlnaHQtMS0xIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbi51ay1iYWNrZ3JvdW5kLWNvdmVyIHsgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuLnVrLWJhY2tncm91bmQtY29udGFpbiB7IGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuLnVrLWJhY2tncm91bmQtd2lkdGgtMS0xIHsgYmFja2dyb3VuZC1zaXplOiAxMDAlOyB9XG4udWstYmFja2dyb3VuZC1oZWlnaHQtMS0xIHsgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7IH1cblxuXG4vKiBQb3NpdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLXRvcC1sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4udWstYmFja2dyb3VuZC10b3AtY2VudGVyIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDA7IH1cbi51ay1iYWNrZ3JvdW5kLXRvcC1yaWdodCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMDsgfVxuLnVrLWJhY2tncm91bmQtY2VudGVyLWxlZnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDUwJTsgfVxuLnVrLWJhY2tncm91bmQtY2VudGVyLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1yaWdodCB7IGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlOyB9XG4udWstYmFja2dyb3VuZC1ib3R0b20tbGVmdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAxMDAlOyB9XG4udWstYmFja2dyb3VuZC1ib3R0b20tcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDEwMCU7IH1cblxuXG4vKiBSZXBlYXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1ub3JlcGVhdCB7IGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuXG4vKiBBdHRhY2htZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtZml4ZWQgeyBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOyB9XG5cbi8qXG4gKiBFeGNsdWRlIHRvdWNoIGRldmljZXMgYmVjYXVzZSBgZml4ZWRgIGRvZXNuJ3Qgd29yayBvbiBpT1MgYW5kIEFuZHJvaWRcbiAqL1xuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC51ay1iYWNrZ3JvdW5kLWZpeGVkIHsgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7IH1cbn1cblxuXG4vKiBJbWFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFBob25lIHBvcnRyYWl0IGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQteHNtYWxsLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBzIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwtbWF4KSB7XG5cbiAgICAudWstYmFja2dyb3VuZC1pbWFnZVxcQG0geyBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBsIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEB4bCB7YmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBCbGVuZCBtb2Rlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLW11bHRpcGx5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtc2NyZWVuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzY3JlZW47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLW92ZXJsYXkgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG92ZXJsYXk7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRhcmtlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogZGFya2VuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1saWdodGVuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsaWdodGVuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvci1kb2RnZSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogY29sb3ItZG9kZ2U7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yLWJ1cm4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWJ1cm47IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWhhcmQtbGlnaHQgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNvZnQtbGlnaHQgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNvZnQtbGlnaHQ7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWRpZmZlcmVuY2UgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGRpZmZlcmVuY2U7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWV4Y2x1c2lvbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogZXhjbHVzaW9uOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1odWUgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGh1ZTsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtc2F0dXJhdGlvbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2F0dXJhdGlvbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3IgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1sdW1pbm9zaXR5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBsdW1pbm9zaXR5OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFja2dyb3VuZC1taXNjKSkge0BpbmNsdWRlIGhvb2stYmFja2dyb3VuZC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1iYWNrZ3JvdW5kLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFsaWduXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBhbGlnbiBlbWJlZGRlZCBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYWxpZ24tbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxpZ24tcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsaWduLWNlbnRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWxpZ25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbltjbGFzcyo9XCJ1ay1hbGlnblwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuKiArIFtjbGFzcyo9XCJ1ay1hbGlnblwiXSB7IG1hcmdpbi10b3A6ICRhbGlnbi1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIENlbnRlclxuICovXG5cbi51ay1hbGlnbi1jZW50ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLypcbiAqIExlZnQvUmlnaHRcbiAqL1xuXG4udWstYWxpZ24tbGVmdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBmbG9hdDogbGVmdDtcbn1cblxuLnVrLWFsaWduLXJpZ2h0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQG0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnVrLWFsaWduLWxlZnQsXG4gICAgLnVrLWFsaWduLWxlZnRcXEBzLFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAbSxcbiAgICAudWstYWxpZ24tbGVmdFxcQGwgeyBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstYWxpZ24tcmlnaHQsXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAcyxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBtLFxuICAgIC51ay1hbGlnbi1yaWdodFxcQGwgeyBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEB4bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQHhsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYWxpZ24tbWlzYykpIHtAaW5jbHVkZSBob29rLWFsaWduLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFsaWduLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNWR1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gc3R5bGUgU1ZHc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN2Z2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU1ZHXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDIuIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG5cbi8qIDEgKi9cbi51ay1zdmcsXG4vKiAyICovXG4udWstc3ZnOm5vdCgudWstcHJlc2VydmUpIFtmaWxsKj1cIiNcIl06bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH1cbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW3N0cm9rZSo9XCIjXCJdOm5vdCgudWstcHJlc2VydmUpIHsgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH1cblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cblxuLnVrLXN2ZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3ZnLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3ZnLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFV0aWxpdHlcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGNvbGxlY3Rpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wYW5lbC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2xlYXJmaXhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mbG9hdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3ZlcmZsb3ctKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXJlc2l6ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGlzcGxheS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW5saW5lLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yZXNwb25zaXZlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wcmVzZXJ2ZS13aWR0aGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9iamVjdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm9yZGVyLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ib3gtc2hhZG93LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ib3gtc2hhZG93LWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3BjYXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sb2dvYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYmxlbmQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zZm9ybS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNmb3JtLW9yaWdpbi0qYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJhZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyYWdvdmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcHJlc2VydmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cblxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQYW5lbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYW5lbCB7XG4gICAgZGlzcGxheTogZmxvdy1yb290O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXBhbmVsID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLypcbiAqIFNjcm9sbGFibGVcbiAqL1xuXG4udWstcGFuZWwtc2Nyb2xsYWJsZSB7XG4gICAgaGVpZ2h0OiAkcGFuZWwtc2Nyb2xsYWJsZS1oZWlnaHQ7XG4gICAgcGFkZGluZzogJHBhbmVsLXNjcm9sbGFibGUtcGFkZGluZztcbiAgICBib3JkZXI6ICRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXI7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcmVzaXplOiBib3RoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYW5lbC1zY3JvbGxhYmxlKSkge0BpbmNsdWRlIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpO31cbn1cblxuXG4vKiBDbGVhcmZpeFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBgdGFibGUtY2VsbGAgaXMgdXNlZCB3aXRoIGA6OmJlZm9yZWAgYmVjYXVzZSBgdGFibGVgIGNyZWF0ZXMgYSAxcHggZ2FwIHdoZW4gaXQgYmVjb21lcyBhIGZsZXggaXRlbSwgb25seSBpbiBXZWJraXRcbiAqIDIuIGB0YWJsZWAgaXMgdXNlZCBhZ2FpbiB3aXRoIGA6OmFmdGVyYCBiZWNhdXNlIGBjbGVhcmAgb25seSB3b3JrcyB3aXRoIGJsb2NrIGVsZW1lbnRzLlxuICogTm90ZTogYGRpc3BsYXk6IGJsb2NrYCB3aXRoIGBvdmVyZmxvdzogaGlkZGVuYCBpcyBjdXJyZW50bHkgbm90IHdvcmtpbmcgaW4gdGhlIGxhdGVzdCBTYWZhcmlcbiAqL1xuXG4vKiAxICovXG4udWstY2xlYXJmaXg6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG4vKiAyICovXG4udWstY2xlYXJmaXg6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG5cbi8qIEZsb2F0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICovXG5cbi51ay1mbG9hdC1sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cbi51ay1mbG9hdC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4vKiAxICovXG5bY2xhc3MqPVwidWstZmxvYXQtXCJdIHsgbWF4LXdpZHRoOiAxMDAlOyB9XG5cblxuLyogT3ZlcmZsb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmZsb3ctaGlkZGVuIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogRW5hYmxlIHNjcm9sbGJhcnMgaWYgY29udGVudCBpcyBjbGlwcGVkXG4gKi9cblxuLnVrLW92ZXJmbG93LWF1dG8geyBvdmVyZmxvdzogYXV0bzsgfVxuXG4udWstb3ZlcmZsb3ctYXV0byA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEJveCBTaXppbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYm94LXNpemluZy1jb250ZW50IHsgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cbi51ay1ib3gtc2l6aW5nLWJvcmRlciB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuXG4vKiBSZXNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcmVzaXplIHsgcmVzaXplOiBib3RoOyB9XG4udWstcmVzaXplLWhvcml6b250YWwgeyByZXNpemU6IGhvcml6b250YWw7IH1cbi51ay1yZXNpemUtdmVydGljYWwgeyByZXNpemU6IHZlcnRpY2FsOyB9XG5cblxuLyogRGlzcGxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXNwbGF5LWJsb2NrIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuLnVrLWRpc3BsYXktaW5saW5lIHsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH1cbi51ay1kaXNwbGF5LWlubGluZS1ibG9jayB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG5cblxuLyogSW5saW5lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENvbnRhaW5lciBmaXRzIGl0cyBjb250ZW50XG4gKiAyLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dFxuICogMy4gUHJldmVudCBjb250ZW50IG92ZXJmbG93XG4gKiA0LiBCZWhhdmUgbGlrZSBtb3N0IGlubGluZS1ibG9jayBlbGVtZW50c1xuICogNS4gRm9yY2UgbmV3IGxheWVyIHdpdGhvdXQgY3JlYXRpbmcgYSBuZXcgc3RhY2tpbmcgY29udGV4dFxuICogICAgdG8gZml4IDFweCBnbGl0Y2ggd2hlbiBjb21iaW5lZCB3aXRoIG92ZXJsYXlzIGFuZCB0cmFuc2l0aW9ucyBpbiBXZWJraXRcbiAqIDYuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqL1xuXG5bY2xhc3MqPVwidWstaW5saW5lXCJdIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiA0ICovXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiA1ICovXG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi51ay1pbmxpbmUtY2xpcCB7XG4gICAgLyogNiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cblxuLyogUmVzcG9uc2l2ZSBvYmplY3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXNlcnZlIG9yaWdpbmFsIGRpbWVuc2lvbnNcbiAqIEJlY2F1c2UgYGltZywgYHZpZGVvYCwgYGNhbnZhc2AgYW5kICBgYXVkaW9gIGFyZSBhbHJlYWR5IHJlc3BvbnNpdmUgYnkgZGVmYXVsdCwgc2VlIEJhc2UgY29tcG9uZW50XG4gKi9cblxuLnVrLXByZXNlcnZlLXdpZHRoLFxuLnVrLXByZXNlcnZlLXdpZHRoIGNhbnZhcyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBpbWcsXG4udWstcHJlc2VydmUtd2lkdGggc3ZnLFxuLnVrLXByZXNlcnZlLXdpZHRoIHZpZGVvIHsgbWF4LXdpZHRoOiBub25lOyB9XG5cbi8qXG4gKiBSZXNwb25zaXZlbmVzc1xuICogQ29ycmVjdHMgYG1heC13aWR0aGAgYW5kIGBtYXgtaGVpZ2h0YCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWRcbiAqL1xuXG4udWstcmVzcG9uc2l2ZS13aWR0aCxcbi51ay1yZXNwb25zaXZlLWhlaWdodCB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLypcbiAqIDEuIFNldCBhIG1heGltdW0gd2lkdGguIGBpbXBvcnRhbnRgIG5lZWRlZCB0byBvdmVycmlkZSBgdWstcHJlc2VydmUtd2lkdGggaW1nYFxuICogMi4gQXV0byBzY2FsZSB0aGUgaGVpZ2h0LiBPbmx5IG5lZWRlZCBpZiBgaGVpZ2h0YCBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICovXG5cbi51ay1yZXNwb25zaXZlLXdpZHRoIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgLyogMiAqL1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLypcbiAqIDEuIFNldCBhIG1heGltdW0gaGVpZ2h0LiBPbmx5IHdvcmtzIGlmIHRoZSBwYXJlbnQgZWxlbWVudCBoYXMgYSBmaXhlZCBoZWlnaHRcbiAqIDIuIEF1dG8gc2NhbGUgdGhlIHdpZHRoLiBPbmx5IG5lZWRlZCBpZiBgd2lkdGhgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKiAzLiBSZXNldCBtYXgtd2lkdGgsIHdoaWNoIGBpbWcsIGB2aWRlb2AsIGBjYW52YXNgIGFuZCAgYGF1ZGlvYCBhbHJlYWR5IGhhdmUgYnkgZGVmYXVsdFxuICovXG5cbi51ay1yZXNwb25zaXZlLWhlaWdodCB7XG4gICAgLyogMSAqL1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8qXG4gKiBGaXggaW5pdGlhbCBpZnJhbWUgd2lkdGguIFdpdGhvdXQgdGhlIHZpZXdwb3J0IGlzIGV4cGFuZGVkIG9uIGlPUyBkZXZpY2VzXG4gKi9cblxuW3VrLXJlc3BvbnNpdmVdLFxuW2RhdGEtdWstcmVzcG9uc2l2ZV0geyBtYXgtd2lkdGg6IDEwMCU7IH1cblxuXG4vKiBPYmplY3RcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb2JqZWN0LWNvdmVyIHsgb2JqZWN0LWZpdDogY292ZXI7IH1cbi51ay1vYmplY3QtY29udGFpbiB7IG9iamVjdC1maXQ6IGNvbnRhaW47IH1cbi51ay1vYmplY3QtZmlsbCB7IG9iamVjdC1maXQ6IGZpbGw7IH1cbi51ay1vYmplY3Qtbm9uZSB7IG9iamVjdC1maXQ6IG5vbmU7IH1cbi51ay1vYmplY3Qtc2NhbGUtZG93biB7IG9iamVjdC1maXQ6IHNjYWxlLWRvd247IH1cblxuLypcbiAqIFBvc2l0aW9uXG4gKi9cblxuLnVrLW9iamVjdC10b3AtbGVmdCB7IG9iamVjdC1wb3NpdGlvbjogMCAwOyB9XG4udWstb2JqZWN0LXRvcC1jZW50ZXIgeyBvYmplY3QtcG9zaXRpb246IDUwJSAwOyB9XG4udWstb2JqZWN0LXRvcC1yaWdodCB7IG9iamVjdC1wb3NpdGlvbjogMTAwJSAwOyB9XG4udWstb2JqZWN0LWNlbnRlci1sZWZ0IHsgb2JqZWN0LXBvc2l0aW9uOiAwIDUwJTsgfVxuLnVrLW9iamVjdC1jZW50ZXItY2VudGVyIHsgb2JqZWN0LXBvc2l0aW9uOiA1MCUgNTAlOyB9XG4udWstb2JqZWN0LWNlbnRlci1yaWdodCB7IG9iamVjdC1wb3NpdGlvbjogMTAwJSA1MCU7IH1cbi51ay1vYmplY3QtYm90dG9tLWxlZnQgeyBvYmplY3QtcG9zaXRpb246IDAgMTAwJTsgfVxuLnVrLW9iamVjdC1ib3R0b20tY2VudGVyIHsgb2JqZWN0LXBvc2l0aW9uOiA1MCUgMTAwJTsgfVxuLnVrLW9iamVjdC1ib3R0b20tcmlnaHQgeyBvYmplY3QtcG9zaXRpb246IDEwMCUgMTAwJTsgfVxuXG5cbi8qIEJvcmRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ib3JkZXItY2lyY2xlIHsgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4udWstYm9yZGVyLXBpbGwgeyBib3JkZXItcmFkaXVzOiA1MDBweDsgfVxuLnVrLWJvcmRlci1yb3VuZGVkIHsgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yb3VuZGVkLWJvcmRlci1yYWRpdXM7IH1cblxuLypcbiAqIEZpeCBgb3ZlcmZsb3c6IGhpZGRlbmAgdG8gYmUgaWdub3JlZCB3aXRoIGJvcmRlci1yYWRpdXMgYW5kIENTUyB0cmFuc2Zvcm1zIGluIFdlYmtpdFxuICovXG5cbi51ay1pbmxpbmUtY2xpcFtjbGFzcyo9XCJ1ay1ib3JkZXItXCJdIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7IH1cblxuXG4vKiBCb3gtc2hhZG93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJveC1zaGFkb3ctc21hbGwgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LW1lZGl1bSB7IGJveC1zaGFkb3c6ICRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWxhcmdlIHsgYm94LXNoYWRvdzogJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93OyB9XG4udWstYm94LXNoYWRvdy14bGFyZ2UgeyBib3gtc2hhZG93OiAkZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OyB9XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbltjbGFzcyo9XCJ1ay1ib3gtc2hhZG93LWhvdmVyXCJdIHsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkYm94LXNoYWRvdy1kdXJhdGlvbiBlYXNlLWluLW91dDsgfVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci1zbWFsbDpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbWVkaXVtOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbGFyZ2U6aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWhvdmVyLXhsYXJnZTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c7IH1cblxuXG4vKiBCb3gtc2hhZG93IGJvdHRvbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb24uXG4gKiAyLiBTZXQgc3R5bGVcbiAqIDMuIEZpeCBzaGFkb3cgYmVpbmcgY2xpcHBlZCBpbiBTYWZhcmkgaWYgY29udGFpbmVyIGlzIGFuaW1hdGVkXG4gKi9cblxuQHN1cHBvcnRzIChmaWx0ZXI6IGJsdXIoMCkpIHtcblxuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLnVrLWJveC1zaGFkb3ctYm90dG9tOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIC8qIDEgKi9cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206ICRib3gtc2hhZG93LWJvdHRvbS1ib3R0b207XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgLyogMiAqL1xuICAgICAgICBoZWlnaHQ6ICRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDtcbiAgICAgICAgZmlsdGVyOiBibHVyKCRib3gtc2hhZG93LWJvdHRvbS1ibHVyKTtcbiAgICAgICAgLyogMyAqL1xuICAgICAgICB3aWxsLWNoYW5nZTogZmlsdGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYm94LXNoYWRvdy1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay1ib3gtc2hhZG93LWJvdHRvbSgpO31cbiAgICB9XG5cbn1cblxuXG4vKiBEcm9wIGNhcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaXJlZm94IGRvZXNuJ3QgYXBwbHkgYDo6Zmlyc3QtbGV0dGVyYCBpZiB0aGUgZmlyc3QgbGV0dGVyIGlzIGluc2lkZSBjaGlsZCBlbGVtZW50c1xuICogICAgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE0MDA0XG4gKiAyLiBJbiBGaXJlZm94LCBhIGZsb2F0aW5nIGA6OmZpcnN0LWxldHRlcmAgZG9lc24ndCBoYXZlIGEgbGluZSBib3ggYW5kIHRoZXJlIGZvciBubyBgbGluZS1oZWlnaHRgXG4gKiAgICBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTc5MzNcbiAqL1xuXG4udWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuLyogMSAqL1xuLnVrLWRyb3BjYXAgPiBwOmZpcnN0LW9mLXR5cGU6OmZpcnN0LWxldHRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZHJvcGNhcC1tYXJnaW4tcmlnaHQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAkZHJvcGNhcC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRkcm9wY2FwLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wY2FwKSkge0BpbmNsdWRlIGhvb2stZHJvcGNhcCgpO31cbn1cblxuLyogMiAqL1xuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcblxuICAudWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuICAudWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHsgbWFyZ2luLXRvcDogMS4xJTsgfVxuXG59XG5cblxuLyogTG9nb1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTdHlsZVxuICogMi4gUmVxdWlyZWQgZm9yIGBhYFxuICogMy4gQmVoYXZlIGxpa2UgaW1hZ2UgYnV0IGNhbiBiZSBvdmVycmlkZGVuIHRocm91Z2ggZmxleCB1dGlsaXR5IGNsYXNzZXNcbiAqL1xuXG4udWstbG9nbyB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogJGxvZ28tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbG9nby1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGxvZ28tY29sb3I7XG4gICAgLyogMiAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbG9nbykpIHtAaW5jbHVkZSBob29rLWxvZ28oKTt9XG59XG5cbi8qIDMgKi9cbjp3aGVyZSgudWstbG9nbykge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKiBIb3ZlciAqL1xuLnVrLWxvZ286aG92ZXIge1xuICAgIGNvbG9yOiAkbG9nby1ob3Zlci1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sb2dvLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbG9nby1ob3ZlcigpO31cbn1cblxuLnVrLWxvZ28gOndoZXJlKGltZywgc3ZnLCB2aWRlbykgeyBkaXNwbGF5OiBibG9jazsgfVxuXG4udWstbG9nby1pbnZlcnNlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIERpc2FibGVkIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpc2FibGVkIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuXG4vKiBEcmFnIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE5lZWRlZCBpZiBtb3Zpbmcgb3ZlciBlbGVtZW50cyB3aXRoIGhhdmUgdGhlaXIgb3duIGN1cnNvciBvbiBob3ZlciwgZS5nLiBsaW5rcyBvciBidXR0b25zXG4gKiAyLiBGaXggZHJhZ2dpbmcgb3ZlciBpZnJhbWVzXG4gKi9cblxuLnVrLWRyYWcsXG4vKiAxICovXG4udWstZHJhZyAqIHsgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIDIgKi9cbi51ay1kcmFnIGlmcmFtZSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogRHJhZ292ZXIgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ3JlYXRlIGEgYm94LXNoYWRvdyB3aGVuIGRyYWdnaW5nIGEgZmlsZSBvdmVyIHRoZSB1cGxvYWQgYXJlYVxuICovXG5cbi51ay1kcmFnb3ZlciB7IGJveC1zaGFkb3c6ICRkcmFnb3Zlci1ib3gtc2hhZG93OyB9XG5cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmxlbmQtbXVsdGlwbHkgeyBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbi51ay1ibGVuZC1zY3JlZW4geyBtaXgtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG4udWstYmxlbmQtb3ZlcmxheSB7IG1peC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG4udWstYmxlbmQtZGFya2VuIHsgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuLnVrLWJsZW5kLWxpZ2h0ZW4geyBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuLnVrLWJsZW5kLWNvbG9yLWRvZGdlIHsgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG4udWstYmxlbmQtY29sb3ItYnVybiB7IG1peC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG4udWstYmxlbmQtaGFyZC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG4udWstYmxlbmQtc29mdC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG4udWstYmxlbmQtZGlmZmVyZW5jZSB7IG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG4udWstYmxlbmQtZXhjbHVzaW9uIHsgbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuLnVrLWJsZW5kLWh1ZSB7IG1peC1ibGVuZC1tb2RlOiBodWU7IH1cbi51ay1ibGVuZC1zYXR1cmF0aW9uIHsgbWl4LWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cbi51ay1ibGVuZC1jb2xvciB7IG1peC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuLnVrLWJsZW5kLWx1bWlub3NpdHkgeyBtaXgtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG5cbi8qIFRyYW5zZm9ybVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zZm9ybS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG5cbi8qIFRyYW5zZm9ybSBPcmlnaW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCAwOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtY2VudGVyIHsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLWxlZnQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLXJpZ2h0IHsgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXV0aWxpdHktbWlzYykpIHtAaW5jbHVkZSBob29rLXV0aWxpdHktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbi8vIEBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGNhcCgpe31cbi8vIEBtaXhpbiBob29rLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZsZXhcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBsYXlvdXRzIGJhc2VkIG9uIGZsZXhib3hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mbGV4LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZsZXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZmxleCB7IGRpc3BsYXk6IGZsZXg7IH1cbi51ay1mbGV4LWlubGluZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cblxuLyogQWxpZ25tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFsaWduIGl0ZW1zIGFsb25nIHRoZSBtYWluIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogSG9yaXpvbnRhbFxuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LWxlZnQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbi51ay1mbGV4LWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4udWstZmxleC1yaWdodCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbi51ay1mbGV4LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi51ay1mbGV4LWFyb3VuZCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBzIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAcyB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBzIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBzIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAcyB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAbSB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAbSB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAbSB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQG0geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAbCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LXJpZ2h0XFxAbCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAbCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1sZWZ0XFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEB4bCB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEB4bCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAudWstZmxleC1iZXR3ZWVuXFxAeGwgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEB4bCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLypcbiAqIEFsaWduIGl0ZW1zIGluIHRoZSBjcm9zcyBheGlzIG9mIHRoZSBjdXJyZW50IGxpbmUgb2YgdGhlIGZsZXggY29udGFpbmVyXG4gKiBSb3c6IFZlcnRpY2FsXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtc3RyZXRjaCB7IGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4udWstZmxleC10b3AgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuLnVrLWZsZXgtbWlkZGxlIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuLnVrLWZsZXgtYm90dG9tIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LXN0cmV0Y2hcXEBzIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgICAudWstZmxleC10b3BcXEBzIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1taWRkbGVcXEBzIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LWJvdHRvbVxcQHMgeyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mbGV4LXN0cmV0Y2hcXEBtIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgICAudWstZmxleC10b3BcXEBtIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1taWRkbGVcXEBtIHsgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC51ay1mbGV4LWJvdHRvbVxcQG0geyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtc3RyZXRjaFxcQGwgeyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAgIC51ay1mbGV4LXRvcFxcQGwgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LW1pZGRsZVxcQGwgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtYm90dG9tXFxAbCB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1zdHJldGNoXFxAeGwgeyBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAgIC51ay1mbGV4LXRvcFxcQHhsIHsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1taWRkbGVcXEB4bCB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1ib3R0b21cXEB4bCB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG59XG5cblxuLyogRGlyZWN0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtcm93IHsgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuLnVrLWZsZXgtcm93LXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbi51ay1mbGV4LWNvbHVtbiB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbi51ay1mbGV4LWNvbHVtbi1yZXZlcnNlIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LXJvd1xcQHMgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLnVrLWZsZXgtY29sdW1uXFxAcyB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mbGV4LXJvd1xcQG0geyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLnVrLWZsZXgtY29sdW1uXFxAbSB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtcm93XFxAbCB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAudWstZmxleC1jb2x1bW5cXEBsIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1yb3dcXEB4bCB7IGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAudWstZmxleC1jb2x1bW5cXEB4bCB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxufVxuXG5cbi8qIFdyYXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1ub3dyYXAgeyBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuLnVrLWZsZXgtd3JhcCB7IGZsZXgtd3JhcDogd3JhcDsgfVxuLnVrLWZsZXgtd3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7IH1cblxuLypcbiAqIEFsaWducyBpdGVtcyB3aXRoaW4gdGhlIGZsZXggY29udGFpbmVyIHdoZW4gdGhlcmUgaXMgZXh0cmEgc3BhY2UgaW4gdGhlIGNyb3NzLWF4aXNcbiAqIE9ubHkgd29ya3MgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBsaW5lIG9mIGZsZXggaXRlbXNcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC13cmFwLXN0cmV0Y2ggeyBhbGlnbi1jb250ZW50OiBzdHJldGNoOyB9XG4udWstZmxleC13cmFwLXRvcCB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbi51ay1mbGV4LXdyYXAtbWlkZGxlIHsgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG4udWstZmxleC13cmFwLWJvdHRvbSB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4udWstZmxleC13cmFwLWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4udWstZmxleC13cmFwLWFyb3VuZCB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG5cbi8qIEl0ZW0gb3JkZXJpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdCBpcyAwXG4gKi9cblxuLnVrLWZsZXgtZmlyc3QgeyBvcmRlcjogLTE7fVxuLnVrLWZsZXgtbGFzdCB7IG9yZGVyOiA5OTt9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAcyB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEBzIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQG0geyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAbSB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQGwgeyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAbCB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQHhsIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQHhsIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuXG4vKiBJdGVtIGRpbWVuc2lvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSW5pdGlhbDogMCAxIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3NcbiAqL1xuXG4udWstZmxleC1pbml0aWFsIHsgZmxleDogaW5pdGlhbDsgfVxuXG4vKlxuICogTm8gRmxleDogMCAwIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9uc1xuICovXG5cbi51ay1mbGV4LW5vbmUgeyBmbGV4OiBub25lOyB9XG5cbi8qXG4gKiBSZWxhdGl2ZSBGbGV4OiAxIDEgYXV0b1xuICogU3BhY2UgaXMgYWxsb2NhdGVkIGNvbnNpZGVyaW5nIGNvbnRlbnRcbiAqL1xuXG4udWstZmxleC1hdXRvIHsgZmxleDogYXV0bzsgfVxuXG4vKlxuICogQWJzb2x1dGUgRmxleDogMSAxIDAlXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGZsZXhcbiAqL1xuXG4udWstZmxleC0xIHsgZmxleDogMTsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstZmxleC1pbml0aWFsXFxAcyB7IGZsZXg6IGluaXRpYWw7IH1cbiAgICAudWstZmxleC1ub25lXFxAcyB7IGZsZXg6IG5vbmU7IH1cbiAgICAudWstZmxleC0xXFxAcyB7IGZsZXg6IDE7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mbGV4LWluaXRpYWxcXEBtIHsgZmxleDogaW5pdGlhbDsgfVxuICAgIC51ay1mbGV4LW5vbmVcXEBtIHsgZmxleDogbm9uZTsgfVxuICAgIC51ay1mbGV4LTFcXEBtIHsgZmxleDogMTsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1pbml0aWFsXFxAbCB7IGZsZXg6IGluaXRpYWw7IH1cbiAgICAudWstZmxleC1ub25lXFxAbCB7IGZsZXg6IG5vbmU7IH1cbiAgICAudWstZmxleC0xXFxAbCB7IGZsZXg6IDE7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWZsZXgtaW5pdGlhbFxcQHhsIHsgZmxleDogaW5pdGlhbDsgfVxuICAgIC51ay1mbGV4LW5vbmVcXEB4bCB7IGZsZXg6IG5vbmU7IH1cbiAgICAudWstZmxleC0xXFxAeGwgeyBmbGV4OiAxOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mbGV4LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mbGV4LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZsZXgtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTWFyZ2luXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgbWFyZ2luc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1hcmdpbi0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLXNtYWxsLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbWVkaXVtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi14bGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1yZW1vdmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1hdXRvLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFyZ2luXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstbWFyZ2luIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBYU21hbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLXhzbWFsbCB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teHNtYWxsLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4teHNtYWxsIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14c21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14c21hbGwtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14c21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4teHNtYWxsLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teHNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhzbWFsbC1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teHNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhzbWFsbC1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14c21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tc21hbGwtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1zbWFsbC1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1zbWFsbC1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIE1lZGl1bVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tbWVkaXVtIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLW1lZGl1bS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1tZWRpdW0tbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbWVkaXVtLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1sYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLWxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDsgfVxuICAgICogKyAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbWFyZ2luLWxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tbGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogWExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4teGxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi14bGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOyB9XG4gICAgKiArIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXhsYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogQXV0b1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tYXJnaW4tYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLnVrLW1hcmdpbi1hdXRvLXRvcCB7IG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLWxlZnQgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWF1dG8tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWF1dG8tdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tYXJnaW4tYXV0b1xcQHMge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstbWFyZ2luLWF1dG8tbGVmdFxcQHMgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAcyB7IG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEBtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBtIHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQG0geyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEBsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW1hcmdpbi1hdXRvLWxlZnRcXEBsIHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tYXV0by1yaWdodFxcQGwgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLWF1dG9cXEB4bCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51ay1tYXJnaW4tYXV0by1sZWZ0XFxAeGwgeyBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1hdXRvLXJpZ2h0XFxAeGwgeyBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1yZW1vdmUgeyBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yZW1vdmUtdG9wIHsgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJlbW92ZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmVtb3ZlLWxlZnQgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJlbW92ZS1yaWdodCB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tcmVtb3ZlLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udWstbWFyZ2luLXJlbW92ZS1hZGphY2VudCArICosXG4udWstbWFyZ2luLXJlbW92ZS1maXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yZW1vdmUtbGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLWxlZnRcXEBzIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0XFxAcyB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAbSB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQG0geyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAbCB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLXJlbW92ZS1yaWdodFxcQGwgeyBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstbWFyZ2luLXJlbW92ZS1sZWZ0XFxAeGwgeyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1yZW1vdmUtcmlnaHRcXEB4bCB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1tYXJnaW4tbWlzYykpIHtAaW5jbHVkZSBob29rLW1hcmdpbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGFkZGluZ1xuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHBhZGRpbmdcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wYWRkaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFkZGluZy1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhZGRpbmctcmVtb3ZlLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGFkZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmctcGFkZGluZzsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBhZGRpbmcgeyBwYWRkaW5nOiAkcGFkZGluZy1wYWRkaW5nLWw7IH1cblxufVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmctc21hbGwgeyBwYWRkaW5nOiAkcGFkZGluZy1zbWFsbC1wYWRkaW5nOyB9XG5cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1sYXJnZSB7IHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXBhZGRpbmc7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1wYWRkaW5nLWxhcmdlIHsgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOyB9XG5cbn1cblxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZy1yZW1vdmUgeyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS10b3AgeyBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtYm90dG9tIHsgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLWxlZnQgeyBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLXJpZ2h0IHsgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi51ay1wYWRkaW5nLXJlbW92ZS12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4udWstcGFkZGluZy1yZW1vdmUtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBhZGRpbmctbWlzYykpIHtAaW5jbHVkZSBob29rLXBhZGRpbmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFkZGluZy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQb3NpdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gcG9zaXRpb24gY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBvc2l0aW9uLWFic29sdXRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tcmVsYXRpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi16LWluZGV4YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi10b3AtY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1jb3ZlcmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1wb3NpdGlvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLW1lZGl1bWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWxhcmdlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46cm9vdCB7IC0tdWstcG9zaXRpb24tbWFyZ2luLW9mZnNldDogMHB4OyB9XG5cblxuLyogRGlyZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQcmV2ZW50IGNvbnRlbnQgb3ZlcmZsb3cuXG4gKi9cblxuW2NsYXNzKj1cInVrLXBvc2l0aW9uLXRvcFwiXSxcbltjbGFzcyo9XCJ1ay1wb3NpdGlvbi1ib3R0b21cIl0sXG5bY2xhc3MqPVwidWstcG9zaXRpb24tbGVmdFwiXSxcbltjbGFzcyo9XCJ1ay1wb3NpdGlvbi1yaWdodFwiXSxcbltjbGFzcyo9XCJ1ay1wb3NpdGlvbi1jZW50ZXJcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtICh2YXIoLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0KSAqIDIpKScpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qXG4gKiBFZGdlc1xuICogRG9uJ3QgdXNlIGB3aWR0aDogMTAwJWAgYmVjYXVzZSBpdCdzIHdyb25nIGlmIHRoZSBwYXJlbnQgaGFzIHBhZGRpbmcuXG4gKi9cblxuLnVrLXBvc2l0aW9uLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1ib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi8qXG4gKiBDb3JuZXJzXG4gKi9cblxuLnVrLXBvc2l0aW9uLXRvcC1sZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLWxlZnQge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi8qXG4gKiBDZW50ZXJcbiAqIDEuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIGNvbnRlbnQgaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBjb250YWluZXIuXG4gKiAgICBVc2luZyBgbWF4LWNvbnRlbnRgIHJlcXVpcmVzIGBtYXgtd2lkdGhgIG9mIDEwMCUgd2hpY2ggaXMgc2V0IGdlbmVyYWxseS5cbiAqL1xuXG4udWstcG9zaXRpb24tY2VudGVyIHtcbiAgICB0b3A6IHVucXVvdGUoJ2NhbGMoNTAlIC0gdmFyKC0tdWstcG9zaXRpb24tbWFyZ2luLW9mZnNldCkpJyk7XG4gICAgbGVmdDogdW5xdW90ZSgnY2FsYyg1MCUgLSB2YXIoLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0KSknKTtcbiAgICAtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS14OiAtNTAlO1xuICAgIC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXk6IC01MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUodmFyKC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXgpLCB2YXIoLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteSkpO1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi8qIFZlcnRpY2FsICovXG5bY2xhc3MqPVwidWstcG9zaXRpb24tY2VudGVyLWxlZnRcIl0sXG5bY2xhc3MqPVwidWstcG9zaXRpb24tY2VudGVyLXJpZ2h0XCJdLFxuLnVrLXBvc2l0aW9uLWNlbnRlci12ZXJ0aWNhbCB7XG4gICAgdG9wOiB1bnF1b3RlKCdjYWxjKDUwJSAtIHZhcigtLXVrLXBvc2l0aW9uLW1hcmdpbi1vZmZzZXQpKScpO1xuICAgIC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXk6IC01MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgdmFyKC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXkpKTtcbn1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0IHsgbGVmdDogMDsgfVxuLnVrLXBvc2l0aW9uLWNlbnRlci1yaWdodCB7IHJpZ2h0OiAwOyB9XG4udWstcG9zaXRpb24tY2VudGVyLXZlcnRpY2FsIHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQtb3V0IHtcbiAgICByaWdodDogMTAwJTtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi51ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQtb3V0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tYm90dG9tLWNlbnRlcixcbi51ay1wb3NpdGlvbi1jZW50ZXItaG9yaXpvbnRhbCB7XG4gICAgbGVmdDogdW5xdW90ZSgnY2FsYyg1MCUgLSB2YXIoLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0KSknKTtcbiAgICAtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS14OiAtNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKHZhcigtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS14KSwgMCk7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIgeyB0b3A6IDA7IH1cbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgYm90dG9tOiAwOyB9XG4udWstcG9zaXRpb24tY2VudGVyLWhvcml6b250YWwge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG59XG5cbi8qXG4gKiBDb3ZlclxuICovXG5cbi51ay1wb3NpdGlvbi1jb3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuXG4vKiBNYXJnaW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tc21hbGwge1xuICAgIG1hcmdpbjogJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjtcbiAgICAtLXVrLXBvc2l0aW9uLW1hcmdpbi1vZmZzZXQ6ICN7JHBvc2l0aW9uLXNtYWxsLW1hcmdpbn07XG59XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0ge1xuICAgIG1hcmdpbjogJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW47XG4gICAgLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0OiAjeyRwb3NpdGlvbi1tZWRpdW0tbWFyZ2lufTtcbn1cblxuLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICBtYXJnaW46ICRwb3NpdGlvbi1sYXJnZS1tYXJnaW47XG4gICAgLS11ay1wb3NpdGlvbi1tYXJnaW4tb2Zmc2V0OiAjeyRwb3NpdGlvbi1sYXJnZS1tYXJnaW59O1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICAgICAgbWFyZ2luOiAkcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw7XG4gICAgICAgIC0tdWstcG9zaXRpb24tbWFyZ2luLW9mZnNldDogI3skcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWx9O1xuICAgIH1cblxufVxuXG5cbi8qIFNjaGVtZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tcmVsYXRpdmUgeyBwb3NpdGlvbjogcmVsYXRpdmUgICFpbXBvcnRhbnQ7IH1cbi51ay1wb3NpdGlvbi1hYnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAgIWltcG9ydGFudDsgfVxuLnVrLXBvc2l0aW9uLWZpeGVkIHsgcG9zaXRpb246IGZpeGVkICAhaW1wb3J0YW50OyB9XG4udWstcG9zaXRpb24tc3RpY2t5IHsgcG9zaXRpb246IHN0aWNreSAgIWltcG9ydGFudDsgfVxuXG5cbi8qIExheWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLXotaW5kZXggeyB6LWluZGV4OiAxOyB9XG4udWstcG9zaXRpb24tei1pbmRleC16ZXJvIHsgei1pbmRleDogMDsgfVxuLnVrLXBvc2l0aW9uLXotaW5kZXgtbmVnYXRpdmUgeyB6LWluZGV4OiAtMTsgfVxuLnVrLXBvc2l0aW9uLXotaW5kZXgtaGlnaCB7IHotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDEwOyB9IC8vIEhpZ2hlciB0aGFuIGRyb3BiYXIgc28gaXQgaXMgYmVoaW5kXG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcG9zaXRpb24tbWlzYykpIHtAaW5jbHVkZSBob29rLXBvc2l0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBvc2l0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRyYW5zaXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0cmFuc2l0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRyYW5zaXRpb24tKmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10cmFuc2l0aW9uLWZhZGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNjYWxlLXVwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zY2FsZS1kb3duYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tb3BhcXVlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbG93YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1kaXNhYmxlYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLXRyYW5zaXRpb24tdG9nZ2xlYCxcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tYWN0aXZlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRyYW5zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBUcmFuc2l0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUaGUgdG9nZ2xlIGlzIHRyaWdnZXJlZCBvbiB0b3VjaCBkZXZpY2VzIGJ5IHR3byBtZXRob2RzOlxuICogMS4gVXNpbmcgYDpmb2N1c2AgYW5kIHRhYmluZGV4XG4gKiAyLiBVc2luZyBgOmhvdmVyYCBhbmQgYSBgdG91Y2hzdGFydGAgZXZlbnQgbGlzdGVuZXIgcmVnaXN0ZXJlZCBvbiB0aGUgZG9jdW1lbnRcbiAqICAgIChEb2Vzbid0IHdvcmsgb24gU3VyZmFjZSB0b3VjaCBkZXZpY2VzKVxuICovXG5cbjp3aGVyZSgudWstdHJhbnNpdGlvbi1mYWRlKSxcbjp3aGVyZShbY2xhc3MqPVwidWstdHJhbnNpdGlvbi1zY2FsZVwiXSksXG46d2hlcmUoW2NsYXNzKj1cInVrLXRyYW5zaXRpb24tc2xpZGVcIl0pIHtcbiAgICAtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS14OiAwO1xuICAgIC0tdWstcG9zaXRpb24tdHJhbnNsYXRlLXk6IDA7XG59XG5cbi51ay10cmFuc2l0aW9uLWZhZGUsXG5bY2xhc3MqPVwidWstdHJhbnNpdGlvbi1zY2FsZVwiXSxcbltjbGFzcyo9XCJ1ay10cmFuc2l0aW9uLXNsaWRlXCJdIHtcbiAgICAtLXVrLXRyYW5zbGF0ZS14OiAwO1xuICAgIC0tdWstdHJhbnNsYXRlLXk6IDA7XG4gICAgLS11ay1zY2FsZS14OiAxO1xuICAgIC0tdWstc2NhbGUteTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSh2YXIoLS11ay1wb3NpdGlvbi10cmFuc2xhdGUteCksIHZhcigtLXVrLXBvc2l0aW9uLXRyYW5zbGF0ZS15KSlcbiAgICAgICAgICAgICAgIHRyYW5zbGF0ZSh2YXIoLS11ay10cmFuc2xhdGUteCksIHZhcigtLXVrLXRyYW5zbGF0ZS15KSlcbiAgICAgICAgICAgICAgIHNjYWxlKHZhcigtLXVrLXNjYWxlLXgpLCB2YXIoLS11ay1zY2FsZS15KSk7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBmaWx0ZXI7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLypcbiAqIEZhZGVcbiAqL1xuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tZmFkZSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1mYWRlLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzLXdpdGhpbiAudWstdHJhbnNpdGlvbi1mYWRlLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1mYWRlIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogU2NhbGVcbiAqIDEuIE1ha2UgaW1hZ2UgcmVuZGVyaW5nIHRoZSBzYW1lIGR1cmluZyB0aGUgdHJhbnNpdGlvbiBhcyBiZWZvcmUgYW5kIGFmdGVyLiBQcmVmaXhlZCBiZWNhdXNlIG9mIFNhZmFyaS5cbiAqL1xuXG4vKiAxICovXG5bY2xhc3MqPVwidWstdHJhbnNpdGlvbi1zY2FsZVwiXSB7IC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi51ay10cmFuc2l0aW9uLXNjYWxlLXVwIHtcbiAgICAtLXVrLXNjYWxlLXg6IDE7XG4gICAgLS11ay1zY2FsZS15OiAxO1xufVxuLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93biB7XG4gICAgLS11ay1zY2FsZS14OiAjeyR0cmFuc2l0aW9uLXNjYWxlfTtcbiAgICAtLXVrLXNjYWxlLXk6ICN7JHRyYW5zaXRpb24tc2NhbGV9O1xufVxuXG4vKiBTaG93ICovXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAsXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMtd2l0aGluIC51ay10cmFuc2l0aW9uLXNjYWxlLXVwLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1zY2FsZS11cCB7XG4gICAgLS11ay1zY2FsZS14OiAjeyR0cmFuc2l0aW9uLXNjYWxlfTtcbiAgICAtLXVrLXNjYWxlLXk6ICN7JHRyYW5zaXRpb24tc2NhbGV9O1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMtd2l0aGluIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLXNjYWxlLWRvd24ge1xuICAgIC0tdWstc2NhbGUteDogMTtcbiAgICAtLXVrLXNjYWxlLXk6IDE7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wIHsgLS11ay10cmFuc2xhdGUteTogLTEwMCU7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbSB7IC0tdWstdHJhbnNsYXRlLXk6IDEwMCU7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQgeyAtLXVrLXRyYW5zbGF0ZS14OiAtMTAwJTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQgeyAtLXVrLXRyYW5zbGF0ZS14OiAxMDAlOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1zbWFsbCB7IC0tdWstdHJhbnNsYXRlLXk6IGNhbGMoLTEgKiAjeyR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZX0pOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tc21hbGwgeyAtLXVrLXRyYW5zbGF0ZS15OiAjeyR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZX07IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtc21hbGwgeyAtLXVrLXRyYW5zbGF0ZS14OiBjYWxjKC0xICogI3skdHJhbnNpdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGV9KTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtc21hbGwgeyAtLXVrLXRyYW5zbGF0ZS14OiAjeyR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZX07IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLW1lZGl1bSB7IC0tdWstdHJhbnNsYXRlLXk6IGNhbGMoLTEgKiAjeyR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGV9KTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7IC0tdWstdHJhbnNsYXRlLXk6ICN7JHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZX07IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHsgLS11ay10cmFuc2xhdGUteDogY2FsYygtMSAqICN7JHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZX0pOyB9XG4udWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC1tZWRpdW0geyAtLXVrLXRyYW5zbGF0ZS14OiAjeyR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGV9OyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciBbY2xhc3MqPVwidWstdHJhbnNpdGlvbi1zbGlkZVwiXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyBbY2xhc3MqPVwidWstdHJhbnNpdGlvbi1zbGlkZVwiXSxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cy13aXRoaW4gW2NsYXNzKj1cInVrLXRyYW5zaXRpb24tc2xpZGVcIl0sXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIFtjbGFzcyo9XCJ1ay10cmFuc2l0aW9uLXNsaWRlXCJdIHtcbiAgICAtLXVrLXRyYW5zbGF0ZS14OiAwO1xuICAgIC0tdWstdHJhbnNsYXRlLXk6IDA7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuXG4vKiBPcGFjaXR5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zaXRpb24tb3BhcXVlIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIER1cmF0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zaXRpb24tc2xvdyB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb247IH1cblxuLyogRGlzYWJsZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2l0aW9uLWRpc2FibGUsXG4udWstdHJhbnNpdGlvbi1kaXNhYmxlICogeyB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10cmFuc2l0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10cmFuc2l0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRyYW5zaXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVmlzaWJpbGl0eVxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gc2hvdyBvciBoaWRlIGNvbnRlbnQgb24gYnJlYWtwb2ludHMsIGhvdmVyIG9yIHRvdWNoXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaGlkZGVuLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay12aXNpYmxlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oaWRkZW4tdmlzdWFsbHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay12aXNpYmxlLXRvZ2dsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWludmlzaWJsZS1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi10b3VjaGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi1ub3RvdWNoYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGRlblxuICogYGhpZGRlbmAgYXR0cmlidXRlIGFsc28gc2V0IGhlcmUgdG8gbWFrZSBpdCBzdHJvbmdlclxuICovXG5cbltoaWRkZW5dLFxuLnVrLWhpZGRlbixcbi51ay1oaWRkZW4tZW1wdHk6ZW1wdHkgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWhpZGRlblxcQHMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1oaWRkZW5cXEBtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1oaWRkZW5cXEBsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1oaWRkZW5cXEB4bCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qXG4gKiBWaXNpYmxlXG4gKi9cblxuLyogUGhvbmUgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQHMgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAbSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0tbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBzbWFsbGVyICovXG5AbWVkaWEgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UtbWF4KSB7XG5cbiAgICAudWstdmlzaWJsZVxcQHhsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWludmlzaWJsZSB7IHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG5cblxuLyogQmFzZWQgb24gdGhlIFN0YXRlIG9mIHRoZSBQYXJlbnQgRWxlbWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBNaW5kIHRoYXQgYGRpc3BsYXk6IG5vbmVgLCBgdmlzaWJpbGl0eTogaGlkZGVuYCBhbmQgYG9wYWNpdHk6IDBgXG4gKiByZW1vdmUgdGhlIGVsZW1lbnQgZnJvbSB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlIGFuZCB0aGF0XG4gKiBgZGlzcGxheTogbm9uZWAgYW5kIGB2aXNpYmlsaXR5OiBoaWRkZW5gIGFyZSBub3QgZm9jdXNhYmxlLlxuICpcbiAqIFRoZSB0YXJnZXQgc3RheXMgdmlzaWJsZSBpZiBhbnkgZWxlbWVudCB3aXRoaW4gcmVjZWl2ZXMgZm9jdXMgdGhyb3VnaCBrZXlib2FyZC5cbiAqL1xuXG4vKlxuICogUmVtb3ZlIHNwYWNlIHdoZW4gaGlkZGVuLlxuICogMS4gUmVtb3ZlIGZyb20gZG9jdW1lbnQgZmxvdy5cbiAqIDIuIEhpZGUgZWxlbWVudCBhbmQgc2hyaW5rIGl0cyBkaW1lbnNpb24uIEN1cnJlbnQgYnJvd3NlcnMgYW5kIHNjcmVlbiByZWFkZXJzXG4gKiAgICBrZWVwIHRoZSBlbGVtZW50IGluIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUgZXZlbiB3aXRoIHplcm8gZGltZW5zaW9ucy5cbiAqICAgIFVzaW5nIGB0YWJpbmRleD1cIi0xXCJgIHdpbGwgc2hvdyB0aGUgZWxlbWVudCBvbiB0b3VjaCBkZXZpY2VzLlxuICogICAgTm90ZTogYGNsaXAtcGF0aGAgZG9lc24ndCB3b3JrIHdpdGggYHRhYmluZGV4YCBvbiB0b3VjaCBkZXZpY2VzLlxuICovXG5cbi51ay1oaWRkZW4tdmlzdWFsbHk6bm90KDpmb2N1cyk6bm90KDphY3RpdmUpOm5vdCg6Zm9jdXMtd2l0aGluKSxcbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSAudWstaGlkZGVuLWhvdmVyOm5vdCg6Zm9jdXMtdmlzaWJsZSk6bm90KDpoYXMoOmZvY3VzLXZpc2libGUpKSxcbi8vIEZhbGxiYWNrIGZvciBTYWZhcmkgMTguMyBgOm5vdCg6aGFzKC4uLikpIGludmFsaWRhdGlvbmAgYnVnLiBSZW1vdmUgd2hlbiBmaXhlZC5cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSAudWstaGlkZGVuLWhvdmVyOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiBLZWVwIHNwYWNlIHdoZW4gaGlkZGVuLlxuICogSGlkZSBlbGVtZW50IHdpdGhvdXQgc2hyaW5raW5nIGl0cyBkaW1lbnNpb24uXG4gKiBOb3RlOiBgY2xpcC1wYXRoYCBkb2Vzbid0IHdvcmsgd2l0aCBob3ZlciBmb3IgZWxlbWVudHMgb3V0c2lkZSBvZiB0aGUgdG9nZ2xlIGJveC5cbiAqL1xuXG4udWstdmlzaWJsZS10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykgLnVrLWludmlzaWJsZS1ob3Zlcjpub3QoOmZvY3VzLXdpdGhpbikgeyBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBCYXNlZCBvbiBIb3ZlciBDYXBhYmlsaXR5IG9mIHRoZSBQb2ludGluZyBEZXZpY2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSG92ZXJcbiAqL1xuXG4vKiBIaWRlIGlmIHByaW1hcnkgcG9pbnRpbmcgZGV2aWNlIGRvZXNuJ3Qgc3VwcG9ydCBob3ZlciwgZS5nLiB0b3VjaCBzY3JlZW5zLiAqL1xuQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgIC51ay1oaWRkZW4tdG91Y2ggeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbn1cblxuLyogSGlkZSBpZiBwcmltYXJ5IHBvaW50aW5nIGRldmljZSBzdXBwb3J0cyBob3ZlciwgZS5nLiBtaWNlLiAqL1xuQG1lZGlhIChob3Zlcikge1xuICAgIC51ay1oaWRkZW4tbm90b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXZpc2liaWxpdHktbWlzYykpIHtAaW5jbHVkZSBob29rLXZpc2liaWxpdHktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdmlzaWJpbGl0eS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBJbnZlcnNlXG4vLyBEZXNjcmlwdGlvbjogICAgIEludmVyc2UgY29tcG9uZW50IHN0eWxlIGZvciBsaWdodCBvciBkYXJrIGJhY2tncm91bmRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kYXJrYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSW52ZXJzZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLypcbiAqIEltcGxlbWVudGVkIGNsYXNzIGRlcGVuZHMgb24gdGhlIGdlbmVyYWwgdGhlbWUgY29sb3JcbiAqIGB1ay1saWdodGAgaXMgZm9yIGxpZ2h0IGNvbG9ycyBvbiBkYXJrIGJhY2tncm91bmRzXG4gKiBgdWstZGFya2AgaXMgb3IgZGFyayBjb2xvcnMgb24gbGlnaHQgYmFja2dyb3VuZHNcbiAqL1xuXG5AaWYgKCRpbnZlcnNlLWdsb2JhbC1jb2xvci1tb2RlID09IGxpZ2h0KSB7IC51ay1saWdodCB7IEBpZiAobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UoKTt9fX1cblxuQGlmICgkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSA9PSBkYXJrKSB7IC51ay1kYXJrIHsgQGlmIChtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZSgpO319fVxuXG4vKlxuICogUGFzcyBkcm9wYmFyIGJlaGluZCBjb2xvciB0byBKU1xuICovXG5cbiogeyAtLXVrLWludmVyc2U6IGluaXRpYWw7IH1cblxuLnVrLWxpZ2h0IHsgLS11ay1pbnZlcnNlOiBsaWdodDsgfVxuLnVrLWRhcmsgeyAtLXVrLWludmVyc2U6IGRhcms7IH1cblxuLnVrLWludmVyc2UtbGlnaHQgeyAtLXVrLWludmVyc2U6IGxpZ2h0ICFpbXBvcnRhbnQ7IH1cbi51ay1pbnZlcnNlLWRhcmsgeyAtLXVrLWludmVyc2U6IGRhcmsgIWltcG9ydGFudDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQG1peGluIGhvb2staW52ZXJzZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUHJpbnRcbi8vIERlc2NyaXB0aW9uOiAgICAgT3B0aW1pemUgcGFnZSBmb3IgcHJpbnRpbmdcbi8vXG4vLyBBZGFwdGVkIGZyb20gaHR0cDovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZVxuLy9cbi8vIE1vZGlmaWNhdGlvbnM6ICAgUmVtb3ZlZCBsaW5rIGBocmVmYCBhbmQgYHRpdGxlYCByZWxhdGVkIHJ1bGVzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByaW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHByaW50IHtcblxuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByaW50KSkge0BpbmNsdWRlIGhvb2stcHJpbnQoKTt9XG5cbn1cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1wcmludCgpe31cbiIsIiRsb2FkaW5nLXRpbWU6IDFzO1xuXG4jcGFnZS13cmFwcGVyXG57XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjJzO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC45cztcbiAgICBhbmltYXRpb24tbmFtZTogcGFnZUZhZGVJbjtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG4jcGFnZS13cmFwcGVyLnVubG9hZFxue1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbiAgICBhbmltYXRpb24tbmFtZTogcGFnZUZhZGVPdXQ7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuI2xvYWRlclxue1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGxvYWRpbmctdGltZTtcbiAgICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZUxvYWRlcjtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNjAwbXM7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuI2xvYWRlci51bmxvYWRwYWdlXG57XG4gIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlTG9hZGVyT2ZmO1xuICBhbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xufVxuXG4jbG9hZGVyIGltZ1xue1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYyg1MCUgLSA3MnB4KTtcbiAgbGVmdDogY2FsYyg1MCUgLSA3MS41cHgpO1xuICBtYXgtd2lkdGg6IDE0MHB4O1xuICBtYXgtaGVpZ2h0OiAxNDBweDtcbn1cblxuQGtleWZyYW1lcyBhbmltYXRlTG9hZGVyIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA5MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZUxvYWRlck9mZiB7XG4gIDAlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICBcbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHBhZ2VGYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwYWdlRmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiKiB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGdlb21ldHJpY1ByZWNpc2lvbjtcbn1cblxuaHRtbCwgYm9keVxue1xuICAgIGZvbnQtZmFtaWx5OiAnUnViaWsnLCBzYW5zLXNlcmlmLCBhcmlhbDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmgxLCBoMiwgaDMsIGg1IHsgXG5cdGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyJywgc2VyaWY7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7IFxufVxuXG5oMSBcbntcbiAgZm9udC1zaXplOiA2NXB4O1xuICBsaW5lLWhlaWdodDogNjVweDtcbiAgY29sb3I6ICMzMzMzMzM7XG59XG5cbmgyXG57XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbi10b3A6IDBweDtcbiAgY29sb3I6ICMzMzMzMzM7XG59XG5cbmg0XG57XG4gIGZvbnQtZmFtaWx5OiAnUnViaWsnLCBzYW5zLXNlcmlmLCBhcmlhbDtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgY29sb3I6ICNDQ0NFMDA7XG4gIG1hcmdpbi1ib3R0b206IDdweDtcbn1cblxuYSwgLnVrLWxpbmsge1xuICBjb2xvcjogI0NDQ0UwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdXRsaW5lOm5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIC4ycztcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgZWFzZSAuMnM7XG59XG5cbmE6aG92ZXIsIC51ay1saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIGNvbG9yOiAjMzMzO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuMnM7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIGVhc2UgLjJzO1xufVxuXG5iLCBzdHJvbmcge1xuICBmb250LWZhbWlseTogJ1J1YmlrJywgc2Fucy1zZXJpZiwgYXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMzMzMzMzO1xufVxuXG5lbSB7XG4gICAgY29sb3I6ICMzMzMzMzM7XG59XG5cbmJ1dHRvbiwgaW5wdXQsIHRleHRhcmVhIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmhlYWRlcl9zdmdcbntcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDFweCk7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBoZWlnaHQ6IDM3dnc7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5oZWFkZXJfc3ZnIGltYWdlXG57XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5ob21lX2hlYWRlclxue1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5ob21lX2hlYWRlciAuaGVhZGVyX3RleHRcbntcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAzMCU7XG4gIGxlZnQ6IDA7XG59XG5cbi5ob21lX2hlYWRlciBoMVxue1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiA2MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuNylcbn1cblxuLnBhZ2VfZWxlbWVudCB7XG4gIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9iZWVsZG1lcmsuc3ZnKSBsZWZ0IHRvcCAxNTBweCBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLmJyYW5jaGVzX2hvbGRlclxue1xuICBtYXgtd2lkdGg6IDEzNjZweDtcbiAgbWFyZ2luOiAtMzBweCBhdXRvIDEwMHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuLmJyYW5jaGVzX2JnIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiL2Fzc2V0cy9pbWFnZXMvYmVlbGRtZXJrLnN2Z1wiKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbn1cblxuLmJyYW5jaGVzX2hvbGRlciAuYnJhbmNoZXNfaW50cm9cbntcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xufVxuXG4uYnJhbmNoZXNfaG9sZGVyIC5icmFuY2hlc19pbnRybyBoMiB7XG4gIG1heC13aWR0aDogNjUwcHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi5icmFuY2hlc19ob2xkZXIgaDRcbntcbiAgZm9udC1mYW1pbHk6ICdSdWJpaycsIHNhbnMtc2VyaWYsIGFyaWFsO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBjb2xvcjogI0NDQ0UwMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5icmFuY2hlX2dyaWRcbntcbiAgbWFyZ2luLXRvcDogNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYnJhbmNoZV9ncmlkIC5icmFuY2hlXG57XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJyYW5jaGVfZ3JpZCAuYnJhbmNoZSBoM1xue1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cblxuLmJyYW5jaGVfZ3JpZCAuaW1hZ2VfaG9sZGVyIHtcbiAgcGFkZGluZzogMjglIDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDFweCAxcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG59XG5cbi5icmFuY2hlX2dyaWQgLmJyYW5jaGU6aG92ZXIgLmltYWdlX2hvbGRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNDQ0NFMDA7XG59XG5cbi5icmFuY2hlX2dyaWQgLmltYWdlX2hvbGRlciBzdmcge1xuICBoZWlnaHQ6IDEwM3B4O1xuICB3aWR0aDogYXV0bztcbn1cblxuLmJyYW5jaGVfZ3JpZCAuaW1hZ2VfaG9sZGVyIHN2ZyAqW2ZpbGw9JyMzMzMzMzMnXSxcbi5icmFuY2hlX2dyaWQgLmltYWdlX2hvbGRlciBzdmcgKltzdHJva2U9JyMzMzMzMzMnXVxue1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG59XG5cbi5icmFuY2hlX2dyaWQgLmltYWdlX2hvbGRlciBzdmcgZyB7XG4gIHN0cm9rZS13aWR0aDogMS45O1xufVxuXG4uYnJhbmNoZV9ncmlkIC5icmFuY2hlOmhvdmVyIC5pbWFnZV9ob2xkZXIgc3ZnICpbZmlsbD0nIzMzMzMzMyddIHtcbiAgZmlsbDogI2ZmZjtcbn1cblxuLmJyYW5jaGVfZ3JpZCAuYnJhbmNoZTpob3ZlciAuaW1hZ2VfaG9sZGVyIHN2ZyAqW3N0cm9rZT0nIzMzMzMzMyddIHtcbiAgc3Ryb2tlOiAjZmZmO1xufVxuXG4uYnJhbmNoZV9ncmlkIC5icmFuY2hlIGFcbntcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xufVxuXG4uYnJhbmNoZV9ncmlkIC5icmFuY2hlOmhvdmVyIGFcbntcbiAgb3BhY2l0eTogMTtcbn1cblxuLm92ZXJfb25zXG57XG4gIHBhZGRpbmctdG9wOiAxMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ub3Zlcl9vbnMuY29udGFjdHBhZ2Uge1xuICBtYXJnaW4tdG9wOiAxNjBweDtcbn1cblxuLm92ZXJfb25zIC5iZ19vdmVyX29uc1xue1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiBjYWxjKDUwJSArIDY2M3B4KTtcbiAgaGVpZ2h0OiA4NSU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5vdmVyX29ucyAub3Zlcl9vbnNfZ3JpZFxue1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5vdmVyX29ucyAudGV4dF9ibG9ja1xue1xuICBwYWRkaW5nOiBjYWxjKDEwJSAtIDIwcHgpIDEwJSAxMCU7XG4gIG1heC13aWR0aDogNzUwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0xMCUgLSAxNXB4KTtcbiAgbWFyZ2luLXRvcDogNzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2hhZG93OiAxcHggMXB4IDE1cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4ub3Zlcl9vbnMgLnRleHRfYmxvY2sgaDJcbntcbiAgY29sb3I6ICNjY2M7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiBjYWxjKDEwMCUpO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4ub3Zlcl9vbnMgLmxlZnRfY29sdW1uIGltZ1xue1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm92ZXJfb25zIHAuY29udGFjdF9pY29ucyB7XG4gIGxpbmUtaGVpZ2h0OiA0M3B4O1xufVxuXG4ub3Zlcl9vbnMgcC5jb250YWN0X2ljb25zIHNwYW4ge1xuICB3aWR0aDogMzVweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ub3Zlcl9vbnMgLnRleHRfYmxvY2sgaDMge1xuICBtYXJnaW46IDA7XG59XG5cbi5vdmVyX29ucyAudGV4dF9ibG9jayBiLFxuLm92ZXJfb25zIC50ZXh0X2Jsb2NrIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5tYXBzX2dlZ2V2ZW5zICNtYXAge1xuICBoZWlnaHQ6IDUwMHB4O1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiA1MHB4IGF1dG8gMzBweDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogcHJvamVjdCBkZXRhaWwgKi9cbi5rZW5tZXJrZW5fcHJvamVjdCBwIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ub3Zlcl9vbnMgLnRleHRfYmxvY2sgLnNmZWVyaW1wcmVzc2llcyB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5mb290ZXIgXG57XG4gIG1heC13aWR0aDogMTM2NnB4O1xuICBtYXJnaW46IDBweCBhdXRvO1xuICBwYWRkaW5nOiA1MHB4IDIwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5mb290ZXIgc3Ryb25nXG5cbntcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmZvb3RlciAuZm9vdGVyX2ljb25cbntcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4uZm9vdGVyIHVsXG57XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDU1cHggMCAwO1xufVxuXG4uZm9vdGVyIHVsIGxpe1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uZm9vdGVyIGEgXG57XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uZm9vdGVyIGEuZm9vdGVyX2FkcmVzIHtcbiAgY29sb3I6ICMzMzM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5mb290ZXIgLmxhc3RfY29sdW1uXG57XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZm9vdGVyIC5sYXN0X2NvbHVtbiAuc29jaWFsXG57XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4uZm9vdGVyIC5sYXN0X2NvbHVtbiAuc29jaWFsIC5ob2ZsZXZlcmFuY2llclxue1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuXG4vKiBsYW5kaW5nc3BhZ2luYSAqL1xuLmxhbmRpbmdfY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMzY2cHg7XG4gICAgbWFyZ2luOiA4MHB4IGF1dG87XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5sYW5kaW5nX2NvbnRlbnQudG9wIHtcbiAgICBtYXJnaW46IDgwcHggYXV0byA1MHB4O1xufVxuXG4uaW50cm90ZXh0IHtcbiAgbWFyZ2luOiAxMHB4IGF1dG87XG59XG5cbi5sYW5kaW5nX2NvbnRlbnQgaDEge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogI0NDQ0UwMDtcbiAgICBmb250LWZhbWlseTogJ1J1YmlrJywgc2Fucy1zZXJpZiwgYXJpYWw7XG4gICAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ubGFuZGluZ19jb250ZW50IGgyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiA1MHB4O1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmxhbmRpbmdfY29udGVudCAubGFuZGluZ19pbnRybyB7XG4gICAgbWF4LXdpZHRoOiA4MTBweDtcbiAgICBtYXJnaW46IDAgYXV0byAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubGFhdHN0ZV9wcm9qZWN0ZW5faG9sZGVyXG57XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmxhYXRzdGVfcHJvamVjdGVuX2hvbGRlciAuYmdfcHJvamVjdGVuXG57XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAzNDhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgei1pbmRleDogMTtcbn1cblxuLmxhYXRzdGVfcHJvamVjdGVuXG57XG4gIG1heC13aWR0aDogMTM2NnB4O1xuICBtYXJnaW46IDEwMHB4IGF1dG8gMDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5sYWF0c3RlX3Byb2plY3RlbiAucHJvamVjdGVuX2ludHJvXG57XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmxhYXRzdGVfcHJvamVjdGVuIGgzXG57XG4gIG1hcmdpbjogMCAwIDVweDtcbn1cblxuLmxhYXRzdGVfcHJvamVjdGVuIGg0XG57XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogI0NDQ0UwMDtcbiAgbWFyZ2luOiAwIDAgNXB4O1xuICBmb250LWZhbWlseTogJ1J1YmlrJywgc2Fucy1zZXJpZiwgYXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmxhYXRzdGVfcHJvamVjdGVuIHAge1xuICBtYXJnaW46IDA7XG59XG5cbi5sYWF0c3RlX3Byb2plY3RlbiAucHJvamVjdF9pbnRyb1xue1xuICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5sYWF0c3RlX3Byb2plY3RlbiAucHJvamVjdF9pbnRybyAuYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLmNlcnRpZmljYXRlbl9ob2xkZXJcbntcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgcGFkZGluZzogMTAwcHggMDtcbn1cblxuLmNlcnRpZmljYXRlblxue1xuICBtYXgtd2lkdGg6IDEzNjZweDtcbiAgbWFyZ2luOiAwcHggYXV0bztcbiAgcGFkZGluZzogMCAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2VydGlmaWNhdGVuIC5jZXJ0aWZpY2F0ZW5MaW5rIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2VydGlmaWNhdGVuIGltZ1xue1xuICBtYXgtaGVpZ2h0OiA5NXB4O1xuICBtYXJnaW46IDdweCA1cHg7XG59XG5cbi5jdGFfaG9sZGVyXG57XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIHBhZGRpbmc6IDQwcHggMCA2MHB4O1xufVxuXG4uY3RhXG57XG4gIG1heC13aWR0aDogMTM2NnB4O1xuICBtYXJnaW46IDBweCBhdXRvO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uY3RhIGgzXG57XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogNjUwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmN0YSBhLmxlZXNfbWVlclxue1xuICBmbG9hdDogcmlnaHQ7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nLXJpZ2h0OiAzM3B4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvY3RhX2Fycm93LnN2Zyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDVweCBjZW50ZXI7XG59XG5cbi5jdGEgYS5sZWVzX21lZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwcHggY2VudGVyO1xufVxuXG4ucHJvamVjdGVuX2hvbGRlciB7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG59XG5cbi5wcm9qZWN0ZW5cbntcbiAgbWF4LXdpZHRoOiAxMzY2cHg7XG4gIG1hcmdpbjogMHB4IGF1dG8gMTAwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5wcm9qZWN0ZW4gLnByb2plY3RcbntcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4ucHJvamVjdGVuIC5wcm9qZWN0IGg0XG57XG4gIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyJywgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucHJvamVjdGVuIC5wcm9qZWN0IHAgXG57XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnByb2plY3RlbiAucHJvamVjdCAucHJvamVjdF90aXRsZVxue1xuICBwYWRkaW5nOiAyMHB4IDIwcHggNTBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4ucHJvamVjdGVuIC5wcm9qZWN0IC5idXR0b25cbntcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0yNXB4O1xuICByaWdodDogMDtcbn1cbi5wcm9qZWN0ZW4gLnByb2plY3QgaW1nXG57XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHJvamVjdGVuIGZvcm0ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wcm9qZWN0ZW4gZm9ybSBzcGFuIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xufVxuXG4ucHJvamVjdGVuIGZvcm0gc3BhbjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDMwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgcmlnaHQ6IDA7XG4gIHRvcDogY2FsYyg1MCUgLSAycHgpO1xufVxuXG4ucHJvamVjdGVuIGZvcm0gYSB7XG4gIGJhY2tncm91bmQ6ICNDQ0NFMDA7XG4gIHBhZGRpbmc6IDlweCAyMnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBtYXJnaW46IDAgMXB4IDdweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuMnM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLnByb2plY3RlbiBmb3JtIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCBlYXNlIC4ycztcbn1cblxuLnRlcnVnXG57XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xufVxuXG4udGVydWcgYTpob3Zlclxue1xuICBjb2xvcjogI0NDQ0UwMDtcbn1cblxuLnRlcnVnIGEgaW1nXG57XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLXRvcDogLTJweDtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xufVxuXG4udGVydWcgYTpob3ZlciBpbWdcbntcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4uc29jaWFsIC51ay1pY29uLWJ1dHRvbixcbi5zb2NpYWwgLnVrLWljb24tYnV0dG9uOmhvdmVyXG57XG4gICAgd2lkdGg6IDQ3cHg7XG4gICAgaGVpZ2h0OiA0N3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogI0NDQ0UwMDtcbiAgICBwYWRkaW5nOiA4cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmZvcm11bGllckNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTI0MHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5mb3JtdWxpZXJDb250YWluZXIgaW5wdXQsIC5mb3JtdWxpZXJDb250YWluZXIgdGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0UwMDtcbiAgZm9udC1mYW1pbHk6ICdSdWJpaycsIHNhbnMtc2VyaWYsIGFyaWFsO1xuICBmb250LXNpemU6IDE2cHg7XG59XG4uZm9ybXVsaWVyQ29udGFpbmVyIGlucHV0IHtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nOiAwIDIwcHg7XG59XG4uZm9ybXVsaWVyQ29udGFpbmVyIHRleHRhcmVhIHtcbiAgcGFkZGluZzogMjBweDtcbn1cblxuLmZvcm11bGllckNvbnRhaW5lciAuYnV0dG9uXG57XG4gICAgcGFkZGluZzogMTNweCA3NXB4IDEzcHggMzBweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICMzMzMgdXJsKCcvYXNzZXRzL2ltYWdlcy9idXR0b25fYmcuc3ZnJykgcmlnaHQgbm8tcmVwZWF0O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA1NXB4O1xuICAgIGZvbnQtZmFtaWx5OiAnUnViaWsnLCBzYW5zLXNlcmlmLCBhcmlhbDtcbn1cblxuLmZvcm11bGllckNvbnRhaW5lciAuYnV0dG9uOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDlweCk7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCgvYXNzZXRzL2ltYWdlcy9idXR0b25fYXJyb3cuc3ZnKSByaWdodCBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlIC4zcztcbn1cblxuLmZvcm11bGllckNvbnRhaW5lciAuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwIHVybCgnL2Fzc2V0cy9pbWFnZXMvYnV0dG9uX2JnLnN2ZycpIHJpZ2h0IG5vLXJlcGVhdDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuM3M7XG59XG5cbi5mb3JtdWxpZXJDb250YWluZXIgLmJ1dHRvbjpob3ZlcjphZnRlclxue1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTBweDtcbiAgICB0b3A6IGNhbGMoNTAlIC0gOXB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuM3M7XG59XG5cbi5mb3JtdWxpZXJDb250YWluZXIgaW5wdXQuY2hlY2tib3gge1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAxNXB4O1xuICBcbn1cblxuLmZvcm11bGllckNvbnRhaW5lciAubGFiZWxIb2xkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mb3JtdWxpZXJDb250YWluZXIgLmxhYmVsSG9sZGVyIHNwYW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDMwcHg7XG59IiwiLmJvZHlfYWR2YW5jZWRcbntcbiAgICBtYXJnaW4tdG9wOiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xufVxuXG4uYm9keV9hZHZhbmNlZCBoMiB7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi5ib2R5X2FkdmFuY2VkIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5idXR0b24gYVxue1xuICAgIHBhZGRpbmc6IDEzcHggNzVweCAxM3B4IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzIHVybCgnL2Fzc2V0cy9pbWFnZXMvYnV0dG9uX2JnLnN2ZycpIHJpZ2h0IG5vLXJlcGVhdDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogNTVweDtcbiAgICBmb250LWZhbWlseTogJ1J1YmlrJywgc2Fucy1zZXJpZiwgYXJpYWw7XG59XG5cbi5idXR0b24gYTphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogY2FsYyg1MCUgLSA5cHgpO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL2Fzc2V0cy9pbWFnZXMvYnV0dG9uX2Fycm93LnN2ZykgcmlnaHQgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuM3M7XG59XG5cbi5idXR0b24gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzAwMCB1cmwoJy9hc3NldHMvaW1hZ2VzL2J1dHRvbl9iZy5zdmcnKSByaWdodCBuby1yZXBlYXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjNzO1xufVxuXG4uYnV0dG9uIGE6aG92ZXI6YWZ0ZXJcbntcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDlweCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjNzO1xufVxuXG4uYm9keV9hZHZhbmNlZCBzdHJvbmcsXG4uYm9keV9hZHZhbmNlZCBiIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4ubGFuZGluZ19ib2R5IC5ib2R5X2FkdmFuY2VkIHtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICM5QjlCOUI7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG59XG5cbi8qIHNsaWRlcl9iZyAqL1xuLnNsaWRlcl9iZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTQyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uc2xpZGVyX2JnIC5wcmV2IHtcbiAgICBiYWNrZ3JvdW5kOiAjQ0NDRTAwIHVybCgnL2Fzc2V0cy9pbWFnZXMvcHJldi5zdmcnKSAyNnB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luLWxlZnQ6IDIlO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA4cHggMHB4IHJnYmEoMTk3LDE5NywxOTcsMC43KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggOHB4IDBweCByZ2JhKDE5NywxOTcsMTk3LDAuNyk7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA4cHggMHB4IHJnYmEoMTk3LDE5NywxOTcsMC43KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuMnM7XG59XG5cbi5zbGlkZXJfYmcgLm5leHQge1xuICAgIGJhY2tncm91bmQ6ICNDQ0NFMDAgdXJsKCcvYXNzZXRzL2ltYWdlcy9uZXh0LnN2ZycpIDMwcHggY2VudGVyIG5vLXJlcGVhdDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA4cHggMHB4IHJnYmEoMTk3LDE5NywxOTcsMC43KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggOHB4IDBweCByZ2JhKDE5NywxOTcsMTk3LDAuNyk7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA4cHggMHB4IHJnYmEoMTk3LDE5NywxOTcsMC43KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuMnM7XG59XG5cbi5zbGlkZXJfYmcgLnByZXY6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICMwMDAgdXJsKCcvYXNzZXRzL2ltYWdlcy9wcmV2LnN2ZycpIDI2cHggY2VudGVyIG5vLXJlcGVhdDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAuMnM7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDhweCAwcHggcmdiYSgwLDAsMCwwLjcpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMHB4IDBweCA4cHggMHB4IHJnYmEoMCwwLDAsMC43KTtcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDhweCAwcHggcmdiYSgwLDAsMCwwLjcpO1xufVxuXG4uc2xpZGVyX2JnIC5uZXh0OmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwIHVybCgnL2Fzc2V0cy9pbWFnZXMvbmV4dC5zdmcnKSAzMHB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjJzO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA4cHggMHB4IHJnYmEoMCwwLDAsMC43KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggOHB4IDBweCByZ2JhKDAsMCwwLDAuNyk7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCA4cHggMHB4IHJnYmEoMCwwLDAsMC43KTtcbn1cblxuLnNsaWRlcl9iZyBhIHN2ZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJvZHlfYWR2YW5jZWQuY2VudGVyIHtcbiAgICBtYXgtd2lkdGg6IDEyNDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDBweCBhdXRvIDQwcHg7ICAgIFxufVxuXG4uYm9keV9hZHZhbmNlZCAuYmdfaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTQyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uYmxvZ19kZXRhaWwgLmJvZHlfYWR2YW5jZWQgLmJnX2ltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbn1cblxuLmNlbnRlciB7XG4gICAgLyptYXgtd2lkdGg6IDEyNDBweDsqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMHB4IGF1dG8gNDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5jZW50ZXJfZnVsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwcHggYXV0bztcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNvbnRhY3RfYm9keSAuY2VudGVyX2Z1bGwgXG57XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29udGFjdF9ib2R5IC5ib2R5X2FkdmFuY2VkIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xufVxuXG4uY2VudGVyIHAuYWxpZ24tY2VudGVyXG57XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2VudGVyIC5sZWZ0X2NvbHVtbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XG59XG5cbi5ib2R5X2FkdmFuY2VkIGltZy5mdWxsXG57XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXJnaW4tbGVmdDogNSU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnF1b3RlIHtcbiAgICB0ZXh0LWFsaWduOiAgbGVmdDtcbiAgICBtYXgtd2lkdGg6IDgwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucXVvdGUgaDMge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogNDNweDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyJywgc2VyaWY7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNjZweCkge1xuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTI0MHB4KSB7XG4gICAgLmxhbmRpbmdfaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICB9XG4gICAgLmJvZHlfYWR2YW5jZWQge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmxhbmRpbmdfYm9keSAuYm9keV9hZHZhbmNlZDpmaXJzdC1jaGlsZCAuc2NyZWVuIC5jZW50ZXIsXG4gICAgLmxhbmRpbmdfYm9keSAuYm9keV9hZHZhbmNlZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuICAgIC5tYXN0ZXJzX2luX2dyZWVuIC5tYXN0ZXJzX3RleHQge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5ib2R5X2FkdmFuY2VkXG4gICAge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgfSAgIFxuICAgIFxuICAgIC5jZW50ZXIgLmNlbnRlcl9mdWxsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuYm9keV9hZHZhbmNlZCAucmlnaHRfY29sdW1uIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICAgIC5wcm9qZWN0X3NsaWRlciAuYmxvY2sgLmltYWdlX3RpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgfVxuICAgIC5ib2R5X2FkdmFuY2VkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLnByb2plY3Rfc2xpZGVyIC5ibG9jayB7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5wcm9qZWN0X3NsaWRlci51ay1mbGV4IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5wcm9qZWN0X3NsaWRlciAuYmxvY2sge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbn0iLCIkdGhlbWVDb2xvcjogI0NDQ0UwMDtcblxuQGtleWZyYW1lcyBwbHlyLXByb2dyZXNze1xuICAgIHRve1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjI1cHggMFxuICAgIH1cbn1cbkBrZXlmcmFtZXMgcGx5ci1wb3B1cHtcbiAgICAwJXtcbiAgICAgICAgb3BhY2l0eTouNTtcbiAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweClcbiAgICB9XG4gICAgdG97XG4gICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMClcbiAgICB9XG59XG5Aa2V5ZnJhbWVzIHBseXItZmFkZS1pbntcbiAgICBmcm9te1xuICAgICAgICBvcGFjaXR5OjBcbiAgICB9XG4gICAgdG97XG4gICAgICAgIG9wYWNpdHk6MVxuICAgIH1cbn1cbi5wbHlye1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzpzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICBkaXJlY3Rpb246bHRyO1xuICAgIGZvbnQtZmFtaWx5OkF2ZW5pcixcIkF2ZW5pciBOZXh0XCIsXCJIZWx2ZXRpY2EgTmV1ZVwiLFwiU2Vnb2UgVUlcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzp0YWJ1bGFyLW51bXM7XG4gICAgZm9udC13ZWlnaHQ6NTAwO1xuICAgIGxpbmUtaGVpZ2h0OjEuNztcbiAgICBtYXgtd2lkdGg6MTAwJTtcbiAgICBtaW4td2lkdGg6MjAwcHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdGV4dC1zaGFkb3c6bm9uZTtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2Vcbn1cbi5wbHlyIGF1ZGlvLC5wbHlyIHZpZGVve1xuICAgIGJvcmRlci1yYWRpdXM6aW5oZXJpdDtcbiAgICBoZWlnaHQ6YXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXIgYnV0dG9ue1xuICAgIGZvbnQ6aW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDppbmhlcml0O1xuICAgIHdpZHRoOmF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuLnBseXIgYnV0dG9uOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ucGx5cjpmb2N1c3tcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpe1xuICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveFxufVxuLnBseXItLWZ1bGwtdWkgKiwucGx5ci0tZnVsbC11aSA6OmFmdGVyLC5wbHlyLS1mdWxsLXVpIDo6YmVmb3Jle1xuICAgIGJveC1zaXppbmc6aW5oZXJpdFxufVxuLnBseXItLWZ1bGwtdWkgYSwucGx5ci0tZnVsbC11aSBidXR0b24sLnBseXItLWZ1bGwtdWkgaW5wdXQsLnBseXItLWZ1bGwtdWkgbGFiZWx7XG4gICAgdG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvblxufVxuLnBseXJfX2JhZGdle1xuICAgIGJhY2tncm91bmQ6IzRmNWI1ZjtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBjb2xvcjojZmZmO1xuICAgIGZvbnQtc2l6ZTo5cHg7XG4gICAgbGluZS1oZWlnaHQ6MTtcbiAgICBwYWRkaW5nOjNweCA0cHhcbn1cbi5wbHlyLS1mdWxsLXVpIDo6LXdlYmtpdC1tZWRpYS10ZXh0LXRyYWNrLWNvbnRhaW5lcntcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyX19jYXB0aW9uc3tcbiAgICBhbmltYXRpb246cGx5ci1mYWRlLWluIC4zcyBlYXNlO1xuICAgIGJvdHRvbTowO1xuICAgIGNvbG9yOiNmZmY7XG4gICAgZGlzcGxheTpub25lO1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIGxlZnQ6MDtcbiAgICBwYWRkaW5nOjEwcHg7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjRzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyX19jYXB0aW9ucyAucGx5cl9fY2FwdGlvbntcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIC13ZWJraXQtYm94LWRlY29yYXRpb24tYnJlYWs6Y2xvbmU7XG4gICAgYm94LWRlY29yYXRpb24tYnJlYWs6Y2xvbmU7XG4gICAgbGluZS1oZWlnaHQ6MTg1JTtcbiAgICBwYWRkaW5nOi4yZW0gLjVlbTtcbiAgICB3aGl0ZS1zcGFjZTpwcmUtd3JhcFxufVxuLnBseXJfX2NhcHRpb25zIC5wbHlyX19jYXB0aW9uIGRpdntcbiAgICBkaXNwbGF5OmlubGluZVxufVxuLnBseXJfX2NhcHRpb25zIHNwYW46ZW1wdHl7XG4gICAgZGlzcGxheTpub25lXG59XG5AbWVkaWEgKG1pbi13aWR0aDo0ODBweCl7XG4gICAgLnBseXJfX2NhcHRpb25ze1xuICAgICAgICBmb250LXNpemU6MTZweDtcbiAgICAgICAgcGFkZGluZzoyMHB4XG4gICAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpe1xuICAgIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjE4cHhcbiAgICB9XG59XG4ucGx5ci0tY2FwdGlvbnMtYWN0aXZlIC5wbHlyX19jYXB0aW9uc3tcbiAgICBkaXNwbGF5OmJsb2NrXG59XG4ucGx5cjpub3QoLnBseXItLWhpZGUtY29udHJvbHMpIC5wbHlyX19jb250cm9sczpub3QoOmVtcHR5KX4ucGx5cl9fY2FwdGlvbnN7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTQwcHgpXG59XG4ucGx5cl9fY29udHJvbHtcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjNweDtcbiAgICBjb2xvcjppbmhlcml0O1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIGZsZXgtc2hyaW5rOjA7XG4gICAgb3ZlcmZsb3c6dmlzaWJsZTtcbiAgICBwYWRkaW5nOjdweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZVxufVxuLnBseXJfX2NvbnRyb2wgc3Zne1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgZmlsbDpjdXJyZW50Q29sb3I7XG4gICAgaGVpZ2h0OjE4cHg7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgICB3aWR0aDoxOHB4XG59XG4ucGx5cl9fY29udHJvbDpmb2N1c3tcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1c3tcbiAgICBvdXRsaW5lOjBcbn1cbmEucGx5cl9fY29udHJvbHtcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZVxufVxuYS5wbHlyX19jb250cm9sOjphZnRlcixhLnBseXJfX2NvbnRyb2w6OmJlZm9yZXtcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyX19jb250cm9sLnBseXJfX2NvbnRyb2wtLXByZXNzZWQgLmljb24tLW5vdC1wcmVzc2VkLC5wbHlyX19jb250cm9sLnBseXJfX2NvbnRyb2wtLXByZXNzZWQgLmxhYmVsLS1ub3QtcHJlc3NlZCwucGx5cl9fY29udHJvbDpub3QoLnBseXJfX2NvbnRyb2wtLXByZXNzZWQpIC5pY29uLS1wcmVzc2VkLC5wbHlyX19jb250cm9sOm5vdCgucGx5cl9fY29udHJvbC0tcHJlc3NlZCkgLmxhYmVsLS1wcmVzc2Vke1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cywucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2w6aG92ZXIsLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9sW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17XG4gICAgYmFja2dyb3VuZDokdGhlbWVDb2xvcjtcbiAgICBjb2xvcjojZmZmXG59XG4ucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2wgc3Zne1xuICAgIGZpbHRlcjpkcm9wLXNoYWRvdygwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMTUpKVxufVxuLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cywucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2w6aG92ZXIsLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9sW2FyaWEtZXhwYW5kZWQ9dHJ1ZV17XG4gICAgYmFja2dyb3VuZDokdGhlbWVDb2xvcjtcbiAgICBjb2xvcjojZmZmXG59XG4ucGx5cl9fY29udHJvbC0tb3ZlcmxhaWR7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMDQsIDIwNiwgMCwgMC44KTtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpO1xuICAgIGNvbG9yOiNmZmY7XG4gICAgZGlzcGxheTpub25lO1xuICAgIGxlZnQ6NTAlO1xuICAgIHBhZGRpbmc6MTVweDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtcbiAgICB6LWluZGV4OjJcbn1cbi5wbHlyX19jb250cm9sLS1vdmVybGFpZCBzdmd7XG4gICAgbGVmdDoycHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmVcbn1cbi5wbHlyX19jb250cm9sLS1vdmVybGFpZDpmb2N1cywucGx5cl9fY29udHJvbC0tb3ZlcmxhaWQ6aG92ZXJ7XG4gICAgYmFja2dyb3VuZDokdGhlbWVDb2xvclxufVxuLnBseXItLXBsYXlpbmcgLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlke1xuICAgIG9wYWNpdHk6MDtcbiAgICB2aXNpYmlsaXR5OmhpZGRlblxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2wtLW92ZXJsYWlke1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyLS1mdWxsLXVpIDo6LXdlYmtpdC1tZWRpYS1jb250cm9sc3tcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyX19jb250cm9sc3tcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDpmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOmNlbnRlclxufVxuLnBseXJfX2NvbnRyb2xzIC5wbHlyX19tZW51LC5wbHlyX19jb250cm9scyAucGx5cl9fcHJvZ3Jlc3MsLnBseXJfX2NvbnRyb2xzIC5wbHlyX190aW1lLC5wbHlyX19jb250cm9scyAucGx5cl9fdm9sdW1lLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbHtcbiAgICBtYXJnaW4tbGVmdDo1cHhcbn1cbi5wbHlyX19jb250cm9scyAucGx5cl9fbWVudSsucGx5cl9fY29udHJvbCwucGx5cl9fY29udHJvbHMgLnBseXJfX3Byb2dyZXNzKy5wbHlyX19jb250cm9sLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbCsucGx5cl9fY29udHJvbCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2wrLnBseXJfX21lbnV7XG4gICAgbWFyZ2luLWxlZnQ6MnB4XG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkK1tkYXRhLXBseXI9cGF1c2Vde1xuICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgbWFyZ2luLXJpZ2h0OmF1dG9cbn1cbi5wbHlyX19jb250cm9sczplbXB0eXtcbiAgICBkaXNwbGF5Om5vbmVcbn1cbkBtZWRpYSAobWluLXdpZHRoOjQ4MHB4KXtcbiAgICAucGx5cl9fY29udHJvbHMgLnBseXJfX21lbnUsLnBseXJfX2NvbnRyb2xzIC5wbHlyX19wcm9ncmVzcywucGx5cl9fY29udHJvbHMgLnBseXJfX3RpbWUsLnBseXJfX2NvbnRyb2xzIC5wbHlyX192b2x1bWUsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9se1xuICAgICAgICBtYXJnaW4tbGVmdDoxMHB4XG4gICAgfVxufVxuLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9sc3tcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czppbmhlcml0O1xuICAgIGNvbG9yOiM0ZjViNWY7XG4gICAgcGFkZGluZzoxMHB4XG59XG4ucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xze1xuICAgIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsMCkscmdiYSgwLDAsMCwuNykpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6aW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czppbmhlcml0O1xuICAgIGJvdHRvbTowO1xuICAgIGNvbG9yOiNmZmY7XG4gICAgbGVmdDowO1xuICAgIHBhZGRpbmc6MjBweCA1cHggNXB4O1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHJpZ2h0OjA7XG4gICAgdHJhbnNpdGlvbjpvcGFjaXR5IC40cyBlYXNlLWluLW91dCx0cmFuc2Zvcm0gLjRzIGVhc2UtaW4tb3V0O1xuICAgIHotaW5kZXg6M1xufVxuQG1lZGlhIChtaW4td2lkdGg6NDgwcHgpe1xuICAgIC5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbHN7XG4gICAgICAgIHBhZGRpbmc6MzVweCAxMHB4IDEwcHhcbiAgICB9XG59XG4ucGx5ci0tdmlkZW8ucGx5ci0taGlkZS1jb250cm9scyAucGx5cl9fY29udHJvbHN7XG4gICAgb3BhY2l0eTowO1xuICAgIHBvaW50ZXItZXZlbnRzOm5vbmU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTAwJSlcbn1cbi5wbHlyIFtkYXRhLXBseXI9YWlycGxheV0sLnBseXIgW2RhdGEtcGx5cj1jYXB0aW9uc10sLnBseXIgW2RhdGEtcGx5cj1mdWxsc2NyZWVuXSwucGx5ciBbZGF0YS1wbHlyPXBpcF17XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5ci0tYWlycGxheS1zdXBwb3J0ZWQgW2RhdGEtcGx5cj1haXJwbGF5XSwucGx5ci0tY2FwdGlvbnMtZW5hYmxlZCBbZGF0YS1wbHlyPWNhcHRpb25zXSwucGx5ci0tZnVsbHNjcmVlbi1lbmFibGVkIFtkYXRhLXBseXI9ZnVsbHNjcmVlbl0sLnBseXItLXBpcC1zdXBwb3J0ZWQgW2RhdGEtcGx5cj1waXBde1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrXG59XG4ucGx5cl9fdmlkZW8tZW1iZWR7XG4gICAgaGVpZ2h0OjA7XG4gICAgcGFkZGluZy1ib3R0b206NTYuMjUlO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlXG59XG4ucGx5cl9fdmlkZW8tZW1iZWQgaWZyYW1le1xuICAgIGJvcmRlcjowO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIGxlZnQ6MDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDpub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXItLWZ1bGwtdWkgLnBseXJfX3ZpZGVvLWVtYmVkPi5wbHlyX192aWRlby1lbWJlZF9fY29udGFpbmVye1xuICAgIHBhZGRpbmctYm90dG9tOjI0MCU7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTM4LjI4MTI1JSlcbn1cbi5wbHlyX19tZW51e1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZVxufVxuLnBseXJfX21lbnUgLnBseXJfX2NvbnRyb2wgc3Zne1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIC4zcyBlYXNlXG59XG4ucGx5cl9fbWVudSAucGx5cl9fY29udHJvbFthcmlhLWV4cGFuZGVkPXRydWVdIHN2Z3tcbiAgICB0cmFuc2Zvcm06cm90YXRlKDkwZGVnKVxufVxuLnBseXJfX21lbnUgLnBseXJfX2NvbnRyb2xbYXJpYS1leHBhbmRlZD10cnVlXSAucGx5cl9fdG9vbHRpcHtcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyX19tZW51X19jb250YWluZXJ7XG4gICAgYW5pbWF0aW9uOnBseXItcG9wdXAgLjJzIGVhc2U7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LC45KTtcbiAgICBib3JkZXItcmFkaXVzOjRweDtcbiAgICBib3R0b206MTAwJTtcbiAgICBib3gtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC4xNSk7XG4gICAgY29sb3I6IzRmNWI1ZjtcbiAgICBmb250LXNpemU6MTZweDtcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgcmlnaHQ6LTNweDtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xuICAgIHotaW5kZXg6M1xufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lcj5kaXZ7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHRyYW5zaXRpb246aGVpZ2h0IC4zNXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksd2lkdGggLjM1cyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lcjo6YWZ0ZXJ7XG4gICAgYm9yZGVyOjRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjkpO1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgaGVpZ2h0OjA7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgcmlnaHQ6MTVweDtcbiAgICB0b3A6MTAwJTtcbiAgICB3aWR0aDowXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVde1xuICAgIHBhZGRpbmc6N3B4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVpdGVtXSwucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVpdGVtcmFkaW9de1xuICAgIG1hcmdpbi10b3A6MnB4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVpdGVtXTpmaXJzdC1jaGlsZCwucGx5cl9fbWVudV9fY29udGFpbmVyIFtyb2xlPW1lbnVpdGVtcmFkaW9dOmZpcnN0LWNoaWxke1xuICAgIG1hcmdpbi10b3A6MFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbHtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgY29sb3I6IzRmNWI1ZjtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgcGFkZGluZzo0cHggMTFweDtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDpub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbD5zcGFue1xuICAgIGFsaWduLWl0ZW1zOmluaGVyaXQ7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2w6OmFmdGVye1xuICAgIGJvcmRlcjo0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDonJztcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1mb3J3YXJke1xuICAgIHBhZGRpbmctcmlnaHQ6MjhweFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tZm9yd2FyZDo6YWZ0ZXJ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6cmdiYSg3OSw5MSw5NSwuOCk7XG4gICAgcmlnaHQ6NXB4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1mb3J3YXJkLnBseXJfX3RhYi1mb2N1czo6YWZ0ZXIsLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tZm9yd2FyZDpob3Zlcjo6YWZ0ZXJ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6Y3VycmVudENvbG9yXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNre1xuICAgIGZvbnQtd2VpZ2h0OjUwMDtcbiAgICBtYXJnaW46N3B4O1xuICAgIG1hcmdpbi1ib3R0b206M3B4O1xuICAgIHBhZGRpbmctbGVmdDoyOHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHdpZHRoOmNhbGMoMTAwJSAtIDE0cHgpXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sLS1iYWNrOjphZnRlcntcbiAgICBib3JkZXItcmlnaHQtY29sb3I6cmdiYSg3OSw5MSw5NSwuOCk7XG4gICAgbGVmdDo3cHhcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWJhY2s6OmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kOiNiN2M1Y2Q7XG4gICAgYm94LXNoYWRvdzowIDFweCAwICNmZmY7XG4gICAgY29udGVudDonJztcbiAgICBoZWlnaHQ6MXB4O1xuICAgIGxlZnQ6MDtcbiAgICBtYXJnaW4tdG9wOjRweDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgcmlnaHQ6MDtcbiAgICB0b3A6MTAwJVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbC0tYmFjay5wbHlyX190YWItZm9jdXM6OmFmdGVyLC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2wtLWJhY2s6aG92ZXI6OmFmdGVye1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjpjdXJyZW50Q29sb3Jcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXXtcbiAgICBwYWRkaW5nLWxlZnQ6N3B4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106OmFmdGVyLC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTo6YmVmb3Jle1xuICAgIGJvcmRlci1yYWRpdXM6MTAwJVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjpiZWZvcmV7XG4gICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xKTtcbiAgICBjb250ZW50OicnO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgZmxleC1zaHJpbms6MDtcbiAgICBoZWlnaHQ6MTZweDtcbiAgICBtYXJnaW4tcmlnaHQ6MTBweDtcbiAgICB0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZTtcbiAgICB3aWR0aDoxNnB4XG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106OmFmdGVye1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXI6MDtcbiAgICBoZWlnaHQ6NnB4O1xuICAgIGxlZnQ6MTJweDtcbiAgICBvcGFjaXR5OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwKTtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZSxvcGFjaXR5IC4zcyBlYXNlO1xuICAgIHdpZHRoOjZweFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dW2FyaWEtY2hlY2tlZD10cnVlXTo6YmVmb3Jle1xuICAgIGJhY2tncm91bmQ6JHRoZW1lQ29sb3Jcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV06OmFmdGVye1xuICAgIG9wYWNpdHk6MTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKVxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dLnBseXJfX3RhYi1mb2N1czo6YmVmb3JlLC5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTpob3Zlcjo6YmVmb3Jle1xuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSlcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX21lbnVfX3ZhbHVle1xuICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6YXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6LTVweDtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgcGFkZGluZy1sZWZ0OjI1cHg7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV17XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoyOHB4O1xuICAgIGNvbG9yOiR0aGVtZUNvbG9yO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgaGVpZ2h0OjIwcHg7XG4gICAgbWFyZ2luOjA7XG4gICAgcGFkZGluZzowO1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsY3VycmVudENvbG9yIHZhcigtLXZhbHVlLDApLHRyYW5zcGFyZW50IHZhcigtLXZhbHVlLDApKVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXRodW1ie1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKTtcbiAgICBoZWlnaHQ6MTRweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZTtcbiAgICB3aWR0aDoxNHB4O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICAgIG1hcmdpbi10b3A6LTVweFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2t7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLW1vei11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmVcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRodW1ie1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKTtcbiAgICBoZWlnaHQ6MTRweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZTtcbiAgICB3aWR0aDoxNHB4XG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS1wcm9ncmVzc3tcbiAgICBiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4XG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRyYWNre1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC1tcy11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmU7XG4gICAgY29sb3I6dHJhbnNwYXJlbnRcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtZmlsbC11cHBlcntcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtbG93ZXJ7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLW1zLXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZTtcbiAgICBiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvclxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10aHVtYntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMik7XG4gICAgaGVpZ2h0OjE0cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7XG4gICAgd2lkdGg6MTRweDtcbiAgICBtYXJnaW4tdG9wOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdG9vbHRpcHtcbiAgICBkaXNwbGF5Om5vbmVcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOmZvY3Vze1xuICAgIG91dGxpbmU6MFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otZm9jdXMtb3V0ZXJ7XG4gICAgYm9yZGVyOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7XG4gICAgYm94LXNoYWRvdzowIDAgMCA1cHggcmdiYSgyNiwxNzUsMjU1LC41KTtcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LW1vei1yYW5nZS10cmFja3tcbiAgICBib3gtc2hhZG93OjAgMCAwIDVweCByZ2JhKDI2LDE3NSwyNTUsLjUpO1xuICAgIG91dGxpbmU6MFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV0ucGx5cl9fdGFiLWZvY3VzOjotbXMtdHJhY2t7XG4gICAgYm94LXNoYWRvdzowIDAgMCA1cHggcmdiYSgyNiwxNzUsMjU1LC41KTtcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgyNTUsMjU1LDI1NSwuNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDI1NSwyNTUsMjU1LC41KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbXMtdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgyNTUsMjU1LDI1NSwuNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFja3tcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTgzLDE5NywyMDUsLjY2KVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE4MywxOTcsMjA1LC42Nilcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE4MywxOTcsMjA1LC42Nilcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgwLDAsMCwuMSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpLDAgMCAwIDNweCByZ2JhKDAsMCwwLC4xKVxufVxuLnBseXItLWZ1bGwtdWkucGx5ci0tYXVkaW8gaW5wdXRbdHlwZT1yYW5nZV06YWN0aXZlOjotbXMtdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgwLDAsMCwuMSlcbn1cbi5wbHlyX19wb3N0ZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjojMDAwO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246NTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOmNvbnRhaW47XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbGVmdDowO1xuICAgIG9wYWNpdHk6MDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6MDtcbiAgICB0cmFuc2l0aW9uOm9wYWNpdHkgLjJzIGVhc2U7XG4gICAgd2lkdGg6MTAwJTtcbiAgICB6LWluZGV4OjFcbn1cbi5wbHlyLS1zdG9wcGVkLnBseXJfX3Bvc3Rlci1lbmFibGVkIC5wbHlyX19wb3N0ZXJ7XG4gICAgb3BhY2l0eToxXG59XG4ucGx5cl9fdGltZXtcbiAgICBmb250LXNpemU6MTRweFxufVxuLnBseXJfX3RpbWUrLnBseXJfX3RpbWU6OmJlZm9yZXtcbiAgICBjb250ZW50OidcXDIwNDQnO1xuICAgIG1hcmdpbi1yaWdodDoxMHB4XG59XG5AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7XG4gICAgLnBseXJfX3RpbWUrLnBseXJfX3RpbWV7XG4gICAgICAgIGRpc3BsYXk6bm9uZVxuICAgIH1cbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fdGltZXtcbiAgICB0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpXG59XG4ucGx5cl9fdG9vbHRpcHtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjkpO1xuICAgIGJvcmRlci1yYWRpdXM6M3B4O1xuICAgIGJvdHRvbToxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjE1KTtcbiAgICBjb2xvcjojNGY1YjVmO1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OjUwMDtcbiAgICBsZWZ0OjUwJTtcbiAgICBsaW5lLWhlaWdodDoxLjM7XG4gICAgbWFyZ2luLWJvdHRvbToxMHB4O1xuICAgIG9wYWNpdHk6MDtcbiAgICBwYWRkaW5nOjVweCA3LjVweDtcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwxMHB4KSBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMnMgLjFzIGVhc2Usb3BhY2l0eSAuMnMgLjFzIGVhc2U7XG4gICAgd2hpdGUtc3BhY2U6bm93cmFwO1xuICAgIHotaW5kZXg6MlxufVxuLnBseXJfX3Rvb2x0aXA6OmJlZm9yZXtcbiAgICBib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOjRweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC45KTtcbiAgICBib3R0b206LTRweDtcbiAgICBjb250ZW50OicnO1xuICAgIGhlaWdodDowO1xuICAgIGxlZnQ6NTAlO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOjA7XG4gICAgei1pbmRleDoyXG59XG4ucGx5ciAucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsLnBseXIgLnBseXJfX2NvbnRyb2w6aG92ZXIgLnBseXJfX3Rvb2x0aXAsLnBseXJfX3Rvb2x0aXAtLXZpc2libGV7XG4gICAgb3BhY2l0eToxO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwwKSBzY2FsZSgxKVxufVxuLnBseXIgLnBseXJfX2NvbnRyb2w6aG92ZXIgLnBseXJfX3Rvb2x0aXB7XG4gICAgei1pbmRleDozXG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwe1xuICAgIGxlZnQ6MDtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMTBweCkgc2NhbGUoLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46MCAxMDAlXG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2wgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZXtcbiAgICBsZWZ0OjE2cHhcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwe1xuICAgIGxlZnQ6YXV0bztcbiAgICByaWdodDowO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMCwxMHB4KSBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDEwMCVcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwOjpiZWZvcmV7XG4gICAgbGVmdDphdXRvO1xuICAgIHJpZ2h0OjE2cHg7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKVxufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkIC5wbHlyX190b29sdGlwLS12aXNpYmxlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2wucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQucGx5cl9fdGFiLWZvY3VzIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZDpob3ZlciAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQ6aG92ZXIgLnBseXJfX3Rvb2x0aXB7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApIHNjYWxlKDEpXG59XG4ucGx5ci0tdmlkZW97XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIG92ZXJmbG93OmhpZGRlblxufVxuLnBseXItLXZpZGVvLnBseXItLW1lbnUtb3BlbntcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czppbmhlcml0O1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4OjBcbn1cbi5wbHlyX19wcm9ncmVzc3tcbiAgICBmbGV4OjE7XG4gICAgbGVmdDo3cHg7XG4gICAgbWFyZ2luLXJpZ2h0OjE0cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmVcbn1cbi5wbHlyX19wcm9ncmVzcyBpbnB1dFt0eXBlPXJhbmdlXSwucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICBtYXJnaW4tbGVmdDotN3B4O1xuICAgIG1hcmdpbi1yaWdodDotN3B4O1xuICAgIHdpZHRoOmNhbGMoMTAwJSArIDE0cHgpXG59XG4ucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1yYW5nZV17XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgei1pbmRleDoyXG59XG4ucGx5cl9fcHJvZ3Jlc3MgLnBseXJfX3Rvb2x0aXB7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgbGVmdDowXG59XG4ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjEwMHB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgbGVmdDowO1xuICAgIG1hcmdpbi10b3A6LTJweDtcbiAgICBwYWRkaW5nOjA7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjUwJVxufVxuLnBseXJfX3Byb2dyZXNzX19idWZmZXI6Oi13ZWJraXQtcHJvZyAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjphZnRlciwucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106OmJlZm9yZXtcbiAgICBib3JkZXItcmFkaXVzOjEwMCVcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXTo6YmVmb3Jle1xuICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuMSk7XG4gICAgY29udGVudDonJztcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGZsZXgtc2hyaW5rOjA7XG4gICAgaGVpZ2h0OjE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OjEwcHg7XG4gICAgdHJhbnNpdGlvbjphbGwgLjNzIGVhc2U7XG4gICAgd2lkdGg6MTZweFxufVxuLnBseXJfX21lbnVfX2NvbnRhaW5lciAucGx5cl9fY29udHJvbFtyb2xlPW1lbnVpdGVtcmFkaW9dOjphZnRlcntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyOjA7XG4gICAgaGVpZ2h0OjZweDtcbiAgICBsZWZ0OjEycHg7XG4gICAgb3BhY2l0eTowO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMCk7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzIGVhc2Usb3BhY2l0eSAuM3MgZWFzZTtcbiAgICB3aWR0aDo2cHhcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXVthcmlhLWNoZWNrZWQ9dHJ1ZV06OmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kOiR0aGVtZUNvbG9yXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb11bYXJpYS1jaGVja2VkPXRydWVdOjphZnRlcntcbiAgICBvcGFjaXR5OjE7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSlcbn1cbi5wbHlyX19tZW51X19jb250YWluZXIgLnBseXJfX2NvbnRyb2xbcm9sZT1tZW51aXRlbXJhZGlvXS5wbHlyX190YWItZm9jdXM6OmJlZm9yZSwucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19jb250cm9sW3JvbGU9bWVudWl0ZW1yYWRpb106aG92ZXI6OmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpXG59XG4ucGx5cl9fbWVudV9fY29udGFpbmVyIC5wbHlyX19tZW51X192YWx1ZXtcbiAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIG1hcmdpbi1sZWZ0OmF1dG87XG4gICAgbWFyZ2luLXJpZ2h0Oi01cHg7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHBhZGRpbmctbGVmdDoyNXB4O1xuICAgIHBvaW50ZXItZXZlbnRzOm5vbmVcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2Vde1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MjhweDtcbiAgICBjb2xvcjokdGhlbWVDb2xvcjtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGhlaWdodDoyMHB4O1xuICAgIG1hcmdpbjowO1xuICAgIHBhZGRpbmc6MDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LGN1cnJlbnRDb2xvciB2YXIoLS12YWx1ZSwwKSx0cmFuc3BhcmVudCB2YXIoLS12YWx1ZSwwKSlcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotd2Via2l0LXNsaWRlci10aHVtYntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMik7XG4gICAgaGVpZ2h0OjE0cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7XG4gICAgd2lkdGg6MTRweDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcbiAgICBtYXJnaW4tdG9wOi01cHhcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNre1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1vei1yYW5nZS10aHVtYntcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMik7XG4gICAgaGVpZ2h0OjE0cHg7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjphbGwgLjJzIGVhc2U7XG4gICAgd2lkdGg6MTRweFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tb3otcmFuZ2UtcHJvZ3Jlc3N7XG4gICAgYmFja2dyb3VuZDpjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweFxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy10cmFja3tcbiAgICBiYWNrZ3JvdW5kOjAgMDtcbiAgICBib3JkZXI6MDtcbiAgICBib3JkZXItcmFkaXVzOjJweDtcbiAgICBoZWlnaHQ6NHB4O1xuICAgIHRyYW5zaXRpb246Ym94LXNoYWRvdyAuM3MgZWFzZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6bm9uZTtcbiAgICB1c2VyLXNlbGVjdDpub25lO1xuICAgIGNvbG9yOnRyYW5zcGFyZW50XG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLWZpbGwtdXBwZXJ7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgYm9yZGVyOjA7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICB0cmFuc2l0aW9uOmJveC1zaGFkb3cgLjNzIGVhc2U7XG4gICAgLW1zLXVzZXItc2VsZWN0Om5vbmU7XG4gICAgdXNlci1zZWxlY3Q6bm9uZVxufVxuLnBseXItLWZ1bGwtdWkgaW5wdXRbdHlwZT1yYW5nZV06Oi1tcy1maWxsLWxvd2Vye1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MnB4O1xuICAgIGhlaWdodDo0cHg7XG4gICAgdHJhbnNpdGlvbjpib3gtc2hhZG93IC4zcyBlYXNlO1xuICAgIC1tcy11c2VyLXNlbGVjdDpub25lO1xuICAgIHVzZXItc2VsZWN0Om5vbmU7XG4gICAgYmFja2dyb3VuZDpjdXJyZW50Q29sb3Jcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbXMtdGh1bWJ7XG4gICAgYmFja2dyb3VuZDojZmZmO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSksMCAwIDAgMXB4IHJnYmEoNDcsNTIsNjEsLjIpO1xuICAgIGhlaWdodDoxNHB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246YWxsIC4ycyBlYXNlO1xuICAgIHdpZHRoOjE0cHg7XG4gICAgbWFyZ2luLXRvcDowXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRvb2x0aXB7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXTpmb2N1c3tcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LWZvY3VzLW91dGVye1xuICAgIGJvcmRlcjowXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXS5wbHlyX190YWItZm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNre1xuICAgIGJveC1zaGFkb3c6MCAwIDAgNXB4IHJnYmEoMjYsMTc1LDI1NSwuNSk7XG4gICAgb3V0bGluZTowXG59XG4ucGx5ci0tZnVsbC11aSBpbnB1dFt0eXBlPXJhbmdlXS5wbHlyX190YWItZm9jdXM6Oi1tb3otcmFuZ2UtdHJhY2t7XG4gICAgYm94LXNoYWRvdzowIDAgMCA1cHggcmdiYSgyNiwxNzUsMjU1LC41KTtcbiAgICBvdXRsaW5lOjBcbn1cbi5wbHlyLS1mdWxsLXVpIGlucHV0W3R5cGU9cmFuZ2VdLnBseXJfX3RhYi1mb2N1czo6LW1zLXRyYWNre1xuICAgIGJveC1zaGFkb3c6MCAwIDAgNXB4IHJnYmEoMjYsMTc1LDI1NSwuNSk7XG4gICAgb3V0bGluZTowXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC4yNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMjU1LDI1NSwyNTUsLjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgyNTUsMjU1LDI1NSwuNSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLXZpZGVvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1zLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMjU1LDI1NSwyNTUsLjUpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2t7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE4MywxOTcsMjA1LC42Nilcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOjotbW96LXJhbmdlLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxODMsMTk3LDIwNSwuNjYpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTo6LW1zLXRyYWNre1xuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxODMsMTk3LDIwNSwuNjYpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMCwwLDAsLjEpXG59XG4ucGx5ci0tZnVsbC11aS5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPXJhbmdlXTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWJ7XG4gICAgYm94LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuMTUpLDAgMCAwIDFweCByZ2JhKDQ3LDUyLDYxLC4yKSwwIDAgMCAzcHggcmdiYSgwLDAsMCwuMSlcbn1cbi5wbHlyLS1mdWxsLXVpLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9cmFuZ2VdOmFjdGl2ZTo6LW1zLXRodW1ie1xuICAgIGJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjE1KSwwIDAgMCAxcHggcmdiYSg0Nyw1Miw2MSwuMiksMCAwIDAgM3B4IHJnYmEoMCwwLDAsLjEpXG59XG4ucGx5cl9fcG9zdGVye1xuICAgIGJhY2tncm91bmQtY29sb3I6IzAwMDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTpjb250YWluO1xuICAgIGhlaWdodDoxMDAlO1xuICAgIGxlZnQ6MDtcbiAgICBvcGFjaXR5OjA7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgdHJhbnNpdGlvbjpvcGFjaXR5IC4ycyBlYXNlO1xuICAgIHdpZHRoOjEwMCU7XG4gICAgei1pbmRleDoxO1xufVxuLnBseXItLXN0b3BwZWQucGx5cl9fcG9zdGVyLWVuYWJsZWQgLnBseXJfX3Bvc3RlcntcbiAgICBvcGFjaXR5OjE7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cbi5wbHlyX190aW1le1xuICAgIGZvbnQtc2l6ZToxNHB4XG59XG4ucGx5cl9fdGltZSsucGx5cl9fdGltZTo6YmVmb3Jle1xuICAgIGNvbnRlbnQ6J1xcMjA0NCc7XG4gICAgbWFyZ2luLXJpZ2h0OjEwcHhcbn1cbkBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXtcbiAgICAucGx5cl9fdGltZSsucGx5cl9fdGltZXtcbiAgICAgICAgZGlzcGxheTpub25lXG4gICAgfVxufVxuLnBseXItLXZpZGVvIC5wbHlyX190aW1le1xuICAgIHRleHQtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSlcbn1cbi5wbHlyX190b29sdGlwe1xuICAgIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwuOSk7XG4gICAgYm9yZGVyLXJhZGl1czozcHg7XG4gICAgYm90dG9tOjEwMCU7XG4gICAgYm94LXNoYWRvdzowIDFweCAycHggcmdiYSgwLDAsMCwuMTUpO1xuICAgIGNvbG9yOiM0ZjViNWY7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgZm9udC13ZWlnaHQ6NTAwO1xuICAgIGxlZnQ6NTAlO1xuICAgIGxpbmUtaGVpZ2h0OjEuMztcbiAgICBtYXJnaW4tYm90dG9tOjEwcHg7XG4gICAgb3BhY2l0eTowO1xuICAgIHBhZGRpbmc6NXB4IDcuNXB4O1xuICAgIHBvaW50ZXItZXZlbnRzOm5vbmU7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDEwcHgpIHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlO1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIC4ycyAuMXMgZWFzZSxvcGFjaXR5IC4ycyAuMXMgZWFzZTtcbiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7XG4gICAgei1pbmRleDoyXG59XG4ucGx5cl9fdG9vbHRpcDo6YmVmb3Jle1xuICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6NHB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjkpO1xuICAgIGJvdHRvbTotNHB4O1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgaGVpZ2h0OjA7XG4gICAgbGVmdDo1MCU7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6MDtcbiAgICB6LWluZGV4OjJcbn1cbi5wbHlyIC5wbHlyX19jb250cm9sLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwucGx5ciAucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcCwucGx5cl9fdG9vbHRpcC0tdmlzaWJsZXtcbiAgICBvcGFjaXR5OjE7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLDApIHNjYWxlKDEpXG59XG4ucGx5ciAucGx5cl9fY29udHJvbDpob3ZlciAucGx5cl9fdG9vbHRpcHtcbiAgICB6LWluZGV4OjNcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQrLnBseXJfX2NvbnRyb2wgLnBseXJfX3Rvb2x0aXB7XG4gICAgbGVmdDowO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUoMCwxMHB4KSBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjowIDEwMCVcbn1cbi5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcDo6YmVmb3JlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbCAucGx5cl9fdG9vbHRpcDo6YmVmb3Jle1xuICAgIGxlZnQ6MTZweFxufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXB7XG4gICAgbGVmdDphdXRvO1xuICAgIHJpZ2h0OjA7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDEwcHgpIHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgMTAwJVxufVxuLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXA6OmJlZm9yZXtcbiAgICBsZWZ0OmF1dG87XG4gICAgcmlnaHQ6MTZweDtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpXG59XG4ucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sIC5wbHlyX190b29sdGlwLS12aXNpYmxlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZCsucGx5cl9fY29udHJvbC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkKy5wbHlyX19jb250cm9sOmhvdmVyIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpmaXJzdC1jaGlsZC5wbHlyX190YWItZm9jdXMgLnBseXJfX3Rvb2x0aXAsLnBseXJfX2NvbnRyb2xzPi5wbHlyX19jb250cm9sOmZpcnN0LWNoaWxkOmhvdmVyIC5wbHlyX190b29sdGlwLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwLS12aXNpYmxlLC5wbHlyX19jb250cm9scz4ucGx5cl9fY29udHJvbDpsYXN0LWNoaWxkLnBseXJfX3RhYi1mb2N1cyAucGx5cl9fdG9vbHRpcCwucGx5cl9fY29udHJvbHM+LnBseXJfX2NvbnRyb2w6bGFzdC1jaGlsZDpob3ZlciAucGx5cl9fdG9vbHRpcHtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCkgc2NhbGUoMSlcbn1cbi5wbHlyLS12aWRlb3tcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgb3ZlcmZsb3c6aGlkZGVuXG59XG4ucGx5ci0tdmlkZW8ucGx5ci0tbWVudS1vcGVue1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOmluaGVyaXQ7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHotaW5kZXg6MDtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuLnBseXJfX3Byb2dyZXNze1xuICAgIGZsZXg6MTtcbiAgICBsZWZ0OjdweDtcbiAgICBtYXJnaW4tcmlnaHQ6MTRweDtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZVxufVxuLnBseXJfX3Byb2dyZXNzIGlucHV0W3R5cGU9cmFuZ2VdLC5wbHlyX19wcm9ncmVzc19fYnVmZmVye1xuICAgIG1hcmdpbi1sZWZ0Oi03cHg7XG4gICAgbWFyZ2luLXJpZ2h0Oi03cHg7XG4gICAgd2lkdGg6Y2FsYygxMDAlICsgMTRweClcbn1cbi5wbHlyX19wcm9ncmVzcyBpbnB1dFt0eXBlPXJhbmdlXXtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4OjJcbn1cbi5wbHlyX19wcm9ncmVzcyAucGx5cl9fdG9vbHRpcHtcbiAgICBmb250LXNpemU6MTRweDtcbiAgICBsZWZ0OjBcbn1cbi5wbHlyX19wcm9ncmVzc19fYnVmZmVye1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTpub25lO1xuICAgIGJhY2tncm91bmQ6MCAwO1xuICAgIGJvcmRlcjowO1xuICAgIGJvcmRlci1yYWRpdXM6MTAwcHg7XG4gICAgaGVpZ2h0OjRweDtcbiAgICBsZWZ0OjA7XG4gICAgbWFyZ2luLXRvcDotMnB4O1xuICAgIHBhZGRpbmc6MDtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6NTAlXG59XG4ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcjo6LXdlYmtpdC1wcm9ncmVzcy1iYXJ7XG4gICAgYmFja2dyb3VuZDowIDA7XG4gICAgdHJhbnNpdGlvbjp3aWR0aCAuMnMgZWFzZVxufVxuLnBseXJfX3Byb2dyZXNzX19idWZmZXI6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWV7XG4gICAgYmFja2dyb3VuZDpjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czoxMDBweDtcbiAgICBtaW4td2lkdGg6NHB4XG59XG4ucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcjo6LW1vei1wcm9ncmVzcy1iYXJ7XG4gICAgYmFja2dyb3VuZDpjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czoxMDBweDtcbiAgICBtaW4td2lkdGg6NHB4O1xuICAgIHRyYW5zaXRpb246d2lkdGggLjJzIGVhc2Vcbn1cbi5wbHlyX19wcm9ncmVzc19fYnVmZmVyOjotbXMtZmlsbHtcbiAgICBib3JkZXItcmFkaXVzOjEwMHB4O1xuICAgIHRyYW5zaXRpb246d2lkdGggLjJzIGVhc2Vcbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICBib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4xNSk7XG4gICAgY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMjUpXG59XG4ucGx5ci0tYXVkaW8gLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7XG4gICAgY29sb3I6cmdiYSgxODMsMTk3LDIwNSwuNjYpXG59XG4ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICBhbmltYXRpb246cGx5ci1wcm9ncmVzcyAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLHJnYmEoNDcsNTIsNjEsLjYpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoNDcsNTIsNjEsLjYpIDUwJSxyZ2JhKDQ3LDUyLDYxLC42KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6MjVweCAyNXB4O1xuICAgIGNvbG9yOnRyYW5zcGFyZW50XG59XG4ucGx5ci0tdmlkZW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3NfX2J1ZmZlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsLjI1KVxufVxuLnBseXItLWF1ZGlvLnBseXItLWxvYWRpbmcgLnBseXJfX3Byb2dyZXNzX19idWZmZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE4MywxOTcsMjA1LC42Nilcbn1cbi5wbHlyX192b2x1bWV7XG4gICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4OjE7XG4gICAgcG9zaXRpb246cmVsYXRpdmVcbn1cbi5wbHlyX192b2x1bWUgaW5wdXRbdHlwZT1yYW5nZV17XG4gICAgbWFyZ2luLWxlZnQ6NXB4O1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHotaW5kZXg6MlxufVxuQG1lZGlhIChtaW4td2lkdGg6NDgwcHgpe1xuICAgIC5wbHlyX192b2x1bWV7XG4gICAgICAgIG1heC13aWR0aDo5MHB4XG4gICAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6NzY4cHgpe1xuICAgIC5wbHlyX192b2x1bWV7XG4gICAgICAgIG1heC13aWR0aDoxMTBweFxuICAgIH1cbn1cbi5wbHlyLS1pcy1pb3MgLnBseXJfX3ZvbHVtZXtcbiAgICBkaXNwbGF5Om5vbmUhaW1wb3J0YW50XG59XG4ucGx5ci0taXMtaW9zLnBseXItLXZpbWVvIFtkYXRhLXBseXI9bXV0ZV17XG4gICAgZGlzcGxheTpub25lIWltcG9ydGFudFxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbntcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czowIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBtYXJnaW46MDtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVue1xuICAgIGJhY2tncm91bmQ6IzAwMDtcbiAgICBib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG1hcmdpbjowO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVue1xuICAgIGJhY2tncm91bmQ6IzAwMDtcbiAgICBib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O1xuICAgIGhlaWdodDoxMDAlO1xuICAgIG1hcmdpbjowO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOmZ1bGxzY3JlZW57XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbWFyZ2luOjA7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiB2aWRlb3tcbiAgICBoZWlnaHQ6MTAwJVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiB2aWRlb3tcbiAgICBoZWlnaHQ6MTAwJVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gdmlkZW97XG4gICAgaGVpZ2h0OjEwMCVcbn1cbi5wbHlyOmZ1bGxzY3JlZW4gdmlkZW97XG4gICAgaGVpZ2h0OjEwMCVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjpmdWxsc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX192aWRlby1lbWJlZHtcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5cjpmdWxsc2NyZWVuIC5wbHlyX192aWRlby1lbWJlZHtcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuLnBseXItLXZpbWVvIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDowO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSlcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKVxufVxuLnBseXI6ZnVsbHNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MDtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57XG4gICAgZGlzcGxheTpibG9ja1xufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57XG4gICAgZGlzcGxheTpibG9ja1xufVxuLnBseXI6ZnVsbHNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cjpmdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbi5wbHlyLS1oaWRlLWNvbnRyb2xze1xuICAgIGN1cnNvcjpub25lXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7XG4gICAgY3Vyc29yOm5vbmVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7XG4gICAgY3Vyc29yOm5vbmVcbn1cbi5wbHlyOmZ1bGxzY3JlZW4ucGx5ci0taGlkZS1jb250cm9sc3tcbiAgICBjdXJzb3I6bm9uZVxufVxuQG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KXtcbiAgICAucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjIxcHhcbiAgICB9XG4gICAgLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToyMXB4XG4gICAgfVxuICAgIC5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjIxcHhcbiAgICB9XG4gICAgLnBseXI6ZnVsbHNjcmVlbiAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToyMXB4XG4gICAgfVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbntcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czowIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBtYXJnaW46MDtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIHZpZGVve1xuICAgIGhlaWdodDoxMDAlXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKVxufVxuLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyOi13ZWJraXQtZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cjotd2Via2l0LWZ1bGwtc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7XG4gICAgY3Vyc29yOm5vbmVcbn1cbkBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7XG4gICAgLnBseXI6LXdlYmtpdC1mdWxsLXNjcmVlbiAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToyMXB4XG4gICAgfVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbntcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czowIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBtYXJnaW46MDtcbiAgICB3aWR0aDoxMDAlXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIHZpZGVve1xuICAgIGhlaWdodDoxMDAlXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4ucGx5ci0tdmltZW8gLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjA7XG4gICAgdG9wOjUwJTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKVxufVxuLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyOi1tb3otZnVsbC1zY3JlZW4gLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cjotbW96LWZ1bGwtc2NyZWVuLnBseXItLWhpZGUtY29udHJvbHN7XG4gICAgY3Vyc29yOm5vbmVcbn1cbkBtZWRpYSAobWluLXdpZHRoOjEwMjRweCl7XG4gICAgLnBseXI6LW1vei1mdWxsLXNjcmVlbiAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToyMXB4XG4gICAgfVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW57XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbWFyZ2luOjA7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4gdmlkZW97XG4gICAgaGVpZ2h0OjEwMCVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX192aWRlby1lbWJlZHtcbiAgICBvdmVyZmxvdzp2aXNpYmxlXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlcntcbiAgICBoZWlnaHQ6MDtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpXG59XG4ucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fY29udHJvbCAuaWNvbi0tZXhpdC1mdWxsc2NyZWVue1xuICAgIGRpc3BsYXk6YmxvY2tcbn1cbi5wbHlyOi1tcy1mdWxsc2NyZWVuIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4rc3Zne1xuICAgIGRpc3BsYXk6bm9uZVxufVxuLnBseXI6LW1zLWZ1bGxzY3JlZW4ucGx5ci0taGlkZS1jb250cm9sc3tcbiAgICBjdXJzb3I6bm9uZVxufVxuQG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KXtcbiAgICAucGx5cjotbXMtZnVsbHNjcmVlbiAucGx5cl9fY2FwdGlvbnN7XG4gICAgICAgIGZvbnQtc2l6ZToyMXB4XG4gICAgfVxufVxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2t7XG4gICAgYmFja2dyb3VuZDojMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6MCFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgbWFyZ2luOjA7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBib3R0b206MDtcbiAgICBsZWZ0OjA7XG4gICAgcG9zaXRpb246Zml4ZWQ7XG4gICAgcmlnaHQ6MDtcbiAgICB0b3A6MDtcbiAgICB6LWluZGV4OjEwMDAwMDAwXG59XG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjayB2aWRlb3tcbiAgICBoZWlnaHQ6MTAwJVxufVxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgLnBseXJfX3ZpZGVvLXdyYXBwZXJ7XG4gICAgaGVpZ2h0OjEwMCU7XG4gICAgd2lkdGg6MTAwJVxufVxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgLnBseXJfX3ZpZGVvLWVtYmVke1xuICAgIG92ZXJmbG93OnZpc2libGVcbn1cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrLnBseXItLXZpbWVvIC5wbHlyX192aWRlby13cmFwcGVye1xuICAgIGhlaWdodDowO1xuICAgIHRvcDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSlcbn1cbi5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIC5wbHlyX19jb250cm9sIC5pY29uLS1leGl0LWZ1bGxzY3JlZW57XG4gICAgZGlzcGxheTpibG9ja1xufVxuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sgLnBseXJfX2NvbnRyb2wgLmljb24tLWV4aXQtZnVsbHNjcmVlbitzdmd7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjay5wbHlyLS1oaWRlLWNvbnRyb2xze1xuICAgIGN1cnNvcjpub25lXG59XG5AbWVkaWEgKG1pbi13aWR0aDoxMDI0cHgpe1xuICAgIC5wbHlyLS1mdWxsc2NyZWVuLWZhbGxiYWNrIC5wbHlyX19jYXB0aW9uc3tcbiAgICAgICAgZm9udC1zaXplOjIxcHhcbiAgICB9XG59XG4ucGx5cl9fYWRze1xuICAgIGJvcmRlci1yYWRpdXM6aW5oZXJpdDtcbiAgICBib3R0b206MDtcbiAgICBjdXJzb3I6cG9pbnRlcjtcbiAgICBsZWZ0OjA7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHJpZ2h0OjA7XG4gICAgdG9wOjA7XG4gICAgei1pbmRleDotMVxufVxuLnBseXJfX2Fkcz5kaXYsLnBseXJfX2Fkcz5kaXYgaWZyYW1le1xuICAgIGhlaWdodDoxMDAlO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHdpZHRoOjEwMCVcbn1cbi5wbHlyX19hZHM6OmFmdGVye1xuICAgIGJhY2tncm91bmQ6cmdiYSg0Nyw1Miw2MSwuOCk7XG4gICAgYm9yZGVyLXJhZGl1czoycHg7XG4gICAgYm90dG9tOjEwcHg7XG4gICAgY29sb3I6I2ZmZjtcbiAgICBjb250ZW50OmF0dHIoZGF0YS1iYWRnZS10ZXh0KTtcbiAgICBmb250LXNpemU6MTFweDtcbiAgICBwYWRkaW5nOjJweCA2cHg7XG4gICAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICByaWdodDoxMHB4O1xuICAgIHotaW5kZXg6M1xufVxuLnBseXJfX2Fkczo6YWZ0ZXI6ZW1wdHl7XG4gICAgZGlzcGxheTpub25lXG59XG4ucGx5cl9fY3Vlc3tcbiAgICBiYWNrZ3JvdW5kOmN1cnJlbnRDb2xvcjtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIGhlaWdodDo0cHg7XG4gICAgbGVmdDowO1xuICAgIG1hcmdpbjotMnB4IDAgMDtcbiAgICBvcGFjaXR5Oi44O1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHRvcDo1MCU7XG4gICAgd2lkdGg6M3B4O1xuICAgIHotaW5kZXg6M1xufVxuLnBseXItLW5vLXRyYW5zaXRpb257XG4gICAgdHJhbnNpdGlvbjpub25lIWltcG9ydGFudFxufVxuLnBseXJfX3NyLW9ubHl7XG4gICAgY2xpcDpyZWN0KDFweCwxcHgsMXB4LDFweCk7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIGJvcmRlcjowIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6MXB4IWltcG9ydGFudDtcbiAgICBwYWRkaW5nOjAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudDtcbiAgICB3aWR0aDoxcHghaW1wb3J0YW50XG59XG4ucGx5ciBbaGlkZGVuXXtcbiAgICBkaXNwbGF5Om5vbmUhaW1wb3J0YW50XG59XG4iLCIubWVudV9ob2xkZXIge1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgIGJveC1zaGFkb3c6IDBweCAwcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xufVxuXG4uc2VjdGlvbl9ob21lcGFnZSAubWVudV9ob2xkZXIge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICAtbW96LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm1lbnVcbntcbiAgICBtYXgtd2lkdGg6IDE0ODBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm1lbnUuYWN0aXZlXG57XG4gICAgcG9zaXRpb246IGZpeGVkO1xufVxuXG4ubWVudSAubG9nb1xue1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgODBweDtcbn1cblxuLnNlY3Rpb25faG9tZXBhZ2UgLm1lbnUgLmxvZ28gLmxvZ29fYmcudmVydm9sZyxcbi5tZW51IC5sb2dvIC5sb2dvX2JnIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VjdGlvbl9ob21lcGFnZSAubWVudSAubG9nbyAubG9nb19iZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5tZW51IC5sb2dvIC5sb2dvX2JnLnZlcnZvbGcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogODglO1xufVxuXG4ubWVudSAubG9nbyAubG9nb19iZ1xue1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTtcbn1cblxuLm1lbnUgLmxvZ28gLmxvZ29faW1nXG57XG4gICAgbWFyZ2luLWJvdHRvbTogLTMwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbn1cblxuLm1lbnUgLmxvZ28uanViIHtcbiAgICBwYWRkaW5nOiAwcHggNDVweDtcbn1cblxuLm1lbnUgLmxvZ28gLmxvZ29faW1nLmp1YiB7XG4gICAgbWF4LXdpZHRoOiAyMTBweDtcbn1cblxuLm1lbnUgdWxcbntcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5tZW51IHVsIGxpXG57XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgIHBhZGRpbmc6IDM5cHggMCAwO1xufVxuXG4ubWVudSB1bCBsaS5hY3RpdmVcbntcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvbWVudV9hY3RpdmUuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG59XG5cbi5tZW51IHVsIGxpIGFcbntcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG4ubWVudSB1bCBsaTpob3ZlciBhLFxuLm1lbnUgdWwgbGkuYWN0aXZlIGFcbntcbiAgICBjb2xvcjogI0NDQ0UwMDtcbn1cblxuLm1lbnUuYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi5oYW1idXJnZXJfaG9sZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDdweDtcbiAgICByaWdodDogMTBweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHotaW5kZXg6IDU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbi5oYW1idXJnZXIge1xuICAgIHdpZHRoOiAzNHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGFtYnVyZ2VyIC5saW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgbGVmdDogMHB4O1xufVxuXG4uaGFtYnVyZ2VyIC5saW5lLmxpbmVfdG9wIHtcbiAgICB0b3A6IDNweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXM7XG59XG5cbi5tZW51LmFjdGl2ZSAuaGFtYnVyZ2VyIC5saW5lLmxpbmVfdG9wXG57XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0b3A6IDEzcHg7XG59XG5cbi5oYW1idXJnZXIgLmxpbmUubGluZV9taWRkbGUge1xuICAgIHRvcDogY2FsYyg1MCUgLSAycHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcztcbn1cblxuLmhhbWJ1cmdlciAubGluZS5saW5lX2JvdHRvbSB7XG4gICAgYm90dG9tOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zO1xufVxuXG4ubWVudS5hY3RpdmUgLmhhbWJ1cmdlciAubGluZS5saW5lX2JvdHRvbVxue1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBib3R0b206IDE0cHg7XG59XG5cbi5tZW51LmFjdGl2ZSAuaGFtYnVyZ2VyIC5saW5lLmxpbmVfbWlkZGxlXG57XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogMTVweDtcbiAgICBvcGFjaXR5OiAwO1xufSIsIkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG5cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxODAwcHgpIHtcblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgIC5vdmVyX29ucyAuYmdfb3Zlcl9vbnMge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDgwcHgpIHtcbiAgICAub3Zlcl9vbnMgLnRleHRfYmxvY2sge1xuICAgICAgICBwYWRkaW5nOiBjYWxjKDEwJSAtIDIwcHgpIDglIDglO1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtNyUgLSAxNXB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA2NTBweDtcbiAgICB9XG4gICAgLmxhbmRpbmdfY29udGVudCBoMixcbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gICAgLmN0YV9ob2xkZXIge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDAgNjBweDtcbiAgICB9XG4gICAgXG4gICAgLm92ZXJfb25zIC50ZXh0X2Jsb2NrIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gICAgLm92ZXJfb25zIC50ZXh0X2Jsb2NrIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgIH1cbiAgICAuYnJhbmNoZXNfaG9sZGVyIC5icmFuY2hlc19pbnRybyBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICB9XG4gICAgLm1hcHNfZ2VnZXZlbnMgI21hcCB7XG4gICAgICAgIG1hcmdpbjogNTBweCBhdXRvIDEwMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcbiAgICAubGFuZGluZ19jb250ZW50IGgyLFxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgIH1cbiAgICBcbiAgICAuaG9tZV9oZWFkZXIgaDEge1xuICAgICAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1M3B4O1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIH1cbiAgICBcbiAgICAuaG9tZV9oZWFkZXIgLmhlYWRlcl90ZXh0IHtcbiAgICAgICAgdG9wOiAyNSU7XG4gICAgfVxuICAgIFxuICAgIC5sYWF0c3RlX3Byb2plY3Rlbl9ob2xkZXIgLmJnX3Byb2plY3RlbiB7XG4gICAgICAgIGhlaWdodDogMzclO1xuICAgIH1cbiAgICAub3Zlcl9vbnMuY29udGFjdHBhZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiA3MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjQwcHgpIHtcbiAgICAubGFuZGluZ19jb250ZW50IC5sYW5kaW5nX2ludHJvIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMHB4O1xuICAgIH1cbiAgICBcbiAgICAubWVudSB1bCBsaVxuICAgIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIycHg7XG4gICAgfVxuICAgIFxuICAgIC5tZW51IHVsIGxpOmZpcnN0LWNoaWxkXG4gICAge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG4gICAgXG4gICAgLmJyYW5jaGVfZ3JpZCAuaW1hZ2VfaG9sZGVyIHN2ZyB7XG4gICAgICAgIGhlaWdodDogNzVweDtcbiAgICB9XG4gICAgXG4gICAgLmtlbm1lcmtlbl9wcm9qZWN0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gICAgXG4gICAgLm92ZXJfb25zIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgfVxuICAgIFxuICAgIC5vdmVyX29ucyAudGV4dF9ibG9jayBoMiB7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgIH1cbiAgICBcbiAgICAucHJvamVjdGVuX2hvbGRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5sYW5kaW5nX2NvbnRlbnQgaDIsXG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgfVxuICAgIC5zbGlkZXJfYmcgLnByZXYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjQ0NDRTAwIHVybCgvYXNzZXRzL2ltYWdlcy9wcmV2LnN2ZykgMTRweCBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMSU7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjUlO1xuICAgIH1cbiAgICAuc2xpZGVyX2JnIC5uZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI0NDQ0UwMCB1cmwoL2Fzc2V0cy9pbWFnZXMvbmV4dC5zdmcpIDE0cHggY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNSU7XG4gICAgfVxuICAgIC5zbGlkZXJfYmcgLnByZXY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwIHVybCgvYXNzZXRzL2ltYWdlcy9wcmV2LnN2ZykgMTRweCBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMSU7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjUlO1xuICAgIH1cbiAgICAuc2xpZGVyX2JnIC5uZXh0OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMCB1cmwoL2Fzc2V0cy9pbWFnZXMvbmV4dC5zdmcpIDE0cHggY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDElO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI1JTtcbiAgICB9ICAgIFxuICAgIC5vdmVyX29ucyAudGV4dF9ibG9jayBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gLm92ZXJfb25zIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICAgIFxuICAgIC5vdmVyX29ucyAuYmdfb3Zlcl9vbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAub3Zlcl9vbnMgLnRleHRfYmxvY2sge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5vdmVyX29ucyAudGV4dF9ibG9jayBoMiBcbiAgICB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgICAua2VubWVya2VuX3Byb2plY3Qge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgICAub3Zlcl9vbnMgLnRleHRfYmxvY2sgaDMge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgLm1lbnVfaG9sZGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogNjFweDtcbiAgICB9XG4gICAgLmhhbWJ1cmdlcl9ob2xkZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgXG4gICAgLm1lbnUgLmxvZ28ge1xuICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICAgIHdpZHRoOiA3NHB4O1xuICAgIH1cbiAgICBcbiAgICAubWVudSAubG9nbyAubG9nb19pbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gICAgXG4gICAgLm1lbnUgdWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXM7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIFxuICAgIC5tZW51IHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICAgIFxuICAgIC5tZW51IHVsIGxpLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC5tZW51LmFjdGl2ZSB1bCBsaSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIFxuICAgIC5tZW51IHVsIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDBweDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNzAwbXM7XG4gICAgfVxuICAgIFxuICAgIC5tZW51LmFjdGl2ZSB1bCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMHB4O1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgICBcbiAgICAuaG9tZV9oZWFkZXIgaDEge1xuICAgICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIH1cbiAgICBcbiAgICAuYnJhbmNoZXNfaG9sZGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG4gICAgXG4gICAgLmJyYW5jaGVzX2hvbGRlciBoNCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICB9XG4gICAgXG4gICAgLmN0YSBhLmxlZXNfbWVlciB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAuY3RhIGgzIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICBcbiAgICAubWVudSAubG9nbyAubG9nb19pbWcuanViIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5icmFuY2hlc19ob2xkZXIge1xuICAgICAgICBtYXJnaW46IDEwcHggYXV0byA0MHB4O1xuICAgIH1cbiAgICAua2VubWVya2VuX3Byb2plY3QgLnVrLWZpcnN0LWNvbHVtbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuICAgIC5sYW5kaW5nX2NvbnRlbnQgaDEge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICAgIC5sYW5kaW5nX2NvbnRlbnQgaDIsIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW46IDVweCAwcHg7XG4gICAgfVxuICAgIGgzLFxuICAgIC5vdmVyX29ucyAudGV4dF9ibG9jayBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gICAgaHRtbCwgYm9keSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxuICAgIC5sYW5kaW5nX2NvbnRlbnQsIFxuICAgIC5sYW5kaW5nX2NvbnRlbnQudG9wIHtcbiAgICAgICAgbWFyZ2luOiA2NXB4IGF1dG8gMjBweDtcbiAgICB9XG4gICAgLm1hcHNfZ2VnZXZlbnMgI21hcCB7XG4gICAgICBoZWlnaHQ6IDM1MHB4O1xuICAgIH1cbiAgICAub3Zlcl9vbnMuY29udGFjdHBhZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgfVxuICAgIC5vdmVyX29ucy5jb250YWN0cGFnZSAudGV4dF9ibG9jayBoMiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5vdmVyX29ucy5jb250YWN0cGFnZSAudGV4dF9ibG9jayB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICAgIC5xdW90ZSBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gICAgLnNsaWRlcl9iZyAucHJldiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNDQ0NFMDAgdXJsKC9hc3NldHMvaW1hZ2VzL3ByZXYuc3ZnKSAxMHB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxJTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNSU7XG4gICAgfVxuICAgIC5zbGlkZXJfYmcgLm5leHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjQ0NDRTAwIHVybCgvYXNzZXRzL2ltYWdlcy9uZXh0LnN2ZykgMTBweCBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDElO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI1JTtcbiAgICB9IFxuICAgIC5zbGlkZXJfYmcgLnByZXY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwIHVybCgvYXNzZXRzL2ltYWdlcy9wcmV2LnN2ZykgMTBweCBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI1JTtcbiAgICB9XG4gICAgLnNsaWRlcl9iZyAubmV4dDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDAgdXJsKC9hc3NldHMvaW1hZ2VzL25leHQuc3ZnKSAxMHB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjUlO1xuICAgIH0gIFxuICAgIFxuICAgIC5mb290ZXIgLmxhc3RfY29sdW1uXG4gICAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBcbiAgICAuZm9vdGVyIHVsIFxuICAgIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgXG4gICAgLmJyYW5jaGVfZ3JpZCAuYnJhbmNoZSBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gICAgXG4gICAgLmJyYW5jaGVfZ3JpZCAuYnJhbmNoZSBhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgXG4gICAgLmxhYXRzdGVfcHJvamVjdGVuX2hvbGRlciAuYmdfcHJvamVjdGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmxhYXRzdGVfcHJvamVjdGVuIHtcbiAgICAgICAgbWFyZ2luOiA1MHB4IGF1dG8gMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgfVxuICAgIFxuICAgIC5jZXJ0aWZpY2F0ZW5faG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwO1xuICAgIH1cbiAgICBcbiAgICAucHJvamVjdGVuIC5wcm9qZWN0IC5wcm9qZWN0X3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cbiAgICAuYnV0dG9uIGEge1xuICAgICAgICBwYWRkaW5nOiAxMXB4IDcwcHggMTFweCAyMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICB9XG4gICAgLnByb2plY3RlbiBmb3JtIGEge1xuICAgICAgICBwYWRkaW5nOiA2cHggMTVweDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cbiAgICAuY3RhIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgICBcbiAgICAudGVydWdcbiAgICB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5ob21lX2hlYWRlciB7XG4gICAgICAgIHdpZHRoOiAxNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI1JTtcbiAgICB9XG4gICAgXG4gICAgLmhlYWRlcl9zdmcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIFxuICAgIC5jdGFfaG9sZGVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gICAgfVxuICAgIC5sYWF0c3RlX3Byb2plY3RlbiBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gICAgLmxhYXRzdGVfcHJvamVjdGVuIGg0LFxuICAgIC5sYW5kaW5nX2NvbnRlbnQgaDEge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuICAgIC5sYWF0c3RlX3Byb2plY3RlbiAucHJvamVjdF9pbnRybyB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMHB4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5ob21lX2hlYWRlciBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM2MHB4KSB7XG4gICAgLmJyYW5jaGVfZ3JpZCAuaW1hZ2VfaG9sZGVyIHN2ZyB7XG4gICAgICAgIGhlaWdodDogNTVweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAuaG9tZV9oZWFkZXIgaDEge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgfVxufSIsIi5uaWNlLXNlbGVjdCB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNDQ0NFMDA7XG4gIGNvbG9yOiAjMDAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtZmFtaWx5OiAnUnViaWsnLCBzYW5zLXNlcmlmLCBhcmlhbDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBsaW5lLWhlaWdodDogNTBweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxMDAlOyBcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbiAgXG4gIFxuICAubmljZS1zZWxlY3Q6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0NDQ0UwMDt9XG4gIC5uaWNlLXNlbGVjdDphY3RpdmUsIC5uaWNlLXNlbGVjdC5vcGVuLCAubmljZS1zZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogI0NDQ0UwMDsgfVxuICAubmljZS1zZWxlY3Q6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTJweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzAwMDtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjMDAwO1xuICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDI1cHg7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDVweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW4tb3V0O1xuICB9XG4gIC5uaWNlLXNlbGVjdC5vcGVuOmFmdGVyIHs7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7IH1cbiAgLm5pY2Utc2VsZWN0Lm9wZW4gLmxpc3Qge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7IH1cbiAgLm5pY2Utc2VsZWN0LmRpc2FibGVkIHtcbiAgICBib3JkZXItY29sb3I6ICNlZGVkZWQ7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAubmljZS1zZWxlY3QuZGlzYWJsZWQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjOyB9XG4gIC5uaWNlLXNlbGVjdC53aWRlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5uaWNlLXNlbGVjdC53aWRlIC5saXN0IHtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm5pY2Utc2VsZWN0LnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAubmljZS1zZWxlY3QucmlnaHQgLmxpc3Qge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwOyB9XG4gIC5uaWNlLXNlbGVjdC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMzRweDsgfVxuICAgIC5uaWNlLXNlbGVjdC5zbWFsbDphZnRlciB7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIHdpZHRoOiA0cHg7IH1cbiAgICAubmljZS1zZWxlY3Quc21hbGwgLm9wdGlvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDM0cHg7IH1cbiAgLm5pY2Utc2VsZWN0IC5saXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSg2OCwgNjgsIDY4LCAwLjExKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDtcbiAgICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IDUwJSAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpIHRyYW5zbGF0ZVkoLTIxcHgpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KSB0cmFuc2xhdGVZKC0yMXB4KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSkgdHJhbnNsYXRlWSgtMjFweCk7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLCAxLjI1KSwgb3BhY2l0eSAwLjE1cyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLCAxLjI1KSwgb3BhY2l0eSAwLjE1cyBlYXNlLW91dDtcbiAgICB6LWluZGV4OiA5OyB9XG4gICAgLm5pY2Utc2VsZWN0IC5saXN0OmhvdmVyIC5vcHRpb246bm90KDpob3Zlcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAubmljZS1zZWxlY3QgLm9wdGlvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWluLWhlaWdodDogMzJweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyOXB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsgfVxuICAgIC5uaWNlLXNlbGVjdCAub3B0aW9uOmhvdmVyLCAubmljZS1zZWxlY3QgLm9wdGlvbi5mb2N1cywgLm5pY2Utc2VsZWN0IC5vcHRpb24uc2VsZWN0ZWQuZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuICAgIC5uaWNlLXNlbGVjdCAub3B0aW9uLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLm5vLWNzc3BvaW50ZXJldmVudHMgLm5pY2Utc2VsZWN0IC5saXN0IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubm8tY3NzcG9pbnRlcmV2ZW50cyAubmljZS1zZWxlY3Qub3BlbiAubGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIFxuLmtldXJpbmdzcHJvZHVjdF9tZXJrIHVsXG57XG4gIGNvbHVtbnM6IDI7XG4gIC13ZWJraXQtY29sdW1uczogMjtcbiAgLW1vei1jb2x1bW5zOiAyO1xufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/