/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

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

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/*-------------------------------------------------------------------------+
| Document - Global                                                        |
+-------------------------------------------------------------------------*/
html {
  box-sizing: border-box;
}

html, body {
  overflow-x: hidden;
}

*, *:before, *:after {
  box-sizing: inherit;
}

* {
  -webkit-tap-highlight-color: transparent;
  -webkit-tap-highlight-color: transparent;
  /* For some Androids */
  outline: 0;
}

/*-------------------------------------------------------------------------+
| Body - Global                                                            |
+-------------------------------------------------------------------------*/
body {
  background-color: #fff;
  position: relative;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.site-wrapper {
  max-width: 100%;
  height: 100%;
  overflow: hidden;
  margin: 0 auto;
}

/*-------------------------------------------------------------------------+
| Content - Global                                                         |
+-------------------------------------------------------------------------*/
.site-wrapper {
  margin-top: 65px;
}

@media (min-width: 64.0625em) {
  .site-wrapper {
    margin-top: 105px;
  }
}

/*-------------------------------------------------------------------------+
| Typography                                                               |
+-------------------------------------------------------------------------*/
body, html {
  font-size: 100%;
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 300;
  line-height: 1.5;
  color: #655e58;
}

/*-------------------------------------------------------------------------+
| Typography - Reset                                                       |
+-------------------------------------------------------------------------*/
div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6,
pre, form, p, blockquote,
th, td {
  margin: 0;
  padding: 0;
}

/*-------------------------------------------------------------------------+
| Headlines                                                                |
+-------------------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  color: #f58026;
  text-rendering: optimizeLegibility;
  margin-bottom: 1.25rem;
  line-height: 1;
  letter-spacing: -0.046875rem;
}

h1 {
  font-size: 2.0113571875em;
}

@media (min-width: 46em) {
  h1 {
    font-size: 2.48832em;
  }
}

@media (min-width: 64.0625em) {
  h1 {
    font-size: 3.0517578125em;
  }
}

h2 {
  font-size: 1.74900625em;
}

@media (min-width: 46em) {
  h2 {
    font-size: 2.0736em;
  }
}

@media (min-width: 64.0625em) {
  h2 {
    font-size: 2.44140625em;
  }
}

h3 {
  font-size: 1.520875em;
}

@media (min-width: 46em) {
  h3 {
    font-size: 1.728em;
  }
}

@media (min-width: 64.0625em) {
  h3 {
    font-size: 1.953125em;
  }
}

h4 {
  font-size: 1.3225em;
}

@media (min-width: 46em) {
  h4 {
    font-size: 1.44em;
  }
}

@media (min-width: 64.0625em) {
  h4 {
    font-size: 1.5625em;
  }
}

h5 {
  font-size: 1.15em;
}

@media (min-width: 46em) {
  h5 {
    font-size: 1.2em;
  }
}

@media (min-width: 64.0625em) {
  h5 {
    font-size: 1.25em;
  }
}

h6 {
  font-size: 1em;
}

@media (min-width: 46em) {
  h6 {
    font-size: 1em;
  }
}

@media (min-width: 64.0625em) {
  h6 {
    font-size: 1em;
  }
}

/*-------------------------------------------------------------------------+
| Paragraphs                                                               |
+-------------------------------------------------------------------------*/
p {
  margin-bottom: 1.25rem;
  font-size: inherit;
  line-height: 1.5rem;
  text-rendering: optimizeLegibility;
}

/*-------------------------------------------------------------------------+
| Lists                                                                    |
+-------------------------------------------------------------------------*/
ul, ol {
  margin-left: 1.5rem;
  padding-left: 1.5rem;
  margin-bottom: 1.25rem;
}

ul li, ol li {
  margin-bottom: 1.25rem;
  font-size: inherit;
}

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

/*-------------------------------------------------------------------------+
| Anchors                                                                  |
+-------------------------------------------------------------------------*/
a {
  text-decoration: none;
  font-weight: 500;
  color: #3e3834;
  -webkit-transition: color 150ms;
  transition: color 150ms;
}

a:hover {
  color: #f58026;
}

body .overlay-links a {
  color: #fff;
}

/*-------------------------------------------------------------------------+
| Text Styles                                                              |
+-------------------------------------------------------------------------*/
em, i {
  font-style: italic;
  line-height: inherit;
}

strong, b {
  font-weight: 700;
  line-height: inherit;
}

small {
  line-height: inherit;
}

/*-------------------------------------------------------------------------+
| Horizontal Rules                                                         |
+-------------------------------------------------------------------------*/
hr {
  max-width: 100%;
  height: 0;
  margin: 1.5rem 0;
  border-top: 0;
  border-right: 0;
  border-bottom: 1px solid #3e3935;
  border-left: 0;
}

hr:after {
  content: "";
  display: table;
  clear: both;
}

hr.x2 {
  margin: 3rem 0;
}

/*-------------------------------------------------------------------------+
| Text Alignment                                                           |
+-------------------------------------------------------------------------*/
.text-left {
  text-align: left;
}

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

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

/*-------------------------------------------------------------------------+
| Media                                                                    |
+-------------------------------------------------------------------------*/
.img-responsive {
  max-width: 100%;
  height: auto;
}

/*-------------------------------------------------------------------------+
| Forms - Base Form Styles                                                 |
+-------------------------------------------------------------------------*/
.gform_button.button, .gform_next_button.button, .gform_previous_button.button {
  background: #333;
  border: 0;
  color: #fff;
  padding: 10px 20px;
  border-radius: 4px;
  text-transform: uppercase;
  cursor: pointer;
  -webkit-transition: background 200ms;
  transition: background 200ms;
}

.gform_button.button:hover, .gform_next_button.button:hover, .gform_previous_button.button:hover {
  background: #111;
}

/*-------------------------------------------------------------------------+
| Grid Container                                                           |
+-------------------------------------------------------------------------*/
.container {
  position: relative;
  width: 80rem;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0.9375rem;
}

.container:after {
  content: "";
  display: table;
  clear: both;
}

.container.condensed {
  width: 72.7272727273rem;
}

.container.full-width {
  width: 100%;
  padding-top: 30px;
  padding-bottom: 30px;
}

.container.flex:before, .container.flex:after {
  content: none !important;
}

@media (min-width: 46em) {
  .container {
    padding: 0 1.25rem;
  }
}

@media (min-width: 64.0625em) {
  .container {
    padding: 0 1.875rem;
  }
}

/*-------------------------------------------------------------------------+
| Grid Row                                                                 |
+-------------------------------------------------------------------------*/
.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

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

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

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

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

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

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

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

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

.self-start {
  -webkit-align-self: flex-start;
      -ms-flex-item-align: start;
          align-self: flex-start;
}

.self-end {
  -webkit-align-self: flex-end;
      -ms-flex-item-align: end;
          align-self: flex-end;
}

.self-center {
  -webkit-align-self: center;
      -ms-flex-item-align: center;
              -ms-grid-row-align: center;
          align-self: center;
}

.self-baseline {
  -webkit-align-self: baseline;
      -ms-flex-item-align: baseline;
          align-self: baseline;
}

.self-stretch {
  -webkit-align-self: stretch;
      -ms-flex-item-align: stretch;
              -ms-grid-row-align: stretch;
          align-self: stretch;
}

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

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

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

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

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

.content-start {
  -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
          align-content: flex-start;
}

.content-end {
  -webkit-align-content: flex-end;
      -ms-flex-line-pack: end;
          align-content: flex-end;
}

.content-center {
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
}

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

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

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

/* 1. Fix for Chrome 44 bug. https://code.google.com/p/chromium/issues/detail?id=506893 */
.flex-auto {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
  /* 1 */
  min-height: 0;
  /* 1 */
}

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

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

.order-1 {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}

.order-2 {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}

.order-3 {
  -webkit-box-ordinal-group: 4;
  -webkit-order: 3;
      -ms-flex-order: 3;
          order: 3;
}

.order-last {
  -webkit-box-ordinal-group: 100000;
  -webkit-order: 99999;
      -ms-flex-order: 99999;
          order: 99999;
}

.flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  box-sizing: border-box;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  margin-right: -0.9375rem;
  margin-left: -0.9375rem;
}

@media (min-width: 46em) {
  .flex-row {
    margin-right: -1.25rem;
    margin-left: -1.25rem;
  }
}

@media (min-width: 64.0625em) {
  .flex-row {
    margin-right: -1.875rem;
    margin-left: -1.875rem;
  }
}

.flex-row > .box {
  -webkit-flex-basis: 0%;
      -ms-flex-preferred-size: 0%;
          flex-basis: 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -webkit-flex-shrink: 1;
      -ms-flex-negative: 1;
          flex-shrink: 1;
  max-width: 100%;
  padding: 0 0.9375rem;
}

@media (min-width: 46em) {
  .flex-row > .box {
    padding: 0 1.25rem;
  }
}

@media (min-width: 64.0625em) {
  .flex-row > .box {
    padding: 0 1.875rem;
  }
}

.flex-row > [class^='box-'] {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  padding: 0 0.9375rem;
}

@media (min-width: 46em) {
  .flex-row > [class^='box-'] {
    padding: 0 1.25rem;
  }
}

@media (min-width: 64.0625em) {
  .flex-row > [class^='box-'] {
    padding: 0 1.875rem;
  }
}

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

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

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

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

.flex-row.flex-vertical {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

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

.flex-row.flex-collapse {
  margin-right: 0;
  margin-left: 0;
}

.flex-row.flex-collapse .flex-row {
  margin-left: 0;
  margin-right: 0;
}

.flex-row.flex-collapse .box {
  padding: 0;
}

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

/*-------------------------------------------------------------------------+
| Flexbox Grid                                                             |
+-------------------------------------------------------------------------*/
[class*=".box-mobile-"], [class*=".box-tablet-"], [class*=".box-desktop-"] {
  padding: 0 0.9375rem;
}

.box-mobile-1 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 8.3333333333%;
      -ms-flex: 0 0 8.3333333333%;
          flex: 0 0 8.3333333333%;
  max-width: 8.3333333333%;
}

.box-mobile-2 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 16.6666666667%;
      -ms-flex: 0 0 16.6666666667%;
          flex: 0 0 16.6666666667%;
  max-width: 16.6666666667%;
}

.box-mobile-3 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 25%;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  max-width: 25%;
}

.box-mobile-4 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 33.3333333333%;
      -ms-flex: 0 0 33.3333333333%;
          flex: 0 0 33.3333333333%;
  max-width: 33.3333333333%;
}

.box-mobile-5 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 41.6666666667%;
      -ms-flex: 0 0 41.6666666667%;
          flex: 0 0 41.6666666667%;
  max-width: 41.6666666667%;
}

.box-mobile-6 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 50%;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%;
}

.box-mobile-7 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 58.3333333333%;
      -ms-flex: 0 0 58.3333333333%;
          flex: 0 0 58.3333333333%;
  max-width: 58.3333333333%;
}

.box-mobile-8 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 66.6666666667%;
      -ms-flex: 0 0 66.6666666667%;
          flex: 0 0 66.6666666667%;
  max-width: 66.6666666667%;
}

.box-mobile-9 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 75%;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  max-width: 75%;
}

.box-mobile-10 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 83.3333333333%;
      -ms-flex: 0 0 83.3333333333%;
          flex: 0 0 83.3333333333%;
  max-width: 83.3333333333%;
}

.box-mobile-11 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 91.6666666667%;
      -ms-flex: 0 0 91.6666666667%;
          flex: 0 0 91.6666666667%;
  max-width: 91.6666666667%;
}

.box-mobile-12 {
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
}

@media (min-width: 46em) {
  [class*=".box-mobile-"], [class*=".box-tablet-"], [class*=".box-desktop-"] {
    padding: 0 1.25rem;
  }
  .box-tablet-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.3333333333%;
        -ms-flex: 0 0 8.3333333333%;
            flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .box-tablet-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.6666666667%;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .box-tablet-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .box-tablet-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.3333333333%;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .box-tablet-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.6666666667%;
        -ms-flex: 0 0 41.6666666667%;
            flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .box-tablet-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .box-tablet-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.3333333333%;
        -ms-flex: 0 0 58.3333333333%;
            flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .box-tablet-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.6666666667%;
        -ms-flex: 0 0 66.6666666667%;
            flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .box-tablet-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .box-tablet-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.3333333333%;
        -ms-flex: 0 0 83.3333333333%;
            flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .box-tablet-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.6666666667%;
        -ms-flex: 0 0 91.6666666667%;
            flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .box-tablet-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}

@media (min-width: 64.0625em) {
  [class*=".box-mobile-"], [class*=".box-tablet-"], [class*=".box-desktop-"] {
    padding: 0 1.875rem;
  }
  .box-desktop-1 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 8.3333333333%;
        -ms-flex: 0 0 8.3333333333%;
            flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%;
  }
  .box-desktop-2 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 16.6666666667%;
        -ms-flex: 0 0 16.6666666667%;
            flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%;
  }
  .box-desktop-3 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 25%;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    max-width: 25%;
  }
  .box-desktop-4 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 33.3333333333%;
        -ms-flex: 0 0 33.3333333333%;
            flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%;
  }
  .box-desktop-5 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 41.6666666667%;
        -ms-flex: 0 0 41.6666666667%;
            flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%;
  }
  .box-desktop-6 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 50%;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
  }
  .box-desktop-7 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 58.3333333333%;
        -ms-flex: 0 0 58.3333333333%;
            flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%;
  }
  .box-desktop-8 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 66.6666666667%;
        -ms-flex: 0 0 66.6666666667%;
            flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%;
  }
  .box-desktop-9 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 75%;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    max-width: 75%;
  }
  .box-desktop-10 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 83.3333333333%;
        -ms-flex: 0 0 83.3333333333%;
            flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%;
  }
  .box-desktop-11 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 91.6666666667%;
        -ms-flex: 0 0 91.6666666667%;
            flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%;
  }
  .box-desktop-12 {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 100%;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}

/*-------------------------------------------------------------------------+
| Footer - Start Date                                                      |
+-------------------------------------------------------------------------*/
.footer-start-date {
  background: #f58026;
  padding: 50px 0 60px;
  text-align: center;
  border-bottom: 8px solid #fff;
  position: relative;
}

.footer-start-date:before {
  position: absolute;
  bottom: 0;
  width: 0;
  height: 0;
  content: '';
  border: inset 15px;
  border-top-width: 0;
  border-bottom-style: solid;
  border-color: transparent transparent #fff;
}

.footer-start-date h4 {
  margin: 0 0 4px 0;
  color: #fff;
  font-weight: 500;
  font-size: 34px;
}

.footer-start-date a {
  color: #fff;
  text-transform: uppercase;
  font-size: 18px;
  -webkit-transition: opacity 200ms;
  transition: opacity 200ms;
}

.footer-start-date a:hover {
  opacity: 0.8;
}

@media (min-width: 46em) {
  .footer-start-date h4 {
    font-size: 32px;
  }
  .footer-start-date a {
    font-size: 22px;
  }
}

/*-------------------------------------------------------------------------+
| Footer - Links                                                           |
+-------------------------------------------------------------------------*/
footer .footer-slug {
  background: #3e3834;
  padding: 30px 0;
  text-align: center;
}

footer .footer-slug .company-info {
  margin-bottom: 30px;
}

footer .footer-slug .logo {
  margin: 0 0 30px 0;
}

footer .footer-slug .logo img {
  margin: 0 auto;
  width: 180px;
  height: 47px;
}

footer .footer-slug .address {
  font-size: 14px;
  font-weight: 300;
  margin-bottom: 20px;
  color: rgba(255, 255, 255, 0.5);
}

footer .footer-slug .phone-numbers a {
  color: #fff;
  display: block;
}

@media (min-width: 64.0625em) {
  footer .footer-slug {
    text-align: left;
    padding: 60px 0;
  }
  footer .footer-slug .logo img {
    margin: 0;
  }
}

.slug-links {
  margin-bottom: 14px;
}

.slug-links:last-of-type {
  margin-bottom: 0;
}

.slug-links h4 {
  background: rgba(0, 0, 0, 0.4);
  text-transform: uppercase;
  font-weight: 400;
  font-size: 16px;
  color: #fff;
  padding: 16px;
  margin: 0;
  border-radius: 2px;
  display: block;
  pointer-events: auto;
}

.slug-links .slug-link-container {
  background: rgba(0, 0, 0, 0.4);
  display: none;
}

.slug-links ul {
  list-style: none;
  margin: 0;
  padding: 8px 0;
}

.slug-links ul li {
  margin: 0;
  padding: 0;
  text-transform: uppercase;
}

.slug-links ul li a {
  color: rgba(255, 255, 255, 0.5);
  padding: 8px 16px;
  font-size: 13px;
  display: block;
}

@media (min-width: 64.0625em) {
  .slug-links {
    margin: 0;
  }
  .slug-links.yellow h4:after {
    background: #d0b400;
  }
  .slug-links.yellow ul li a:hover {
    color: #d0b400;
  }
  .slug-links.blue h4:after {
    background: #67a2b9;
  }
  .slug-links.blue ul li a:hover {
    color: #67a2b9;
  }
  .slug-links h4 {
    text-transform: uppercase;
    font-weight: 400;
    color: #fff;
    font-size: 20px;
    padding: 0;
    margin: 0 0 16px 0;
    pointer-events: none;
    background: none;
    border-radius: 0;
  }
  .slug-links h4:after {
    display: block;
    margin: 14px 0 0 0;
    padding: 0;
    content: '';
    height: 2px;
    width: 80px;
    background: #f58026;
  }
  .slug-links .slug-link-container {
    background: transparent;
    display: block !important;
  }
  .slug-links ul {
    background: none;
    display: block !important;
    height: auto !important;
    padding: 0;
  }
  .slug-links ul li {
    font-weight: 200;
  }
  .slug-links ul li a {
    font-size: 14px;
    font-weight: 100;
    padding: 6px 0;
    -webkit-transition: all 300ms ease;
    transition: all 300ms ease;
  }
  .slug-links ul li a:hover {
    color: #f58026;
  }
}

/*-------------------------------------------------------------------------+
| Footer - Copyright Links                                                 |
+-------------------------------------------------------------------------*/
.footer-copyright {
  background: #77706c;
  padding: 15px 0 60px;
}

.footer-copyright span {
  display: block;
  float: none;
  color: #000;
  font-size: 13px;
  text-align: center;
}

@media (min-width: 64.0625em) {
  .footer-copyright span {
    display: inline-block;
    float: left;
    text-align: left;
  }
}

.copyright-links {
  display: block;
  float: none;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}

.copyright-links li {
  margin: 0;
  padding: 0;
  display: inline-block;
}

.copyright-links li a {
  display: block;
  float: none;
  padding: 0 8px;
  color: #fff;
  font-weight: 300;
  font-size: 13px;
  letter-spacing: -0.1px;
}

@media (min-width: 64.0625em) {
  .copyright-links {
    float: right;
  }
  .copyright-links li {
    float: left;
  }
  .copyright-links li a {
    float: left;
  }
}

/*-------------------------------------------------------------------------+
| Header                                                                   |
+-------------------------------------------------------------------------*/
.elementor-editor-active .global-header {
  display: none;
}

.global-header {
  background-color: #fff;
  width: 100%;
  position: fixed;
  z-index: 9999;
  -webkit-transition: -webkit-transform 300ms ease;
  transition: -webkit-transform 300ms ease;
  transition: transform 300ms ease;
  transition: transform 300ms ease, -webkit-transform 300ms ease;
}

.global-header.off-screen {
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0);
}

.global-header.scrolled {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.global-header .container {
  max-height: 65px;
  height: 65px;
}

@media (min-width: 64.0625em) {
  .global-header .container {
    max-height: 105px;
    height: 105px;
  }
}

/*-------------------------------------------------------------------------+
| Header - Top Navigation                                                  |
+-------------------------------------------------------------------------*/
.top-nav {
  background-color: #00415e;
}

.top-nav nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: block;
}

.top-nav nav ul li {
  margin: 0;
  font-family: "Roboto", sans-serif;
}

.top-nav nav ul li a {
  height: 65px;
  line-height: 65px;
  display: block;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  -webkit-transition: color 200ms;
  transition: color 200ms;
}

.top-nav nav ul li a:hover {
  color: white;
}

/*-------------------------------------------------------------------------+
| Header - Main Navigation                                                 |
+-------------------------------------------------------------------------*/
a.logo {
  display: block;
  margin: 0 auto 0 20px;
  padding: 0;
}

a.logo img {
  display: block;
  width: 100px;
  height: auto;
}

@media (min-width: 64.0625em) {
  a.logo {
    margin: 0;
  }
  a.logo img {
    width: 180px;
    height: auto;
  }
}

/*-------------------------------------------------------------------------+
| Header - Main Menu Buttons                                               |
+-------------------------------------------------------------------------*/
.menu-buttons {
  margin: 0 0 0 10px;
}

.menu-buttons a {
  border-radius: 2px;
  display: inline-block;
  float: left;
  background: rgba(245, 128, 38, 0);
  border: 2px solid #f58026;
  padding: 0.3em 0.75em;
  color: #f58026;
  font-size: 12px;
  text-transform: uppercase;
  -webkit-transition: all 400ms;
  transition: all 400ms;
  font-family: "Roboto", sans-serif;
}

.menu-buttons a:hover {
  background: #f58026;
  color: #fff;
}

.menu-buttons a:first-of-type {
  margin-right: 6px;
  display: none;
}

@media (min-width: 358px) {
  .menu-buttons a:first-of-type {
    display: inherit;
  }
}

/*-------------------------------------------------------------------------+
| Header - Main Icon Menu                                                  |
+-------------------------------------------------------------------------*/
.menu-icons {
  margin: 0 0 0 15px;
  padding: 0;
  list-style: none;
}

.menu-icons li {
  display: inline-block;
  float: left;
  margin: 0;
  padding: 0;
  font-size: 1.125rem;
  line-height: 1;
}

.menu-icons li a {
  display: block;
  color: rgba(0, 0, 0, 0.3);
  padding: 0 0.35em;
  -webkit-transition: color 400ms;
  transition: color 400ms;
  position: relative;
}

.menu-icons li a:hover {
  color: #f58026;
}

.menu-icons li a:hover .tooltip {
  opacity: 1;
  visibility: visible;
}

.menu-icons li a .tooltip {
  opacity: 0;
  border-radius: 3px;
  visibility: hidden;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #3e3834;
  padding: 6px 10px;
  color: #fff;
  font-size: 10px;
  text-align: center;
  top: calc(-100% + -10px);
  white-space: nowrap;
  -webkit-transition: all 200ms;
  transition: all 200ms;
}

.menu-icons li a .tooltip:after {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  position: absolute;
  border-color: rgba(62, 56, 52, 0);
  border-top-color: #3e3834;
  border-width: 4px;
  margin-left: -4px;
}

@media (max-width: 71.25em) {
  .menu-icons {
    display: none;
  }
}

@media (max-width: 76.25em) {
  .menu-icons li:nth-child(n+3) {
    display: none;
  }
}

/*-------------------------------------------------------------------------+
| Sidebars                                                                 |
+-------------------------------------------------------------------------*/
.sidebar-widgets {
  margin: 0 0 40px 0;
}

.sidebar-widgets:after {
  content: "";
  display: table;
  clear: both;
}

.sidebar-widgets h4 {
  color: #3e3834;
  text-transform: uppercase;
  display: block;
  font-size: 20px;
  margin-bottom: 20px;
}

.sidebar-widgets h4:after {
  display: block;
  content: '';
  width: 100%;
  height: 2px;
  background: #f58026;
  margin: 10px 0 0 0;
}

.sidebar-widgets ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sidebar-widgets ul li {
  display: block;
  margin: 0 0 6px 0;
  text-transform: uppercase;
}

.sidebar-widgets ul li a {
  font-weight: 500;
  font-size: 16px;
}

#wp-calendar {
  width: 100%;
  max-width: 37.5rem;
  background: #ddd;
  margin-left: auto;
  margin-right: auto;
}

#wp-calendar caption {
  background: #444;
  color: #fff;
  padding: 0.25rem;
  text-align: center;
}

#wp-calendar tr {
  background: #fff;
}

#wp-calendar thead tr {
  border-right: 1px solid #ddd;
}

#wp-calendar thead th {
  font-size: 90%;
  font-weight: bold;
  padding: 0.25rem;
  background: #ddd;
  text-transform: uppercase;
  text-align: center;
}

#wp-calendar tbody td {
  position: relative;
  padding: 0;
  text-align: center;
  border: 0;
  background: #fff;
  line-height: 30px;
}

#wp-calendar tbody td.pad {
  opacity: 0.7;
}

#wp-calendar tbody td#today {
  font-weight: bold;
}

#wp-calendar tbody td#today#today:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-top: 10px solid #333;
  border-left: 10px solid transparent;
}

#wp-calendar tbody td a {
  display: block;
  background: rgba(245, 128, 38, 0.2);
}

#wp-calendar tbody td a:hover {
  background: #f58026;
  color: #fff;
}

#wp-calendar tfoot tr {
  background: #fff;
  border: 1px solid #ddd;
}

#wp-calendar tfoot tr td {
  border: 0;
  padding: 0;
}

#wp-calendar tfoot tr a {
  display: block;
  padding: 0.25rem 0.75rem;
}

#wp-calendar tfoot tr a:hover {
  background: #fff;
}

#wp-calendar tfoot tr #prev {
  text-align: left;
}

#wp-calendar tfoot tr #next {
  text-align: right;
}

body div.sharedaddy h3.sd-title {
  width: 100%;
  font-weight: 500;
  text-transform: uppercase;
}

#category-posts-2-internal.category-posts-internal li.cat-post-item {
  margin: 0 0 10px 0;
  position: relative;
  padding: 10px 0 10px 80px;
}

#category-posts-2-internal.category-posts-internal li.cat-post-item .cat-post-thumbnail {
  position: absolute;
  left: 0;
}

/*-------------------------------------------------------------------------+
| Drop Down Menu                                                           |
+-------------------------------------------------------------------------*/
nav.dd-menu {
  margin-left: auto;
  display: none;
  font-family: "Roboto", sans-serif;
}

@media (min-width: 64.0625em) {
  nav.dd-menu {
    display: inherit;
  }
}

nav.dd-menu ul {
  margin: 0;
  padding: 0;
}

nav.dd-menu ul:after {
  content: "";
  display: table;
  clear: both;
}

nav.dd-menu ul li {
  position: relative;
  display: inline-block;
  float: left;
  margin: 0;
  font-family: "Roboto", sans-serif;
}

nav.dd-menu ul li:before {
  position: absolute;
  content: '';
  background: #f58026;
  width: 100%;
  height: 0px;
  bottom: 0;
  left: 0;
  -webkit-transition: all 200ms;
  transition: all 200ms;
}

nav.dd-menu ul li:hover:before {
  height: 4px;
}

nav.dd-menu ul li:hover > a {
  color: #f58026;
}

nav.dd-menu ul a {
  position: relative;
  z-index: 599;
  color: rgba(0, 0, 0, 0.6);
  text-decoration: none;
  display: block;
  font-size: 0.875rem;
  padding: 3em 0.9em;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0;
  -webkit-transition: all 250ms;
  transition: all 250ms;
}

nav.dd-menu ul a:hover {
  color: #f58026;
}

nav.dd-menu ul a:hover + .sub-menu {
  opacity: 1;
  visibility: visible;
}

/*----------------------------------
| Colors
+ ---------------------------------*/
nav.dd-menu ul.main-menu > li:nth-child(1):hover > a {
  color: #d0b400;
}

nav.dd-menu ul.main-menu > li:nth-child(1):hover:before {
  background: #d0b400;
}

nav.dd-menu ul.main-menu > li:nth-child(2):hover > a {
  color: #01956d;
}

nav.dd-menu ul.main-menu > li:nth-child(2):hover:before {
  background: #01956d;
}

nav.dd-menu ul.main-menu > li:nth-child(4):hover > a {
  color: #7d6991;
}

nav.dd-menu ul.main-menu > li:nth-child(4):hover:before {
  background: #7d6991;
}

nav.dd-menu ul.main-menu > li:nth-child(5):hover > a {
  color: #67a2b9;
}

nav.dd-menu ul.main-menu > li:nth-child(5):hover:before {
  background: #67a2b9;
}

/*-------------------------------------------------------------------------+
| Drop Down - Sub Menu                                                     |
+-------------------------------------------------------------------------*/
nav.dd-menu ul .sub-menu {
  display: block;
  opacity: 0;
  position: absolute;
  visibility: hidden;
  z-index: 499;
  width: 14em;
  top: 100%;
  left: 0;
  background: #fff;
  box-shadow: 0 1px 2px rgba(85, 85, 85, 0.3);
  -webkit-transition: all 250ms ease;
  transition: all 250ms ease;
}

nav.dd-menu ul .sub-menu:hover {
  opacity: 1;
  visibility: visible;
}

nav.dd-menu ul .sub-menu li {
  float: none;
  display: block;
  margin: 0;
  font-family: "Roboto", sans-serif;
}

nav.dd-menu ul .sub-menu li:hover:before {
  display: none;
}

nav.dd-menu ul .sub-menu li:hover > a {
  color: #fff;
  background: #363636;
}

nav.dd-menu ul .sub-menu li > .sub-menu {
  top: 0;
  left: 100%;
}

nav.dd-menu ul .sub-menu a {
  width: 100%;
  display: block;
  font-weight: 400;
  font-size: 14px;
  padding: 1em 1em;
  text-align: left;
  color: rgba(0, 0, 0, 0.6);
}

/*-------------------------------------------------------------------------+
| Drop Down Menu - Effects                                                 |
+-------------------------------------------------------------------------*/
nav.dd-menu {
  /*=== Fade Down ===*/
  /*=== Fade Up ===*/
  /*=== Scale ===*/
  /*=== Move/Skew In ===*/
}

nav.dd-menu.fade-down .sub-menu {
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: translateY(-20px);
      -ms-transform: translateY(-20px);
          transform: translateY(-20px);
}

nav.dd-menu.fade-down li:hover > .sub-menu {
  -webkit-transform: translateY(0px);
      -ms-transform: translateY(0px);
          transform: translateY(0px);
}

nav.dd-menu.fade-up .sub-menu {
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: translateY(20px);
      -ms-transform: translateY(20px);
          transform: translateY(20px);
}

nav.dd-menu.fade-up li:hover > .sub-menu {
  -webkit-transform: translateY(0px);
      -ms-transform: translateY(0px);
          transform: translateY(0px);
}

nav.dd-menu.scale .sub-menu {
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: scale(0);
      -ms-transform: scale(0);
          transform: scale(0);
}

nav.dd-menu.scale li:hover > .sub-menu {
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

nav.dd-menu.skew .sub-menu {
  -webkit-transform-origin: center center;
      -ms-transform-origin: center center;
          transform-origin: center center;
  -webkit-transform: translateX(-40px) skewX(-7deg);
      -ms-transform: translateX(-40px) skewX(-7deg);
          transform: translateX(-40px) skewX(-7deg);
}

nav.dd-menu.skew li:hover > .sub-menu {
  -webkit-transform: translateX(0px) skewX(0deg);
      -ms-transform: translateX(0px) skewX(0deg);
          transform: translateX(0px) skewX(0deg);
}

/*-------------------------------------------------------------------------+
| Menu Mobile                                                              |
+-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------+
| Off Canvas Global Animation                                              |
+-------------------------------------------------------------------------*/
.site-wrapper, #off-canvas-lmenu, .global-header {
  -webkit-transition: -webkit-transform .5s ease;
  transition: -webkit-transform .5s ease;
  transition: transform .5s ease;
  transition: transform .5s ease, -webkit-transform .5s ease;
}

