/*!
 *
 *   Template Name: Opalin HTML Template
 *   Template URI: https://uiuxassets.com/assets/opalin-html-template/
 *   Author: UI/UX Assets <hello@uiuxassets.com>
 *   Author URI: https://uiuxassets.com/
 *   Version: v1.0.0
 *   License: GNU General Public License, Version 2
 *   License URI: http://www.gnu.org/licenses/gpl-2.0.html
 *   Copyright (C) 2018 UI/UX Assets
 *
*/
/* -----------------------------------------------------------------------------

Table Of Contents

1.0 - Base
  1.1 - Reset
  1.2 - Typography
  1.3 - Grid

2.0 - Tools
  2.1 - Align
  2.2 - Background
  2.3 - Divider
  2.4 - Full Screen
  2.5 - Full Width
  2.6 - Max Width
  2.7 - Min Width
  2.8 - Opacity
  2.9 - Rounded
  2.10 - Shadow
  2.11 - Spacing

3.0 - Components
  3.1 - Alerts
  3.2 - Buttons
  3.3 - Card
  3.4 - Footer
  3.5 - Forms
  3.6 - Header
  3.7 - Icons
  3.8 - List
  3.9 - Logo
  3.10 - Pricing
  3.11 - Table

4.0 - Pages
  4.1 - Onboarding

----------------------------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css?family=Lato:300,400,700,900");
@import url("https://fonts.googleapis.com/css?family=PT+Serif:400,700");
@import url("https://fonts.googleapis.com/icon?family=Material+Icons");
/* -----------------------------------------------------------------------------

# Base - Reset

----------------------------------------------------------------------------- */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
html button, html hr, html input {
  overflow: visible;
}
html audio, html canvas, html progress, html video {
  display: inline-block;
}
html progress, html sub, html sup {
  vertical-align: baseline;
}
html [type=checkbox], html [type=radio], html legend {
  box-sizing: border-box;
  padding: 0;
}
html html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
html body {
  margin: 0;
}
html article, html aside, html details, html figcaption, html figure, html footer, html header, html main, html menu, html nav, html section {
  display: block;
}
html figure {
  margin: 1em 40px;
}
html hr {
  box-sizing: content-box;
  height: 0;
}
html code, html kbd, html pre, html samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
html a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
html abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}
html b, html strong {
  font-weight: bolder;
}
html dfn {
  font-style: italic;
}
html mark {
  background-color: #ff0;
  color: #000;
}
html small {
  font-size: 80%;
}
html sub, html sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
}
html sub {
  bottom: -0.25em;
}
html sup {
  top: -0.5em;
}
html audio:not([controls]) {
  display: none;
  height: 0;
}
html img {
  border-style: none;
}
html svg:not(:root) {
  overflow: hidden;
}
html button, html input, html optgroup, html select, html textarea {
  font-family: sans-serif;
  font-size: 100%;
  margin: 0;
}
html button, html select {
  text-transform: none;
}
html [type=reset], html [type=submit], html button, html html [type=button] {
  -webkit-appearance: button;
}
html [type=button]::-moz-focus-inner, html [type=reset]::-moz-focus-inner, html [type=submit]::-moz-focus-inner, html button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
html [type=button]:-moz-focusring, html [type=reset]:-moz-focusring, html [type=submit]:-moz-focusring, html button:-moz-focusring {
  outline: ButtonText dotted 1px;
}
html fieldset {
  padding: 0.35em 0.75em 0.625em;
}
html legend {
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}
html textarea {
  overflow: auto;
}
html [type=number]::-webkit-inner-spin-button, html [type=number]::-webkit-outer-spin-button {
  height: auto;
}
html [type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
html [type=search]::-webkit-search-cancel-button, html [type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
html ::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
html summary {
  display: list-item;
}
html [hidden], html template {
  display: none;
}

/* Defaults */
html {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

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

.preload * {
  transition: none !important;
}

img {
  -ms-flex-shrink: 0;
  flex-shrink: 0;
  max-width: 100%;
  vertical-align: bottom;
}

section {
  overflow: hidden;
}

::-moz-selection {
  background: #C01F2F;
  color: #fff;
}

::selection {
  background: #C01F2F;
  color: #fff;
}

::-moz-selection {
  background: #C01F2F;
  color: #fff;
}

/* -----------------------------------------------------------------------------

# Base - Typography

----------------------------------------------------------------------------- */
html {
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
}

body {
  color: #1a0f11;
  font-family: "Lato", Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  overflow-x: hidden;
}

a {
  transition: all 0.2s;
  color: #C01F2F;
  cursor: pointer;
  text-decoration: none;
}
a:hover:not(.button) {
  color: #1a0f11;
  opacity: 0.9;
}

blockquote {
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.3px;
  line-height: 2rem;
  border-radius: 0.1875rem;
  background: #f6f6f9;
  border: 1px solid #ccced0;
  border-left: 4px solid #ccced0;
  font-style: italic;
  margin: 0 0 1rem 0;
  padding: 1rem;
  font-size: 1em;
  line-height: 1.6em;
  opacity: 0.8;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 1rem 0;
}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child {
  margin: 0;
}

h1,
h2,
h3 {
  font-family: "PT Serif", Georgia, serif;
}

h4,
h5,
h6 {
  font-family: "Lato", Helvetica, sans-serif;
}

h1 {
  font-size: 4rem;
  font-weight: 900;
  line-height: 5.25rem;
}
h1.hero {
  font-size: 3rem;
  font-weight: 900;
  line-height: 3.75rem;
}
@media only screen and (max-width: 479px) {
  h1 {
    font-size: 3rem;
    line-height: 3.75rem;
  }
  h1.hero {
    font-size: 2.5rem;
    line-height: 3.25rem;
  }
}

h2 {
  font-size: 3rem;
  font-weight: 900;
  line-height: 3.75rem;
}
@media only screen and (max-width: 479px) {
  h2 {
    font-size: 2.5rem;
    line-height: 3.25rem;
  }
}

h3 {
  font-size: 2rem;
  font-weight: 900;
  line-height: 2.75rem;
}
@media only screen and (max-width: 479px) {
  h3 {
    font-size: 1.75rem;
    line-height: 2.25rem;
  }
}

h4 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2.25rem;
}

h5 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75rem;
}

h6 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
  margin: 0 0 0.5rem 0;
}

p {
  margin: 0 0 1rem 0;
}
p:last-child {
  margin: 0;
}

.lead {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 2rem;
}
@media only screen and (max-width: 479px) {
  .lead {
    font-size: 1.5rem;
    line-height: 2rem;
  }
}

.paragraph {
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.3px;
  line-height: 2rem;
}
.paragraph.serif {
  font-family: "PT Serif", Georgia, serif;
}
@media only screen and (max-width: 479px) {
  .paragraph {
    font-size: 1.125rem;
    letter-spacing: normal;
    line-height: 1.75rem;
  }
}

.muted {
  opacity: 0.4;
}

.dark {
  color: #fff;
}
.dark a:not(.button) {
  color: #fff;
}
.dark blockquote {
  background: #1a0f11;
}
.dark p {
  opacity: 0.9;
}

.light {
  color: #2d2d2d;
}
.light a:not(.button) {
  color: #2d2d2d;
}