.menu-active .site-wrapper, .menu-active #off-canvas-lmenu, .menu-active .global-header {
  -webkit-transform: translateX(275px);
      -ms-transform: translateX(275px);
          transform: translateX(275px);
}

@media (min-width: 64.0625em) {
  .menu-active .site-wrapper, .menu-active #off-canvas-lmenu, .menu-active .global-header {
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);
  }
}

.menu-active #bg-overlay {
  background: rgba(0, 0, 0, 0.4);
  visibility: visible;
}

#bg-overlay {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: transparent;
  visibility: hidden;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
  display: inherit;
}

/*-------------------------------------------------------------------------+
| Menu Off Canvas                                                          |
+-------------------------------------------------------------------------*/
.off-canvas-menu {
  position: relative;
  display: inline-block;
  width: 275px;
  margin: 0;
  padding: 30px 0;
  box-sizing: content-box;
  font-family: "Roboto", sans-serif;
}

.off-canvas-menu:after {
  content: "";
  display: table;
  clear: both;
}

.off-canvas-menu.left-nav {
  position: relative;
  float: left;
  height: auto;
  overflow: hidden;
  width: 100%;
  margin: 0;
  text-transform: uppercase;
  -webkit-transition: opacity .25s ease, height .5s ease,-webkit-transform .25s ease;
  transition: opacity .25s ease, height .5s ease,-webkit-transform .25s ease;
  transition: transform .25s ease,opacity .25s ease, height .5s ease;
  transition: transform .25s ease,opacity .25s ease, height .5s ease,-webkit-transform .25s ease;
  font-family: "Roboto", sans-serif;
}

.off-canvas-menu.left-nav a {
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

.off-canvas-menu.left-nav ul {
  position: relative;
  float: left;
  height: auto;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  -webkit-transition: opacity .5s ease,-webkit-transform .5s ease;
  transition: opacity .5s ease,-webkit-transform .5s ease;
  transition: transform .5s ease,opacity .5s ease;
  transition: transform .5s ease,opacity .5s ease,-webkit-transform .5s ease;
}

.off-canvas-menu.left-nav ul:after {
  content: "";
  display: table;
  clear: both;
}

.off-canvas-menu.left-nav ul ul {
  position: absolute;
  display: block;
  top: 0;
  left: -5000px;
  right: 0;
  margin: 0;
  opacity: 0;
  -webkit-transition: opacity .3s ease-out,left .6s step-end;
  transition: opacity .3s ease-out,left .6s step-end;
}

.off-canvas-menu.left-nav ul ul:after {
  content: "";
  display: table;
  clear: both;
}

.off-canvas-menu.left-nav ul ul.show-menu {
  height: auto;
  left: 275px;
  opacity: 1;
  z-index: 1;
  -webkit-transition: opacity .5s ease-in-out;
  transition: opacity .5s ease-in-out;
}

.off-canvas-menu.left-nav li {
  float: left;
  width: 100%;
  min-height: 40px;
  line-height: 40px;
  padding: 0;
  margin: 0;
  cursor: pointer;
  box-sizing: content-box;
  font-family: "Roboto", sans-serif;
}

.off-canvas-menu.left-nav li a {
  color: rgba(255, 255, 255, 0.6);
  position: relative;
  display: block;
  float: left;
  width: 70%;
  line-height: 16px;
  margin: 0;
  padding: 12px 18% 12px 12%;
  text-align: left;
  cursor: pointer;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}

.off-canvas-menu.left-nav li a:before {
  background: #ddd;
  position: absolute;
  display: block;
  content: "";
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 3px;
  opacity: 0;
  -webkit-transform: scale(1, 0);
      -ms-transform: scale(1, 0);
          transform: scale(1, 0);
  -webkit-transition: opacity .4s ease,-webkit-transform .4s ease;
  transition: opacity .4s ease,-webkit-transform .4s ease;
  transition: transform .4s ease,opacity .4s ease;
  transition: transform .4s ease,opacity .4s ease,-webkit-transform .4s ease;
}

.off-canvas-menu.left-nav li a:hover {
  color: white;
}

.off-canvas-menu.left-nav li a:hover:before {
  opacity: 1;
  -webkit-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
          transform: scale(1, 1);
}

.off-canvas-menu.left-nav li.menu-back {
  padding-bottom: 10px;
}

.off-canvas-menu.left-nav li.menu-back > :before {
  display: none;
}

.off-canvas-menu.left-nav li.menu-back i {
  margin-right: 10px;
}

.off-canvas-menu.left-nav li.menu-back a {
  color: #fff;
}

.off-canvas-menu.left-nav .nav-arrow {
  position: absolute;
  display: block;
  width: 10px;
  height: 100%;
  top: 0;
  right: 8%;
  font-size: 20px;
}

.off-canvas-menu.left-nav .nav-arrow i {
  line-height: 40px;
}

#off-canvas-lmenu {
  position: fixed;
  display: block;
  width: 275px;
  top: 0;
  bottom: 0;
  left: -275px;
  background: #363636;
  z-index: 9999;
}

#off-canvas-lmenu .logo {
  margin: 30px 0 0 0;
  padding: 0;
}

#off-canvas-lmenu .logo img {
  width: 60%;
  height: auto;
  margin: 0 0 0 12%;
}

.off-canvas-wrapper {
  position: relative;
  display: block;
  height: 100%;
  overflow-x: visible;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.left-menu {
  float: left;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  display: block;
  position: relative;
  -webkit-transition: opacity .5s ease,-webkit-transform .5s ease;
  transition: opacity .5s ease,-webkit-transform .5s ease;
  transition: transform .5s ease,opacity .5s ease;
  transition: transform .5s ease,opacity .5s ease,-webkit-transform .5s ease;
}

.left-menu li {
  display: block;
  margin: 0;
  padding: 0;
  position: relative;
  float: left;
}

.left-menu li a {
  position: relative;
  display: block;
  color: rgba(255, 255, 255, 0.8);
  text-transform: uppercase;
  line-height: 16px;
  margin: 0;
  padding: 12px 18% 12px 12%;
  text-align: left;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  -webkit-transition: all .5s ease;
  transition: all .5s ease;
}

.left-menu li a:hover {
  padding-left: 17%;
  color: white;
}

.left-menu ul.sub-menu {
  padding: 0;
  position: absolute;
  display: block;
  top: 0;
  left: -5000px;
  right: 0;
  margin: 0;
  opacity: 0;
  -webkit-transition: opacity .3s ease-out,left .6s step-end;
  transition: opacity .3s ease-out,left .6s step-end;
}

.left-menu ul.sub-menu.show-menu {
  width: 100%;
  left: 275px;
  opacity: 1;
  z-index: 1;
  -webkit-transition: opacity .5s ease-in-out;
  transition: opacity .5s ease-in-out;
  margin-bottom: 40px;
}

/*-------------------------------------------------------------------------+
| Menu Positioning                                                         |
+-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------+
| Toolbar Menu                                                             |
+-------------------------------------------------------------------------*/
.toolbar {
  width: 100%;
}

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

.toolbar-actions {
  height: 4rem;
  max-height: 4rem;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
}

.toolbar-logo {
  display: block;
  margin: 0;
  height: 30px;
  padding: 0;
  width: auto;
}

.toolbar-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.toolbar-menu li {
  display: inline-block;
  margin: 0;
  padding: 0;
}

.toolbar-menu li a {
  padding: 0 1.25rem;
  height: 6.25rem;
  max-height: 6.25rem;
  line-height: 6.25rem;
  display: block;
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
}

/*-------------------------------------------------------------------------+
| Toolbar Menu Buttons                                                     |
+-------------------------------------------------------------------------*/
.icon-left {
  display: inherit;
}

@media (min-width: 64.0625em) {
  .icon-left {
    display: none;
  }
}

.hamburger-icon {
  position: relative;
  margin: 8px auto;
}

.hamburger-icon, .hamburger-icon:before, .hamburger-icon:after {
  display: block;
  width: 24px;
  height: 3px;
  -webkit-transition: background-color 0.3s linear, -webkit-transform 0.3s linear;
  transition: background-color 0.3s linear, -webkit-transform 0.3s linear;
  transition: background-color 0.3s linear, transform 0.3s linear;
  transition: background-color 0.3s linear, transform 0.3s linear, -webkit-transform 0.3s linear;
  background-color: #777;
}

.hamburger-icon:before, .hamburger-icon:after {
  position: absolute;
  content: "";
}

.hamburger-icon:before {
  top: -8px;
}

.hamburger-icon:after {
  top: 8px;
}

.hamburger-icon.active {
  background-color: transparent;
}

.hamburger-icon.active:before {
  -webkit-transform: translateY(8px) rotate(45deg);
      -ms-transform: translateY(8px) rotate(45deg);
          transform: translateY(8px) rotate(45deg);
}

.hamburger-icon.active:after {
  -webkit-transform: translateY(-8px) rotate(-45deg);
      -ms-transform: translateY(-8px) rotate(-45deg);
          transform: translateY(-8px) rotate(-45deg);
}

/*-------------------------------------------------------------------------+
| 404 Error Page                                                           |
+-------------------------------------------------------------------------*/
.error-404 {
  padding: 50px 0;
  text-align: center;
}

/*-------------------------------------------------------------------------+
| Homepage                                                                 |
+-------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------+
| Search Results Page                                                      |
+-------------------------------------------------------------------------*/
.search-results-page {
  padding-top: 40px;
  padding-bottom: 40px;
}

.search-results-page .page-header h1 {
  font-size: 30px;
}

.search-results-page .search-results-total {
  background: #f9f9f9;
  padding: 6px 10px;
  margin-bottom: 40px;
  display: block;
}

.search-results-page article {
  display: block;
  margin: 0 0 50px 0;
}

.search-results-page a.search-title h5 {
  margin: 0 0 6px 0;
  color: #3e3834;
  font-weight: 400;
  -webkit-transition: color 200ms;
  transition: color 200ms;
}

.search-results-page a.search-title h5:hover {
  color: #f58026;
}

.search-results-page a.search-url {
  font-size: 12px;
  font-weight: 300;
  color: rgba(0, 0, 0, 0.65);
  margin: 0 0 8px 0;
  display: block;
}

.search-results-page p {
  margin: 0;
}

.navigation.pagination .screen-reader-text {
  display: none;
}

/*-------------------------------------------------------------------------+
| Archive Pages                                                            |
+-------------------------------------------------------------------------*/
.gray-wrapper {
  background: #f5f5f5;
  padding: 60px 0;
}

.archive-page-header {
  background-color: #77706c;
  padding: 40px 0;
  text-align: center;
}

.archive-page-header h1 {
  text-transform: uppercase;
  margin: 0;
  color: #fff;
}

.container.gray-bg {
  background-color: #eee;
}

/*-------------------------------------------------------------------------+
| Faculty Page                                                             |
+-------------------------------------------------------------------------*/
.faculty-wrapper {
  padding-top: 60px;
  padding-bottom: 60px;
  background: #f6f6f6;
}

.faculty-wrapper h1 {
  font-size: 22px;
  font-weight: 500;
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  color: #444;
}

.faculty-meta .job-title {
  display: block;
  text-transform: uppercase;
  font-weight: 300;
  font-size: 18px;
  margin-bottom: 6px;
}

.faculty-meta a.email {
  display: block;
  margin: 0 0 10px 0;
}

.faculty-meta a.email i.fa {
  color: #f58026;
  margin: 0 4px 0 0;
}

.faculty-pic img {
  display: block;
  margin: 0 0 20px 0;
  max-width: 100%;
  height: auto;
  border: 8px solid #fff;
}

.faculty-listings-wrapper {
  background: #eee;
  padding: 0 30px 30px;
}

/*-------------------------------------------------------------------------+
| Blog / News / Events - Posts                                             |
+-------------------------------------------------------------------------*/
.posts-page-header {
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  padding: 15px 0;
}

.posts-page-header h5 {
  margin: 0;
  color: #444;
  text-transform: uppercase;
}

.post-card {
  margin-bottom: 40px;
}

.post-card h1, .post-card h2, .post-card h3, .post-card h4, .post-card h5, .post-card h6 {
  color: #444;
  text-transform: uppercase;
}

.post-card h1 {
  font-size: 40px;
  text-decoration: none;
  color: #444;
  margin-bottom: 20px;
}

.post-card h2 {
  margin-bottom: 20px;
  line-height: 28px;
  font-size: 30px;
}

.post-card h3 {
  font-size: 26px;
}

.post-card p {
  font-size: 16px;
  line-height: 1.75em;
}

.post-card hr {
  border-bottom: 1px solid #eee;
  margin: 34px 0;
}

.post-card .blog-card-featured-img {
  width: 100%;
  height: auto;
  margin: 0;
  display: block;
}

.post-card ul.post-meta {
  margin: 0 0 10px 0;
  padding: 0;
  list-style: none;
  display: block;
  font-size: 13px;
}

.post-card ul.post-meta:after {
  content: "";
  display: table;
  clear: both;
}

.post-card ul.post-meta li {
  float: left;
  vertical-align: middle;
  color: #666;
  margin-bottom: 0;
}

.post-card ul.post-meta li:after {
  content: '|';
  opacity: 0.3;
  margin: 0 6px;
}

.post-card ul.post-meta li:last-of-type:after {
  display: none;
}

.post-content {
  padding: 30px;
  background: #fff;
}

.post-content ul, .post-content ol {
  font-size: 16px;
  margin-bottom: 30px;
}

.post-content li {
  margin-bottom: 10px;
}

article.vasd-event-card {
  padding: 30px 30px 10px 30px;
  background: rgba(0, 0, 0, 0.025);
  margin-bottom: 30px;
  border-left: 6px solid orange;
  box-shadow: 0px 4px 2px 0px rgba(0, 0, 0, 0.075);
}

/*-------------------------------------------------------------------------+
| Buttons                                                                  |
+-------------------------------------------------------------------------*/
button.btn, .btn {
  display: inline-block;
  margin: 0 0 12px 0;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  background-image: none;
  white-space: nowrap;
  font-weight: 400;
  font-size: 1rem;
  text-decoration: none;
  text-transform: uppercase;
  padding: 0.5rem 1.25rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

button.btn:hover, button.btn:active, button.btn:focus, .btn:hover, .btn:active, .btn:focus {
  text-decoration: none;
}

button.btn i, .btn i {
  margin-right: 4px;
  vertical-align: middle;
}

/*-------------------------------------------------------------------------+
| Button Colors                                                            |
+-------------------------------------------------------------------------*/
.btn-primary {
  background-color: #f58026;
  border: 0;
  color: #fff;
  -webkit-transition: all 200ms;
  transition: all 200ms;
}

.btn-primary:hover, .btn-primary:active {
  background: #de660a;
  color: #fff;
}

.btn-secondary {
  background-color: #00415e;
  border: 0;
  color: #fff;
  -webkit-transition: all 200ms;
  transition: all 200ms;
}

.btn-secondary:hover, .btn-secondary:active {
  background: #001e2b;
  color: #fff;
}

.btn-gray {
  background-color: #302d2a;
  border: 0;
  color: #fff;
  -webkit-transition: all 200ms;
  transition: all 200ms;
}

.btn-gray:hover, .btn-gray:active {
  background: #151412;
  color: #fff;
}

.btn-light-gray {
  background-color: #fff;
  border: 1px solid #ddd;
  color: #444444;
  -webkit-transition: all 200ms;
  transition: all 200ms;
}

.btn-light-gray:hover, .btn-light-gray:active {
  background: #fff;
  color: #444444;
  border-color: #ddd;
}

/*-------------------------------------------------------------------------+
| Button Styles                                                            |
+-------------------------------------------------------------------------*/
.btn-pill {
  border-radius: 6.25rem;
}

.btn-radius {
  border-radius: 0.375rem;
}

/*-------------------------------------------------------------------------+
| Button Display                                                           |
+-------------------------------------------------------------------------*/
.btn-block {
  width: 100%;
  display: block;
}

/*-------------------------------------------------------------------------+
| Button Dropdown                                                          |
+-------------------------------------------------------------------------*/
.dropdown-btn {
  display: inline-block;
  position: relative;
}

.dropdown-btn.dropdown-btn-outline .btn, .dropdown-btn.dropdown-btn-outline button {
  background: #fff;
  border: 1px solid #ddd;
  color: #333;
  padding: 12px 16px;
  border-radius: 4px;
}

.dropdown-btn .btn, .dropdown-btn button {
  margin: 0;
  color: #fafafa;
  background: 0;
  font-size: 13px;
  border: 0;
  text-transform: uppercase;
  padding: 15px 20px;
}

.dropdown-btn .btn i, .dropdown-btn button i {
  margin-left: 8px;
}

.dropdown-btn ul {
  position: absolute;
  z-index: 9;
  margin: 0;
  padding: 0;
  box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.2);
  list-style: none;
  width: 100%;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 200ms;
  transition: all 200ms;
}

.dropdown-btn ul.toggle-active {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
          transform: translateY(10px);
}

.dropdown-btn ul li {
  display: block;
  margin: 0;
  padding: 0;
}

.dropdown-btn ul li a {
  display: block;
  font-size: 14px;
  padding: 10px;
  border-bottom: 1px solid #ddd;
}

.dropdown-btn ul li a:hover {
  background: #fdfdfd;
}

.dropdown-btn ul li:last-of-type a {
  border: 0;
}

.filtering {
  margin: 0 0 20px 0;
  text-align: center;
}

.filtering .btn {
  margin: 0 auto;
}

/* ========================================================================== */
/* Cards                                                                      */
/* ========================================================================== */
.card {
  background: #fff;
  overflow: hidden;
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
}

.card-hero {
  position: relative;
}

.card-hero img {
  width: 100%;
  height: auto;
  display: block;
}

.card-title {
  position: absolute;
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  color: #fff;
  bottom: 0;
  padding: 16px 15px 14px;
  margin: 0;
}

@media (min-width: 46em) {
  .card-title {
    padding: 16px 30px 14px;
  }
}

.card-title h1 {
  margin: 0 0 2px 0;
  font-size: 20px;
  font-weight: 500;
  color: #fff;
  text-transform: uppercase;
}

@media (min-width: 46em) {
  .card-title h1 {
    font-size: 26px;
  }
}

.card-title span {
  line-height: normal;
  text-transform: uppercase;
  font-size: 16px;
}

.card-content {
  padding: 15px;
}

.card-content hr {
  border-color: #eee;
}

@media (min-width: 46em) {
  .card-content {
    padding: 30px;
  }
}

.exhibition-carousel {
  padding: 60px 0 0 0;
}

.exhibition-carousel h2.h2-title {
  font-size: 30px;
  text-align: center;
  color: #3e3834;
  text-transform: uppercase;
  margin: 0 0 40px 0;
}

/*-------------------------------------------------------------------------+
| Page Overlay                                                             |
+-------------------------------------------------------------------------*/
#page-overlay {
  background-color: transparent;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 9998;
  -webkit-transition: all 300ms;
  transition: all 300ms;
}

@media (min-width: 46em) {
  #page-overlay.active {
    background-color: #fff;
    visibility: visible;
  }
}

/*-------------------------------------------------------------------------+
| Modal Site Popup
+-------------------------------------------------------------------------*/
.modal-bg {
  background: rgba(0, 0, 0, 0.85);
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999999;
  display: none;
  padding: 15px;
}

.modal-bg.active {
  display: initial;
}

.modal-box {
  background: #fff;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 400px;
  max-width: 100%;
  padding: 24px;
  border-radius: 8px;
  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
  z-index: 9999999;
  display: none;
}

.modal-box.active {
  display: initial;
}

.modal-box h4 {
  color: #333;
  font-weight: 500;
}

.modal-box p {
  color: #444;
  font-weight: 400;
}

.modal-box p:last-of-type {
  margin: 0;
}

.modal-box a {
  position: absolute;
  right: 10px;
  top: 10px;
  font-size: 14px;
  background: #d83f21;
  color: #fff;
  height: 30px;
  width: 30px;
  line-height: 30px;
  text-align: center;
  border-radius: 50%;
}

/*-------------------------------------------------------------------------+
| Social Media Icons                                                       |
+-------------------------------------------------------------------------*/
.social-icons {
  display: block;
  margin: 0 0 10px 0;
}

.social-icons a {
  margin-right: 8px;
  color: #fff;
  width: 36px;
  height: 36px;
  line-height: 36px;
  border: 2px solid #fff;
  border-radius: 100px;
  display: inline-block;
  text-align: center;
  -webkit-transition: all 200ms;
  transition: all 200ms;
}

.social-icons a:last-of-type {
  margin: 0;
}

.social-icons a:hover {
  background: #f58026;
  border-color: #f58026;
}

/*-------------------------------------------------------------------------+
| Search - Toggle Icon                                                     |
+ ------------------------------------------------------------------------*/
.search-active .search-function {
  opacity: 1;
  visibility: visible;
}

.search-active #bg-overlay {
  background: rgba(0, 0, 0, 0.85);
  visibility: visible;
  z-index: 9999;
}

.search-function {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99999;
  padding-top: 20px;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 150ms;
  transition: opacity 150ms;
}

.search-function .search-form {
  position: relative;
}

.search-function .search-label {
  position: relative;
  display: block;
}

.search-function .search-label:after {
  position: absolute;
  content: '';
  width: 100%;
  bottom: 0;
  left: 0;
  height: 3px;
  background: #f58026;
}

.search-function input.search-field {
  width: 90%;
  margin: 0;
  padding: 0;
  border: 0;
  line-height: 55px;
  height: 55px;
  background: transparent;
  outline: none;
  color: #fff;
  font-size: 22px;
}

.search-function input.search-field::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.8);
}

.search-function input.search-field::-moz-placeholder {
  color: rgba(255, 255, 255, 0.8);
}

.search-function input.search-field:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.8);
}

.search-function input.search-field::placeholder {
  color: rgba(255, 255, 255, 0.8);
}

.search-function .screen-reader-text {
  visibility: hidden;
  display: none;
}

.search-function .search-icon, .search-function .search-close {
  position: absolute;
  width: 40px;
  height: 40px;
  top: 0;
}

.search-function .search-icon i, .search-function .search-close i {
  position: absolute;
  color: #fff;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 38px;
  z-index: -1;
  font-size: 30px;
}

.search-function .search-icon {
  right: 40px;
}

.search-function .search-close {
  right: 0;
}

.search-function .search-close i {
  color: rgba(255, 0, 0, 0.8);
}

.search-function input.search-submit {
  background: none;
  border: 0;
  outline: none;
  color: #fff;
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
}

/* Notification Bar
========================================================================== */
.notification-bar {
  display: none;
  position: relative;
  bottom: 0;
  width: 100%;
  padding: 10px 50px 10px 30px;
  background: #3e3834;
  color: #fff;
  text-align: center;
  font-size: 14px;
  z-index: 900;
  -webkit-transition: margin 300ms;
  transition: margin 300ms;
}

.notification-bar a {
  color: rgba(255, 255, 255, 0.7);
}

.notification-bar a:hover {
  color: #fff;
}

.notification-bar.visible {
  display: inherit;
}

.notification-bar .fa {
  position: absolute;
  display: block;
  opacity: 1;
  right: 10px;
  font-size: 20px;
  color: #f58026;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  cursor: pointer;
}

.notification-bar .fa:hover {
  opacity: 0.8;
}

/*-------------------------------------------------------------------------+
| Testimonials / Reviews                                                   |
+-------------------------------------------------------------------------*/
.testimonials-carousel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #fff;
}

body .testimonial-pic {
  position: relative;
  width: 100%;
  display: block;
}

body .testimonial-pic img {
  width: 100%;
  height: auto;
  display: block;
}

body .testimonial-pic .tg-media-button {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-transition: all 400ms;
  transition: all 400ms;
  background: rgba(17, 17, 17, 0);
  z-index: 1;
}

body .testimonial-pic .tg-media-button i.fa {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  border: 2px solid #fff;
  margin: -25px 0 0 -25px;
  width: 50px;
  height: 50px;
  font-size: 20px;
  border-radius: 100px;
  line-height: 45px;
  text-align: center;
  -webkit-transition: all 400ms;
  transition: all 400ms;
  opacity: 0.5;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
}

body .testimonial-pic .tg-media-button:hover {
  background: rgba(17, 17, 17, 0.65);
}

body .testimonial-pic .tg-media-button:hover i.fa {
  opacity: 1;
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
  color: #f58026;
  border-color: #f58026;
}

.testimonial-meta {
  padding: 26px;
  width: 100%;
}

.testimonial-meta h4 {
  font-size: 20px;
  margin: 0 0 5px 0;
  color: #655e58;
  font-weight: 400;
}

.testimonial-meta .testimonial-program {
  font-size: 15px;
  font-weight: 300;
  color: rgba(0, 0, 0, 0.45);
  margin: 0;
}

.testimonial-meta .testimonial-program:after {
  display: block;
  margin: 10px 0;
  padding: 0;
  width: 60px;
  height: 2px;
  content: '';
  background-color: #f58026;
}

.testimonial-meta .tg-item-excerpt {
  font-size: 14px;
  font-weight: 300;
  margin-bottom: 10px;
}

.testimonial-meta a {
  text-transform: uppercase;
  color: #f58026;
  font-size: 14px;
}

/*-------------------------------------------------------------------------+
| Hide Post Date in Grid Posts                                             |
+-------------------------------------------------------------------------*/
.tg-news-blog-events .tg-element-4 {
    position: relative;
    font-size: 13px;
    font-weight: 400;
    display: none !important;
    padding: 0 8px 0 0;
}

/*-------------------------------------------------------------------------+
| Mobile Buttons                                                           |
+-------------------------------------------------------------------------*/
.mobile-btn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999;
  width: 45px;
  height: 45px;
  line-height: 45px;
  display: block;
  border-radius: 100%;
  opacity: 1;
  -webkit-transition: all 200ms;
  transition: all 200ms;
}

@media (min-width: 64.0625em) {
  .mobile-btn {
    display: none;
  }
}

.mobile-btn:after {
  top: 0;
  left: 0;
  -webkit-transform: scale(0);
      -ms-transform: scale(0);
          transform: scale(0);
  content: '';
  width: inherit;
  height: inherit;
  border-radius: 50%;
  position: absolute;
  background: rgba(0, 0, 0, 0.9);
  -webkit-transition: all .1s ease-in;
  transition: all .1s ease-in;
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}

.mobile-btn a {
  width: 45px;
  height: 45px;
  line-height: 45px;
  border-radius: 100%;
  text-align: center;
  z-index: 19;
  position: absolute;
  color: #fff;
  -webkit-transition: all 0.3s cubic-bezier(0.68, 1.55, 0.265, 1);
  transition: all 0.3s cubic-bezier(0.68, 1.55, 0.265, 1);
  font-size: 18px;
  opacity: 0;
}

.mobile-btn a.mobile-item-1 {
  -webkit-transition-delay: 50ms;
          transition-delay: 50ms;
}

.mobile-btn a.mobile-item-2 {
  -webkit-transition-delay: 100ms;
          transition-delay: 100ms;
}

.mobile-btn a.mobile-item-3 {
  -webkit-transition-delay: 150ms;
          transition-delay: 150ms;
}

.mobile-btn a.mobile-item-4 {
  -webkit-transition-delay: 200ms;
          transition-delay: 200ms;
}

.mobile-btn a.mobile-btn-toggle {
  font-size: 16px;
  z-index: 20;
  background: #f58026;
  opacity: 1;
}

.mobile-btn.active:after {
  -webkit-transform: scale(5);
      -ms-transform: scale(5);
          transform: scale(5);
  -webkit-transition-delay: 0ms;
          transition-delay: 0ms;
}

.mobile-btn.active a {
  opacity: 1;
}

.mobile-btn.active a.mobile-item-1 {
  -webkit-transform: translate(15px, -75px);
      -ms-transform: translate(15px, -75px);
          transform: translate(15px, -75px);
}

.mobile-btn.active a.mobile-item-2 {
  -webkit-transform: translate(-34px, -68px);
      -ms-transform: translate(-34px, -68px);
          transform: translate(-34px, -68px);
}

.mobile-btn.active a.mobile-item-3 {
  -webkit-transform: translate(-70px, -34px);
      -ms-transform: translate(-70px, -34px);
          transform: translate(-70px, -34px);
}

.mobile-btn.active a.mobile-item-4 {
  -webkit-transform: translate(-75px, 15px);
      -ms-transform: translate(-75px, 15px);
          transform: translate(-75px, 15px);
}

.mobile-btn.active a.mobile-btn-toggle {
  -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
          transform: rotate(135deg);
}

body.menu-active .mobile-btn, body.search-active .mobile-btn {
  -webkit-transform: translateY(60px);
      -ms-transform: translateY(60px);
          transform: translateY(60px);
  opacity: 0;
}

/*-------------------------------------------------------------------------+
| Elementor Wordpress Pluginn                                              |
+ ------------------------------------------------------------------------ +
| https://elementor.com/                                                   |
+-------------------------------------------------------------------------*/
.elementor .hero-buttons a {
  font-size: 16px;
  padding: 15px 30px;
  border-radius: 4px;
  margin: 0 auto 10px;
  width: 75%;
  display: block;
}

.elementor .hero-buttons a:hover {
  background: #111;
}

@media (min-width: 46em) {
  .elementor .hero-buttons a {
    margin-bottom: 0;
    width: inherit;
    display: initial;
  }
}

.elementor .hero-buttons a.btn-outline {
  background: #fff;
  box-shadow: none;
  color: #363636;
}

.elementor .hero-buttons a.btn-outline:hover {
  background: #f58026;
  color: #fff;
  box-shadow: none;
  opacity: 1;
}

@media (min-width: 46em) {
  .elementor .hero-buttons a.btn-outline {
    margin-left: 10px;
  }
}

body.parent-pageid-4183 .tg-dropdown-holder {
  border: 0 !important;
  margin: 0;
  padding: 10px 20px;
}

body .tg-dropdown-list,
body .tg-dropdown-holder:hover .tg-dropdown-list {
  -webkit-transform: translateY(-1px) !important;
      -ms-transform: translateY(-1px) !important;
          transform: translateY(-1px) !important;
}

.elementor-element.elementor-global-198 .elementor-divider-separator {
  border-top-style: solid;
  border-top-width: 3px;
  border-top-color: #ee7421;
  width: 100px;
}

.elementor-element.elementor-global-198 .elementor-divider {
  text-align: center;
  padding-top: 15px;
  padding-bottom: 15px;
}

#hp-hero {
  background-position: center;
  background-size: cover;
}

.sitemap-menu ul.menu, .sitemap-menu ul.menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sitemap-menu ul.menu ul {
  margin-left: 10px;
}

.sitemap-menu ul.menu li {
  margin: 0;
  padding: 0 7px;
  line-height: 30px;
  color: #369;
  font-weight: bold;
  border-left: solid #ccc 1px;
}

.sitemap-menu ul.menu li:last-child {
  border-left: none;
}

.sitemap-menu ul.menu li:before {
  position: relative;
  top: -0.3em;
  height: 1em;
  width: 12px;
  color: white;
  border-bottom: solid #ccc 1px;
  content: "";
  display: inline-block;
  left: -7px;
}

.sitemap-menu ul.menu li:last-child:before {
  border-left: solid #ccc 1px;
}

.elementor-lightbox .elementor-lightbox-item {
  padding: 10px;
}

.elementor-lightbox .elementor-lightbox-item img {
  max-width: 100%;
  height: auto;
}

@media (min-width: 64.0625em) {
  .elementor-lightbox .elementor-lightbox-item {
    padding: 80px;
  }
}

/*-------------------------------------------------------------------------+
| Elementor Sub Navigation Menu
+ ------------------------------------------------------------------------*/
.sub-menu-multi-color nav.elementor-nav-menu--main .elementor-nav-menu li a {
  color: #fff !important;
}

.sub-menu-multi-color nav.elementor-nav-menu--main .elementor-nav-menu li a:after {
  height: 4px;
}

.sub-menu-multi-color nav.elementor-nav-menu--main .elementor-nav-menu li a:hover {
  color: #fff !important;
}

.sub-menu-multi-color nav.elementor-nav-menu--main .elementor-nav-menu li:nth-child(1) a:after {
  background-color: #01956d !important;
}

.sub-menu-multi-color nav.elementor-nav-menu--main .elementor-nav-menu li:nth-child(2) a:after {
  background-color: #d0b400 !important;
}

.sub-menu-multi-color nav.elementor-nav-menu--main .elementor-nav-menu li:nth-child(3) a:after {
  background-color: #d83f21 !important;
}

.sub-menu-multi-color nav.elementor-nav-menu--main .elementor-nav-menu li:nth-child(4) a:after {
  background-color: #007178 !important;
}

.sub-menu-multi-color nav.elementor-nav-menu--main .elementor-nav-menu li:nth-child(5) a:after {
  background-color: #7d6991 !important;
}

.sub-menu-multi-color nav.elementor-nav-menu--main .elementor-nav-menu li:nth-child(6) a:after {
  background-color: #789c48 !important;
}

.sub-menu-multi-color nav.elementor-nav-menu--main .elementor-nav-menu li:nth-child(7) a:after {
  background-color: #67a2b9 !important;
}

.sub-menu-multi-color nav.elementor-nav-menu--main .elementor-nav-menu li:nth-child(8) a:after {
  background-color: #ee7421 !important;
}

.sub-menu-multi-color nav.elementor-nav-menu--main .elementor-nav-menu li:nth-child(9) a:after {
  background-color: #01956d !important;
}

body .sub-menu-multi-color .elementor-widget-container .elementor-menu-toggle.elementor-clickable {
  background: transparent;
}

.elementor-menu-toggle {
  border: 0 !important;
  color: #fff !important;
}

.elementor-menu-toggle i.eicon {
  padding: 0 10px 5px 10px;
  margin: 0;
  font-size: 13px;
  line-height: .75;
}

.elementor-menu-toggle i.eicon:before {
  font-family: FontAwesome;
  content: "\f078";
  margin-right: 6px;
}

.elementor-menu-toggle i.eicon:after {
  font-family: Montserrat;
  text-transform: uppercase;
  content: "Show Menu";
}

.elementor-menu-toggle.elementor-active i.eicon:before {
  font-family: FontAwesome;
  content: "\f077";
  margin-right: 4px;
}

.elementor-menu-toggle.elementor-active i.eicon:after {
  font-family: Montserrat;
  text-transform: uppercase;
  content: "Hide Menu";
}

/*-------------------------------------------------------------------------+
| Live Chat Styles                                                         |
+-------------------------------------------------------------------------*/
body .olark-launch-button {
  left: 15px !important;
  width: 68px !important;
}

@media (min-width: 64.0625em) {
  body .olark-launch-button {
    width: 236px !important;
  }
}

.elementor-menu-toggle{
  background-color: transparent !important;
}
/*-------------------------------------------------------------------------+
| Individual Course CSS                                                    |
+-------------------------------------------------------------------------*/
.single-product .footer-start-date {
  display: none !important;
}

/*-------------------------------------------------------------------------+
| Individual Course CSS                                                    |
+-------------------------------------------------------------------------*/
body.parent-pageid-5848 .tg-dropdown-holder {
  border: 0 !important;
  margin: 0;
  padding: 10px 20px;
}

/*-------------------------------------------------------------------------+
| Woocommerce Checkout                                                   |
+-------------------------------------------------------------------------*/
.woocommerce-additional-fields {
  margin-top: 2rem;
}

#order_review_heading {
  margin-top: 3rem;
}
.woocommerce-additional-fields {
  margin-top: 0 !important;
}

@media screen and (max-width: 850px) {
  .single-product .fa-arrow-circle-right {
    display: none !important;
  }
}

#gform_wrapper_47 * label {
  color: white !important;
}


#gform_51 .gform_footer {
  margin: 0;
}