/* -----------------------------------------------------------------------------

# Base - Grid

----------------------------------------------------------------------------- */
.row {
  display: table;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.row .col-one-half {
  width: 48%;
}
.row .col-one-third {
  width: 30.6666666667%;
}
.row .col-one-fourth {
  width: 22%;
}
.row .col-one-fifth {
  width: 16.8%;
}
.row .col-one-sixth {
  width: 13.3333333333%;
}
.row .col-two-thirds {
  width: 65.3333333333%;
}
.row .col-two-fourths {
  width: 48%;
}
.row .col-two-fifths {
  width: 37.6%;
}
.row .col-three-fourths {
  width: 74%;
}
.row .col-three-fifths {
  width: 58.4%;
}
.row .col-four-fifths {
  width: 79.2%;
}
.row [class^=col-] {
  float: left;
  margin: 0 2%;
}
.row [class^=col-]:first-child {
  margin-left: 0;
}
.row [class^=col-]:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 1023px) {
  .row [class^=col-] {
    margin: 3rem 2% 0 2%;
    width: 48%;
  }
  .row [class^=col-]:nth-child(-n+2) {
    margin-top: 0;
  }
  .row [class^=col-]:nth-child(odd) {
    margin-left: 0;
  }
  .row [class^=col-]:nth-child(even) {
    margin-right: 0;
  }
  .row [class^=col-]:last-child:nth-child(odd) {
    width: 100%;
  }
  .row [class*=-fifth] {
    margin: 3rem 0 0 0;
    width: 100%;
  }
  .row [class*=-fifth]:nth-child(2) {
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .row [class^=col-] {
    margin: 3rem 0 0 0;
    width: 100%;
  }
  .row [class^=col-]:nth-child(2) {
    margin-top: 3rem;
  }
}

/* Reduce spacing between rows */
@media only screen and (max-width: 1023px) {
  .row.reduce-spacing [class^=col-] {
    margin: 1rem 2% 0 2%;
  }
  .row.reduce-spacing [class^=col-]:last-child {
    margin-right: 0;
  }
  .row.reduce-spacing [class^=col-]:nth-child(-n+2) {
    margin-top: 0;
  }
  .row.reduce-spacing [class^=col-]:nth-child(odd) {
    margin-left: 0;
  }
  .row.reduce-spacing [class^=col-]:nth-child(even) {
    margin-right: 0;
  }
  .row.reduce-spacing [class*=-fifth] {
    margin: 1rem 0 0 0;
  }
  .row.reduce-spacing [class*=-fifth]:nth-child(2) {
    margin-top: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .row.reduce-spacing [class^=col-] {
    margin: 1rem 0 0 0;
  }
  .row.reduce-spacing [class^=col-]:nth-child(2) {
    margin-top: 1rem;
  }
}

/* Reverse the order of columns when going full-width */
@media only screen and (max-width: 767px) {
  .row.reverse-order [class^=col-] {
    margin: 3rem 0 0 0;
  }
  .row.reverse-order [class^=col-]:last-child {
    margin-top: 0;
  }
  .row.reverse-order [class^=col-]:nth-child(1) {
    -moz-order: 5;
    order: 5;
  }
  .row.reverse-order [class^=col-]:nth-child(2) {
    -moz-order: 4;
    order: 4;
  }
  .row.reverse-order [class^=col-]:nth-child(3) {
    -moz-order: 3;
    order: 3;
  }
  .row.reverse-order [class^=col-]:nth-child(4) {
    -moz-order: 2;
    order: 2;
  }
  .row.reverse-order [class^=col-]:nth-child(5) {
    -moz-order: 1;
    order: 1;
  }
  .row.reverse-order.reduce-spacing [class^=col-] {
    margin: 1rem 0 0 0;
  }
  .row.reverse-order.reduce-spacing [class^=col-]:last-child {
    margin-top: 0;
  }
}

/* Force a minimum of two columns */
@media only screen and (max-width: 1023px) {
  .row.min-two-columns:not(.reverse-order) [class^=col-] {
    margin: 3rem 2% 0 2%;
    width: 48%;
  }
  .row.min-two-columns:not(.reverse-order) [class^=col-]:last-child {
    margin-right: 0;
  }
  .row.min-two-columns:not(.reverse-order) [class^=col-]:nth-child(-n+2) {
    margin-top: 0;
  }
  .row.min-two-columns:not(.reverse-order) [class^=col-]:nth-child(odd) {
    margin-left: 0;
  }
  .row.min-two-columns:not(.reverse-order) [class^=col-]:nth-child(even) {
    margin-right: 0;
  }
  .row.min-two-columns:not(.reverse-order) [class^=col-]:last-child:nth-child(odd) {
    width: 100%;
  }
  .row.min-two-columns:not(.reverse-order).reduce-spacing [class^=col-] {
    margin: 1rem 2% 0 2%;
  }
  .row.min-two-columns:not(.reverse-order).reduce-spacing [class^=col-]:last-child {
    margin-right: 0;
  }
  .row.min-two-columns:not(.reverse-order).reduce-spacing [class^=col-]:nth-child(-n+2) {
    margin-top: 0;
  }
  .row.min-two-columns:not(.reverse-order).reduce-spacing [class^=col-]:nth-child(odd) {
    margin-left: 0;
  }
  .row.min-two-columns:not(.reverse-order).reduce-spacing [class^=col-]:nth-child(even) {
    margin-right: 0;
  }
}

/* Remove gutter between columns */
.row.no-gutter .col-one-half {
  width: 50%;
}
.row.no-gutter .col-one-third {
  width: 33.3333333333%;
}
.row.no-gutter .col-one-fourth {
  width: 25%;
}
.row.no-gutter .col-one-fifth {
  width: 20%;
}
.row.no-gutter .col-one-sixth {
  width: 16.6666666667%;
}
.row.no-gutter .col-two-thirds {
  width: 66.6666666667%;
}
.row.no-gutter .col-two-fourths {
  width: 50%;
}
.row.no-gutter .col-two-fifths {
  width: 40%;
}
.row.no-gutter .col-three-fourths {
  width: 75%;
}
.row.no-gutter .col-three-fifths {
  width: 60%;
}
.row.no-gutter .col-four-fifths {
  width: 80%;
}
.row.no-gutter [class^=col-] {
  margin: 0 !important;
}
@media only screen and (max-width: 1023px) {
  .row.no-gutter [class^=col-] {
    width: 50%;
  }
  .row.no-gutter [class*=-fifth] {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .row.no-gutter [class^=col-] {
    width: 100%;
  }
}

/* -----------------------------------------------------------------------------

# Tools - Align

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

.left {
  float: left;
  text-align: left;
}

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

.middle {
  display: table;
  display: -moz-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-direction: column;
  flex-direction: column;
  -moz-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
}

@media only screen and (max-width: 1023px) {
  .center-desktop {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .center-tablet {
    text-align: center;
  }
}
@media only screen and (max-width: 479px) {
  .center-mobile {
    text-align: center;
  }
}
/* -----------------------------------------------------------------------------

# Tools - Background

----------------------------------------------------------------------------- */
.bg-dark {
  background: #1a0f11;
}

.bg-light {
  background: #f6f6f9;
}

.bg-primary {
  background: #C01F2F;
}

.bg-white {
  background: #fff;
}

/* Gradients */
.bg-gradient-dark {
  background: #030202;
  background: linear-gradient(#1a0f11 0%, #030202 100%);
}

.bg-gradient-light {
  background: #f6f6f9;
  background: linear-gradient(#fff 0%, #f6f6f9 100%);
}

.bg-gradient-blue {
  background: #0957d9;
  background: linear-gradient(#2584e0 0%, #0957d9 100%);
}

.bg-gradient-cyan {
  background: #04b2db;
  background: linear-gradient(#1ac8e2 0%, #04b2db 100%);
}

.bg-gradient-green {
  background: #39cfa2;
  background: linear-gradient(#67dbb8 0%, #39cfa2 100%);
}

.bg-gradient-indigo {
  background: #313fae;
  background: linear-gradient(#606cc3 0%, #313fae 100%);
}

.bg-gradient-olive {
  background: #85b99e;
  background: linear-gradient(#aacdb5 0%, #85b99e 100%);
}

.bg-gradient-pink {
  background: #dc60a3;
  background: linear-gradient(#e58cba 0%, #dc60a3 100%);
}

.bg-gradient-sienna {
  background: #c4a495;
  background: linear-gradient(#d5bfab 0%, #c4a495 100%);
}

.bg-gradient-violet {
  background: #7421db;
  background: linear-gradient(#9e3ee2 0%, #7421db 100%);
}

/* Advanced backgrounds */
[class*=bg-image-] {
  overflow: hidden;
  position: relative;
  /*  z-index: 0; this was messing with the header main */
}
[class*=bg-image-]:before, [class*=bg-image-]:after {
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  bottom: -1px;
  content: "";
  height: 101%;
  left: -1%;
  position: absolute;
  top: -1px;
  width: 102%;
}
[class*=bg-image-]:before {
  z-index: -1;
}
[class*=bg-image-]:after {
  z-index: -2;
}

/* Overlays */
.overlay:before {
  background: rgba(255, 255, 255, 0.7);
}

.dark.overlay:before {
  background: rgba(26, 15, 17, 0.7);
}

.overlay-shape-01:before {
  background: url(media/bg/shape-01.svg);
}

.dark.overlay-shape-01:before {
  background: url(media/bg/shape-dark-01.svg);
}

.overlay-shape-02:before {
  background: url(media/bg/shape-02.svg);
}

.dark.overlay-shape-02:before {
  background: url(media/bg/shape-dark-02.svg);
}

.overlay-shape-03:before {
  background: url(media/bg/shape-03.svg);
}

.dark.overlay-shape-03:before {
  background: url(media/bg/shape-dark-03.svg);
}

.overlay-shape-04:before {
  background: url(media/bg/shape-04.svg);
}

.dark.overlay-shape-04:before {
  background: url(media/bg/shape-dark-04.svg);
}

.overlay-shape-05:before {
  background: url(media/bg/shape-05.svg);
}

.dark.overlay-shape-05:before {
  background: url(media/bg/shape-dark-05.svg);
}

.overlay-shape-06:before {
  background: url(media/bg/shape-06.svg);
}

.dark.overlay-shape-06:before {
  background: url(media/bg/shape-dark-06.svg);
}

/* Images */
.bg-image-01:after {
  background: url(media/bg/image-01@2x.jpg);
}
@media only screen and (max-width: 479px) {
  .bg-image-01:after {
    background: url(media/bg/image-01.jpg);
  }
}

.bg-image-02:after {
  background: url(media/bg/image-02@2x.jpg);
}
@media only screen and (max-width: 479px) {
  .bg-image-02:after {
    background: url(media/bg/image-02.jpg);
  }
}

.bg-image-03:after {
  background: url(media/bg/image-03@2x.jpg);
}
@media only screen and (max-width: 479px) {
  .bg-image-03:after {
    background: url(media/bg/image-03.jpg);
  }
}

.bg-image-04:after {
  background: url(media/bg/image-04@2x.jpg);
}
@media only screen and (max-width: 479px) {
  .bg-image-04:after {
    background: url(media/bg/image-04.jpg);
  }
}

.bg-image-05:after {
  background: url(media/bg/image-05@2x.jpg);
}
@media only screen and (max-width: 479px) {
  .bg-image-05:after {
    background: url(media/bg/image-05.jpg);
  }
}

.bg-image-06:after {
  background: url(media/bg/image-06@2x.jpg);
}
@media only screen and (max-width: 479px) {
  .bg-image-06:after {
    background: url(media/bg/image-06.jpg);
  }
}

.bg-image-07:after {
  background: url(media/bg/image-07@2x.jpg);
}
@media only screen and (max-width: 479px) {
  .bg-image-07:after {
    background: url(media/bg/image-07.jpg);
  }
}

.bg-image-08:after {
  background: url(media/bg/image-08@2x.jpg);
}
@media only screen and (max-width: 479px) {
  .bg-image-08:after {
    background: url(media/bg/image-08.jpg);
  }
}

.bg-image-hero:after {
  background: #C01F2F;
  background: linear-gradient(140deg, #75030E 25%, #C01F2F 100%);
}

/* -----------------------------------------------------------------------------

# Tools - Divider

----------------------------------------------------------------------------- */
.divider {
  border-bottom: 1px solid #ececee;
  margin: 3rem 0;
  width: 100%;
}
.dark .divider {
  border-bottom: 1px solid #1a0f11;
}

/* -----------------------------------------------------------------------------

# Tools - Full Screen

----------------------------------------------------------------------------- */
.full-screen {
  min-height: calc(100vh);
  width: 100%;
}

@media all and (-ms-high-contrast: none) {
  .full-screen {
    display: block;
    min-height: 0;
    padding-bottom: 8rem !important;
    padding-top: 8rem !important;
  }
}
/* -----------------------------------------------------------------------------

# Tools - Full Width

----------------------------------------------------------------------------- */
.full-width {
  width: 100% !important;
}
@media only screen and (max-width: 767px) {
  .full-width-tablet {
    width: 100% !important;
  }
}
@media only screen and (max-width: 479px) {
  .full-width-mobile {
    width: 100% !important;
  }
}

/* -----------------------------------------------------------------------------

# Tools - Max Width

----------------------------------------------------------------------------- */
[class*=max-width-] {
  margin: 0 auto;
  width: 100%;
}

.max-width-s {
  max-width: 400px;
}

.max-width-m {
  max-width: 800px;
}

.max-width-l {
  max-width: 1200px;
}

/* -----------------------------------------------------------------------------

# Tools - Min Width

----------------------------------------------------------------------------- */
[class*=min-width-] {
  margin: 0 auto;
}

.min-width-s {
  min-width: 400px;
}

.min-width-m {
  min-width: 800px;
}

.min-width-l {
  min-width: 1200px;
}

/* -----------------------------------------------------------------------------

# Tools - Opacity

----------------------------------------------------------------------------- */
.opacity-s {
  opacity: 0.9 !important;
}

.opacity-m {
  opacity: 0.4 !important;
}

.opacity-l {
  opacity: 0.1 !important;
}

/* -----------------------------------------------------------------------------

# Tools - Rounded

----------------------------------------------------------------------------- */
.rounded {
  border-radius: 0.5rem;
}
.rounded-bottom {
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.rounded-top {
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}

/* -----------------------------------------------------------------------------

# Tools - Shadow

----------------------------------------------------------------------------- */
.shadow-s {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.shadow-m {
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}

.shadow-l {
  box-shadow: 0 32px 40px rgba(0, 0, 0, 0.1);
}

.shadow-none {
  box-shadow: none !important;
}

/* -----------------------------------------------------------------------------

# Tools - Spacing

----------------------------------------------------------------------------- */
.padding {
  padding: 5rem;
}
@media only screen and (max-width: 1023px) {
  .padding {
    padding: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .padding {
    padding: 3rem 1rem;
  }
}

.padding-bottom {
  padding-bottom: 12rem;
}
@media only screen and (max-width: 1023px) {
  .padding-bottom {
    padding-bottom: 10rem;
  }
}
@media only screen and (max-width: 767px) {
  .padding-bottom {
    padding-bottom: 8rem;
  }
}

.padding-bottom-none {
  padding-bottom: 0;
}
@media only screen and (max-width: 1023px) {
  .padding-bottom-none {
    padding-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  .padding-bottom-none {
    padding-bottom: 0;
  }
}

.padding-top {
  padding-top: 12rem;
}
@media only screen and (max-width: 1023px) {
  .padding-top {
    padding-top: 10rem;
  }
}
@media only screen and (max-width: 767px) {
  .padding-top {
    padding-top: 8rem;
  }
}

.padding-top-1 {
  padding-top: 1rem;
}
@media only screen and (max-width: 1023px) {
  .padding-top-1 {
    padding-top: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .padding-top-1 {
    padding-top: 1rem;
  }
}

/* Add spacing above content */
@media only screen and (max-width: 767px) {
  .padding-top-tablet {
    padding-top: 8rem;
  }
}
/* Add spacing above or below content */
.margin-bottom {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 1023px) {
  .margin-bottom {
    margin-bottom: 3rem;
  }
}

.margin-top {
  margin-top: 5rem;
}
@media only screen and (max-width: 1023px) {
  .margin-top {
    margin-top: 3rem;
  }
}

.margin-top-2r {
  margin-top: 2rem;
}
@media only screen and (max-width: 1023px) {
  .margin-top-2r {
    margin-top: 2rem;
  }
}

.margin-top-3r {
  margin-top: 3rem;
}
@media only screen and (max-width: 1023px) {
  .margin-top-3r {
    margin-top: 3rem;
  }
}

.margin-bottom-3r {
  margin-bottom: 3rem;
}
@media only screen and (max-width: 1023px) {
  .margin-bottom-3r {
    margin-bottom: 1rem;
  }
}

.margin-bottom-1r {
  margin-bottom: 1rem;
}
@media only screen and (max-width: 1023px) {
  .margin-bottom-1r {
    margin-bottom: 1rem;
  }
}

/* Negative spacing */
.-margin-bottom {
  margin-bottom: -5rem;
}
@media only screen and (max-width: 1023px) {
  .-margin-bottom {
    margin-bottom: -3rem;
  }
}

.-margin-bottom-2 {
  margin-bottom: -10rem;
}
@media only screen and (max-width: 1023px) {
  .-margin-bottom-2 {
    margin-bottom: -6rem;
  }
}

/* Default spacing */
.space {
  margin: 1rem;
}

.space-bottom {
  margin-bottom: 1rem;
}

.space-left {
  padding-left: 1rem;
}

.space-right {
  padding-right: 1rem;
}

.space-top {
  margin-top: 1rem;
}

.space-top-2 {
  margin-top: 2rem;
}

/* Remove spacing */
.space-none {
  margin: 0;
}

.space-bottom-none {
  margin-bottom: 0;
}

.space-left-none {
  padding-left: 0;
}

.space-right-none {
  padding-right: 0;
}

.space-top-none {
  margin-top: 0;
}

/* -----------------------------------------------------------------------------

# Components - Alerts

----------------------------------------------------------------------------- */
.alert {
  border-radius: 0.1875rem;
  background: #f6f6f9;
  margin-bottom: 1rem;
  padding: 1rem;
}
.alert.alert-default {
  border-left: 3px solid #ccced0;
}
.alert.alert-error {
  border-left: 3px solid #e52b20;
}
.alert.alert-success {
  border-left: 3px solid #63ce63;
}
.alert.alert-warning {
  border-left: 3px solid #ffbf2f;
}
.dark .alert {
  background: #1a0f11;
}

/* -----------------------------------------------------------------------------

# Components - Buttons

----------------------------------------------------------------------------- */
.button {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  font-weight: 700;
  border-radius: 3rem;
  transition: all 0.2s;
  display: inline-block;
  height: 3rem;
  line-height: 3rem;
  padding: 0 1.25rem;
  text-align: center;
}
.button.button-s {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  font-weight: 700;
  height: 2rem;
  line-height: 2rem;
  padding: 0 0.75rem;
}
.button.button-m {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1rem;
  font-weight: 700;
  height: 2.5rem;
  line-height: 2.5rem;
  padding: 0 1rem;
}
.button.button-l {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.5rem;
  font-weight: 700;
  height: 3.5rem;
  line-height: 3.5rem;
  padding: 0 1.5rem;
}
.button.button-primary {
  background: #a11a27;
  background: linear-gradient(140deg, #C01F2F 25%, #a11a27 100%);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  color: #fff;
}
.button.button-primary:hover {
  background: #C01F2F;
  background: linear-gradient(140deg, #C01F2F 25%, #C01F2F 100%);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
}
.button.button-secondary {
  background: #ececee;
  color: #1a0f11;
}
.button.button-secondary:hover {
  background: #f6f6f9;
  color: #C01F2F;
}
.dark .button.button-secondary {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.dark .button.button-secondary:hover {
  background: rgba(255, 255, 255, 0.4);
}
.button.button-disabled {
  background: #ccced0;
  color: #1a0f11;
  cursor: default;
  opacity: 0.4;
  pointer-events: none;
}
.button.button-close {
  border-radius: 100%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  background: #fff;
  display: block;
  height: 4rem;
  line-height: 2rem;
  opacity: 0.9;
  padding: 1rem;
  position: fixed;
  right: 1rem;
  text-align: center;
  top: 1rem;
  width: 4rem;
  z-index: 10;
}
.button.button-close:before {
  direction: ltr;
  display: inline-block;
  font-family: "Material Icons";
  font-feature-settings: "liga";
  font-size: 1.5rem;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-height: 1;
  text-rendering: optimizeLegibility;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #1a0f11;
  content: "close";
  line-height: 2rem;
  /* Prevent text from icon name to show up before load */
}
.preload .button.button-close:before {
  font-size: 0;
}
.button.button-close:hover {
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  .button.button-primary:hover, .button.button-secondary:hover {
    box-shadow: none !important;
  }
  .button.button-close {
    position: absolute;
  }
}
@media only screen and (max-width: 479px) {
  .button {
    height: 3.5rem;
    line-height: 3.5rem;
  }
  .button.button-s {
    height: 2.5rem;
    line-height: 2.5rem;
  }
  .button.button-m {
    height: 3rem;
    line-height: 3rem;
  }
  .button.button-l {
    height: 4rem;
    line-height: 4rem;
  }
}

/* -----------------------------------------------------------------------------

# Components - Card

----------------------------------------------------------------------------- */
.card {
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  background: #fff;
}
.card.dark {
  background: #311c20;
}

.card-content {
  padding: 2rem;
}
@media only screen and (max-width: 479px) {
  .card-content {
    padding: 1.5rem;
  }
}

.card-content-thin {
  padding: 1rem 1.5rem;
}

.card-aroc {
  position: relative;
}

.card-aroc > img {
  height: 60%;
}

.card-aroc > div {
  position: absolute;
  left: 0;
  right: 0;
}

/* -----------------------------------------------------------------------------

# Components - Footer

----------------------------------------------------------------------------- */
.footer-main a:not(.button) {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1rem;
  color: #1a0f11;
  opacity: 0.9;
}
.footer-main a:not(.button):hover {
  color: #C01F2F;
  opacity: 1;
}
.footer-main p {
  opacity: 0.9;
}
.footer-main input[type=email] {
  background: #fff;
}
.footer-main .copyright {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  opacity: 0.4;
  padding-bottom: 3rem;
  text-align: center;
}
.footer-main .copyright a {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
  opacity: 1;
}
.footer-main .copyright a:hover {
  color: inherit;
}
.footer-main.dark a:not(.button) {
  color: #fff;
}
@media only screen and (max-width: 1023px) {
  .footer-main a:not(.button) {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5rem;
  }
  .footer-main .copyright a {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1rem;
  }
}

/* -----------------------------------------------------------------------------

# Components - Forms

----------------------------------------------------------------------------- */
form {
  /* Checkboxes and radio buttons */
  /* Switch */
}
form label {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  font-weight: 700;
  line-height: 2.5rem;
}
form input[type=email],
form input[type=password],
form input[type=text],
form select,
form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  border-radius: 0.1875rem;
  background: #f6f6f9;
  border: 1px solid #ececee;
  color: #1a0f11;
  padding: 0.5rem 0.75rem;
  width: 100%;
}
form input[type=email]:focus,
form input[type=password]:focus,
form input[type=text]:focus,
form select:focus,
form textarea:focus {
  border: 1px solid #ccced0;
  outline: none;
}
form input[type=email],
form input[type=password],
form input[type=text],
form select,
form .select-wrapper {
  height: 2.5rem;
}
form .select-wrapper {
  position: relative;
}
form .select-wrapper:before {
  direction: ltr;
  display: inline-block;
  font-family: "Material Icons";
  font-feature-settings: "liga";
  font-size: 1.5rem;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-height: 1;
  text-rendering: optimizeLegibility;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #1a0f11;
  content: "keyboard_arrow_down";
  height: 2.5rem;
  line-height: 2.5rem;
  pointer-events: none;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 2.5rem;
}
form .select-wrapper select {
  cursor: pointer;
}
form .select-wrapper select::-ms-expand {
  display: none;
}
form textarea {
  min-height: 10rem;
}
form input[type=checkbox],
form input[type=radio] {
  display: none;
}
form input[type=checkbox]:checked + label.checkbox:before, form input[type=checkbox]:checked + label.radio:before,
form input[type=radio]:checked + label.checkbox:before,
form input[type=radio]:checked + label.radio:before {
  background: #C01F2F;
}
form input[type=checkbox]:checked + label.checkbox:after, form input[type=checkbox]:checked + label.radio:after,
form input[type=radio]:checked + label.checkbox:after,
form input[type=radio]:checked + label.radio:after {
  color: #fff;
}
form label.checkbox,
form label.radio {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5rem;
  cursor: pointer;
  display: block;
  line-height: 2.5rem;
  padding-left: 2rem;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
form label.checkbox:before,
form label.radio:before {
  transition: all 0.2s;
  background: #ececee;
  content: "";
  height: 1.5rem;
  left: 0;
  position: absolute;
  top: 0.5rem;
  width: 1.5rem;
}
.dark form label.checkbox:before,
.dark form label.radio:before {
  background: #fff;
}
form label.checkbox:after,
form label.radio:after {
  direction: ltr;
  display: inline-block;
  font-family: "Material Icons";
  font-feature-settings: "liga";
  font-size: 1.5rem;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-height: 1;
  text-rendering: optimizeLegibility;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: all 0.2s;
  color: transparent;
  content: "check";
  font-size: 1.25rem;
  height: 1.5rem;
  left: 0;
  line-height: 1.5rem;
  pointer-events: none;
  position: absolute;
  text-align: center;
  top: 0.5rem;
  width: 1.5rem;
}
form label.checkbox:last-child,
form label.radio:last-child {
  margin-bottom: 0;
}
form label.checkbox:before {
  border-radius: 0.1875rem;
}
form label.radio:before {
  border-radius: 0.75rem;
}
form input.switch {
  display: none;
}
form input.switch:checked + label.switch:before {
  background: #C01F2F;
}
form input.switch:checked + label.switch:after {
  left: 26px;
}
form label.switch {
  cursor: pointer;
  display: block;
  height: 32px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
form label.switch:before {
  border-radius: 16px;
  transition: all 0.2s;
  background: #ececee;
  content: "";
  display: block;
  height: 32px;
  width: 56px;
}
.dark form label.switch:before {
  background: rgba(255, 255, 255, 0.1);
}
form label.switch:after {
  border-radius: 14px;
  transition: all 0.2s;
  background: #fff;
  content: "";
  display: block;
  height: 28px;
  left: 2px;
  position: relative;
  top: -30px;
  width: 28px;
}
form .form-group {
  margin-bottom: 1rem;
  position: relative;
}
form .form-help {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1rem;
  color: #1a0f11;
  opacity: 0.4;
}
@media only screen and (max-width: 767px) {
  form .row.unequal [class^=col-].unequal {
    margin: 0;
  }
}
@media only screen and (max-width: 479px) {
  form input[type=email],
form input[type=password],
form input[type=text],
form select,
form .select-wrapper {
    height: 3rem;
  }
  form .select-wrapper:before {
    height: 3rem;
    line-height: 3rem;
    width: 3rem;
  }
}

/* -----------------------------------------------------------------------------

# Components - Header

----------------------------------------------------------------------------- */
.no-scroll {
  overflow: hidden;
}

.header-main {
  background: transparent;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}
.header-main nav {
  display: inline-block;
  padding: 2rem;
  width: 100%;
}
.header-main a:not(.button) {
  color: #1a0f11;
  font-weight: 600;
  height: 2.5rem;
  line-height: 2.5rem;
  opacity: 0.4;
}
.header-main a:not(.button):hover {
  color: #C01F2F;
  opacity: 1;
}
.header-main a:not(.button).active {
  opacity: 1;
}
.header-main ul.inline {
  display: inline-block;
  margin: 0;
}
.header-main ul.inline:first-child {
  padding-top: 4em;
}
.header-main ul.inline li {
  margin-bottom: 0;
  padding-right: 2rem;
}
.header-main .nav-toggle {
  display: none;
}
.header-main.dark a:not(.button) {
  color: #fff;
}
.header-main.dark a:not(.button):hover {
  color: #fff;
}
.header-main.dark .nav-toggle:before {
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .header-main {
    position: fixed;
  }
  .header-main nav {
    padding: 0.5rem 0.75rem;
  }
  .header-main a:not(.button):hover {
    color: #1a0f11;
  }
  .header-main ul.inline {
    display: none;
  }
  .header-main .nav-toggle {
    transition: all 0.2s;
    cursor: pointer;
    display: inline-block;
    float: right;
    height: 2.5rem;
    text-align: center;
    width: 1.5rem;
  }
  .header-main .nav-toggle:before {
    direction: ltr;
    display: inline-block;
    font-family: "Material Icons";
    font-feature-settings: "liga";
    font-size: 1.5rem;
    font-style: normal;
    font-weight: normal;
    letter-spacing: normal;
    line-height: 1;
    text-rendering: optimizeLegibility;
    text-transform: none;
    white-space: nowrap;
    word-wrap: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #1a0f11;
    content: "menu";
    line-height: 2.5rem;
    /* Prevent text from icon name to show up before load */
  }
  .preload .header-main .nav-toggle:before {
    font-size: 0;
  }
  .header-main.fade-in nav {
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
    background: rgba(26, 15, 17, 0.94);
  }
  .header-main.fade-in a:not(.button) {
    color: #fff;
  }
  .header-main.fade-in a:not(.button):hover {
    color: #fff;
  }
  .header-main.fade-in .nav-toggle:before {
    color: #fff;
  }
  .header-main.active {
    height: 100%;
  }
  .header-main.active nav {
    box-shadow: none !important;
    transition: none !important;
    background: #1a0f11;
    height: 100%;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .header-main.active a:not(.button) {
    color: #fff;
  }
  .header-main.active a:not(.button):hover {
    color: #fff;
  }
  .header-main.active ul.inline {
    display: block;
    width: 100%;
  }
  .header-main.active ul.inline li {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2rem;
    margin-bottom: 0.5rem;
    padding: 0;
    text-align: center;
    width: 100%;
  }
  .header-main.active ul.inline li a:not(.button) {
    font-weight: 400;
    line-height: 3rem;
  }
  .header-main.active .nav-toggle {
    transform: rotate(90deg);
  }
  .header-main.active .nav-toggle:before {
    color: #fff;
    content: "close";
  }
  .header-main.active .button {
    transition: none !important;
    height: 3.5rem;
    line-height: 3.5rem;
    font-size: inherit;
    /*margin-top: $space;*/
  }
  .header-main.active .button-secondary {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
  }
  .header-main.active .button-secondary:hover {
    background: rgba(255, 255, 255, 0.1);
  }
}

/* -----------------------------------------------------------------------------

# Components - Icons

----------------------------------------------------------------------------- */
.feature-icons {
  border-radius: 100%;
  background: rgba(26, 15, 17, 0.04);
  color: #1a0f11;
  font-size: 3rem;
  height: 6rem;
  line-height: 6rem;
  margin-bottom: 1rem;
  text-align: center;
  width: 6rem;
}
.dark .feature-icons {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.preload .feature-icons {
  font-size: 0;
}

/* -----------------------------------------------------------------------------

# Components - List

----------------------------------------------------------------------------- */
ol,
ul {
  margin: 0 0 1rem 0;
  padding-left: 1.25rem;
}
ol.blank,
ul.blank {
  list-style: none;
  padding: 0;
}
ol.inline,
ul.inline {
  padding-left: 0;
}
ol.inline li,
ul.inline li {
  display: inline-block;
  padding-right: 1rem;
  vertical-align: top;
}
ol.inline li:last-child,
ul.inline li:last-child {
  padding-right: 0;
}

/* -----------------------------------------------------------------------------

# Components - Logo

----------------------------------------------------------------------------- */
.logo {
  transition: all 0.2s;
  color: #1a0f11;
  display: block;
  float: left;
  font-size: 1.5rem;
  font-weight: 900;
  height: 2.5rem;
  letter-spacing: 0.5px;
  line-height: 2.5rem;
  margin-right: 2.5rem;
  opacity: 1 !important;
}
.logo span {
  display: inline-block;
  font-family: "PT Serif", Georgia, serif;
  vertical-align: top;
}
.logo img,
.logo svg {
  height: 2rem;
  margin: 0.25rem;
}
.dark .logo {
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .logo {
    transition: none !important;
  }
}

/* -----------------------------------------------------------------------------

# Components - Pricing

----------------------------------------------------------------------------- */
.pricing-price {
  font-weight: 400;
}

.pricing-duration {
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1rem;
}

/* -----------------------------------------------------------------------------

# Components - Table

----------------------------------------------------------------------------- */
table {
  border-radius: 0.1875rem;
  background: #f6f6f9;
  border-collapse: collapse;
  margin-bottom: 1rem;
  width: 100%;
}
table tr {
  border-bottom: 1px solid #ececee;
}
table tr:last-child {
  border-bottom: none;
}
table th {
  border-top-left-radius: 0.1875rem;
  border-top-right-radius: 0.1875rem;
  padding: 1rem;
  text-align: left;
}
table td {
  padding: 1rem;
}
.dark table {
  background: #1a0f11;
}
.dark table tr {
  border-bottom: 1px solid #030202;
}
.dark table tr:last-child {
  border-bottom: none;
}

/* -----------------------------------------------------------------------------

# Pages - Onboarding

----------------------------------------------------------------------------- */
.page-onboarding .form-help {
  line-height: 2.5rem;
  position: absolute;
  right: 0;
  top: 0;
}
.page-onboarding .featured-image {
  height: 100%;
  position: fixed;
  right: 0;
}
@media only screen and (max-width: 767px) {
  .page-onboarding .featured-image {
    height: 12rem;
    position: relative;
  }
}

.morph-button {
  position: relative;
  display: block;
  margin: 0 auto;
}

.morph-button.open > button {
  pointer-events: none;
}

.morph-content {
  pointer-events: none;
}

.morph-button.open .morph-content {
  pointer-events: auto;
}

/* Common styles for overlay and modal type (fixed morph) */
.morph-button-fixed,
.morph-button-fixed .morph-content {
  height: 43px;
}

.morph-button-fixed > button {
  z-index: 1000;
  width: 100%;
  height: 100%;
  transition: opacity 0.1s 0.5s;
}

.morph-button-fixed.open > button {
  opacity: 0;
  transition: opacity 0.1s;
}

.morph-button-fixed .morph-content {
  position: fixed;
  z-index: 900;
  opacity: 0;
  transition: opacity 0.3s 0.5s, width 0.4s 0.1s, height 0.4s 0.1s, top 0.4s 0.1s, left 0.4s 0.1s, margin 0.4s 0.1s;
}

.morph-button-fixed.open .morph-content {
  opacity: 1;
}

.morph-button-fixed .morph-content > div {
  visibility: hidden;
  height: 0;
  opacity: 0;
  transition: opacity 0.1s, visibility 0s 0.1s, height 0s 0.1s;
}

.morph-button-fixed.open .morph-content > div {
  visibility: visible;
  height: auto;
  opacity: 1;
  transition: opacity 0.3s 0.5s;
}

.morph-button-fixed.active > button {
  z-index: 2000;
}

.morph-button-fixed.active .morph-content {
  z-index: 1900;
}

/* Transitions for overlay button and sidebar button */
.morph-button-overlay .morph-content,
.morph-button-sidebar .morph-content {
  transition: opacity 0.3s 0.5s, width 0.4s 0.1s, height 0.4s 0.1s, top 0.4s 0.1s, left 0.4s 0.1s;
}

.morph-button-overlay.open .morph-content,
.morph-button-sidebar.open .morph-content {
  transition: width 0.4s 0.1s, height 0.4s 0.1s, top 0.4s 0.1s, left 0.4s 0.1s;
}

/* Morph Button Style: Overlay */
.morph-button.morph-button-overlay {
  margin: 50px auto;
}

.morph-button-overlay .morph-content {
  overflow: hidden;
  background: #e85657;
}

.morph-button-overlay.open .morph-content {
  top: 0 !important;
  left: 0 !important;
  width: 100%;
  height: 100%;
}

/* Morph Button Style: Modal */
.morph-button-modal::before {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 800;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  content: "";
  opacity: 0;
  transition: opacity 0.5s;
  pointer-events: none;
}

.morph-button-modal.open::before {
  opacity: 1;
  pointer-events: auto;
}

.morph-button-modal.active::before {
  z-index: 1800;
}

.morph-button-modal .morph-content {
  overflow: hidden;
  transition: opacity 0.3s 0.5s, width 0.4s 0.1s, height 0.4s 0.1s, top 0.4s 0.1s, left 0.4s 0.1s, margin 0.4s 0.1s, border-radius 0.4s 0.1s;
}

.morph-button-modal.open .morph-content {
  top: 50% !important;
  left: 50% !important;
  margin: -210px 0 0 -300px;
  width: 600px !important;
  height: 420px;
  transition: width 0.4s 0.1s, height 0.4s 0.1s, top 0.4s 0.1s, left 0.4s 0.1s, margin 0.4s 0.1s, border-radius 0.4s 0.1s;
  max-width: 100%;
}

.morph-button.morph-button-modal {
  display: inline-block;
  margin: 0;
}

.morph-button-modal .morph-content {
  background-color: #fff;
  color: #000;
}

.morph-button-modal.open .morph-content > div {
  transition: opacity 0.3s 0.3s;
}

/* Morph Button Style: Sidebar */
.morph-button-sidebar,
.morph-button-sidebar .morph-content {
  width: 60px;
  height: 60px;
}

.morph-button-sidebar {
  position: fixed;
  bottom: 50px;
  left: 50px;
}
.morph-button-sidebar > button {
  line-height: 60px;
  font-size: 1.6em;
  padding: 0;
}

.morph-button-sidebar .morph-content {
  background: #e85657;
}

.morph-button-sidebar.open .morph-content {
  top: 0 !important;
  left: 0 !important;
  width: 300px !important;
  height: 100%;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
}

/* Let's add some nice easing for all cases */
.morph-button .morph-content,
.morph-button.open .morph-content {
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}

/* Helper classes */
.noscroll {
  overflow: hidden;
}

.morph-button-overlay.scroll .morph-content {
  overflow-y: scroll;
}

.morph-button-sidebar.scroll .morph-content {
  overflow: auto;
}

.morph-button-modal.open .morph-content {
  margin-left: -150px !important;
  width: 300px !important;
}

@media (min-width: 400px) {
  .morph-button-modal.open .morph-content {
    height: 464px;
    margin-top: -232px;
    top: 50% !important;
    left: 50% !important;
    transform: none !important;
    margin-left: -220px !important;
  }

  .morph-button-modal.open .morph-content {
    margin: -210px 0 0 -170px;
    width: 440px !important;
    height: 420px;
    max-width: 100%;
  }
}
.marshall-newsletter-header {
  padding: 40px 0 20px;
  position: relative;
}
.marshall-newsletter-header img {
  display: block;
  margin: auto;
  position: relative;
  width: 60px;
  z-index: 3;
}

.marshall-newsletter-inner {
  padding: 0 30px;
  padding-bottom: 30px;
  text-align: center;
}

.invite-description > p {
  color: #747474;
}

span.close-newsletter {
  cursor: pointer;
  height: 25px;
  line-height: 20px;
  position: absolute;
  right: 12px;
  top: 12px;
  width: 20px;
  color: #999;
  transition: all 0.4s ease;
}
span.close-newsletter:hover {
  font-size: 1.2em;
  color: #111;
}

.marshall-newsletter-content {
  margin: 35px auto auto;
  width: 80%;
}
.marshall-newsletter-content > input {
  display: block;
  width: 100%;
}
.marshall-newsletter-content input[type=email] {
  background-color: #ebebeb;
  border: 0 solid;
  line-height: 1.5;
  margin-bottom: 10px;
  padding: 15px;
  text-align: center;
}
.marshall-newsletter-content .marshall_submit {
  background-color: #f61067;
  border: 0 none;
  display: block;
  width: 100%;
  color: #fff;
  cursor: pointer;
  padding: 12px 0;
  transition: width 0.4s ease 0s, border-radius 0.4s;
  position: relative;
  margin: auto;
}
.marshall-newsletter-content .marshall_submit:hover {
  background-color: #E00A62;
}
.marshall-newsletter-content .marshall_submit:after {
  background-image: url("/media/tick.png");
  background-size: 100% auto;
  content: "";
  display: block;
  height: 20px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: scale(0);
  width: 20px;
  z-index: 9;
  visibility: hidden;
  opacity: 0;
  margin-top: -10px;
  margin-left: -10px;
  transition: transform 0.4s;
}

.morph-button-modal.open .morph-content {
  height: 464px;
  margin-top: -232px;
}

.invite-description h2 {
  margin-top: 10px;
  line-height: 1.1em;
}

@-webkit-keyframes spinnerRotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

@keyframes spinnerRotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.marshall-newsletter-content.mform-submitting .marshall_submit {
  border-radius: 50% !important;
  height: 46px;
  margin: auto;
  text-indent: -9999px;
  width: 46px !important;
}

.marshall-newsletter-content .marshall_submit::before {
  opacity: 0;
  visibility: hidden;
  background-color: transparent;
  border: 2px dashed #fff;
  border-radius: 50%;
  bottom: 3px;
  content: "";
  display: block;
  left: 3px;
  position: absolute;
  right: 3px;
  top: 3px;
  opacity: 0;
  visibility: hidden;
  z-index: 2;
  transition-property: opacity;
  transition-duration: 0.4s;
  transition-timing-function: linear;
  transition-delay: 0;
}

.marshall-newsletter-content.mform-animate .marshall_submit::before {
  opacity: 1;
  visibility: visible;
  transition: top 0.4s, left 0.4s, right 0.4s, bottom 0.4s, border-radius 0.4s, border-width 0.4s ease 0.4s;
  -webkit-animation: 1s linear 0.4s normal none infinite running spinnerRotate;
          animation: 1s linear 0.4s normal none infinite running spinnerRotate;
}

.marshall-newsletter-content.mform-submitting.mform-success .marshall_submit::after {
  transform: scale(1);
  opacity: 1;
  visibility: visible;
}

.marshall-newsletter-content.mform-animate.mform-submitting.mform-success .marshall_submit::before {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-width: 0;
}

@-webkit-keyframes mformBounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -50px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 15px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: none;
  }
}

@keyframes mformBounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
            animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -50px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 15px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: none;
  }
}
.mformBounceInDown {
  -webkit-animation-name: mformBounceInDown;
          animation-name: mformBounceInDown;
}

.marshall-newsletter-header.mfrom-header-animate-close img {
  -webkit-animation-name: mformBounceInDown;
          animation-name: mformBounceInDown;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-direction: alternate;
          animation-direction: alternate;
}

@media (min-width: 400px) {
  .marshall-newsletter-header img {
    width: 100px;
  }
}
.animation-icon {
  color: #e2e2e4;
  left: 0;
  position: absolute;
  top: 0;
  transition: all 0.6s ease 0s;
}
.animation-icon img {
  width: 1em;
}

.medium-icon {
  font-size: 1.5em;
}

.small-icon {
  font-size: 1.2em;
}

.large-icon {
  font-size: 2em;
}

.marshall-newsletter-animation-icons {
  height: 50px;
  left: 50%;
  margin-left: -25px;
  margin-top: -25px;
  position: absolute;
  top: 50%;
  width: 100%;
}

.marshall-newsletter-content label {
  display: block;
  font-size: 0.8em;
  margin-top: 5px;
}

.request-demo.open-animate .animation-icon-7,
.mfrom-header-animate .animation-icon-7 {
  left: -175px;
  top: -12px;
  transform: rotate(-20deg);
}

.request-demo.open-animate .animation-icon-8,
.mfrom-header-animate .animation-icon-8 {
  left: -175px;
  top: 40px;
  transform: rotate(-7deg);
}

.request-demo.open-animate .animation-icon-4,
.mfrom-header-animate .animation-icon-4 {
  left: -125px;
  top: 22px;
  transform: rotate(-4deg);
}

.request-demo.open-animate .animation-icon-1,
.mfrom-header-animate .animation-icon-1 {
  left: -94px;
  top: -19px;
  transform: rotate(20deg);
}

.request-demo.open-animate .animation-icon-2,
.mfrom-header-animate .animation-icon-2 {
  left: -94px;
  top: 51px;
  transform: rotate(-20deg);
}

.request-demo.open-animate .animation-icon-9,
.mfrom-header-animate .animation-icon-9 {
  left: -71px;
  top: 8px;
  transform: rotate(22deg);
}

.request-demo.open-animate .animation-icon-16,
.mfrom-header-animate .animation-icon-16 {
  left: 185px;
  top: -12px;
  transform: rotate(20deg);
}

.request-demo.open-animate .animation-icon-17,
.mfrom-header-animate .animation-icon-17 {
  left: 185px;
  top: 40px;
  transform: rotate(7deg);
}

.request-demo.open-animate .animation-icon-5,
.mfrom-header-animate .animation-icon-5 {
  left: 148px;
  top: 22px;
  transform: rotate(4deg);
}

.request-demo.open-animate .animation-icon-3,
.mfrom-header-animate .animation-icon-3 {
  left: 117px;
  top: -19px;
  transform: rotate(-20deg);
}

.request-demo.open-animate .animation-icon-10,
.mfrom-header-animate .animation-icon-10 {
  left: 117px;
  top: 51px;
  transform: rotate(20deg);
}

.request-demo.open-animate .animation-icon-18,
.mfrom-header-animate .animation-icon-18 {
  left: 90px;
  top: 8px;
  transform: rotate(-22deg);
}

.marshall-newsletter-header.mfrom-header-animate-close .marshall-newsletter-animation-icons .animation-icon {
  left: 0;
  transform: rotate(0deg);
  top: 0;
  opacity: 0;
}

button {
  font: inherit;
  background: none;
  color: inherit;
  border: none;
  outline: none;
  cursor: pointer;
}

.linkedin {
  height: 1.5rem;
  float: right;
  margin-right: 0;
  filter: grayscale(1);
}

.linkedin:hover {
  filter: grayscale(0);
}

.partners {
  margin-top: 1rem;
}
.partners .col-one-fourth, .partners .col-one-fifth, .partners .col-one-sixth {
  display: flex;
  align-items: center;
}
.partners .col-one-fourth img, .partners .col-one-fifth img, .partners .col-one-sixth img {
  padding: 0.5em;
  margin: 0 auto;
}
.partners .col-one-fourth a, .partners .col-one-fifth a, .partners .col-one-sixth a {
  margin: 0 auto;
}
.partners .col-one-sixth img {
  padding: 0.1em;
}

.products .card-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.products .card-content a {
  margin-top: auto;
}

.header-main ul li {
  position: relative;
}
.header-main ul li > ul {
  padding: 0;
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .header-main ul li > ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
  }
  .header-main ul li:hover > ul {
    display: inherit;
  }
  .header-main ul li:hover > a {
    color: #C01F2F;
    opacity: 1;
  }
  .header-main ul li > ul li {
    display: block;
  }
  .header-main ul li > ul li a {
    white-space: nowrap;
  }
}
@media only screen and (max-width: 767px) {
  .header-main ul li.mobile-hide > a {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .mobile-hide {
    display: none;
  }
}

.mobile-show {
  display: none;
}
.mobile-show:after {
  content: "";
  display: block;
  clear: both;
}
@media only screen and (max-width: 767px) {
  .mobile-show {
    display: block;
  }
}

@media only screen and (max-width: 767px) {
  .header-main.active ul.inline li.mobile-hide {
    margin-bottom: 0;
  }
}

.hidden {
  display: none;
}

.request-demo .dark.overlay-shape-03:before {
  background: linear-gradient(#1a0f11 0%, #030202 100%);
}
.request-demo .checkbox label {
  display: block;
}
.request-demo form label.checkbox {
  display: inline-block;
  margin-right: 0.2em;
}
.request-demo .checkbox br {
  display: none;
}
.request-demo ::-webkit-input-placeholder {
  color: #1a0f11;
}
.request-demo :-moz-placeholder {
  color: #1a0f11;
  opacity: 1;
}
.request-demo ::-moz-placeholder {
  color: #1a0f11;
  opacity: 1;
}
.request-demo :-ms-input-placeholder {
  color: #1a0f11;
}
@media only screen and (max-width: 767px) {
  .request-demo .row.max-width-l {
    flex-direction: column-reverse;
  }
  .request-demo .space-left {
    padding-left: 0;
    margin-bottom: 3rem;
  }
  .request-demo .space-right {
    padding-right: 0;
  }
  .request-demo .checkbox {
    text-align: left;
  }
  .request-demo .checkbox br {
    display: block;
  }
}

#popup-invite {
  z-index: 1800;
  font-size: 1rem;
  line-height: 1.25rem;
}

.morph-button > button {
  font-weight: 700;
}

@media only screen and (max-width: 479px) {
  .morph-button-fixed, .morph-button-fixed .morph-content {
    height: 3.5rem;
    line-height: 3.5rem;
  }
}
.morph-button-fixed.open, .morph-button-fixed .morph-content.open {
  border-radius: 3rem;
}

@media only screen and (max-width: 479px) {
  body > header > nav .morph-button-fixed {
    width: 100%;
  }
}

.marshall-newsletter-header {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.morph-content button {
  outline: none;
}

.morph-content {
  border-radius: 3em;
}

.morph-button.open .morph-content,
.morph-content button,
.morph-content input {
  border-radius: 4px;
}

body > header.header-main {
  z-index: 1003;
}

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  box-shadow: 0 0 5em rgba(255, 255, 255, 0.5);
}

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

svg + span.tm {
  font-size: 0.75rem;
  margin-left: -0.5em;
  margin-top: -0.5em;
}

span.tm {
  font-size: 0.75rem;
  margin-top: -0.5em;
}

h1 span.tm {
  font-size: 1.25rem;
  position: absolute;
}

body > .header-main a.menu-phone {
  opacity: 0.7;
}

body > .header-main.dark a.menu-phone:hover {
  opacity: 1;
}

@media only screen and (max-width: 1023px) {
  .row.min-two-columns:not(.reverse-order) [class^=col-] {
    margin: 1rem 2% 0 2%;
  }
  .row.min-two-columns:not(.reverse-order) [class^=col-]:last-child:nth-child(odd) {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
}

.width-200 {
  width: 200px;
}

/* animation for Magic Leap's lovely heart icon */
.leap-love {
  width: 0.7em;
  height: 0.7em;
  fill: #f12742;
  pointer-events: none;
  margin: -4px 6px 0px;
  -webkit-animation: myheartgrows 2s ease-in-out 0s infinite normal none running;
          animation: myheartgrows 2s ease-in-out 0s infinite normal none running;
}

@-webkit-keyframes myheartgrows {
  0%, 25%, 50%, 75%, 100% {
    transform: scale3d(1, 1, 1);
  }
  40%, 60% {
    transform: scale3d(1.2, 1.2, 1.2);
  }
}

@keyframes myheartgrows {
  0%, 25%, 50%, 75%, 100% {
    transform: scale3d(1, 1, 1);
  }
  40%, 60% {
    transform: scale3d(1.2, 1.2, 1.2);
  }
}
* {
  font-face: swap;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsImJhc2UvX3Jlc2V0LnNjc3MiLCJiYXNlL19taXhpbnMuc2NzcyIsImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fZ3JpZC5zY3NzIiwidG9vbHMvX2FsaWduLnNjc3MiLCJ0b29scy9fYmFja2dyb3VuZC5zY3NzIiwidG9vbHMvX2RpdmlkZXIuc2NzcyIsInRvb2xzL19mdWxsLXNjcmVlbi5zY3NzIiwidG9vbHMvX2Z1bGwtd2lkdGguc2NzcyIsInRvb2xzL19tYXgtd2lkdGguc2NzcyIsInRvb2xzL19taW4td2lkdGguc2NzcyIsInRvb2xzL19vcGFjaXR5LnNjc3MiLCJ0b29scy9fcm91bmRlZC5zY3NzIiwidG9vbHMvX3NoYWRvdy5zY3NzIiwidG9vbHMvX3NwYWNpbmcuc2NzcyIsImNvbXBvbmVudHMvX2FsZXJ0cy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19pY29ucy5zY3NzIiwiY29tcG9uZW50cy9fbGlzdC5zY3NzIiwiY29tcG9uZW50cy9fbG9nby5zY3NzIiwiY29tcG9uZW50cy9fcHJpY2luZy5zY3NzIiwiY29tcG9uZW50cy9fdGFibGUuc2NzcyIsInBhZ2VzL19vbmJvYXJkaW5nLnNjc3MiLCJpbnZpdGUvbW9ycGgtYnV0dG9uLnNjc3MiLCJpbnZpdGUvaW52aXRlLWZvcm0uc2NzcyIsImludml0ZS9hbmltYXRpb24taWNvbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQTs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUF3Q1E7QUFDQTtBQUNBO0FDdkRSOztBQUFBOztBQUFBO0FBTUE7QUFFTTtFQUFnQjs7QUFBaUI7RUFBNEI7O0FBQXFCO0VBQWlCOztBQUF3QjtFQUFvQztFQUFzQjs7QUFBVTtFQUFLO0VBQTBCOztBQUE4QjtFQUFLOztBQUFTO0VBQTRFOztBQUFjO0VBQU87O0FBQWdCO0VBQUc7RUFBdUI7O0FBQVM7RUFBa0I7RUFBZ0M7O0FBQWM7RUFBRTtFQUE2Qjs7QUFBcUM7RUFBWTtFQUFtQjtFQUEwQjs7QUFBaUM7RUFBUzs7QUFBbUI7RUFBSTs7QUFBa0I7RUFBSztFQUFzQjs7QUFBVztFQUFNOztBQUFjO0VBQVE7RUFBYztFQUFjOztBQUFrQjtFQUFJOztBQUFjO0VBQUk7O0FBQVU7RUFBc0I7RUFBYTs7QUFBUztFQUFJOztBQUFrQjtFQUFlOztBQUFnQjtFQUFzQztFQUF1QjtFQUFlOztBQUFTO0VBQWM7O0FBQW9CO0VBQXFEOztBQUEwQjtFQUF3SDtFQUFrQjs7QUFBVTtFQUE0Rzs7QUFBOEI7RUFBUzs7QUFBMkI7RUFBTztFQUFjO0VBQWM7RUFBZTs7QUFBbUI7RUFBUzs7QUFBYztFQUFrRjs7QUFBWTtFQUFjO0VBQTZCOztBQUFvQjtFQUFxRjs7QUFBd0I7RUFBNkI7RUFBMEI7O0FBQWE7RUFBUTs7QUFBa0I7RUFBa0I7OztBQUVuNEQ7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0VBR0U7OztBQUdGO0VDNk1FO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBRDdNRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRSxZRXpDbUI7RUYwQ25CLE9FNUNtQjs7O0FGK0NyQjtFQUNFLFlFOUNtQjtFRitDbkIsT0VqRG1COzs7QUNGckI7O0FBQUE7O0FBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRSxPRFBtQjtFQ1FuQixhREVZO0VDRFo7RUFDQTtFQUNBOzs7QUFHRjtFRjRNRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VFOU1BLE9EbEJtQjtFQ21CbkI7RUFDQTs7QUFFQTtFQUNFLE9EckJpQjtFQ3NCakIsU0REUzs7O0FDS2I7RUY2REU7RUFDQTtFQUNBO0VBQ0E7RUFrRUEsdUJBRHNCO0VBRXRCLG9CQUZzQjtFQUd0QixlQUhzQjtFRTlIdEIsWUQ1Qm1CO0VDNkJuQjtFQUNBO0VBQ0E7RUFDQTtFQUNBLFNEUE87RUNRUDtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQU1FOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUNFOzs7QUFJSjtBQUFBO0FBQUE7RUFHRSxhRDdDYTs7O0FDZ0RmO0FBQUE7QUFBQTtFQUdFLGFEcERZOzs7QUN1RGQ7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FGZ0xBO0VFeExKO0lBWUk7SUFDQTs7RUFFQTtJQUNFO0lBQ0E7Ozs7QUFLTjtFQUNFO0VBQ0E7RUFDQTs7QUYrSkU7RUVsS0o7SUFNSTtJQUNBOzs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FGb0pFO0VFdkpKO0lBTUk7SUFDQTs7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTs7QUFFQTtFQUNFOzs7QUFJSjtFRnZERTtFQUNBO0VBQ0E7O0FBc0tFO0VFakhKO0lBSUk7SUFDQTs7OztBQUlKO0VGMURFO0VBQ0E7RUFDQTtFQUNBOztBRTBEQTtFQUNFLGFEMUlXOztBRDhPWDtFRXhHSjtJQVFJO0lBQ0E7SUFDQTs7OztBQUlKO0VBQ0UsU0QxSVc7OztBQzZJYjtFQUNFLE9EeEttQjs7QUMwS25CO0VBQ0UsT0QzS2lCOztBQzhLbkI7RUFDRSxZRDNLaUI7O0FDOEtuQjtFQUNFLFNEMUpTOzs7QUM4SmI7RUFDRSxPRHZMbUI7O0FDeUxuQjtFQUNFLE9EMUxpQjs7O0FFSHJCOztBQUFBOztBQUFBO0FBU0E7RUhXRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBV0EsbUJBRHNCO0VBRXRCLGVBRnNCO0VBR3RCLFdBSHNCO0VHdEJ0QixPQU5NOztBQVFOO0VBQWdCOztBQUNoQjtFQUFpQjs7QUFDakI7RUFBa0I7O0FBQ2xCO0VBQWlCOztBQUNqQjtFQUFpQjs7QUFFakI7RUFBa0I7O0FBQ2xCO0VBQW1COztBQUNuQjtFQUFrQjs7QUFDbEI7RUFBcUI7O0FBQ3JCO0VBQW9COztBQUNwQjtFQUFtQjs7QUFFbkI7RUFDRTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7QUgyTkY7RUd0TkE7SUFDRTtJQUNBOztFQUVBO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0UsT0FwREE7O0VBd0RKO0lBQ0U7SUFDQSxPQTFERTs7RUE0REY7SUFDRTs7O0FINExKO0VHdExBO0lBQ0U7SUFDQSxPQXJFRTs7RUF1RUY7SUFDRTs7OztBQU1SO0FIMktJO0VHdktBO0lBQ0U7O0VBRUE7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFJSjtJQUNFOztFQUVBO0lBQ0UsWUYvRUM7OztBRDhOTDtFR3pJQTtJQUNFOztFQUVBO0lBQ0UsWUZ6RkM7Ozs7QUUrRlQ7QUgrSEk7RUczSEE7SUFDRTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOztFQUlKO0lBQ0U7O0VBRUE7SUFDRTs7OztBQU1SO0FIMkVJO0VHdkVBO0lBQ0U7SUFDQTs7RUFFQTtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0UsT0F2TUE7O0VBNE1GO0lBQ0U7O0VBRUE7SUFDRTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTs7OztBQU9WO0FBR0U7RUFBZ0I7O0FBQ2hCO0VBQWlCOztBQUNqQjtFQUFrQjs7QUFDbEI7RUFBaUI7O0FBQ2pCO0VBQWlCOztBQUVqQjtFQUFrQjs7QUFDbEI7RUFBbUI7O0FBQ25CO0VBQWtCOztBQUNsQjtFQUFxQjs7QUFDckI7RUFBb0I7O0FBQ3BCO0VBQW1COztBQUVuQjtFQUNFOztBSEtBO0VHREE7SUFDRTs7RUFHRjtJQUNFLE9BN1BFOzs7QUh5UEo7RUdTQTtJQUNFLE9BblFFOzs7O0FDTlI7O0FBQUE7O0FBQUE7QUFNQTtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUpBRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUEsd0JBRGdDO0VBRWhDLHFCQUZnQztFQUdoQyxvQkFIZ0M7RUFJaEMsZ0JBSmdDO0VBMkVoQyxlQUQrQjtFQUUvQix5QkFGK0I7RUFHL0Isc0JBSCtCO0VBSS9CLHFCQUorQjtFQUsvQixpQkFMK0I7OztBQTBKN0I7RUlwT0Y7SUFDRTs7O0FKbU9BO0VJOU5GO0lBQ0U7OztBSjZOQTtFSXhORjtJQUNFOzs7QUN4Q0o7O0FBQUE7O0FBQUE7QUFNQTtFQUNFLFlKRG1COzs7QUlJckI7RUFDRSxZSkptQjs7O0FJT3JCO0VBQ0UsWUpYbUI7OztBSWNyQjtFQUNFLFlKakJtQjs7O0FJb0JyQjtBQUVBO0VMd0ZFLFlLdkZzQztFTHdGdEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FLekZGO0VMb0ZFLFlDekdtQjtFRDBHbkI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FLckZGO0VMZ0ZFLFlLL0VrQztFTGdGbEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FLakZGO0VMNEVFLFlLM0VrQztFTDRFbEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FLN0VGO0VMd0VFLFlLdkVrQztFTHdFbEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FLekVGO0VMb0VFLFlLbkVrQztFTG9FbEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FLckVGO0VMZ0VFLFlLL0RrQztFTGdFbEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FLakVGO0VMNERFLFlLM0RrQztFTDREbEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FLN0RGO0VMd0RFLFlLdkRrQztFTHdEbEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FLekRGO0VMb0RFLFlLbkRrQztFTG9EbEM7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FLckRGO0FBRUE7RUFDRTtFQUNBO0FBQ0Y7O0FBRUU7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7OztBQUlKO0FBRUE7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBSUE7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBTEY7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBSUo7QUFHRTtFQUNFOztBTHlJQTtFSzFJRjtJQUlJOzs7O0FBSko7RUFDRTs7QUx5SUE7RUsxSUY7SUFJSTs7OztBQUpKO0VBQ0U7O0FMeUlBO0VLMUlGO0lBSUk7Ozs7QUFKSjtFQUNFOztBTHlJQTtFSzFJRjtJQUlJOzs7O0FBSko7RUFDRTs7QUx5SUE7RUsxSUY7SUFJSTs7OztBQUpKO0VBQ0U7O0FMeUlBO0VLMUlGO0lBSUk7Ozs7QUFKSjtFQUNFOztBTHlJQTtFSzFJRjtJQUlJOzs7O0FBSko7RUFDRTs7QUx5SUE7RUsxSUY7SUFJSTs7OztBQUtOO0VMTEUsWUNySG1CO0VEc0huQjtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QU05SEY7O0FBQUE7O0FBQUE7QUFNQTtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUNaSjs7QUFBQTs7QUFBQTtBQU1BO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7SUFDQTtJQUNBOzs7QUNoQko7O0FBQUE7O0FBQUE7QUFNQTtFQUNFOztBUndQRTtFUXJQQTtJQUNFOzs7QVJvUEY7RVEvT0E7SUFDRTs7OztBQ2pCTjs7QUFBQTs7QUFBQTtBQU1BO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRSxXUlNhOzs7QVFOZjtFQUNFLFdSTWE7OztBUUhmO0VBQ0UsV1JHYTs7O0FTdkJmOztBQUFBOztBQUFBO0FBTUE7RUFDRTs7O0FBR0Y7RUFDRSxXVFVhOzs7QVNQZjtFQUNFLFdUT2E7OztBU0pmO0VBQ0UsV1RJYTs7O0FVdkJmOztBQUFBOztBQUFBO0FBTUE7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FDZkY7O0FBQUE7O0FBQUE7QUFNQTtFWjRKRSx1QlkzSmlCO0VaNEpqQixvQlk1SmlCO0VaNkpqQixlWTdKaUI7O0FBRWpCO0VaK0pBLG1DWTlKMEI7RVorSjFCLCtCWS9KMEI7RVpnSzFCLDJCWWhLMEI7RVppSzFCLG9DWWpLMEI7RVprSzFCLGdDWWxLMEI7RVptSzFCLDRCWW5LMEI7O0FBRzFCO0Vab0tBLGdDWW5LdUI7RVpvS3ZCLDRCWXBLdUI7RVpxS3ZCLHdCWXJLdUI7RVpzS3ZCLGlDWXRLdUI7RVp1S3ZCLDZCWXZLdUI7RVp3S3ZCLHlCWXhLdUI7OztBQ2R6Qjs7QUFBQTs7QUFBQTtBQU1BO0Vic0xFO0VBQ0E7RUFDQTs7O0FhcExGO0Vid0xFO0VBQ0E7RUFDQTs7O0FhdExGO0ViMExFO0VBQ0E7RUFDQTs7O0FheExGO0ViNExFO0VBQ0E7RUFDQTs7O0FjaE5GOztBQUFBOztBQUFBO0FBTUE7RUFDRTs7QWR3UEU7RWN6UEo7SUFJSTs7O0FkcVBBO0VjelBKO0lBUUk7Ozs7QUFJSjtFQUNFOztBZDRPRTtFYzdPSjtJQUlJOzs7QWR5T0E7RWM3T0o7SUFRSTs7OztBQUlKO0VBRUU7O0FkK05FO0Vjak9KO0lBS0k7OztBZDROQTtFY2pPSjtJQVNJOzs7O0FBSUo7RUFDRTs7QWRtTkU7RWNwTko7SUFJSTs7O0FkZ05BO0VjcE5KO0lBUUk7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O0VBQ0E7OztBQUdEO0FBQ0E7QUFBQTtFQUdDOzs7QUFJRDtBQUNBO0VBRUM7OztBQUdEO0VBRUM7OztBQUdEO0VBRUM7OztBQUdEO0VBRUM7RUFDQTs7O0FBSUQ7RUFFQztJQUVDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0VBR0Q7SUFFQztJQUNBO0lBQ0E7SUFDQTs7O0FDeFFGO0VBRUM7RUFDQTs7QUFFQTtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlGO0VBRUM7RUFDQTtFQUVBOzs7QUFHRDtFQUVDOzs7QUFHRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUVDO0VBQ0E7OztBQUlGO0VBa0JDO0VBQ0E7O0FBakJBO0VBRUM7RUFDQTs7QUFHRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFNRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUM7O0FBR0Q7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0g7RUFFQztFQUNBOzs7QUFHRDtFQUVDO0VBQ0E7OztBQUdEO0VBRUk7SUFBSzs7RUFDTDtJQUFHOzs7QUFJUDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBRUM7RUFDQTtFQUNBOzs7QUFHRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlEO0VBRUM7SUFFQzs7RUFHRDtJQUVDO0lBQ0E7O0VBR0Q7SUFFQztJQUNBOztFQUdEO0lBRUM7O0VBR0Q7SUFFQzs7RUFHRDtJQUVDOzs7QUFJRjtFQUVDOzs7QUFHRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUQ7RUFJRTtJQUVDOzs7QUNqUEg7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBRUM7OztBQUlGO0VBQWU7OztBQUNmO0VBQWU7OztBQUNmO0VBQWU7OztBQUVmO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QS9CTkY7RUFFQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0U7OztBQUdGO0VBRUM7O0FBRUE7RUFFQztFQUNBOztBQUVBO0VBRUM7RUFDQTs7QUFHRDtFQUVDOztBQU1EO0VBRUM7OztBQU9GO0VBRUM7RUFDQTtFQUNBOztBQUVBO0VBRUM7OztBQUtIO0VBRUM7O0FBRUE7RUFFQztFQUNBOztBRStFRTtFRjNFRjtJQUVDO0lBQ0E7SUFDQTtJQUNBOztFQUVEO0lBRUM7O0VBRUQ7SUFFQztJQUNBOztFQUVEO0lBRUM7O0VBRUQ7SUFFQzs7O0FFcURDO0VGaERGO0lBRUM7Ozs7QUU4Q0M7RUZ4Q0o7SUFJRTs7OztBQUdGO0VBRUM7O0FBQ0E7RUFDQztFQUNBO0VBQ0E7O0FFMkJFO0VGakNKO0lBVUU7Ozs7QUV1QkU7RUZsQko7SUFJRTs7OztBQUlGO0VBRUM7OztBQUtBO0VBRUM7O0FBRUQ7RUFFQzs7QUFFRDtFQUVDO0VBQ0E7O0FBRUQ7RUFFQzs7QUFFRDtFQUVDOztBQUVEO0VBRUM7RUFDQTs7QUFFRDtFQUVDO0VBQ0E7O0FBRUQ7RUFFQzs7QUFFRDtFQUVDO0lBRUM7O0VBRUQ7SUFFQztJQUNBOztFQUVEO0lBRUM7O0VBRUQ7SUFFQzs7RUFFQTtJQUVDOzs7O0FBT0o7RUFFQztFQUNBO0VBQ0E7OztBQUdEO0VBRUM7OztBRXJFRztFRndFSjtJQUlFO0lBQ0E7OztBQUdEO0VBRUM7OztBRWxGRTtFRjBGRjtJQUVDOzs7O0FBS0g7RUFFQzs7O0FBS0E7RUFFQzs7O0FBSUY7RUFFQzs7O0FBR0Q7QUFBQTtBQUFBO0VBSUM7OztBQUdEO0VBRUM7OztBQUlEO0VBRUM7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0FBQUE7QUFBQTtFQUlDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBRUM7RUFDQTtFQUNBOzs7QUFHRDtFQUVDO0VBQ0E7OztBQUdEO0VBRUM7RUFDQTs7O0FBR0Q7RUFFQzs7O0FBR0Q7RUFFQzs7O0FFN0tHO0VGb0xGO0lBRUM7O0VBRUE7SUFFQztJQUNBO0lBQ0E7Ozs7QUFNSjtFQUVDOzs7QUFJRDtBQUNBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUVDO0lBQTBCOztFQUMxQjtJQUFXOzs7QUFHWjtFQUVDIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohXHJcbiAqXHJcbiAqICAgVGVtcGxhdGUgTmFtZTogT3BhbGluIEhUTUwgVGVtcGxhdGVcclxuICogICBUZW1wbGF0ZSBVUkk6IGh0dHBzOi8vdWl1eGFzc2V0cy5jb20vYXNzZXRzL29wYWxpbi1odG1sLXRlbXBsYXRlL1xyXG4gKiAgIEF1dGhvcjogVUkvVVggQXNzZXRzIDxoZWxsb0B1aXV4YXNzZXRzLmNvbT5cclxuICogICBBdXRob3IgVVJJOiBodHRwczovL3VpdXhhc3NldHMuY29tL1xyXG4gKiAgIFZlcnNpb246IHYxLjAuMFxyXG4gKiAgIExpY2Vuc2U6IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBWZXJzaW9uIDJcclxuICogICBMaWNlbnNlIFVSSTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbFxyXG4gKiAgIENvcHlyaWdodCAoQykgMjAxOCBVSS9VWCBBc3NldHNcclxuICpcclxuKi9cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5UYWJsZSBPZiBDb250ZW50c1xyXG5cclxuMS4wIC0gQmFzZVxyXG4gIDEuMSAtIFJlc2V0XHJcbiAgMS4yIC0gVHlwb2dyYXBoeVxyXG4gIDEuMyAtIEdyaWRcclxuXHJcbjIuMCAtIFRvb2xzXHJcbiAgMi4xIC0gQWxpZ25cclxuICAyLjIgLSBCYWNrZ3JvdW5kXHJcbiAgMi4zIC0gRGl2aWRlclxyXG4gIDIuNCAtIEZ1bGwgU2NyZWVuXHJcbiAgMi41IC0gRnVsbCBXaWR0aFxyXG4gIDIuNiAtIE1heCBXaWR0aFxyXG4gIDIuNyAtIE1pbiBXaWR0aFxyXG4gIDIuOCAtIE9wYWNpdHlcclxuICAyLjkgLSBSb3VuZGVkXHJcbiAgMi4xMCAtIFNoYWRvd1xyXG4gIDIuMTEgLSBTcGFjaW5nXHJcblxyXG4zLjAgLSBDb21wb25lbnRzXHJcbiAgMy4xIC0gQWxlcnRzXHJcbiAgMy4yIC0gQnV0dG9uc1xyXG4gIDMuMyAtIENhcmRcclxuICAzLjQgLSBGb290ZXJcclxuICAzLjUgLSBGb3Jtc1xyXG4gIDMuNiAtIEhlYWRlclxyXG4gIDMuNyAtIEljb25zXHJcbiAgMy44IC0gTGlzdFxyXG4gIDMuOSAtIExvZ29cclxuICAzLjEwIC0gUHJpY2luZ1xyXG4gIDMuMTEgLSBUYWJsZVxyXG5cclxuNC4wIC0gUGFnZXNcclxuICA0LjEgLSBPbmJvYXJkaW5nXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TGF0bzozMDAsNDAwLDcwMCw5MDBcIik7XHJcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVBUK1NlcmlmOjQwMCw3MDBcIik7XHJcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9pY29uP2ZhbWlseT1NYXRlcmlhbCtJY29uc1wiKTtcclxuXHJcbi8vIEJhc2VcclxuXHJcbkBpbXBvcnQgXCJiYXNlL3ZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiYmFzZS9taXhpbnNcIjtcclxuQGltcG9ydCBcImJhc2UvcmVzZXRcIjtcclxuQGltcG9ydCBcImJhc2UvdHlwb2dyYXBoeVwiO1xyXG5AaW1wb3J0IFwiYmFzZS9ncmlkXCI7XHJcblxyXG4vLyBUb29sc1xyXG5cclxuQGltcG9ydCBcInRvb2xzL2FsaWduXCI7XHJcbkBpbXBvcnQgXCJ0b29scy9iYWNrZ3JvdW5kXCI7XHJcbkBpbXBvcnQgXCJ0b29scy9kaXZpZGVyXCI7XHJcbkBpbXBvcnQgXCJ0b29scy9mdWxsLXNjcmVlblwiO1xyXG5AaW1wb3J0IFwidG9vbHMvZnVsbC13aWR0aFwiO1xyXG5AaW1wb3J0IFwidG9vbHMvbWF4LXdpZHRoXCI7XHJcbkBpbXBvcnQgXCJ0b29scy9taW4td2lkdGhcIjtcclxuQGltcG9ydCBcInRvb2xzL29wYWNpdHlcIjtcclxuQGltcG9ydCBcInRvb2xzL3JvdW5kZWRcIjtcclxuQGltcG9ydCBcInRvb2xzL3NoYWRvd1wiO1xyXG5AaW1wb3J0IFwidG9vbHMvc3BhY2luZ1wiO1xyXG5cclxuLy8gQ29tcG9uZW50c1xyXG5cclxuQGltcG9ydCBcImNvbXBvbmVudHMvYWxlcnRzXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvbnNcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvY2FyZFwiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb290ZXJcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybXNcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ljb25zXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xpc3RcIjtcclxuQGltcG9ydCBcImNvbXBvbmVudHMvbG9nb1wiO1xyXG5AaW1wb3J0IFwiY29tcG9uZW50cy9wcmljaW5nXCI7XHJcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RhYmxlXCI7XHJcblxyXG4vLyBQYWdlc1xyXG5cclxuQGltcG9ydCBcInBhZ2VzL29uYm9hcmRpbmdcIjtcclxuXHJcblxyXG5AaW1wb3J0ICdpbnZpdGUvbW9ycGgtYnV0dG9uJztcclxuQGltcG9ydCAnaW52aXRlL2ludml0ZS1mb3JtJztcclxuQGltcG9ydCAnaW52aXRlL2FuaW1hdGlvbi1pY29ucyc7XHJcblxyXG5cclxuYnV0dG9uXHJcbntcclxuXHRmb250OiBpbmhlcml0O1xyXG5cdGJhY2tncm91bmQ6IG5vbmU7XHJcblx0Y29sb3I6IGluaGVyaXQ7XHJcblx0Ym9yZGVyOiBub25lO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubGlua2VkaW57XHJcblx0aGVpZ2h0OiAxLjVyZW07XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdG1hcmdpbi1yaWdodDogMDtcclxuXHRmaWx0ZXI6IGdyYXlzY2FsZSgxKTtcclxufVxyXG5cclxuLmxpbmtlZGluOmhvdmVyIHtcclxuICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcclxufVxyXG5cclxuLnBhcnRuZXJzXHJcbntcclxuXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFxyXG5cdC5jb2wtb25lLWZvdXJ0aCwgLmNvbC1vbmUtZmlmdGgsIC5jb2wtb25lLXNpeHRoXHJcblx0e1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcclxuXHRcdGltZ1xyXG5cdFx0e1xyXG5cdFx0XHRwYWRkaW5nOiAwLjVlbTtcclxuXHRcdFx0bWFyZ2luOjAgYXV0bztcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0YVxyXG5cdFx0e1xyXG5cdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcblx0LmNvbC1vbmUtc2l4dGhcclxuXHR7XHJcblx0XHRpbWdcclxuXHRcdHtcclxuXHRcdFx0cGFkZGluZzogMC4xZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdHMgXHJcbntcclxuXHQuY2FyZC1jb250ZW50ICBcclxuXHR7XHJcblx0XHRkaXNwbGF5OmZsZXg7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjpjb2x1bW47XHJcblx0XHRhbGlnbi1pdGVtczpjZW50ZXI7XHJcblx0XHRcclxuXHRcdGEgXHJcblx0XHR7XHJcblx0XHRcdG1hcmdpbi10b3A6YXV0bztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oZWFkZXItbWFpbiB1bCBsaVxyXG57XHJcblx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHJcblx0JiA+IHVsXHJcblx0e1xyXG5cdFx0cGFkZGluZzowO1xyXG5cdFx0bWFyZ2luOjA7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1xKFwidGFibGV0XCIsIG1pbilcclxuXHR7XHJcblx0XHQmID4gdWwgXHJcblx0XHR7XHJcblx0XHRcdGRpc3BsYXk6bm9uZTtcclxuXHRcdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRcdHRvcDoxMDAlO1xyXG5cdFx0XHRsZWZ0OjA7XHJcblx0XHR9XHJcblx0XHQmOmhvdmVyID4gdWwgXHJcblx0XHR7XHJcblx0XHRcdGRpc3BsYXk6aW5oZXJpdDtcclxuXHRcdH1cclxuXHRcdCY6aG92ZXIgPiBhIFxyXG5cdFx0e1xyXG5cdFx0XHRjb2xvcjojQzAxRjJGO1xyXG5cdFx0XHRvcGFjaXR5OjE7XHJcblx0XHR9XHJcblx0XHQmID4gdWwgbGkgXHJcblx0XHR7XHJcblx0XHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHR9XHJcblx0XHQmID4gdWwgbGkgYSBcclxuXHRcdHtcclxuXHRcdFx0d2hpdGUtc3BhY2U6bm93cmFwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRAaW5jbHVkZSBtcShcInRhYmxldFwiKVxyXG5cdHtcclxuXHRcdCYubW9iaWxlLWhpZGUgPiBhIFxyXG5cdFx0e1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi5tb2JpbGUtaGlkZSBcclxue1xyXG5cdEBpbmNsdWRlIG1xKFwidGFibGV0XCIpXHJcblx0e1xyXG5cdFx0ZGlzcGxheTpub25lO1xyXG5cdH1cclxufVxyXG4ubW9iaWxlLXNob3dcclxue1xyXG5cdGRpc3BsYXk6bm9uZTtcclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6Jyc7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0Y2xlYXI6Ym90aDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbXEoXCJ0YWJsZXRcIilcclxuXHR7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi5oZWFkZXItbWFpbi5hY3RpdmUgdWwuaW5saW5lIGxpLm1vYmlsZS1oaWRlXHJcbntcclxuXHRAaW5jbHVkZSBtcShcInRhYmxldFwiKVxyXG5cdHtcclxuXHRcdG1hcmdpbi1ib3R0b206MDtcclxuXHR9XHJcbn1cclxuXHJcbi5oaWRkZW4gXHJcbntcclxuXHRkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbi5yZXF1ZXN0LWRlbW8gXHJcbntcdFxyXG5cdC5kYXJrLm92ZXJsYXktc2hhcGUtMDM6YmVmb3JlIFxyXG5cdHtcclxuXHRcdGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KCMxYTBmMTEgMCUsICMwMzAyMDIgMTAwJSk7XHJcblx0fVxyXG5cdC5jaGVja2JveCBsYWJlbCBcclxuXHR7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdH1cclxuXHRmb3JtIGxhYmVsLmNoZWNrYm94XHJcblx0e1xyXG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRtYXJnaW4tcmlnaHQ6MC4yZW07XHRcdFx0XHRcclxuXHR9XHJcblx0LmNoZWNrYm94IGJyIFxyXG5cdHtcclxuXHRcdGRpc3BsYXk6bm9uZTtcclxuXHR9XHJcblx0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyXHJcblx0e1xyXG5cdFx0Y29sb3I6IzFhMGYxMTtcclxuXHR9XHJcblx0Oi1tb3otcGxhY2Vob2xkZXJcclxuXHR7XHJcblx0XHRjb2xvcjojMWEwZjExO1xyXG5cdFx0b3BhY2l0eToxO1xyXG5cdH1cclxuXHQ6Oi1tb3otcGxhY2Vob2xkZXJcclxuXHR7XHJcblx0XHRjb2xvcjojMWEwZjExO1xyXG5cdFx0b3BhY2l0eToxO1xyXG5cdH1cclxuXHQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyXHJcblx0e1xyXG5cdFx0Y29sb3I6IzFhMGYxMTtcclxuXHR9XHJcblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweClcclxuXHR7XHJcblx0XHQucm93Lm1heC13aWR0aC1sIFxyXG5cdFx0e1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZTtcclxuXHRcdH1cclxuXHRcdC5zcGFjZS1sZWZ0IFxyXG5cdFx0e1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6MDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTozcmVtO1xyXG5cdFx0fVxyXG5cdFx0LnNwYWNlLXJpZ2h0IFxyXG5cdFx0e1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OjA7XHJcblx0XHR9XHRcclxuXHRcdC5jaGVja2JveCAgXHJcblx0XHR7XHJcblx0XHRcdHRleHQtYWxpZ246bGVmdDtcclxuXHRcdFx0XHJcblx0XHRcdGJyIFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0ZGlzcGxheTpibG9jaztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuI3BvcHVwLWludml0ZVxyXG57XHJcblx0ei1pbmRleDogMTgwMDtcclxuXHRmb250LXNpemU6IDFyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuMjVyZW07XHJcbn1cclxuXHJcbi5tb3JwaC1idXR0b24gPiBidXR0b25cclxue1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5tb3JwaC1idXR0b24tZml4ZWQsIC5tb3JwaC1idXR0b24tZml4ZWQgLm1vcnBoLWNvbnRlbnRcclxue1xyXG5cdEBpbmNsdWRlIG1xKFwibW9iaWxlXCIpXHJcblx0e1xyXG5cdFx0aGVpZ2h0OiAzLjVyZW07XHJcblx0XHRsaW5lLWhlaWdodDogMy41cmVtO1xyXG5cdH1cclxuXHRcclxuXHQmLm9wZW5cclxuXHR7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzcmVtO1xyXG5cdH1cclxufVxyXG5cclxuYm9keSA+IGhlYWRlciA+IG5hdlxyXG57XHJcblx0QGluY2x1ZGUgbXEoXCJtb2JpbGVcIilcclxuXHR7XHJcblx0XHQubW9ycGgtYnV0dG9uLWZpeGVkXHJcblx0XHR7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLm1hcnNoYWxsLW5ld3NsZXR0ZXItaGVhZGVyXHJcbntcclxuXHR1c2VyLXNlbGVjdDogbm9uZTtcclxufVxyXG5cclxuLm1vcnBoLWNvbnRlbnRcclxue1xyXG5cdGJ1dHRvblxyXG5cdHtcclxuXHRcdG91dGxpbmU6IG5vbmU7XHJcblx0fVxyXG59XHJcblxyXG4ubW9ycGgtY29udGVudFxyXG57XHJcblx0Ym9yZGVyLXJhZGl1czogM2VtO1xyXG59XHJcblxyXG4ubW9ycGgtYnV0dG9uLm9wZW4gLm1vcnBoLWNvbnRlbnQsXHJcbi5tb3JwaC1jb250ZW50IGJ1dHRvbixcclxuLm1vcnBoLWNvbnRlbnQgaW5wdXRcclxue1xyXG5cdGJvcmRlci1yYWRpdXM6IDRweDtcclxufVxyXG5cclxuYm9keSA+IGhlYWRlci5oZWFkZXItbWFpblxyXG57XHJcblx0ei1pbmRleDogMTAwMztcclxufVxyXG5cclxuXHJcbi5lbWJlZC1jb250YWluZXJcclxue1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0Ym94LXNoYWRvdzogMCAwIDVlbSByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XHJcbn1cclxuXHJcbi5lbWJlZC1jb250YWluZXIgaWZyYW1lLFxyXG4uZW1iZWQtY29udGFpbmVyIG9iamVjdCxcclxuLmVtYmVkLWNvbnRhaW5lciBlbWJlZFxyXG57XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuc3ZnK3NwYW4udG1cclxue1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHRtYXJnaW4tbGVmdDogLTAuNWVtO1xyXG5cdG1hcmdpbi10b3A6IC0wLjVlbTtcclxufVxyXG5cclxuc3Bhbi50bVxyXG57XHJcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xyXG5cdG1hcmdpbi10b3A6IC0wLjVlbTtcclxufVxyXG5cclxuaDEgc3Bhbi50bVxyXG57XHJcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuYm9keSA+IC5oZWFkZXItbWFpbiBhLm1lbnUtcGhvbmVcclxue1xyXG5cdG9wYWNpdHk6IDAuNztcclxufVxyXG5cclxuYm9keSA+IC5oZWFkZXItbWFpbi5kYXJrIGEubWVudS1waG9uZTpob3ZlclxyXG57XHJcblx0b3BhY2l0eTogMS4wO1xyXG59XHJcblxyXG4ucm93Lm1pbi10d28tY29sdW1uczpub3QoLnJldmVyc2Utb3JkZXIpXHJcbntcclxuXHRAaW5jbHVkZSBtcShcImRlc2t0b3Atc1wiKVxyXG5cdHtcclxuXHRcdFtjbGFzc149XCJjb2wtXCJdXHJcblx0XHR7XHJcblx0XHRcdG1hcmdpbjogKDEgKiAkc3BhY2UpICgkZ3V0dGVyIC8gMikgMCAoJGd1dHRlciAvIDIpO1xyXG5cdFx0XHRcclxuXHRcdFx0JjpsYXN0LWNoaWxkOm50aC1jaGlsZChvZGQpXHJcblx0XHRcdHtcclxuXHRcdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLndpZHRoLTIwMFxyXG57XHJcblx0d2lkdGg6IDIwMHB4O1xyXG59XHJcblxyXG5cclxuLyogYW5pbWF0aW9uIGZvciBNYWdpYyBMZWFwJ3MgbG92ZWx5IGhlYXJ0IGljb24gKi9cclxuLmxlYXAtbG92ZVxyXG57XHJcbiAgICB3aWR0aDogMC43ZW07XHJcbiAgICBoZWlnaHQ6IDAuN2VtO1xyXG4gICAgZmlsbDogcmdiKDI0MSwgMzksIDY2KTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgbWFyZ2luOiAtNHB4IDZweCAwcHg7XHJcbiAgICBhbmltYXRpb246IG15aGVhcnRncm93cyAycyBlYXNlLWluLW91dCAwcyBpbmZpbml0ZSBub3JtYWwgbm9uZSBydW5uaW5nO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG15aGVhcnRncm93c1xyXG57XHJcblx0MCUsIDI1JSwgNTAlLCA3NSUsIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH1cclxuXHQ0MCUsIDYwJSB7IHRyYW5zZm9ybTogc2NhbGUzZCgxLjIsIDEuMiwgMS4yKTsgfVxyXG59XHJcblxyXG4qXHJcbntcclxuXHRmb250LWZhY2U6IHN3YXA7XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBCYXNlIC0gUmVzZXRcclxuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4vKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXHJcblxyXG5odG1sIHtidXR0b24saHIsaW5wdXR7b3ZlcmZsb3c6dmlzaWJsZX1hdWRpbyxjYW52YXMscHJvZ3Jlc3MsdmlkZW97ZGlzcGxheTppbmxpbmUtYmxvY2t9cHJvZ3Jlc3Msc3ViLHN1cHt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1bdHlwZT1jaGVja2JveF0sW3R5cGU9cmFkaW9dLGxlZ2VuZHtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfWh0bWx7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e21hcmdpbjowfWFydGljbGUsYXNpZGUsZGV0YWlscyxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsaGVhZGVyLG1haW4sbWVudSxuYXYsc2VjdGlvbntkaXNwbGF5OmJsb2NrfWZpZ3VyZXttYXJnaW46MWVtIDQwcHh9aHJ7Ym94LXNpemluZzpjb250ZW50LWJveDtoZWlnaHQ6MH1jb2RlLGtiZCxwcmUsc2FtcHtmb250LWZhbWlseTptb25vc3BhY2UsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19YXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Oy13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6b2JqZWN0c31hYmJyW3RpdGxlXXtib3JkZXItYm90dG9tOm5vbmU7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIGRvdHRlZH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9ZGZue2ZvbnQtc3R5bGU6aXRhbGljfW1hcmt7YmFja2dyb3VuZC1jb2xvcjojZmYwO2NvbG9yOiMwMDB9c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfWF1ZGlvOm5vdChbY29udHJvbHNdKXtkaXNwbGF5Om5vbmU7aGVpZ2h0OjB9aW1ne2JvcmRlci1zdHlsZTpub25lfXN2Zzpub3QoOnJvb3Qpe292ZXJmbG93OmhpZGRlbn1idXR0b24saW5wdXQsb3B0Z3JvdXAsc2VsZWN0LHRleHRhcmVhe2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7Zm9udC1zaXplOjEwMCU7bWFyZ2luOjB9YnV0dG9uLHNlbGVjdHt0ZXh0LXRyYW5zZm9ybTpub25lfVt0eXBlPXJlc2V0XSxbdHlwZT1zdWJtaXRdLGJ1dHRvbixodG1sIFt0eXBlPWJ1dHRvbl17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbn1bdHlwZT1idXR0b25dOjotbW96LWZvY3VzLWlubmVyLFt0eXBlPXJlc2V0XTo6LW1vei1mb2N1cy1pbm5lcixbdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyLGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcntib3JkZXItc3R5bGU6bm9uZTtwYWRkaW5nOjB9W3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxbdHlwZT1yZXNldF06LW1vei1mb2N1c3JpbmcsW3R5cGU9c3VibWl0XTotbW96LWZvY3VzcmluZyxidXR0b246LW1vei1mb2N1c3Jpbmd7b3V0bGluZTpCdXR0b25UZXh0IGRvdHRlZCAxcHh9ZmllbGRzZXR7cGFkZGluZzouMzVlbSAuNzVlbSAuNjI1ZW19bGVnZW5ke2NvbG9yOmluaGVyaXQ7ZGlzcGxheTp0YWJsZTttYXgtd2lkdGg6MTAwJTt3aGl0ZS1zcGFjZTpub3JtYWx9dGV4dGFyZWF7b3ZlcmZsb3c6YXV0b31bdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixbdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1baGlkZGVuXSx0ZW1wbGF0ZXtkaXNwbGF5Om5vbmV9fVxyXG5cclxuLyogRGVmYXVsdHMgKi9cclxuXHJcbmh0bWwge1xyXG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbn1cclxuXHJcbiosXHJcbio6YmVmb3JlLFxyXG4qOmFmdGVyIHtcclxuICBib3gtc2l6aW5nOiBpbmhlcml0O1xyXG59XHJcblxyXG4ucHJlbG9hZCAqIHtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLW5vbmU7XHJcbn1cclxuXHJcbmltZyB7XHJcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcclxuICAtbW96LWZsZXgtc2hyaW5rOiAwO1xyXG4gIC1tcy1mbGV4LXNocmluazogMDtcclxuICBmbGV4LXNocmluazogMDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxufVxyXG5cclxuc2VjdGlvbiB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuOjpzZWxlY3Rpb24ge1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbn1cclxuXHJcbjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xyXG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbn0iLCIvLyBBbGlnbm1lbnRzXHJcblxyXG5AbWl4aW4gYWxpZ24taXRlbXMoJGFsaWduOiBjZW50ZXIpIHtcclxuICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkYWxpZ247XHJcbiAgLW1vei1hbGlnbi1pdGVtczogJGFsaWduO1xyXG4gIC1tcy1hbGlnbi1pdGVtczogJGFsaWduO1xyXG4gIGFsaWduLWl0ZW1zOiAkYWxpZ247XHJcbn1cclxuXHJcbi8vIEFwcGVhcmFuY2VcclxuXHJcbkBtaXhpbiBhcHBlYXJhbmNlKCR2YWx1ZTogbm9uZSkge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogJHZhbHVlO1xyXG4gIC1tb3otYXBwZWFyYW5jZTogJHZhbHVlO1xyXG4gIGFwcGVhcmFuY2U6ICR2YWx1ZTtcclxufVxyXG5cclxuLy8gRmxleFxyXG5cclxuQG1peGluIGZsZXgoKSB7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xyXG4gIGRpc3BsYXk6IC1tb3otZmxleDtcclxuICBkaXNwbGF5OiAtbXMtZmxleDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogY29sdW1uKSB7XHJcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICAtbW96LWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxuICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcclxufVxyXG5cclxuQG1peGluIGZsZXgtd3JhcCgkd3JhcDogd3JhcCkge1xyXG4gIC13ZWJraXQtZmxleC13cmFwOiAkd3JhcDtcclxuICAtbXMtZmxleC13cmFwOiAkd3JhcDtcclxuICBmbGV4LXdyYXA6ICR3cmFwO1xyXG59XHJcblxyXG4vLyBGb250IHNpemVzXHJcblxyXG5AbWl4aW4gZm9udC1zaXplLXMge1xyXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zaXplLXMtYiB7XHJcbiAgQGluY2x1ZGUgZm9udC1zaXplLXM7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZS1tIHtcclxuICBmb250LXNpemU6IDAuODc1cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDFyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNpemUtbS1iIHtcclxuICBAaW5jbHVkZSBmb250LXNpemUtbTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zaXplLWRlZmF1bHQge1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNpemUtZGVmYXVsdC1iIHtcclxuICBAaW5jbHVkZSBmb250LXNpemUtZGVmYXVsdDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zaXplLWwge1xyXG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zaXplLWwtYiB7XHJcbiAgQGluY2x1ZGUgZm9udC1zaXplLWw7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZS1sZWFkIHtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xyXG59XHJcblxyXG5AbWl4aW4gZm9udC1zaXplLXBhcmFncmFwaCB7XHJcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xyXG4gIGxpbmUtaGVpZ2h0OiAycmVtO1xyXG59XHJcblxyXG4vLyBKdXN0aWZ5IENvbnRlbnRcclxuXHJcbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQoJGp1c3RpZnk6IGNlbnRlcikge1xyXG4gIC1tcy1mbGV4LXBhY2s6ICRqdXN0aWZ5O1xyXG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxuICAtbW96LWp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAgLW1zLWp1c3RpZnktY29udGVudDogJGp1c3RpZnk7XHJcbiAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcclxufVxyXG5cclxuLy8gTGluZWFyIGdyYWRpZW50XHJcblxyXG5AbWl4aW4gbGluZWFyLWdyYWRpZW50KCRmcm9tLCAkdG8pIHtcclxuICBiYWNrZ3JvdW5kOiAkdG87XHJcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGZyb20gMCUsICR0byAxMDAlKTtcclxuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgkZnJvbSAwJSwgJHRvIDEwMCUpO1xyXG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQoJGZyb20gMCUsICR0byAxMDAlKTtcclxuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQoJGZyb20gMCUsICR0byAxMDAlKTtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGZyb20gMCUsICR0byAxMDAlKTtcclxufVxyXG5cclxuQG1peGluIGxpbmVhci1ncmFkaWVudC1kaWFnb25hbCgkZnJvbSwgJHRvKSB7XHJcbiAgYmFja2dyb3VuZDogJHRvO1xyXG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDE0MGRlZywgJGZyb20gMjUlLCAkdG8gMTAwJSk7XHJcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQoMTQwZGVnLCAkZnJvbSAyNSUsICR0byAxMDAlKTtcclxuICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KDE0MGRlZywgJGZyb20gMjUlLCAkdG8gMTAwJSk7XHJcbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KDE0MGRlZywgJGZyb20gMjUlLCAkdG8gMTAwJSk7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0MGRlZywgJGZyb20gMjUlLCAkdG8gMTAwJSk7XHJcbn1cclxuXHJcbi8vIE1hdGVyaWFsIGljb25zXHJcblxyXG5AbWl4aW4gbWF0ZXJpYWwtaWNvbnMge1xyXG4gIGRpcmVjdGlvbjogbHRyO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBmb250LWZhbWlseTogXCJNYXRlcmlhbCBJY29uc1wiO1xyXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJsaWdhXCI7XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogMTtcclxuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgd29yZC13cmFwOiBub3JtYWw7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxufVxyXG5cclxuLy8gUm90YXRpb25zXHJcblxyXG5AbWl4aW4gcm90YXRlKCRkZWdyZWU6IDkwZGVnKSB7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlKTtcclxuICAtbW96LXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWUpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlKTtcclxuICAtby10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlKTtcclxufVxyXG5cclxuLy8gUm91bmRlZCBjb3JuZXJzXHJcblxyXG5AbWl4aW4gcm91bmRlZCgkcmFkaXVzOiAwLjE4NzVyZW0pIHtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbn1cclxuXHJcbkBtaXhpbiByb3VuZGVkLWJvdHRvbSgkcmFkaXVzOiAwLjE4NzVyZW0pIHtcclxuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbWxlZnQ6ICRyYWRpdXM7XHJcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogJHJhZGl1cztcclxuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcclxufVxyXG5cclxuQG1peGluIHJvdW5kZWQtdG9wKCRyYWRpdXM6IDAuMTg3NXJlbSkge1xyXG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcclxuICAtbW96LWJvcmRlci1yYWRpdXMtdG9wbGVmdDogJHJhZGl1cztcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xyXG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiAkcmFkaXVzO1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xyXG59XHJcblxyXG4vLyBTaGFkb3dzXHJcblxyXG5AbWl4aW4gc2hhZG93LXMoJHg6IDAsICR5OiAxcHgsICRibHVyOiAzcHgsICRjb2xvcjogcmdiYSgwLDAsMCwwLjEpKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkeCAkeSAkYmx1ciAkY29sb3I7XHJcbiAgLW1vei1ib3gtc2hhZG93OiAkeCAkeSAkYmx1ciAkY29sb3I7XHJcbiAgYm94LXNoYWRvdzogJHggJHkgJGJsdXIgJGNvbG9yO1xyXG59XHJcblxyXG5AbWl4aW4gc2hhZG93LW0oJHg6IDAsICR5OiA4cHgsICRibHVyOiAxNnB4LCAkY29sb3I6IHJnYmEoMCwwLDAsMC4xKSkge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogJHggJHkgJGJsdXIgJGNvbG9yO1xyXG4gIC1tb3otYm94LXNoYWRvdzogJHggJHkgJGJsdXIgJGNvbG9yO1xyXG4gIGJveC1zaGFkb3c6ICR4ICR5ICRibHVyICRjb2xvcjtcclxufVxyXG5cclxuQG1peGluIHNoYWRvdy1sKCR4OiAwLCAkeTogMzJweCwgJGJsdXI6IDQwcHgsICRjb2xvcjogcmdiYSgwLDAsMCwwLjEpKSB7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkeCAkeSAkYmx1ciAkY29sb3I7XHJcbiAgLW1vei1ib3gtc2hhZG93OiAkeCAkeSAkYmx1ciAkY29sb3I7XHJcbiAgYm94LXNoYWRvdzogJHggJHkgJGJsdXIgJGNvbG9yO1xyXG59XHJcblxyXG5AbWl4aW4gc2hhZG93LW5vbmUge1xyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIC1tb3otYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gVHJhbnNmb3JtYXRpb25zXHJcbkBtaXhpbiB0cmFuc2Zvcm0oJHk6IC0xcHgpIHtcclxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkeSk7XHJcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHkpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHkpO1xyXG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgkeSk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR5KTtcclxufVxyXG5cclxuXHJcbi8vIFRyYW5zaXRpb25zXHJcblxyXG5AbWl4aW4gdHJhbnNpdGlvbigkZHVyYXRpb246IDAuMnMpIHtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAkZHVyYXRpb247XHJcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgJGR1cmF0aW9uO1xyXG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgJGR1cmF0aW9uO1xyXG4gIC1vLXRyYW5zaXRpb246IGFsbCAkZHVyYXRpb247XHJcbiAgdHJhbnNpdGlvbjogYWxsICRkdXJhdGlvbjtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24tbm9uZSB7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgLW1vei10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgLW1zLXRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAtby10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBNZWRpYSBxdWVyaWVzXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBcIm1vYmlsZVwiICAgIDogNDgwcHgsXHJcbiAgXCJ0YWJsZXRcIiAgICA6IDc2OHB4LFxyXG4gIFwiZGVza3RvcC1zXCIgOiAxMDI0cHgsXHJcbiAgXCJkZXNrdG9wLW1cIiA6IDE0NDBweCxcclxuICBcImRlc2t0b3AtbFwiIDogMTkyMHB4XHJcbik7XHJcblxyXG5AbWl4aW4gbXEoJHdpZHRoLCAkdHlwZTogbWF4KSB7XHJcbiAgQGlmIG1hcF9oYXNfa2V5KCRicmVha3BvaW50cywgJHdpZHRoKSB7XHJcbiAgICAkd2lkdGg6IG1hcF9nZXQoJGJyZWFrcG9pbnRzLCAkd2lkdGgpO1xyXG4gICAgQGlmICR0eXBlID09IG1heCB7XHJcbiAgICAgICR3aWR0aDogJHdpZHRoIC0gMXB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoI3skdHlwZX0td2lkdGg6ICR3aWR0aCkge1xyXG4gICAgICBAY29udGVudDtcclxuICAgIH1cclxuICB9XHJcbn0iLCIvLyBDb2xvcnNcclxuXHJcbiRjb2xvci13aGl0ZSAgICAgICA6ICNmZmY7XHJcbiRjb2xvci1ibGFjayAgICAgICA6ICMyZDJkMmQ7XHJcbiRjb2xvci1wcmltYXJ5ICAgICA6ICNDMDFGMkY7XHJcbiRjb2xvci1zZWNvbmRhcnkgICA6ICM3NTAzMEU7XHJcbiRjb2xvci10ZXh0ICAgICAgICA6ICMxYTBmMTE7XHJcbiRjb2xvci1ncmF5LWxpZ2h0ICA6ICNmNmY2Zjk7XHJcbiRjb2xvci1ncmF5LW1lZGl1bSA6ICNlY2VjZWU7XHJcbiRjb2xvci1ncmF5LWRhcmsgICA6ICNjY2NlZDA7XHJcbiRjb2xvci1yZWQgICAgICAgICA6ICNlNTJiMjA7XHJcbiRjb2xvci1ncmVlbiAgICAgICA6ICM2M2NlNjM7XHJcbiRjb2xvci1vcmFuZ2UgICAgICA6ICNmZmJmMmY7XHJcblxyXG4vLyBGb250c1xyXG5cclxuJGZvbnQtc2FucyAgOiBcIkxhdG9cIiwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1zZXJpZiAgOiBcIlBUIFNlcmlmXCIsIEdlb3JnaWEsIHNlcmlmO1xyXG5cclxuLy8gTWF4aW11bSB3aWR0aHNcclxuXHJcbiRtYXgtd2lkdGgtcyA6IDQwMHB4O1xyXG4kbWF4LXdpZHRoLW0gOiA4MDBweDtcclxuJG1heC13aWR0aC1sIDogMTIwMHB4O1xyXG5cclxuLy8gT3BhY2l0eVxyXG5cclxuJG9wYWNpdHktcyA6IDAuOTtcclxuJG9wYWNpdHktbSA6IDAuNDtcclxuJG9wYWNpdHktbCA6IDAuMTtcclxuXHJcbi8vIFNwYWNpbmcgYmV0d2VubiBlbGVtZW50c1xyXG5cclxuJHNwYWNlIDogMXJlbTtcclxuXHJcbi8vIERhcmtlbiBhbmQgbGlnaHRlbiBjb2xvcnNcclxuXHJcbiRkYXJrZW4gIDogNyU7XHJcbiRsaWdodGVuIDogNyU7IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiMgQmFzZSAtIFR5cG9ncmFwaHlcclxuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5odG1sIHtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBsaW5lLWhlaWdodDogMjRweDtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zYW5zO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuYSB7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcclxuICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcbiAgJjpob3Zlcjpub3QoLmJ1dHRvbikge1xyXG4gICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgb3BhY2l0eTogJG9wYWNpdHktcztcclxuICB9XHJcbn1cclxuXHJcbmJsb2NrcXVvdGUge1xyXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZS1wYXJhZ3JhcGg7XHJcbiAgQGluY2x1ZGUgcm91bmRlZDtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JheS1saWdodDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheS1kYXJrO1xyXG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGNvbG9yLWdyYXktZGFyaztcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgbWFyZ2luOiAwIDAgJHNwYWNlIDA7XHJcbiAgcGFkZGluZzogJHNwYWNlO1xyXG4gIGZvbnQtc2l6ZTogMWVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjZlbTtcclxuICBvcGFjaXR5OiAwLjg7XHJcbn1cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYge1xyXG4gIG1hcmdpbjogMCAwICRzcGFjZSAwO1xyXG5cclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxufVxyXG5cclxuaDEsXHJcbmgyLFxyXG5oMyB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LXNlcmlmO1xyXG59XHJcblxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuICBmb250LWZhbWlseTogJGZvbnQtc2FucztcclxufVxyXG5cclxuaDEge1xyXG4gIGZvbnQtc2l6ZTogNHJlbTtcclxuICBmb250LXdlaWdodDogOTAwO1xyXG4gIGxpbmUtaGVpZ2h0OiA1LjI1cmVtO1xyXG5cclxuICAmLmhlcm8ge1xyXG4gICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJtb2JpbGVcIikge1xyXG4gICAgZm9udC1zaXplOiAzcmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07XHJcblxyXG4gICAgJi5oZXJvIHtcclxuICAgICAgZm9udC1zaXplOiAyLjVyZW07XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjI1cmVtO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuaDIge1xyXG4gIGZvbnQtc2l6ZTogM3JlbTtcclxuICBmb250LXdlaWdodDogOTAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAzLjc1cmVtO1xyXG5cclxuICBAaW5jbHVkZSBtcShcIm1vYmlsZVwiKSB7XHJcbiAgICBmb250LXNpemU6IDIuNXJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAzLjI1cmVtO1xyXG4gIH1cclxufVxyXG5cclxuaDMge1xyXG4gIGZvbnQtc2l6ZTogMnJlbTtcclxuICBmb250LXdlaWdodDogOTAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAyLjc1cmVtO1xyXG5cclxuICBAaW5jbHVkZSBtcShcIm1vYmlsZVwiKSB7XHJcbiAgICBmb250LXNpemU6IDEuNzVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcclxuICB9XHJcbn1cclxuXHJcbmg0IHtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xyXG59XHJcblxyXG5oNSB7XHJcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XHJcbn1cclxuXHJcbmg2IHtcclxuICBmb250LXNpemU6IDFyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gIG1hcmdpbjogMCAwICgwLjUgKiAkc3BhY2UpIDA7XHJcbn1cclxuXHJcbnAge1xyXG4gIG1hcmdpbjogMCAwICRzcGFjZSAwO1xyXG5cclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmxlYWQge1xyXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZS1sZWFkO1xyXG5cclxuICBAaW5jbHVkZSBtcShcIm1vYmlsZVwiKSB7XHJcbiAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xyXG4gIH1cclxufVxyXG5cclxuLnBhcmFncmFwaCB7XHJcbiAgQGluY2x1ZGUgZm9udC1zaXplLXBhcmFncmFwaDtcclxuXHJcbiAgJi5zZXJpZiB7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2VyaWY7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcShcIm1vYmlsZVwiKSB7XHJcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLm11dGVkIHtcclxuICBvcGFjaXR5OiAkb3BhY2l0eS1tO1xyXG59XHJcblxyXG4uZGFyayB7XHJcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuXHJcbiAgYTpub3QoLmJ1dHRvbikge1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICB9XHJcblxyXG4gIGJsb2NrcXVvdGUge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXRleHQ7XHJcbiAgfVxyXG5cclxuICBwIHtcclxuICAgIG9wYWNpdHk6ICRvcGFjaXR5LXM7XHJcbiAgfVxyXG59XHJcblxyXG4ubGlnaHQge1xyXG4gIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcblxyXG4gIGE6bm90KC5idXR0b24pIHtcclxuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XHJcbiAgfVxyXG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiMgQmFzZSAtIEdyaWRcclxuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4kd2lkdGg6IDEwMCU7XHJcbiRndXR0ZXI6IDQlO1xyXG5cclxuLnJvdyB7XHJcbiAgQGluY2x1ZGUgZmxleDtcclxuICBAaW5jbHVkZSBmbGV4LXdyYXA7XHJcbiAgd2lkdGg6ICR3aWR0aDtcclxuXHJcbiAgLmNvbC1vbmUtaGFsZiB7IHdpZHRoOiAkd2lkdGggLyAyIC0gJGd1dHRlciAqIDEgLyAyOyB9XHJcbiAgLmNvbC1vbmUtdGhpcmQgeyB3aWR0aDogJHdpZHRoIC8gMyAtICRndXR0ZXIgKiAyIC8gMzsgfVxyXG4gIC5jb2wtb25lLWZvdXJ0aCB7IHdpZHRoOiAkd2lkdGggLyA0IC0gJGd1dHRlciAqIDMgLyA0OyB9XHJcbiAgLmNvbC1vbmUtZmlmdGggeyB3aWR0aDogJHdpZHRoIC8gNSAtICRndXR0ZXIgKiA0IC8gNTsgfVxyXG4gIC5jb2wtb25lLXNpeHRoIHsgd2lkdGg6ICR3aWR0aCAvIDYgLSAkZ3V0dGVyICogNSAvIDY7IH1cclxuICBcclxuICAuY29sLXR3by10aGlyZHMgeyB3aWR0aDogKCR3aWR0aCAvIDMgLSAkZ3V0dGVyICogMiAvIDMpICogMiArICRndXR0ZXI7IH1cclxuICAuY29sLXR3by1mb3VydGhzIHsgd2lkdGg6ICgkd2lkdGggLyA0IC0gJGd1dHRlciAqIDMgLyA0KSAqIDIgKyAkZ3V0dGVyOyB9XHJcbiAgLmNvbC10d28tZmlmdGhzIHsgd2lkdGg6ICgkd2lkdGggLyA1IC0gJGd1dHRlciAqIDQgLyA1KSAqIDIgKyAkZ3V0dGVyOyB9XHJcbiAgLmNvbC10aHJlZS1mb3VydGhzIHsgd2lkdGg6ICgkd2lkdGggLyA0IC0gJGd1dHRlciAqIDMgLyA0KSAqIDMgKyAyICogJGd1dHRlcjsgfVxyXG4gIC5jb2wtdGhyZWUtZmlmdGhzIHsgd2lkdGg6ICgkd2lkdGggLyA1IC0gJGd1dHRlciAqIDQgLyA1KSAqIDMgKyAyICogJGd1dHRlcjsgfVxyXG4gIC5jb2wtZm91ci1maWZ0aHMgeyB3aWR0aDogKCR3aWR0aCAvIDUgLSAkZ3V0dGVyICogNCAvIDUpICogNCArIDMgKiAkZ3V0dGVyOyB9XHJcblxyXG4gIFtjbGFzc149XCJjb2wtXCJdIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luOiAwICgkZ3V0dGVyIC8gMik7XHJcblxyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfVxyXG5cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1xKFwiZGVza3RvcC1zXCIpIHtcclxuICAgIFtjbGFzc149XCJjb2wtXCJdIHtcclxuICAgICAgbWFyZ2luOiAoMyAqICRzcGFjZSkgKCRndXR0ZXIgLyAyKSAwICgkZ3V0dGVyIC8gMik7XHJcbiAgICAgIHdpZHRoOiAkd2lkdGggLyAyIC0gJGd1dHRlciAqIDEgLyAyO1xyXG5cclxuICAgICAgJjpudGgtY2hpbGQoLW4rMikge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBbY2xhc3MqPVwiLWZpZnRoXCJdIHtcclxuICAgICAgbWFyZ2luOiAoMyAqICRzcGFjZSkgMCAwIDA7XHJcbiAgICAgIHdpZHRoOiAkd2lkdGg7XHJcblxyXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMyAqICRzcGFjZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJ0YWJsZXRcIikge1xyXG4gICAgW2NsYXNzXj1cImNvbC1cIl0ge1xyXG4gICAgICBtYXJnaW46ICgzICogJHNwYWNlKSAwIDAgMDtcclxuICAgICAgd2lkdGg6ICR3aWR0aDtcclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzICogJHNwYWNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKiBSZWR1Y2Ugc3BhY2luZyBiZXR3ZWVuIHJvd3MgKi9cclxuXHJcbi5yb3cucmVkdWNlLXNwYWNpbmcge1xyXG4gIEBpbmNsdWRlIG1xKFwiZGVza3RvcC1zXCIpIHtcclxuICAgIFtjbGFzc149XCJjb2wtXCJdIHtcclxuICAgICAgbWFyZ2luOiAkc3BhY2UgKCRndXR0ZXIgLyAyKSAwICgkZ3V0dGVyIC8gMik7XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtY2hpbGQoLW4rMikge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgW2NsYXNzKj1cIi1maWZ0aFwiXSB7XHJcbiAgICAgIG1hcmdpbjogJHNwYWNlIDAgMCAwO1xyXG5cclxuICAgICAgJjpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJ0YWJsZXRcIikge1xyXG4gICAgW2NsYXNzXj1cImNvbC1cIl0ge1xyXG4gICAgICBtYXJnaW46ICRzcGFjZSAwIDAgMDtcclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qIFJldmVyc2UgdGhlIG9yZGVyIG9mIGNvbHVtbnMgd2hlbiBnb2luZyBmdWxsLXdpZHRoICovXHJcblxyXG4ucm93LnJldmVyc2Utb3JkZXIge1xyXG4gIEBpbmNsdWRlIG1xKFwidGFibGV0XCIpIHtcclxuICAgIFtjbGFzc149XCJjb2wtXCJdIHtcclxuICAgICAgbWFyZ2luOiAoMyAqICRzcGFjZSkgMCAwIDA7XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAtd2Via2l0LW9yZGVyOiA1O1xyXG4gICAgICAgIC1tb3otb3JkZXI6IDU7XHJcbiAgICAgICAgb3JkZXI6IDU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAtd2Via2l0LW9yZGVyOiA0O1xyXG4gICAgICAgIC1tb3otb3JkZXI6IDQ7XHJcbiAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcclxuICAgICAgICAtd2Via2l0LW9yZGVyOiAzO1xyXG4gICAgICAgIC1tb3otb3JkZXI6IDM7XHJcbiAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKDQpIHtcclxuICAgICAgICAtd2Via2l0LW9yZGVyOiAyO1xyXG4gICAgICAgIC1tb3otb3JkZXI6IDI7XHJcbiAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKDUpIHtcclxuICAgICAgICAtd2Via2l0LW9yZGVyOiAxO1xyXG4gICAgICAgIC1tb3otb3JkZXI6IDE7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJlZHVjZS1zcGFjaW5nIFtjbGFzc149XCJjb2wtXCJdIHtcclxuICAgICAgbWFyZ2luOiAkc3BhY2UgMCAwIDA7XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qIEZvcmNlIGEgbWluaW11bSBvZiB0d28gY29sdW1ucyAqL1xyXG5cclxuLnJvdy5taW4tdHdvLWNvbHVtbnM6bm90KC5yZXZlcnNlLW9yZGVyKSB7XHJcbiAgQGluY2x1ZGUgbXEoXCJkZXNrdG9wLXNcIikge1xyXG4gICAgW2NsYXNzXj1cImNvbC1cIl0ge1xyXG4gICAgICBtYXJnaW46ICgzICogJHNwYWNlKSAoJGd1dHRlciAvIDIpIDAgKCRndXR0ZXIgLyAyKTtcclxuICAgICAgd2lkdGg6ICR3aWR0aCAvIDIgLSAkZ3V0dGVyICogMSAvIDI7XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgJjpudGgtY2hpbGQoLW4rMikge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJlZHVjZS1zcGFjaW5nIHtcclxuICAgICAgW2NsYXNzXj1cImNvbC1cIl0ge1xyXG4gICAgICAgIG1hcmdpbjogJHNwYWNlICgkZ3V0dGVyIC8gMikgMCAoJGd1dHRlciAvIDIpO1xyXG5cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoLW4rMikge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKiBSZW1vdmUgZ3V0dGVyIGJldHdlZW4gY29sdW1ucyAqL1xyXG5cclxuLnJvdy5uby1ndXR0ZXIge1xyXG4gIC5jb2wtb25lLWhhbGYgeyB3aWR0aDogJHdpZHRoIC8gMjsgfVxyXG4gIC5jb2wtb25lLXRoaXJkIHsgd2lkdGg6ICR3aWR0aCAvIDM7IH1cclxuICAuY29sLW9uZS1mb3VydGggeyB3aWR0aDogJHdpZHRoIC8gNDsgfVxyXG4gIC5jb2wtb25lLWZpZnRoIHsgd2lkdGg6ICR3aWR0aCAvIDU7IH1cclxuICAuY29sLW9uZS1zaXh0aCB7IHdpZHRoOiAkd2lkdGggLyA2OyB9XHJcbiAgXHJcbiAgLmNvbC10d28tdGhpcmRzIHsgd2lkdGg6ICgkd2lkdGggLyAzKSAqIDI7IH1cclxuICAuY29sLXR3by1mb3VydGhzIHsgd2lkdGg6ICgkd2lkdGggLyA0KSAqIDI7IH1cclxuICAuY29sLXR3by1maWZ0aHMgeyB3aWR0aDogKCR3aWR0aCAvIDUpICogMjsgfVxyXG4gIC5jb2wtdGhyZWUtZm91cnRocyB7IHdpZHRoOiAoJHdpZHRoIC8gNCkgKiAzOyB9XHJcbiAgLmNvbC10aHJlZS1maWZ0aHMgeyB3aWR0aDogKCR3aWR0aCAvIDUpICogMzsgfVxyXG4gIC5jb2wtZm91ci1maWZ0aHMgeyB3aWR0aDogKCR3aWR0aCAvIDUpICogNDsgfVxyXG5cclxuICBbY2xhc3NePVwiY29sLVwiXSB7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1xKFwiZGVza3RvcC1zXCIpIHtcclxuICAgIFtjbGFzc149XCJjb2wtXCJdIHtcclxuICAgICAgd2lkdGg6ICR3aWR0aCAvIDI7XHJcbiAgICB9XHJcblxyXG4gICAgW2NsYXNzKj1cIi1maWZ0aFwiXSB7XHJcbiAgICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcShcInRhYmxldFwiKSB7XHJcbiAgICBbY2xhc3NePVwiY29sLVwiXSB7XHJcbiAgICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiMgVG9vbHMgLSBBbGlnblxyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5jZW50ZXIge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmxlZnQge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5yaWdodCB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4ubWlkZGxlIHtcclxuICBAaW5jbHVkZSBmbGV4O1xyXG4gIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uO1xyXG4gIEBpbmNsdWRlIGp1c3RpZnktY29udGVudDtcclxufVxyXG5cclxuQGluY2x1ZGUgbXEoXCJkZXNrdG9wLXNcIikge1xyXG4gIC5jZW50ZXItZGVza3RvcCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5AaW5jbHVkZSBtcShcInRhYmxldFwiKSB7XHJcbiAgLmNlbnRlci10YWJsZXQge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbXEoXCJtb2JpbGVcIikge1xyXG4gIC5jZW50ZXItbW9iaWxlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBUb29scyAtIEJhY2tncm91bmRcclxuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uYmctZGFyayB7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLXRleHQ7XHJcbn1cclxuXHJcbi5iZy1saWdodCB7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktbGlnaHQ7XHJcbn1cclxuXHJcbi5iZy1wcmltYXJ5IHtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcclxufVxyXG5cclxuLmJnLXdoaXRlIHtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XHJcbn1cclxuXHJcbi8qIEdyYWRpZW50cyAqL1xyXG5cclxuLmJnLWdyYWRpZW50LWRhcmsge1xyXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCgkY29sb3ItdGV4dCwgZGFya2VuKCRjb2xvci10ZXh0LCAkZGFya2VuKSk7XHJcbn1cclxuXHJcbi5iZy1ncmFkaWVudC1saWdodCB7XHJcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KCRjb2xvci13aGl0ZSwgJGNvbG9yLWdyYXktbGlnaHQpO1xyXG59XHJcblxyXG4uYmctZ3JhZGllbnQtYmx1ZSB7XHJcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KCMyNTg0ZTAsICMwOTU3ZDkpO1xyXG59XHJcblxyXG4uYmctZ3JhZGllbnQtY3lhbiB7XHJcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KCMxYWM4ZTIsICMwNGIyZGIpO1xyXG59XHJcblxyXG4uYmctZ3JhZGllbnQtZ3JlZW4ge1xyXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCgjNjdkYmI4LCAjMzljZmEyKTtcclxufVxyXG5cclxuLmJnLWdyYWRpZW50LWluZGlnbyB7XHJcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KCM2MDZjYzMsICMzMTNmYWUpO1xyXG59XHJcblxyXG4uYmctZ3JhZGllbnQtb2xpdmUge1xyXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCgjYWFjZGI1LCAjODViOTllKTtcclxufVxyXG5cclxuLmJnLWdyYWRpZW50LXBpbmsge1xyXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCgjZTU4Y2JhLCAjZGM2MGEzKTtcclxufVxyXG5cclxuLmJnLWdyYWRpZW50LXNpZW5uYSB7XHJcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KCNkNWJmYWIsICNjNGE0OTUpO1xyXG59XHJcblxyXG4uYmctZ3JhZGllbnQtdmlvbGV0IHtcclxuICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQoIzllM2VlMiwgIzc0MjFkYik7XHJcbn1cclxuXHJcbi8qIEFkdmFuY2VkIGJhY2tncm91bmRzICovXHJcblxyXG5bY2xhc3MqPVwiYmctaW1hZ2UtXCJdIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuLyogIHotaW5kZXg6IDA7IHRoaXMgd2FzIG1lc3Npbmcgd2l0aCB0aGUgaGVhZGVyIG1haW4gKi9cclxuXHJcbiAgJjpiZWZvcmUsXHJcbiAgJjphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcclxuICAgIGJvdHRvbTogLTFweDtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBoZWlnaHQ6IDEwMSU7XHJcbiAgICBsZWZ0OiAtMSU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0xcHg7XHJcbiAgICB3aWR0aDogMTAyJTtcclxuICB9XHJcblxyXG4gICY6YmVmb3JlIHtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gIH1cclxuXHJcbiAgJjphZnRlciB7XHJcbiAgICB6LWluZGV4OiAtMjtcclxuICB9XHJcbn1cclxuXHJcbi8qIE92ZXJsYXlzICovXHJcblxyXG4ub3ZlcmxheTpiZWZvcmUge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLXdoaXRlLCAwLjcpO1xyXG59XHJcblxyXG4uZGFyay5vdmVybGF5OmJlZm9yZSB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgkY29sb3ItdGV4dCwgMC43KTtcclxufVxyXG5cclxuQGVhY2ggJG5hbWUgaW4gXCIwMVwiIFwiMDJcIiBcIjAzXCIgXCIwNFwiIFwiMDVcIiBcIjA2XCIge1xyXG4gIC5vdmVybGF5LXNoYXBlLSN7JG5hbWV9OmJlZm9yZSB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwobWVkaWEvYmcvc2hhcGUtI3skbmFtZX0uc3ZnKTtcclxuICB9XHJcblxyXG4gIC5kYXJrLm92ZXJsYXktc2hhcGUtI3skbmFtZX06YmVmb3JlIHtcclxuICAgIGJhY2tncm91bmQ6IHVybChtZWRpYS9iZy9zaGFwZS1kYXJrLSN7JG5hbWV9LnN2Zyk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBJbWFnZXMgKi9cclxuXHJcbkBlYWNoICRuYW1lIGluIFwiMDFcIiBcIjAyXCIgXCIwM1wiIFwiMDRcIiBcIjA1XCIgXCIwNlwiIFwiMDdcIiBcIjA4XCIge1xyXG4gIC5iZy1pbWFnZS0jeyRuYW1lfTphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwobWVkaWEvYmcvaW1hZ2UtI3skbmFtZX1AMnguanBnKTtcclxuXHJcbiAgICBAaW5jbHVkZSBtcShcIm1vYmlsZVwiKSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybChtZWRpYS9iZy9pbWFnZS0jeyRuYW1lfS5qcGcpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJnLWltYWdlLWhlcm86YWZ0ZXIge1xyXG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudC1kaWFnb25hbCgkY29sb3Itc2Vjb25kYXJ5LCAkY29sb3ItcHJpbWFyeSk7XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBUb29scyAtIERpdmlkZXJcclxuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uZGl2aWRlciB7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5LW1lZGl1bTtcclxuICBtYXJnaW46ICgzICogJHNwYWNlKSAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG5cclxuICAuZGFyayAmIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItdGV4dDtcclxuICB9XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBUb29scyAtIEZ1bGwgU2NyZWVuXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmZ1bGwtc2NyZWVuIHtcclxuICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoKTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XHJcbiAgLmZ1bGwtc2NyZWVuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWluLWhlaWdodDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA4ICogJHNwYWNlICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLXRvcDogOCAqICRzcGFjZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4jIFRvb2xzIC0gRnVsbCBXaWR0aFxyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5mdWxsLXdpZHRoIHtcclxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cclxuICBAaW5jbHVkZSBtcShcInRhYmxldFwiKSB7XHJcbiAgICAmLXRhYmxldCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcShcIm1vYmlsZVwiKSB7XHJcbiAgICAmLW1vYmlsZSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiMgVG9vbHMgLSBNYXggV2lkdGhcclxuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG5bY2xhc3MqPVwibWF4LXdpZHRoLVwiXSB7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5tYXgtd2lkdGgtcyB7XHJcbiAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoLXM7XHJcbn1cclxuXHJcbi5tYXgtd2lkdGgtbSB7XHJcbiAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoLW07XHJcbn1cclxuXHJcbi5tYXgtd2lkdGgtbCB7XHJcbiAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoLWw7XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBUb29scyAtIE1pbiBXaWR0aFxyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbltjbGFzcyo9XCJtaW4td2lkdGgtXCJdIHtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLm1pbi13aWR0aC1zIHtcclxuICBtaW4td2lkdGg6ICRtYXgtd2lkdGgtcztcclxufVxyXG5cclxuLm1pbi13aWR0aC1tIHtcclxuICBtaW4td2lkdGg6ICRtYXgtd2lkdGgtbTtcclxufVxyXG5cclxuLm1pbi13aWR0aC1sIHtcclxuICBtaW4td2lkdGg6ICRtYXgtd2lkdGgtbDtcclxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4jIFRvb2xzIC0gT3BhY2l0eVxyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5vcGFjaXR5LXMge1xyXG4gIG9wYWNpdHk6ICRvcGFjaXR5LXMgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm9wYWNpdHktbSB7XHJcbiAgb3BhY2l0eTogJG9wYWNpdHktbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ub3BhY2l0eS1sIHtcclxuICBvcGFjaXR5OiAkb3BhY2l0eS1sICFpbXBvcnRhbnQ7XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBUb29scyAtIFJvdW5kZWRcclxuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ucm91bmRlZCB7XHJcbiAgQGluY2x1ZGUgcm91bmRlZCgwLjVyZW0pO1xyXG5cclxuICAmLWJvdHRvbSB7XHJcbiAgICBAaW5jbHVkZSByb3VuZGVkLWJvdHRvbSgwLjVyZW0pO1xyXG4gIH1cclxuXHJcbiAgJi10b3Age1xyXG4gICAgQGluY2x1ZGUgcm91bmRlZC10b3AoMC41cmVtKTtcclxuICB9XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBUb29scyAtIFNoYWRvd1xyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5zaGFkb3ctcyB7XHJcbiAgQGluY2x1ZGUgc2hhZG93LXM7XHJcbn1cclxuXHJcbi5zaGFkb3ctbSB7XHJcbiAgQGluY2x1ZGUgc2hhZG93LW07XHJcbn1cclxuXHJcbi5zaGFkb3ctbCB7XHJcbiAgQGluY2x1ZGUgc2hhZG93LWw7XHJcbn1cclxuXHJcbi5zaGFkb3ctbm9uZSB7XHJcbiAgQGluY2x1ZGUgc2hhZG93LW5vbmU7XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBUb29scyAtIFNwYWNpbmdcclxuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ucGFkZGluZyB7XHJcbiAgcGFkZGluZzogNSAqICRzcGFjZTtcclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJkZXNrdG9wLXNcIikge1xyXG4gICAgcGFkZGluZzogMyAqICRzcGFjZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1xKFwidGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmc6ICgzICogJHNwYWNlKSAkc3BhY2U7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFkZGluZy1ib3R0b20ge1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMiAqICRzcGFjZTtcclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJkZXNrdG9wLXNcIikge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwICogJHNwYWNlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJ0YWJsZXRcIikge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDggKiAkc3BhY2U7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFkZGluZy1ib3R0b20tbm9uZVxyXG57XHJcbiAgcGFkZGluZy1ib3R0b206IDA7XHJcblxyXG4gIEBpbmNsdWRlIG1xKFwiZGVza3RvcC1zXCIpIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJ0YWJsZXRcIikge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFkZGluZy10b3Age1xyXG4gIHBhZGRpbmctdG9wOiAxMiAqICRzcGFjZTtcclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJkZXNrdG9wLXNcIikge1xyXG4gICAgcGFkZGluZy10b3A6IDEwICogJHNwYWNlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJ0YWJsZXRcIikge1xyXG4gICAgcGFkZGluZy10b3A6IDggKiAkc3BhY2U7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFkZGluZy10b3AtMSB7XHJcbiAgcGFkZGluZy10b3A6IDEgKiAkc3BhY2U7XHJcblxyXG4gIEBpbmNsdWRlIG1xKFwiZGVza3RvcC1zXCIpIHtcclxuICAgIHBhZGRpbmctdG9wOiAxICogJHNwYWNlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJ0YWJsZXRcIikge1xyXG4gICAgcGFkZGluZy10b3A6IDEgKiAkc3BhY2U7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBBZGQgc3BhY2luZyBhYm92ZSBjb250ZW50ICovXHJcblxyXG5AaW5jbHVkZSBtcShcInRhYmxldFwiKSB7XHJcbiAgLnBhZGRpbmctdG9wLXRhYmxldCB7XHJcbiAgICBwYWRkaW5nLXRvcDogOCAqICRzcGFjZTtcclxuICB9XHJcbn1cclxuXHJcbi8qIEFkZCBzcGFjaW5nIGFib3ZlIG9yIGJlbG93IGNvbnRlbnQgKi9cclxuXHJcbi5tYXJnaW4tYm90dG9tIHtcclxuICBtYXJnaW4tYm90dG9tOiA1ICogJHNwYWNlO1xyXG5cclxuICBAaW5jbHVkZSBtcShcImRlc2t0b3Atc1wiKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzICogJHNwYWNlO1xyXG4gIH1cclxufVxyXG5cclxuLm1hcmdpbi10b3Age1xyXG4gIG1hcmdpbi10b3A6IDUgKiAkc3BhY2U7XHJcblxyXG4gIEBpbmNsdWRlIG1xKFwiZGVza3RvcC1zXCIpIHtcclxuICAgIG1hcmdpbi10b3A6IDMgKiAkc3BhY2U7XHJcbiAgfVxyXG59XHJcblxyXG4ubWFyZ2luLXRvcC0yciB7XHJcbiAgbWFyZ2luLXRvcDogMnJlbTtcclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJkZXNrdG9wLXNcIikge1xyXG4gICAgbWFyZ2luLXRvcDogMnJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5tYXJnaW4tdG9wLTNyIHtcclxuICBtYXJnaW4tdG9wOiAzcmVtO1xyXG5cclxuICBAaW5jbHVkZSBtcShcImRlc2t0b3Atc1wiKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xyXG4gIH1cclxufVxyXG5cclxuLm1hcmdpbi1ib3R0b20tM3Ige1xyXG4gIG1hcmdpbi1ib3R0b206IDMgKiAkc3BhY2U7XHJcblxyXG4gIEBpbmNsdWRlIG1xKFwiZGVza3RvcC1zXCIpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEgKiAkc3BhY2U7XHJcbiAgfVxyXG59XHJcblxyXG4ubWFyZ2luLWJvdHRvbS0xciB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMSAqICRzcGFjZTtcclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJkZXNrdG9wLXNcIikge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMSAqICRzcGFjZTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4vKiBOZWdhdGl2ZSBzcGFjaW5nICovXHJcblxyXG4uLW1hcmdpbi1ib3R0b20ge1xyXG4gIG1hcmdpbi1ib3R0b206IC01ICogJHNwYWNlO1xyXG5cclxuICBAaW5jbHVkZSBtcShcImRlc2t0b3Atc1wiKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMyAqICRzcGFjZTtcclxuICB9XHJcbn1cclxuXHJcbi4tbWFyZ2luLWJvdHRvbS0yIHtcclxuICBtYXJnaW4tYm90dG9tOiAtMTAgKiAkc3BhY2U7XHJcblxyXG4gIEBpbmNsdWRlIG1xKFwiZGVza3RvcC1zXCIpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IC02ICogJHNwYWNlO1xyXG4gIH1cclxufVxyXG5cclxuLyogRGVmYXVsdCBzcGFjaW5nICovXHJcblxyXG4uc3BhY2Uge1xyXG4gIG1hcmdpbjogJHNwYWNlO1xyXG59XHJcblxyXG4uc3BhY2UtYm90dG9tIHtcclxuICBtYXJnaW4tYm90dG9tOiAkc3BhY2U7XHJcbn1cclxuXHJcbi5zcGFjZS1sZWZ0IHtcclxuICBwYWRkaW5nLWxlZnQ6ICRzcGFjZTtcclxufVxyXG5cclxuLnNwYWNlLXJpZ2h0IHtcclxuICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2U7XHJcbn1cclxuXHJcbi5zcGFjZS10b3Age1xyXG4gIG1hcmdpbi10b3A6ICRzcGFjZTtcclxufVxyXG5cclxuLnNwYWNlLXRvcC0yIHtcclxuICBtYXJnaW4tdG9wOiAyICogJHNwYWNlO1xyXG59XHJcblxyXG4vKiBSZW1vdmUgc3BhY2luZyAqL1xyXG5cclxuLnNwYWNlLW5vbmUge1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLnNwYWNlLWJvdHRvbS1ub25lIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uc3BhY2UtbGVmdC1ub25lIHtcclxuICBwYWRkaW5nLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi5zcGFjZS1yaWdodC1ub25lIHtcclxuICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG59XHJcblxyXG4uc3BhY2UtdG9wLW5vbmUge1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBDb21wb25lbnRzIC0gQWxlcnRzXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmFsZXJ0IHtcclxuICBAaW5jbHVkZSByb3VuZGVkO1xyXG4gIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LWxpZ2h0O1xyXG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcclxuICBwYWRkaW5nOiAkc3BhY2U7XHJcblxyXG4gICYuYWxlcnQtZGVmYXVsdCB7XHJcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRjb2xvci1ncmF5LWRhcms7XHJcbiAgfVxyXG5cclxuICAmLmFsZXJ0LWVycm9yIHtcclxuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJGNvbG9yLXJlZDtcclxuICB9XHJcblxyXG4gICYuYWxlcnQtc3VjY2VzcyB7XHJcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRjb2xvci1ncmVlbjtcclxuICB9XHJcblxyXG4gICYuYWxlcnQtd2FybmluZyB7XHJcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRjb2xvci1vcmFuZ2U7XHJcbiAgfVxyXG5cclxuICAuZGFyayAmIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci10ZXh0O1xyXG4gIH1cclxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4jIENvbXBvbmVudHMgLSBCdXR0b25zXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgZm9udC1zaXplLWRlZmF1bHQtYjtcclxuICBAaW5jbHVkZSByb3VuZGVkKDNyZW0pO1xyXG4gIEBpbmNsdWRlIHRyYW5zaXRpb247XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGhlaWdodDogM3JlbTtcclxuICBsaW5lLWhlaWdodDogM3JlbTtcclxuICBwYWRkaW5nOiAwIDEuMjVyZW07XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAmLmJ1dHRvbi1zIHtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1zLWI7XHJcbiAgICBoZWlnaHQ6IDJyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcclxuICAgIHBhZGRpbmc6IDAgMC43NXJlbTtcclxuICB9XHJcblxyXG4gICYuYnV0dG9uLW0ge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplLW0tYjtcclxuICAgIGhlaWdodDogMi41cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcclxuICAgIHBhZGRpbmc6IDAgMXJlbTtcclxuICB9XHJcblxyXG4gICYuYnV0dG9uLWwge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplLWwtYjtcclxuICAgIGhlaWdodDogMy41cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDMuNXJlbTtcclxuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xyXG4gIH1cclxuXHJcbiAgJi5idXR0b24tcHJpbWFyeSB7XHJcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQtZGlhZ29uYWwoJGNvbG9yLXByaW1hcnksIGRhcmtlbigkY29sb3ItcHJpbWFyeSwgJGRhcmtlbikpO1xyXG4gICAgQGluY2x1ZGUgc2hhZG93LXM7XHJcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQtZGlhZ29uYWwoJGNvbG9yLXByaW1hcnksICRjb2xvci1wcmltYXJ5KTtcclxuICAgICAgQGluY2x1ZGUgc2hhZG93LW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmJ1dHRvbi1zZWNvbmRhcnkge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktbWVkaXVtO1xyXG4gICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JheS1saWdodDtcclxuICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5O1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXJrICYge1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci13aGl0ZSwgJG9wYWNpdHktbCk7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci13aGl0ZSwgJG9wYWNpdHktbSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICYuYnV0dG9uLWRpc2FibGVkIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LWRhcms7XHJcbiAgICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICBvcGFjaXR5OiAkb3BhY2l0eS1tO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAmLmJ1dHRvbi1jbG9zZSB7XHJcbiAgICBAaW5jbHVkZSByb3VuZGVkKDEwMCUpO1xyXG4gICAgQGluY2x1ZGUgc2hhZG93LXM7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogNHJlbTtcclxuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xyXG4gICAgb3BhY2l0eTogJG9wYWNpdHktcztcclxuICAgIHBhZGRpbmc6ICRzcGFjZTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHJpZ2h0OiAkc3BhY2U7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0b3A6ICRzcGFjZTtcclxuICAgIHdpZHRoOiA0cmVtO1xyXG4gICAgei1pbmRleDogMTA7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBAaW5jbHVkZSBtYXRlcmlhbC1pY29ucztcclxuICAgICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgICBjb250ZW50OiBcImNsb3NlXCI7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xyXG5cclxuICAgICAgLyogUHJldmVudCB0ZXh0IGZyb20gaWNvbiBuYW1lIHRvIHNob3cgdXAgYmVmb3JlIGxvYWQgKi9cclxuXHJcbiAgICAgIC5wcmVsb2FkICYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJ0YWJsZXRcIikge1xyXG4gICAgJi5idXR0b24tcHJpbWFyeTpob3ZlcixcclxuICAgICYuYnV0dG9uLXNlY29uZGFyeTpob3ZlciB7XHJcbiAgICAgIEBpbmNsdWRlIHNoYWRvdy1ub25lO1xyXG4gICAgfVxyXG5cclxuICAgICYuYnV0dG9uLWNsb3NlIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJtb2JpbGVcIikge1xyXG4gICAgaGVpZ2h0OiAzLjVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMy41cmVtO1xyXG5cclxuICAgICYuYnV0dG9uLXMge1xyXG4gICAgICBoZWlnaHQ6IDIuNXJlbTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcclxuICAgIH1cclxuXHJcbiAgICAmLmJ1dHRvbi1tIHtcclxuICAgICAgaGVpZ2h0OiAzcmVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogM3JlbTtcclxuICAgIH1cclxuXHJcbiAgICAmLmJ1dHRvbi1sIHtcclxuICAgICAgaGVpZ2h0OiA0cmVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogNHJlbTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBDb21wb25lbnRzIC0gQ2FyZFxyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5jYXJkIHtcclxuICBAaW5jbHVkZSByb3VuZGVkKDAuNXJlbSk7XHJcbiAgQGluY2x1ZGUgc2hhZG93LXM7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xyXG5cclxuICAmLmRhcmsge1xyXG4gICAgYmFja2dyb3VuZDogbGlnaHRlbigkY29sb3ItdGV4dCwgJGxpZ2h0ZW4pO1xyXG4gIH1cclxufVxyXG5cclxuLmNhcmQtY29udGVudCB7XHJcbiAgcGFkZGluZzogMiAqICRzcGFjZTtcclxuICBcclxuICBAaW5jbHVkZSBtcShcIm1vYmlsZVwiKSB7XHJcbiAgICBwYWRkaW5nOiAxLjUgKiAkc3BhY2U7XHJcbiAgfVxyXG59XHJcblxyXG4uY2FyZC1jb250ZW50LXRoaW4ge1xyXG4gIHBhZGRpbmc6IDEgKiAkc3BhY2UgMS41ICogJHNwYWNlO1xyXG59XHJcblxyXG4uY2FyZC1hcm9je1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmNhcmQtYXJvYyA+IGltZ3tcclxuICBoZWlnaHQ6IDYwJTtcclxufVxyXG5cclxuLmNhcmQtYXJvYyA+IGRpdiB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBDb21wb25lbnRzIC0gRm9vdGVyXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLmZvb3Rlci1tYWluIHtcclxuICBhOm5vdCguYnV0dG9uKSB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUtbTtcclxuICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcclxuICAgIG9wYWNpdHk6ICRvcGFjaXR5LXM7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgb3BhY2l0eTogJG9wYWNpdHktcztcclxuICB9XHJcblxyXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XHJcbiAgfVxyXG5cclxuICAuY29weXJpZ2h0IHtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZS1zO1xyXG4gICAgb3BhY2l0eTogJG9wYWNpdHktbTtcclxuICAgIHBhZGRpbmctYm90dG9tOiAzICogJHNwYWNlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgIGEge1xyXG4gICAgICBAaW5jbHVkZSBmb250LXNpemUtcztcclxuICAgICAgb3BhY2l0eTogMTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmRhcmsgYTpub3QoLmJ1dHRvbikge1xyXG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1xKFwiZGVza3RvcC1zXCIpIHtcclxuICAgIGE6bm90KC5idXR0b24pIHtcclxuICAgICAgQGluY2x1ZGUgZm9udC1zaXplLWRlZmF1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvcHlyaWdodCBhIHtcclxuICAgICAgQGluY2x1ZGUgZm9udC1zaXplLXM7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiMgQ29tcG9uZW50cyAtIEZvcm1zXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuZm9ybSB7XHJcbiAgbGFiZWwge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplLWRlZmF1bHQtYjtcclxuICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XHJcbiAgfVxyXG5cclxuICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gIHNlbGVjdCxcclxuICB0ZXh0YXJlYSB7XHJcbiAgICBAaW5jbHVkZSBhcHBlYXJhbmNlO1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplLWRlZmF1bHQ7XHJcbiAgICBAaW5jbHVkZSByb3VuZGVkO1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktbGlnaHQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheS1tZWRpdW07XHJcbiAgICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JheS1kYXJrO1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxyXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICBzZWxlY3QsXHJcbiAgLnNlbGVjdC13cmFwcGVyIHtcclxuICAgIGhlaWdodDogMi41cmVtO1xyXG4gIH1cclxuXHJcbiAgLnNlbGVjdC13cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIG1hdGVyaWFsLWljb25zO1xyXG4gICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgICAgIGNvbnRlbnQ6IFwia2V5Ym9hcmRfYXJyb3dfZG93blwiO1xyXG4gICAgICBoZWlnaHQ6IDIuNXJlbTtcclxuICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB3aWR0aDogMi41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICY6Oi1tcy1leHBhbmQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRleHRhcmVhIHtcclxuICAgIG1pbi1oZWlnaHQ6IDEwcmVtO1xyXG4gIH1cclxuXHJcbiAgLyogQ2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9ucyAqL1xyXG5cclxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgJjpjaGVja2VkICsgbGFiZWwuY2hlY2tib3g6YmVmb3JlLFxyXG4gICAgJjpjaGVja2VkICsgbGFiZWwucmFkaW86YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XHJcbiAgICB9XHJcblxyXG4gICAgJjpjaGVja2VkICsgbGFiZWwuY2hlY2tib3g6YWZ0ZXIsXHJcbiAgICAmOmNoZWNrZWQgKyBsYWJlbC5yYWRpbzphZnRlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsYWJlbC5jaGVja2JveCxcclxuICBsYWJlbC5yYWRpbyB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUtZGVmYXVsdDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcclxuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XHJcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmF5LW1lZGl1bTtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgaGVpZ2h0OiAxLjVyZW07XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwLjVyZW07XHJcbiAgICAgIHdpZHRoOiAxLjVyZW07XHJcblxyXG4gICAgICAuZGFyayAmIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgQGluY2x1ZGUgbWF0ZXJpYWwtaWNvbnM7XHJcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XHJcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgY29udGVudDogXCJjaGVja1wiO1xyXG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICAgIGhlaWdodDogMS41cmVtO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHRvcDogMC41cmVtO1xyXG4gICAgICB3aWR0aDogMS41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsYWJlbC5jaGVja2JveDpiZWZvcmUge1xyXG4gICAgQGluY2x1ZGUgcm91bmRlZDtcclxuICB9XHJcblxyXG4gIGxhYmVsLnJhZGlvOmJlZm9yZSB7XHJcbiAgICBAaW5jbHVkZSByb3VuZGVkKDAuNzVyZW0pO1xyXG4gIH1cclxuXHJcbiAgLyogU3dpdGNoICovXHJcblxyXG4gIGlucHV0LnN3aXRjaCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICY6Y2hlY2tlZCArIGxhYmVsLnN3aXRjaDpiZWZvcmUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcclxuICAgIH1cclxuXHJcbiAgICAmOmNoZWNrZWQgKyBsYWJlbC5zd2l0Y2g6YWZ0ZXIge1xyXG4gICAgICBsZWZ0OiAyNnB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbGFiZWwuc3dpdGNoIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgQGluY2x1ZGUgcm91bmRlZCgxNnB4KTtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktbWVkaXVtO1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICB3aWR0aDogNTZweDtcclxuXHJcbiAgICAgIC5kYXJrICYge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLXdoaXRlLCAkb3BhY2l0eS1sKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBAaW5jbHVkZSByb3VuZGVkKDE0cHgpO1xyXG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgIGxlZnQ6IDJweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB0b3A6IC0zMHB4O1xyXG4gICAgICB3aWR0aDogMjhweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3JtLWdyb3VwIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gIC5mb3JtLWhlbHAge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplLW07XHJcbiAgICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgICBvcGFjaXR5OiAkb3BhY2l0eS1tO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJ0YWJsZXRcIikge1xyXG4gICAgLnJvdy51bmVxdWFsIFtjbGFzc149XCJjb2wtXCJdLnVuZXF1YWwge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcShcIm1vYmlsZVwiKSB7XHJcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXHJcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgIHNlbGVjdCxcclxuICAgIC5zZWxlY3Qtd3JhcHBlciB7XHJcbiAgICAgIGhlaWdodDogM3JlbTtcclxuICAgIH1cclxuXHJcbiAgICAuc2VsZWN0LXdyYXBwZXI6YmVmb3JlIHtcclxuICAgICAgaGVpZ2h0OiAzcmVtO1xyXG4gICAgICBsaW5lLWhlaWdodDogM3JlbTtcclxuICAgICAgd2lkdGg6IDNyZW07XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiMgQ29tcG9uZW50cyAtIEhlYWRlclxyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5uby1zY3JvbGwge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5oZWFkZXItbWFpbiB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICB3aWR0aDogMTAwJTtcclxuICB6LWluZGV4OiAxO1xyXG5cclxuICBuYXYge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZzogMiAqICRzcGFjZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuXHJcbiAgYTpub3QoLmJ1dHRvbikge1xyXG4gICAgY29sb3I6ICRjb2xvci10ZXh0O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGhlaWdodDogMi41cmVtO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcclxuICAgIG9wYWNpdHk6ICRvcGFjaXR5LW07XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuXHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bC5pbmxpbmUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiAwO1xyXG5cdFxyXG5cdCY6Zmlyc3QtY2hpbGRcclxuXHR7XHJcblx0XHRwYWRkaW5nLXRvcDogNGVtO1xyXG5cdH1cclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIgKiAkc3BhY2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubmF2LXRvZ2dsZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuXHJcbiAgJi5kYXJrIHtcclxuICAgIGE6bm90KC5idXR0b24pIHtcclxuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubmF2LXRvZ2dsZTpiZWZvcmUge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJ0YWJsZXRcIikge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG5cclxuICAgIG5hdiB7XHJcbiAgICAgIHBhZGRpbmc6ICgwLjUgKiAkc3BhY2UpICgwLjc1ICogJHNwYWNlKTtcclxuICAgIH1cclxuXHJcbiAgICBhOm5vdCguYnV0dG9uKTpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItdGV4dDtcclxuICAgIH1cclxuXHJcbiAgICB1bC5pbmxpbmUge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXYtdG9nZ2xlIHtcclxuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgaGVpZ2h0OiAyLjVyZW07XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDEuNXJlbTtcclxuXHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBAaW5jbHVkZSBtYXRlcmlhbC1pY29ucztcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgICAgICAgY29udGVudDogXCJtZW51XCI7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcclxuXHJcbiAgICAgICAgLyogUHJldmVudCB0ZXh0IGZyb20gaWNvbiBuYW1lIHRvIHNob3cgdXAgYmVmb3JlIGxvYWQgKi9cclxuXHJcbiAgICAgICAgLnByZWxvYWQgJiB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5mYWRlLWluIHtcclxuICAgICAgbmF2IHtcclxuICAgICAgICBAaW5jbHVkZSBzaGFkb3ctbTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci10ZXh0LCAwLjk0KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgYTpub3QoLmJ1dHRvbikge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5uYXYtdG9nZ2xlOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgbmF2IHtcclxuICAgICAgICBAaW5jbHVkZSBzaGFkb3ctbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLW5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXRleHQ7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGE6bm90KC5idXR0b24pIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICB1bC5pbmxpbmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUtbGVhZDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNSAqICRzcGFjZTtcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLm5hdi10b2dnbGUge1xyXG4gICAgICAgIEBpbmNsdWRlIHJvdGF0ZTtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcclxuICAgICAgICAgIGNvbnRlbnQ6IFwiY2xvc2VcIjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tbm9uZTtcclxuICAgICAgICBoZWlnaHQ6IDMuNXJlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMy41cmVtO1xyXG5cdFx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgICAgIC8qbWFyZ2luLXRvcDogJHNwYWNlOyovXHJcblxyXG4gICAgICAgICYtc2Vjb25kYXJ5IHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLXdoaXRlLCAkb3BhY2l0eS1sKTtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcblxyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLXdoaXRlLCAkb3BhY2l0eS1sKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBDb21wb25lbnRzIC0gSWNvbnNcclxuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4uZmVhdHVyZS1pY29ucyB7XHJcbiAgQGluY2x1ZGUgcm91bmRlZCgxMDAlKTtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci10ZXh0LCAwLjA0KTtcclxuICBjb2xvcjogJGNvbG9yLXRleHQ7XHJcbiAgZm9udC1zaXplOiAzcmVtO1xyXG4gIGhlaWdodDogNnJlbTtcclxuICBsaW5lLWhlaWdodDogNnJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAkc3BhY2U7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHdpZHRoOiA2cmVtO1xyXG5cclxuICAuZGFyayAmIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLXdoaXRlLCAkb3BhY2l0eS1sKTtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgfVxyXG5cclxuICAucHJlbG9hZCAmIHtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICB9XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBDb21wb25lbnRzIC0gTGlzdFxyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbm9sLFxyXG51bCB7XHJcbiAgbWFyZ2luOiAwIDAgJHNwYWNlIDA7XHJcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xyXG5cclxuICAmLmJsYW5rIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgJi5pbmxpbmUge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2U7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuIyBDb21wb25lbnRzIC0gTG9nb1xyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5sb2dvIHtcclxuICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xyXG4gIGNvbG9yOiAkY29sb3ItdGV4dDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmbG9hdDogbGVmdDtcclxuICBmb250LXNpemU6IDEuNXJlbTtcclxuICBmb250LXdlaWdodDogOTAwO1xyXG4gIGhlaWdodDogMi41cmVtO1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxuICBsaW5lLWhlaWdodDogMi41cmVtO1xyXG4gIG1hcmdpbi1yaWdodDogMi41ICogJHNwYWNlO1xyXG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuXHJcbiAgc3BhbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtc2VyaWY7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gIH1cclxuXHJcbiAgaW1nLFxyXG4gIHN2ZyB7XHJcbiAgICBoZWlnaHQ6IDJyZW07XHJcbiAgICBtYXJnaW46IDAuMjVyZW07XHJcbiAgfVxyXG5cclxuICAuZGFyayAmIHtcclxuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtcShcInRhYmxldFwiKSB7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLW5vbmU7XHJcbiAgfVxyXG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiMgQ29tcG9uZW50cyAtIFByaWNpbmdcclxuXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcblxyXG4ucHJpY2luZy1wcmljZSB7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLnByaWNpbmctZHVyYXRpb24ge1xyXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZS1zO1xyXG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiMgQ29tcG9uZW50cyAtIFRhYmxlXHJcblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxudGFibGUge1xyXG4gIEBpbmNsdWRlIHJvdW5kZWQ7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLWdyYXktbGlnaHQ7XHJcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICBtYXJnaW4tYm90dG9tOiAkc3BhY2U7XHJcbiAgd2lkdGg6IDEwMCU7XHJcblxyXG4gIHRyIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheS1tZWRpdW07XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRoIHtcclxuICAgIEBpbmNsdWRlIHJvdW5kZWQtdG9wO1xyXG4gICAgcGFkZGluZzogJHNwYWNlO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcblxyXG4gIHRkIHtcclxuICAgIHBhZGRpbmc6ICRzcGFjZTtcclxuICB9XHJcblxyXG4gIC5kYXJrICYge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXRleHQ7XHJcblxyXG4gICAgdHIge1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRjb2xvci10ZXh0LCAkZGFya2VuKTtcclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4jIFBhZ2VzIC0gT25ib2FyZGluZ1xyXG5cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5wYWdlLW9uYm9hcmRpbmcge1xyXG4gIC5mb3JtLWhlbHAge1xyXG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgLmZlYXR1cmVkLWltYWdlIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbXEoXCJ0YWJsZXRcIikge1xyXG4gICAgLmZlYXR1cmVkLWltYWdlIHtcclxuICAgICAgaGVpZ2h0OiAxMiAqICRzcGFjZTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi5tb3JwaC1idXR0b25cclxue1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuLm1vcnBoLWJ1dHRvbi5vcGVuID4gYnV0dG9uXHJcbntcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxufVxyXG5cclxuLm1vcnBoLWNvbnRlbnRcclxue1xyXG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG59XHJcblxyXG4ubW9ycGgtYnV0dG9uLm9wZW4gLm1vcnBoLWNvbnRlbnRcclxue1xyXG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG59XHJcblxyXG4vKiBDb21tb24gc3R5bGVzIGZvciBvdmVybGF5IGFuZCBtb2RhbCB0eXBlIChmaXhlZCBtb3JwaCkgKi9cclxuLm1vcnBoLWJ1dHRvbi1maXhlZCwgXHJcbi5tb3JwaC1idXR0b24tZml4ZWQgLm1vcnBoLWNvbnRlbnRcclxue1xyXG5cdGhlaWdodDogNDNweDtcclxufVxyXG5cclxuLm1vcnBoLWJ1dHRvbi1maXhlZCA+IGJ1dHRvblxyXG57XHJcblx0ei1pbmRleDogMTAwMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIDAuNXM7XHJcbn1cclxuXHJcbi5tb3JwaC1idXR0b24tZml4ZWQub3BlbiA+IGJ1dHRvblxyXG57XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXM7XHJcbn1cclxuXHJcbi5tb3JwaC1idXR0b24tZml4ZWQgLm1vcnBoLWNvbnRlbnRcclxue1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR6LWluZGV4OiA5MDA7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgMC41cywgd2lkdGggMC40cyAwLjFzLCBoZWlnaHQgMC40cyAwLjFzLCB0b3AgMC40cyAwLjFzLCBsZWZ0IDAuNHMgMC4xcywgbWFyZ2luIDAuNHMgMC4xcztcclxufVxyXG5cclxuLm1vcnBoLWJ1dHRvbi1maXhlZC5vcGVuIC5tb3JwaC1jb250ZW50XHJcbntcclxuXHRvcGFjaXR5OiAxO1xyXG59XHJcblxyXG4ubW9ycGgtYnV0dG9uLWZpeGVkIC5tb3JwaC1jb250ZW50ID4gZGl2XHJcbntcclxuXHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0aGVpZ2h0OiAwO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzLCB2aXNpYmlsaXR5IDBzIDAuMXMsIGhlaWdodCAwcyAwLjFzO1xyXG59XHJcblxyXG4ubW9ycGgtYnV0dG9uLWZpeGVkLm9wZW4gLm1vcnBoLWNvbnRlbnQgPiBkaXZcclxue1xyXG5cdHZpc2liaWxpdHk6IHZpc2libGU7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIDAuNXM7XHJcbn1cclxuXHJcbi5tb3JwaC1idXR0b24tZml4ZWQuYWN0aXZlID4gYnV0dG9uXHJcbntcclxuXHR6LWluZGV4OiAyMDAwO1xyXG59XHJcblxyXG4ubW9ycGgtYnV0dG9uLWZpeGVkLmFjdGl2ZSAubW9ycGgtY29udGVudFxyXG57XHJcblx0ei1pbmRleDogMTkwMDtcclxufVxyXG5cclxuLyogVHJhbnNpdGlvbnMgZm9yIG92ZXJsYXkgYnV0dG9uIGFuZCBzaWRlYmFyIGJ1dHRvbiAqL1xyXG4ubW9ycGgtYnV0dG9uLW92ZXJsYXkgLm1vcnBoLWNvbnRlbnQsXHJcbi5tb3JwaC1idXR0b24tc2lkZWJhciAubW9ycGgtY29udGVudFxyXG57XHJcblx0dHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIDAuNXMsIHdpZHRoIDAuNHMgMC4xcywgaGVpZ2h0IDAuNHMgMC4xcywgdG9wIDAuNHMgMC4xcywgbGVmdCAwLjRzIDAuMXM7XHJcbn1cclxuXHJcbi5tb3JwaC1idXR0b24tb3ZlcmxheS5vcGVuIC5tb3JwaC1jb250ZW50LFxyXG4ubW9ycGgtYnV0dG9uLXNpZGViYXIub3BlbiAubW9ycGgtY29udGVudFxyXG57XHJcblx0dHJhbnNpdGlvbjogd2lkdGggMC40cyAwLjFzLCBoZWlnaHQgMC40cyAwLjFzLCB0b3AgMC40cyAwLjFzLCBsZWZ0IDAuNHMgMC4xcztcclxufVxyXG5cclxuLyogTW9ycGggQnV0dG9uIFN0eWxlOiBPdmVybGF5ICovXHJcbi5tb3JwaC1idXR0b24ubW9ycGgtYnV0dG9uLW92ZXJsYXlcclxue1xyXG5cdG1hcmdpbjogNTBweCBhdXRvO1xyXG59XHJcblxyXG4ubW9ycGgtYnV0dG9uLW92ZXJsYXkgLm1vcnBoLWNvbnRlbnRcclxue1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZDogI2U4NTY1NztcclxufVxyXG5cclxuLm1vcnBoLWJ1dHRvbi1vdmVybGF5Lm9wZW4gLm1vcnBoLWNvbnRlbnRcclxue1xyXG5cdHRvcDogMCAhaW1wb3J0YW50O1xyXG5cdGxlZnQ6IDAgIWltcG9ydGFudDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi8qIE1vcnBoIEJ1dHRvbiBTdHlsZTogTW9kYWwgKi9cclxuLm1vcnBoLWJ1dHRvbi1tb2RhbDo6YmVmb3JlXHJcbntcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0ei1pbmRleDogODAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7XHJcblx0Y29udGVudDogJyc7XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5tb3JwaC1idXR0b24tbW9kYWwub3Blbjo6YmVmb3JlXHJcbntcclxuXHRvcGFjaXR5OiAxO1xyXG5cdHBvaW50ZXItZXZlbnRzOiBhdXRvO1xyXG59XHJcblxyXG4ubW9ycGgtYnV0dG9uLW1vZGFsLmFjdGl2ZTo6YmVmb3JlXHJcbntcclxuXHR6LWluZGV4OiAxODAwO1xyXG59XHJcblxyXG4ubW9ycGgtYnV0dG9uLW1vZGFsIC5tb3JwaC1jb250ZW50XHJcbntcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyAwLjVzLCB3aWR0aCAwLjRzIDAuMXMsIGhlaWdodCAwLjRzIDAuMXMsIHRvcCAwLjRzIDAuMXMsIGxlZnQgMC40cyAwLjFzLCBtYXJnaW4gMC40cyAwLjFzLCBib3JkZXItcmFkaXVzIDAuNHMgMC4xcztcclxufVxyXG5cclxuLm1vcnBoLWJ1dHRvbi1tb2RhbC5vcGVuIC5tb3JwaC1jb250ZW50XHJcbntcclxuXHR0b3A6IDUwJSAhaW1wb3J0YW50O1xyXG5cdGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xyXG5cdG1hcmdpbjogLTIxMHB4IDAgMCAtMzAwcHg7XHJcblx0d2lkdGg6IDYwMHB4ICFpbXBvcnRhbnQ7XHJcblx0aGVpZ2h0OiA0MjBweDtcclxuXHR0cmFuc2l0aW9uOiB3aWR0aCAwLjRzIDAuMXMsIGhlaWdodCAwLjRzIDAuMXMsIHRvcCAwLjRzIDAuMXMsIGxlZnQgMC40cyAwLjFzLCBtYXJnaW4gMC40cyAwLjFzLCBib3JkZXItcmFkaXVzIDAuNHMgMC4xcztcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcblxyXG4ubW9ycGgtYnV0dG9uLm1vcnBoLWJ1dHRvbi1tb2RhbFxyXG57XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdG1hcmdpbjogMDtcclxufVxyXG5cclxuLm1vcnBoLWJ1dHRvbi1tb2RhbCAubW9ycGgtY29udGVudFxyXG57XHJcblx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRjb2xvcjogIzAwMDtcclxufVxyXG5cclxuLm1vcnBoLWJ1dHRvbi1tb2RhbC5vcGVuIC5tb3JwaC1jb250ZW50ID4gZGl2XHJcbntcclxuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgMC4zcztcclxufVxyXG5cclxuXHJcblxyXG4vKiBNb3JwaCBCdXR0b24gU3R5bGU6IFNpZGViYXIgKi9cclxuLm1vcnBoLWJ1dHRvbi1zaWRlYmFyLFxyXG4ubW9ycGgtYnV0dG9uLXNpZGViYXIgLm1vcnBoLWNvbnRlbnRcclxue1xyXG5cdHdpZHRoOiA2MHB4O1xyXG5cdGhlaWdodDogNjBweDtcclxufVxyXG5cclxuLm1vcnBoLWJ1dHRvbi1zaWRlYmFyXHJcbntcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0Ym90dG9tOiA1MHB4O1xyXG5cdGxlZnQ6IDUwcHg7XHJcblxyXG5cdD4gYnV0dG9uXHJcblx0e1xyXG5cdFx0bGluZS1oZWlnaHQ6IDYwcHg7XHJcblx0XHRmb250LXNpemU6IDEuNmVtO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5tb3JwaC1idXR0b24tc2lkZWJhciAubW9ycGgtY29udGVudFxyXG57XHJcblx0YmFja2dyb3VuZDogI2U4NTY1NztcclxufVxyXG5cclxuLm1vcnBoLWJ1dHRvbi1zaWRlYmFyLm9wZW4gLm1vcnBoLWNvbnRlbnRcclxue1xyXG5cdHRvcDogMCAhaW1wb3J0YW50O1xyXG5cdGxlZnQ6IDAgIWltcG9ydGFudDtcclxuXHR3aWR0aDogMzAwcHggIWltcG9ydGFudDtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxufVxyXG5cclxuLyogTGV0J3MgYWRkIHNvbWUgbmljZSBlYXNpbmcgZm9yIGFsbCBjYXNlcyAqL1xyXG4ubW9ycGgtYnV0dG9uIC5tb3JwaC1jb250ZW50LFxyXG4ubW9ycGgtYnV0dG9uLm9wZW4gLm1vcnBoLWNvbnRlbnRcclxue1xyXG5cdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43LDAsMC4zLDEpO1xyXG59XHJcblxyXG5cclxuLyogSGVscGVyIGNsYXNzZXMgKi9cclxuLm5vc2Nyb2xsXHJcbntcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubW9ycGgtYnV0dG9uLW92ZXJsYXkuc2Nyb2xsIC5tb3JwaC1jb250ZW50XHJcbntcclxuXHRvdmVyZmxvdy15OiBzY3JvbGw7XHJcbn1cclxuXHJcbi5tb3JwaC1idXR0b24tc2lkZWJhci5zY3JvbGwgLm1vcnBoLWNvbnRlbnRcclxue1xyXG5cdG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4ubW9ycGgtYnV0dG9uLW1vZGFsLm9wZW4gLm1vcnBoLWNvbnRlbnRcclxue1xyXG5cdG1hcmdpbi1sZWZ0OiAtMTUwcHggIWltcG9ydGFudDtcclxuXHR3aWR0aDogMzAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAkbWF4LXdpZHRoLXMpXHJcbntcclxuXHQubW9ycGgtYnV0dG9uLW1vZGFsLm9wZW4gLm1vcnBoLWNvbnRlbnRcclxuXHR7XHJcblx0XHRoZWlnaHQ6IDQ2NHB4O1xyXG5cdFx0bWFyZ2luLXRvcDogLTIzMnB4O1xyXG5cdFx0dG9wOiA1MCUgIWltcG9ydGFudDtcclxuXHRcdGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xyXG5cdFx0dHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcblx0XHRtYXJnaW4tbGVmdDogLTIyMHB4ICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQubW9ycGgtYnV0dG9uLW1vZGFsLm9wZW4gLm1vcnBoLWNvbnRlbnRcclxuXHR7XHJcblx0XHRtYXJnaW46IC0yMTBweCAwIDAgLTE3MHB4O1xyXG5cdFx0d2lkdGg6IDQ0MHB4ICFpbXBvcnRhbnQ7XHJcblx0XHRoZWlnaHQ6IDQyMHB4O1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdH1cclxufSIsIi5tYXJzaGFsbC1uZXdzbGV0dGVyLWhlYWRlclxyXG57XHJcblx0cGFkZGluZzogNDBweCAwIDIwcHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRpbWdcclxuXHR7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbjogYXV0bztcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHdpZHRoOiA2MHB4O1xyXG5cdFx0ei1pbmRleDogMztcclxuXHR9XHJcbn1cclxuXHJcbi5tYXJzaGFsbC1uZXdzbGV0dGVyLWlubmVyXHJcbntcclxuXHRwYWRkaW5nOiAwIDMwcHg7XHJcblx0cGFkZGluZy1ib3R0b206IDMwcHg7XHJcblx0XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uaW52aXRlLWRlc2NyaXB0aW9uID4gcFxyXG57XHJcblx0Y29sb3I6ICM3NDc0NzQ7XHJcbn1cclxuXHJcbnNwYW4uY2xvc2UtbmV3c2xldHRlclxyXG57XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdGhlaWdodDogMjVweDtcclxuXHRsaW5lLWhlaWdodDogMjBweDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0cmlnaHQ6IDEycHg7XHJcblx0dG9wOiAxMnB4O1xyXG5cdHdpZHRoOiAyMHB4O1xyXG5cdGNvbG9yOiAjOTk5O1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7XHJcblxyXG5cdCY6aG92ZXJcclxuXHR7XHJcblx0XHRmb250LXNpemU6IDEuMmVtO1xyXG5cdFx0Y29sb3I6ICMxMTE7XHJcblx0fVxyXG59XHJcblxyXG4ubWFyc2hhbGwtbmV3c2xldHRlci1jb250ZW50XHJcbntcclxuXHQ+IGlucHV0XHJcblx0e1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdGlucHV0W3R5cGU9XCJlbWFpbFwiXVxyXG5cdHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNlYmViZWI7XHJcblx0XHRib3JkZXI6IDAgc29saWQ7XHJcblx0XHRsaW5lLWhlaWdodDogMS41O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRcdHBhZGRpbmc6IDE1cHg7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cdFxyXG5cdG1hcmdpbjogMzVweCBhdXRvIGF1dG87XHJcblx0d2lkdGg6IDgwJTtcclxuXHRcclxuXHQubWFyc2hhbGxfc3VibWl0XHJcblx0e1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2Y2MTA2NztcclxuXHRcdGJvcmRlcjogMCBub25lO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0cGFkZGluZzogMTJweCAwO1xyXG5cdFx0dHJhbnNpdGlvbjogd2lkdGggMC40cyBlYXNlIDBzLCBib3JkZXItcmFkaXVzIDAuNHM7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW46IGF1dG87XHJcblx0XHRcclxuXHRcdCY6aG92ZXJcclxuXHRcdHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI0UwMEE2MjtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0JjphZnRlclxyXG5cdFx0e1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9tZWRpYS90aWNrLnBuZycpO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcclxuXHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGhlaWdodDogMjBweDtcclxuXHRcdFx0bGVmdDogNTAlO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogNTAlO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG5cdFx0XHR3aWR0aDogMjBweDtcclxuXHRcdFx0ei1pbmRleDogOTtcclxuXHRcdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAtMTBweDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5tb3JwaC1idXR0b24tbW9kYWwub3BlbiAubW9ycGgtY29udGVudFxyXG57XHJcblx0aGVpZ2h0OiA0NjRweDtcclxuXHRtYXJnaW4tdG9wOiAtMjMycHg7XHJcbn1cclxuXHJcbi5pbnZpdGUtZGVzY3JpcHRpb24gaDJcclxue1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0bGluZS1oZWlnaHQ6IDEuMWVtO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIHNwaW5uZXJSb3RhdGVcclxue1xyXG4gICAgZnJvbXt0cmFuc2Zvcm06cm90YXRlKDBkZWcpO31cclxuICAgIHRve3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTt9XHJcbn1cclxuXHJcblxyXG4ubWFyc2hhbGwtbmV3c2xldHRlci1jb250ZW50Lm1mb3JtLXN1Ym1pdHRpbmcgLm1hcnNoYWxsX3N1Ym1pdFxyXG57XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XHJcblx0aGVpZ2h0OiA0NnB4O1xyXG5cdG1hcmdpbjogYXV0bztcclxuXHR0ZXh0LWluZGVudDogLTk5OTlweDtcclxuXHR3aWR0aDogNDZweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWFyc2hhbGwtbmV3c2xldHRlci1jb250ZW50IC5tYXJzaGFsbF9zdWJtaXQ6OmJlZm9yZVxyXG57XHJcblx0b3BhY2l0eTogMDtcclxuXHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiAycHggZGFzaGVkICNmZmY7XHJcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdGJvdHRvbTogM3B4O1xyXG5cdGNvbnRlbnQ6IFwiXCI7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bGVmdDogM3B4O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRyaWdodDogM3B4O1xyXG5cdHRvcDogM3B4O1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cdHotaW5kZXg6IDI7XHJcblx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcclxuXHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xyXG5cdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XHJcblx0dHJhbnNpdGlvbi1kZWxheTogMDtcclxufVxyXG5cclxuLm1hcnNoYWxsLW5ld3NsZXR0ZXItY29udGVudC5tZm9ybS1hbmltYXRlIC5tYXJzaGFsbF9zdWJtaXQ6OmJlZm9yZVxyXG57XHJcblx0b3BhY2l0eTogMTtcclxuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cdHRyYW5zaXRpb246IHRvcCAwLjRzLCBsZWZ0IDAuNHMsIHJpZ2h0IDAuNHMsIGJvdHRvbSAwLjRzLCBib3JkZXItcmFkaXVzIDAuNHMsIGJvcmRlci13aWR0aCAwLjRzIGVhc2UgMC40cztcclxuXHRhbmltYXRpb246IDFzIGxpbmVhciAwLjRzIG5vcm1hbCBub25lIGluZmluaXRlIHJ1bm5pbmcgc3Bpbm5lclJvdGF0ZTtcclxufVxyXG5cclxuLm1hcnNoYWxsLW5ld3NsZXR0ZXItY29udGVudC5tZm9ybS1zdWJtaXR0aW5nLm1mb3JtLXN1Y2Nlc3MgLm1hcnNoYWxsX3N1Ym1pdDo6YWZ0ZXJcclxue1xyXG5cdHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcblx0b3BhY2l0eTogMTtcclxuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG59XHJcblxyXG4ubWFyc2hhbGwtbmV3c2xldHRlci1jb250ZW50Lm1mb3JtLWFuaW1hdGUubWZvcm0tc3VibWl0dGluZy5tZm9ybS1zdWNjZXNzIC5tYXJzaGFsbF9zdWJtaXQ6OmJlZm9yZVxyXG57XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0cmlnaHQ6IDA7XHJcblx0Ym90dG9tOiAwO1xyXG5cdGJvcmRlci13aWR0aDogMDtcclxufVxyXG5cclxuXHJcbkBrZXlmcmFtZXMgbWZvcm1Cb3VuY2VJbkRvd25cclxue1xyXG5cdGZyb20sIDYwJSwgNzUlLCA5MCUsIHRvXHJcblx0e1xyXG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcclxuXHR9XHJcblxyXG5cdDAlXHJcblx0e1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTUwcHgsIDApO1xyXG5cdH1cclxuXHJcblx0NjAlXHJcblx0e1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTVweCwgMCk7XHJcblx0fVxyXG5cclxuXHQ3NSVcclxuXHR7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcclxuXHR9XHJcblxyXG5cdDkwJVxyXG5cdHtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKTtcclxuXHR9XHJcblxyXG5cdHRvXHJcblx0e1xyXG5cdFx0dHJhbnNmb3JtOiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLm1mb3JtQm91bmNlSW5Eb3duXHJcbntcclxuXHRhbmltYXRpb24tbmFtZTogbWZvcm1Cb3VuY2VJbkRvd247XHJcbn1cclxuXHJcbi5tYXJzaGFsbC1uZXdzbGV0dGVyLWhlYWRlci5tZnJvbS1oZWFkZXItYW5pbWF0ZS1jbG9zZSBpbWdcclxue1xyXG5cdGFuaW1hdGlvbi1uYW1lOiBtZm9ybUJvdW5jZUluRG93bjtcclxuXHRhbmltYXRpb24tZHVyYXRpb246IDAuNnM7XHJcblx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xyXG5cdGFuaW1hdGlvbi1kZWxheTogMC40cztcclxuXHRhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xyXG5cdGFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTtcclxufVxyXG5cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAkbWF4LXdpZHRoLXMpXHJcbntcclxuXHQubWFyc2hhbGwtbmV3c2xldHRlci1oZWFkZXJcclxuXHR7XHJcblx0XHRpbWdcclxuXHRcdHtcclxuXHRcdFx0d2lkdGg6IDEwMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi5hbmltYXRpb24taWNvblxyXG57XHJcblx0Y29sb3I6ICNlMmUyZTQ7XHJcblx0bGVmdDogMDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2UgMC4wcztcclxuXHJcblx0aW1nXHJcblx0e1xyXG5cdFx0d2lkdGg6IDFlbTtcclxuXHR9XHJcbn1cclxuXHJcbi5tZWRpdW0taWNvbiB7IGZvbnQtc2l6ZTogMS41ZW07IH1cclxuLnNtYWxsLWljb24gIHsgZm9udC1zaXplOiAxLjJlbTsgfVxyXG4ubGFyZ2UtaWNvbiAgeyBmb250LXNpemU6IDIuMGVtOyB9XHJcblxyXG4ubWFyc2hhbGwtbmV3c2xldHRlci1hbmltYXRpb24taWNvbnMge1xyXG4gIGhlaWdodDogNTBweDtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xyXG4gIG1hcmdpbi10b3A6IC0yNXB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4ubWFyc2hhbGwtbmV3c2xldHRlci1jb250ZW50IGxhYmVsIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmb250LXNpemU6IDAuOGVtO1xyXG4gIG1hcmdpbi10b3A6IDVweDtcclxufVxyXG4ucmVxdWVzdC1kZW1vLm9wZW4tYW5pbWF0ZSAuYW5pbWF0aW9uLWljb24tNyxcclxuLm1mcm9tLWhlYWRlci1hbmltYXRlIC5hbmltYXRpb24taWNvbi03IHtcclxuICBsZWZ0OiAtMTc1cHg7XHJcbiAgdG9wOiAtMTJweDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjBkZWcpO1xyXG59XHJcbi5yZXF1ZXN0LWRlbW8ub3Blbi1hbmltYXRlIC5hbmltYXRpb24taWNvbi04LFxyXG4ubWZyb20taGVhZGVyLWFuaW1hdGUgLmFuaW1hdGlvbi1pY29uLTgge1xyXG4gIGxlZnQ6IC0xNzVweDtcclxuICB0b3A6IDQwcHg7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpO1xyXG59XHJcbi5yZXF1ZXN0LWRlbW8ub3Blbi1hbmltYXRlIC5hbmltYXRpb24taWNvbi00LFxyXG4ubWZyb20taGVhZGVyLWFuaW1hdGUgLmFuaW1hdGlvbi1pY29uLTQge1xyXG4gIGxlZnQ6IC0xMjVweDtcclxuICB0b3A6IDIycHg7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTRkZWcpO1xyXG59XHJcbi5yZXF1ZXN0LWRlbW8ub3Blbi1hbmltYXRlIC5hbmltYXRpb24taWNvbi0xLFxyXG4ubWZyb20taGVhZGVyLWFuaW1hdGUgLmFuaW1hdGlvbi1pY29uLTEge1xyXG4gIGxlZnQ6IC05NHB4O1xyXG4gIHRvcDogLTE5cHg7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpO1xyXG59XHJcbi5yZXF1ZXN0LWRlbW8ub3Blbi1hbmltYXRlIC5hbmltYXRpb24taWNvbi0yLFxyXG4ubWZyb20taGVhZGVyLWFuaW1hdGUgLmFuaW1hdGlvbi1pY29uLTIge1xyXG4gIGxlZnQ6IC05NHB4O1xyXG4gIHRvcDogNTFweDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjBkZWcpO1xyXG59XHJcbi5yZXF1ZXN0LWRlbW8ub3Blbi1hbmltYXRlIC5hbmltYXRpb24taWNvbi05LFxyXG4ubWZyb20taGVhZGVyLWFuaW1hdGUgLmFuaW1hdGlvbi1pY29uLTkge1xyXG4gIGxlZnQ6IC03MXB4O1xyXG4gIHRvcDogOHB4O1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDIyZGVnKTtcclxufVxyXG4ucmVxdWVzdC1kZW1vLm9wZW4tYW5pbWF0ZSAuYW5pbWF0aW9uLWljb24tMTYsXHJcbi5tZnJvbS1oZWFkZXItYW5pbWF0ZSAuYW5pbWF0aW9uLWljb24tMTYge1xyXG4gIGxlZnQ6IDE4NXB4O1xyXG4gIHRvcDogLTEycHg7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpO1xyXG59XHJcbi5yZXF1ZXN0LWRlbW8ub3Blbi1hbmltYXRlIC5hbmltYXRpb24taWNvbi0xNyxcclxuLm1mcm9tLWhlYWRlci1hbmltYXRlIC5hbmltYXRpb24taWNvbi0xNyB7XHJcbiAgbGVmdDogMTg1cHg7XHJcbiAgdG9wOiA0MHB4O1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpO1xyXG59XHJcbi5yZXF1ZXN0LWRlbW8ub3Blbi1hbmltYXRlIC5hbmltYXRpb24taWNvbi01LFxyXG4ubWZyb20taGVhZGVyLWFuaW1hdGUgLmFuaW1hdGlvbi1pY29uLTUge1xyXG4gIGxlZnQ6IDE0OHB4O1xyXG4gIHRvcDogMjJweDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0ZGVnKTtcclxufVxyXG4ucmVxdWVzdC1kZW1vLm9wZW4tYW5pbWF0ZSAuYW5pbWF0aW9uLWljb24tMyxcclxuLm1mcm9tLWhlYWRlci1hbmltYXRlIC5hbmltYXRpb24taWNvbi0zIHtcclxuICBsZWZ0OiAxMTdweDtcclxuICB0b3A6IC0xOXB4O1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKC0yMGRlZyk7XHJcbn1cclxuLnJlcXVlc3QtZGVtby5vcGVuLWFuaW1hdGUgLmFuaW1hdGlvbi1pY29uLTEwLFxyXG4ubWZyb20taGVhZGVyLWFuaW1hdGUgLmFuaW1hdGlvbi1pY29uLTEwIHtcclxuICBsZWZ0OiAxMTdweDtcclxuICB0b3A6IDUxcHg7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjBkZWcpO1xyXG59XHJcbi5yZXF1ZXN0LWRlbW8ub3Blbi1hbmltYXRlIC5hbmltYXRpb24taWNvbi0xOCxcclxuLm1mcm9tLWhlYWRlci1hbmltYXRlIC5hbmltYXRpb24taWNvbi0xOCB7XHJcbiAgbGVmdDogOTBweDtcclxuICB0b3A6IDhweDtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjJkZWcpO1xyXG59XHJcblxyXG4ubWFyc2hhbGwtbmV3c2xldHRlci1oZWFkZXIubWZyb20taGVhZGVyLWFuaW1hdGUtY2xvc2UgLm1hcnNoYWxsLW5ld3NsZXR0ZXItYW5pbWF0aW9uLWljb25zIC5hbmltYXRpb24taWNvbntcclxuICBsZWZ0OiAwO1xyXG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xyXG4gIHRvcDogMDtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcbiJdfQ== */