#gform_51 .gform_footer #gform_submit_button_51 {
  background: #f58026;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCJzdHlsZXMuY3NzIiwiYmFzZS9fZ2xvYmFsLnNjc3MiLCJoZWxwZXJzL192YXJpYWJsZXMuc2NzcyIsIm1peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsIm1peGlucy9fdW5pdHMuc2NzcyIsIm1peGlucy9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fbWVkaWEuc2NzcyIsImJhc2UvX2Zvcm1zLnNjc3MiLCJncmlkcy9fZ3JpZC1mbGV4Ym94LnNjc3MiLCJtaXhpbnMvX2dyaWRzLnNjc3MiLCJpbmNsdWRlcy9fZm9vdGVyLnNjc3MiLCJpbmNsdWRlcy9faGVhZGVyLnNjc3MiLCJtaXhpbnMvX2FsaWdubWVudC5zY3NzIiwiaW5jbHVkZXMvX3NpZGViYXIuc2NzcyIsIm1lbnVzL19tZW51LWRyb3Bkb3duLnNjc3MiLCJtZW51cy9fbWVudS1tb2JpbGUuc2NzcyIsIm1lbnVzL19tZW51LW9mZi1jYW52YXMuc2NzcyIsIm1lbnVzL19tZW51LXBvc2l0aW9uaW5nLnNjc3MiLCJtZW51cy9fdG9vbGJhci5zY3NzIiwibWl4aW5zL19oYW1idXJnZXJfbWVudV9pY29uLnNjc3MiLCJwYWdlcy9fNDA0LnNjc3MiLCJwYWdlcy9faG9tZS5zY3NzIiwicGFnZXMvX3NlYXJjaC5zY3NzIiwicGFnZXMvX2FyY2hpdmUuc2NzcyIsInBhZ2VzL19mYWN1bHR5LnNjc3MiLCJwYWdlcy9fcG9zdHMuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsIm1peGlucy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2Utb3ZlcmxheS5zY3NzIiwiY29tcG9uZW50cy9fbW9kYWwtcG9wdXAuc2NzcyIsImNvbXBvbmVudHMvX3NvY2lhbC1pY29ucy5zY3NzIiwiY29tcG9uZW50cy9fc2VhcmNoLnNjc3MiLCJjb21wb25lbnRzL19ub3RpZmljYXRpb25zLnNjc3MiLCJjb21wb25lbnRzL190ZXN0aW1vbmlhbHMuc2NzcyIsImNvbXBvbmVudHMvX21vYmlsZS1idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19lbGVtZW50b3Iuc2NzcyIsImNvbXBvbmVudHMvX2xpdmUtY2hhdC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRFQUE0RTtBQUU1RTtnRkFDZ0Y7QUFFaEY7Ozs7R0FJRztBQUVIO0VBQ0Usa0JBQWlCO0VBQUcsT0FBTztFQUMzQiwyQkFBMEI7RUFBRyxPQUFPO0VBQ3BDLCtCQUE4QjtFQUFHLE9BQU87Q0FDekM7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7RUFDRSxVQUFTO0NBQ1Y7O0FBRUQ7O0dBRUc7QUFFSDs7Ozs7O0VBTUUsZUFBYztDQUNmOztBQUVEOzs7R0FHRztBQUVIO0VBQ0UsZUFBYztFQUNkLGlCQUFnQjtDQUNqQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7OztFQUVPLE9BQU87RUFDWixlQUFjO0NBQ2Y7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLGlCQUFnQjtDQUNqQjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLHdCQUF1QjtFQUFHLE9BQU87RUFDakMsVUFBUztFQUFHLE9BQU87RUFDbkIsa0JBQWlCO0VBQUcsT0FBTztDQUM1Qjs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLGtDQUFpQztFQUFHLE9BQU87RUFDM0MsZUFBYztFQUFHLE9BQU87Q0FDekI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVIO0VBQ0UsOEJBQTZCO0VBQUcsT0FBTztFQUN2QyxzQ0FBcUM7RUFBRyxPQUFPO0NBQ2hEOztBQUVEOzs7R0FHRztBQUVIO0VBQ0Usb0JBQW1CO0VBQUcsT0FBTztFQUM3QiwyQkFBMEI7RUFBRyxPQUFPO0VBQ3BDLGtDQUFpQztFQUFHLE9BQU87Q0FDNUM7O0FBRUQ7O0dBRUc7QUFFSDs7RUFFRSxxQkFBb0I7Q0FDckI7O0FBRUQ7O0dB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bUJBQWtCO0VBQ2xCLG9DQUFtQztFQUNuQyxtQ0FBa0M7Q0FDbkM7O0FBRUQ7RUFDRSxnQkFBZTtFQUNmLGFBQVk7RUFDWixpQkFBZ0I7RUFDaEIsZUFBYztDQUNmOztBQUVEOzs0RUFFNEU7QUFFNUU7RUFDRSxpQkFBZ0I7Q0FNakI7O0FFaU1PO0VGeE1SO0lBS0ksa0JBQWlCO0dBRXBCO0NEaWJBOztBSXBlRDs7NEVBRTRFO0FBRTVFO0VBQ0ksZ0JGNkg0QjtFRTVINUIsc0NGa0hnRDtFRWpIaEQsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixpQkZ5STJCO0VFeEkzQixlRitEK0I7Q0U5RGxDOztBQUVEOzs0RUFFNEU7QUFFNUU7Ozs7RUFJSSxVQUFTO0VBQ1QsV0FBVTtDQUNiOztBQUVEOzs0RUFFNEU7QUFFNUU7RUFDSSxzQ0YwRmdEO0VFekZoRCxpQkY2RjJCO0VFNUYzQixlRjRCK0I7RUUzQi9CLG1DRjhHMEM7RUU3RzFDLHVCQzhCNkI7RUQ3QjdCLGVGNEt5QjtFRTNLekIsNkJDNEI2QjtDRDNCaEM7O0FBR0c7RUFDSSwwQkVtQm1CO0NGbEJ0Qjs7QUQwTUc7RUN0TUE7SUFDSSxxQkVhZTtHRlpsQjtDSmtlUjs7QUc5Uk87RUMvTEE7SUFDSSwwQkVNZTtHRkxsQjtDSmllUjs7QUloZkc7RUFDSSx3QkVtQm1CO0NGbEJ0Qjs7QUQwTUc7RUN0TUE7SUFDSSxvQkVhZTtHRlpsQjtDSmtmUjs7QUc5U087RUMvTEE7SUFDSSx3QkVNZTtHRkxsQjtDSmlmUjs7QUloZ0JHO0VBQ0ksc0JFbUJtQjtDRmxCdEI7O0FEME1HO0VDdE1BO0lBQ0ksbUJFYWU7R0ZabEI7Q0prZ0JSOztBRzlUTztFQy9MQTtJQUNJLHNCRU1lO0dGTGxCO0NKaWdCUjs7QUloaEJHO0VBQ0ksb0JFbUJtQjtDRmxCdEI7O0FEME1HO0VDdE1BO0lBQ0ksa0JFYWU7R0ZabEI7Q0praEJSOztBRzlVTztFQy9MQTtJQUNJLG9CRU1lO0dGTGxCO0NKaWhCUjs7QUloaUJHO0VBQ0ksa0JFbUJtQjtDRmxCdEI7O0FEME1HO0VDdE1BO0lB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Q0FDdkI7O0FBQ0Q7RUFDRSx5QkFBd0I7RUFDeEIsVUFBUztFQUNULGdCQUFlO0VBQ2YsaUJBQWdCO0NBQ2pCOztBQUVEO0VBQ0UseUJBQXdCO0VBQ3hCLGlCQUFnQjtFQUNoQixrQkFBaUI7Q0FDbEI7O0FBRUQ7RUFDRSx3QkFBdUI7RUFDdkIsMEJBQXlCO0VBQ3pCLHFCQUFvQjtDQUNyQjs7QUFFRDtFQUNFLHlCQUF3QjtFQUN4QixpQkFBZ0I7RUFDaEIsa0JBQWlCO0NBQ2xCOztBQUVEO0VBQ0Usd0JBQXVCO0VBQ3ZCLDBCQUF5QjtFQUN6QixxQkFBb0I7Q0FDckI7O0FDMU5EOzs0RUFFNEU7QUFFNUU7RUFDRSxzQkFBcUI7RUFDckIsdUJBQXNCO0NBTXZCOztBbkN3T087RW1DaFBSO0lBTUksd0JBQXVCO0dBRTFCO0N0QzBqSEEiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY3LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjcuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IERvY3VtZW50IC0gR2xvYmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sLCBib2R5IHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbioge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiBGb3Igc29tZSBBbmRyb2lkcyAqL1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgQm9keSAtIEdsb2JhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuYm9keSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5zaXRlLXdyYXBwZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBDb250ZW50IC0gR2xvYmFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uc2l0ZS13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogNjVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuc2l0ZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxMDVweDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgVHlwb2dyYXBoeSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuYm9keSwgaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjNjU1ZTU4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgVHlwb2dyYXBoeSAtIFJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuZGl2LCBkbCwgZHQsIGRkLCB1bCwgb2wsIGxpLFxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbnByZSwgZm9ybSwgcCwgYmxvY2txdW90ZSxcbnRoLCB0ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEhlYWRsaW5lcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiAjZjU4MDI2O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0Njg3NXJlbTtcbn1cblxuaDEge1xuICBmb250LXNpemU6IDIuMDExMzU3MTg3NWVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDZlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAyLjQ4ODMyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAzLjA1MTc1NzgxMjVlbTtcbiAgfVxufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS43NDkwMDYyNWVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDZlbSkge1xuICBoMiB7XG4gICAgZm9udC1zaXplOiAyLjA3MzZlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuNDQxNDA2MjVlbTtcbiAgfVxufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS41MjA4NzVlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ2ZW0pIHtcbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS43MjhlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuOTUzMTI1ZW07XG4gIH1cbn1cblxuaDQge1xuICBmb250LXNpemU6IDEuMzIyNWVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDZlbSkge1xuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjQ0ZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVlbTtcbiAgfVxufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4xNWVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDZlbSkge1xuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgfVxufVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDZlbSkge1xuICBoNiB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICBoNiB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IFBhcmFncmFwaHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBMaXN0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG51bCwgb2wge1xuICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxudWwgbGksIG9sIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG51bCBsaTpsYXN0LW9mLXR5cGUsIG9sIGxpOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBBbmNob3JzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzNlMzgzNDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMTUwbXM7XG59XG5cbmE6aG92ZXIge1xuICBjb2xvcjogI2Y1ODAyNjtcbn1cblxuYm9keSAub3ZlcmxheS1saW5rcyBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBUZXh0IFN0eWxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5lbSwgaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbnN0cm9uZywgYiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5zbWFsbCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgSG9yaXpvbnRhbCBSdWxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaHIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzNlMzkzNTtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbmhyOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5oci54MiB7XG4gIG1hcmdpbjogM3JlbSAwO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgVGV4dCBBbGlnbm1lbnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IE1lZGlhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5pbWctcmVzcG9uc2l2ZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgRm9ybXMgLSBCYXNlIEZvcm0gU3R5bGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmdmb3JtX2J1dHRvbi5idXR0b24sIC5nZm9ybV9uZXh0X2J1dHRvbi5idXR0b24sIC5nZm9ybV9wcmV2aW91c19idXR0b24uYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzMzMztcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcztcbn1cblxuLmdmb3JtX2J1dHRvbi5idXR0b246aG92ZXIsIC5nZm9ybV9uZXh0X2J1dHRvbi5idXR0b246aG92ZXIsIC5nZm9ybV9wcmV2aW91c19idXR0b24uYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzExMTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEdyaWQgQ29udGFpbmVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA4MHJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbn1cblxuLmNvbnRhaW5lcjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmNvbnRhaW5lci5jb25kZW5zZWQge1xuICB3aWR0aDogNzIuNzI3MjcyNzI3M3JlbTtcbn1cblxuLmNvbnRhaW5lci5mdWxsLXdpZHRoIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbn1cblxuLmNvbnRhaW5lci5mbGV4OmJlZm9yZSwgLmNvbnRhaW5lci5mbGV4OmFmdGVyIHtcbiAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDZlbSkge1xuICAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDEuODc1cmVtO1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBHcmlkIFJvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LTEge1xuICBmbGV4OiAxO1xufVxuXG4uZmxleC1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uZmxleC13cmFwIHtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uaXRlbXMtc3RhcnQge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbn1cblxuLml0ZW1zLWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLml0ZW1zLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5pdGVtcy1iYXNlbGluZSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbn1cblxuLml0ZW1zLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLnNlbGYtc3RhcnQge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xufVxuXG4uc2VsZi1lbmQge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cblxuLnNlbGYtY2VudGVyIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4uc2VsZi1iYXNlbGluZSB7XG4gIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xufVxuXG4uc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cblxuLmp1c3RpZnktc3RhcnQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5qdXN0aWZ5LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5qdXN0aWZ5LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uanVzdGlmeS1iZXR3ZWVuIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uanVzdGlmeS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmNvbnRlbnQtc3RhcnQge1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uY29udGVudC1lbmQge1xuICBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmNvbnRlbnQtY2VudGVyIHtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xufVxuXG4uY29udGVudC1iZXR3ZWVuIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmNvbnRlbnQtYXJvdW5kIHtcbiAgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uY29udGVudC1zdHJldGNoIHtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbn1cblxuLyogMS4gRml4IGZvciBDaHJvbWUgNDQgYnVnLiBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NTA2ODkzICovXG4uZmxleC1hdXRvIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgLyogMSAqL1xuICBtaW4taGVpZ2h0OiAwO1xuICAvKiAxICovXG59XG5cbi5mbGV4LW5vbmUge1xuICBmbGV4OiBub25lO1xufVxuXG4ub3JkZXItMCB7XG4gIG9yZGVyOiAwO1xufVxuXG4ub3JkZXItMSB7XG4gIG9yZGVyOiAxO1xufVxuXG4ub3JkZXItMiB7XG4gIG9yZGVyOiAyO1xufVxuXG4ub3JkZXItMyB7XG4gIG9yZGVyOiAzO1xufVxuXG4ub3JkZXItbGFzdCB7XG4gIG9yZGVyOiA5OTk5OTtcbn1cblxuLmZsZXgtcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ2ZW0pIHtcbiAgLmZsZXgtcm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjI1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMS4yNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5mbGV4LXJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS44NzVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjg3NXJlbTtcbiAgfVxufVxuXG4uZmxleC1yb3cgPiAuYm94IHtcbiAgZmxleC1iYXNpczogMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxleC1zaHJpbms6IDE7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAwLjkzNzVyZW07XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NmVtKSB7XG4gIC5mbGV4LXJvdyA+IC5ib3gge1xuICAgIHBhZGRpbmc6IDAgMS4yNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5mbGV4LXJvdyA+IC5ib3gge1xuICAgIHBhZGRpbmc6IDAgMS44NzVyZW07XG4gIH1cbn1cblxuLmZsZXgtcm93ID4gW2NsYXNzXj0nYm94LSddIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDZlbSkge1xuICAuZmxleC1yb3cgPiBbY2xhc3NePSdib3gtJ10ge1xuICAgIHBhZGRpbmc6IDAgMS4yNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5mbGV4LXJvdyA+IFtjbGFzc149J2JveC0nXSB7XG4gICAgcGFkZGluZzogMCAxLjg3NXJlbTtcbiAgfVxufVxuXG4uZmxleC1yb3cuZmxleC1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uZmxleC1yb3cuZmxleC1jZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmxleC1yb3cuZmxleC1qdXN0aWZ5LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZmxleC1yb3cuZmxleC1qc2Ige1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5mbGV4LXJvdy5mbGV4LXZlcnRpY2FsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5mbGV4LXJvdy5mbGV4LXN0cmV0Y2ggLmJveCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LXJvdy5mbGV4LWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmZsZXgtcm93LmZsZXgtY29sbGFwc2UgLmZsZXgtcm93IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmZsZXgtcm93LmZsZXgtY29sbGFwc2UgLmJveCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5mbGV4LWdyb3cge1xuICBmbGV4LWdyb3c6IDE7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBGbGV4Ym94IEdyaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5bY2xhc3MqPVwiLmJveC1tb2JpbGUtXCJdLCBbY2xhc3MqPVwiLmJveC10YWJsZXQtXCJdLCBbY2xhc3MqPVwiLmJveC1kZXNrdG9wLVwiXSB7XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtO1xufVxuXG4uYm94LW1vYmlsZS0xIHtcbiAgZmxleDogMCAwIDguMzMzMzMzMzMzMyU7XG4gIG1heC13aWR0aDogOC4zMzMzMzMzMzMzJTtcbn1cblxuLmJveC1tb2JpbGUtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgbWF4LXdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLmJveC1tb2JpbGUtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlO1xufVxuXG4uYm94LW1vYmlsZS00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uYm94LW1vYmlsZS01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclO1xuICBtYXgtd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uYm94LW1vYmlsZS02IHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7XG59XG5cbi5ib3gtbW9iaWxlLTcge1xuICBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7XG4gIG1heC13aWR0aDogNTguMzMzMzMzMzMzMyU7XG59XG5cbi5ib3gtbW9iaWxlLTgge1xuICBmbGV4OiAwIDAgNjYuNjY2NjY2NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5ib3gtbW9iaWxlLTkge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTtcbn1cblxuLmJveC1tb2JpbGUtMTAge1xuICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMzMzMzMyU7XG59XG5cbi5ib3gtbW9iaWxlLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uYm94LW1vYmlsZS0xMiB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NmVtKSB7XG4gIFtjbGFzcyo9XCIuYm94LW1vYmlsZS1cIl0sIFtjbGFzcyo9XCIuYm94LXRhYmxldC1cIl0sIFtjbGFzcyo9XCIuYm94LWRlc2t0b3AtXCJdIHtcbiAgICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gIH1cbiAgLmJveC10YWJsZXQtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ib3gtdGFibGV0LTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ib3gtdGFibGV0LTMge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbiAgLmJveC10YWJsZXQtNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmJveC10YWJsZXQtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmJveC10YWJsZXQtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAuYm94LXRhYmxldC03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuYm94LXRhYmxldC04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuYm94LXRhYmxldC05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG4gIC5ib3gtdGFibGV0LTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuYm94LXRhYmxldC0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmJveC10YWJsZXQtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIFtjbGFzcyo9XCIuYm94LW1vYmlsZS1cIl0sIFtjbGFzcyo9XCIuYm94LXRhYmxldC1cIl0sIFtjbGFzcyo9XCIuYm94LWRlc2t0b3AtXCJdIHtcbiAgICBwYWRkaW5nOiAwIDEuODc1cmVtO1xuICB9XG4gIC5ib3gtZGVza3RvcC0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmJveC1kZXNrdG9wLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5ib3gtZGVza3RvcC0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5ib3gtZGVza3RvcC00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuYm94LWRlc2t0b3AtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmJveC1kZXNrdG9wLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLmJveC1kZXNrdG9wLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ib3gtZGVza3RvcC04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjY2NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuYm94LWRlc2t0b3AtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuICAuYm94LWRlc2t0b3AtMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5ib3gtZGVza3RvcC0xMSB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY2NjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmJveC1kZXNrdG9wLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEZvb3RlciAtIFN0YXJ0IERhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mb290ZXItc3RhcnQtZGF0ZSB7XG4gIGJhY2tncm91bmQ6ICNmNTgwMjY7XG4gIHBhZGRpbmc6IDUwcHggMCA2MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5mb290ZXItc3RhcnQtZGF0ZTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlcjogaW5zZXQgMTVweDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjtcbn1cblxuLmZvb3Rlci1zdGFydC1kYXRlIGg0IHtcbiAgbWFyZ2luOiAwIDAgNHB4IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDM0cHg7XG59XG5cbi5mb290ZXItc3RhcnQtZGF0ZSBhIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcztcbn1cblxuLmZvb3Rlci1zdGFydC1kYXRlIGE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NmVtKSB7XG4gIC5mb290ZXItc3RhcnQtZGF0ZSBoNCB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICB9XG4gIC5mb290ZXItc3RhcnQtZGF0ZSBhIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEZvb3RlciAtIExpbmtzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmZvb3RlciAuZm9vdGVyLXNsdWcge1xuICBiYWNrZ3JvdW5kOiAjM2UzODM0O1xuICBwYWRkaW5nOiAzMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuZm9vdGVyIC5mb290ZXItc2x1ZyAuY29tcGFueS1pbmZvIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuZm9vdGVyIC5mb290ZXItc2x1ZyAubG9nbyB7XG4gIG1hcmdpbjogMCAwIDMwcHggMDtcbn1cblxuZm9vdGVyIC5mb290ZXItc2x1ZyAubG9nbyBpbWcge1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDE4MHB4O1xuICBoZWlnaHQ6IDQ3cHg7XG59XG5cbmZvb3RlciAuZm9vdGVyLXNsdWcgLmFkZHJlc3Mge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbmZvb3RlciAuZm9vdGVyLXNsdWcgLnBob25lLW51bWJlcnMgYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICBmb290ZXIgLmZvb3Rlci1zbHVnIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgfVxuICBmb290ZXIgLmZvb3Rlci1zbHVnIC5sb2dvIGltZyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5zbHVnLWxpbmtzIHtcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcbn1cblxuLnNsdWctbGlua3M6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNsdWctbGlua3MgaDQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi5zbHVnLWxpbmtzIC5zbHVnLWxpbmstY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2x1Zy1saW5rcyB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogOHB4IDA7XG59XG5cbi5zbHVnLWxpbmtzIHVsIGxpIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uc2x1Zy1saW5rcyB1bCBsaSBhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLnNsdWctbGlua3Mge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuc2x1Zy1saW5rcy55ZWxsb3cgaDQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNkMGI0MDA7XG4gIH1cbiAgLnNsdWctbGlua3MueWVsbG93IHVsIGxpIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZDBiNDAwO1xuICB9XG4gIC5zbHVnLWxpbmtzLmJsdWUgaDQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM2N2EyYjk7XG4gIH1cbiAgLnNsdWctbGlua3MuYmx1ZSB1bCBsaSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzY3YTJiOTtcbiAgfVxuICAuc2x1Zy1saW5rcyBoNCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCAwIDE2cHggMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbiAgLnNsdWctbGlua3MgaDQ6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTRweCAwIDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGJhY2tncm91bmQ6ICNmNTgwMjY7XG4gIH1cbiAgLnNsdWctbGlua3MgLnNsdWctbGluay1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNsdWctbGlua3MgdWwge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5zbHVnLWxpbmtzIHVsIGxpIHtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICB9XG4gIC5zbHVnLWxpbmtzIHVsIGxpIGEge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogMTAwO1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICB9XG4gIC5zbHVnLWxpbmtzIHVsIGxpIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZjU4MDI2O1xuICB9XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBGb290ZXIgLSBDb3B5cmlnaHQgTGlua3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZm9vdGVyLWNvcHlyaWdodCB7XG4gIGJhY2tncm91bmQ6ICM3NzcwNmM7XG4gIHBhZGRpbmc6IDE1cHggMCA2MHB4O1xufVxuXG4uZm9vdGVyLWNvcHlyaWdodCBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmZvb3Rlci1jb3B5cmlnaHQgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLmNvcHlyaWdodC1saW5rcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jb3B5cmlnaHQtbGlua3MgbGkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNvcHlyaWdodC1saW5rcyBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjFweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuY29weXJpZ2h0LWxpbmtzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLmNvcHlyaWdodC1saW5rcyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmNvcHlyaWdodC1saW5rcyBsaSBhIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgSGVhZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmVsZW1lbnRvci1lZGl0b3ItYWN0aXZlIC5nbG9iYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmdsb2JhbC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXMgZWFzZTtcbn1cblxuLmdsb2JhbC1oZWFkZXIub2ZmLXNjcmVlbiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xufVxuXG4uZ2xvYmFsLWhlYWRlci5zY3JvbGxlZCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5nbG9iYWwtaGVhZGVyIC5jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiA2NXB4O1xuICBoZWlnaHQ6IDY1cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmdsb2JhbC1oZWFkZXIgLmNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMTA1cHg7XG4gICAgaGVpZ2h0OiAxMDVweDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgSGVhZGVyIC0gVG9wIE5hdmlnYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnRvcC1uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA0MTVlO1xufVxuXG4udG9wLW5hdiBuYXYgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udG9wLW5hdiBuYXYgdWwgbGkge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xufVxuXG4udG9wLW5hdiBuYXYgdWwgbGkgYSB7XG4gIGhlaWdodDogNjVweDtcbiAgbGluZS1oZWlnaHQ6IDY1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xufVxuXG4udG9wLW5hdiBuYXYgdWwgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEhlYWRlciAtIE1haW4gTmF2aWdhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmEubG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0byAwIDIwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmEubG9nbyBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgYS5sb2dvIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgYS5sb2dvIGltZyB7XG4gICAgd2lkdGg6IDE4MHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgSGVhZGVyIC0gTWFpbiBNZW51IEJ1dHRvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLm1lbnUtYnV0dG9ucyB7XG4gIG1hcmdpbjogMCAwIDAgMTBweDtcbn1cblxuLm1lbnUtYnV0dG9ucyBhIHtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTI4LCAzOCwgMCk7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmNTgwMjY7XG4gIHBhZGRpbmc6IDAuM2VtIDAuNzVlbTtcbiAgY29sb3I6ICNmNTgwMjY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDQwMG1zO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbn1cblxuLm1lbnUtYnV0dG9ucyBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2Y1ODAyNjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5tZW51LWJ1dHRvbnMgYTpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzNThweCkge1xuICAubWVudS1idXR0b25zIGE6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgSGVhZGVyIC0gTWFpbiBJY29uIE1lbnUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLm1lbnUtaWNvbnMge1xuICBtYXJnaW46IDAgMCAwIDE1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5tZW51LWljb25zIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLm1lbnUtaWNvbnMgbGkgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBwYWRkaW5nOiAwIDAuMzVlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgNDAwbXM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1lbnUtaWNvbnMgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjZjU4MDI2O1xufVxuXG4ubWVudS1pY29ucyBsaSBhOmhvdmVyIC50b29sdGlwIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLm1lbnUtaWNvbnMgbGkgYSAudG9vbHRpcCB7XG4gIG9wYWNpdHk6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2UzODM0O1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IGNhbGMoLTEwMCUgKyAtMTBweCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbn1cblxuLm1lbnUtaWNvbnMgbGkgYSAudG9vbHRpcDphZnRlciB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogNTAlO1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb250ZW50OiBcIiBcIjtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItY29sb3I6IHJnYmEoNjIsIDU2LCA1MiwgMCk7XG4gIGJvcmRlci10b3AtY29sb3I6ICMzZTM4MzQ7XG4gIGJvcmRlci13aWR0aDogNHB4O1xuICBtYXJnaW4tbGVmdDogLTRweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcxLjI1ZW0pIHtcbiAgLm1lbnUtaWNvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2LjI1ZW0pIHtcbiAgLm1lbnUtaWNvbnMgbGk6bnRoLWNoaWxkKG4rMykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IFNpZGViYXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zaWRlYmFyLXdpZGdldHMge1xuICBtYXJnaW46IDAgMCA0MHB4IDA7XG59XG5cbi5zaWRlYmFyLXdpZGdldHM6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5zaWRlYmFyLXdpZGdldHMgaDQge1xuICBjb2xvcjogIzNlMzgzNDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnNpZGViYXItd2lkZ2V0cyBoNDphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiAjZjU4MDI2O1xuICBtYXJnaW46IDEwcHggMCAwIDA7XG59XG5cbi5zaWRlYmFyLXdpZGdldHMgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5zaWRlYmFyLXdpZGdldHMgdWwgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgNnB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zaWRlYmFyLXdpZGdldHMgdWwgbGkgYSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuI3dwLWNhbGVuZGFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzcuNXJlbTtcbiAgYmFja2dyb3VuZDogI2RkZDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuI3dwLWNhbGVuZGFyIGNhcHRpb24ge1xuICBiYWNrZ3JvdW5kOiAjNDQ0O1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMC4yNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4jd3AtY2FsZW5kYXIgdHIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4jd3AtY2FsZW5kYXIgdGhlYWQgdHIge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkO1xufVxuXG4jd3AtY2FsZW5kYXIgdGhlYWQgdGgge1xuICBmb250LXNpemU6IDkwJTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIGJhY2tncm91bmQ6ICNkZGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3dwLWNhbGVuZGFyIHRib2R5IHRkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG59XG5cbiN3cC1jYWxlbmRhciB0Ym9keSB0ZC5wYWQge1xuICBvcGFjaXR5OiAwLjc7XG59XG5cbiN3cC1jYWxlbmRhciB0Ym9keSB0ZCN0b2RheSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jd3AtY2FsZW5kYXIgdGJvZHkgdGQjdG9kYXkjdG9kYXk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICMzMzM7XG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4jd3AtY2FsZW5kYXIgdGJvZHkgdGQgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTI4LCAzOCwgMC4yKTtcbn1cblxuI3dwLWNhbGVuZGFyIHRib2R5IHRkIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjU4MDI2O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI3dwLWNhbGVuZGFyIHRmb290IHRyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbn1cblxuI3dwLWNhbGVuZGFyIHRmb290IHRyIHRkIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4jd3AtY2FsZW5kYXIgdGZvb3QgdHIgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW07XG59XG5cbiN3cC1jYWxlbmRhciB0Zm9vdCB0ciBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuI3dwLWNhbGVuZGFyIHRmb290IHRyICNwcmV2IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuI3dwLWNhbGVuZGFyIHRmb290IHRyICNuZXh0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbmJvZHkgZGl2LnNoYXJlZGFkZHkgaDMuc2QtdGl0bGUge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI2NhdGVnb3J5LXBvc3RzLTItaW50ZXJuYWwuY2F0ZWdvcnktcG9zdHMtaW50ZXJuYWwgbGkuY2F0LXBvc3QtaXRlbSB7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDAgMTBweCA4MHB4O1xufVxuXG4jY2F0ZWdvcnktcG9zdHMtMi1pbnRlcm5hbC5jYXRlZ29yeS1wb3N0cy1pbnRlcm5hbCBsaS5jYXQtcG9zdC1pdGVtIC5jYXQtcG9zdC10aHVtYm5haWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBEcm9wIERvd24gTWVudSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5uYXYuZGQtbWVudSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgc2Fucy1zZXJpZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICBuYXYuZGQtbWVudSB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgfVxufVxuXG5uYXYuZGQtbWVudSB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxubmF2LmRkLW1lbnUgdWw6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbm5hdi5kZC1tZW51IHVsIGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xufVxuXG5uYXYuZGQtbWVudSB1bCBsaTpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiAjZjU4MDI2O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwcHg7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuXG5uYXYuZGQtbWVudSB1bCBsaTpob3ZlcjpiZWZvcmUge1xuICBoZWlnaHQ6IDRweDtcbn1cblxubmF2LmRkLW1lbnUgdWwgbGk6aG92ZXIgPiBhIHtcbiAgY29sb3I6ICNmNTgwMjY7XG59XG5cbm5hdi5kZC1tZW51IHVsIGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDU5OTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgcGFkZGluZzogM2VtIDAuOWVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDI1MG1zO1xufVxuXG5uYXYuZGQtbWVudSB1bCBhOmhvdmVyIHtcbiAgY29sb3I6ICNmNTgwMjY7XG59XG5cbm5hdi5kZC1tZW51IHVsIGE6aG92ZXIgKyAuc3ViLW1lbnUge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxufCBDb2xvcnNcclxuKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xubmF2LmRkLW1lbnUgdWwubWFpbi1tZW51ID4gbGk6bnRoLWNoaWxkKDEpOmhvdmVyID4gYSB7XG4gIGNvbG9yOiAjZDBiNDAwO1xufVxuXG5uYXYuZGQtbWVudSB1bC5tYWluLW1lbnUgPiBsaTpudGgtY2hpbGQoMSk6aG92ZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2QwYjQwMDtcbn1cblxubmF2LmRkLW1lbnUgdWwubWFpbi1tZW51ID4gbGk6bnRoLWNoaWxkKDIpOmhvdmVyID4gYSB7XG4gIGNvbG9yOiAjMDE5NTZkO1xufVxuXG5uYXYuZGQtbWVudSB1bC5tYWluLW1lbnUgPiBsaTpudGgtY2hpbGQoMik6aG92ZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzAxOTU2ZDtcbn1cblxubmF2LmRkLW1lbnUgdWwubWFpbi1tZW51ID4gbGk6bnRoLWNoaWxkKDQpOmhvdmVyID4gYSB7XG4gIGNvbG9yOiAjN2Q2OTkxO1xufVxuXG5uYXYuZGQtbWVudSB1bC5tYWluLW1lbnUgPiBsaTpudGgtY2hpbGQoNCk6aG92ZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzdkNjk5MTtcbn1cblxubmF2LmRkLW1lbnUgdWwubWFpbi1tZW51ID4gbGk6bnRoLWNoaWxkKDUpOmhvdmVyID4gYSB7XG4gIGNvbG9yOiAjNjdhMmI5O1xufVxuXG5uYXYuZGQtbWVudSB1bC5tYWluLW1lbnUgPiBsaTpudGgtY2hpbGQoNSk6aG92ZXI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzY3YTJiOTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IERyb3AgRG93biAtIFN1YiBNZW51ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbm5hdi5kZC1tZW51IHVsIC5zdWItbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogNDk5O1xuICB3aWR0aDogMTRlbTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSg4NSwgODUsIDg1LCAwLjMpO1xuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcbn1cblxubmF2LmRkLW1lbnUgdWwgLnN1Yi1tZW51OmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxubmF2LmRkLW1lbnUgdWwgLnN1Yi1tZW51IGxpIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xufVxuXG5uYXYuZGQtbWVudSB1bCAuc3ViLW1lbnUgbGk6aG92ZXI6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxubmF2LmRkLW1lbnUgdWwgLnN1Yi1tZW51IGxpOmhvdmVyID4gYSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjMzYzNjM2O1xufVxuXG5uYXYuZGQtbWVudSB1bCAuc3ViLW1lbnUgbGkgPiAuc3ViLW1lbnUge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG59XG5cbm5hdi5kZC1tZW51IHVsIC5zdWItbWVudSBhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmc6IDFlbSAxZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBEcm9wIERvd24gTWVudSAtIEVmZmVjdHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5uYXYuZGQtbWVudSB7XG4gIC8qPT09IEZhZGUgRG93biA9PT0qL1xuICAvKj09PSBGYWRlIFVwID09PSovXG4gIC8qPT09IFNjYWxlID09PSovXG4gIC8qPT09IE1vdmUvU2tldyBJbiA9PT0qL1xufVxuXG5uYXYuZGQtbWVudS5mYWRlLWRvd24gLnN1Yi1tZW51IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbn1cblxubmF2LmRkLW1lbnUuZmFkZS1kb3duIGxpOmhvdmVyID4gLnN1Yi1tZW51IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG59XG5cbm5hdi5kZC1tZW51LmZhZGUtdXAgLnN1Yi1tZW51IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xufVxuXG5uYXYuZGQtbWVudS5mYWRlLXVwIGxpOmhvdmVyID4gLnN1Yi1tZW51IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG59XG5cbm5hdi5kZC1tZW51LnNjYWxlIC5zdWItbWVudSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG5cbm5hdi5kZC1tZW51LnNjYWxlIGxpOmhvdmVyID4gLnN1Yi1tZW51IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cblxubmF2LmRkLW1lbnUuc2tldyAuc3ViLW1lbnUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpIHNrZXdYKC03ZGVnKTtcbn1cblxubmF2LmRkLW1lbnUuc2tldyBsaTpob3ZlciA+IC5zdWItbWVudSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNrZXdYKDBkZWcpO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgTWVudSBNb2JpbGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IE9mZiBDYW52YXMgR2xvYmFsIEFuaW1hdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zaXRlLXdyYXBwZXIsICNvZmYtY2FudmFzLWxtZW51LCAuZ2xvYmFsLWhlYWRlciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZTtcbn1cblxuLm1lbnUtYWN0aXZlIC5zaXRlLXdyYXBwZXIsIC5tZW51LWFjdGl2ZSAjb2ZmLWNhbnZhcy1sbWVudSwgLm1lbnUtYWN0aXZlIC5nbG9iYWwtaGVhZGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI3NXB4KTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAubWVudS1hY3RpdmUgLnNpdGUtd3JhcHBlciwgLm1lbnUtYWN0aXZlICNvZmYtY2FudmFzLWxtZW51LCAubWVudS1hY3RpdmUgLmdsb2JhbC1oZWFkZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4ubWVudS1hY3RpdmUgI2JnLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbiNiZy1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAuNXMgZWFzZTtcbiAgZGlzcGxheTogaW5oZXJpdDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IE1lbnUgT2ZmIENhbnZhcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5vZmYtY2FudmFzLW1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDI3NXB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDMwcHggMDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xufVxuXG4ub2ZmLWNhbnZhcy1tZW51OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ub2ZmLWNhbnZhcy1tZW51LmxlZnQtbmF2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjI1cyBlYXNlLG9wYWNpdHkgLjI1cyBlYXNlLCBoZWlnaHQgLjVzIGVhc2U7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBzYW5zLXNlcmlmO1xufVxuXG4ub2ZmLWNhbnZhcy1tZW51LmxlZnQtbmF2IGEge1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG59XG5cbi5vZmYtY2FudmFzLW1lbnUubGVmdC1uYXYgdWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZSxvcGFjaXR5IC41cyBlYXNlO1xufVxuXG4ub2ZmLWNhbnZhcy1tZW51LmxlZnQtbmF2IHVsOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ub2ZmLWNhbnZhcy1tZW51LmxlZnQtbmF2IHVsIHVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAwO1xuICBsZWZ0OiAtNTAwMHB4O1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLW91dCxsZWZ0IC42cyBzdGVwLWVuZDtcbn1cblxuLm9mZi1jYW52YXMtbWVudS5sZWZ0LW5hdiB1bCB1bDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLm9mZi1jYW52YXMtbWVudS5sZWZ0LW5hdiB1bCB1bC5zaG93LW1lbnUge1xuICBoZWlnaHQ6IGF1dG87XG4gIGxlZnQ6IDI3NXB4O1xuICBvcGFjaXR5OiAxO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlLWluLW91dDtcbn1cblxuLm9mZi1jYW52YXMtbWVudS5sZWZ0LW5hdiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5vZmYtY2FudmFzLW1lbnUubGVmdC1uYXYgbGkgYSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNzAlO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMnB4IDE4JSAxMnB4IDEyJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5vZmYtY2FudmFzLW1lbnUubGVmdC1uYXYgbGkgYTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZGRkO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb250ZW50OiBcIlwiO1xuICBsZWZ0OiAwO1xuICB0b3A6IDZweDtcbiAgYm90dG9tOiA2cHg7XG4gIHdpZHRoOiAzcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNHMgZWFzZSxvcGFjaXR5IC40cyBlYXNlO1xufVxuXG4ub2ZmLWNhbnZhcy1tZW51LmxlZnQtbmF2IGxpIGE6aG92ZXIge1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5vZmYtY2FudmFzLW1lbnUubGVmdC1uYXYgbGkgYTpob3ZlcjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xufVxuXG4ub2ZmLWNhbnZhcy1tZW51LmxlZnQtbmF2IGxpLm1lbnUtYmFjayB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuXG4ub2ZmLWNhbnZhcy1tZW51LmxlZnQtbmF2IGxpLm1lbnUtYmFjayA+IDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ub2ZmLWNhbnZhcy1tZW51LmxlZnQtbmF2IGxpLm1lbnUtYmFjayBpIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4ub2ZmLWNhbnZhcy1tZW51LmxlZnQtbmF2IGxpLm1lbnUtYmFjayBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5vZmYtY2FudmFzLW1lbnUubGVmdC1uYXYgLm5hdi1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDglO1xuICBmb250LXNpemU6IDIwcHg7XG59XG5cbi5vZmYtY2FudmFzLW1lbnUubGVmdC1uYXYgLm5hdi1hcnJvdyBpIHtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG59XG5cbiNvZmYtY2FudmFzLWxtZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDI3NXB4O1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogLTI3NXB4O1xuICBiYWNrZ3JvdW5kOiAjMzYzNjM2O1xuICB6LWluZGV4OiA5OTk5O1xufVxuXG4jb2ZmLWNhbnZhcy1sbWVudSAubG9nbyB7XG4gIG1hcmdpbjogMzBweCAwIDAgMDtcbiAgcGFkZGluZzogMDtcbn1cblxuI29mZi1jYW52YXMtbG1lbnUgLmxvZ28gaW1nIHtcbiAgd2lkdGg6IDYwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDAgMCAwIDEyJTtcbn1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4ubGVmdC1tZW51IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBlYXNlLG9wYWNpdHkgLjVzIGVhc2U7XG59XG5cbi5sZWZ0LW1lbnUgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4ubGVmdC1tZW51IGxpIGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMnB4IDE4JSAxMnB4IDEyJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XG59XG5cbi5sZWZ0LW1lbnUgbGkgYTpob3ZlciB7XG4gIHBhZGRpbmctbGVmdDogMTclO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5sZWZ0LW1lbnUgdWwuc3ViLW1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC01MDAwcHg7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2Utb3V0LGxlZnQgLjZzIHN0ZXAtZW5kO1xufVxuXG4ubGVmdC1tZW51IHVsLnN1Yi1tZW51LnNob3ctbWVudSB7XG4gIHdpZHRoOiAxMDAlO1xuICBsZWZ0OiAyNzVweDtcbiAgb3BhY2l0eTogMTtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZS1pbi1vdXQ7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBNZW51IFBvc2l0aW9uaW5nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgVG9vbGJhciBNZW51ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnRvb2xiYXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRvb2xiYXItZmxleCB7XG4gIGZsZXg6IDE7XG59XG5cbi50b29sYmFyLWFjdGlvbnMge1xuICBoZWlnaHQ6IDRyZW07XG4gIG1heC1oZWlnaHQ6IDRyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cblxuLnRvb2xiYXItbG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi50b29sYmFyLW1lbnUge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi50b29sYmFyLW1lbnUgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnRvb2xiYXItbWVudSBsaSBhIHtcbiAgcGFkZGluZzogMCAxLjI1cmVtO1xuICBoZWlnaHQ6IDYuMjVyZW07XG4gIG1heC1oZWlnaHQ6IDYuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiA2LjI1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgVG9vbGJhciBNZW51IEJ1dHRvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmljb24tbGVmdCB7XG4gIGRpc3BsYXk6IGluaGVyaXQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmljb24tbGVmdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaGFtYnVyZ2VyLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogOHB4IGF1dG87XG59XG5cbi5oYW1idXJnZXItaWNvbiwgLmhhbWJ1cmdlci1pY29uOmJlZm9yZSwgLmhhbWJ1cmdlci1pY29uOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDNweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGxpbmVhciwgdHJhbnNmb3JtIDAuM3MgbGluZWFyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xufVxuXG4uaGFtYnVyZ2VyLWljb246YmVmb3JlLCAuaGFtYnVyZ2VyLWljb246YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5oYW1idXJnZXItaWNvbjpiZWZvcmUge1xuICB0b3A6IC04cHg7XG59XG5cbi5oYW1idXJnZXItaWNvbjphZnRlciB7XG4gIHRvcDogOHB4O1xufVxuXG4uaGFtYnVyZ2VyLWljb24uYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5oYW1idXJnZXItaWNvbi5hY3RpdmU6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDhweCkgcm90YXRlKDQ1ZGVnKTtcbn1cblxuLmhhbWJ1cmdlci1pY29uLmFjdGl2ZTphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KSByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IDQwNCBFcnJvciBQYWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5lcnJvci00MDQge1xuICBwYWRkaW5nOiA1MHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEhvbWVwYWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBTZWFyY2ggUmVzdWx0cyBQYWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uc2VhcmNoLXJlc3VsdHMtcGFnZSB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cblxuLnNlYXJjaC1yZXN1bHRzLXBhZ2UgLnBhZ2UtaGVhZGVyIGgxIHtcbiAgZm9udC1zaXplOiAzMHB4O1xufVxuXG4uc2VhcmNoLXJlc3VsdHMtcGFnZSAuc2VhcmNoLXJlc3VsdHMtdG90YWwge1xuICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zZWFyY2gtcmVzdWx0cy1wYWdlIGFydGljbGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgNTBweCAwO1xufVxuXG4uc2VhcmNoLXJlc3VsdHMtcGFnZSBhLnNlYXJjaC10aXRsZSBoNSB7XG4gIG1hcmdpbjogMCAwIDZweCAwO1xuICBjb2xvcjogIzNlMzgzNDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXM7XG59XG5cbi5zZWFyY2gtcmVzdWx0cy1wYWdlIGEuc2VhcmNoLXRpdGxlIGg1OmhvdmVyIHtcbiAgY29sb3I6ICNmNTgwMjY7XG59XG5cbi5zZWFyY2gtcmVzdWx0cy1wYWdlIGEuc2VhcmNoLXVybCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG4gIG1hcmdpbjogMCAwIDhweCAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNlYXJjaC1yZXN1bHRzLXBhZ2UgcCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLm5hdmlnYXRpb24ucGFnaW5hdGlvbiAuc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEFyY2hpdmUgUGFnZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5ncmF5LXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBwYWRkaW5nOiA2MHB4IDA7XG59XG5cbi5hcmNoaXZlLXBhZ2UtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc3NzA2YztcbiAgcGFkZGluZzogNDBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hcmNoaXZlLXBhZ2UtaGVhZGVyIGgxIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAwO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmNvbnRhaW5lci5ncmF5LWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEZhY3VsdHkgUGFnZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5mYWN1bHR5LXdyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIGJhY2tncm91bmQ6ICNmNmY2ZjY7XG59XG5cbi5mYWN1bHR5LXdyYXBwZXIgaDEge1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICM0NDQ7XG59XG5cbi5mYWN1bHR5LW1ldGEgLmpvYi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbi1ib3R0b206IDZweDtcbn1cblxuLmZhY3VsdHktbWV0YSBhLmVtYWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcbn1cblxuLmZhY3VsdHktbWV0YSBhLmVtYWlsIGkuZmEge1xuICBjb2xvcjogI2Y1ODAyNjtcbiAgbWFyZ2luOiAwIDRweCAwIDA7XG59XG5cbi5mYWN1bHR5LXBpYyBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiA4cHggc29saWQgI2ZmZjtcbn1cblxuLmZhY3VsdHktbGlzdGluZ3Mtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIHBhZGRpbmc6IDAgMzBweCAzMHB4O1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgQmxvZyAvIE5ld3MgLyBFdmVudHMgLSBQb3N0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnBvc3RzLXBhZ2UtaGVhZGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuICBwYWRkaW5nOiAxNXB4IDA7XG59XG5cbi5wb3N0cy1wYWdlLWhlYWRlciBoNSB7XG4gIG1hcmdpbjogMDtcbiAgY29sb3I6ICM0NDQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wb3N0LWNhcmQge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xufVxuXG4ucG9zdC1jYXJkIGgxLCAucG9zdC1jYXJkIGgyLCAucG9zdC1jYXJkIGgzLCAucG9zdC1jYXJkIGg0LCAucG9zdC1jYXJkIGg1LCAucG9zdC1jYXJkIGg2IHtcbiAgY29sb3I6ICM0NDQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wb3N0LWNhcmQgaDEge1xuICBmb250LXNpemU6IDQwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM0NDQ7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5wb3N0LWNhcmQgaDIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgZm9udC1zaXplOiAzMHB4O1xufVxuXG4ucG9zdC1jYXJkIGgzIHtcbiAgZm9udC1zaXplOiAyNnB4O1xufVxuXG4ucG9zdC1jYXJkIHAge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjc1ZW07XG59XG5cbi5wb3N0LWNhcmQgaHIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgbWFyZ2luOiAzNHB4IDA7XG59XG5cbi5wb3N0LWNhcmQgLmJsb2ctY2FyZC1mZWF0dXJlZC1pbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ucG9zdC1jYXJkIHVsLnBvc3QtbWV0YSB7XG4gIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLnBvc3QtY2FyZCB1bC5wb3N0LW1ldGE6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5wb3N0LWNhcmQgdWwucG9zdC1tZXRhIGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGNvbG9yOiAjNjY2O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucG9zdC1jYXJkIHVsLnBvc3QtbWV0YSBsaTphZnRlciB7XG4gIGNvbnRlbnQ6ICd8JztcbiAgb3BhY2l0eTogMC4zO1xuICBtYXJnaW46IDAgNnB4O1xufVxuXG4ucG9zdC1jYXJkIHVsLnBvc3QtbWV0YSBsaTpsYXN0LW9mLXR5cGU6YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucG9zdC1jb250ZW50IHtcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLnBvc3QtY29udGVudCB1bCwgLnBvc3QtY29udGVudCBvbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnBvc3QtY29udGVudCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbmFydGljbGUudmFzZC1ldmVudC1jYXJkIHtcbiAgcGFkZGluZzogMzBweCAzMHB4IDEwcHggMzBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjAyNSk7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgb3JhbmdlO1xuICBib3gtc2hhZG93OiAwcHggNHB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBCdXR0b25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5idXR0b24uYnRuLCAuYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMC41cmVtIDEuMjVyZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG5idXR0b24uYnRuOmhvdmVyLCBidXR0b24uYnRuOmFjdGl2ZSwgYnV0dG9uLmJ0bjpmb2N1cywgLmJ0bjpob3ZlciwgLmJ0bjphY3RpdmUsIC5idG46Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmJ1dHRvbi5idG4gaSwgLmJ0biBpIHtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBCdXR0b24gQ29sb3JzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYnRuLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU4MDI2O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG59XG5cbi5idG4tcHJpbWFyeTpob3ZlciwgLmJ0bi1wcmltYXJ5OmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICNkZTY2MGE7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnRuLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDQxNWU7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbn1cblxuLmJ0bi1zZWNvbmRhcnk6aG92ZXIsIC5idG4tc2Vjb25kYXJ5OmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMwMDFlMmI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnRuLWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzAyZDJhO1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XG59XG5cbi5idG4tZ3JheTpob3ZlciwgLmJ0bi1ncmF5OmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICMxNTE0MTI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYnRuLWxpZ2h0LWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBjb2xvcjogIzQ0NDQ0NDtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuXG4uYnRuLWxpZ2h0LWdyYXk6aG92ZXIsIC5idG4tbGlnaHQtZ3JheTphY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzQ0NDQ0NDtcbiAgYm9yZGVyLWNvbG9yOiAjZGRkO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgQnV0dG9uIFN0eWxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLmJ0bi1waWxsIHtcbiAgYm9yZGVyLXJhZGl1czogNi4yNXJlbTtcbn1cblxuLmJ0bi1yYWRpdXMge1xuICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEJ1dHRvbiBEaXNwbGF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5idG4tYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBCdXR0b24gRHJvcGRvd24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZHJvcGRvd24tYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi1idG4uZHJvcGRvd24tYnRuLW91dGxpbmUgLmJ0biwgLmRyb3Bkb3duLWJ0bi5kcm9wZG93bi1idG4tb3V0bGluZSBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBjb2xvcjogIzMzMztcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5kcm9wZG93bi1idG4gLmJ0biwgLmRyb3Bkb3duLWJ0biBidXR0b24ge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjZmFmYWZhO1xuICBiYWNrZ3JvdW5kOiAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGJvcmRlcjogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMTVweCAyMHB4O1xufVxuXG4uZHJvcGRvd24tYnRuIC5idG4gaSwgLmRyb3Bkb3duLWJ0biBidXR0b24gaSB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5kcm9wZG93bi1idG4gdWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAyMDBtcztcbn1cblxuLmRyb3Bkb3duLWJ0biB1bC50b2dnbGUtYWN0aXZlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xufVxuXG4uZHJvcGRvd24tYnRuIHVsIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmRyb3Bkb3duLWJ0biB1bCBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG59XG5cbi5kcm9wZG93bi1idG4gdWwgbGkgYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZGZkZmQ7XG59XG5cbi5kcm9wZG93bi1idG4gdWwgbGk6bGFzdC1vZi10eXBlIGEge1xuICBib3JkZXI6IDA7XG59XG5cbi5maWx0ZXJpbmcge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZpbHRlcmluZyAuYnRuIHtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBDYXJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jYXJkIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4uY2FyZC1oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2FyZC1oZXJvIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICNmZmY7XG4gIGJvdHRvbTogMDtcbiAgcGFkZGluZzogMTZweCAxNXB4IDE0cHg7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ2ZW0pIHtcbiAgLmNhcmQtdGl0bGUge1xuICAgIHBhZGRpbmc6IDE2cHggMzBweCAxNHB4O1xuICB9XG59XG5cbi5jYXJkLXRpdGxlIGgxIHtcbiAgbWFyZ2luOiAwIDAgMnB4IDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NmVtKSB7XG4gIC5jYXJkLXRpdGxlIGgxIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gIH1cbn1cblxuLmNhcmQtdGl0bGUgc3BhbiB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmNhcmQtY29udGVudCB7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG5cbi5jYXJkLWNvbnRlbnQgaHIge1xuICBib3JkZXItY29sb3I6ICNlZWU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NmVtKSB7XG4gIC5jYXJkLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDMwcHg7XG4gIH1cbn1cblxuLmV4aGliaXRpb24tY2Fyb3VzZWwge1xuICBwYWRkaW5nOiA2MHB4IDAgMCAwO1xufVxuXG4uZXhoaWJpdGlvbi1jYXJvdXNlbCBoMi5oMi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzNlMzgzNDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAwIDAgNDBweCAwO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgUGFnZSBPdmVybGF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuI3BhZ2Utb3ZlcmxheSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk4O1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NmVtKSB7XG4gICNwYWdlLW92ZXJsYXkuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IE1vZGFsIFNpdGUgUG9wdXBcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLm1vZGFsLWJnIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTk5OTk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDE1cHg7XG59XG5cbi5tb2RhbC1iZy5hY3RpdmUge1xuICBkaXNwbGF5OiBpbml0aWFsO1xufVxuXG4ubW9kYWwtYm94IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDQwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMTBweCAxMHB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubW9kYWwtYm94LmFjdGl2ZSB7XG4gIGRpc3BsYXk6IGluaXRpYWw7XG59XG5cbi5tb2RhbC1ib3ggaDQge1xuICBjb2xvcjogIzMzMztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm1vZGFsLWJveCBwIHtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5tb2RhbC1ib3ggcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW46IDA7XG59XG5cbi5tb2RhbC1ib3ggYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogMTBweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kOiAjZDgzZjIxO1xuICBjb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgU29jaWFsIE1lZGlhIEljb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnNvY2lhbC1pY29ucyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG59XG5cbi5zb2NpYWwtaWNvbnMgYSB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuXG4uc29jaWFsLWljb25zIGE6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uc29jaWFsLWljb25zIGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjU4MDI2O1xuICBib3JkZXItY29sb3I6ICNmNTgwMjY7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBTZWFyY2ggLSBUb2dnbGUgSWNvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uc2VhcmNoLWFjdGl2ZSAuc2VhcmNoLWZ1bmN0aW9uIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLnNlYXJjaC1hY3RpdmUgI2JnLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB6LWluZGV4OiA5OTk5O1xufVxuXG4uc2VhcmNoLWZ1bmN0aW9uIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OTk5OTtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcztcbn1cblxuLnNlYXJjaC1mdW5jdGlvbiAuc2VhcmNoLWZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zZWFyY2gtZnVuY3Rpb24gLnNlYXJjaC1sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zZWFyY2gtZnVuY3Rpb24gLnNlYXJjaC1sYWJlbDphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAxMDAlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZjU4MDI2O1xufVxuXG4uc2VhcmNoLWZ1bmN0aW9uIGlucHV0LnNlYXJjaC1maWVsZCB7XG4gIHdpZHRoOiA5MCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBsaW5lLWhlaWdodDogNTVweDtcbiAgaGVpZ2h0OiA1NXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMjJweDtcbn1cblxuLnNlYXJjaC1mdW5jdGlvbiBpbnB1dC5zZWFyY2gtZmllbGQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cblxuLnNlYXJjaC1mdW5jdGlvbiAuc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2VhcmNoLWZ1bmN0aW9uIC5zZWFyY2gtaWNvbiwgLnNlYXJjaC1mdW5jdGlvbiAuc2VhcmNoLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICB0b3A6IDA7XG59XG5cbi5zZWFyY2gtZnVuY3Rpb24gLnNlYXJjaC1pY29uIGksIC5zZWFyY2gtZnVuY3Rpb24gLnNlYXJjaC1jbG9zZSBpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogI2ZmZjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMzhweDtcbiAgei1pbmRleDogLTE7XG4gIGZvbnQtc2l6ZTogMzBweDtcbn1cblxuLnNlYXJjaC1mdW5jdGlvbiAuc2VhcmNoLWljb24ge1xuICByaWdodDogNDBweDtcbn1cblxuLnNlYXJjaC1mdW5jdGlvbiAuc2VhcmNoLWNsb3NlIHtcbiAgcmlnaHQ6IDA7XG59XG5cbi5zZWFyY2gtZnVuY3Rpb24gLnNlYXJjaC1jbG9zZSBpIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwLjgpO1xufVxuXG4uc2VhcmNoLWZ1bmN0aW9uIGlucHV0LnNlYXJjaC1zdWJtaXQge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi8qIE5vdGlmaWNhdGlvbiBCYXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5ub3RpZmljYXRpb24tYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDUwcHggMTBweCAzMHB4O1xuICBiYWNrZ3JvdW5kOiAjM2UzODM0O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHotaW5kZXg6IDkwMDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xufVxuXG4ubm90aWZpY2F0aW9uLWJhciBhIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLm5vdGlmaWNhdGlvbi1iYXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubm90aWZpY2F0aW9uLWJhci52aXNpYmxlIHtcbiAgZGlzcGxheTogaW5oZXJpdDtcbn1cblxuLm5vdGlmaWNhdGlvbi1iYXIgLmZhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMTtcbiAgcmlnaHQ6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgY29sb3I6ICNmNTgwMjY7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubm90aWZpY2F0aW9uLWJhciAuZmE6aG92ZXIge1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBUZXN0aW1vbmlhbHMgLyBSZXZpZXdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4udGVzdGltb25pYWxzLWNhcm91c2VsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuYm9keSAudGVzdGltb25pYWwtcGljIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmJvZHkgLnRlc3RpbW9uaWFsLXBpYyBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keSAudGVzdGltb25pYWwtcGljIC50Zy1tZWRpYS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCA0MDBtcztcbiAgYmFja2dyb3VuZDogcmdiYSgxNywgMTcsIDE3LCAwKTtcbiAgei1pbmRleDogMTtcbn1cblxuYm9keSAudGVzdGltb25pYWwtcGljIC50Zy1tZWRpYS1idXR0b24gaS5mYSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICBtYXJnaW46IC0yNXB4IDAgMCAtMjVweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDQwMG1zO1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbmJvZHkgLnRlc3RpbW9uaWFsLXBpYyAudGctbWVkaWEtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxNywgMTcsIDE3LCAwLjY1KTtcbn1cblxuYm9keSAudGVzdGltb25pYWwtcGljIC50Zy1tZWRpYS1idXR0b246aG92ZXIgaS5mYSB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgY29sb3I6ICNmNTgwMjY7XG4gIGJvcmRlci1jb2xvcjogI2Y1ODAyNjtcbn1cblxuLnRlc3RpbW9uaWFsLW1ldGEge1xuICBwYWRkaW5nOiAyNnB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnRlc3RpbW9uaWFsLW1ldGEgaDQge1xuICBmb250LXNpemU6IDIwcHg7XG4gIG1hcmdpbjogMCAwIDVweCAwO1xuICBjb2xvcjogIzY1NWU1ODtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLnRlc3RpbW9uaWFsLW1ldGEgLnRlc3RpbW9uaWFsLXByb2dyYW0ge1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICBtYXJnaW46IDA7XG59XG5cbi50ZXN0aW1vbmlhbC1tZXRhIC50ZXN0aW1vbmlhbC1wcm9ncmFtOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogNjBweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjU4MDI2O1xufVxuXG4udGVzdGltb25pYWwtbWV0YSAudGctaXRlbS1leGNlcnB0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4udGVzdGltb25pYWwtbWV0YSBhIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmNTgwMjY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IE1vYmlsZSBCdXR0b25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5tb2JpbGUtYnRuIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDIwcHg7XG4gIHJpZ2h0OiAyMHB4O1xuICB6LWluZGV4OiA5OTk7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5tb2JpbGUtYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5tb2JpbGUtYnRuOmFmdGVyIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IGluaGVyaXQ7XG4gIGhlaWdodDogaW5oZXJpdDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgdHJhbnNpdGlvbjogYWxsIC4xcyBlYXNlLWluO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcbn1cblxuLm1vYmlsZS1idG4gYSB7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDE5O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC42OCwgMS41NSwgMC4yNjUsIDEpO1xuICBmb250LXNpemU6IDE4cHg7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5tb2JpbGUtYnRuIGEubW9iaWxlLWl0ZW0tMSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDUwbXM7XG59XG5cbi5tb2JpbGUtYnRuIGEubW9iaWxlLWl0ZW0tMiB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEwMG1zO1xufVxuXG4ubW9iaWxlLWJ0biBhLm1vYmlsZS1pdGVtLTMge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxNTBtcztcbn1cblxuLm1vYmlsZS1idG4gYS5tb2JpbGUtaXRlbS00IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG59XG5cbi5tb2JpbGUtYnRuIGEubW9iaWxlLWJ0bi10b2dnbGUge1xuICBmb250LXNpemU6IDE2cHg7XG4gIHotaW5kZXg6IDIwO1xuICBiYWNrZ3JvdW5kOiAjZjU4MDI2O1xuICBvcGFjaXR5OiAxO1xufVxuXG4ubW9iaWxlLWJ0bi5hY3RpdmU6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHNjYWxlKDUpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwbXM7XG59XG5cbi5tb2JpbGUtYnRuLmFjdGl2ZSBhIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLm1vYmlsZS1idG4uYWN0aXZlIGEubW9iaWxlLWl0ZW0tMSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDE1cHgsIC03NXB4KTtcbn1cblxuLm1vYmlsZS1idG4uYWN0aXZlIGEubW9iaWxlLWl0ZW0tMiB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zNHB4LCAtNjhweCk7XG59XG5cbi5tb2JpbGUtYnRuLmFjdGl2ZSBhLm1vYmlsZS1pdGVtLTMge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNzBweCwgLTM0cHgpO1xufVxuXG4ubW9iaWxlLWJ0bi5hY3RpdmUgYS5tb2JpbGUtaXRlbS00IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTc1cHgsIDE1cHgpO1xufVxuXG4ubW9iaWxlLWJ0bi5hY3RpdmUgYS5tb2JpbGUtYnRuLXRvZ2dsZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG59XG5cbmJvZHkubWVudS1hY3RpdmUgLm1vYmlsZS1idG4sIGJvZHkuc2VhcmNoLWFjdGl2ZSAubW9iaWxlLWJ0biB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2MHB4KTtcbiAgb3BhY2l0eTogMDtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEVsZW1lbnRvciBXb3JkcHJlc3MgUGx1Z2lubiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICtcclxufCBodHRwczovL2VsZW1lbnRvci5jb20vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZWxlbWVudG9yIC5oZXJvLWJ1dHRvbnMgYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgcGFkZGluZzogMTVweCAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIG1hcmdpbjogMCBhdXRvIDEwcHg7XG4gIHdpZHRoOiA3NSU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uZWxlbWVudG9yIC5oZXJvLWJ1dHRvbnMgYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMxMTE7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0NmVtKSB7XG4gIC5lbGVtZW50b3IgLmhlcm8tYnV0dG9ucyBhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiBpbmhlcml0O1xuICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gIH1cbn1cblxuLmVsZW1lbnRvciAuaGVyby1idXR0b25zIGEuYnRuLW91dGxpbmUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogIzM2MzYzNjtcbn1cblxuLmVsZW1lbnRvciAuaGVyby1idXR0b25zIGEuYnRuLW91dGxpbmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjU4MDI2O1xuICBjb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3BhY2l0eTogMTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ2ZW0pIHtcbiAgLmVsZW1lbnRvciAuaGVyby1idXR0b25zIGEuYnRuLW91dGxpbmUge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbmJvZHkucGFyZW50LXBhZ2VpZC00MTgzIC50Zy1kcm9wZG93bi1ob2xkZXIge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG59XG5cbmJvZHkgLnRnLWRyb3Bkb3duLWxpc3QsXG5ib2R5IC50Zy1kcm9wZG93bi1ob2xkZXI6aG92ZXIgLnRnLWRyb3Bkb3duLWxpc3Qge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCkgIWltcG9ydGFudDtcbn1cblxuLmVsZW1lbnRvci1lbGVtZW50LmVsZW1lbnRvci1nbG9iYWwtMTk4IC5lbGVtZW50b3ItZGl2aWRlci1zZXBhcmF0b3Ige1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXRvcC13aWR0aDogM3B4O1xuICBib3JkZXItdG9wLWNvbG9yOiAjZWU3NDIxO1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZ2xvYmFsLTE5OCAuZWxlbWVudG9yLWRpdmlkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbn1cblxuI2hwLWhlcm8ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi5zaXRlbWFwLW1lbnUgdWwubWVudSwgLnNpdGVtYXAtbWVudSB1bC5tZW51IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc2l0ZW1hcC1tZW51IHVsLm1lbnUgdWwge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLnNpdGVtYXAtbWVudSB1bC5tZW51IGxpIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDdweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAjMzY5O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkICNjY2MgMXB4O1xufVxuXG4uc2l0ZW1hcC1tZW51IHVsLm1lbnUgbGk6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xufVxuXG4uc2l0ZW1hcC1tZW51IHVsLm1lbnUgbGk6YmVmb3JlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0wLjNlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIHdpZHRoOiAxMnB4O1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkICNjY2MgMXB4O1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxlZnQ6IC03cHg7XG59XG5cbi5zaXRlbWFwLW1lbnUgdWwubWVudSBsaTpsYXN0LWNoaWxkOmJlZm9yZSB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAjY2NjIDFweDtcbn1cblxuLmVsZW1lbnRvci1saWdodGJveCAuZWxlbWVudG9yLWxpZ2h0Ym94LWl0ZW0ge1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4uZWxlbWVudG9yLWxpZ2h0Ym94IC5lbGVtZW50b3ItbGlnaHRib3gtaXRlbSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAuZWxlbWVudG9yLWxpZ2h0Ym94IC5lbGVtZW50b3ItbGlnaHRib3gtaXRlbSB7XG4gICAgcGFkZGluZzogODBweDtcbiAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgRWxlbWVudG9yIFN1YiBOYXZpZ2F0aW9uIE1lbnVcclxuKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnN1Yi1tZW51LW11bHRpLWNvbG9yIG5hdi5lbGVtZW50b3ItbmF2LW1lbnUtLW1haW4gLmVsZW1lbnRvci1uYXYtbWVudSBsaSBhIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLnN1Yi1tZW51LW11bHRpLWNvbG9yIG5hdi5lbGVtZW50b3ItbmF2LW1lbnUtLW1haW4gLmVsZW1lbnRvci1uYXYtbWVudSBsaSBhOmFmdGVyIHtcbiAgaGVpZ2h0OiA0cHg7XG59XG5cbi5zdWItbWVudS1tdWx0aS1jb2xvciBuYXYuZWxlbWVudG9yLW5hdi1tZW51LS1tYWluIC5lbGVtZW50b3ItbmF2LW1lbnUgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5zdWItbWVudS1tdWx0aS1jb2xvciBuYXYuZWxlbWVudG9yLW5hdi1tZW51LS1tYWluIC5lbGVtZW50b3ItbmF2LW1lbnUgbGk6bnRoLWNoaWxkKDEpIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE5NTZkICFpbXBvcnRhbnQ7XG59XG5cbi5zdWItbWVudS1tdWx0aS1jb2xvciBuYXYuZWxlbWVudG9yLW5hdi1tZW51LS1tYWluIC5lbGVtZW50b3ItbmF2LW1lbnUgbGk6bnRoLWNoaWxkKDIpIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDBiNDAwICFpbXBvcnRhbnQ7XG59XG5cbi5zdWItbWVudS1tdWx0aS1jb2xvciBuYXYuZWxlbWVudG9yLW5hdi1tZW51LS1tYWluIC5lbGVtZW50b3ItbmF2LW1lbnUgbGk6bnRoLWNoaWxkKDMpIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDgzZjIxICFpbXBvcnRhbnQ7XG59XG5cbi5zdWItbWVudS1tdWx0aS1jb2xvciBuYXYuZWxlbWVudG9yLW5hdi1tZW51LS1tYWluIC5lbGVtZW50b3ItbmF2LW1lbnUgbGk6bnRoLWNoaWxkKDQpIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MTc4ICFpbXBvcnRhbnQ7XG59XG5cbi5zdWItbWVudS1tdWx0aS1jb2xvciBuYXYuZWxlbWVudG9yLW5hdi1tZW51LS1tYWluIC5lbGVtZW50b3ItbmF2LW1lbnUgbGk6bnRoLWNoaWxkKDUpIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2Q2OTkxICFpbXBvcnRhbnQ7XG59XG5cbi5zdWItbWVudS1tdWx0aS1jb2xvciBuYXYuZWxlbWVudG9yLW5hdi1tZW51LS1tYWluIC5lbGVtZW50b3ItbmF2LW1lbnUgbGk6bnRoLWNoaWxkKDYpIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzg5YzQ4ICFpbXBvcnRhbnQ7XG59XG5cbi5zdWItbWVudS1tdWx0aS1jb2xvciBuYXYuZWxlbWVudG9yLW5hdi1tZW51LS1tYWluIC5lbGVtZW50b3ItbmF2LW1lbnUgbGk6bnRoLWNoaWxkKDcpIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjdhMmI5ICFpbXBvcnRhbnQ7XG59XG5cbi5zdWItbWVudS1tdWx0aS1jb2xvciBuYXYuZWxlbWVudG9yLW5hdi1tZW51LS1tYWluIC5lbGVtZW50b3ItbmF2LW1lbnUgbGk6bnRoLWNoaWxkKDgpIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWU3NDIxICFpbXBvcnRhbnQ7XG59XG5cbi5zdWItbWVudS1tdWx0aS1jb2xvciBuYXYuZWxlbWVudG9yLW5hdi1tZW51LS1tYWluIC5lbGVtZW50b3ItbmF2LW1lbnUgbGk6bnRoLWNoaWxkKDkpIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE5NTZkICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkgLnN1Yi1tZW51LW11bHRpLWNvbG9yIC5lbGVtZW50b3Itd2lkZ2V0LWNvbnRhaW5lciAuZWxlbWVudG9yLW1lbnUtdG9nZ2xlLmVsZW1lbnRvci1jbGlja2FibGUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLmVsZW1lbnRvci1tZW51LXRvZ2dsZSB7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uZWxlbWVudG9yLW1lbnUtdG9nZ2xlIGkuZWljb24ge1xuICBwYWRkaW5nOiAwIDEwcHggNXB4IDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogLjc1O1xufVxuXG4uZWxlbWVudG9yLW1lbnUtdG9nZ2xlIGkuZWljb246YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICBjb250ZW50OiBcIlxcZjA3OFwiO1xuICBtYXJnaW4tcmlnaHQ6IDZweDtcbn1cblxuLmVsZW1lbnRvci1tZW51LXRvZ2dsZSBpLmVpY29uOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbnRlbnQ6IFwiU2hvdyBNZW51XCI7XG59XG5cbi5lbGVtZW50b3ItbWVudS10b2dnbGUuZWxlbWVudG9yLWFjdGl2ZSBpLmVpY29uOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcbiAgY29udGVudDogXCJcXGYwNzdcIjtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG59XG5cbi5lbGVtZW50b3ItbWVudS10b2dnbGUuZWxlbWVudG9yLWFjdGl2ZSBpLmVpY29uOmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbnRlbnQ6IFwiSGlkZSBNZW51XCI7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBMaXZlIENoYXQgU3R5bGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5ib2R5IC5vbGFyay1sYXVuY2gtYnV0dG9uIHtcbiAgbGVmdDogMTVweCAhaW1wb3J0YW50O1xuICB3aWR0aDogNjhweCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIGJvZHkgLm9sYXJrLWxhdW5jaC1idXR0b24ge1xuICAgIHdpZHRoOiAyMzZweCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgRG9jdW1lbnQgLSBHbG9iYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuaHRtbCB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuaHRtbCxib2R5IHtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbiosICo6YmVmb3JlLCAqOmFmdGVyIHtcclxuICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG59XHJcblxyXG4qe1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiBGb3Igc29tZSBBbmRyb2lkcyAqL1xyXG4gIG91dGxpbmU6IDA7IFxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgQm9keSAtIEdsb2JhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuYm9keSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmctY29sb3I7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcbi5zaXRlLXdyYXBwZXIge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IENvbnRlbnQgLSBHbG9iYWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5zaXRlLXdyYXBwZXIge1xyXG4gIG1hcmdpbi10b3A6IDY1cHg7XHJcbiAgXHJcbiAgLy8gVGFibGV0IEJyZWFrcG9pbnRcclxuICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgbWFyZ2luLXRvcDogMTA1cHg7XHJcbiAgfVxyXG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG4vLyAgICBQcm9qZWN0IENvbmZpZ3VyYXRpb24gICAgICAgICAgICB8XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4vLyAgICBUYWJsZSBvZiBDb250ZW50cyAgICAgICAgICAgICAgICB8XHJcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuLy8tLS0gQ29sb3JzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbi8vICAgIDEuMSAgQnJhbmRpbmcgICAgICAgICAgICAgICAgICAgIHxcclxuLy8gICAgMS4yICBHbG9iYWwgICAgICAgICAgICAgICAgICAgICAgfFxyXG4vLyAgICAxLjMgIERvY3VtZW50ICAgICAgICAgICAgICAgICAgICB8XHJcbi8vICAgIDEuNCAgRm9udHMgICAgICAgICAgICAgICAgICAgICAgIHxcclxuLy8gICAgMS41ICBTb2NpYWwgTWVkaWEgICAgICAgICAgICAgICAgfFxyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbi8vLS0tIFR5cG9ncmFwaHkgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4vLyAgICAyLjEgIEZvbnQgU2NhbGUgICAgICAgICAgICAgICAgICB8XHJcbi8vICAgIDIuMiAgRm9udCBGYW1pbGllcyAgICAgICAgICAgICAgIHxcclxuLy8gICAgMi4zICBGb250IFdlaWdodHMgICAgICAgICAgICAgICAgfFxyXG4vLyAgICAyLjQgIEZvbnQgU2l6ZXMgICAgICAgICAgICAgICAgICB8XHJcbi8vICAgIDIuNSAgRm9udCBMZXR0ZXIgU3BhY2luZyAgICAgICAgIHxcclxuLy8gICAgMi42ICBGb250IFJlbmRlcmluZyAgICAgICAgICAgICAgfFxyXG4vLyAgICAyLjcgIExpbmUgSGVpZ2h0cyAgICAgICAgICAgICAgICB8XHJcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuLy8tLS0gTWFyZ2luICYgUGFkZGluZyAtLS0tLS0tLS0tLS0tLS0tK1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbi8vICAgIDMuMSAgTWFyZ2luICAgICAgICAgICAgICAgICAgICAgIHxcclxuLy8gICAgMy4yICBQYWRkaW5nICAgICAgICAgICAgICAgICAgICAgfFxyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbi8vLS0tIEhUTUwgRWxlbWVudHMgLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4vLyAgICA0LjEgIFBhcmFncmFwaHMgPHA+ICAgICAgICAgICAgICB8XHJcbi8vICAgIDQuMiAgU21hbGwgdGV4dCA8c21hbGw+ICAgICAgICAgIHxcclxuLy8gICAgNC4zICBIZWFkaW5ncyA8aDE+IHRvIDxoNj4gICAgICAgfFxyXG4vLyAgICA0LjQgIEFuY2hvcnMgPGE+ICAgICAgICAgICAgICAgICB8XHJcbi8vICAgIDQuNSAgRGl2aWRlcnMgPGhyPiAgICAgICAgICAgICAgIHxcclxuLy8gICAgNC42ICBMaXN0cyA8dWw+ICAgICAgICAgICAgICAgICAgfFxyXG4vLyAgICA0LjcgIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPiAgICB8XHJcbi8vICAgIDQuOCAgVG9vbGJhcnMgICAgICAgICAgICAgICAgICAgIHxcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4vLy0tLSBHcmlkIFN5c3RlbSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuLy8gICAgNS4xICBDb2x1bW5zICAgICAgICAgICAgICAgICAgICAgfFxyXG4vLyAgICA1LjIgIENvbnRhaW5lcnMgICAgICAgICAgICAgICAgICB8XHJcbi8vICAgIDUuMyAgR3V0dGVycyAgICAgICAgICAgICAgICAgICAgIHxcclxuLy8gICAgNS40ICBDb2x1bW4gTWFyZ2lucyAgICAgICAgICAgICAgfFxyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbi8vLS0tIEJvcmRlciBSYWRpdXMgLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4vLyAgICA2LjEgIEdsb2JhbCAgICAgICAgICAgICAgICAgICAgICB8XHJcbi8vICAgIDYuMiAgU2l6ZXMgICAgICAgICAgICAgICAgICAgICAgIHxcclxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcblxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuLy8gMS4gQ29sb3JzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcblxyXG4vLyAxLjEgIEJyYW5kaW5nXHJcbiRwcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAjZjU4MDI2O1xyXG4kc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgIzAwNDE1ZTtcclxuXHJcbiRwcmltYXJ5LXRleHQtY29sb3I6ICAgICAgICAjM2UzOTM1O1xyXG4kc2Vjb25kYXJ5LXRleHQtY29sb3I6ICAgICAgIzc1NzU3NTtcclxuJGRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICNCREJEQkQ7XHJcblxyXG4keWVsbG93OiAjZDBiNDAwO1xyXG4kYmx1ZTogIzY3YTJiOTtcclxuJGdyZWVuOiAjMDE5NTZkO1xyXG4kcHVycGxlOiAjN2Q2OTkxO1xyXG5cclxuLy8gMS4yICBHbG9iYWxcclxuJGxpZ2h0LWdyYXk6ICAgICAgICAgICAgICAgICM2NTVlNTg7XHJcbiRtZWRpdW0tZ3JheTogICAgICAgICAgICAgICAjM2UzOTM1O1xyXG4kZGFyay1ncmF5OiAgICAgICAgICAgICAgICAgIzMwMmQyYTtcclxuJGJsYWNrOiAgICAgICAgICAgICAgICAgICAgICMwYTBhMGE7XHJcbiR3aGl0ZTogICAgICAgICAgICAgICAgICAgICAjZmVmZWZlO1xyXG4kZXJyb3ItY29sb3I6ICAgICAgICAgICAgICAgI2NjNGIzNztcclxuJHN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICMzYWRiNzY7XHJcbiR3YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAjZmZhZTAwO1xyXG5cclxuLy8gMS4zICBEb2N1bWVudFxyXG4kYm9keS1iZy1jb2xvcjogICAgICAgICAgICAgI2ZmZjtcclxuJGJvZHktZm9udC1jb2xvcjogICAgICAgICAgICRsaWdodC1ncmF5O1xyXG5cclxuLy8gMS40ICBGb250c1xyXG4kcHJpbWFyeS1jb2xvci1mb250OiAgICAgICAgJHByaW1hcnktY29sb3I7XHJcbiRzZWNvbmRhcnktY29sb3ItZm9udDogICAgICAkc2Vjb25kYXJ5LWNvbG9yO1xyXG4kcHJpbWFyeS1jb2xvci1oZWFkZXI6ICAgICAgJHByaW1hcnktY29sb3I7XHJcbiRzZWNvbmRhcnktY29sb3ItaGVhZGVyOiAgICAkc2Vjb25kYXJ5LWNvbG9yO1xyXG5cclxuLy8gMS41ICBTb2NpYWwgTWVkaWFcclxuJGFtYXpvbjogICAgICAgICAgICAgICAgICAgICNmZjk3MDA7XHJcbiRiZWhhbmNlOiAgICAgICAgICAgICAgICAgICAjMTc2OWZmO1xyXG4kZHJpYmJibGU6ICAgICAgICAgICAgICAgICAgI2VhNGM4OTtcclxuJGRyb3Bib3g6ICAgICAgICAgICAgICAgICAgICMwMDdlZTU7IFxyXG4kZWJheTogICAgICAgICAgICAgICAgICAgICAgIzA4Mzc5MDtcclxuJGZhY2Vib29rOiAgICAgICAgICAgICAgICAgICMzYjU5OTg7XHJcbiRmbGlja3I6ICAgICAgICAgICAgICAgICAgICAjZmYwMDg0O1xyXG4kZm91cnNxdWFyZTogICAgICAgICAgICAgICAgIzAwNzJiMTtcclxuJGdpdGh1YjogICAgICAgICAgICAgICAgICAgICMzMzMzMzM7XHJcbiRnb29nbGVwbHVzOiAgICAgICAgICAgICAgICAjZGQ0YjM5O1xyXG4kaW5zdGFncmFtOiAgICAgICAgICAgICAgICAgIzEyNTY4ODtcclxuJGxpbmtlZGluOiAgICAgICAgICAgICAgICAgICMwMDdiYjU7XHJcbiRwYXlwYWw6ICAgICAgICAgICAgICAgICAgICAjMDA5Y2RlO1xyXG4kcGludGVyZXN0OiAgICAgICAgICAgICAgICAgI2NiMjAyNztcclxuJHNreXBlOiAgICAgICAgICAgICAgICAgICAgICMwMGFjZjQ7XHJcbiRzbmFwY2hhdDogICAgICAgICAgICAgICAgICAjZmZmYzAwO1xyXG4kdHVtYmxyOiAgICAgICAgICAgICAgICAgICAgIzMyNTA2ZDtcclxuJHR3aXR0ZXI6ICAgICAgICAgICAgICAgICAgICMwMGFjZWQ7XHJcbiR2aW1lbzogICAgICAgICAgICAgICAgICAgICAjMTYyMjIxO1xyXG4kd2hhdHNhcHA6ICAgICAgICAgICAgICAgICAgIzQzZDg1NDtcclxuJHlvdXR1YmU6ICAgICAgICAgICAgICAgICAgICNiYjAwMDA7XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG4vLyAyLiBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcblxyXG4vLyAyLjEgIEZvbnQgRmFtaWxpZXNcclxuJGZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LXNlY29uZGFyeTogICAgICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8gMi4yICBGb250IFdlaWdodHNcclxuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgIDMwMDtcclxuJGZvbnQtd2VpZ2h0LW1lZGl1bTogICAgICAgIDQwMDtcclxuJGZvbnQtd2VpZ2h0LXN1Yi1ib2xkOiAgICAgIDYwMDtcclxuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgIDcwMDtcclxuXHJcbi8vIDIuMyAgRm9udCBTaXplc1xyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogICAgICAgICAgMTAwJTtcclxuJGJhc2VsaW5lLWZvbnQtc2l6ZTogICAgICAgIDFlbTtcclxuJGZvbnQtc2l6ZTogICAgICAgICAgICAgICAgIDE2cHg7XHJcbiRmb250LXNpemUtYm9keTogICAgICAgICAgICAxNnB4O1xyXG5cclxuJGZvbnQtc2l6ZS1tb2JpbGU6ICAgICAgICAgIDg1JTtcclxuJGZvbnQtc2l6ZS10YWJsZXQ6ICAgICAgICAgIDkwJTtcclxuJGZvbnQtc2l6ZS1kZXNrdG9wOiAgICAgICAgIDE4cHg7XHJcblxyXG4vLyAyLjQgIEZvbnQgTGV0dGVyIFNwYWNpbmdcclxuJGZvbnQtbGV0dGVyLXNwYWNpbmc6ICAgICAgIDE7XHJcblxyXG4vLyAyLjUgIEZvbnQgUmVuZGVyaW5nXHJcbiR0ZXh0LXJlbmRlcmluZzogICAgICAgICAgICBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcblxyXG4vLyAyLjYgIExpbmUgSGVpZ2h0c1xyXG4kbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgMS41O1xyXG5cclxuLy8gMi43ICBTY2FsZVxyXG4kZ29sZGVuOiAgICAgICAgICAgMS42MTg7XHJcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcclxuJG1ham9yLXNlY29uZDogICAgIDEuMTI1O1xyXG4kbWlub3ItdGhpcmQ6ICAgICAgMS4yO1xyXG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcclxuJHBlcmZlY3QtZm91cnRoOiAgIDEuMzMzO1xyXG4kYXVnbWVudGVkLWZvdXJ0aDogMS40MTQ7XHJcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XHJcbiRtaW5vci1zaXh0aDogICAgICAxLjY7XHJcbiRtYWpvci1zaXh0aDogICAgICAxLjY2NztcclxuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xyXG4kbWFqb3Itc2V2ZW50aDogICAgMS44NzU7XHJcbiRvY3RhdmU6ICAgICAgICAgICAyO1xyXG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xyXG4kbWFqb3ItZWxldmVudGg6ICAgMi42Njc7XHJcbiRtYWpvci10d2VsZnRoOiAgICAzO1xyXG4kZG91YmxlLW9jdGF2ZTogICAgNDtcclxuXHJcbiRtb2R1bGFyLXNjYWxlLXJhdGlvOiAgICAgICAkcGVyZmVjdC1mb3VydGg7XHJcbiRtb2R1bGFyLXNjYWxlLWJhc2U6ICAgICAgICAkYmFzZWxpbmUtZm9udC1zaXplO1xyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuLy8gMy4gTWFyZ2lucyAmIFBhZGRpbmdzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcblxyXG4vLyAzLjEgR2xvYmFsc1xyXG5cclxuLy8gMy4yIE1hcmdpblxyXG4kZ2xvYmFsLW1hcmdpbjogICAgICAgICAgICAgcmVtKDIwcHgpO1xyXG4kaGVhZGVyLW1hcmdpbjogICAgICAgICAgICAgcmVtKDIwcHgpO1xyXG4kcGFyYWdyYXBoLW1hcmdpbjogICAgICAgICAgcmVtKDIwcHgpO1xyXG4kZ2xvYmFsLW1hcmdpbi1kZXNrdG9wOiAgICAgJGdsb2JhbC1tYXJnaW4qMjtcclxuJGxpc3QtbWFyZ2luOiAgICAgICAgICAgICAgIHJlbSgyMHB4KTtcclxuXHJcbi8vIDMuMyBQYWRkaW5nXHJcbiRnbG9iYWwtcGFkZGluZzogICAgICAgICAgICByZW0oMjRweCk7XHJcbiRnbG9iYWwtcGFkZGluZy1kZXNrdG9wOiAgICAkZ2xvYmFsLXBhZGRpbmcqMjtcclxuXHJcbiRwYWRkaW5nLW1vYmlsZTogICAgICAgICAgICByZW0oMTVweCk7XHJcbiRwYWRkaW5nLXRhYmxldDogICAgICAgICAgICByZW0oMjBweCk7XHJcbiRwYWRkaW5nLWRlc2t0b3A6ICAgICAgICAgICByZW0oMjRweCk7XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG4vLyA0LiBIVE1MIEVsZW1lbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcblxyXG4vLyA0LjEgIFBhcmFncmFwaHMgPHA+XHJcbiRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ6ICAgICByZW0oMjRweCk7XHJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAkcGFyYWdyYXBoLW1hcmdpbjtcclxuXHJcbi8vIDQuMiAgU21hbGwgPHNtYWxsPlxyXG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgICAgODAlO1xyXG5cclxuLy8gNC4zICBIZWFkaW5ncyA8aDE+XHJcbiRmb250LWZhbWlseS1oZWFkZXI6ICAgICAgICAkZm9udC1mYW1pbHk7XHJcbiRmb250LXdlaWdodC1oZWFkZXI6ICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4kaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgMS4yNWVtO1xyXG5cclxuJGhlYWRlci1saW5lLWhlaWdodDogICAgICAgIDE7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogICAgICAkaGVhZGVyLW1hcmdpbjtcclxuXHJcbi8vIDQuNCAgQW5jaG9ycyA8YT5cclxuJGFuY2hvci1jb2xvcjogICAgICAgICAgICAgICRwcmltYXJ5LWNvbG9yO1xyXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiAgICAgICAgbGlnaHRlbigkYW5jaG9yLWNvbG9yLCAxMCUpO1xyXG4kYW5jaG9yLWRlY29yYXRpb246ICAgICAgICAgbm9uZTtcclxuJGFuY2hvci1kZWNvcmF0aW9uLWhvdmVyOiAgIG5vbmU7XHJcblxyXG4vLyA0LjUgIERpdmlkZXJzIDxocj5cclxuJGhyLXdpZHRoOiAgICAgICAgICAgICAgICAgIDEwMCU7XHJcbiRoci1ib3JkZXI6ICAgICAgICAgICAgICAgICAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaHItbWFyZ2luOiAgICAgICAgICAgICAgICAgcmVtKDI0cHgpO1xyXG5cclxuLy8gNC42ICBMaXN0cyA8dWw+XHJcbiRsaXN0LWxpbmUtaGVpZ2h0OiByZW0oMjRweCk7XHJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRsaXN0LW1hcmdpbjtcclxuJGxpc3QtdHlwZTogZGlzYztcclxuJGxpc3QtcG9zaXRpb246IG91dHNpZGU7XHJcbiRsaXN0LWxlZnQtbWFyZ2luOiAxLjVyZW07XHJcbiRsaXN0LW5lc3RlZC1sZWZ0LW1hcmdpbjogJGxpc3QtbGVmdC1tYXJnaW47XHJcblxyXG4vLyA0LjcgIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxyXG4kYmxvY2txdW90ZS1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbSgyMHB4KTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5cclxuLy8gNC44ICBUb29sYmFyc1xyXG4kdG9vbGJhci1oZWlnaHQ6IHJlbSg2NHB4KTtcclxuJHRvb2xiYXItaGVpZ2h0LW1vYmlsZTogcmVtKDY0cHgpO1xyXG4kdG9vbGJhci1oZWlnaHQtdGFibGV0OiByZW0oNjRweCk7XHJcbiR0b29sYmFyLWhlaWdodC1kZXNrdG9wOiByZW0oMTAwcHgpO1xyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuLy8gNS4gR3JpZCBTeXN0ZW1cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuXHJcbi8vIDUuMSAgQ29sdW1uc1xyXG4kY29sdW1uczogMTI7XHJcblxyXG4vLyA1LjIgR3JpZCBUeXBlc1xyXG5cclxuLy8gNS4yICBDb250YWluZXJzXHJcbiRjb250YWluZXI6IHJlbSgxMjgwcHgpO1xyXG4kY29udGFpbmVyLWNvbmRlbnNlZDogJGNvbnRhaW5lci8xLjE7XHJcbi8vJGNvbnRhaW5lci1weDogMTI4MHB4O1xyXG5cclxuLy8gNS4zICBHdXR0ZXJzXHJcbiRndXR0ZXItbW9iaWxlOiByZW0oMTVweCk7XHJcbiRndXR0ZXItdGFibGV0OiByZW0oMjBweCk7XHJcbiRndXR0ZXItZGVza3RvcDogcmVtKDMwcHgpO1xyXG5cclxuJGNvbHVtbi1ib3R0b20tbWFyZ2luLW1vYmlsZTogJGd1dHRlci1tb2JpbGU7XHJcbiRjb2x1bW4tYm90dG9tLW1hcmdpbi10YWJsZXQ6ICRndXR0ZXItdGFibGV0O1xyXG4kY29sdW1uLWJvdHRvbS1tYXJnaW4tZGVza3RvcDogJGd1dHRlci1kZXNrdG9wO1xyXG5cclxuJGdyaWQtY29uZmlnOiAoXHJcbiAgY29sdW1uczogJGNvbHVtbnMsXHJcbiAgY29udGFpbmVyOiAkY29udGFpbmVyLFxyXG4gIGd1dHRlcnM6IChcclxuICAgIHNtOiAkZ3V0dGVyLW1vYmlsZSxcclxuICAgIG1kOiAkZ3V0dGVyLXRhYmxldCxcclxuICAgIGxnOiAkZ3V0dGVyLWRlc2t0b3AsXHJcbiAgKSxcclxuICBncmlkLXNpemVzOiAoXHJcbiAgICBzbTogJ21vYmlsZScsXHJcbiAgICBtZDogJ3RhYmxldCcsXHJcbiAgICBsZzogJ2Rlc2t0b3AnLFxyXG4gIClcclxuKTtcclxuXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbi8vIDYuIEJvcmRlciBSYWRpdXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuXHJcbi8vIDYuMSBHbG9iYWxcclxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgIHJlbSg0cHgpO1xyXG5cclxuLy8gNi4yIFNpemVzXHJcbiRib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICByZW0oJGJvcmRlci1yYWRpdXMgKiAyKTtcclxuJGJvcmRlci1yYWRpdXMtbWVkaXVtOiAgICAgIHJlbSg2cHgpO1xyXG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgcmVtKDJweCk7XHJcbiRib3JkZXItcmFkaXVzLXBpbGw6ICAgICAgICByZW0oMTAwcHgpOyIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIE1lZGlhIFF1ZXJ5IEJyZWFrcG9pbnRzXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5AY2hhcnNldCBcIlVURi04XCI7IC8vIEZpeGVzIGFuIGlzc3VlIHdoZXJlIFJ1YnkgbG9jYWxlIGlzIG5vdCBzZXQgcHJvcGVybHlcclxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxyXG5cclxuLy8vIEJhc2UgZm9udCBzaXplIG9uIHRoZSBgPGJvZHk+YCBlbGVtZW50XHJcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXHJcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcclxuXHJcbi8vLyBSZXNwb25zaXZlIG1vZGVcclxuLy8vXHJcbi8vLyBTZXQgdG8gYGZhbHNlYCB0byBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcclxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXHJcbi8vL1xyXG4vLy8gWW91IGNvdWxkIGNyZWF0ZSBhIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIG9sZGVyIGJyb3dzZXJzLFxyXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLy8gb2xkLWllLnNjc3NcclxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XHJcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gJG1xLXN0YXRpYy1icmVha3BvaW50XHJcbi8vLyAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcclxuLy8vXHJcbi8vLyBAdHlwZSBCb29sZWFuXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cclxuJG1xLXJlc3BvbnNpdmU6IHRydWUgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQnJlYWtwb2ludCBsaXN0XHJcbi8vL1xyXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2VcclxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cclxuLy8vIHN0YWtlaG9sZGVycywgZGVzaWduZXJzLCBkZXZlbG9wZXJzLCBhbmQgdGVzdGVycy5cclxuLy8vXHJcbi8vLyBAdHlwZSBNYXBcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4kbXEtYnJlYWtwb2ludHM6IChcclxuICAgIC8vIFBob25lc1xyXG4gICAgcGhvbmUtc206ICAgICAgICAgMHB4LFxyXG4gICAgcGhvbmUtcG9ydHJhaXQ6ICAgMzIwcHgsXHJcbiAgICBwaG9uZS1sYW5kc2NhcGU6ICA1NjhweCxcclxuXHJcbiAgICAvLyBUYWJsZXRzXHJcbiAgICB0YWJsZXQtc206ICAgICAgICA2NDBweCxcclxuICAgIHRhYmxldC1wb3J0cmFpdDogIDc2OHB4LFxyXG4gICAgdGFibGV0LWxhbmRzY2FwZTogMTAyNHB4LFxyXG5cclxuICAgIC8vIERlc2t0b3BzXHJcbiAgICBkZXNrdG9wLWxnOiAgICAgICAxMjgwcHgsXHJcbiAgICBkZXNrdG9wLXhsOiAgICAgICAxNjAwcHgsXHJcblxyXG4gICAgLy8gTW9iaWxlIEZpcnN0XHJcbiAgICBtb2JpbGU6ICAgICAgICAgICAzMjFweCxcclxuICAgIG1vYmlsZS1sZzogICAgICAgIDM3NXB4LFxyXG4gICAgdGFibGV0OiAgICAgICAgICAgNzM2cHgsXHJcbiAgICBkZXNrdG9wOiAgICAgICAgICAxMDI1cHgsXHJcbiAgICB3aWRlOiAgICAgICAgICAgICAxMzAwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXHJcbi8vL1xyXG4vLy8gRGVmaW5lIHRoZSBicmVha3BvaW50IGZyb20gJG1xLWJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkXHJcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcclxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3NcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xyXG4vLy8gIC8vXHJcbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXHJcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXHJcbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xyXG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xyXG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxyXG4vLy8gICAgICAgICAgICAgICAgICAgLy8gbGFyZ2VyIGJyZWFrcG9pbnRzIHdpbGwgYmUgaWdub3JlZFxyXG4vLy9cclxuLy8vIEB0eXBlIFN0cmluZ1xyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNhZGRpbmctY3VzdG9tLWJyZWFrcG9pbnRzIEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcclxuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xyXG5cclxuLy8vIFNob3cgYnJlYWtwb2ludHMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcclxuLy8vXHJcbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxyXG4vLy8gcmlnaHQgY29ybmVyIG9mIHlvdXIgc2l0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQsIGFkZCB0aGUgYnJlYWtwb2ludHNcclxuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aCwgZS5nLiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxyXG4vLy9cclxuLy8vIEB0eXBlIG1hcFxyXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ3VzdG9taXplIHRoZSBtZWRpYSB0eXBlIChlLmcuIGBAbWVkaWEgc2NyZWVuYCBvciBgQG1lZGlhIHByaW50YClcclxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXHJcbi8vL1xyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSB2YWx1ZSB0byBjb252ZXJ0XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplICgkbXEtYmFzZS1mb250LXNpemUpIC0gYDxib2R5PmAgZm9udCBzaXplXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcclxuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XHJcbkBmdW5jdGlvbiBtcS1weDJlbSgkcHgsICRiYXNlLWZvbnQtc2l6ZTogJG1xLWJhc2UtZm9udC1zaXplKSB7XHJcbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XHJcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XHJcbiAgICAgICAgQHJldHVybiBtcS1weDJlbSgkcHggKiAxcHgsICRiYXNlLWZvbnQtc2l6ZSk7XHJcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XHJcbiAgICAgICAgQHJldHVybiAkcHg7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xyXG59XHJcblxyXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludC4gT25lIG9mICRtcS1icmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAkdGFibGV0LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpO1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcclxuQGZ1bmN0aW9uIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xyXG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcclxuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcclxuICAgIH1cclxufVxyXG5cclxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcclxuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCAoZmFsc2UpIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcclxuLy8vXHJcbi8vLyBAaWdub3JlIFVuZG9jdW1lbnRlZCBBUEksIGZvciBhZHZhbmNlZCB1c2Ugb25seTpcclxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxyXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXHJcbi8vL1xyXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1tZWRpYS10eXBlXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxyXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtcHgyZW1cclxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXHJcbi8vL1xyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb24tZGVmYXVsdCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIC5lbGVtZW50IHtcclxuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcclxuLy8vICAgICAgY29sb3I6IHJlZDtcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XHJcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcclxuLy8vICAgICAgY29sb3I6IGdyZWVuO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcclxuLy8vICAgICAgY29sb3I6IHRlYWw7XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xyXG4vLy8gICAgICBjb2xvcjogaG90cGluaztcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xyXG4vLy8gICAgICBjb2xvcjogaG90cGluaztcclxuLy8vICAgIH1cclxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcclxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcclxuLy8vICAgIEBpbmNsdWRlIG1xKEwsICRicmVha3BvaW50czogJG15LWJyZWFrcG9pbnRzLCAkc3RhdGljLWJyZWFrcG9pbnQ6IEwpIHtcclxuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG5AbWl4aW4gbXEoXHJcbiAgICAkZnJvbTogZmFsc2UsXHJcbiAgICAkdW50aWw6IGZhbHNlLFxyXG4gICAgJGFuZDogZmFsc2UsXHJcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXHJcbiAgICAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cyxcclxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcclxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XHJcbikge1xyXG4gICAgJG1pbi13aWR0aDogMDtcclxuICAgICRtYXgtd2lkdGg6IDA7XHJcbiAgICAkbWVkaWEtcXVlcnk6ICcnO1xyXG5cclxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxyXG4gICAgQGlmICRmcm9tIHtcclxuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcclxuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcclxuICAgIEBpZiAkdW50aWwge1xyXG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcclxuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xyXG4gICAgLy8gVGhlIGJyb3dzZXIgd2lsbCByZWx5IG9uIHRoZSBjYXNjYWRlIGl0c2VsZi5cclxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XHJcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcbiAgICAgICAgJHRhcmdldC13aWR0aDogbXEtcHgyZW0oJHN0YXRpYy1icmVha3BvaW50LXdpZHRoKTtcclxuXHJcbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcclxuICAgICAgICBAaWYgKFxyXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXHJcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcclxuICAgICAgICAgICAgYW5kIChcclxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGVuYWJsZWQsIG91dHB1dCBydWxlcyBpbnNpZGUgQG1lZGlhIHF1ZXJpZXNcclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cclxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cclxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxyXG5cclxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcclxuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcclxuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xyXG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcclxuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cclxuQG1peGluIG1xLWFkZC1icmVha3BvaW50KCRuYW1lLCAkd2lkdGgpIHtcclxuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xyXG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcclxuLy8vXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cykgLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xyXG4vLy9cclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3NcclxuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xyXG4vLy9cclxuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xyXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xyXG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XHJcbiAgICBib2R5OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjhFMztcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcclxuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XHJcbiAgICAgICAgY29sb3I6ICNDMDk4NTM7XHJcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcclxuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgei1pbmRleDogMTAwO1xyXG5cclxuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXHJcbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XHJcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xyXG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcclxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBUeXBvZ3JhcGh5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5ib2R5LCBodG1sIHtcclxuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IFR5cG9ncmFwaHkgLSBSZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbmRpdiwgZGwsIGR0LCBkZCwgdWwsIG9sLCBsaSxcclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcclxucHJlLCBmb3JtLCBwLCBibG9ja3F1b3RlLFxyXG50aCwgdGQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEhlYWRsaW5lcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkZXI7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWhlYWRlcjtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvci1oZWFkZXI7XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogJHRleHQtcmVuZGVyaW5nO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1tYXJnaW4tYm90dG9tO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogcmVtKC0wLjc1cHgpO1xyXG59XHJcblxyXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xyXG4gICAgaCN7JGl9IHtcclxuICAgICAgICBmb250LXNpemU6IG1vZHVsYXItc2NhbGUoNiAtICRpLCAkYmFzZWxpbmUtZm9udC1zaXplLCAxLjE1KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUYWJsZXQgQnJlYWtwb2ludFxyXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgICAgIGgjeyRpfSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbW9kdWxhci1zY2FsZSg2IC0gJGksICRiYXNlbGluZS1mb250LXNpemUsIDEuMjApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBEZXNrdG9wIEJyZWFrcG9pbnRcclxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICAgICAgaCN7JGl9IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtb2R1bGFyLXNjYWxlKDYgLSAkaSwgJGJhc2VsaW5lLWZvbnQtc2l6ZSwgMS4yNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgUGFyYWdyYXBocyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxucCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodDtcclxuICAgIHRleHQtcmVuZGVyaW5nOiAkdGV4dC1yZW5kZXJpbmc7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBMaXN0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG51bCwgb2wge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRsaXN0LWxlZnQtbWFyZ2luO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkbGlzdC1sZWZ0LW1hcmdpbjtcclxuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuXHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEFuY2hvcnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbmEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGNvbG9yOiAjM2UzODM0O1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgMTUwbXM7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgfVxyXG59XHJcblxyXG5ib2R5IC5vdmVybGF5LWxpbmtzIGEge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBUZXh0IFN0eWxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5lbSwgaSB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuc3Ryb25nLCBiIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5zbWFsbCB7XHJcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEhvcml6b250YWwgUnVsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbmhyIHtcclxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBtYXJnaW46ICRoci1tYXJnaW4gMDtcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xyXG4gICAgYm9yZGVyLWxlZnQ6IDA7XHJcblxyXG4gICAgJi54MiB7XHJcbiAgICAgICAgbWFyZ2luOiAkaHItbWFyZ2luKjIgMDtcclxuICAgIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IFRleHQgQWxpZ25tZW50ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi50ZXh0LWxlZnQge1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi50ZXh0LWNlbnRlciB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4udGV4dC1yaWdodCB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn0iLCJAbWl4aW4gY2xlYXJmaXgge1xyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG4gICAgY2xlYXI6IGJvdGg7XHJcbiAgfVxyXG59XHJcblxyXG5AY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLy8gU3RyaXBzIHRoZSB1bml0IGZyb20gYSBudW1iZXIuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtOdW1iZXIgKFdpdGggVW5pdCl9ICR2YWx1ZVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxyXG4vLy8gICAkZGltZW5zaW9uOiBzdHJpcC11bml0cygxMGVtKTtcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XHJcbi8vLyAgICRkaW1lbnNpb246IDEwO1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlciAoVW5pdGxlc3MpfVxyXG5cclxuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCR2YWx1ZSkge1xyXG4gIEByZXR1cm4gKCR2YWx1ZSAvICgkdmFsdWUgKiAwICsgMSkpO1xyXG59XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG4vLyBDb252ZXJ0IHBpeGVscyB0byBlbXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuLy8gZWcuIGZvciBhIHJlbGF0aW9uYWwgdmFsdWUgb2YgMTJweCB3cml0ZSBlbSgxMikgd2hlbiB0aGUgcGFyZW50IGlzIDE2cHhcclxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuJGVtLWJhc2U6IDE2cHggIWdsb2JhbDtcclxuXHJcbkBmdW5jdGlvbiBlbSgkcHh2YWwsICRiYXNlOiAkZW0tYmFzZSkge1xyXG5cclxuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xyXG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xyXG4gIH1cclxuICBAaWYgbm90IHVuaXRsZXNzKCRiYXNlKSB7XHJcbiAgICAkYmFzZTogc3RyaXAtdW5pdHMoJGJhc2UpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAoJHB4dmFsIC8gJGJhc2UpICogMWVtO1xyXG59XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG4vLyBDb252ZXJ0IHBpeGVscyB0byByZW1zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbi8vIGVnLiBmb3IgYSByZWxhdGlvbmFsIHZhbHVlIG9mIDEycHggd3JpdGUgcmVtKDEyKVxyXG4vLyBBc3N1bWVzICRlbS1iYXNlIGlzIHRoZSBmb250LXNpemUgb2YgPGh0bWw+XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcblxyXG5AZnVuY3Rpb24gcmVtKCRweHZhbCkge1xyXG5cclxuICBAaWYgbm90IHVuaXRsZXNzKCRweHZhbCkge1xyXG4gICAgJHB4dmFsOiBzdHJpcC11bml0cygkcHh2YWwpO1xyXG4gIH1cclxuXHJcbiAgJGJhc2U6ICRlbS1iYXNlO1xyXG4gIEBpZiBub3QgdW5pdGxlc3MoJGJhc2UpIHtcclxuICAgICRiYXNlOiBzdHJpcC11bml0cygkYmFzZSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xyXG59XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG5cclxuQG1peGluIHNldC1jaGlsZC13aWR0aCgkY29udGFpbmVyLXdpZHRoOiAxMDAlLCAkbWF4LWNoaWxkLWVsZW1lbnRzOiA4LCAkaGlkZS1lbXB0eS1jb250YWluZXI6IHRydWUsICRjdXN0b20tcm93czogbnVsbCkge1xyXG4gIHdpZHRoOiAkY29udGFpbmVyLXdpZHRoO1xyXG4gIEBpZiAkaGlkZS1lbXB0eS1jb250YWluZXIgPT0gdHJ1ZSB7XHJcbiAgICAmOmVtcHR5IHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4LWNoaWxkLWVsZW1lbnRzIHtcclxuICAgID4gOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSxcclxuICAgID4gOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICoge1xyXG4gICAgICAkd2lkdGg6ICN7JGNvbnRhaW5lci13aWR0aCAvICRpfTtcclxuICAgICAgXHJcbiAgICAgIEBpZiAkY3VzdG9tLXJvd3MgIT0gbnVsbCB7XHJcbiAgICAgICAgQGVhY2ggJHJvdyBpbiAkY3VzdG9tLXJvd3Mge1xyXG4gICAgICAgICAgJGtleTogbnRoKCRyb3csIDEpO1xyXG4gICAgICAgICAgJHZhbHVlOiBudGgoJHJvdywgMik7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIEBpZiAkaSA+PSAka2V5IHtcclxuICAgICAgICAgICAgJHdpZHRoOiAjeyRjb250YWluZXItd2lkdGggLyAkdmFsdWV9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSAgICBcclxuICAgICAgXHJcbiAgICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4kYnJvd3Nlci1jb250ZXh0OiAxNjsgLy8gRGVmYXVsdFxyXG5cclxuQGZ1bmN0aW9uIGVtKCRwaXhlbHMsICRjb250ZXh0OiAkYnJvd3Nlci1jb250ZXh0KSB7XHJcbiAgQHJldHVybiAjeyRwaXhlbHMvJGNvbnRleHR9ZW1cclxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIFRleHQgT3ZlcmZsb3dcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8vIEFuIGVhc3kgd2F5IHRvIHRydW5jYXRlIHRleHQgd2l0aCBhbiBlbGxpcHNpcy4gUmVxdWlyZXMgdGhlIGVsZW1lbnQgdG8gYmUgYmxvY2sgb3IgaW5saW5lLWJsb2NrLlxyXG5cclxuQG1peGluIHRleHQtdHJ1bmNhdGUge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gRm9udCBTaXplXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vLyBUaGlzIG1peGluIHNldHMgdGhlIGZvbnQgc2l6ZSBpbiByZW0ncyB3aXRoIGEgcHggZmFsbGJhY2suXHJcblxyXG5AbWl4aW4gZm9udC1zaXplKCRzaXplVmFsdWU6IDEyICl7XHJcbiAgICBmb250LXNpemU6ICRzaXplVmFsdWUgKyBweDsgLy9mYWxsYmFjayBmb3Igb2xkIGJyb3dzZXJzXHJcbiAgICBmb250LXNpemU6ICgwLjEyNSAqICRzaXplVmFsdWUpICsgcmVtO1xyXG59XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBMaW5lIEhlaWdodFxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy8gVGhpcyBtaXhpbiBzZXRzIHRoZSBsaW5lIGhlaWdodCBpbiByZW0ncyB3aXRoIGEgcHggZmFsbGJhY2suXHJcblxyXG5AbWl4aW4gbGluZS1oZWlnaHQoJGhlaWdodFZhbHVlOiAxMiApe1xyXG4gICAgbGluZS1oZWlnaHQ6ICRoZWlnaHRWYWx1ZSArIHB4OyAvL2ZhbGxiYWNrIGZvciBvbGQgYnJvd3NlcnNcclxuICAgIGxpbmUtaGVpZ2h0OiAoMC4xMjUgKiAkaGVpZ2h0VmFsdWUpICsgcmVtO1xyXG59XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBNb2R1bGFyIFNjYWxlIFR5cG9ncmFwaHlcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbkBmdW5jdGlvbiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZTogJG1vZHVsYXItc2NhbGUtYmFzZSwgJHJhdGlvOiAkbW9kdWxhci1zY2FsZS1yYXRpbykge1xyXG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XHJcbiAgJHYyOiBudGgoJHZhbHVlLCBsZW5ndGgoJHZhbHVlKSk7XHJcbiAgJHZhbHVlOiAkdjE7XHJcblxyXG4gIC8vIHNjYWxlICR2MiB0byBqdXN0IGFib3ZlICR2MVxyXG4gIEB3aGlsZSAkdjIgPiAkdjEge1xyXG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxyXG4gIH1cclxuICBAd2hpbGUgJHYyIDwgJHYxIHtcclxuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXHJcbiAgfVxyXG5cclxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxyXG4gICRkb3VibGUtc3RyYW5kZWQ6ICR2MiA+ICR2MTtcclxuXHJcbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcclxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGluY3JlbWVudCB7XHJcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxICogJHJhdGlvKSA+ICR2MiB7XHJcbiAgICAgICAgJHZhbHVlOiAkdjI7XHJcbiAgICAgICAgJHYyOiAoJHYyICogJHJhdGlvKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcclxuICAgICAgICAkdmFsdWU6ICR2MTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcclxuICAgIC8vIGFkanVzdCAkdjIgdG8ganVzdCBiZWxvdyAkdjFcclxuICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIHtcclxuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcclxuICAgIH1cclxuXHJcbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcclxuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgLyAkcmF0aW8pIDwgJHYyIHtcclxuICAgICAgICAkdmFsdWU6ICR2MjtcclxuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICAkdjE6ICgkdjEgLyAkcmF0aW8pO1xyXG4gICAgICAgICR2YWx1ZTogJHYxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICR2YWx1ZTtcclxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBNZWRpYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uaW1nLXJlc3BvbnNpdmUge1xyXG5cdG1heC13aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBGb3JtcyAtIEJhc2UgRm9ybSBTdHlsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uZ2Zvcm1fYnV0dG9uLmJ1dHRvbiwgLmdmb3JtX25leHRfYnV0dG9uLmJ1dHRvbiwgLmdmb3JtX3ByZXZpb3VzX2J1dHRvbi5idXR0b24gIHtcclxuICBiYWNrZ3JvdW5kOiAjMzMzO1xyXG4gIGJvcmRlcjogMDtcclxuICBjb2xvcjogI2ZmZjtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXM7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogIzExMTtcclxuICB9XHJcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgR3JpZCBDb250YWluZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuQGluY2x1ZGUgbWFrZS1jb250YWluZXIoKTtcclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBHcmlkIFJvdyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uZmxleCB7ZGlzcGxheTogZmxleDt9XHJcblxyXG4uZmxleC0xIHtmbGV4OiAxO31cclxuXHJcbi5mbGV4LWNvbHVtbiAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uIH1cclxuLmZsZXgtd3JhcCAgICB7IGZsZXgtd3JhcDogd3JhcCB9XHJcblxyXG4uaXRlbXMtc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCB9XHJcbi5pdGVtcy1lbmQgICAgICB7IGFsaWduLWl0ZW1zOiBmbGV4LWVuZCB9XHJcbi5pdGVtcy1jZW50ZXIgICB7IGFsaWduLWl0ZW1zOiBjZW50ZXIgfVxyXG4uaXRlbXMtYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgfVxyXG4uaXRlbXMtc3RyZXRjaCAgeyBhbGlnbi1pdGVtczogc3RyZXRjaCB9XHJcblxyXG4uc2VsZi1zdGFydCAgICB7IGFsaWduLXNlbGY6IGZsZXgtc3RhcnQgfVxyXG4uc2VsZi1lbmQgICAgICB7IGFsaWduLXNlbGY6IGZsZXgtZW5kIH1cclxuLnNlbGYtY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgfVxyXG4uc2VsZi1iYXNlbGluZSB7IGFsaWduLXNlbGY6IGJhc2VsaW5lIH1cclxuLnNlbGYtc3RyZXRjaCAgeyBhbGlnbi1zZWxmOiBzdHJldGNoIH1cclxuXHJcbi5qdXN0aWZ5LXN0YXJ0ICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgfVxyXG4uanVzdGlmeS1lbmQgICAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCB9XHJcbi5qdXN0aWZ5LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciB9XHJcbi5qdXN0aWZ5LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gfVxyXG4uanVzdGlmeS1hcm91bmQgIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQgfVxyXG5cclxuLmNvbnRlbnQtc3RhcnQgICB7IGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQgfVxyXG4uY29udGVudC1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgfVxyXG4uY29udGVudC1jZW50ZXIgIHsgYWxpZ24tY29udGVudDogY2VudGVyIH1cclxuLmNvbnRlbnQtYmV0d2VlbiB7IGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gfVxyXG4uY29udGVudC1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kIH1cclxuLmNvbnRlbnQtc3RyZXRjaCB7IGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2ggfVxyXG5cclxuLyogMS4gRml4IGZvciBDaHJvbWUgNDQgYnVnLiBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NTA2ODkzICovXHJcbi5mbGV4LWF1dG8ge1xyXG4gIGZsZXg6IDEgMSBhdXRvO1xyXG4gIG1pbi13aWR0aDogMDsgLyogMSAqL1xyXG4gIG1pbi1oZWlnaHQ6IDA7IC8qIDEgKi9cclxufVxyXG4uZmxleC1ub25lIHsgZmxleDogbm9uZSB9XHJcblxyXG4ub3JkZXItMCB7IG9yZGVyOiAwIH1cclxuLm9yZGVyLTEgeyBvcmRlcjogMSB9XHJcbi5vcmRlci0yIHsgb3JkZXI6IDIgfVxyXG4ub3JkZXItMyB7IG9yZGVyOiAzIH1cclxuLm9yZGVyLWxhc3QgeyBvcmRlcjogOTk5OTkgfVxyXG5cclxuLmZsZXgtcm93IHtcclxuICAvLyBEZWZhdWx0IEhvcml6b250YWwgR3JpZFxyXG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICBtYXJnaW4tcmlnaHQ6ICgtJGd1dHRlci1tb2JpbGUpO1xyXG4gIG1hcmdpbi1sZWZ0OiAoLSRndXR0ZXItbW9iaWxlKTtcclxuXHJcbiAgLy8gVGFibGV0IEJyZWFrcG9pbnRcclxuICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICgtJGd1dHRlci10YWJsZXQpO1xyXG4gICAgbWFyZ2luLWxlZnQ6ICgtJGd1dHRlci10YWJsZXQpO1xyXG4gIH1cclxuICBcclxuICAvLyBEZXNrdG9wIEJyZWFrcG9pbnRcclxuICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAoLSRndXR0ZXItZGVza3RvcCk7XHJcbiAgICBtYXJnaW4tbGVmdDogKC0kZ3V0dGVyLWRlc2t0b3ApO1xyXG4gIH1cclxuXHJcbiAgLy8gRGVmYXVsdCBDZWxsIFN0eWxlc1xyXG4gICYgPiAuYm94IHtcclxuICAgIGZsZXgtYmFzaXM6IDAlO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBmbGV4LXNocmluazogMTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDAgJGd1dHRlci1tb2JpbGU7XHJcblxyXG4gICAgLy8gVGFibGV0IEJyZWFrcG9pbnRcclxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuICAgICAgcGFkZGluZzogMCAkZ3V0dGVyLXRhYmxldDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gRGVza3RvcCBCcmVha3BvaW50XHJcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgICBwYWRkaW5nOiAwICRndXR0ZXItZGVza3RvcDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYgPiBbY2xhc3NePSdib3gtJ10ge1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMCAkZ3V0dGVyLW1vYmlsZTtcclxuXHJcbiAgICAvLyBUYWJsZXQgQnJlYWtwb2ludFxyXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgICBwYWRkaW5nOiAwICRndXR0ZXItdGFibGV0O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBEZXNrdG9wIEJyZWFrcG9pbnRcclxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICAgIHBhZGRpbmc6IDAgJGd1dHRlci1kZXNrdG9wO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUmV2ZXJzZSBSb3dcclxuICAmLmZsZXgtcmV2ZXJzZSB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgfVxyXG5cclxuICAmLmZsZXgtY2VudGVyIHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAmLmZsZXgtanVzdGlmeS1jZW50ZXIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgfVxyXG5cclxuICAmLmZsZXgtanNiIHtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlblxyXG4gIH1cclxuXHJcbiAgLy8gVmVydGljYWwgR3JpZFxyXG4gICYuZmxleC12ZXJ0aWNhbCB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XHJcbiAgfVxyXG5cclxuICAvLyBNYWtlIENvbHVtbiBTYW1lIEhlaWdodFxyXG4gICYuZmxleC1zdHJldGNoIC5ib3gge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICB9XHJcblxyXG4gIC8vIENvbGxhcHNlIEdyaWQgQ29sdW1uc1xyXG4gICYuZmxleC1jb2xsYXBzZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIC5mbGV4LXJvdyB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICAuYm94IHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mbGV4LWdyb3cge1xyXG4gIGZsZXgtZ3JvdzogMTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEZsZXhib3ggR3JpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbkBpbmNsdWRlIG1ha2UtZmxleC1ncmlkKCk7IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gR3JpZCBWYXJpYWJsZXNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbiRmbGV4Ym94LXByZWZpeDogJy5ib3gnO1xyXG4kZ3JpZC1zaXplczogbWFwLWdldCgkZ3JpZC1jb25maWcsIFwiZ3JpZC1zaXplc1wiKTtcclxuJGdyaWQtZ3V0dGVyczogbWFwLWdldCgkZ3JpZC1jb25maWcsIFwiZ3V0dGVyc1wiKTtcclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIEdyaWQgRnVuY3Rpb25zXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4vLyBHdXR0ZXIgU2l6ZXNcclxuQGZ1bmN0aW9uIGd1dHRlcigkc2l6ZTogJycpIHtcclxuICBAaWYgJHNpemUgPT0gJ2xnJyB7XHJcbiAgICAkc2l6ZTogJGd1dHRlci1kZXNrdG9wO1xyXG4gIH1cclxuICBAaWYgJHNpemUgPT0gJ21kJyB7XHJcbiAgICAkc2l6ZTogJGd1dHRlci10YWJsZXQ7XHJcbiAgfVxyXG4gIEBpZiAkc2l6ZSA9PSAnJyBvciAkc2l6ZSA9PSAnc20nIHtcclxuICAgICRzaXplOiAkZ3V0dGVyLW1vYmlsZTtcclxuICB9XHJcbiAgQHJldHVybiAkc2l6ZTtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gQ29udGFpbmVyc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuQG1peGluIG1ha2UtY29udGFpbmVyKCkge1xyXG4gIC5jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6ICRjb250YWluZXI7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgIHBhZGRpbmc6IDAgZ3V0dGVyKCk7XHJcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuICAgIFxyXG4gICAgJi5jb25kZW5zZWQge1xyXG4gICAgICB3aWR0aDogJGNvbnRhaW5lci1jb25kZW5zZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgJi5mdWxsLXdpZHRoIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLmZsZXgge1xyXG4gICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAgXHJcbiAgICBAZWFjaCAkc2l6ZSwgJGRldmljZSBpbiAkZ3JpZC1zaXplcyB7XHJcbiAgICAgIEBpZiAkc2l6ZSA9PSAnbWQnIHtcclxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogJGRldmljZSkge1xyXG4gICAgICAgICAgcGFkZGluZzogMCBndXR0ZXIoJHNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAaWYgJHNpemUgPT0gJ2xnJyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206ICRkZXZpY2UpIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgZ3V0dGVyKCRzaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIFJvd3NcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbkBtaXhpbiBtYWtlLXJvdygpIHtcclxuICAucm93IHtcclxuICAgIG1hcmdpbi1sZWZ0OiAgLShndXR0ZXIoKSk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0oZ3V0dGVyKCkpO1xyXG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcblxyXG4gICAgJi5jb2xsYXBzZSB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICBbY2xhc3NePVwibW9iaWxlLVwiXSwgW2NsYXNzXj1cInRhYmxldC1cIl0sIFtjbGFzc149XCJkZXNrdG9wLVwiXSB7XHJcbiAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAgXHJcbiAgICBAZWFjaCAkc2l6ZSwgJGRldmljZSBpbiAkZ3JpZC1zaXplcyB7XHJcbiAgICAgIEBpZiAkc2l6ZSA9PSAnbWQnIHtcclxuICAgICAgICBAaW5jbHVkZSBtcSgkZnJvbTogJGRldmljZSkge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6ICAtKGd1dHRlcigkc2l6ZSkpO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtKGd1dHRlcigkc2l6ZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAaWYgJHNpemUgPT0gJ2xnJyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbXEoJGZyb206ICRkZXZpY2UpIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAgLShndXR0ZXIoJHNpemUpKTtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogLShndXR0ZXIoJHNpemUpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIEdyaWRzXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5AbWl4aW4gbWFrZS1ncmlkKCkge1xyXG4gIFxyXG4gIEBlYWNoICRzaXplLCAkZGV2aWNlIGluICRncmlkLXNpemVzIHtcclxuICAgIFxyXG4gICAgQGlmICRzaXplID09ICdzbScge1xyXG4gICAgICAlZ3V0dGVycy1zbSB7XHJcbiAgICAgICAgcGFkZGluZzogMCBndXR0ZXIoJHNpemUpO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgICAgIH1cclxuICAgICAgW2NsYXNzXj1cIiN7JGRldmljZX0tXCJdIHsgZmxvYXQ6IGxlZnQ7IH1cclxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XHJcbiAgICAgICAgQGVhY2ggJHNpemUsICRkZXZpY2VzIGluICRncmlkLXNpemVzIHtcclxuICAgICAgICAgIFtjbGFzc149XCIjeyRkZXZpY2VzfS1cIl0geyBAZXh0ZW5kICVndXR0ZXJzLXNtOyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC4jeyRkZXZpY2V9LSN7JGl9IHtcclxuICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRpLyRjb2x1bW5zKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgQGlmICRzaXplID09ICdtZCcge1xyXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogJGRldmljZSkge1xyXG4gICAgICAgICVzdHlsZXMtbWQtcGFkZGluZyB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwIGd1dHRlcigkc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICVzdHlsZXMtbWQtZmxvYXQge1xyXG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xyXG4gICAgICAgICAgQGVhY2ggJHNpemUsICRkZXZpY2VzIGluICRncmlkLXNpemVzIHtcclxuICAgICAgICAgICAgW2NsYXNzXj1cIiN7JGRldmljZX0tXCJdIHtcclxuICAgICAgICAgICAgICBAZXh0ZW5kICVzdHlsZXMtbWQtZmxvYXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgW2NsYXNzXj1cIiN7JGRldmljZXN9LVwiXSB7XHJcbiAgICAgICAgICAgICAgQGV4dGVuZCAlc3R5bGVzLW1kLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC4jeyRkZXZpY2V9LSN7JGl9IHtcclxuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkvJGNvbHVtbnMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaWYgJHNpemUgPT0gJ2xnJyB7XHJcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiAkZGV2aWNlKSB7XHJcbiAgICAgICAgJXN0eWxlcy1sZy1wYWRkaW5nIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgZ3V0dGVyKCRzaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJXN0eWxlcy1sZy1mbG9hdCB7XHJcbiAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XHJcbiAgICAgICAgICBAZWFjaCAkc2l6ZSwgJGRldmljZXMgaW4gJGdyaWQtc2l6ZXMge1xyXG4gICAgICAgICAgICBbY2xhc3NePVwiI3skZGV2aWNlfS1cIl0ge1xyXG4gICAgICAgICAgICAgIEBleHRlbmQgJXN0eWxlcy1sZy1mbG9hdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBbY2xhc3NePVwiI3skZGV2aWNlc30tXCJdIHtcclxuICAgICAgICAgICAgICBAZXh0ZW5kICVzdHlsZXMtbGctcGFkZGluZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLiN7JGRldmljZX0tI3skaX0ge1xyXG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaS8kY29sdW1ucyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBGbGV4Ym94IEdyaWRzXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5AbWl4aW4gbWFrZS1mbGV4LWdyaWQoKSB7XHJcbiAgXHJcbiAgQGVhY2ggJHNpemUsICRkZXZpY2UgaW4gJGdyaWQtc2l6ZXMge1xyXG4gICAgXHJcbiAgICBAaWYgJHNpemUgPT0gJ3NtJyB7XHJcbiAgICAgICVmbGV4LWd1dHRlcnMtc20ge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgZ3V0dGVyKCRzaXplKTtcclxuICAgICAgfVxyXG4gICAgICAvL1tjbGFzcyo9XCIjeyRmbGV4Ym94LXByZWZpeH0tI3skZGV2aWNlfS1cIl0geyBmbG9hdDogbGVmdDsgfVxyXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcclxuICAgICAgICBAZWFjaCAkc2l6ZSwgJGRldmljZXMgaW4gJGdyaWQtc2l6ZXMge1xyXG4gICAgICAgICAgW2NsYXNzKj1cIiN7JGZsZXhib3gtcHJlZml4fS0jeyRkZXZpY2VzfS1cIl0geyBAZXh0ZW5kICVmbGV4LWd1dHRlcnMtc207IH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI3skZmxleGJveC1wcmVmaXh9LSN7JGRldmljZX0tI3skaX0ge1xyXG4gICAgICAgICAgLy9mbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkaS8kY29sdW1ucyk7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJGkvJGNvbHVtbnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaWYgJHNpemUgPT0gJ21kJyB7XHJcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiAkZGV2aWNlKSB7XHJcbiAgICAgICAgJWZsZXgtc3R5bGVzLW1kIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgZ3V0dGVyKCRzaXplKTtcclxuICAgICAgICAgIC8vZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xyXG4gICAgICAgICAgQGVhY2ggJHNpemUsICRkZXZpY2VzIGluICRncmlkLXNpemVzIHtcclxuICAgICAgICAgICAgW2NsYXNzKj1cIiN7JGZsZXhib3gtcHJlZml4fS0jeyRkZXZpY2VzfS1cIl0ge0BleHRlbmQgJWZsZXgtc3R5bGVzLW1kO31cclxuICAgICAgICAgIH1cclxuICAgICAgICAgICN7JGZsZXhib3gtcHJlZml4fS0jeyRkZXZpY2V9LSN7JGl9IHtcclxuICAgICAgICAgICAgLy9mbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgICAgIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRpLyRjb2x1bW5zKTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRpLyRjb2x1bW5zKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgQGlmICRzaXplID09ICdsZycge1xyXG4gICAgICBAaW5jbHVkZSBtcSgkZnJvbTogJGRldmljZSkge1xyXG4gICAgICAgICVmbGV4LXN0eWxlcy1sZyB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwIGd1dHRlcigkc2l6ZSk7XHJcbiAgICAgICAgICAvL2Zsb2F0OiBsZWZ0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XHJcbiAgICAgICAgICBAZWFjaCAkc2l6ZSwgJGRldmljZXMgaW4gJGdyaWQtc2l6ZXMge1xyXG4gICAgICAgICAgICBbY2xhc3MqPVwiI3skZmxleGJveC1wcmVmaXh9LSN7JGRldmljZXN9LVwiXSB7QGV4dGVuZCAlZmxleC1zdHlsZXMtbGc7fVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgI3skZmxleGJveC1wcmVmaXh9LSN7JGRldmljZX0tI3skaX0ge1xyXG4gICAgICAgICAgICAvL2ZsZXgtZ3JvdzogMDtcclxuICAgICAgICAgICAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJGkvJGNvbHVtbnMpO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJGkvJGNvbHVtbnMpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEZvb3RlciAtIFN0YXJ0IERhdGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5mb290ZXItc3RhcnQtZGF0ZSB7XHJcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiAgcGFkZGluZzogNTBweCAwIDYwcHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjZmZmO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgJjpiZWZvcmUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGJvcmRlcjogaW5zZXQgMTVweDtcclxuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjtcclxuICB9XHJcblxyXG4gIGg0IHtcclxuICAgIG1hcmdpbjogMCAwIDRweCAwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgZm9udC1zaXplOiAzNHB4O1xyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICBoNCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEZvb3RlciAtIExpbmtzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbmZvb3RlciAuZm9vdGVyLXNsdWcge1xyXG4gIGJhY2tncm91bmQ6ICMzZTM4MzQ7XHJcbiAgcGFkZGluZzogMzBweCAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgLmNvbXBhbnktaW5mbyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgLmxvZ28ge1xyXG4gICAgbWFyZ2luOiAwIDAgMzBweCAwO1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICB3aWR0aDogMTgwcHg7XHJcbiAgICAgIGhlaWdodDogNDdweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hZGRyZXNzIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgY29sb3I6IHJnYmEoI2ZmZiwgMC41KTtcclxuICB9XHJcblxyXG4gIC5waG9uZS1udW1iZXJzIHtcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBEZXNrdG9wIEJyZWFrcG9pbnRcclxuICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHBhZGRpbmc6IDYwcHggMDtcclxuXHJcbiAgICAubG9nbyB7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc2x1Zy1saW5rcyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTRweDtcclxuICBcclxuICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgaDQge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgjMDAwLCAwLjQpO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG4gIH1cclxuXHJcbiAgLnNsdWctbGluay1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgjMDAwLCAwLjQpO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiA4cHggMDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIDAuNSk7XHJcbiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgbWFyZ2luOiAwO1xyXG5cclxuICAgIC8vIENvbG9yc1xyXG4gICAgJi55ZWxsb3cge1xyXG4gICAgICBoNDphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHllbGxvdztcclxuICAgICAgfVxyXG5cclxuICAgICAgdWwgbGkgYTpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICR5ZWxsb3c7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmJsdWUge1xyXG4gICAgICBoNDphZnRlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHVsIGxpIGE6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkYmx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGg0IHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgbWFyZ2luOiAwIDAgMTZweCAwO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMTRweCAwIDAgMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNsdWctbGluay1jb250YWluZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBsaSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDtcclxuXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogMTAwO1xyXG4gICAgICAgICAgcGFkZGluZzogNnB4IDA7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEZvb3RlciAtIENvcHlyaWdodCBMaW5rcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5mb290ZXItY29weXJpZ2h0IHtcclxuICBiYWNrZ3JvdW5kOiAjNzc3MDZjO1xyXG4gIHBhZGRpbmc6IDE1cHggMCA2MHB4O1xyXG5cclxuICBzcGFuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICBjb2xvcjogIzAwMDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC8vIFRhYmxldCBCcmVha3BvaW50XHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcclxuICAgIHNwYW4ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvcHlyaWdodC1saW5rcyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgZmxvYXQ6IG5vbmU7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gIGxpIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4xcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBUYWJsZXQgQnJlYWtwb2ludFxyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEhlYWRlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5lbGVtZW50b3ItZWRpdG9yLWFjdGl2ZSB7XHJcbiAgLmdsb2JhbC1oZWFkZXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5nbG9iYWwtaGVhZGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB6LWluZGV4OiA5OTk5O1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcyBlYXNlO1xyXG5cclxuICAmLm9mZi1zY3JlZW4ge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC0xMDAlLDApXHJcbiAgfVxyXG5cclxuICAmLnNjcm9sbGVkIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xyXG4gIH1cclxuXHJcbiAgLmNvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiA2NXB4O1xyXG4gICAgaGVpZ2h0OiA2NXB4O1xyXG5cclxuICAgIC8vIFRhYmxldCBCcmVha3BvaW50XHJcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDVweDtcclxuICAgICAgaGVpZ2h0OiAxMDVweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBIZWFkZXIgLSBUb3AgTmF2aWdhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udG9wLW5hdiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcclxuXHJcbiAgbmF2IHVsIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAvL2FsaWduLXNlbGY6IGZsZXgtZW5kO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGhlaWdodDogNjVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNjVweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogcmdiYSgjZmZmLCAwLjYpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcztcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogcmdiYSgjZmZmLCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBIZWFkZXIgLSBNYWluIE5hdmlnYXRpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5hLmxvZ28ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbjogMCBhdXRvIDAgMjBweDtcclxuICBwYWRkaW5nOiAwO1xyXG5cclxuICBpbWcge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG5cclxuICAvLyBUYWJsZXQgQnJlYWtwb2ludFxyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMTgwcHg7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBIZWFkZXIgLSBNYWluIE1lbnUgQnV0dG9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ubWVudS1idXR0b25zIHtcclxuICBtYXJnaW46IDAgMCAwIDEwcHg7XHJcbiAgYSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsIDApO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJHByaW1hcnktY29sb3I7XHJcbiAgICBwYWRkaW5nOiAwLjNlbSAwLjc1ZW07XHJcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDQwMG1zO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsIDEpO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgIH1cclxuXHJcbiAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzNThweCkge1xyXG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBIZWFkZXIgLSBNYWluIEljb24gTWVudSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ubWVudS1pY29ucyB7XHJcbiAgbWFyZ2luOiAwIDAgMCAxNXB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcbiAgbGkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgZm9udC1zaXplOiByZW0oMThweCk7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuXHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGNvbG9yOiByZ2JhKCMwMDAsIDAuMyk7XHJcbiAgICAgIHBhZGRpbmc6IDAgMC4zNWVtO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciA0MDBtcztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoJHByaW1hcnktY29sb3IsIDEpO1xyXG5cclxuICAgICAgICAudG9vbHRpcCB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC50b29sdGlwIHtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgQGluY2x1ZGUgaG9yaXpvbnRhbC1jZW50ZXIoKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2UzODM0O1xyXG4gICAgICAgIHBhZGRpbmc6IDZweCAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdG9wOiBjYWxjKC0xMDAlICsgLTEwcHgpO1xyXG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xyXG5cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcclxuICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoIzNlMzgzNCwgMCk7XHJcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjM2UzODM0O1xyXG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiA0cHg7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTRweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1xKCR1bnRpbDogMTE0MHB4KSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoJHVudGlsOiAxMjIwcHgpIHtcclxuICAgIGxpIHtcclxuICAgICAgJjpudGgtY2hpbGQobiszKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbi8vICBWZXJ0aWNhbGx5IEFsaWduIEVsZW1lbnRzIC0gTWl4aW5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuLy8gIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcblxyXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG4vLyBIb3Jpem9udGFsbHkgQ2VudGVyIEVsZW1lbnRzIC0gTWl4aW5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG5cclxuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxufVxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuLy8gQWJzb2x1dGVseSBDZW50ZXIgRUxlbWVudHMgLSBNaXhpblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG4vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG5cclxuQG1peGluIGFic29sdXRlLWNlbnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxufVxyXG5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuLy8gQ2VudGVyLUFsaWduIEJsb2NrIEVsZW1lbnQgLSBNaXhpblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG4vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG5cclxuQG1peGluIGNlbnRlci1ibG9jayB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG4vLyBBYnNvbHV0ZSBQb3NpdGlvbmluZyAtIE1peGluXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbi8vIEFic29sdXRlbHkgcG9zaXRpb24gZWxlbWVudHMgd2hlcmUgcGFyZW50IGlzIHJlbGF0aXZlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcblxyXG5AbWl4aW4gYWJzb2x1dGUtcG9zaXRpb24gKCR0b3A6IGF1dG8sICRyaWdodDogYXV0bywgJGJvdHRvbTogYXV0bywgJGxlZnQ6IGF1dG8pIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAkdG9wO1xyXG4gIHJpZ2h0OiAkcmlnaHQ7XHJcbiAgYm90dG9tOiAkYm90dG9tO1xyXG4gIGxlZnQ6ICRsZWZ0O1xyXG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IFNpZGViYXJzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5zaWRlYmFyLXdpZGdldHMge1xyXG4gIG1hcmdpbjogMCAwIDQwcHggMDtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbiAgaDQge1xyXG4gICAgY29sb3I6ICMzZTM4MzQ7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgYmFja2dyb3VuZDogI2Y1ODAyNjtcclxuICAgICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAwIDAgNnB4IDA7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuI3dwLWNhbGVuZGFyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDM3LjVyZW07XHJcbiAgYmFja2dyb3VuZDogI2RkZDtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblxyXG4gIGNhcHRpb24ge1xyXG4gICAgYmFja2dyb3VuZDogIzQ0NDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgcGFkZGluZzogMC4yNXJlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIHRyIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgfVxyXG5cclxuICB0aGVhZCB7XHJcbiAgICBcclxuICAgIHRyIHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZDtcclxuICAgIH1cclxuXHJcbiAgICB0aCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgcGFkZGluZzogMC4yNXJlbTtcclxuICAgICAgYmFja2dyb3VuZDogI2RkZDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH0gLy8gdGhlYWRcclxuXHJcbiAgdGJvZHkgdGQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuXHJcbiAgICAmLnBhZCB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgIH1cclxuXHJcbiAgICAmI3RvZGF5IHtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcblxyXG4gICAgICAmI3RvZGF5OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICMzMzM7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoICRwcmltYXJ5LWNvbG9yLCAwLjIgKTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSAvLyB0Ym9keSB0ZFxyXG5cclxuICB0Zm9vdCB0ciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuXHJcbiAgICB0ZCB7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjcHJldiB7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAjbmV4dCB7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgfVxyXG4gIH0gLy8gdGZvb3QgdHJcclxufSAvLyAjd3AtY2FsZW5kYXJcclxuXHJcblxyXG5ib2R5IGRpdi5zaGFyZWRhZGR5IGgzLnNkLXRpdGxlIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcblxyXG4jY2F0ZWdvcnktcG9zdHMtMi1pbnRlcm5hbC5jYXRlZ29yeS1wb3N0cy1pbnRlcm5hbCB7XHJcbiAgbGkuY2F0LXBvc3QtaXRlbSB7XHJcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCA4MHB4O1xyXG5cclxuICAgIC5jYXQtcG9zdC10aHVtYm5haWwge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IERyb3AgRG93biBNZW51ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxubmF2LmRkLW1lbnUge1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XHJcblxyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiAxMDI1cHgpIHtcclxuICAgIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcblxyXG5uYXYuZGQtbWVudSB1bCB7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcblxyXG4gIGxpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMHB4O1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGhlaWdodDogNHB4O1xyXG4gICAgICB9XHJcbiAgICAgID4gYSB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDU5OTtcclxuICAgIGNvbG9yOiByZ2JhKCMwMDAsIDAuNik7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xyXG4gICAgcGFkZGluZzogM2VtIDAuOWVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAyNTBtcztcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICArIC5zdWItbWVudSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxufCBDb2xvcnNcclxuKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLy8gWWVsbG93XHJcbm5hdi5kZC1tZW51IHVsLm1haW4tbWVudSA+IGxpOm50aC1jaGlsZCgxKSB7XHJcbiAgJjpob3ZlciB7XHJcbiAgICA+IGEge1xyXG4gICAgICBjb2xvcjogJHllbGxvdztcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZDogJHllbGxvdztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zdWItbWVudSBsaTpob3ZlciA+IGEge1xyXG4gICAgLy9jb2xvcjogJHllbGxvdztcclxuICB9XHJcbn1cclxuXHJcbi8vIEdyZWVuXHJcbm5hdi5kZC1tZW51IHVsLm1haW4tbWVudSA+IGxpOm50aC1jaGlsZCgyKSB7XHJcbiAgJjpob3ZlciB7XHJcbiAgICA+IGEge1xyXG4gICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JlZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3ViLW1lbnUgbGk6aG92ZXIgPiBhIHtcclxuICAgIC8vY29sb3I6ICRncmVlbjtcclxuICB9XHJcbn1cclxuXHJcbi8vIFB1cnBsZVxyXG5uYXYuZGQtbWVudSB1bC5tYWluLW1lbnUgPiBsaTpudGgtY2hpbGQoNCkge1xyXG4gICY6aG92ZXIge1xyXG4gICAgPiBhIHtcclxuICAgICAgY29sb3I6ICRwdXJwbGU7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc3ViLW1lbnUgbGk6aG92ZXIgPiBhIHtcclxuICAgIC8vY29sb3I6ICRwdXJwbGU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBCbHVlXHJcbm5hdi5kZC1tZW51IHVsLm1haW4tbWVudSA+IGxpOm50aC1jaGlsZCg1KSB7XHJcbiAgJjpob3ZlciB7XHJcbiAgICA+IGEge1xyXG4gICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnN1Yi1tZW51IGxpOmhvdmVyID4gYSB7XHJcbiAgICAvL2NvbG9yOiAkYmx1ZTtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBEcm9wIERvd24gLSBTdWIgTWVudSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5uYXYuZGQtbWVudSB1bCAuc3ViLW1lbnUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB6LWluZGV4OiA0OTk7XHJcbiAgd2lkdGg6IDE0ZW07XHJcbiAgdG9wOiAxMDAlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgjNTU1LC4zKTtcclxuICB0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcblxyXG4gIGxpIHtcclxuICAgIGZsb2F0OiBub25lO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcclxuXHJcbiAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICY6aG92ZXIgPiBhIHtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMzNjM2MzY7XHJcbiAgICB9XHJcblxyXG4gICAgPiAuc3ViLW1lbnUge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgcGFkZGluZzogMWVtIDFlbTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBjb2xvcjogcmdiYSgjMDAwLDAuNik7XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgRHJvcCBEb3duIE1lbnUgLSBFZmZlY3RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxubmF2LmRkLW1lbnUge1xyXG5cclxuICAvKj09PSBGYWRlIERvd24gPT09Ki9cclxuICAmLmZhZGUtZG93biB7XHJcbiAgICAuc3ViLW1lbnUge1xyXG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xyXG4gICAgfVxyXG5cclxuICAgIGxpOmhvdmVyID4gLnN1Yi1tZW51IHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKj09PSBGYWRlIFVwID09PSovXHJcbiAgJi5mYWRlLXVwIHtcclxuICAgIC5zdWItbWVudSB7XHJcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuICAgIH1cclxuXHJcbiAgICBsaTpob3ZlciA+IC5zdWItbWVudSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyo9PT0gU2NhbGUgPT09Ki9cclxuICAmLnNjYWxlIHtcclxuICAgIC5zdWItbWVudSB7XHJcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGk6aG92ZXIgPiAuc3ViLW1lbnUge1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyo9PT0gTW92ZS9Ta2V3IEluID09PSovXHJcbiAgJi5za2V3IHtcclxuICAgIC5zdWItbWVudSB7XHJcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDBweCkgc2tld1goLTdkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIGxpOmhvdmVyID4gLnN1Yi1tZW51IHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2tld1goMGRlZyk7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IE1lbnUgTW9iaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgT2ZmIENhbnZhcyBHbG9iYWwgQW5pbWF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4uc2l0ZS13cmFwcGVyLCAjb2ZmLWNhbnZhcy1sbWVudSwgLmdsb2JhbC1oZWFkZXIge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZTtcclxufVxyXG5cclxuLm1lbnUtYWN0aXZlIHtcclxuICAuc2l0ZS13cmFwcGVyLCAjb2ZmLWNhbnZhcy1sbWVudSwgLmdsb2JhbC1oZWFkZXIge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI3NXB4KTtcclxuXHJcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogZGVza3RvcCkge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICNiZy1vdmVybGF5IHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoIzAwMCwgMC40KTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG59XHJcblxyXG4jYmctb3ZlcmxheSB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKCMwMDAsIDApO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjVzIGVhc2U7XHJcbiAgZGlzcGxheTogaW5oZXJpdDtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IE1lbnUgT2ZmIENhbnZhcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5vZmYtY2FudmFzLW1lbnUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDI3NXB4O1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XHJcblxyXG4gICYubGVmdC1uYXYge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4yNXMgZWFzZSxvcGFjaXR5IC4yNXMgZWFzZSwgaGVpZ2h0IC41cyBlYXNlO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZWNvbmRhcnk7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC41cyBlYXNlLG9wYWNpdHkgLjVzIGVhc2U7XHJcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogLTUwMDBweDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLW91dCxsZWZ0IC42cyBzdGVwLWVuZDtcclxuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcclxuXHJcbiAgICAgICAgJi5zaG93LW1lbnUge1xyXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgbGVmdDogMjc1cHg7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxpIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcclxuXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIDAuNik7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDEycHggMTglIDEycHggMTIlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogI2RkZDtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB0b3A6IDZweDtcclxuICAgICAgICAgIGJvdHRvbTogNnB4O1xyXG4gICAgICAgICAgd2lkdGg6IDNweDtcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsMCk7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzIGVhc2Usb3BhY2l0eSAuNHMgZWFzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgLy93aWR0aDogNjQlO1xyXG4gICAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDE4JTtcclxuICAgICAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIDEpO1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEsMSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGkubWVudS1iYWNrIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICA+OmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uYXYtYXJyb3cgIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogOCU7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuXHJcbiAgICAgIGkge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4jb2ZmLWNhbnZhcy1sbWVudSB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAyNzVweDtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IC0yNzVweDtcclxuICBiYWNrZ3JvdW5kOiAjMzYzNjM2O1xyXG4gIHotaW5kZXg6IDk5OTk7XHJcbiAgLy9vdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAubG9nbyB7XHJcbiAgICBtYXJnaW46IDMwcHggMCAwIDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICBtYXJnaW46IDAgMCAwIDEyJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5vZmYtY2FudmFzLXdyYXBwZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxufVxyXG5cclxuLmxlZnQtbWVudSB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuNXMgZWFzZSxvcGFjaXR5IC41cyBlYXNlO1xyXG5cclxuICBsaSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgY29sb3I6IHJnYmEoI2ZmZiwgMC44KTtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZzogMTJweCAxOCUgMTJweCAxMiU7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIC41cyBlYXNlO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNyU7XHJcbiAgICAgICAgY29sb3I6IHJnYmEoI2ZmZiwgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsLnN1Yi1tZW51IHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IC01MDAwcHg7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLW91dCxsZWZ0IC42cyBzdGVwLWVuZDtcclxuXHJcbiAgICAmLnNob3ctbWVudSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBsZWZ0OiAyNzVweDtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgei1pbmRleDogMTtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IE1lbnUgUG9zaXRpb25pbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgVG9vbGJhciBNZW51ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnRvb2xiYXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIC8vcG9zaXRpb246IGZpeGVkO1xyXG4gIC8vdG9wOiAwO1xyXG4gIC8vei1pbmRleDogOTk5OTtcclxuICAvL2JhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxufVxyXG5cclxuLnRvb2xiYXItZmxleCB7XHJcbiAgZmxleDogMTtcclxufVxyXG5cclxuLnRvb2xiYXItYWN0aW9ucyB7XHJcbiAgaGVpZ2h0OiAkdG9vbGJhci1oZWlnaHQ7XHJcbiAgbWF4LWhlaWdodDogJHRvb2xiYXItaGVpZ2h0O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxufVxyXG5cclxuLnRvb2xiYXItbG9nbyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGhlaWdodDogMzBweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG59XHJcblxyXG4udG9vbGJhci1tZW51IHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG5cclxuICBsaSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIGEge1xyXG4gICAgICBwYWRkaW5nOiAwIHJlbSgyMHB4KTtcclxuICAgICAgaGVpZ2h0OiAkdG9vbGJhci1oZWlnaHQtZGVza3RvcDtcclxuICAgICAgbWF4LWhlaWdodDogJHRvb2xiYXItaGVpZ2h0LWRlc2t0b3A7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAkdG9vbGJhci1oZWlnaHQtZGVza3RvcDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIDAuOCk7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBUb29sYmFyIE1lbnUgQnV0dG9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbi5pY29uLWxlZnQge1xyXG4gIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uaGFtYnVyZ2VyLWljb24ge1xyXG4gIEBpbmNsdWRlIGhhbWJ1cmdlci1nZW5lcmF0b3IoMjRweCwgM3B4LCA1cHgsICM3NzcsICR0aW1pbmctZnVuY3Rpb246IGxpbmVhcik7XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyLWFuaW1hdGlvbigpO1xyXG4gIH1cclxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vL1xyXG4vLyBOYW1lOiAgICAgICAgICAgSGFtYnVyZ2VyIEljb25cclxuLy8gRGVzY3JpcHRpb246ICAgIE1peGlucyBmb3IgY3JlYXRpbmcgaGFtYnVyZ2VyIGljb25zLlxyXG4vLyBWZXJzaW9uOiAgICAgICAgMS4xLjBcclxuLy9cclxuLy8gQXV0aG9yOiAgICAgICAgIERlbmlzIE1hbGlub2Noa2luXHJcbi8vIEdpdDogICAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vbXJtbG5jL2hhbWJ1cmdlci1pY29uXHJcbi8vXHJcbi8vIHR3aXR0ZXI6ICAgICAgICBAbXJtbG5jXHJcbi8vXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuLy8gSGFtYnVyZ2VyIFNldHRpbmdzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kaGFtYnVyZ2VyLXNldHRpbmdzLWhlaWdodDogMCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1zZXR0aW5ncy1ndXR0ZXI6IDAgIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcbi8vIEhhbWJ1cmdlciBHZW5lcmF0b3JcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkBtaXhpbiBoYW1idXJnZXItZ2VuZXJhdG9yKCR3aWR0aDogMzJweCwgJGhlaWdodDogM3B4LCAkZ3V0dGVyOiA1cHgsICRjb2xvcjogIzAwMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXM6IDAsICRkdXJhdGlvbjogLjNzLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAkdGltaW5nLWZ1bmN0aW9uOiBlYXNlKSB7XHJcbiAgLy8gU2V0IHZhcmlhYmxlc1xyXG4gICRoYW1idXJnZXItc2V0dGluZ3MtaGVpZ2h0OiAkaGVpZ2h0ICFnbG9iYWw7XHJcbiAgJGhhbWJ1cmdlci1zZXR0aW5ncy1ndXR0ZXI6ICRndXR0ZXIgIWdsb2JhbDtcclxuXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogKCRoZWlnaHQgKyAkZ3V0dGVyKSBhdXRvO1xyXG5cclxuICAmLFxyXG4gICY6YmVmb3JlLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkZHVyYXRpb24gJHRpbWluZy1mdW5jdGlvbixcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkZHVyYXRpb24gJHRpbWluZy1mdW5jdGlvbjtcclxuXHJcbiAgICBAaWYgKCRib3JkZXItcmFkaXVzICE9IDApIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICB9XHJcblxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xyXG4gIH1cclxuXHJcbiAgJjpiZWZvcmUsXHJcbiAgJjphZnRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgJjpiZWZvcmUge1xyXG4gICAgdG9wOiAtKCRoZWlnaHQgKyAkZ3V0dGVyKTtcclxuICB9XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgdG9wOiAkaGVpZ2h0ICsgJGd1dHRlcjtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gSGFtYnVyZ2VyIEFuaW1hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1peGluIGhhbWJ1cmdlci1hbmltYXRpb24ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cclxuICAmOmJlZm9yZSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGhhbWJ1cmdlci1zZXR0aW5ncy1ndXR0ZXIgKyAkaGFtYnVyZ2VyLXNldHRpbmdzLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcclxuICB9XHJcblxyXG4gICY6YWZ0ZXIge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJGhhbWJ1cmdlci1zZXR0aW5ncy1ndXR0ZXIgKyAkaGFtYnVyZ2VyLXNldHRpbmdzLWhlaWdodCkpIHJvdGF0ZSgtNDVkZWcpO1xyXG4gIH1cclxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCA0MDQgRXJyb3IgUGFnZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uZXJyb3ItNDA0IHtcclxuICBwYWRkaW5nOiA1MHB4IDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEhvbWVwYWdlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgU2VhcmNoIFJlc3VsdHMgUGFnZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnNlYXJjaC1yZXN1bHRzLXBhZ2Uge1xyXG4gIHBhZGRpbmctdG9wOiA0MHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gIFxyXG4gIC5wYWdlLWhlYWRlciB7XHJcbiAgICBoMSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5zZWFyY2gtcmVzdWx0cy10b3RhbCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xyXG4gICAgcGFkZGluZzogNnB4IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICBhcnRpY2xlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAwIDAgNTBweCAwO1xyXG4gIH1cclxuXHJcbiAgYS5zZWFyY2gtdGl0bGUge1xyXG4gICAgaDUge1xyXG4gICAgICBtYXJnaW46IDAgMCA2cHggMDtcclxuICAgICAgY29sb3I6ICMzZTM4MzQ7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zO1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhLnNlYXJjaC11cmwge1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGNvbG9yOiByZ2JhKCMwMDAsIDAuNjUpO1xyXG4gICAgbWFyZ2luOiAwIDAgOHB4IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLm5hdmlnYXRpb24ucGFnaW5hdGlvbiB7XHJcbiAgLnNjcmVlbi1yZWFkZXItdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBBcmNoaXZlIFBhZ2VzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uZ3JheS13cmFwcGVyIHtcclxuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xyXG4gIHBhZGRpbmc6IDYwcHggMDtcclxufVxyXG5cclxuLmFyY2hpdmUtcGFnZS1oZWFkZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM3NzcwNmM7XHJcbiAgcGFkZGluZzogNDBweCAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgaDEge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhaW5lci5ncmF5LWJnIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xyXG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEZhY3VsdHkgUGFnZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5mYWN1bHR5LXdyYXBwZXIge1xyXG4gIHBhZGRpbmctdG9wOiA2MHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA2MHB4O1xyXG4gIGJhY2tncm91bmQ6ICNmNmY2ZjY7XHJcblxyXG4gIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGNvbG9yOiAjNDQ0O1xyXG4gIH1cclxufVxyXG5cclxuLmZhY3VsdHktbWV0YSB7XHJcbiAgLmpvYi10aXRsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xyXG4gIH1cclxuXHJcbiAgYS5lbWFpbCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcclxuICAgIGkuZmEge1xyXG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgIG1hcmdpbjogMCA0cHggMCAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZhY3VsdHktcGljIGltZyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgYm9yZGVyOiA4cHggc29saWQgI2ZmZjtcclxufVxyXG5cclxuLmZhY3VsdHktbGlzdGluZ3Mtd3JhcHBlciB7XHJcbiAgYmFja2dyb3VuZDogI2VlZTtcclxuICBwYWRkaW5nOiAwIDMwcHggMzBweDtcclxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBCbG9nIC8gTmV3cyAvIEV2ZW50cyAtIFBvc3RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ucG9zdHMtcGFnZS1oZWFkZXIge1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xyXG4gIHBhZGRpbmc6IDE1cHggMDtcclxuICBoNSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBjb2xvcjogIzQ0NDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG59XHJcblxyXG4ucG9zdC1jYXJkIHtcclxuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG5cclxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuICAgIGNvbG9yOiAjNDQ0O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcblxyXG4gIGgxIHtcclxuICAgIGZvbnQtc2l6ZTogNDBweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGNvbG9yOiAjNDQ0O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICB9XHJcbiAgXHJcbiAgaDIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgZm9udC1zaXplOiAyNnB4O1xyXG4gIH1cclxuXHJcbiAgcCB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc1ZW07XHJcbiAgfVxyXG5cclxuICBociB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcclxuICAgIG1hcmdpbjogMzRweCAwO1xyXG4gIH1cclxuXHJcbiAgLmJsb2ctY2FyZC1mZWF0dXJlZC1pbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbi5wb3N0LWNhcmQgdWwucG9zdC1tZXRhIHtcclxuICBtYXJnaW46IDAgMCAxMHB4IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuXHJcbiAgbGkge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgIGNvbG9yOiAjNjY2O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJ3wnO1xyXG4gICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICBtYXJnaW46IDAgNnB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3Qtb2YtdHlwZTphZnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBvc3QtY29udGVudCB7XHJcbiAgcGFkZGluZzogMzBweDtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cclxuICB1bCwgb2wge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICB9XHJcblxyXG4gIGxpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5hcnRpY2xlLnZhc2QtZXZlbnQtY2FyZCB7XHJcbiAgcGFkZGluZzogMzBweCAzMHB4IDEwcHggMzBweDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMDI1KTtcclxuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgb3JhbmdlO1xyXG4gIGJveC1zaGFkb3c6IDBweCA0cHggMnB4IDBweCByZ2JhKDAsMCwwLDAuMDc1KTtcclxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBCdXR0b25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5idXR0b24uYnRuLCAuYnRuIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luOiAwIDAgMTJweCAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBmb250LXNpemU6IHJlbSgxNnB4KTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBwYWRkaW5nOiByZW0oOHB4KSByZW0oMjBweCk7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcblxyXG4gIC8vIEhvdmVyIEVmZmVjdHNcclxuICAmOmhvdmVyLFxyXG4gICY6YWN0aXZlLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgLy8gSWNvbnNcclxuICBpIHtcclxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB9XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBCdXR0b24gQ29sb3JzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uYnRuLXByaW1hcnkge1xyXG4gIEBpbmNsdWRlIGJ1dHRvbigkcHJpbWFyeS1jb2xvciwgI2ZmZiwgI2ZmZik7XHJcbn1cclxuXHJcbi5idG4tc2Vjb25kYXJ5IHtcclxuICBAaW5jbHVkZSBidXR0b24oJHNlY29uZGFyeS1jb2xvciwgI2ZmZiwgI2ZmZik7XHJcbn1cclxuXHJcbi5idG4tZ3JheSB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uKCRkYXJrLWdyYXksICNmZmYsICNmZmYpO1xyXG59XHJcblxyXG4uYnRuLWxpZ2h0LWdyYXkge1xyXG4gIEBpbmNsdWRlIGJvcmRlci1idXR0b24oI2ZmZiwgI2ZmZiwgI2RkZCwgI2RkZCwgIzQ0NDQ0NCwgIzQ0NDQ0NClcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEJ1dHRvbiBTdHlsZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5idG4tcGlsbCB7XHJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtcGlsbDtcclxufVxyXG5cclxuLmJ0bi1yYWRpdXMge1xyXG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLW1lZGl1bTtcclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEJ1dHRvbiBEaXNwbGF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5idG4tYmxvY2sge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgQnV0dG9uIERyb3Bkb3duICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmRyb3Bkb3duLWJ0biB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgJi5kcm9wZG93bi1idG4tb3V0bGluZSB7XHJcbiAgICAuYnRuLCBidXR0b24ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgICBjb2xvcjogIzMzMztcclxuICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnRuLCBidXR0b24ge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgY29sb3I6ICNmYWZhZmE7XHJcbiAgICBiYWNrZ3JvdW5kOiAwO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcclxuXHJcbiAgICBpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDk7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDVweCAxMHB4IHJnYmEoMCwwLDAsMC4yKTtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcztcclxuXHJcbiAgICAmLnRvZ2dsZS1hY3RpdmUge1xyXG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBcclxuICAgICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZkZmRmZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1vZi10eXBlIGEge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZpbHRlcmluZyB7XHJcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAuYnRuIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH1cclxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbi8vIEJ1dHRvbiAtIE1peGluXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbi8vIFRoaXMgbWl4aW4gYWxsb3dzIHlvdSB0byBlYXNpbHkgY3JlYXRlIGJ1dHRvbiB2YXJpYXRpb25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbi8vXHJcbi8vICAgT3B0aW9uczpcclxuLy9cclxuLy8gICAxLiAkZm9udC1jb2xvciAtIENvbG9yIG9mIHRoZSB0ZXh0IC0gI2ZmZlxyXG4vLyAgIDIuICRiZy1jb2xvciAtIENvbG9yIG9mIGJ1dHRvbiAtICMwMDBcclxuLy9cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuLy8gVXNhZ2U6IEBpbmNsdWRlIGJ1dHRvbigjMDAwLCAjZmZmKTtcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxuXHJcbkBtaXhpbiBidXR0b24oJGJnLWNvbG9yLCAkZm9udC1jb2xvciwgJGZvbnQtY29sb3ItaG92ZXIpIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7XHJcbiAgYm9yZGVyOiAwO1xyXG5cdGNvbG9yOiAkZm9udC1jb2xvcjtcclxuICB0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XHJcblxyXG5cdCY6aG92ZXIsXHJcblx0JjphY3RpdmUge1xyXG5cdFx0YmFja2dyb3VuZDogZGFya2VuKCRiZy1jb2xvciwgMTAlKTtcclxuICAgIGNvbG9yOiAkZm9udC1jb2xvci1ob3ZlcjtcclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXItYnV0dG9uKCRiZy1jb2xvciwgJGJnLWNvbG9yLWhvdmVyLCAkYnJkLWNvbG9yLCAkYnJkLWNvbG9yLWhvdmVyLCAkZm9udC1jb2xvciwgJGZvbnQtY29sb3ItaG92ZXIpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGJyZC1jb2xvcjtcclxuICBjb2xvcjogJGZvbnQtY29sb3I7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xyXG5cclxuICAmOmhvdmVyLFxyXG4gICY6YWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQ6ICRiZy1jb2xvci1ob3ZlcjtcclxuICAgIGNvbG9yOiAkZm9udC1jb2xvci1ob3ZlcjtcclxuICAgIGJvcmRlci1jb2xvcjogJGJyZC1jb2xvci1ob3ZlcjtcclxuICB9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4vKiBDYXJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqL1xyXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNhcmQge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBtYXgtd2lkdGg6IDgwMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4uY2FyZC1oZXJvIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLmNhcmQtdGl0bGUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHBhZGRpbmc6IDE2cHggMTVweCAxNHB4O1xyXG4gIG1hcmdpbjogMDtcclxuXHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgcGFkZGluZzogMTZweCAzMHB4IDE0cHg7XHJcbiAgfVxyXG4gIFxyXG4gIGgxIHtcclxuICAgIG1hcmdpbjogMCAwIDJweCAwO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNwYW4ge1xyXG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FyZC1jb250ZW50IHtcclxuICBwYWRkaW5nOiAxNXB4O1xyXG5cclxuICBociB7XHJcbiAgICBib3JkZXItY29sb3I6ICNlZWU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0KSB7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmV4aGliaXRpb24tY2Fyb3VzZWwge1xyXG4gIHBhZGRpbmc6IDYwcHggMCAwIDA7XHJcblxyXG4gIGgyLmgyLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjM2UzODM0O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIG1hcmdpbjogMCAwIDQwcHggMDtcclxuICB9XHJcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgUGFnZSBPdmVybGF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuI3BhZ2Utb3ZlcmxheSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGxlZnQ6IDA7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRvcDogMDtcclxuXHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ei1pbmRleDogOTk5ODtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XHJcbn1cclxuXHJcbi8vIFRhYmxldCBCcmVha3BvaW50XHJcbkBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuXHRcclxuXHQjcGFnZS1vdmVybGF5LmFjdGl2ZSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcclxuXHR9XHJcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgTW9kYWwgU2l0ZSBQb3B1cFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ubW9kYWwtYmcge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoIzAwMCwgMC44NSk7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiA5OTk5OTk7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwYWRkaW5nOiAxNXB4O1xyXG5cclxuICAmLmFjdGl2ZSB7XHJcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xyXG4gIH1cclxufVxyXG5cclxuLm1vZGFsLWJveCB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gIHdpZHRoOiA0MDBweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogMjRweDtcclxuICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgYm94LXNoYWRvdzogMTBweCAxMHB4IDEwcHggcmdiYSgjMDAwLCAwLjEpO1xyXG4gIHotaW5kZXg6IDk5OTk5OTk7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgZGlzcGxheTogaW5pdGlhbDtcclxuICB9XHJcblxyXG4gIGg0IHtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgY29sb3I6ICM0NDQ7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgYmFja2dyb3VuZDogI2Q4M2YyMTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICB9XHJcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgU29jaWFsIE1lZGlhIEljb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnNvY2lhbC1pY29ucyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xyXG5cclxuICBhIHtcclxuICAgIG1hcmdpbi1yaWdodDogOHB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB3aWR0aDogMzZweDtcclxuICAgIGhlaWdodDogMzZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zO1xyXG5cclxuICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIH1cclxuICB9XHJcblxyXG59IiwiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IFNlYXJjaCAtIFRvZ2dsZSBJY29uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XHJcbisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5zZWFyY2gtYWN0aXZlIHtcclxuICAuc2VhcmNoLWZ1bmN0aW9uIHtcclxuICAgIC8vdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgfVxyXG4gICNiZy1vdmVybGF5IHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoIzAwMCwgMC44NSk7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgei1pbmRleDogOTk5OTtcclxuICB9XHJcbn1cclxuXHJcbi5zZWFyY2gtZnVuY3Rpb24ge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiA5OTk5OTtcclxuICBwYWRkaW5nLXRvcDogMjBweDtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDE1MG1zO1xyXG5cclxuICAuc2VhcmNoLWZvcm0ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuXHJcbiAgLnNlYXJjaC1sYWJlbCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgaGVpZ2h0OiAzcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoJHByaW1hcnktY29sb3IsIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5wdXQuc2VhcmNoLWZpZWxkIHtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDU1cHg7XHJcbiAgICBoZWlnaHQ6IDU1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMjJweDtcclxuXHJcbiAgICAmOjpwbGFjZWhvbGRlciB7XHJcbiAgICAgIGNvbG9yOiByZ2JhKCNmZmYsIDAuOCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2NyZWVuLXJlYWRlci10ZXh0IHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAuc2VhcmNoLWljb24sIC5zZWFyY2gtY2xvc2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICB0b3A6IDA7XHJcblxyXG4gICAgaSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XHJcbiAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2VhcmNoLWljb24ge1xyXG4gICAgcmlnaHQ6IDQwcHg7XHJcbiAgfVxyXG5cclxuICAuc2VhcmNoLWNsb3NlIHtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgaSB7XHJcbiAgICAgIGNvbG9yOiByZ2JhKHJlZCwgMC44KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlucHV0LnNlYXJjaC1zdWJtaXQge1xyXG4gICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbn0iLCIvKiBOb3RpZmljYXRpb24gQmFyXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4ubm90aWZpY2F0aW9uLWJhciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYm90dG9tOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDEwcHggNTBweCAxMHB4IDMwcHg7XHJcbiAgYmFja2dyb3VuZDogIzNlMzgzNDtcclxuICBjb2xvcjogI2ZmZjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIHotaW5kZXg6IDkwMDtcclxuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6IHJnYmEoI2ZmZiwgMC43KTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLnZpc2libGUge1xyXG4gICAgZGlzcGxheTogaW5oZXJpdDtcclxuICB9XHJcblxyXG4gIC5mYSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICByaWdodDogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIG9wYWNpdHk6IDAuODtcclxuICAgIH1cclxuICB9XHJcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgVGVzdGltb25pYWxzIC8gUmV2aWV3cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLnRlc3RpbW9uaWFscy1jYXJvdXNlbCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuXHJcbmJvZHkgLnRlc3RpbW9uaWFsLXBpYyB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gIC50Zy1tZWRpYS1idXR0b24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXM7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCMxMTEsIDApO1xyXG4gICAgei1pbmRleDogMTtcclxuXHJcbiAgICBpLmZhIHtcclxuICAgICAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xyXG4gICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcclxuICAgICAgbWFyZ2luOiAtMjVweCAwIDAgLTI1cHg7XHJcbiAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCA0MDBtcztcclxuICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCMxMTEsIDAuNjUpO1xyXG5cclxuICAgICAgaS5mYSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgfVxyXG59XHJcblxyXG4udGVzdGltb25pYWwtbWV0YSB7XHJcbiAgcGFkZGluZzogMjZweDtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgaDQge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgbWFyZ2luOiAwIDAgNXB4IDA7XHJcbiAgICBjb2xvcjogIzY1NWU1ODtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgfVxyXG5cclxuICAudGVzdGltb25pYWwtcHJvZ3JhbSB7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgY29sb3I6IHJnYmEoIzAwMCwgMC40NSk7XHJcbiAgICBtYXJnaW46IDA7XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGctaXRlbS1leGNlcnB0IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgYSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcclxuICAgIFxyXG4gIH1cclxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBNb2JpbGUgQnV0dG9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ubW9iaWxlLWJ0biB7XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdGJvdHRvbTogMjBweDtcclxuXHRyaWdodDogMjBweDtcclxuXHR6LWluZGV4OiA5OTk7XHJcblx0d2lkdGg6IDQ1cHg7XHJcblx0aGVpZ2h0OiA0NXB4O1xyXG5cdGxpbmUtaGVpZ2h0OiA0NXB4O1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0b3BhY2l0eTogMTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjAwbXM7XHJcblxyXG5cdEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgwKTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0d2lkdGg6IGluaGVyaXQ7XHJcblx0XHRoZWlnaHQ6IGluaGVyaXQ7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKCMwMDAsIDAuOSk7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgLjFzIGVhc2UtaW47XHJcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0d2lkdGg6IDQ1cHg7XHJcblx0XHRoZWlnaHQ6IDQ1cHg7XHJcblx0XHRsaW5lLWhlaWdodDogNDVweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR6LWluZGV4OiAxOTtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIC4zcyBjdWJpYy1iZXppZXIoLjY4LCAxLjU1LCAuMjY1LCAxKTtcclxuXHRcdGZvbnQtc2l6ZTogMThweDtcclxuXHRcdG9wYWNpdHk6IDA7XHJcblxyXG5cdFx0Ji5tb2JpbGUtaXRlbS0xIHtcclxuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogNTBtcztcclxuXHRcdH1cclxuXHJcblx0XHQmLm1vYmlsZS1pdGVtLTIge1xyXG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAxMDBtcztcclxuXHRcdH1cclxuXHJcblx0XHQmLm1vYmlsZS1pdGVtLTMge1xyXG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAxNTBtcztcclxuXHRcdH1cclxuXHJcblx0XHQmLm1vYmlsZS1pdGVtLTQge1xyXG5cdFx0XHR0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcclxuXHRcdH1cclxuXHJcblx0XHQmLm1vYmlsZS1idG4tdG9nZ2xlIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0XHR6LWluZGV4OiAyMDtcclxuXHRcdFx0YmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmFjdGl2ZSB7XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdFx0dHJhbnNmb3JtOiBzY2FsZSg1KTtcclxuXHRcdFx0dHJhbnNpdGlvbi1kZWxheTogMG1zO1xyXG5cdFx0fVxyXG5cdFx0YSB7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdCYubW9iaWxlLWl0ZW0tMSB7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMTVweCwgLTc1cHgpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLm1vYmlsZS1pdGVtLTIge1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zNHB4LCAtNjhweCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYubW9iaWxlLWl0ZW0tMyB7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTcwcHgsIC0zNHB4KTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji5tb2JpbGUtaXRlbS00IHtcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNzVweCwgMTVweCk7XHJcblx0XHRcdH1cclxuXHRcdFx0Ji5tb2JpbGUtYnRuLXRvZ2dsZSB7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuYm9keS5tZW51LWFjdGl2ZSwgYm9keS5zZWFyY2gtYWN0aXZlIHtcclxuXHQubW9iaWxlLWJ0biB7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNjBweCk7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdH1cclxufSIsIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLStcclxufCBFbGVtZW50b3IgV29yZHByZXNzIFBsdWdpbm4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxyXG4rIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSArXHJcbnwgaHR0cHM6Ly9lbGVtZW50b3IuY29tLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmVsZW1lbnRvciB7XHJcbiAgLmhlcm8tYnV0dG9ucyBhIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIHBhZGRpbmc6IDE1cHggMzBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XHJcbiAgICB3aWR0aDogNzUlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICMxMTE7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCkge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgZGlzcGxheTogaW5pdGlhbDtcclxuICAgIH1cclxuXHJcbiAgICAmLmJ0bi1vdXRsaW5lIHtcclxuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgY29sb3I6ICMzNjM2MzY7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbmJvZHkucGFyZW50LXBhZ2VpZC00MTgzIC50Zy1kcm9wZG93bi1ob2xkZXIge1xyXG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbn1cclxuXHJcbmJvZHkgLnRnLWRyb3Bkb3duLWxpc3QsXHJcbmJvZHkgLnRnLWRyb3Bkb3duLWhvbGRlcjpob3ZlciAudGctZHJvcGRvd24tbGlzdCB7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZ2xvYmFsLTE5OCAuZWxlbWVudG9yLWRpdmlkZXItc2VwYXJhdG9yIHtcclxuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItdG9wLXdpZHRoOiAzcHg7XHJcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2VlNzQyMTtcclxuICB3aWR0aDogMTAwcHg7XHJcbn1cclxuXHJcbi5lbGVtZW50b3ItZWxlbWVudC5lbGVtZW50b3ItZ2xvYmFsLTE5OCAuZWxlbWVudG9yLWRpdmlkZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nLXRvcDogMTVweDtcclxuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuI2hwLWhlcm8ge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG59XHJcblxyXG4uc2l0ZW1hcC1tZW51IHtcclxuICB1bC5tZW51LCB1bC5tZW51IHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgdWwubWVudSB1bCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICB9XHJcbiAgdWwubWVudSBsaSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwIDdweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgY29sb3I6ICMzNjk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAjY2NjIDFweDtcclxuICB9XHJcbiAgdWwubWVudSBsaTpsYXN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gIH1cclxuICB1bC5tZW51IGxpOmJlZm9yZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0b3A6IC0wLjNlbTtcclxuICAgIGhlaWdodDogMWVtO1xyXG4gICAgd2lkdGg6IDEycHg7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXItYm90dG9tOiBzb2xpZCAjY2NjIDFweDtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBsZWZ0OiAtN3B4O1xyXG4gIH1cclxuICB1bC5tZW51IGxpOmxhc3QtY2hpbGQ6YmVmb3JlIHtcclxuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAjY2NjIDFweDtcclxuICB9XHJcbn1cclxuXHJcbi5lbGVtZW50b3ItbGlnaHRib3ggLmVsZW1lbnRvci1saWdodGJveC1pdGVtIHtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIFxyXG4gIGltZyB7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgfVxyXG4gIFxyXG4gIEBpbmNsdWRlIG1xKCRmcm9tOiBkZXNrdG9wKSB7XHJcbiAgICBwYWRkaW5nOiA4MHB4O1xyXG4gIH1cclxufVxyXG5cclxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tK1xyXG58IEVsZW1lbnRvciBTdWIgTmF2aWdhdGlvbiBNZW51XHJcbisgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5zdWItbWVudS1tdWx0aS1jb2xvciBuYXYuZWxlbWVudG9yLW5hdi1tZW51LS1tYWluIHtcclxuXHJcbiAgLmVsZW1lbnRvci1uYXYtbWVudSBsaSBhIHtcclxuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5lbGVtZW50b3ItbmF2LW1lbnUgbGkgYTphZnRlciB7XHJcbiAgICBoZWlnaHQ6IDRweDtcclxuICB9XHJcblxyXG4gIC5lbGVtZW50b3ItbmF2LW1lbnUgbGkgYTpob3ZlciB7XHJcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICAuZWxlbWVudG9yLW5hdi1tZW51IGxpOm50aC1jaGlsZCgxKSBhOmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTk1NmQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5lbGVtZW50b3ItbmF2LW1lbnUgbGk6bnRoLWNoaWxkKDIpIGE6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QwYjQwMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmVsZW1lbnRvci1uYXYtbWVudSBsaTpudGgtY2hpbGQoMykgYTphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDgzZjIxICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuZWxlbWVudG9yLW5hdi1tZW51IGxpOm50aC1jaGlsZCg0KSBhOmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcxNzggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5lbGVtZW50b3ItbmF2LW1lbnUgbGk6bnRoLWNoaWxkKDUpIGE6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdkNjk5MSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmVsZW1lbnRvci1uYXYtbWVudSBsaTpudGgtY2hpbGQoNikgYTphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzg5YzQ4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuZWxlbWVudG9yLW5hdi1tZW51IGxpOm50aC1jaGlsZCg3KSBhOmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2N2EyYjkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5lbGVtZW50b3ItbmF2LW1lbnUgbGk6bnRoLWNoaWxkKDgpIGE6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlNzQyMSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmVsZW1lbnRvci1uYXYtbWVudSBsaTpudGgtY2hpbGQoOSkgYTphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE5NTZkICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBIYW1idXJnZXIgSWNvbiBNZW51IENoYW5nZVxyXG5cclxuYm9keSAuc3ViLW1lbnUtbXVsdGktY29sb3IgLmVsZW1lbnRvci13aWRnZXQtY29udGFpbmVyIC5lbGVtZW50b3ItbWVudS10b2dnbGUuZWxlbWVudG9yLWNsaWNrYWJsZSB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbn1cclxuXHJcbi5lbGVtZW50b3ItbWVudS10b2dnbGUge1xyXG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuLmVsZW1lbnRvci1tZW51LXRvZ2dsZSBpLmVpY29uIHtcclxuICBwYWRkaW5nOiAwIDEwcHggNXB4IDEwcHg7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBsaW5lLWhlaWdodDogLjc1O1xyXG59XHJcblxyXG4uZWxlbWVudG9yLW1lbnUtdG9nZ2xlIGkuZWljb246YmVmb3JlIHtcclxuICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7XHJcbiAgY29udGVudDogXCJcXGYwNzhcIjtcclxuICBtYXJnaW4tcmlnaHQ6IDZweDtcclxufVxyXG5cclxuLmVsZW1lbnRvci1tZW51LXRvZ2dsZSBpLmVpY29uOmFmdGVyIHtcclxuICBmb250LWZhbWlseTogTW9udHNlcnJhdDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGNvbnRlbnQ6IFwiU2hvdyBNZW51XCI7XHJcbn1cclxuXHJcbi5lbGVtZW50b3ItbWVudS10b2dnbGUuZWxlbWVudG9yLWFjdGl2ZSBpLmVpY29uOmJlZm9yZSB7XHJcbiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xyXG4gIGNvbnRlbnQ6IFwiXFxmMDc3XCI7XHJcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XHJcbn1cclxuXHJcbi5lbGVtZW50b3ItbWVudS10b2dnbGUuZWxlbWVudG9yLWFjdGl2ZSBpLmVpY29uOmFmdGVyIHtcclxuICBmb250LWZhbWlseTogTW9udHNlcnJhdDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGNvbnRlbnQ6IFwiSGlkZSBNZW51XCI7XHJcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rXHJcbnwgTGl2ZSBDaGF0IFN0eWxlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcclxuKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuYm9keSAub2xhcmstbGF1bmNoLWJ1dHRvbiB7XHJcbiAgbGVmdDogMTVweCAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiA2OHB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gIC8vIFRhYmxldCBCcmVha3BvaW50XHJcbiAgQGluY2x1ZGUgbXEoJGZyb206IGRlc2t0b3ApIHtcclxuICAgIHdpZHRoOiAyMzZweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufSJdfQ== */
