@charset "UTF-8";
/**
  * PAGE-SPECIFIC STYLESHEET: Events
  *
  * Import common styles and house page-specific styles for page: "Events".
  */
/**
  * COMMON STYLES
  *
  * Defines the styles to import that are required by virtually all pages.
  */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

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

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

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

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

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

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

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

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

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

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

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

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

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

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

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

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

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

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

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

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

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

/**
  * BREAKPOINTS
  *
  * Define breakpoints for media query use and export them for use with JS.
  */
/*
example usage:
@include media(">=phone-small") {...}
*/
:export {
  breakpointPhoneSmall: 320;
  breakpointPhoneLarge: 480;
  breakpointTablet: 768;
  breakpointLaptop: 992;
  breakpointDesktop: 1200;
  breakpointDesktopLarge: 1400;
  breakpointHd: 1920;
}

/**
  * VARIABLES
  */
/**
  * Dimensions:
  */
/**
  * Colors:
  */
/**
  * FONTS
  *
  * Define @font-face styles.
  */
@font-face {
  font-family: Montserrat;
  src: url(../fonts/Montserrat-Regular.ttf);
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Montserrat;
  src: url(../fonts/Montserrat-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: Teachers;
  src: url(../fonts/Teachers-Regular.ttf);
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Teachers;
  src: url(../fonts/Teachers-RegularItalic.ttf);
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: Teachers;
  src: url(../fonts/Teachers-Medium.ttf);
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: Teachers;
  src: url(../fonts/Teachers-MediumItalic.ttf);
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: Teachers;
  src: url(../fonts/Teachers-SemiBold.ttf);
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: Teachers;
  src: url(../fonts/Teachers-SemiBoldItalic.ttf);
  font-weight: 600;
  font-style: italic;
}
@font-face {
  font-family: Teachers;
  src: url(../fonts/Teachers-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: Teachers;
  src: url(../fonts/Teachers-BoldItalic.ttf);
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-family: Teachers;
  src: url(../fonts/Teachers-ExtraBold.ttf);
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-family: Teachers;
  src: url(../fonts/Teachers-ExtraBoldItalic.ttf);
  font-weight: 800;
  font-style: italic;
}
@font-face {
  font-family: Playfair Display;
  src: url(../fonts/PlayfairDisplay-Regular.ttf);
  font-weight: 500;
  font-style: normal;
}
/*
@font-face {
  font-family: American Typewriter ITC Pro Bold;
  //src: url(../fonts/Montserrat-Bold.ttf);
  font-weight: 700;
  font-style: normal;
}



font-family: ltc-goudy-ornate, sans-serif;

font-weight: 400;

font-style: normal;


American Typewriter ITC Pro Bold

font-family: itc-american-typewriter, serif;

font-weight: 700;

font-style: normal;

American Typewriter ITC Pro Bold Italic

font-family: itc-american-typewriter, serif;

font-weight: 700;

font-style: italic;

American Typewriter ITC Pro Light

font-family: itc-american-typewriter, serif;

font-weight: 300;

font-style: normal;

American Typewriter ITC Pro Light Italic

font-family: itc-american-typewriter, serif;

font-weight: 300;

font-style: italic;

American Typewriter ITC Pro Bold Condensed

font-family: itc-american-typewriter-cond, serif;

font-weight: 700;

font-style: normal;

American Typewriter ITC Pro Light Condensed

font-family: itc-american-typewriter-cond, serif;

font-weight: 300;

font-style: normal;
*/
/**
  * MIXINS
  *
  * Standardized style chunks, provided as both SCSS mixins and HTML classes.
  */
.wrap {
  width: 100%;
  height: auto;
}

.inner-wrap {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
}

.mar-top {
  margin-top: 20px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-top {
    margin-top: 25px;
  }
}
@media (min-width: 768px) {
  .mar-top {
    margin-top: 30px;
  }
}
@media (min-width: 992px) {
  .mar-top {
    margin-top: 60px;
  }
}
@media (min-width: 1200px) {
  .mar-top {
    margin-top: 80px;
  }
}

.mar-bottom {
  margin-bottom: 20px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-bottom {
    margin-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .mar-bottom {
    margin-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .mar-bottom {
    margin-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .mar-bottom {
    margin-bottom: 80px;
  }
}

.mar-horizontal {
  margin-top: 20px;
  transition: margin 300ms;
  margin-bottom: 20px;
  transition: margin 300ms;
}
@media (min-width: 480px) {
  .mar-horizontal {
    margin-top: 25px;
  }
}
@media (min-width: 768px) {
  .mar-horizontal {
    margin-top: 30px;
  }
}
@media (min-width: 992px) {
  .mar-horizontal {
    margin-top: 60px;
  }
}
@media (min-width: 1200px) {
  .mar-horizontal {
    margin-top: 80px;
  }
}
@media (min-width: 480px) {
  .mar-horizontal {
    margin-bottom: 25px;
  }
}
@media (min-width: 768px) {
  .mar-horizontal {
    margin-bottom: 30px;
  }
}
@media (min-width: 992px) {
  .mar-horizontal {
    margin-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  .mar-horizontal {
    margin-bottom: 80px;
  }
}

.mar-right {
  margin-right: 20px;
  transition: margin 300ms;
  max-width: calc(100% - 20px);
}
@media (min-width: 480px) {
  .mar-right {
    margin-right: 25px;
    max-width: calc(100% - 25px);
  }
}
@media (min-width: 768px) {
  .mar-right {
    margin-right: 30px;
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 992px) {
  .mar-right {
    margin-right: 60px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 1200px) {
  .mar-right {
    margin-right: 80px;
    max-width: calc(100% - 80px);
  }
}

.mar-left {
  margin-left: 20px;
  transition: margin 300ms;
  max-width: calc(100% - 20px);
}
@media (min-width: 480px) {
  .mar-left {
    margin-left: 25px;
    max-width: calc(100% - 25px);
  }
}
@media (min-width: 768px) {
  .mar-left {
    margin-left: 30px;
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 992px) {
  .mar-left {
    margin-left: 60px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 1200px) {
  .mar-left {
    margin-left: 80px;
    max-width: calc(100% - 80px);
  }
}

.mar-horizontal {
  margin-left: 20px;
  margin-right: 20px;
  transition: margin 300ms;
  max-width: calc(100% - 40px);
}
@media (min-width: 480px) {
  .mar-horizontal {
    margin-left: 25px;
    margin-right: 25px;
    max-width: calc(100% - 50px);
  }
}
@media (min-width: 768px) {
  .mar-horizontal {
    margin-left: 30px;
    margin-right: 30px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 992px) {
  .mar-horizontal {
    margin-left: 60px;
    margin-right: 60px;
    max-width: calc(100% - 120px);
  }
}
@media (min-width: 1200px) {
  .mar-horizontal {
    margin-left: 80px;
    margin-right: 80px;
    max-width: calc(100% - 160px);
  }
}

.pad-top {
  padding-top: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-top {
    padding-top: 35px;
  }
}
@media (min-width: 768px) {
  .pad-top {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .pad-top {
    padding-top: 50px;
  }
}
@media (min-width: 1200px) {
  .pad-top {
    padding-top: 60px;
  }
}

.pad-bottom {
  padding-bottom: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-bottom {
    padding-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .pad-bottom {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .pad-bottom {
    padding-bottom: 50px;
  }
}
@media (min-width: 1200px) {
  .pad-bottom {
    padding-bottom: 60px;
  }
}

.pad-left {
  padding-left: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-left {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .pad-left {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .pad-left {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-left {
    padding-left: 80px;
  }
}

.pad-right {
  padding-right: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-right {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .pad-right {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .pad-right {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-right {
    padding-right: 80px;
  }
}

.pad-vertical {
  padding-top: 30px;
  transition: padding 300ms;
  padding-bottom: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-vertical {
    padding-top: 35px;
  }
}
@media (min-width: 768px) {
  .pad-vertical {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .pad-vertical {
    padding-top: 50px;
  }
}
@media (min-width: 1200px) {
  .pad-vertical {
    padding-top: 60px;
  }
}
@media (min-width: 480px) {
  .pad-vertical {
    padding-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .pad-vertical {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .pad-vertical {
    padding-bottom: 50px;
  }
}
@media (min-width: 1200px) {
  .pad-vertical {
    padding-bottom: 60px;
  }
}

.pad-horizontal {
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .pad-horizontal {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .pad-horizontal {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .pad-horizontal {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-horizontal {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .pad-horizontal {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .pad-horizontal {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .pad-horizontal {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .pad-horizontal {
    padding-left: 80px;
  }
}

.edge-to-edge {
  margin-left: -20px;
  margin-right: -20px;
  transition: margin 300ms;
  max-width: calc(100% + 40px);
}
@media (min-width: 480px) {
  .edge-to-edge {
    margin-left: -25px;
    margin-right: -25px;
    max-width: calc(100% + 50px);
  }
}
@media (min-width: 768px) {
  .edge-to-edge {
    margin-left: -30px;
    margin-right: -30px;
    max-width: calc(100% + 60px);
  }
}
@media (min-width: 992px) {
  .edge-to-edge {
    margin-left: -60px;
    margin-right: -60px;
    max-width: calc(100% + 120px);
  }
}
@media (min-width: 1200px) {
  .edge-to-edge {
    margin-left: 0;
    margin-right: 0;
    max-width: none;
  }
}

.button {
  padding: 10px 15px;
  display: inline-block;
  background-color: #322d29;
  text-transform: uppercase;
  color: #fefefe;
  font-weight: bold;
}

/*
@mixin category {
  display: block;
  // /text-transform: uppercase;
  color: $black;
  font-weight: 600;
  font-size: 0.8rem;
  letter-spacing: -0.0625em;
}

.category {
  @include category;
}

@mixin title {
  display: block;
  font-size: 1.4rem;
  //font-weight: 600;
  line-height: 1.1;
  color: $brandColorPrimary;
  letter-spacing: -0.0625em;

  &:hover {
    //text-decoration: underline;
  }
}

.title {
  @include title;
}

@mixin tag {
  font-size: 0.8rem;
  font-weight: 500;
  color: $mediumDarkGray;
  letter-spacing: -0.0425em;
}

.tag {
  @include tag;
}
*/
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.no-scroll {
  overflow: hidden;
}

.embed-container-wrap {
  width: 100%;
  margin: 0 auto;
}

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto;
}

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

/**
  * ELEMENT STYLES
  *
  * Style definitions for global element selectors.
  */
* {
  box-sizing: border-box;
}

html {
  height: 100%;
  font-size: 100%;
  line-height: 1.7;
}

body {
  min-height: 100%;
  display: grid;
  grid-template-rows: auto 1fr auto;
  margin: 0;
  background-color: #f1e5cd;
  color: #222;
  font-family: Teachers, serif;
  font-weight: 400;
  font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  text-transform: uppercase;
}

h1 {
  margin-top: 0;
  color: #c74f3f;
  padding: 0 0 30px 0;
  display: block;
  font-size: 2rem;
  line-height: 1;
  border-bottom: 3px solid #c74f3f;
}
@media (min-width: 768px) {
  h1 {
    font-size: 2.8rem;
  }
}

h2 {
  margin-top: 0;
  margin-bottom: 1.3rem;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.15909em;
}

h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: 1.15909em;
  font-size: 1.6rem;
}

h4 {
  margin-top: 0;
  font-size: 1.4rem;
  margin-bottom: 1rem;
  line-height: 1.2;
}

h5 {
  margin-top: 0;
  font-size: 1.3rem;
  margin-bottom: 1rem;
}

h6 {
  margin-top: 0;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

p {
  margin: 0;
  padding-bottom: 0;
  line-height: 1.5;
}

a {
  text-decoration: none;
  color: #c74f3f;
}
ul, ol {
  margin: 0;
  padding: 0;
  list-style-position: inside;
}

/* begin button styles */
button {
  display: block;
  border: none;
  padding: 0;
  margin: 0;
  text-decoration: none;
  background: none;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* end button styles */
blockquote {
  border-left: 5px solid #c74f3f;
  margin: 50px 10px;
  padding: 0.5em 30px;
  quotes: "“";
}
blockquote:before {
  color: #322d29;
  content: open-quote;
  font-size: 4em;
  line-height: 0.1em;
  margin-right: 0.25em;
  vertical-align: -0.4em;
}
blockquote p {
  display: block;
  font-weight: bold;
}
blockquote p:first-of-type, blockquote p:nth-of-type(2) {
  font-size: 1.3rem;
}
blockquote footer {
  padding-top: 20px;
  font-size: 1.4rem;
}

/**
  * HEADER STYLES
  */
.header-wrap {
  height: auto;
  grid-row-start: 1;
  grid-row-end: 2;
  z-index: 0;
  background-color: #c74f3f;
  position: relative;
}
.header-wrap.bg-visible {
  z-index: 9999;
}
@media (min-width: 768px) {
  .header-wrap.bg-visible {
    z-index: 0;
  }
}

.header-overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: rgb(1, 38, 170);
  opacity: 0.7;
  display: none;
}

.top-bar-bg {
  width: 100%;
  height: 45px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 6;
  display: none;
  background-color: unset;
  transition: background-color 200ms;
}
@media (min-width: 768px) {
  .top-bar-bg {
    display: block;
  }
}

.bottom-bar-bg {
  width: 100%;
  height: 60px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 6;
  display: none;
  transition: background-color 200ms;
  background-color: #7d322d;
}
@media (min-width: 768px) {
  .bottom-bar-bg {
    display: block;
  }
}

.header {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  height: 90px;
  padding-top: 0;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 90px auto;
  transition: background-color 200ms;
}
@media (min-width: 480px) {
  .header {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .header {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .header {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .header {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .header {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .header {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .header {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .header {
    height: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
  }
}

.header-brand {
  margin-top: 0;
  margin-right: 0;
  margin-left: 0;
  height: 90px;
  grid-column: 1/span 1;
  grid-row: 1/span 1;
  position: relative;
  z-index: 5;
}
@media (min-width: 768px) {
  .header-brand {
    height: 200px;
    height: auto;
    margin-top: 45px;
  }
}
.header-brand a {
  max-width: 420px;
  height: 90px;
  display: flex;
  align-items: center;
  flex-direction: row;
  font-weight: bold;
  text-decoration: none;
  color: #000;
  padding-left: 0;
}
@media (min-width: 768px) {
  .header-brand a {
    max-width: none;
    height: 200px;
    height: auto;
    padding-bottom: 30px;
  }
}
@media (min-width: 1400px) {
  .header-brand a {
    max-width: 100%;
  }
}
.header-brand a .logo-text {
  display: block;
  color: #f1e5cd;
  text-align: left;
  padding-left: 0;
  padding-top: 0;
}
@media (min-width: 480px) {
  .header-brand a .logo-text {
    padding-left: 10px;
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .header-brand a .logo-text {
    padding-top: 30px;
    padding-left: 0;
  }
}
@media (min-width: 1200px) {
  .header-brand a .logo-text {
    padding-top: 50px;
    padding-bottom: 20px;
  }
}
.header-brand a .logo-text .logo-text-title {
  margin: 0 auto;
  display: block;
  line-height: 0.9;
  font-size: 1.1rem;
  text-transform: uppercase;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 1.6rem;
  }
}
@media (min-width: 768px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 2.6rem;
  }
}
@media (min-width: 992px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 3rem;
  }
}
@media (min-width: 1200px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 3.1rem;
  }
}
@media (min-width: 1400px) {
  .header-brand a .logo-text .logo-text-title {
    font-size: 3.8rem;
  }
}
.header-brand a .logo-text .author {
  font-size: 1rem;
  text-transform: lowercase;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .author {
    font-size: 1.6rem;
  }
}
@media (min-width: 768px) {
  .header-brand a .logo-text .author {
    font-size: 2.6rem;
  }
}
@media (min-width: 992px) {
  .header-brand a .logo-text .author {
    font-size: 3rem;
  }
}
@media (min-width: 1200px) {
  .header-brand a .logo-text .author {
    font-size: 3.1rem;
  }
}
@media (min-width: 1400px) {
  .header-brand a .logo-text .author {
    font-size: 3.8rem;
  }
}
.header-brand a .logo-text .logo-text-tagline {
  margin: 10px auto 0 auto;
  line-height: 1.1;
  display: none;
  font-size: 0.6rem;
  font-weight: lighter;
  font-style: italic;
  color: #322d29;
}
@media (min-width: 480px) {
  .header-brand a .logo-text .logo-text-tagline {
    font-size: 1.1rem;
  }
}
@media (min-width: 768px) {
  .header-brand a .logo-text .logo-text-tagline {
    display: block;
    margin-top: 20px;
    font-size: 1.5rem;
  }
}
@media (min-width: 1200px) {
  .header-brand a .logo-text .logo-text-tagline {
    font-size: 2rem;
  }
}

.logo {
  margin-left: 20px;
  transition: margin 300ms;
  max-width: calc(100% - 20px);
  width: auto;
  height: 100%;
  text-align: center;
  display: block;
  position: absolute;
  right: auto;
  bottom: auto;
  top: 0;
  left: 0;
}
@media (min-width: 480px) {
  .logo {
    margin-left: 25px;
    max-width: calc(100% - 25px);
  }
}
@media (min-width: 768px) {
  .logo {
    margin-left: 30px;
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 992px) {
  .logo {
    margin-left: 60px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 1200px) {
  .logo {
    margin-left: 80px;
    max-width: calc(100% - 80px);
  }
}
@media (min-width: 768px) {
  .logo {
    width: auto;
    height: 90%;
    right: 30px;
    bottom: 0;
    top: auto;
    left: auto;
  }
}
@media (min-width: 992px) {
  .logo {
    right: 100px;
  }
}

.table-of-contents {
  margin-left: 20px;
  transition: margin 300ms;
  max-width: calc(100% - 20px);
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  padding-top: 35px;
  padding-bottom: 20px;
  display: block;
  font-family: questa-grande, serif;
  font-size: 1.6rem;
  font-weight: bold;
}
@media (min-width: 480px) {
  .table-of-contents {
    margin-left: 25px;
    max-width: calc(100% - 25px);
  }
}
@media (min-width: 768px) {
  .table-of-contents {
    margin-left: 30px;
    max-width: calc(100% - 30px);
  }
}
@media (min-width: 992px) {
  .table-of-contents {
    margin-left: 60px;
    max-width: calc(100% - 60px);
  }
}
@media (min-width: 1200px) {
  .table-of-contents {
    margin-left: 80px;
    max-width: calc(100% - 80px);
  }
}
@media (min-width: 480px) {
  .table-of-contents {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .table-of-contents {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .table-of-contents {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .table-of-contents {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .table-of-contents {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .table-of-contents {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .table-of-contents {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .table-of-contents {
    padding-left: 80px;
  }
}

.header-nav {
  width: 100%;
  height: 0;
  position: absolute;
  top: 90px;
  display: none;
  overflow: hidden;
  z-index: 10;
}
.header-nav.bg-visible {
  background-color: #7d322d;
  box-shadow: 0px 5px 10px -5px #322d29;
}
@media (min-width: 768px) {
  .header-nav {
    position: relative;
    height: auto;
    display: block;
    overflow: visible;
    top: auto;
  }
  .header-nav.bg-visible {
    box-shadow: unset;
  }
}

.main-nav {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  height: auto;
  position: static;
  top: auto;
  right: auto;
  z-index: 5;
  display: block;
}
@media (min-width: 768px) {
  .main-nav {
    padding-left: 0;
    width: auto;
    left: 0;
  }
}
.main-nav ul {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  list-style: none;
  border-top: 1px solid #c74f3f;
  padding-bottom: 0;
}
@media (min-width: 768px) {
  .main-nav ul {
    width: auto;
    padding-top: 8px;
    padding-bottom: 7px;
    height: auto;
    flex-direction: row;
    -moz-column-gap: 10px;
         column-gap: 10px;
    border-top: unset;
    align-items: flex-start;
    justify-content: space-between;
  }
}
.main-nav ul li {
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  width: 100%;
  height: 45px;
  list-style: none;
  border-top: unset;
  border-bottom: 1px solid #c74f3f;
  position: relative;
}
@media (min-width: 480px) {
  .main-nav ul li {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .main-nav ul li {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .main-nav ul li {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .main-nav ul li {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .main-nav ul li {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .main-nav ul li {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .main-nav ul li {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .main-nav ul li {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .main-nav ul li {
    padding-right: 0;
    padding-left: 0;
    width: auto;
    border-bottom: unset;
    transition: display 300ms;
  }
  .main-nav ul li:hover > ul {
    display: block;
  }
}
.main-nav ul li a {
  width: 100%;
  height: 45px;
  padding: 0;
  position: relative;
  display: flex;
  align-items: center;
  font-weight: bold;
  font-size: 1rem;
  text-transform: uppercase;
  color: #f1e5cd;
  text-align: center;
}
@media (min-width: 768px) {
  .main-nav ul li a {
    width: auto;
    padding: 0 5px;
    font-size: 1.3rem;
    text-align: left;
  }
}
.main-nav ul li .nav-chevron {
  display: flex;
  position: absolute;
  right: 0;
}
@media (min-width: 768px) {
  .main-nav ul li .nav-chevron {
    display: none;
  }
}
.main-nav ul li ul {
  width: 225px;
  height: auto;
  position: absolute;
  top: 62px;
  right: 0;
  list-style: none;
  display: none;
  background-color: #7d322d;
  border-top: 1px solid #c74f3f;
}
.main-nav ul li ul::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid #e0e0e0;
  transform: rotate(45deg);
  position: absolute;
  top: -12px;
  right: -1px;
  z-index: 1001;
}
.main-nav ul li ul li {
  width: 225px;
  height: 35px;
  list-style: none;
  display: block;
  border-top: 1px solid #c74f3f;
  border-bottom: none;
}
.main-nav ul li ul li:nth-child(1) {
  border-top: 1px solid #c74f3f;
}
.main-nav ul li ul li:nth-child(2) {
  border-top: 1px solid #c74f3f;
}
.main-nav ul li ul li:nth-child(3) {
  border-top: 1px solid #c74f3f;
}
.main-nav ul li ul li:nth-child(4) {
  border-top: 1px solid #c74f3f;
}
.main-nav ul li ul li a {
  width: 100%;
  height: 35px;
  padding-left: 10px;
  display: flex;
  align-items: center;
  text-decoration: none;
}
.main-nav ul li ul li a:hover {
  text-decoration: underline;
}

.top-nav {
  padding-right: 0;
  padding-left: 0;
  width: 100%;
  height: auto;
  position: relative;
  top: auto;
  left: auto;
  z-index: 6;
  display: block;
  clear: both;
}
@media (min-width: 768px) {
  .top-nav {
    padding-right: 20px;
    transition: padding 300ms;
    padding-left: 20px;
    transition: padding 300ms;
    width: 100%;
    height: 45px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 6;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .top-nav {
    padding-right: 25px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .top-nav {
    padding-right: 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .top-nav {
    padding-right: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .top-nav {
    padding-right: 80px;
  }
}
@media (min-width: 768px) and (min-width: 480px) {
  .top-nav {
    padding-left: 25px;
  }
}
@media (min-width: 768px) and (min-width: 768px) {
  .top-nav {
    padding-left: 30px;
  }
}
@media (min-width: 768px) and (min-width: 992px) {
  .top-nav {
    padding-left: 60px;
  }
}
@media (min-width: 768px) and (min-width: 1200px) {
  .top-nav {
    padding-left: 80px;
  }
}
.top-nav ul {
  width: 100%;
  padding-right: 0;
  height: auto;
  display: flex;
  flex-direction: column;
  list-style: none;
  -moz-column-gap: 30px;
       column-gap: 30px;
  flex-flow: column;
}
@media (min-width: 768px) {
  .top-nav ul {
    width: auto;
    height: 45px;
    padding-right: 60px;
    flex-flow: row-reverse;
  }
}
.top-nav ul li {
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  width: 100%;
  height: 45px;
  display: flex;
  align-items: center;
  list-style: none;
  border-bottom: 1px solid #888888;
  position: relative;
}
@media (min-width: 480px) {
  .top-nav ul li {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .top-nav ul li {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .top-nav ul li {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .top-nav ul li {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .top-nav ul li {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .top-nav ul li {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .top-nav ul li {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .top-nav ul li {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .top-nav ul li {
    width: auto;
    padding-right: 0;
    padding-left: 0;
    border-bottom: unset;
  }
}
.top-nav ul li a {
  height: 45px;
  text-transform: uppercase;
  text-decoration: none;
  color: #322d29;
  font-weight: bold;
  font-size: 12px;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .top-nav ul li a {
    color: rgb(237, 205, 44);
  }
}
.slide-line {
  height: 3px;
  background-color: #fefefe;
}

.header-buttons {
  padding-right: 20px;
  transition: padding 300ms;
  width: auto;
  height: 90px;
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 6;
}
@media (min-width: 480px) {
  .header-buttons {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .header-buttons {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .header-buttons {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .header-buttons {
    padding-right: 80px;
  }
}
@media (min-width: 768px) {
  .header-buttons {
    height: 45px;
    padding-left: 0;
  }
}

.glass {
  padding: 8px 10px;
  display: flex;
  align-items: center;
  top: auto;
  border: unset;
}
.glass i {
  color: #f1e5cd;
}
@media (min-width: 768px) {
  .glass {
    height: 45px;
    border: unset;
    padding: 8px 15px;
  }
  .glass i {
    color: #f1e5cd;
  }
  .glass i:hover {
    color: #aaa;
  }
}

.burger {
  margin-left: 0;
  padding: 8px 10px;
  display: flex;
  align-items: center;
}
.burger i {
  color: #f1e5cd;
}
@media (min-width: 340px) {
  .burger {
    margin-left: 10px;
  }
}
@media (min-width: 768px) {
  .burger {
    display: none;
  }
}

.site-search-wrap {
  width: 100%;
  height: auto;
  height: auto;
  display: none;
  position: absolute;
  top: 90px;
  left: 0;
  background-color: #c74f3f;
  z-index: 6;
}
@media (min-width: 768px) {
  .site-search-wrap {
    top: 45px;
  }
}
.site-search-wrap .site-search {
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .site-search-wrap .site-search {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .site-search-wrap .site-search {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .site-search-wrap .site-search {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .site-search-wrap .site-search {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .site-search-wrap .site-search {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .site-search-wrap .site-search {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .site-search-wrap .site-search {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .site-search-wrap .site-search {
    padding-left: 80px;
  }
}

/**
  * SITE SEARCH FORM STYLES
  */
.site-search {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  height: auto;
  padding: 35px 0;
  display: grid;
  grid-template-columns: 1fr 50px;
  grid-template-rows: auto;
}

.search-query {
  height: 50px;
  padding: 0;
  grid-column: 1/span 1;
  grid-row: 1;
  align-self: center;
  background-color: #f1e5cd;
}
.search-query label {
  width: 100%;
  max-width: 100%;
  height: 30px;
  color: #322d29;
  display: block;
  text-transform: uppercase;
  text-align: left;
  display: none;
}
.search-query input {
  width: 100%;
  max-width: 100%;
  height: 50px;
  padding-left: 20px;
  border: 2px solid #322d29;
  display: block;
  background-color: unset;
  color: #322d29;
}

.search-submit {
  width: 50px;
  height: 50px;
  grid-column: 2/span 1;
  grid-row: 1;
  align-self: start;
  color: #322d29;
  font-size: 1.4rem;
  background-color: #f1e5cd;
  transition: background-color 200ms;
  border-top: 2px solid #322d29;
  border-right: 2px solid #322d29;
  border-bottom: 2px solid #322d29;
  line-height: 50px;
}
.search-submit:hover {
  background-color: #e0e0e0;
}

/**
  * CONTENT STYLES
  */
.main-wrap {
  width: 100%;
  height: auto;
  grid-row-start: 2;
  grid-row-end: 3;
}
.main {
  height: 100%;
  overflow: hidden;
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  margin-top: 0;
  padding-top: 0;
  padding-bottom: 20px;
  position: relative;
  z-index: 5;
}
@media (min-width: 480px) {
  .main {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .main {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .main {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .main {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .main {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .main {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .main {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .main {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .main {
    margin-top: -20px;
    padding-top: 20px;
    padding-bottom: 40px;
  }
}

/*.page-header {
  width: 100%;
  height: auto;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 80%;
  position: relative;
  z-index: 1;
  //background-color: $brandColorPrimary;
  background-blend-mode: screen;

  @include media(">=tablet") {
    //min-height: 250px;
  }
}
  .page-header-overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background-image: linear-gradient(darken($transGray, 40%), darken($transGray, 20%));
    opacity: 0.7;
    //background-blend-mode: multiply;
  }*/
/*.page-header-box-wrap {
  //@include inner-wrap;
  min-height: 100%;
  height: auto;
  //padding-top: calc($headerHeightMobile + $spacerPaddingTablet);
  //padding: 0;
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;

  @include media(">=tablet") {
    //@include pad-horizontal;
    //padding-top: calc($headerHeightDesktop + $spacerPaddingDesktop);//
    //height: auto;

    //display: none;
  }
}*/
/*.page-header-box {
  @include pad-top;
  @include pad-horizontal;
  //@include pad-bottom;
  width: 100%;
  height: 100%;
  //padding: 40px 30px;
  //padding-top: calc($headerHeightMobile + $spacerPaddingTablet);
  text-align: left;
  background-color: $white;

  @include media(">=tablet") {
    //width: 67%;
    //width: 100%;
    //padding-top: calc($headerHeightDesktop + $spacerPaddingDesktop);
  }

  h1 {
    margin: 0;
    padding: 0 0 20px 0;
    display: block;
    //color: $offWhite;
    font-size: 1.6rem;
    line-height: 1.3;
    //padding-bottom: 25px;
    font-style: italic;
    text-align: center;
    border-bottom: 3px solid $black;

    @include media(">=tablet") {
      font-size: 3.2rem;
    }
  }

  p {
    margin: 0;
    display: block;
    font-size: 1rem;
    font-weight: 500;
    color: $offWhite;

    @include media(">=tablet") {
      font-size: 1.2rem;
    }
  }
}*/
.page-content {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
}
@media (min-width: 768px) {
  .page-content {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}

.page-content.side {
  grid-template-columns: 1fr 0px;
  grid-template-rows: auto auto;
}
@media (min-width: 768px) {
  .page-content.side {
    grid-template-columns: 1fr 320px;
    grid-template-rows: auto 0px;
  }
}

.page-main {
  padding-top: 30px;
  transition: padding 300ms;
  padding-bottom: 30px;
  transition: padding 300ms;
  width: 100%;
  grid-column: 1/span 1;
  grid-row: 2;
  overflow: visible;
}
@media (min-width: 480px) {
  .page-main {
    padding-top: 35px;
  }
}
@media (min-width: 768px) {
  .page-main {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .page-main {
    padding-top: 50px;
  }
}
@media (min-width: 1200px) {
  .page-main {
    padding-top: 60px;
  }
}
@media (min-width: 480px) {
  .page-main {
    padding-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .page-main {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .page-main {
    padding-bottom: 50px;
  }
}
@media (min-width: 1200px) {
  .page-main {
    padding-bottom: 60px;
  }
}
@media (min-width: 768px) {
  .page-main {
    grid-column: 1/span 1;
    grid-row: 1;
  }
}
.page-main h2 {
  margin-top: 50px;
  padding-bottom: 20px;
}
.page-main h2:first-of-type {
  margin-top: 0;
}
.page-main h3 {
  margin-top: 40px;
}
.page-main h4 {
  margin-top: 40px;
}
.page-main h5 {
  margin-top: 40px;
}
.page-main h6 {
  margin-top: 40px;
}
.page-main p {
  margin-bottom: 25px;
}
.page-main p:last-of-type {
  margin-bottom: 0;
}
.page-main ul {
  padding-left: 20px;
  line-height: 1.5;
  list-style-position: outside;
}
.page-main ul li {
  margin-bottom: 15px;
}

.page-section-wrap {
  width: 100%;
  height: auto;
  width: 100%;
}

.page-section {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  padding-top: 30px;
  transition: padding 300ms;
}
@media (min-width: 480px) {
  .page-section {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .page-section {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-left: 80px;
  }
}
@media (min-width: 480px) {
  .page-section {
    padding-top: 35px;
  }
}
@media (min-width: 768px) {
  .page-section {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .page-section {
    padding-top: 50px;
  }
}
@media (min-width: 1200px) {
  .page-section {
    padding-top: 60px;
  }
}

.side .page-main {
  padding-right: 0;
}
@media (min-width: 768px) {
  .side .page-main {
    padding-right: 100px;
  }
}

.page-sidebar {
  padding-bottom: 30px;
  transition: padding 300ms;
  width: 100%;
  grid-column: 1/span 1;
  grid-row: 1;
}
@media (min-width: 480px) {
  .page-sidebar {
    padding-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .page-sidebar {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .page-sidebar {
    padding-bottom: 50px;
  }
}
@media (min-width: 1200px) {
  .page-sidebar {
    padding-bottom: 60px;
  }
}
@media (min-width: 768px) {
  .page-sidebar {
    grid-column: 2/span 1;
    grid-row: 1;
  }
}

.alignright {
  width: 100%;
  float: none;
  padding: 20px;
}
@media (min-width: 768px) {
  .alignright {
    width: 50%;
    float: right;
    padding: 20px;
  }
}

.alignleft {
  width: 100%;
  float: none;
  padding: 20px;
}
@media (min-width: 768px) {
  .alignleft {
    width: 50%;
    float: left;
    padding: 20px;
  }
}

.single p:first-of-type::first-letter {
  display: inline;
  font-size: 1rem;
  float: none;
  margin: 0;
  padding: 0;
  border: unset;
  color: inherit;
  background-color: unset;
  font-family: itc-american-typewriter, serif;
}

figure {
  background-color: #eee;
  padding: 20px;
}
figure img {
  width: 100%;
}
figure.alignright {
  margin-right: 0;
  margin-left: 0;
  padding-right: 20px;
  padding-left: 20px;
}
@media (min-width: 768px) {
  figure.alignright {
    margin-left: 20px;
  }
}
figure.alignright img {
  width: 100%;
}
figure.alignleft {
  margin-right: 0;
  margin-left: 0;
  padding-right: 20px;
  padding-left: 20px;
}
@media (min-width: 768px) {
  figure.alignleft {
    margin-right: 20px;
  }
}
figure.alignleft img {
  width: 100%;
}
figure figcaption {
  width: 100%;
  font-size: 0.9rem;
}
/**
  * FOOTER STYLES
  */
.footer-wrap {
  grid-row-start: 3;
  grid-row-end: 4;
  background-color: #c74f3f;
}
.footer {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding-top: 30px;
  transition: padding 300ms;
  padding-bottom: 30px;
  transition: padding 300ms;
  text-align: left;
  overflow: hidden;
  color: #f1e5cd;
}
@media (min-width: 480px) {
  .footer {
    padding-top: 35px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-top: 50px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-top: 60px;
  }
}
@media (min-width: 480px) {
  .footer {
    padding-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .footer {
    padding-bottom: 40px;
  }
}
@media (min-width: 992px) {
  .footer {
    padding-bottom: 50px;
  }
}
@media (min-width: 1200px) {
  .footer {
    padding-bottom: 60px;
  }
}
.footer-nav {
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  padding-bottom: 20px;
}
@media (min-width: 480px) {
  .footer-nav {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .footer-nav {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .footer-nav {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .footer-nav {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .footer-nav {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .footer-nav {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .footer-nav {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .footer-nav {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .footer-nav {
    width: auto;
    padding-bottom: 30px;
  }
}
.footer-nav ul {
  width: 100%;
  height: auto;
  display: flex;
  display: inline-block;
  list-style: none;
  text-align: flex-start;
}
@media (min-width: 768px) {
  .footer-nav ul {
    width: auto;
  }
}
.footer-nav ul li {
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  width: 100%;
  list-style: none;
  position: relative;
  display: inline-block;
  position: relative;
  padding: 5px 10px;
}
@media (min-width: 480px) {
  .footer-nav ul li {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .footer-nav ul li {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .footer-nav ul li {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .footer-nav ul li {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .footer-nav ul li {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .footer-nav ul li {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .footer-nav ul li {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .footer-nav ul li {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .footer-nav ul li {
    width: auto;
    padding: 0 10px;
    padding: 0;
  }
  .footer-nav ul li:after {
    content: "|";
    color: #999999;
    position: absolute;
    top: 0;
    right: -2px;
  }
  .footer-nav ul li:last-child:after {
    content: "";
  }
}
.footer-nav ul li a {
  width: 100%;
  padding: 0;
  position: relative;
  display: block;
  align-items: center;
  font-size: 1rem;
  color: #f1e5cd;
  text-align: center;
  text-transform: uppercase;
  font-weight: bold;
}
@media (min-width: 768px) {
  .footer-nav ul li a {
    align-items: left;
    width: auto;
    text-align: left;
  }
}

.copyright {
  padding-right: 20px;
  transition: padding 300ms;
  padding-left: 20px;
  transition: padding 300ms;
  font-size: 10px;
  text-align: center;
}
@media (min-width: 480px) {
  .copyright {
    padding-right: 25px;
  }
}
@media (min-width: 768px) {
  .copyright {
    padding-right: 30px;
  }
}
@media (min-width: 992px) {
  .copyright {
    padding-right: 60px;
  }
}
@media (min-width: 1200px) {
  .copyright {
    padding-right: 80px;
  }
}
@media (min-width: 480px) {
  .copyright {
    padding-left: 25px;
  }
}
@media (min-width: 768px) {
  .copyright {
    padding-left: 30px;
  }
}
@media (min-width: 992px) {
  .copyright {
    padding-left: 60px;
  }
}
@media (min-width: 1200px) {
  .copyright {
    padding-left: 80px;
  }
}
@media (min-width: 768px) {
  .copyright {
    text-align: left;
    width: auto;
  }
}

h2 {
  padding-top: 20px;
  margin-bottom: 0;
  border-bottom: 3px solid #322d29;
}

.videos {
  padding: 20px;
  display: grid;
  grid-template-columns: 100%;
  grid-template-rows: auto;
  grid-column-gap: 0;
  grid-row-gap: 40px;
  background-color: #ffffff;
}
@media (min-width: 480px) {
  .videos {
    padding: 40px;
  }
}
@media (min-width: 768px) {
  .videos {
    grid-template-columns: 48% 48%;
    grid-column-gap: 4%;
  }
}

.video {
  display: grid;
}

.video-title {
  /*
    grid-column: 1 / span 2;
    grid-row: 1;

    @include media(">=tablet") {
      grid-column: 1 / span 2;
      grid-row: 1;
    }

    h2 {
      padding-bottom: 20px;
      font-size: 2rem;

      @include media(">=tablet") {
        font-size: 3rem;
      }
    }
    */
}
.video-title h4 {
  margin-top: 0;
}

.video-embed {
  max-width: 460px;
  display: block;
  margin-top: auto;
}

.gallery {
  padding: 20px;
  background-color: #ffffff;
}
@media (min-width: 480px) {
  .gallery {
    padding: 40px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZpZGVvcy5jc3MiLCJ2aWRlb3Muc2NzcyIsIl9jb21tb24uc2NzcyIsImxpYnJhcmllcy9fbm9ybWFsaXplLnNjc3MiLCJwYXJ0aWFscy9fYnJlYWtwb2ludHMubW9kdWxlcy5zY3NzIiwicGFydGlhbHMvX3ZhcmlhYmxlcy5zY3NzIiwicGFydGlhbHMvX2ZvbnRzLnNjc3MiLCJwYXJ0aWFscy9fbWl4aW5zLnNjc3MiLCJsaWJyYXJpZXMvX2luY2x1ZGUtbWVkaWEuc2NzcyIsInBhcnRpYWxzL19taXNjLnNjc3MiLCJwYXJ0aWFscy9fZWxlbWVudHMuc2NzcyIsInBhcnRpYWxzL19oZWFkZXIuc2NzcyIsInBhcnRpYWxzL19zZWFyY2hmb3JtLnNjc3MiLCJwYXJ0aWFscy9fY29udGVudC5zY3NzIiwicGFydGlhbHMvX2Zvb3Rlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0FoQjs7OztHQUFBO0FDQUE7Ozs7R0FBQTtBQ0FBLDJFQUFBO0FBRUE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNFLGlCQUFBLEVBQUEsTUFBQTtFQUNBLDhCQUFBLEVBQUEsTUFBQTtBSFNGOztBR05BOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLFNBQUE7QUhPRjs7QUdKQTs7RUFBQTtBQUlBO0VBQ0UsY0FBQTtBSE1GOztBR0hBOzs7RUFBQTtBQUtBO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0FIS0Y7O0FHRkE7K0VBQUE7QUFHQTs7O0VBQUE7QUFLQTtFQUNFLHVCQUFBLEVBQUEsTUFBQTtFQUNBLFNBQUEsRUFBQSxNQUFBO0VBQ0EsaUJBQUEsRUFBQSxNQUFBO0FIR0Y7O0FHQUE7OztFQUFBO0FBS0E7RUFDRSxpQ0FBQSxFQUFBLE1BQUE7RUFDQSxjQUFBLEVBQUEsTUFBQTtBSEVGOztBR0NBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFLDZCQUFBO0FIQUY7O0FHR0E7OztFQUFBO0FBS0E7RUFDRSxtQkFBQSxFQUFBLE1BQUE7RUFD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RHBlSjtJQVhJLG1CRjFDcUI7RUxpaEJ2QjtBQUNGO0FRT0k7RURwZUo7SUFQSSxtQkY3Q3FCO0VMcWhCdkI7QUFDRjtBUUVJO0VEcGVKO0lBSEksbUJGaERzQjtFTHloQnhCO0FBQ0Y7O0FPOWRBO0VBckRFLGdCRlh1QjtFRVl2Qix3QkFBQTtFQXdCQSxtQkZwQ3VCO0VFcUN2Qix3QkFBQTtBUGdnQkY7QVFWSTtFRDNkSjtJQWpESSxnQkZkeUI7RUx3aUIzQjtBQUNGO0FRZkk7RUQzZEo7SUE3Q0ksZ0JGakJxQjtFTDRpQnZCO0FBQ0Y7QVFwQkk7RUQzZEo7SUF6Q0ksZ0JGcEJxQjtFTGdqQnZCO0FBQ0Y7QVF6Qkk7RUQzZEo7SUFyQ0ksZ0JGdkJzQjtFTG9qQnhCO0FBQ0Y7QVE5Qkk7RUQzZEo7SUF4QkksbUJGdkN5QjtFTDRqQjNCO0FBQ0Y7QVFuQ0k7RUQzZEo7SUFwQkksbUJGMUNxQjtFTGdrQnZCO0FBQ0Y7QVF4Q0k7RUQzZEo7SUFoQkksbUJGN0NxQjtFTG9rQnZCO0FBQ0Y7QVE3Q0k7RUQzZEo7SUFaSSxtQkZoRHNCO0VMd2tCeEI7QUFDRjs7QU8vZUE7RUF4QkUsa0JGdEV1QjtFRXVFdkIsd0JBQUE7RUFDQSw0QkFBQTtBUDJnQkY7QVF4REk7RUQ3Yko7SUFuQkksa0JGMUV5QjtJRTJFekIsNEJBQUE7RVA0Z0JGO0FBQ0Y7QVE5REk7RUQ3Yko7SUFkSSxrQkY5RXFCO0lFK0VyQiw0QkFBQTtFUDZnQkY7QUFDRjtBUXBFSTtFRDdiSjtJQVRJLGtCRmxGcUI7SUVtRnJCLDRCQUFBO0VQOGdCRjtBQUNGO0FRMUVJO0VEN2JKO0lBSkksa0JGdEZzQjtJRXVGdEIsNEJBQUE7RVArZ0JGO0FBQ0Y7O0FPL2VBO0VBeEJFLGlCRnBHdUI7RUVxR3ZCLHdCQUFBO0VBQ0EsNEJBQUE7QVAyZ0JGO0FRdEZJO0VEL1pKO0lBbkJJLGlCRnhHeUI7SUV5R3pCLDRCQUFBO0VQNGdCRjtBQUNGO0FRNUZJO0VEL1pKO0lBZEksaUJGNUdxQjtJRTZHckIsNEJBQUE7RVA2Z0JGO0FBQ0Y7QVFsR0k7RUQvWko7SUFUSSxpQkZoSHFCO0lFaUhyQiw0QkFBQTtFUDhnQkY7QUFDRjtBUXhHSTtFRC9aSjtJQUpJLGlCRnBIc0I7SUVxSHRCLDRCQUFBO0VQK2dCRjtBQUNGOztBTzFlQTtFQTdCRSxpQkZsSXVCO0VFbUl2QixrQkZuSXVCO0VFb0l2Qix3QkFBQTtFQUNBLDRCQUFBO0FQMmdCRjtBUXJISTtFRDVYSjtJQXZCSSxpQkZ2SXlCO0lFd0l6QixrQkZ4SXlCO0lFeUl6Qiw0QkFBQTtFUDRnQkY7QUFDRjtBUTVISTtFRDVYSjtJQWpCSSxpQkY1SXFCO0lFNklyQixrQkY3SXFCO0lFOElyQiw0QkFBQTtFUDZnQkY7QUFDRjtBUW5JSTtFRDVYSjtJQVhJLGlCRmpKcUI7SUVrSnJCLGtCRmxKcUI7SUVtSnJCLDZCQUFBO0VQOGdCRjtBQUNGO0FRMUlJO0VENVhKO0lBTEksaUJGdEpzQjtJRXVKdEIsa0JGdkpzQjtJRXdKdEIsNkJBQUE7RVArZ0JGO0FBQ0Y7O0FPcGZBO0VBbkJFLGlCRjlKb0I7RUUrSnBCLHlCQUFBO0FQMmdCRjtBUXRKSTtFRG5XSjtJQWZJLGlCRmpLc0I7RUw2cUJ4QjtBQUNGO0FRM0pJO0VEbldKO0lBWEksaUJGcEtrQjtFTGlyQnBCO0FBQ0Y7QVFoS0k7RURuV0o7SUFQSSxpQkZ2S2tCO0VMcXJCcEI7QUFDRjtBUXJLSTtFRG5XSjtJQUhJLGlCRjFLbUI7RUx5ckJyQjtBQUNGOztBT3BmQTtFQW5CRSxvQkZ2TG9CO0VFd0xwQix5QkFBQTtBUDJnQkY7QVEvS0k7RUQxVUo7SUFmSSxvQkYxTHNCO0VMc3NCeEI7QUFDRjtBUXBMSTtFRDFVSjtJQVhJLG9CRjdMa0I7RUwwc0JwQjtBQUNGO0FRekxJO0VEMVVKO0lBUEksb0JGaE1rQjtFTDhzQnBCO0FBQ0Y7QVE5TEk7RUQxVUo7SUFISSxvQkZuTW1CO0VMa3RCckI7QUFDRjs7QU9wZkE7RUFuQkUsa0JGdk51QjtFRXdOdkIseUJBQUE7QVAyZ0JGO0FReE1JO0VEalRKO0lBZkksa0JGMU55QjtFTHN1QjNCO0FBQ0Y7QVE3TUk7RURqVEo7SUFYSSxrQkY3TnFCO0VMMHVCdkI7QUFDRjtBUWxOSTtFRGpUSjtJQVBJLGtCRmhPcUI7RUw4dUJ2QjtBQUNGO0FRdk5JO0VEalRKO0lBSEksa0JGbk9zQjtFTGt2QnhCO0FBQ0Y7O0FPcGZBO0VBbkJFLG1CRmhQdUI7RUVpUHZCLHlCQUFBO0FQMmdCRjtBUWpPSTtFRHhSSjtJQWZJLG1CRm5QeUI7RUwrdkIzQjtBQUNGO0FRdE9JO0VEeFJKO0lBWEksbUJGdFBxQjtFTG13QnZCO0FBQ0Y7QVEzT0k7RUR4Uko7SUFQSSxtQkZ6UHFCO0VMdXdCdkI7QUFDRjtBUWhQSTtFRHhSSjtJQUhJLG1CRjVQc0I7RUwyd0J4QjtBQUNGOztBT3BnQkE7RUF2R0UsaUJGOUpvQjtFRStKcEIseUJBQUE7RUF3QkEsb0JGdkxvQjtFRXdMcEIseUJBQUE7QVB3bEJGO0FRNVBJO0VEL1FKO0lBbkdJLGlCRmpLc0I7RUxteEJ4QjtBQUNGO0FRalFJO0VEL1FKO0lBL0ZJLGlCRnBLa0I7RUx1eEJwQjtBQUNGO0FRdFFJO0VEL1FKO0lBM0ZJLGlCRnZLa0I7RUwyeEJwQjtBQUNGO0FRM1FJO0VEL1FKO0lBdkZJLGlCRjFLbUI7RUwreEJyQjtBQUNGO0FRaFJJO0VEL1FKO0lBMUVJLG9CRjFMc0I7RUx1eUJ4QjtBQUNGO0FRclJJO0VEL1FKO0lBdEVJLG9CRjdMa0I7RUwyeUJwQjtBQUNGO0FRMVJJO0VEL1FKO0lBbEVJLG9CRmhNa0I7RUwreUJwQjtBQUNGO0FRL1JJO0VEL1FKO0lBOURJLG9CRm5NbUI7RUxtekJyQjtBQUNGOztBTzFpQkE7RUFyQ0UsbUJGaFB1QjtFRWlQdkIseUJBQUE7RUExQkEsa0JGdk51QjtFRXdOdkIseUJBQUE7QVA4bUJGO0FRM1NJO0VEdFFKO0lBakNJLG1CRm5QeUI7RUx5MEIzQjtBQUNGO0FRaFRJO0VEdFFKO0lBN0JJLG1CRnRQcUI7RUw2MEJ2QjtBQUNGO0FRclRJO0VEdFFKO0lBekJJLG1CRnpQcUI7RUxpMUJ2QjtBQUNGO0FRMVRJO0VEdFFKO0lBckJJLG1CRjVQc0I7RUxxMUJ4QjtBQUNGO0FRL1RJO0VEdFFKO0lBMURJLGtCRjFOeUI7RUw2MUIzQjtBQUNGO0FRcFVJO0VEdFFKO0lBdERJLGtCRjdOcUI7RUxpMkJ2QjtBQUNGO0FRelVJO0VEdFFKO0lBbERJLGtCRmhPcUI7RUxxMkJ2QjtBQUNGO0FROVVJO0VEdFFKO0lBOUNJLGtCRm5Pc0I7RUx5MkJ4QjtBQUNGOztBT25qQkE7RUE5QkUsa0JBQUE7RUFDQSxtQkFBQTtFQUNBLHdCQUFBO0VBQ0EsNEJBQUE7QVBxbEJGO0FRMVZJO0VEaE9KO0lBeEJJLGtCQUFBO0lBQ0EsbUJBQUE7SUFDQSw0QkFBQTtFUHNsQkY7QUFDRjtBUWpXSTtFRGhPSjtJQWxCSSxrQkFBQTtJQUNBLG1CQUFBO0lBQ0EsNEJBQUE7RVB1bEJGO0FBQ0Y7QVF4V0k7RURoT0o7SUFaSSxrQkFBQTtJQUNBLG1CQUFBO0lBQ0EsNkJBQUE7RVB3bEJGO0FBQ0Y7QVEvV0k7RURoT0o7SUFOSSxjQUFBO0lBQ0EsZUFBQTtJQUNBLGVBQUE7RVB5bEJGO0FBQ0Y7O0FPeGtCQTtFQVJFLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSx5QkZwU087RUVxU1AseUJBQUE7RUFDQSxjRnJTUztFRXNTVCxpQkFBQTtBUG9sQkY7O0FPN2tCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FBQTtBQXNEQTtFQVZFLGtCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxTQUFBO0FQK2tCRjs7QU9ua0JBO0VBSEUsZ0JBQUE7QVAwa0JGOztBU3IrQkE7RUFDRSxXQUFBO0VBRUEsY0FBQTtBVHUrQkY7O0FTcitCRTtFQUNFLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0FUdytCSjs7QVN0K0JJOzs7RUFHRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7QVR5K0JOOztBVTUvQkE7Ozs7R0FBQTtBQU9BO0VBQ0Usc0JBQUE7QVY2L0JGOztBVTEvQkE7RUFDRSxZQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FWNi9CRjs7QVUxL0JBO0VBQ0UsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsaUNBQUE7RUFDQSxTQUFBO0VBQ0EseUJMc0JPO0VLckJQLFdMK0JVO0VLNUJWLDRCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtBVjIvQkY7O0FVeC9CQTtFQUVFLGlCQUFBO0VBQ0EseUJBQUE7QVYwL0JGOztBVXYvQkE7RUFDRSxhQUFBO0VBR0EsY0xITztFS01QLG1CQUFBO0VBQ0EsY0FBQTtFQUVBLGVBQUE7RUFDQSxjQUFBO0VBSUEsZ0NBQUE7QVZrL0JGO0FRemZJO0VFeGdCSjtJQWtCSSxpQkFBQTtFVm0vQkY7QUFDRjs7QVVoL0JBO0VBRUUsYUFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUdBLHNCQUFBO0FWZy9CRjs7QVU3K0JBO0VBRUUsYUFBQTtFQUNBLG1CQUFBO0VBSUEsc0JBQUE7RUFDQSxpQkFBQTtBVjQrQkY7O0FVeitCQTtFQUNFLGFBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7QVY0K0JGOztBVXorQkE7RUFDRSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtBVjQrQkY7O0FVeitCQTtFQUNFLGFBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0FWNCtCRjs7QVV6K0JBO0VBQ0UsU0FBQTtFQUNBLGlCQUFBO0VBR0EsZ0JBQUE7QVYwK0JGOztBVXYrQkE7RUFDRSxxQkFBQTtFQUNBLGNMeEVPO0FMa2pDVDtBVW45QkE7RUFDRSxTQUFBO0VBQ0EsVUFBQTtFQUNBLDJCQUFBO0FWcTlCRjs7QVU5OEJBLHdCQUFBO0FBQ0E7RUFDRSxjQUFBO0VBQ0EsWUFBQTtFQUVBLFVBQUE7RUFDQSxTQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtFQUtBLGVBQUE7RUFJQSx3QkFBQTtFQUNBLHFCQUFBO0FWeThCRjs7QVV6N0JBLHNCQUFBO0FBRUE7RUFDRSw4QkFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0FWMjdCRjtBVXo3QkU7RUFDRSxjTHpJSztFSzBJTCxtQkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esc0JBQUE7QVYyN0JKO0FVeDdCRTtFQUNFLGNBQUE7RUFDQSxpQkFBQTtBVjA3Qko7QVV2N0JFO0VBQ0UsaUJBQUE7QVZ5N0JKO0FVdDdCRTtFQUNFLGlCQUFBO0VBQ0EsaUJBQUE7QVZ3N0JKOztBV3JvQ0E7O0dBQUE7QUFJQTtFQUVFLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFHQSxVQUFBO0VBSUEseUJOdUJPO0VNckJQLGtCQUFBO0FYZ29DRjtBVzluQ0U7RUFDRSxhQUFBO0FYZ29DSjtBUXZtQkk7RUdqaEJBO0lBQ0UsVUFBQTtFWDJuQ0o7QUFDRjs7QVd2bkNFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsVUFBQTtFQUNBLGlDQUFBO0VBQ0EsWUFBQTtFQUVBLGFBQUE7QVh5bkNKOztBV3RuQ0U7RUFDRSxXQUFBO0VBQ0EsWU5yQ1c7RU1zQ1gsa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFVBQUE7RUFDQSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQ0FBQTtBWHluQ0o7QVFwb0JJO0VHOWZGO0lBZ0JJLGNBQUE7RVhzbkNKO0FBQ0Y7O0FXbm5DRTtFQUNFLFdBQUE7RUFDQSxZTnhEYztFTXlEZCxrQkFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsVUFBQTtFQUNBLGFBQUE7RUFDQSxrQ0FBQTtFQUNBLHlCTmpDSztBTHVwQ1Q7QVFycEJJO0VHMWVGO0lBZ0JJLGNBQUE7RVhtbkNKO0FBQ0Y7O0FXaG5DRTtFSnJFQSxXQUFBO0VBQ0EsaUJGVlU7RUVXVixjQUFBO0VBOE9BLG1CRmhQdUI7RUVpUHZCLHlCQUFBO0VBMUJBLGtCRnZOdUI7RUV3TnZCLHlCQUFBO0VJaEpFLFlONUVpQjtFTTZFakIsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLDBCQUFBO0VBQ0EsNkJBQUE7RUFDQSxrQ0FBQTtBWHduQ0o7QVEzcUJJO0VHdGRGO0lKK0tFLG1CRm5QeUI7RUx5c0MzQjtBQUNGO0FRaHJCSTtFR3RkRjtJSm1MRSxtQkZ0UHFCO0VMNnNDdkI7QUFDRjtBUXJyQkk7RUd0ZEY7SUp1TEUsbUJGelBxQjtFTGl0Q3ZCO0FBQ0Y7QVExckJJO0VHdGRGO0lKMkxFLG1CRjVQc0I7RUxxdEN4QjtBQUNGO0FRL3JCSTtFR3RkRjtJSnNKRSxrQkYxTnlCO0VMNnRDM0I7QUFDRjtBUXBzQkk7RUd0ZEY7SUowSkUsa0JGN05xQjtFTGl1Q3ZCO0FBQ0Y7QVF6c0JJO0VHdGRGO0lKOEpFLGtCRmhPcUI7RUxxdUN2QjtBQUNGO0FROXNCSTtFR3RkRjtJSmtLRSxrQkZuT3NCO0VMeXVDeEI7QUFDRjtBUW50Qkk7RUd0ZEY7SUFrQkksWUFBQTtJQUVBLDBCQUFBO0lBQ0EsNkJBQUE7RVgwcENKO0FBQ0Y7O0FXdnBDSTtFQUVFLGFBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUVBLFlOeEdlO0VNeUdmLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7QVh3cENOO0FRcnVCSTtFRzdiQTtJQWdCSSxhTmpIYztJTWtIZCxZQUFBO0lBQ0EsZ0JOdEhPO0VMNHdDYjtBQUNGO0FXcm9DTTtFQUNFLGdCQUFBO0VBQ0EsWU54SWE7RU15SWIsYUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7QVh1b0NSO0FRdnZCSTtFR3paRTtJQWFJLGVBQUE7SUFFQSxhTnBKWTtJTXFKWixZQUFBO0lBRUEsb0JBQUE7RVhxb0NSO0FBQ0Y7QVEvdkJJO0VHelpFO0lBNEJJLGVBQUE7RVhnb0NSO0FBQ0Y7QVc1bkNRO0VBQ0UsY0FBQTtFQUNBLGNOM0lEO0VNNElDLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7QVg4bkNWO0FRM3dCSTtFR3hYSTtJQVNJLGtCQUFBO0lBQ0EsZUFBQTtFWDhuQ1Y7QUFDRjtBUWp4Qkk7RUd4WEk7SUFjSSxpQkFBQTtJQUNBLGVBQUE7RVgrbkNWO0FBQ0Y7QVF2eEJJO0VHeFhJO0lBbUJJLGlCQUFBO0lBQ0Esb0JBQUE7RVhnb0NWO0FBQ0Y7QVc5bkNVO0VBQ0UsY0FBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtFQUNBLGlCQUFBO0VBRUEseUJBQUE7QVgrbkNaO0FRcHlCSTtFR2pXTTtJQVNJLGlCQUFBO0VYZ29DWjtBQUNGO0FRenlCSTtFR2pXTTtJQWFJLGlCQUFBO0VYaW9DWjtBQUNGO0FROXlCSTtFR2pXTTtJQWlCSSxlQUFBO0VYa29DWjtBQUNGO0FRbnpCSTtFR2pXTTtJQXFCSSxpQkFBQTtFWG1vQ1o7QUFDRjtBUXh6Qkk7RUdqV007SUF5QkksaUJBQUE7RVhvb0NaO0FBQ0Y7QVdsb0NZO0VBQ0UsZUFBQTtFQUNBLHlCQUFBO0FYb29DZDtBUWowQkk7RUdyVVE7SUFLSSxpQkFBQTtFWHFvQ2Q7QUFDRjtBUXQwQkk7RUdyVVE7SUFTSSxpQkFBQTtFWHNvQ2Q7QUFDRjtBUTMwQkk7RUdyVVE7SUFhSSxlQUFBO0VYdW9DZDtBQUNGO0FRaDFCSTtFR3JVUTtJQWlCSSxpQkFBQTtFWHdvQ2Q7QUFDRjtBUXIxQkk7RUdyVVE7SUFxQkksaUJBQUE7RVh5b0NkO0FBQ0Y7QVd0b0NVO0VBRUUsd0JBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxjTnhOSDtBTCsxQ1Q7QVFuMkJJO0VHNVNNO0lBYUksaUJBQUE7RVhzb0NaO0FBQ0Y7QVF4MkJJO0VHNVNNO0lBaUJJLGNBQUE7SUFDQSxnQkFBQTtJQUNBLGlCQUFBO0VYdW9DWjtBQUNGO0FRLzJCSTtFRzVTTTtJQXVCSSxlQUFBO0VYd29DWjtBQUNGOztBV2xvQ0k7RUp6S0YsaUJGcEd1QjtFRXFHdkIsd0JBQUE7RUFDQSw0QkFBQTtFSXlLSSxXQUFBO0VBQ0EsWUFBQTtFQUdBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtBWHFvQ047QVFuNEJJO0VHOVFBO0lKcEtBLGlCRnhHeUI7SUV5R3pCLDRCQUFBO0VQeXpDRjtBQUNGO0FRejRCSTtFRzlRQTtJSi9KQSxpQkY1R3FCO0lFNkdyQiw0QkFBQTtFUDB6Q0Y7QUFDRjtBUS80Qkk7RUc5UUE7SUoxSkEsaUJGaEhxQjtJRWlIckIsNEJBQUE7RVAyekNGO0FBQ0Y7QVFyNUJJO0VHOVFBO0lKckpBLGlCRnBIc0I7SUVxSHRCLDRCQUFBO0VQNHpDRjtBQUNGO0FRMzVCSTtFRzlRQTtJQW9CSSxXQUFBO0lBQ0EsV0FBQTtJQUNBLFdBQUE7SUFDQSxTQUFBO0lBQ0EsU0FBQTtJQUNBLFVBQUE7RVh5cENOO0FBQ0Y7QVFyNkJJO0VHOVFBO0lBaUNJLFlBQUE7RVhzcENOO0FBQ0Y7O0FXbnBDSTtFSjlNRixpQkZwR3VCO0VFcUd2Qix3QkFBQTtFQUNBLDRCQUFBO0VBMElBLG1CRmhQdUI7RUVpUHZCLHlCQUFBO0VBMUJBLGtCRnZOdUI7RUV3TnZCLHlCQUFBO0VJNkZJLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxjQUFBO0VBQ0EsaUNBQUE7RUFJQSxpQkFBQTtFQUNBLGlCQUFBO0FYd3BDTjtBUTE3Qkk7RUd6T0E7SUp6TUEsaUJGeEd5QjtJRXlHekIsNEJBQUE7RVBnM0NGO0FBQ0Y7QVFoOEJJO0VHek9BO0lKcE1BLGlCRjVHcUI7SUU2R3JCLDRCQUFBO0VQaTNDRjtBQUNGO0FRdDhCSTtFR3pPQTtJSi9MQSxpQkZoSHFCO0lFaUhyQiw0QkFBQTtFUGszQ0Y7QUFDRjtBUTU4Qkk7RUd6T0E7SUoxTEEsaUJGcEhzQjtJRXFIdEIsNEJBQUE7RVBtM0NGO0FBQ0Y7QVFsOUJJO0VHek9BO0lKOURBLG1CRm5QeUI7RUxnL0MzQjtBQUNGO0FRdjlCSTtFR3pPQTtJSjFEQSxtQkZ0UHFCO0VMby9DdkI7QUFDRjtBUTU5Qkk7RUd6T0E7SUp0REEsbUJGelBxQjtFTHcvQ3ZCO0FBQ0Y7QVFqK0JJO0VHek9BO0lKbERBLG1CRjVQc0I7RUw0L0N4QjtBQUNGO0FRdCtCSTtF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bEJHO0FMbzNEWDs7QVd2eENJO0VKN1lGLG1CRmhQdUI7RUVpUHZCLHlCQUFBO0VJK1lJLFdBQUE7RUFDQSxZTnJvQmU7RU1zb0JmLGFBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0FYMHhDTjtBUXQ0Q0k7RUdrR0E7SUp6WUEsbUJGblB5QjtFTG82RDNCO0FBQ0Y7QVEzNENJO0VHa0dBO0lKcllBLG1CRnRQcUI7RUx3NkR2QjtBQUNGO0FRaDVDSTtFR2tHQTtJSmpZQSxtQkZ6UHFCO0VMNDZEdkI7QUFDRjtBUXI1Q0k7RUdrR0E7SUo3WEEsbUJGNVBzQjtFTGc3RHhCO0FBQ0Y7QVExNUNJO0VHa0dBO0lBYUksWU5ocEJPO0lNaXBCUCxlQUFBO0VYK3lDTjtBQUNGOztBVzd5Q007RUFFRSxpQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUVBLFNBQUE7RUFJQSxhQUFBO0FYMnlDUjtBV3p5Q1E7RUFDRSxjTmpvQkQ7QUw0NkRUO0FRMzZDSTtFR21IRTtJQXFCSSxZTnpxQks7SU00cUJMLGFBQUE7SUFRQSxpQkFBQTtFWDh4Q1I7RVc1eENRO0lBQ0UsY052cEJIO0VMcTdEUDtFVzV4Q1U7SUFDRSxXQUFBO0VYOHhDWjtBQUNGOztBV3p4Q007RUFDRSxjQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7QVg0eENSO0FXMXhDUTtFQUNFLGNOdnFCRDtBTG04RFQ7QVFsOENJO0VHK0pFO0lBZUksaUJBQUE7RVh3eENSO0FBQ0Y7QVF2OENJO0VHK0pFO0lBbUJJLGFBQUE7RVh5eENSO0FBQ0Y7O0FXdHhDSTtFSjN0QkYsV0FBQTtFQUNBLFlBQUE7RUk0dEJJLFlBQUE7RUFDQSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSxTTjF0QmU7RU0ydEJmLE9BQUE7RUFDQSx5Qk5wc0JHO0VNcXNCSCxVQUFBO0FYMHhDTjtBUXg5Q0k7RUdzTEE7SUFhSSxTTnB1Qk87RUw2L0RiO0FBQ0Y7QVd2eENNO0VKamZKLG1CRmhQdUI7RUVpUHZCLHlCQUFBO0VBMUJBLGtCRnZOdUI7RUV3TnZCLHlCQUFBO0FQc3lERjtBUW4rQ0k7RUdzTUU7SUo3ZUYsbUJGblB5QjtFTGlnRTNCO0FBQ0Y7QVF4K0NJO0VHc01FO0lKemVGLG1CRnRQcUI7RUxxZ0V2QjtBQUNGO0FRNytDSTtFR3NNRTtJSnJlRixtQkZ6UHFCO0VMeWdFdkI7QUFDRjtBUWwvQ0k7RUdzTUU7SUpqZUYsbUJGNVBzQjtFTDZnRXhCO0FBQ0Y7QVF2L0NJO0VHc01FO0lKdGdCRixrQkYxTnlCO0VMcWhFM0I7QUFDRjtBUTUvQ0k7RUdzTUU7SUpsZ0JGLGtCRjdOcUI7RUx5aEV2QjtBQUNGO0FRamdESTtFR3NNRTtJSjlmRixrQkZoT3FCO0VMNmhFdkI7QUFDRjtBUXRnREk7RUdzTUU7SUoxZkYsa0JGbk9zQjtFTGlpRXhCO0FBQ0Y7O0FZeGpFQTs7R0FBQTtBQUlBO0VMY0UsV0FBQTtFQUNBLGlCRlZVO0VFV1YsY0FBQTtFS2RBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsYUFBQTtFQUNBLCtCQUFBO0VBQ0Esd0JBQUE7QVo0akVGOztBWXpqRUU7RUFDRSxZQUFBO0VBQ0EsVUFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EseUJQeUJLO0FMbWlFVDtBWTFqRUk7RUFDRSxXQUFBO0VBQ0EsZUFBQTtFQUNBLFlBQUE7RUFDQSxjUHdCRztFT3ZCSCxjQUFBO0VBQ0EseUJBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7QVo0akVOO0FZempFSTtFQUNFLFdBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSxjQUFBO0VBQ0EsdUJBQUE7RUFDQSxjUFNHO0FMa2pFVDs7QVl2akVFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLGNQREs7RU9FTCxpQkFBQTtFQUNBLHlCUFJLO0VPU0wsa0NBQUE7RUFDQSw2QkFBQTtFQUNBLCtCQUFBO0VBQ0EsZ0NBQUE7RUFDQSxpQkFBQTtBWjBqRUo7QVl4akVJO0VBQ0UseUJQUk87QUxra0ViOztBYXRuRUE7O0dBQUE7QUFLQTtFTkdFLFdBQUE7RUFDQSxZQUFBO0VNREEsaUJBQUE7RUFDQSxlQUFBO0FidW5FRjtBYTVtRUU7RUFDRSxZQUFBO0VBQ0EsZ0JBQUE7RU5KRixXQUFBO0VBQ0EsaUJGVlU7RUVXVixjQUFBO0VBOE9BLG1CRmhQdUI7RUVpUHZCLHlCQUFBO0VBMUJBLGtCRnZOdUI7RUV3TnZCLHlCQUFBO0VNaE5FLGFBQUE7RUFDQSxjQUFBO0VBQ0Esb0JBQUE7RUFHQSxrQkFBQTtFQUNBLFVBQUE7QWJnbkVKO0FRbm1ESTtFS3poQkY7SU5rUEUsbUJGblB5QjtFTGlvRTNCO0FBQ0Y7QVF4bURJO0VLemhCRjtJTnNQRSxtQkZ0UHFCO0VMcW9FdkI7QUFDRjtBUTdtREk7RUt6aEJGO0lOMFBFLG1CRnpQcUI7RUx5b0V2QjtBQUNGO0FRbG5ESTtFS3poQkY7SU44UEUsbUJGNVBzQjtFTDZvRXhCO0FBQ0Y7QVF2bkRJO0VLemhCRjtJTnlORSxrQkYxTnlCO0VMcXBFM0I7QUFDRjtBUTVuREk7RUt6aEJGO0lONk5FLGtCRjdOcUI7RUx5cEV2QjtBQUNGO0FRam9ESTtFS3poQkY7SU5pT0Usa0JGaE9xQjtFTDZwRXZCO0FBQ0Y7QVF0b0RJO0VLemhCRjtJTnFPRSxrQkZuT3NCO0VMaXFFeEI7QUFDRjtBUTNvREk7RUt6aEJGO0lBbUJJLGlCQUFBO0lBQ0EsaUJBQUE7SUFDQSxvQkFBQTtFYnFwRUo7QUFDRjs7QWFqcEVJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBQUE7QUEyQkU7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUFBO0FBbUJFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQTtBQWtERjtFQUNFLGFBQUE7RUFDQSwwQkFBQTtFQUNBLHdCQUFBO0FiK29FUjtBUW52REk7RUsvWkU7SUFNSSwwQkFBQTtJQUNBLHdCQUFBO0ViZ3BFUjtBQUNGOztBYTdvRU07RUFDRSw4QkFBQTtFQUNBLDZCQUFBO0FiZ3BFUjtBUTl2REk7RUtwWkU7SUFLSSxnQ0FBQTtJQUNBLDRCQUFBO0ViaXBFUjtBQUNGOztBYS9vRVE7RU5xQk4saUJGOUpvQjtFRStKcEIseUJBQUE7RUF3QkEsb0JGdkxvQjtFRXdMcEIseUJBQUE7RU01Q1EsV0FBQTtFQUVBLHFCQUFBO0VBQ0EsV0FBQTtFQUdBLGlCQUFBO0FiaXBFVjtBUS93REk7RUszWUk7SU55QkosaUJGaktzQjtFTHN5RXhCO0FBQ0Y7QVFweERJO0VLM1lJO0lONkJKLGlCRnBLa0I7RUwweUVwQjtBQUNGO0FRenhESTtFSzNZSTtJTmlDSixpQkZ2S2tCO0VMOHlFcEI7QUFDRjtBUTl4REk7RUszWUk7SU5xQ0osaUJGMUttQjtFTGt6RXJCO0FBQ0Y7QVFueURJO0VLM1lJO0lOa0RKLG9CRjFMc0I7RUwwekV4QjtBQUNGO0FReHlESTtFSzNZSTtJTnNESixvQkY3TGtCO0VMOHpFcEI7QUFDRjtBUTd5REk7RUszWUk7SU4wREosb0JGaE1rQjtFTGswRXBCO0FBQ0Y7QVFsekRJO0VLM1lJO0lOOERKLG9CRm5NbUI7RUxzMEVyQjtBQUNGO0FRdnpESTtFSzNZSTtJQWFJLHFCQUFBO0lBQ0EsV0FBQTtFYnlyRVY7QUFDRjtBYW5yRVU7RUFDRSxnQkFBQTtFQUNBLG9CQUFBO0FicXJFWjtBYW5yRVk7RUFDRSxhQUFBO0FicXJFZDtBYWpyRVU7RUFDRSxnQkFBQTtBYm1yRVo7QWFockVVO0VBQ0UsZ0JBQUE7QWJrckVaO0FhL3FFVTtFQUNFLGdCQUFBO0FiaXJFWjtBYTlxRVU7RUFDRSxnQkFBQTtBYmdyRVo7QWE3cUVVO0VBQ0UsbUJBQUE7QWIrcUVaO0FhN3FFWTtFQUNFLGdCQUFBO0FiK3FFZDtBYTNxRVU7RUFDRSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsNEJBQUE7QWI2cUVaO0FhM3FFWTtFQUNFLG1CQUFBO0FiNnFFZDs7QWF6cUVVO0VOMU5SLFdBQUE7RUFDQSxZQUFBO0VNMk5VLFdBQUE7QWI2cUVaOztBYTNxRVk7RU5wTlYsV0FBQTtFQUNBLGlCRlZVO0VFV1YsY0FBQTtFQThPQSxtQkZoUHVCO0VFaVB2Qix5QkFBQTtFQTFCQSxrQkZ2TnVCO0VFd052Qix5QkFBQTtFQW5EQSxpQkY5Sm9CO0VFK0pwQix5QkFBQTtBUHF1RUY7QVFoM0RJO0VLdlVRO0lOZ0NSLG1CRm5QeUI7RUw4NEUzQjtBQUNGO0FRcjNESTtFS3ZVUTtJTm9DUixtQkZ0UHFCO0VMazVFdkI7QUFDRjtBUTEzREk7RUt2VVE7SU53Q1IsbUJGelBxQjtFTHM1RXZCO0FBQ0Y7QVEvM0RJO0VLdlVRO0lONENSLG1CRjVQc0I7RUwwNUV4QjtBQUNGO0FRcDRESTtFS3ZVUTtJTk9SLGtCRjFOeUI7RUxrNkUzQjtBQUNGO0FRejRESTtFS3ZVUTtJTldSLGtCRjdOcUI7RUxzNkV2QjtBQUNGO0FROTRESTtFS3ZVUTtJTmVSLGtCRmhPcUI7RUwwNkV2QjtBQUNGO0FRbjVESTtFS3ZVUTtJTm1CUixrQkZuT3NCO0VMODZFeEI7QUFDRjtBUXg1REk7RUt2VVE7SU4zQ1IsaUJGaktzQjtFTCs2RXhCO0FBQ0Y7QVE3NURJO0VLdlVRO0lOdkNSLGlCRnBLa0I7RUxtN0VwQjtBQUNGO0FRbDZESTtFS3ZVUTtJTm5DUixpQkZ2S2tCO0VMdTdFcEI7QUFDRjtBUXY2REk7RUt2VVE7SU4vQlIsaUJGMUttQjtFTDI3RXJCO0FBQ0Y7O0FhMXVFUTtFQUNFLGdCQUFBO0FiNnVFVjtBUWg3REk7RUs5VEk7SUFJSSxvQkFBQTtFYjh1RVY7QUFDRjs7QWEzdUVRO0VOdkNOLG9CRnZMb0I7RUV3THBCLHlCQUFBO0VNd0NRLFdBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7QWIrdUVWO0FRNzdESTtFS3RUSTtJTm5DSixvQkYxTHNCO0VMbzlFeEI7QUFDRjtBUWw4REk7RUt0VEk7SU4vQkosb0JGN0xrQjtFTHc5RXBCO0FBQ0Y7QVF2OERJO0VLdFRJO0lOM0JKLG9CRmhNa0I7RUw0OUVwQjtBQUNGO0FRNThESTtFS3RUSTtJTnZCSixvQkZuTW1CO0VMZytFckI7QUFDRjtBUWo5REk7RUt0VEk7SUFPSSxxQkFBQTtJQUNBLFdBQUE7RWJvd0VWO0FBQ0Y7O0FhandFQTtFQUNFLFdBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtBYm93RUY7QVE3OURJO0VLMVNKO0lBVUksVUFBQTtJQUNBLFlBQUE7SUFDQSxhQUFBO0ViaXdFRjtBQUNGOztBYTl2RUE7RUFDRSxXQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7QWJpd0VGO0FRMStESTtFSzFSSjtJQVVJLFVBQUE7SUFDQSxXQUFBO0lBQ0EsYUFBQTtFYjh2RUY7QUFDRjs7QWF4dkVJO0VBQ0UsZUFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLHVCQUFBO0VBQ0EsMkNBQUE7QWIydkVOOztBYXR2RUE7RUFDRSxzQkFBQTtFQUNBLGFBQUE7QWJ5dkVGO0FhdnZFRTtFQUNFLFdBQUE7QWJ5dkVKO0FhdHZFRTtFQUNFLGVBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBYnd2RUo7QVEzZ0VJO0VLalBGO0lBT0ksaUJBQUE7RWJ5dkVKO0FBQ0Y7QWF2dkVJO0VBQ0UsV0FBQTtBYnl2RU47QWE3dUVFO0VBQ0UsZUFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0FiK3VFSjtBUXpoRUk7RUsxTkY7SUFPSSxrQkFBQTtFYmd2RUo7QUFDRjtBYTl1RUk7RUFDRSxXQUFBO0FiZ3ZFTjtBYXB1RUU7RUFDRSxXQUFBO0VBQ0EsaUJBQUE7QWJzdUVKO0FjbGxGQTs7R0FBQTtBQUtBO0VBQ0UsaUJBQUE7RUFDQSxlQUFBO0VBQ0EseUJUOEJPO0FMb2pGVDtBYzNrRkU7RVBHQSxXQUFBO0VBQ0EsaUJGVlU7RUVXVixjQUFBO0VBbUtBLGlCRjlKb0I7RUUrSnBCLHlCQUFBO0VBd0JBLG9CRnZMb0I7RUV3THBCLHlCQUFBO0VPOUxFLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjVHVCSztBTDBqRlQ7QVF6akVJO0VNOWhCRjtJUDRLRSxpQkZqS3NCO0VMZ2xGeEI7QUFDRjtBUTlqRUk7RU05aEJGO0lQZ0xFLGlCRnBLa0I7RUxvbEZwQjtBQUNGO0FRbmtFSTtFTTloQkY7SVBvTEUsaUJGdktrQjtFTHdsRnBCO0FBQ0Y7QVF4a0VJO0VNOWhCRjtJUHdMRSxpQkYxS21CO0VMNGxGckI7QUFDRjtBUTdrRUk7RU05aEJGO0lQcU1FLG9CRjFMc0I7RUxvbUZ4QjtBQUNGO0FRbGxFSTtFTTloQkY7SVB5TUUsb0JGN0xrQjtFTHdtRnBCO0FBQ0Y7QVF2bEVJO0VNOWhCRjtJUDZNRSxvQkZoTWtCO0VMNG1GcEI7QUFDRjtBUTVsRUk7RU05aEJGO0lQaU5FLG9CRm5NbUI7RUxnbkZyQjtBQUNGO0Fjbm5GSTtFUHVPRixtQkZoUHVCO0VFaVB2Qix5QkFBQTtFQTFCQSxrQkZ2TnVCO0VFd052Qix5QkFBQTtFTzVNSSxvQkFBQTtBZHVuRk47QVF4bUVJO0VNbGhCQTtJUDJPQSxtQkZuUHlCO0VMc29GM0I7QUFDRjtBUTdtRUk7RU1saEJBO0lQK09BLG1CRnRQcUI7RUwwb0Z2QjtBQUNGO0FRbG5FSTtFTWxoQkE7SVBtUEEsbUJGelBxQjtFTDhvRnZCO0FBQ0Y7QVF2bkVJO0VNbGhCQTtJUHVQQSxtQkY1UHNCO0VMa3BGeEI7QUFDRjtBUTVuRUk7RU1saEJBO0lQa05BLGtCRjFOeUI7RUwwcEYzQjtBQUNGO0FRam9FSTtFTWxoQkE7SVBzTkEsa0JGN05xQjtFTDhwRnZCO0FBQ0Y7QVF0b0VJO0VNbGhCQTtJUDBOQSxrQkZoT3FCO0VMa3FGdkI7QUFDRjtBUTNvRUk7RU1saEJBO0lQOE5BLGtCRm5Pc0I7RUxzcUZ4QjtBQUNGO0FRaHBFSTtFTWxoQkE7SUFNSSxXQUFBO0lBQ0Esb0JBQUE7RWRncUZOO0FBQ0Y7QWM5cEZNO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0FkZ3FGUjtBUTlwRUk7RU14Z0JFO0lBU0ksV0FBQTtFZGlxRlI7QUFDRjtBYy9wRlE7RVBpTk4sbUJGaFB1QjtFRWlQdkIseUJBQUE7RUExQkEsa0JGdk51QjtFRXdOdkIseUJBQUE7RU92TFEsV0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0VBRUEsaUJBQUE7QWRtcUZWO0FRL3FFSTtFTTVmSTtJUHFOSixtQkZuUHlCO0VMNnNGM0I7QUFDRjtBUXByRUk7RU01Zkk7SVB5TkosbUJGdFBxQjtFTGl0RnZCO0FBQ0Y7QVF6ckVJO0VNNWZJO0lQNk5KLG1CRnpQcUI7RUxxdEZ2QjtBQUNGO0FROXJFSTtFTTVmSTtJUGlPSixtQkY1UHNCO0VMeXRGeEI7QUFDRjtBUW5zRUk7RU01Zkk7SVA0TEosa0JGMU55QjtFTGl1RjNCO0FBQ0Y7QVF4c0VJO0VNNWZJO0lQZ01KLGtCRjdOcUI7RUxxdUZ2QjtBQUNGO0FRN3NFSTtFTTVmSTtJUG9NSixrQkZoT3FCO0VMeXVGdkI7QUFDRjtBUWx0RUk7RU01Zkk7SVB3TUosa0JGbk9zQjtFTDZ1RnhCO0FBQ0Y7QVF2dEVJO0VNNWZJO0lBV0ksV0FBQTtJQUNBLGVBQUE7SUFDQSxVQUFBO0VkNHNGVjtFYzFzRlU7SUFDRSxZQUFBO0lBQ0EsY1RiRztJU2NILGtCQUFBO0lBQ0EsTUFBQTtJQUNBLFdBQUE7RWQ0c0ZaO0VjdnNGWTtJQUNFLFdBQUE7RWR5c0ZkO0FBQ0Y7QWNyc0ZVO0VBQ0UsV0FBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxjVDNDSDtFUzRDRyxrQkFBQTtFQUVBLHlCQUFBO0VBQ0EsaUJBQUE7QWRzc0ZaO0FRcHZFSTtFTTdkTTtJQWNJLGlCQUFBO0lBQ0EsV0FBQTtJQUVBLGdCQUFBO0Vkc3NGWjtBQUNGOztBY2hzRkk7RVAwSkYsbUJGaFB1QjtFRWlQdkIseUJBQUE7RUExQkEsa0JGdk51QjtFRXdOdkIseUJBQUE7RU83SEksZUFBQTtFQUVBLGtCQUFBO0Fka3NGTjtBUXB3RUk7RU1yY0E7SVA4SkEsbUJGblB5QjtFTGt5RjNCO0FBQ0Y7QVF6d0VJO0VNcmNBO0lQa0tBLG1CRnRQcUI7RUxzeUZ2QjtBQUNGO0FROXdFSTtFTXJjQTtJUHNLQSxtQkZ6UHFCO0VMMHlGdkI7QUFDRjtBUW54RUk7RU1yY0E7SVAwS0EsbUJGNVBzQjtFTDh5RnhCO0FBQ0Y7QVF4eEVJO0VNcmNBO0lQcUlBLGtCRjFOeUI7RUxzekYzQjtBQUNGO0FRN3hFSTtFTXJjQTtJUHlJQSxrQkY3TnFCO0VMMHpGdkI7QUFDRjtBUWx5RUk7RU1yY0E7SVA2SUEsa0JGaE9xQjtFTDh6RnZCO0FBQ0Y7QVF2eUVJO0VNcmNBO0lQaUpBLGtCRm5Pc0I7RUxrMEZ4QjtBQUNGO0FRNXlFSTtFTXJjQTtJQVVJLGdCQUFBO0lBQ0EsV0FBQTtFZDJ1Rk47QUFDRjs7QUN2MUZBO0VBQ0UsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGdDQUFBO0FEMDFGRjs7QUN2MUZBO0VBQ0UsYUFBQTtFQUdBLGFBQUE7RUFDQSwyQkFBQTtFQUNBLHdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUlBLHlCSXFCTztBTGcwRlQ7QVFsMEVJO0VQL2hCSjtJQWVJLGFBQUE7RURzMUZGO0FBQ0Y7QVF2MEVJO0VQL2hCSjtJQW1CSSw4QkFBQTtJQUNBLG1CQUFBO0VEdTFGRjtBQUNGOztBQ3AxRkE7RUFDRSxhQUFBO0FEdTFGRjs7QUNwMUZBO0VBS0E7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBQUE7QURvMkZBO0FDdjJGRTtFQUNFLGFBQUE7QUR5MkZKOztBQ24xRkE7RUFDRSxnQkFBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTtBRHMxRkY7O0FDbDFGQTtFQUNFLGFBQUE7RUFDQSx5Qkk3Qk87QUxrM0ZUO0FRcDNFSTtFUG5lSjtJQUtJLGFBQUE7RURzMUZGO0FBQ0YiLCJmaWxlIjoidmlkZW9zLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICAqIFBBR0UtU1BFQ0lGSUMgU1RZTEVTSEVFVDogRXZlbnRzXG4gICpcbiAgKiBJbXBvcnQgY29tbW9uIHN0eWxlcyBhbmQgaG91c2UgcGFnZS1zcGVjaWZpYyBzdHlsZXMgZm9yIHBhZ2U6IFwiRXZlbnRzXCIuXG4gICovXG4vKipcbiAgKiBDT01NT04gU1RZTEVTXG4gICpcbiAgKiBEZWZpbmVzIHRoZSBzdHlsZXMgdG8gaW1wb3J0IHRoYXQgYXJlIHJlcXVpcmVkIGJ5IHZpcnR1YWxseSBhbGwgcGFnZXMuXG4gICovXG4vKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5idXR0b24sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9c3VibWl0XSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPWJ1dHRvbl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1yZXNldF06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1zdWJtaXRdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9YnV0dG9uXTotbW96LWZvY3VzcmluZyxcblt0eXBlPXJlc2V0XTotbW96LWZvY3VzcmluZyxcblt0eXBlPXN1Ym1pdF06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICAqIEJSRUFLUE9JTlRTXG4gICpcbiAgKiBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIG1lZGlhIHF1ZXJ5IHVzZSBhbmQgZXhwb3J0IHRoZW0gZm9yIHVzZSB3aXRoIEpTLlxuICAqL1xuLypcbmV4YW1wbGUgdXNhZ2U6XG5AaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtc21hbGxcIikgey4uLn1cbiovXG46ZXhwb3J0IHtcbiAgYnJlYWtwb2ludFBob25lU21hbGw6IDMyMDtcbiAgYnJlYWtwb2ludFBob25lTGFyZ2U6IDQ4MDtcbiAgYnJlYWtwb2ludFRhYmxldDogNzY4O1xuICBicmVha3BvaW50TGFwdG9wOiA5OTI7XG4gIGJyZWFrcG9pbnREZXNrdG9wOiAxMjAwO1xuICBicmVha3BvaW50RGVza3RvcExhcmdlOiAxNDAwO1xuICBicmVha3BvaW50SGQ6IDE5MjA7XG59XG5cbi8qKlxuICAqIFZBUklBQkxFU1xuICAqL1xuLyoqXG4gICogRGltZW5zaW9uczpcbiAgKi9cbi8qKlxuICAqIENvbG9yczpcbiAgKi9cbi8qKlxuICAqIEZPTlRTXG4gICpcbiAgKiBEZWZpbmUgQGZvbnQtZmFjZSBzdHlsZXMuXG4gICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQ7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01vbnRzZXJyYXQtUmVndWxhci50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IE1vbnRzZXJyYXQ7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL01vbnRzZXJyYXQtQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFRlYWNoZXJzO1xuICBzcmM6IHVybCguLi9mb250cy9UZWFjaGVycy1SZWd1bGFyLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogVGVhY2hlcnM7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1RlYWNoZXJzLVJlZ3VsYXJJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBUZWFjaGVycztcbiAgc3JjOiB1cmwoLi4vZm9udHMvVGVhY2hlcnMtTWVkaXVtLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogVGVhY2hlcnM7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1RlYWNoZXJzLU1lZGl1bUl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFRlYWNoZXJzO1xuICBzcmM6IHVybCguLi9mb250cy9UZWFjaGVycy1TZW1pQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFRlYWNoZXJzO1xuICBzcmM6IHVybCguLi9mb250cy9UZWFjaGVycy1TZW1pQm9sZEl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFRlYWNoZXJzO1xuICBzcmM6IHVybCguLi9mb250cy9UZWFjaGVycy1Cb2xkLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogVGVhY2hlcnM7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1RlYWNoZXJzLUJvbGRJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBUZWFjaGVycztcbiAgc3JjOiB1cmwoLi4vZm9udHMvVGVhY2hlcnMtRXh0cmFCb2xkLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogVGVhY2hlcnM7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1RlYWNoZXJzLUV4dHJhQm9sZEl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFBsYXlmYWlyIERpc3BsYXk7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1BsYXlmYWlyRGlzcGxheS1SZWd1bGFyLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi8qXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IEFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBCb2xkO1xuICAvL3NyYzogdXJsKC4uL2ZvbnRzL01vbnRzZXJyYXQtQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuXG5mb250LWZhbWlseTogbHRjLWdvdWR5LW9ybmF0ZSwgc2Fucy1zZXJpZjtcblxuZm9udC13ZWlnaHQ6IDQwMDtcblxuZm9udC1zdHlsZTogbm9ybWFsO1xuXG5cbkFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBCb2xkXG5cbmZvbnQtZmFtaWx5OiBpdGMtYW1lcmljYW4tdHlwZXdyaXRlciwgc2VyaWY7XG5cbmZvbnQtd2VpZ2h0OiA3MDA7XG5cbmZvbnQtc3R5bGU6IG5vcm1hbDtcblxuQW1lcmljYW4gVHlwZXdyaXRlciBJVEMgUHJvIEJvbGQgSXRhbGljXG5cbmZvbnQtZmFtaWx5OiBpdGMtYW1lcmljYW4tdHlwZXdyaXRlciwgc2VyaWY7XG5cbmZvbnQtd2VpZ2h0OiA3MDA7XG5cbmZvbnQtc3R5bGU6IGl0YWxpYztcblxuQW1lcmljYW4gVHlwZXdyaXRlciBJVEMgUHJvIExpZ2h0XG5cbmZvbnQtZmFtaWx5OiBpdGMtYW1lcmljYW4tdHlwZXdyaXRlciwgc2VyaWY7XG5cbmZvbnQtd2VpZ2h0OiAzMDA7XG5cbmZvbnQtc3R5bGU6IG5vcm1hbDtcblxuQW1lcmljYW4gVHlwZXdyaXRlciBJVEMgUHJvIExpZ2h0IEl0YWxpY1xuXG5mb250LWZhbWlseTogaXRjLWFtZXJpY2FuLXR5cGV3cml0ZXIsIHNlcmlmO1xuXG5mb250LXdlaWdodDogMzAwO1xuXG5mb250LXN0eWxlOiBpdGFsaWM7XG5cbkFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBCb2xkIENvbmRlbnNlZFxuXG5mb250LWZhbWlseTogaXRjLWFtZXJpY2FuLXR5cGV3cml0ZXItY29uZCwgc2VyaWY7XG5cbmZvbnQtd2VpZ2h0OiA3MDA7XG5cbmZvbnQtc3R5bGU6IG5vcm1hbDtcblxuQW1lcmljYW4gVHlwZXdyaXRlciBJVEMgUHJvIExpZ2h0IENvbmRlbnNlZFxuXG5mb250LWZhbWlseTogaXRjLWFtZXJpY2FuLXR5cGV3cml0ZXItY29uZCwgc2VyaWY7XG5cbmZvbnQtd2VpZ2h0OiAzMDA7XG5cbmZvbnQtc3R5bGU6IG5vcm1hbDtcbiovXG4vKipcbiAgKiBNSVhJTlNcbiAgKlxuICAqIFN0YW5kYXJkaXplZCBzdHlsZSBjaHVua3MsIHByb3ZpZGVkIGFzIGJvdGggU0NTUyBtaXhpbnMgYW5kIEhUTUwgY2xhc3Nlcy5cbiAgKi9cbi53cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmlubmVyLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ubWFyLXRvcCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci10b3Age1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci10b3Age1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gIH1cbn1cblxuLm1hci1ib3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1hci1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbi5tYXItaG9yaXpvbnRhbCB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICB9XG59XG5cbi5tYXItcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYXItcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1hci1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gIH1cbn1cblxuLm1hci1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjVweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFyLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFyLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1hci1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICB9XG59XG5cbi5tYXItaG9yaXpvbnRhbCB7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFyLWhvcml6b250YWwge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1hci1ob3Jpem9udGFsIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTIwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYXItaG9yaXpvbnRhbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTYwcHgpO1xuICB9XG59XG5cbi5wYWQtdG9wIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC10b3Age1xuICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZC10b3Age1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC10b3Age1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtdG9wIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgfVxufVxuXG4ucGFkLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWQtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWQtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFkLWJvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cbn1cblxuLnBhZC1sZWZ0IHtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWQtbGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZC1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFkLWxlZnQge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuXG4ucGFkLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFkLXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWQtcmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZC1yaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuXG4ucGFkLXZlcnRpY2FsIHtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWQtdmVydGljYWwge1xuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZC12ZXJ0aWNhbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFkLXZlcnRpY2FsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgfVxufVxuXG4ucGFkLWhvcml6b250YWwge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWQtaG9yaXpvbnRhbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZC1ob3Jpem9udGFsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFkLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuXG4uZWRnZS10by1lZGdlIHtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XG4gIG1heC13aWR0aDogY2FsYygxMDAlICsgNDBweCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmVkZ2UtdG8tZWRnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTI1cHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyA1MHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lZGdlLXRvLWVkZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0zMHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgNjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZWRnZS10by1lZGdlIHtcbiAgICBtYXJnaW4tbGVmdDogLTYwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNjBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSArIDEyMHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZWRnZS10by1lZGdlIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cbi5idXR0b24ge1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMyMmQyOTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKlxuQG1peGluIGNhdGVnb3J5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIC90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogJGJsYWNrO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA2MjVlbTtcbn1cblxuLmNhdGVnb3J5IHtcbiAgQGluY2x1ZGUgY2F0ZWdvcnk7XG59XG5cbkBtaXhpbiB0aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgLy9mb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4xO1xuICBjb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDYyNWVtO1xuXG4gICY6aG92ZXIge1xuICAgIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbn1cblxuLnRpdGxlIHtcbiAgQGluY2x1ZGUgdGl0bGU7XG59XG5cbkBtaXhpbiB0YWcge1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICRtZWRpdW1EYXJrR3JheTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA0MjVlbTtcbn1cblxuLnRhZyB7XG4gIEBpbmNsdWRlIHRhZztcbn1cbiovXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBib3JkZXI6IDA7XG59XG5cbi5uby1zY3JvbGwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZW1iZWQtY29udGFpbmVyLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5lbWJlZC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uZW1iZWQtY29udGFpbmVyIGlmcmFtZSxcbi5lbWJlZC1jb250YWluZXIgb2JqZWN0LFxuLmVtYmVkLWNvbnRhaW5lciBlbWJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4vKipcbiAgKiBFTEVNRU5UIFNUWUxFU1xuICAqXG4gICogU3R5bGUgZGVmaW5pdGlvbnMgZm9yIGdsb2JhbCBlbGVtZW50IHNlbGVjdG9ycy5cbiAgKi9cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG59XG5cbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZTVjZDtcbiAgY29sb3I6ICMyMjI7XG4gIGZvbnQtZmFtaWx5OiBUZWFjaGVycywgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oMSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGNvbG9yOiAjYzc0ZjNmO1xuICBwYWRkaW5nOiAwIDAgMzBweCAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNjNzRmM2Y7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICB9XG59XG5cbmgyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS4zcmVtO1xuICBmb250LXNpemU6IDEuOHJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTU5MDllbTtcbn1cblxuaDMge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4xNTkwOWVtO1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cblxuaDQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxucCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAjYzc0ZjNmO1xufVxudWwsIG9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbi8qIGJlZ2luIGJ1dHRvbiBzdHlsZXMgKi9cbmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKiBlbmQgYnV0dG9uIHN0eWxlcyAqL1xuYmxvY2txdW90ZSB7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2M3NGYzZjtcbiAgbWFyZ2luOiA1MHB4IDEwcHg7XG4gIHBhZGRpbmc6IDAuNWVtIDMwcHg7XG4gIHF1b3RlczogXCLigJxcIjtcbn1cbmJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgY29sb3I6ICMzMjJkMjk7XG4gIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gIGZvbnQtc2l6ZTogNGVtO1xuICBsaW5lLWhlaWdodDogMC4xZW07XG4gIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTAuNGVtO1xufVxuYmxvY2txdW90ZSBwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuYmxvY2txdW90ZSBwOmZpcnN0LW9mLXR5cGUsIGJsb2NrcXVvdGUgcDpudGgtb2YtdHlwZSgyKSB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xufVxuYmxvY2txdW90ZSBmb290ZXIge1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG59XG5cbi8qKlxuICAqIEhFQURFUiBTVFlMRVNcbiAgKi9cbi5oZWFkZXItd3JhcCB7XG4gIGhlaWdodDogYXV0bztcbiAgZ3JpZC1yb3ctc3RhcnQ6IDE7XG4gIGdyaWQtcm93LWVuZDogMjtcbiAgei1pbmRleDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M3NGYzZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmhlYWRlci13cmFwLmJnLXZpc2libGUge1xuICB6LWluZGV4OiA5OTk5O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItd3JhcC5iZy12aXNpYmxlIHtcbiAgICB6LWluZGV4OiAwO1xuICB9XG59XG5cbi5oZWFkZXItb3ZlcmxheSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMSwgMzgsIDE3MCk7XG4gIG9wYWNpdHk6IDAuNztcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvcC1iYXItYmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNjtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRvcC1iYXItYmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5ib3R0b20tYmFyLWJnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDY7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZDMyMmQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmJvdHRvbS1iYXItYmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxNDAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIGhlaWdodDogOTBweDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogOTBweCBhdXRvO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5oZWFkZXIge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlciB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVhZGVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXIge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgfVxufVxuXG4uaGVhZGVyLWJyYW5kIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgaGVpZ2h0OiA5MHB4O1xuICBncmlkLWNvbHVtbjogMS9zcGFuIDE7XG4gIGdyaWQtcm93OiAxL3NwYW4gMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQge1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gIH1cbn1cbi5oZWFkZXItYnJhbmQgYSB7XG4gIG1heC13aWR0aDogNDIwcHg7XG4gIGhlaWdodDogOTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJyYW5kIGEge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNmMWU1Y2Q7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10aXRsZSB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDIuNnJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDMuMXJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDMuOHJlbTtcbiAgfVxufVxuLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmF1dGhvciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAuYXV0aG9yIHtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5hdXRob3Ige1xuICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmF1dGhvciB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5hdXRob3Ige1xuICAgIGZvbnQtc2l6ZTogMy4xcmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5hdXRob3Ige1xuICAgIGZvbnQtc2l6ZTogMy44cmVtO1xuICB9XG59XG4uaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRhZ2xpbmUge1xuICBtYXJnaW46IDEwcHggYXV0byAwIGF1dG87XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzMyMmQyOTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuaGVhZGVyLWJyYW5kIGEgLmxvZ28tdGV4dCAubG9nby10ZXh0LXRhZ2xpbmUge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1icmFuZCBhIC5sb2dvLXRleHQgLmxvZ28tdGV4dC10YWdsaW5lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnJhbmQgYSAubG9nby10ZXh0IC5sb2dvLXRleHQtdGFnbGluZSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICB9XG59XG5cbi5sb2dvIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmxvZ28ge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjVweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubG9nbyB7XG4gICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5sb2dvIHtcbiAgICBtYXJnaW4tbGVmdDogNjBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5sb2dvIHtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxvZ28ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogOTAlO1xuICAgIHJpZ2h0OiAzMHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5sb2dvIHtcbiAgICByaWdodDogMTAwcHg7XG4gIH1cbn1cblxuLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLXRvcDogMzVweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogcXVlc3RhLWdyYW5kZSwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAudGFibGUtb2YtY29udGVudHMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjVweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudGFibGUtb2YtY29udGVudHMge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGFibGUtb2YtY29udGVudHMge1xuICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgICBtYXJnaW4tbGVmdDogODBweDtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZS1vZi1jb250ZW50cyB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC50YWJsZS1vZi1jb250ZW50cyB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudGFibGUtb2YtY29udGVudHMge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudGFibGUtb2YtY29udGVudHMge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuXG4uaGVhZGVyLW5hdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA5MHB4O1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxMDtcbn1cbi5oZWFkZXItbmF2LmJnLXZpc2libGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2QzMjJkO1xuICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggLTVweCAjMzIyZDI5O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItbmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRvcDogYXV0bztcbiAgfVxuICAuaGVhZGVyLW5hdi5iZy12aXNpYmxlIHtcbiAgICBib3gtc2hhZG93OiB1bnNldDtcbiAgfVxufVxuXG4ubWFpbi1uYXYge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IDU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYWluLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cbi5tYWluLW5hdiB1bCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzc0ZjNmO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1uYXYgdWwge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBjb2x1bW4tZ2FwOiAxMHB4O1xuICAgIGJvcmRlci10b3A6IHVuc2V0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuLm1haW4tbmF2IHVsIGxpIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBib3JkZXItdG9wOiB1bnNldDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjNzRmM2Y7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFpbi1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubWFpbi1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubWFpbi1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYWluLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5tYWluLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICB0cmFuc2l0aW9uOiBkaXNwbGF5IDMwMG1zO1xuICB9XG4gIC5tYWluLW5hdiB1bCBsaTpob3ZlciA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLm1haW4tbmF2IHVsIGxpIGEge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0NXB4O1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDFyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjZjFlNWNkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4tbmF2IHVsIGxpIGEge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbi5tYWluLW5hdiB1bCBsaSAubmF2LWNoZXZyb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYWluLW5hdiB1bCBsaSAubmF2LWNoZXZyb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5tYWluLW5hdiB1bCBsaSB1bCB7XG4gIHdpZHRoOiAyMjVweDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNjJweDtcbiAgcmlnaHQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZDMyMmQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzc0ZjNmO1xufVxuLm1haW4tbmF2IHVsIGxpIHVsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjZTBlMGUwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMTJweDtcbiAgcmlnaHQ6IC0xcHg7XG4gIHotaW5kZXg6IDEwMDE7XG59XG4ubWFpbi1uYXYgdWwgbGkgdWwgbGkge1xuICB3aWR0aDogMjI1cHg7XG4gIGhlaWdodDogMzVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzc0ZjNmO1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLm1haW4tbmF2IHVsIGxpIHVsIGxpOm50aC1jaGlsZCgxKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzc0ZjNmO1xufVxuLm1haW4tbmF2IHVsIGxpIHVsIGxpOm50aC1jaGlsZCgyKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzc0ZjNmO1xufVxuLm1haW4tbmF2IHVsIGxpIHVsIGxpOm50aC1jaGlsZCgzKSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzc0ZjNmO1xufVxuLm1haW4tbmF2IHVsIGxpIHVsIGxpOm50aC1jaGlsZCg0KSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYzc0ZjNmO1xufVxuLm1haW4tbmF2IHVsIGxpIHVsIGxpIGEge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5tYWluLW5hdiB1bCBsaSB1bCBsaSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi50b3AtbmF2IHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogYXV0bztcbiAgbGVmdDogYXV0bztcbiAgei1pbmRleDogNjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNsZWFyOiBib3RoO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50b3AtbmF2IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogNjtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnRvcC1uYXYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50b3AtbmF2IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9wLW5hdiB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50b3AtbmF2IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAudG9wLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAudG9wLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9wLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRvcC1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuLnRvcC1uYXYgdWwge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjb2x1bW4tZ2FwOiAzMHB4O1xuICBmbGV4LWZsb3c6IGNvbHVtbjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudG9wLW5hdiB1bCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gICAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTtcbiAgfVxufVxuLnRvcC1uYXYgdWwgbGkge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjODg4ODg4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnRvcC1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudG9wLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50b3AtbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50b3AtbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnRvcC1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC50b3AtbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAudG9wLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC50b3AtbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudG9wLW5hdiB1bCBsaSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gIH1cbn1cbi50b3AtbmF2IHVsIGxpIGEge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMzMjJkMjk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRvcC1uYXYgdWwgbGkgYSB7XG4gICAgY29sb3I6IHJnYigyMzcsIDIwNSwgNDQpO1xuICB9XG59XG4uc2xpZGUtbGluZSB7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xufVxuXG4uaGVhZGVyLWJ1dHRvbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA5MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmhlYWRlci1idXR0b25zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlYWRlci1idXR0b25zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlYWRlci1idXR0b25zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItYnV0dG9ucyB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4uZ2xhc3Mge1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdG9wOiBhdXRvO1xuICBib3JkZXI6IHVuc2V0O1xufVxuLmdsYXNzIGkge1xuICBjb2xvcjogI2YxZTVjZDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZ2xhc3Mge1xuICAgIGhlaWdodDogNDVweDtcbiAgICBib3JkZXI6IHVuc2V0O1xuICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICB9XG4gIC5nbGFzcyBpIHtcbiAgICBjb2xvcjogI2YxZTVjZDtcbiAgfVxuICAuZ2xhc3MgaTpob3ZlciB7XG4gICAgY29sb3I6ICNhYWE7XG4gIH1cbn1cblxuLmJ1cmdlciB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5idXJnZXIgaSB7XG4gIGNvbG9yOiAjZjFlNWNkO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDM0MHB4KSB7XG4gIC5idXJnZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmJ1cmdlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2l0ZS1zZWFyY2gtd3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDkwcHg7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjNzRmM2Y7XG4gIHotaW5kZXg6IDY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnNpdGUtc2VhcmNoLXdyYXAge1xuICAgIHRvcDogNDVweDtcbiAgfVxufVxuLnNpdGUtc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5zaXRlLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaXRlLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zaXRlLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc2l0ZS1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuc2l0ZS1zZWFyY2gtd3JhcCAuc2l0ZS1zZWFyY2gge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaXRlLXNlYXJjaC13cmFwIC5zaXRlLXNlYXJjaCB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLnNpdGUtc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnNpdGUtc2VhcmNoLXdyYXAgLnNpdGUtc2VhcmNoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cblxuLyoqXG4gICogU0lURSBTRUFSQ0ggRk9STSBTVFlMRVNcbiAgKi9cbi5zaXRlLXNlYXJjaCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMzVweCAwO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA1MHB4O1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG59XG5cbi5zZWFyY2gtcXVlcnkge1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZTVjZDtcbn1cbi5zZWFyY2gtcXVlcnkgbGFiZWwge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDMwcHg7XG4gIGNvbG9yOiAjMzIyZDI5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zZWFyY2gtcXVlcnkgaW5wdXQge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzMyMmQyOTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICBjb2xvcjogIzMyMmQyOTtcbn1cblxuLnNlYXJjaC1zdWJtaXQge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBncmlkLWNvbHVtbjogMi9zcGFuIDE7XG4gIGdyaWQtcm93OiAxO1xuICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgY29sb3I6ICMzMjJkMjk7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFlNWNkO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzMyMmQyOTtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgIzMyMmQyOTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMzMjJkMjk7XG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xufVxuLnNlYXJjaC1zdWJtaXQ6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xufVxuXG4vKipcbiAgKiBDT05URU5UIFNUWUxFU1xuICAqL1xuLm1haW4td3JhcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGdyaWQtcm93LXN0YXJ0OiAyO1xuICBncmlkLXJvdy1lbmQ6IDM7XG59XG4ubWFpbiB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTQwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFpbiB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYWluIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1haW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1haW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAubWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1haW4ge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5tYWluIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLm1haW4ge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5tYWluIHtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxufVxuXG4vKi5wYWdlLWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciA4MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XG4gIGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgIC8vbWluLWhlaWdodDogMjUwcHg7XG4gIH1cbn1cbiAgLnBhZ2UtaGVhZGVyLW92ZXJsYXkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoZGFya2VuKCR0cmFuc0dyYXksIDQwJSksIGRhcmtlbigkdHJhbnNHcmF5LCAyMCUpKTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgLy9iYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuICB9Ki9cbi8qLnBhZ2UtaGVhZGVyLWJveC13cmFwIHtcbiAgLy9AaW5jbHVkZSBpbm5lci13cmFwO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC8vcGFkZGluZy10b3A6IGNhbGMoJGhlYWRlckhlaWdodE1vYmlsZSArICRzcGFjZXJQYWRkaW5nVGFibGV0KTtcbiAgLy9wYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgLy9AaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAvL3BhZGRpbmctdG9wOiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wICsgJHNwYWNlclBhZGRpbmdEZXNrdG9wKTsvL1xuICAgIC8vaGVpZ2h0OiBhdXRvO1xuXG4gICAgLy9kaXNwbGF5OiBub25lO1xuICB9XG59Ki9cbi8qLnBhZ2UtaGVhZGVyLWJveCB7XG4gIEBpbmNsdWRlIHBhZC10b3A7XG4gIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAvL0BpbmNsdWRlIHBhZC1ib3R0b207XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8vcGFkZGluZzogNDBweCAzMHB4O1xuICAvL3BhZGRpbmctdG9wOiBjYWxjKCRoZWFkZXJIZWlnaHRNb2JpbGUgKyAkc3BhY2VyUGFkZGluZ1RhYmxldCk7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAvL3dpZHRoOiA2NyU7XG4gICAgLy93aWR0aDogMTAwJTtcbiAgICAvL3BhZGRpbmctdG9wOiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wICsgJHNwYWNlclBhZGRpbmdEZXNrdG9wKTtcbiAgfVxuXG4gIGgxIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDIwcHggMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvL2NvbG9yOiAkb2ZmV2hpdGU7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAvL3BhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRibGFjaztcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAkb2ZmV2hpdGU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIH1cbiAgfVxufSovXG4ucGFnZS1jb250ZW50IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1jb250ZW50IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gIH1cbn1cblxuLnBhZ2UtY29udGVudC5zaWRlIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMHB4O1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1jb250ZW50LnNpZGUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDMyMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAwcHg7XG4gIH1cbn1cblxuLnBhZ2UtbWFpbiB7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDI7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLW1haW4ge1xuICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1tYWluIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5wYWdlLW1haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2UtbWFpbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1tYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucGFnZS1tYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLW1haW4ge1xuICAgIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgfVxufVxuLnBhZ2UtbWFpbiBoMiB7XG4gIG1hcmdpbi10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xufVxuLnBhZ2UtbWFpbiBoMjpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5wYWdlLW1haW4gaDMge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuLnBhZ2UtbWFpbiBoNCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG4ucGFnZS1tYWluIGg1IHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cbi5wYWdlLW1haW4gaDYge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuLnBhZ2UtbWFpbiBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cbi5wYWdlLW1haW4gcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLnBhZ2UtbWFpbiB1bCB7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbn1cbi5wYWdlLW1haW4gdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4ucGFnZS1zZWN0aW9uLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnBhZ2Utc2VjdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICB9XG59XG5cbi5zaWRlIC5wYWdlLW1haW4ge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zaWRlIC5wYWdlLW1haW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICB9XG59XG5cbi5wYWdlLXNpZGViYXIge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgd2lkdGg6IDEwMCU7XG4gIGdyaWQtY29sdW1uOiAxL3NwYW4gMTtcbiAgZ3JpZC1yb3c6IDE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucGFnZS1zaWRlYmFyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5wYWdlLXNpZGViYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBhZ2Utc2lkZWJhciB7XG4gICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICB9XG59XG5cbi5hbGlnbnJpZ2h0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5hbGlnbnJpZ2h0IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG5cbi5hbGlnbmxlZnQge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IG5vbmU7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmFsaWdubGVmdCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG5cbi5zaW5nbGUgcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiB1bnNldDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICBmb250LWZhbWlseTogaXRjLWFtZXJpY2FuLXR5cGV3cml0ZXIsIHNlcmlmO1xufVxuXG5maWd1cmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBwYWRkaW5nOiAyMHB4O1xufVxuZmlndXJlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuZmlndXJlLmFsaWducmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgZmlndXJlLmFsaWducmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG59XG5maWd1cmUuYWxpZ25yaWdodCBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cbmZpZ3VyZS5hbGlnbmxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgZmlndXJlLmFsaWdubGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5maWd1cmUuYWxpZ25sZWZ0IGltZyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuZmlndXJlIGZpZ2NhcHRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAwLjlyZW07XG59XG4vKipcbiAgKiBGT09URVIgU1RZTEVTXG4gICovXG4uZm9vdGVyLXdyYXAge1xuICBncmlkLXJvdy1zdGFydDogMztcbiAgZ3JpZC1yb3ctZW5kOiA0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc0ZjNmO1xufVxuLmZvb3RlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDE0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICNmMWU1Y2Q7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3RlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICB9XG59XG4uZm9vdGVyLW5hdiB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmZvb3Rlci1uYXYge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mb290ZXItbmF2IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGVyLW5hdiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cbn1cbi5mb290ZXItbmF2IHVsIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBmbGV4LXN0YXJ0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItbmF2IHVsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuLmZvb3Rlci1uYXYgdWwgbGkge1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XG4gIHdpZHRoOiAxMDAlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA1cHggMTBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZm9vdGVyLW5hdiB1bCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb290ZXItbmF2IHVsIGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAuZm9vdGVyLW5hdiB1bCBsaTphZnRlciB7XG4gICAgY29udGVudDogXCJ8XCI7XG4gICAgY29sb3I6ICM5OTk5OTk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogLTJweDtcbiAgfVxuICAuZm9vdGVyLW5hdiB1bCBsaTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4uZm9vdGVyLW5hdiB1bCBsaSBhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICNmMWU1Y2Q7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvb3Rlci1uYXYgdWwgbGkgYSB7XG4gICAgYWxpZ24taXRlbXM6IGxlZnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4uY29weXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgdHJhbnNpdGlvbjogcGFkZGluZyAzMDBtcztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xuICBmb250LXNpemU6IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuY29weXJpZ2h0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvcHlyaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvcHlyaWdodCB7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29weXJpZ2h0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29weXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbmgyIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjMzIyZDI5O1xufVxuXG4udmlkZW9zIHtcbiAgcGFkZGluZzogMjBweDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gIGdyaWQtY29sdW1uLWdhcDogMDtcbiAgZ3JpZC1yb3ctZ2FwOiA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC52aWRlb3Mge1xuICAgIHBhZGRpbmc6IDQwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAudmlkZW9zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQ4JSA0OCU7XG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiA0JTtcbiAgfVxufVxuXG4udmlkZW8ge1xuICBkaXNwbGF5OiBncmlkO1xufVxuXG4udmlkZW8tdGl0bGUge1xuICAvKlxuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgIGdyaWQtcm93OiAxO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgfVxuICAgIH1cbiAgICAqL1xufVxuLnZpZGVvLXRpdGxlIGg0IHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnZpZGVvLWVtYmVkIHtcbiAgbWF4LXdpZHRoOiA0NjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IGF1dG87XG59XG5cbi5nYWxsZXJ5IHtcbiAgcGFkZGluZzogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAuZ2FsbGVyeSB7XG4gICAgcGFkZGluZzogNDBweDtcbiAgfVxufSIsIi8qKlxuICAqIFBBR0UtU1BFQ0lGSUMgU1RZTEVTSEVFVDogRXZlbnRzXG4gICpcbiAgKiBJbXBvcnQgY29tbW9uIHN0eWxlcyBhbmQgaG91c2UgcGFnZS1zcGVjaWZpYyBzdHlsZXMgZm9yIHBhZ2U6IFwiRXZlbnRzXCIuXG4gICovXG5cbkBpbXBvcnQgJ19jb21tb24nOyAvLyBjb21tb24gc3R5bGVzXG5cbmgyIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkYmxhY2s7XG59XG5cbi52aWRlb3Mge1xuICBwYWRkaW5nOiAyMHB4O1xuICAvL2JhY2tncm91bmQtY29sb3I6ICMxNTE1MTU7XG4gIC8vY29sb3I6ICR3aGl0ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDAlO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gIGdyaWQtY29sdW1uLWdhcDogMDtcbiAgZ3JpZC1yb3ctZ2FwOiA0MHB4O1xuICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8vanVzdGlmeS1pdGVtczogY2VudGVyO1xuICAvL3RleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgcGFkZGluZzogNDBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDglIDQ4JTtcbiAgICBncmlkLWNvbHVtbi1nYXA6IDQlO1xuICB9XG59XG5cbi52aWRlbyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG5cbi52aWRlby10aXRsZSB7XG5cbiAgaDQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbi8qXG4gIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICBncmlkLXJvdzogMTtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcbiAgICBncmlkLXJvdzogMTtcbiAgfVxuXG4gIGgyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICB9XG4gIH1cbiAgKi9cbn1cblxuLnZpZGVvLWVtYmVkIHtcbiAgbWF4LXdpZHRoOiA0NjBweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IGF1dG87XG59XG5cblxuLmdhbGxlcnkge1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcbiAgICBwYWRkaW5nOiA0MHB4O1xuICB9XG59XG4iLCIvKipcbiAgKiBDT01NT04gU1RZTEVTXG4gICpcbiAgKiBEZWZpbmVzIHRoZSBzdHlsZXMgdG8gaW1wb3J0IHRoYXQgYXJlIHJlcXVpcmVkIGJ5IHZpcnR1YWxseSBhbGwgcGFnZXMuXG4gICovXG5cblxuLy8gaW1wb3J0IGxpYnJhcmllczpcbkBpbXBvcnQgJ2xpYnJhcmllcy9faW5jbHVkZS1tZWRpYS5zY3NzJzsgLy8gXCJJbmNsdWRlLU1lZGlhXCIgbWVkaWEgcXVlcnkgbGlicmFyeSAocHJvdmlkZXMgYnJlYWtwb2ludCBmdW5jdGlvbmFsaXR5IGZvciByZXNwb25zaXZlIGRlc2lnbilcbkBpbXBvcnQgJ2xpYnJhcmllcy9fbm9ybWFsaXplLnNjc3MnOyAgICAgLy8gXCJOb3JtYWxpemVcIiBjc3MgcmVzZXQgbGlicmFyeVxuXG4vLyBnbG9iYWwgc3R5bGVzIGFuZCBkZXBlbmRlbmNpZXM6XG5AaW1wb3J0ICdwYXJ0aWFscy9fYnJlYWtwb2ludHMubW9kdWxlcyc7ICAvLyBicmVha3BvaW50IGRlZmluaXRpb25zIGZvciBtZWRpYSBxdWVyeSB1c2VcbkBpbXBvcnQgJ3BhcnRpYWxzL192YXJpYWJsZXMnOyAgICAgICAgICAgIC8vIGdlbmVyYWwgdmFyaWFibGUgZGVmaW5pdGlvbnMgKGNvbG9ycywgZGltZW5zaW9ucywgZXRjLilcbkBpbXBvcnQgJ3BhcnRpYWxzL19mb250cyc7ICAgICAgICAgICAgICAgIC8vIEBmb250LWZhY2UgZGVmaW5pdGlvbnNcbkBpbXBvcnQgJ3BhcnRpYWxzL19taXhpbnMnOyAgICAgICAgICAgICAgIC8vIG1peGluIGFuZCBhc3NvY2lhdGVkIGNsYXNzIGRlZmluaXRpb25zXG5AaW1wb3J0ICdwYXJ0aWFscy9fbWlzYyc7ICAgICAgICAgICAgICAgICAvLyBtaXNjLiBzdHlsZXNcbkBpbXBvcnQgJ3BhcnRpYWxzL19lbGVtZW50cyc7ICAgICAgICAgICAgIC8vIGdsb2JhbCBlbGVtZW50IHNlbGVjdG9yIHN0eWxlc1xuQGltcG9ydCAncGFydGlhbHMvX2hlYWRlcic7ICAgICAgICAgICAgICAgLy8gaGVhZGVyIHN0eWxlc1xuQGltcG9ydCAncGFydGlhbHMvX3NlYXJjaGZvcm0nOyAgICAgICAgICAgLy8gc2VhcmNoIGZvcm0gc3R5bGVzXG5AaW1wb3J0ICdwYXJ0aWFscy9fY29udGVudCc7ICAgICAgICAgICAgICAvLyBjb250ZW50IHN0eWxlc1xuQGltcG9ydCAncGFydGlhbHMvX2Zvb3Rlcic7ICAgICAgICAgICAgICAgLy8gZm9vdGVyIHN0eWxlc1xuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICovXG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKlxuICAqIEJSRUFLUE9JTlRTXG4gICpcbiAgKiBEZWZpbmUgYnJlYWtwb2ludHMgZm9yIG1lZGlhIHF1ZXJ5IHVzZSBhbmQgZXhwb3J0IHRoZW0gZm9yIHVzZSB3aXRoIEpTLlxuICAqL1xuXG5cbi8vIGRlZmluZSBicmVha3BvaW50cyBoZXJlIChpbiBwaXhlbHMpOlxuJGJyZWFrcG9pbnQtcGhvbmUtc21hbGw6ICAgIDMyMDtcbiRicmVha3BvaW50LXBob25lLWxhcmdlOiAgICA0ODA7XG4kYnJlYWtwb2ludC10YWJsZXQ6ICAgICAgICAgNzY4O1xuJGJyZWFrcG9pbnQtbGFwdG9wOiAgICAgICAgIDk5MjtcbiRicmVha3BvaW50LWRlc2t0b3A6ICAgICAgIDEyMDA7XG4kYnJlYWtwb2ludC1kZXNrdG9wLWxhcmdlOiAxNDAwO1xuJGJyZWFrcG9pbnQtaGQ6ICAgICAgICAgICAgMTkyMDtcblxuLy8gZm9ybWF0IGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgZm9yIHVzZSB3aXRoIGluY2x1ZGUtbWVkaWEuc2NzcyBsaWJyYXJ5OlxuLypcbmV4YW1wbGUgdXNhZ2U6XG5AaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtc21hbGxcIikgey4uLn1cbiovXG4kYnJlYWtwb2ludHM6IChcbiAgJ3Bob25lLXNtYWxsJzogICAkYnJlYWtwb2ludC1waG9uZS1zbWFsbCAqIDFweCxcbiAgJ3Bob25lLWxhcmdlJzogICAkYnJlYWtwb2ludC1waG9uZS1sYXJnZSAqIDFweCxcbiAgJ3RhYmxldCc6ICAgICAgICAkYnJlYWtwb2ludC10YWJsZXQgKiAxcHgsXG4gICdsYXB0b3AnOiAgICAgICAgJGJyZWFrcG9pbnQtbGFwdG9wICogMXB4LFxuICAnZGVza3RvcCc6ICAgICAgICRicmVha3BvaW50LWRlc2t0b3AgKiAxcHgsXG4gICdkZXNrdG9wLWxhcmdlJzogJGJyZWFrcG9pbnQtZGVza3RvcC1sYXJnZSAqIDFweCxcbiAgJ2hkJzogICAgICAgICAgICAkYnJlYWtwb2ludC1oZCAqIDFweFxuKTtcblxuLy8gZXhwb3J0IGJyZWFrcG9pbnQgZGVmaW5pdGlvbnMgZm9yIEpTIHVzZTpcbjpleHBvcnQge1xuICBicmVha3BvaW50UGhvbmVTbWFsbDogJGJyZWFrcG9pbnQtcGhvbmUtc21hbGw7XG4gIGJyZWFrcG9pbnRQaG9uZUxhcmdlOiAkYnJlYWtwb2ludC1waG9uZS1sYXJnZTtcbiAgYnJlYWtwb2ludFRhYmxldDogJGJyZWFrcG9pbnQtdGFibGV0O1xuICBicmVha3BvaW50TGFwdG9wOiAkYnJlYWtwb2ludC1sYXB0b3A7XG4gIGJyZWFrcG9pbnREZXNrdG9wOiAkYnJlYWtwb2ludC1kZXNrdG9wO1xuICBicmVha3BvaW50RGVza3RvcExhcmdlOiAkYnJlYWtwb2ludC1kZXNrdG9wLWxhcmdlO1xuICBicmVha3BvaW50SGQ6ICRicmVha3BvaW50LWhkO1xufVxuIiwiLyoqXG4gICogVkFSSUFCTEVTXG4gICovXG5cblxuLyoqXG4gICogRGltZW5zaW9uczpcbiAgKi9cblxuJHNpdGVXaWR0aDogMTQwMHB4OyAvLyBtYXggd2lkdGggb2Ygc2l0ZSdzIGNvbnRlbnQgY29udGFpbmVyc1xuXG4vLyBoZWFkZXIgaGVpZ2h0czpcbiR0b3BCYXJIZWlnaHQ6IDQ1cHg7XG4kYm90dG9tQmFySGVpZ2h0OiA2MHB4O1xuJGhlYWRlckhlaWdodE1vYmlsZTogOTBweDtcbiRoZWFkZXJIZWlnaHREZXNrdG9wOiAyMDBweDtcblxuLy8gc3RhbmRhcmRpemVkIHNpZGUgcGFkZGluZzpcbiRjb250YWluZXJQYWRkaW5nTW9iaWxlOiAyMHB4O1xuJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlOiAyNXB4O1xuJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ6IDMwcHg7XG4kY29udGFpbmVyUGFkZGluZ0xhcHRvcDogNjBweDtcbiRjb250YWluZXJQYWRkaW5nRGVza3RvcDogODBweDtcblxuLy8gc3RhbmRhcmRpemVkIHRvcCBhbmQgYm90dG9tIHBhZGRpbmc6XG4kc3BhY2VyUGFkZGluZ01vYmlsZTogMzBweDtcbiRzcGFjZXJQYWRkaW5nUGhvbmVMYXJnZTogMzVweDtcbiRzcGFjZXJQYWRkaW5nVGFibGV0OiA0MHB4O1xuJHNwYWNlclBhZGRpbmdMYXB0b3A6IDUwcHg7XG4kc3BhY2VyUGFkZGluZ0Rlc2t0b3A6IDYwcHg7XG5cblxuLyoqXG4gICogQ29sb3JzOlxuICAqL1xuXG4vLyBodWUgZGVmaW5pdGlvbnM6XG4kcmVkOiAgICAjZmYwMDAwO1xuJG9yYW5nZTogI2M3NGYzZjsgLy8jZmY4ODAwO1xuJHllbGxvdzogcmdiKDIzNywgMjA1LCA0NCk7IC8vI2ZmZmYwMDtcbiRncmVlbjogIHJnYigxODIsIDIzMCwgMjQpOyAvLyMwMGZmMDA7XG4kYmx1ZTogICByZ2IoMSwgMzgsIDE3MCk7IC8vIzAwMDBmZjtcbiRwdXJwbGU6ICNmZjAwZmY7XG4kYnJvd246ICAjN2QzMjJkOyAvLyM4ODg4MDA7XG4kY3JlYW06ICAjZjFlNWNkOyAvLyNmMGVkZTg7XG5cbi8vIGdyYXlzY2FsZSBkZWZpbml0aW9uczpcbiR3aGl0ZTogICNmZmZmZmY7XG4kZ3JheTogICAjODg4ODg4O1xuJGJsYWNrOiAgIzMyMmQyOTsgLy8jMDAwMDAwO1xuJG9mZldoaXRlOiAjZmVmZWZlO1xuJGxpZ2h0R3JheTogI2YyZjJmMjtcbiRtZWRpdW1HcmF5OiAjZTBlMGUwO1xuJG1lZGl1bURhcmtHcmF5OiAjOTk5OTk5O1xuJGRhcmtHcmF5OiAgIzIyMjtcblxuLy8gdHJhbnNwYXJlbnQgZGVmaW5pdGlvbnM6XG4kdHJhbnNHcmF5OiByZ2JhKDUxLCA1MSwgNTEsIDAuOCk7XG5cbi8vIGdsb2JhbCBhc3NpZ25tZW50czpcbiRib2R5Q29sb3I6ICRjcmVhbTsgICAgIC8vIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJGNvbnRlbnRDb2xvcjogJHdoaXRlOyAgLy8gcGFnZSBjb250ZW50IGJhY2tncm91bmQgY29sb3JcbiRmb250Q29sb3I6ICRkYXJrR3JheTsgIC8vIGRlZmF1bHQgZm9udCBjb2xvclxuJGxpbmtDb2xvcjogJG9yYW5nZTsgICAgICAvLyBkZWZhdWx0IGxpbmsgY29sb3JcblxuJGJyYW5kQ29sb3JQcmltYXJ5OiAkZ3JlZW47IC8vIHByaW1hcnkgY29sb3Igb2YgYnJhbmRcbiRicmFuZENvbG9yQ29udHJhc3Q6ICRibGFjazsgLy8gY29sb3IgdGhhdCBjb250cmFzdHMgd2VsbCB3aXRoIGJyYW5kIGNvbG9yIChvZnRlbiB1c2VkIGZvciB0ZXh0IG9uIHRvcCBvZiBicmFuZCBjb2xvcilcbiIsIi8qKlxuICAqIEZPTlRTXG4gICpcbiAgKiBEZWZpbmUgQGZvbnQtZmFjZSBzdHlsZXMuXG4gICovXG5cblxuLy8gTW9udHNlcnJhdC1SZWd1bGFyLnR0ZjpcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogTW9udHNlcnJhdDtcbiAgc3JjOiB1cmwoLi4vZm9udHMvTW9udHNlcnJhdC1SZWd1bGFyLnR0Zik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLy8gTW9udHNlcnJhdC1Cb2xkLnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBNb250c2VycmF0O1xuICBzcmM6IHVybCguLi9mb250cy9Nb250c2VycmF0LUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vLyBUZWFjaGVycy1SZWd1bGFyLnR0ZjpcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogVGVhY2hlcnM7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1RlYWNoZXJzLVJlZ3VsYXIudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vLyBUZWFjaGVycy1SZWd1bGFySXRhbGljLnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBUZWFjaGVycztcbiAgc3JjOiB1cmwoLi4vZm9udHMvVGVhY2hlcnMtUmVndWxhckl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vIFRlYWNoZXJzLU1lZGl1bS50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFRlYWNoZXJzO1xuICBzcmM6IHVybCguLi9mb250cy9UZWFjaGVycy1NZWRpdW0udHRmKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vLyBUZWFjaGVycy1NZWRpdW1JdGFsaWMudHRmXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFRlYWNoZXJzO1xuICBzcmM6IHVybCguLi9mb250cy9UZWFjaGVycy1NZWRpdW1JdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vLyBUZWFjaGVycy1TZW1pQm9sZC50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFRlYWNoZXJzO1xuICBzcmM6IHVybCguLi9mb250cy9UZWFjaGVycy1TZW1pQm9sZC50dGYpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8vIFRlYWNoZXJzLVNlbWlCb2xkSXRhbGljLnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBUZWFjaGVycztcbiAgc3JjOiB1cmwoLi4vZm9udHMvVGVhY2hlcnMtU2VtaUJvbGRJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vLyBUZWFjaGVycy1Cb2xkLnR0ZjpcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogVGVhY2hlcnM7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1RlYWNoZXJzLUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vLyBUZWFjaGVycy1Cb2xkSXRhbGljLnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBUZWFjaGVycztcbiAgc3JjOiB1cmwoLi4vZm9udHMvVGVhY2hlcnMtQm9sZEl0YWxpYy50dGYpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vIFRlYWNoZXJzLUV4dHJhQm9sZC50dGY6XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFRlYWNoZXJzO1xuICBzcmM6IHVybCguLi9mb250cy9UZWFjaGVycy1FeHRyYUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vLyBUZWFjaGVycy1FeHRyYUJvbGRJdGFsaWMudHRmXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFRlYWNoZXJzO1xuICBzcmM6IHVybCguLi9mb250cy9UZWFjaGVycy1FeHRyYUJvbGRJdGFsaWMudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5cblxuLy8gVGVhY2hlcnMtRXh0cmFCb2xkSXRhbGljLnR0ZlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBQbGF5ZmFpciBEaXNwbGF5O1xuICBzcmM6IHVybCguLi9mb250cy9QbGF5ZmFpckRpc3BsYXktUmVndWxhci50dGYpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cblxuXG4vKlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBBbWVyaWNhbiBUeXBld3JpdGVyIElUQyBQcm8gQm9sZDtcbiAgLy9zcmM6IHVybCguLi9mb250cy9Nb250c2VycmF0LUJvbGQudHRmKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5cblxuZm9udC1mYW1pbHk6IGx0Yy1nb3VkeS1vcm5hdGUsIHNhbnMtc2VyaWY7XG5cbmZvbnQtd2VpZ2h0OiA0MDA7XG5cbmZvbnQtc3R5bGU6IG5vcm1hbDtcblxuXG5BbWVyaWNhbiBUeXBld3JpdGVyIElUQyBQcm8gQm9sZFxuXG5mb250LWZhbWlseTogaXRjLWFtZXJpY2FuLXR5cGV3cml0ZXIsIHNlcmlmO1xuXG5mb250LXdlaWdodDogNzAwO1xuXG5mb250LXN0eWxlOiBub3JtYWw7XG5cbkFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBCb2xkIEl0YWxpY1xuXG5mb250LWZhbWlseTogaXRjLWFtZXJpY2FuLXR5cGV3cml0ZXIsIHNlcmlmO1xuXG5mb250LXdlaWdodDogNzAwO1xuXG5mb250LXN0eWxlOiBpdGFsaWM7XG5cbkFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBMaWdodFxuXG5mb250LWZhbWlseTogaXRjLWFtZXJpY2FuLXR5cGV3cml0ZXIsIHNlcmlmO1xuXG5mb250LXdlaWdodDogMzAwO1xuXG5mb250LXN0eWxlOiBub3JtYWw7XG5cbkFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBMaWdodCBJdGFsaWNcblxuZm9udC1mYW1pbHk6IGl0Yy1hbWVyaWNhbi10eXBld3JpdGVyLCBzZXJpZjtcblxuZm9udC13ZWlnaHQ6IDMwMDtcblxuZm9udC1zdHlsZTogaXRhbGljO1xuXG5BbWVyaWNhbiBUeXBld3JpdGVyIElUQyBQcm8gQm9sZCBDb25kZW5zZWRcblxuZm9udC1mYW1pbHk6IGl0Yy1hbWVyaWNhbi10eXBld3JpdGVyLWNvbmQsIHNlcmlmO1xuXG5mb250LXdlaWdodDogNzAwO1xuXG5mb250LXN0eWxlOiBub3JtYWw7XG5cbkFtZXJpY2FuIFR5cGV3cml0ZXIgSVRDIFBybyBMaWdodCBDb25kZW5zZWRcblxuZm9udC1mYW1pbHk6IGl0Yy1hbWVyaWNhbi10eXBld3JpdGVyLWNvbmQsIHNlcmlmO1xuXG5mb250LXdlaWdodDogMzAwO1xuXG5mb250LXN0eWxlOiBub3JtYWw7XG4qL1xuIiwiLyoqXHJcbiAgKiBNSVhJTlNcclxuICAqXHJcbiAgKiBTdGFuZGFyZGl6ZWQgc3R5bGUgY2h1bmtzLCBwcm92aWRlZCBhcyBib3RoIFNDU1MgbWl4aW5zIGFuZCBIVE1MIGNsYXNzZXMuXHJcbiAgKi9cclxuXHJcblxyXG5AbWl4aW4gd3JhcCB7IC8vIG1hcmdpbi1sZXNzIHdyYXBwZXJcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbn1cclxuXHJcbi53cmFwIHtcclxuICBAaW5jbHVkZSB3cmFwO1xyXG59XHJcblxyXG5cclxuQG1peGluIGlubmVyLXdyYXAgeyAvLyB3aWR0aC1saW1pdGVkLCBob3Jpem9udGFsbHkgY2VudGVyaW5nIHdyYXBwZXJcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6ICRzaXRlV2lkdGg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5pbm5lci13cmFwIHtcclxuICBAaW5jbHVkZSBpbm5lci13cmFwO1xyXG59XHJcblxyXG5cclxuQG1peGluIG1hci10b3AgeyAvLyBzdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIHRvcC1tYXJnaW5lZCBjb250YWluZXJcclxuICBtYXJnaW4tdG9wOiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi10b3A6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIG1hcmdpbi10b3A6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuLm1hci10b3Age1xyXG4gIEBpbmNsdWRlIG1hci10b3A7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gbWFyLWJvdHRvbSB7IC8vIHN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgYm90dG9tLW1hcmdpbmVkIGNvbnRhaW5lclxyXG4gIG1hcmdpbi1ib3R0b206ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi1ib3R0b206ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gIH1cclxufVxyXG4ubWFyLWJvdHRvbSB7XHJcbiAgQGluY2x1ZGUgbWFyLWJvdHRvbTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBtYXItaG9yaXpvbnRhbCB7IC8vIHN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgdmVydGljYWxseS1tYXJnaW5lZCAoYm90aCB0b3AgYW5kIGJvdHRvbSkgY29udGFpbmVyXHJcbiAgQGluY2x1ZGUgbWFyLXRvcDtcclxuICBAaW5jbHVkZSBtYXItYm90dG9tO1xyXG59XHJcbi5tYXItaG9yaXpvbnRhbCB7XHJcbiAgQGluY2x1ZGUgbWFyLWhvcml6b250YWw7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gbWFyLXJpZ2h0IHsgLy8gc3RhbmRhcmRpemVkLCByZXNwb25zaXZlLCByaWdodC1tYXJnaW5lZCBjb250YWluZXJcclxuICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nTW9iaWxlKTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ1RhYmxldCk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nTGFwdG9wKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIG1hcmdpbi1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApO1xyXG4gIH1cclxufVxyXG4ubWFyLXJpZ2h0IHtcclxuICBAaW5jbHVkZSBtYXItcmlnaHQ7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gbWFyLWxlZnQgeyAvLyBzdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIGxlZnQtbWFyZ2luZWQgY29udGFpbmVyXHJcbiAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nTW9iaWxlKTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nTGFwdG9wKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICRjb250YWluZXJQYWRkaW5nRGVza3RvcCk7XHJcbiAgfVxyXG59XHJcbi5tYXItbGVmdCB7XHJcbiAgQGluY2x1ZGUgbWFyLWxlZnQ7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gbWFyLWhvcml6b250YWwgeyAvLyBzdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIGhvcml6b250YWxseSBwYWRkZWQgKGJvdGggbGVmdCBhbmQgcmlnaHQpIGNvbnRhaW5lclxyXG4gIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IG1hcmdpbiAzMDBtcztcclxuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgyICogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpKTtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDIgKiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpKTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nVGFibGV0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gKDIgKiAkY29udGFpbmVyUGFkZGluZ1RhYmxldCkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRjb250YWluZXJQYWRkaW5nTGFwdG9wO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAoMiAqICRjb250YWluZXJQYWRkaW5nTGFwdG9wKSk7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICgyICogJGNvbnRhaW5lclBhZGRpbmdEZXNrdG9wKSk7XHJcbiAgfVxyXG59XHJcbi5tYXItaG9yaXpvbnRhbCB7XHJcbiAgQGluY2x1ZGUgbWFyLWhvcml6b250YWw7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gcGFkLXRvcCB7IC8vIHN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSBzcGFjZXIgZm9yIGVsZW1lbnQgdG9wXHJcbiAgcGFkZGluZy10b3A6ICRzcGFjZXJQYWRkaW5nTW9iaWxlO1xyXG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMzAwbXM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNlclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBwYWRkaW5nLXRvcDogJHNwYWNlclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ0xhcHRvcDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcclxuICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgfVxyXG59XHJcbi5wYWQtdG9wIHtcclxuICBAaW5jbHVkZSBwYWQtdG9wO1xyXG59XHJcblxyXG5cclxuQG1peGluIHBhZC1ib3R0b20geyAvLyBzdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUgc3BhY2VyIGZvciBlbGVtZW50IGJvdHRvbVxyXG4gIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjZXJQYWRkaW5nUGhvbmVMYXJnZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjZXJQYWRkaW5nVGFibGV0O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlclBhZGRpbmdMYXB0b3A7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlclBhZGRpbmdEZXNrdG9wO1xyXG4gIH1cclxufVxyXG4ucGFkLWJvdHRvbSB7XHJcbiAgQGluY2x1ZGUgcGFkLWJvdHRvbTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBwYWQtbGVmdCB7IC8vIHN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgbGVmdC1wYWRkZWQgY29udGFpbmVyXHJcbiAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2U7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lclBhZGRpbmdUYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcclxuICAgIHBhZGRpbmctbGVmdDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXJQYWRkaW5nRGVza3RvcDtcclxuICB9XHJcbn1cclxuLnBhZC1sZWZ0IHtcclxuICBAaW5jbHVkZSBwYWQtbGVmdDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBwYWQtcmlnaHQgeyAvLyBzdGFuZGFyZGl6ZWQsIHJlc3BvbnNpdmUsIHJpZ2h0LXBhZGRlZCBjb250YWluZXJcclxuICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ01vYmlsZTtcclxuICB0cmFuc2l0aW9uOiBwYWRkaW5nIDMwMG1zO1xyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdQaG9uZUxhcmdlO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ1RhYmxldDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xyXG4gICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lclBhZGRpbmdMYXB0b3A7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3A7XHJcbiAgfVxyXG59XHJcbi5wYWQtcmlnaHQge1xyXG4gIEBpbmNsdWRlIHBhZC1yaWdodDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBwYWQtdmVydGljYWwge1xyXG4gIEBpbmNsdWRlIHBhZC10b3A7XHJcbiAgQGluY2x1ZGUgcGFkLWJvdHRvbTtcclxufVxyXG4ucGFkLXZlcnRpY2FsIHsgLy8gc3RhbmRhcmRpemVkLCByZXNwb25zaXZlIHZlcnRpY2FsIChib3RoIHRvIGFuZCBib3R0b20pIHNwYWNlciBmb3IgZWxlbWVudFxyXG4gIEBpbmNsdWRlIHBhZC12ZXJ0aWNhbDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBwYWQtaG9yaXpvbnRhbCB7XHJcbiAgQGluY2x1ZGUgcGFkLXJpZ2h0O1xyXG4gIEBpbmNsdWRlIHBhZC1sZWZ0O1xyXG59XHJcbi5wYWQtaG9yaXpvbnRhbCB7IC8vIHN0YW5kYXJkaXplZCwgcmVzcG9uc2l2ZSwgaG9yaXpvbnRhbGx5IHBhZGRlZCAoYm90aCBsZWZ0IGFuZCByaWdodCkgY29udGFpbmVyXHJcbiAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gZWRnZS10by1lZGdlIHtcclxuICAvL0BpbmNsdWRlIHBhZC1yaWdodDtcclxuICAvL0BpbmNsdWRlIHBhZC1sZWZ0O1xyXG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogJGNvbnRhaW5lclBhZGRpbmdNb2JpbGUpO1xyXG4gIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nTW9iaWxlKTtcclxuICB0cmFuc2l0aW9uOiBtYXJnaW4gMzAwbXM7XHJcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAoMiAqICRjb250YWluZXJQYWRkaW5nTW9iaWxlKSk7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiAkY29udGFpbmVyUGFkZGluZ1Bob25lTGFyZ2UpO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgKyAoMiAqICRjb250YWluZXJQYWRkaW5nUGhvbmVMYXJnZSkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nVGFibGV0KTtcclxuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nVGFibGV0KTtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgKDIgKiAkY29udGFpbmVyUGFkZGluZ1RhYmxldCkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nTGFwdG9wKTtcclxuICAgIG1hcmdpbi1yaWdodDogY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nTGFwdG9wKTtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDAlICsgKDIgKiAkY29udGFpbmVyUGFkZGluZ0xhcHRvcCkpO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7IC8vY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nRGVza3RvcCk7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IC8vY2FsYygtMSAqICRjb250YWluZXJQYWRkaW5nRGVza3RvcCk7XHJcbiAgICBtYXgtd2lkdGg6IG5vbmU7IC8vY2FsYygxMDAlICsgKDIgKiAkY29udGFpbmVyUGFkZGluZ0Rlc2t0b3ApKTtcclxuICB9XHJcbn1cclxuXHJcbi5lZGdlLXRvLWVkZ2Uge1xyXG4gIEBpbmNsdWRlIGVkZ2UtdG8tZWRnZTtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBidXR0b24geyAvLyBzdGFuZGFyZGl6ZWQgYnV0dG9uXHJcbiAgcGFkZGluZzogMTBweCAxNXB4OztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgY29sb3I6ICRvZmZXaGl0ZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uO1xyXG59XHJcblxyXG4vKlxyXG5AbWl4aW4gY2F0ZWdvcnkge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIC8vIC90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGNvbG9yOiAkYmxhY2s7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LXNpemU6IDAuOHJlbTtcclxuICBsZXR0ZXItc3BhY2luZzogLTAuMDYyNWVtO1xyXG59XHJcblxyXG4uY2F0ZWdvcnkge1xyXG4gIEBpbmNsdWRlIGNhdGVnb3J5O1xyXG59XHJcblxyXG5AbWl4aW4gdGl0bGUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gIC8vZm9udC13ZWlnaHQ6IDYwMDtcclxuICBsaW5lLWhlaWdodDogMS4xO1xyXG4gIGNvbG9yOiAkYnJhbmRDb2xvclByaW1hcnk7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjA2MjVlbTtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxufVxyXG5cclxuLnRpdGxlIHtcclxuICBAaW5jbHVkZSB0aXRsZTtcclxufVxyXG5cclxuQG1peGluIHRhZyB7XHJcbiAgZm9udC1zaXplOiAwLjhyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICBjb2xvcjogJG1lZGl1bURhcmtHcmF5O1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNDI1ZW07XHJcbn1cclxuXHJcbi50YWcge1xyXG4gIEBpbmNsdWRlIHRhZztcclxufVxyXG4qL1xyXG5cclxuQG1peGluIHNjcmVlbi1yZWFkZXItdGV4dCB7ICAvLyB2aXNpYmxlIHRvIHNjcmVlbiByZWFkZXJzIG9ubHlcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDFweDtcclxuICBoZWlnaHQ6IDFweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogLTFweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcclxuICBAaW5jbHVkZSBzY3JlZW4tcmVhZGVyLXRleHQ7XHJcbn1cclxuXHJcblxyXG5AbWl4aW4gbm8tc2Nyb2xsIHsgLy8gcmVtb3ZlIHNjcm9sbGFiaWxpdHkgZm9yIGVsZW1lbnRcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4ubm8tc2Nyb2xsIHtcclxuICBAaW5jbHVkZSBuby1zY3JvbGw7XHJcbn1cclxuXHJcbkBtaXhpbiBib29rLWdyYWRpZW50IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZWVlO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChcclxuICAgIHRvIHJpZ2h0LFxyXG4gICAgdHJhbnNwYXJlbnQgMCUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgNzAlKSAwLjElIDAuMiUsXHJcbiAgICB0cmFuc3BhcmVudCAwLjIlLFxyXG4gICAgbGlnaHRlbihyZ2JhKDAsIDAsIDAsIDAuNiksIDcwJSkgMC40JSAwLjUlLFxyXG4gICAgdHJhbnNwYXJlbnQgMC41JSxcclxuICAgIGxpZ2h0ZW4ocmdiYSgwLCAwLCAwLCAwLjYpLCA3MCUpIDEuMiUgMS4zJSxcclxuICAgIHRyYW5zcGFyZW50IDEuMyUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgNzAlKSAzLjMlIDMuNCUsXHJcbiAgICB0cmFuc3BhcmVudCAzLjQlIDIwJSxcclxuICAgIC8qbGlnaHRlbihyZ2JhKDAsIDAsIDAsIDAuNiksIDcwJSkgNS41JSA1JSxcclxuICAgIC8vdHJhbnNwYXJlbnQgNSUgMjAlLCovXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgNzAlKSA1MCUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC43KSwgNDAlKSA2NyUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC44KSwgMzAlKSA2OSUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC45KSwgMjAlKSA2OS45NSUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC45KSwgMTAlKSA3MCUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgMjAlKSA3MC4wNSUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgMzAlKSA3MSUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgNDAlKSA3MyUsXHJcbiAgICBsaWdodGVuKHJnYmEoMCwgMCwgMCwgMC42KSwgNzAlKSA5MCUsXHJcbiAgICB0cmFuc3BhcmVudCAxMDAlKTtcclxufVxyXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XHJcblxyXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cclxuLy8gICAgKF8pICAgICAgICAgIHwgfCAgICAgICAgIHwgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IChfKVxyXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cclxuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcclxuLy8gICAgfCB8IHwgfCB8IChfX3wgfCB8X3wgfCAoX3wgfCAgX18vIHwgfCB8IHwgfCB8ICBfXy8gKF98IHwgfCAoX3wgfFxyXG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxyXG4vL1xyXG4vLyAgICAgIFNpbXBsZSwgZWxlZ2FudCBhbmQgbWFpbnRhaW5hYmxlIG1lZGlhIHF1ZXJpZXMgaW4gU2Fzc1xyXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxyXG4vL1xyXG4vLyAgICAgICAgaHR0cHM6Ly9lZHVhcmRvYm91Y2FzLmdpdGh1Yi5pby9pbmNsdWRlLW1lZGlhXHJcbi8vXHJcbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxyXG4vLyAgICAgICAgICAgICAgICAgIEtpdHR5IEdpcmF1ZGVsIChAa2l0dHlnaXJhdWRlbClcclxuLy9cclxuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxyXG4vLy8vXHJcbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cclxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcclxuLy8vIEBhY2Nlc3MgcHVibGljXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxyXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcclxuLy8vXHJcbiRicmVha3BvaW50czogKFxyXG4gICdwaG9uZSc6IDMyMHB4LFxyXG4gICd0YWJsZXQnOiA3NjhweCxcclxuICAnZGVza3RvcCc6IDEwMjRweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vL1xyXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxyXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxyXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXHJcbi8vLyAgKTtcclxuLy8vXHJcbiRtZWRpYS1leHByZXNzaW9uczogKFxyXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcclxuICAncHJpbnQnOiAncHJpbnQnLFxyXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXHJcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxyXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXHJcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcclxuICAncmV0aW5hM3gnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vXHJcbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2BcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XHJcbi8vL1xyXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cclxuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxyXG4vLy9cclxuJHVuaXQtaW50ZXJ2YWxzOiAoXHJcbiAgJ3B4JzogMSxcclxuICAnZW0nOiAwLjAxLFxyXG4gICdyZW0nOiAwLjEsXHJcbiAgJyc6IDBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vL1xyXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXHJcbi8vLyBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IG1lZGlhIHF1ZXJpZXMuXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcclxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgLmZvbyB7XHJcbi8vLyAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gIH1cclxuLy8vXHJcbiRpbS1tZWRpYS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vXHJcbi8vLyBTZWxlY3RzIHdoaWNoIGJyZWFrcG9pbnQgdG8gZW11bGF0ZSB3aGVuIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgZGlzYWJsZWQuIE1lZGlhIHF1ZXJpZXMgdGhhdCBzdGFydCBhdCBvclxyXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcpIHtcclxuLy8vICAgIC5mb28ge1xyXG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xyXG4vLy8gIC5mb28ge1xyXG4vLy8gICAgY29sb3I6IHRvbWF0bztcclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0JztcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vICAvKiBObyBvdXRwdXQgKi9cclxuLy8vXHJcbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XHJcblxyXG4vLy9cclxuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcclxuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXHJcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xyXG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XHJcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXHJcbi8vLyAgIC5mb28ge1xyXG4vLy8gICAgIGNvbG9yOiB0b21hdG87XHJcbi8vLyAgIH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxyXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcclxuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xyXG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgY29sb3I6IHRvbWF0bztcclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xyXG4vLy9cclxuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcclxuXHJcbi8vLy9cclxuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXHJcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxyXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcclxuICBAaWYgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJykge1xyXG4gICAgQGVycm9yICRtZXNzYWdlO1xyXG4gIH0gQGVsc2Uge1xyXG4gICAgQHdhcm4gJG1lc3NhZ2U7XHJcbiAgICAkXzogbm9vcCgpO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkbWVzc2FnZTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxyXG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXHJcbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXHJcbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXHJcbi8vL1xyXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XHJcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xyXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cclxuLy8vXHJcbkBmdW5jdGlvbiBub29wKCkge31cclxuXHJcbi8vL1xyXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcclxuLy8vXHJcbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XHJcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XHJcblxyXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xyXG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XHJcbiAgfVxyXG5cclxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcclxuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XHJcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XHJcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xyXG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XHJcblxyXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcclxuICAgICAgICAgICgkcHJlZml4ID09ICdtaW4nIGFuZCAkdmFsdWUgPiAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkge1xyXG4gICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgbm90IGluZGV4KCRpbS1uby1tZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xyXG4gICAgICBAcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLy8vXHJcbi8vLyBQYXJzaW5nIGVuZ2luZVxyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLy9cclxuXHJcblxyXG4vLy9cclxuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gQW55IG9mIGA+PWAsIGA+YCwgYDw9YCwgYDxgLCBg4omlYCwgYOKJpGBcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xyXG4gIEBlYWNoICRvcGVyYXRvciBpbiAoJz49JywgJz4nLCAnPD0nLCAnPCcsICfiiaUnLCAn4omkJykge1xyXG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xyXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXHJcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcclxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXHJcbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXHJcbi8vL1xyXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXHJcbi8vL1xyXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcclxuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcclxuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xyXG5cclxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcclxuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkZGltZW5zaW9uO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxyXG4vLy9cclxuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxyXG4vLy9cclxuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcclxuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcclxufVxyXG5cclxuXHJcbi8vL1xyXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3JcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcclxuLy8vXHJcbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XHJcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XHJcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XHJcblxyXG4gIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xyXG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcclxuICB9IEBlbHNlIHtcclxuICAgICR2YWx1ZTogdG8tbnVtYmVyKCR2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAkaW50ZXJ2YWw6IG1hcC1nZXQoJHVuaXQtaW50ZXJ2YWxzLCB1bml0KCR2YWx1ZSkpO1xyXG5cclxuICBAaWYgbm90ICRpbnRlcnZhbCB7XHJcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXHJcbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxyXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXHJcbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxyXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxyXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xyXG4gIH1cclxuXHJcbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xyXG4gICAgJHZhbHVlOiAkdmFsdWUgKyAkaW50ZXJ2YWw7XHJcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcclxuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xyXG4gIH1cclxuXHJcbiAgQHJldHVybiAkdmFsdWU7XHJcbn1cclxuXHJcblxyXG4vLy9cclxuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxyXG4vLy9cclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2VcclxuLy8vXHJcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcclxuLy8vXHJcbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XHJcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxyXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXHJcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcclxuICB9XHJcblxyXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xyXG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcclxuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcclxuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xyXG5cclxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcclxufVxyXG5cclxuLy8vXHJcbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXHJcbi8vL1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2VcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XHJcbi8vL1xyXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGVuZ3RoKCRsaXN0KSkge1xyXG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcclxuICAgIEByZXR1cm4gKCk7XHJcbiAgfVxyXG5cclxuICAkcmVzdWx0OiAoKTtcclxuXHJcbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xyXG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHJlc3VsdDtcclxufVxyXG5cclxuLy8vL1xyXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBDYXN0cyBhIHN0cmluZyBpbnRvIGEgbnVtYmVyXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxyXG4vLy9cclxuLy8vIEByZXR1cm4ge051bWJlcn1cclxuLy8vXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XHJcbiAgICBAcmV0dXJuICR2YWx1ZTtcclxuICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnc3RyaW5nJyB7XHJcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG4gIH1cclxuXHJcbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XHJcbiAgJHJlc3VsdDogMDtcclxuICAkZGlnaXRzOiAwO1xyXG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcclxuICAkbnVtYmVyczogKCcwJzogMCwgJzEnOiAxLCAnMic6IDIsICczJzogMywgJzQnOiA0LCAnNSc6IDUsICc2JzogNiwgJzcnOiA3LCAnOCc6IDgsICc5JzogOSk7XHJcblxyXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcclxuICAgICR2YWx1ZTogc3RyLXNsaWNlKCR2YWx1ZSwgMik7XHJcbiAgfVxyXG5cclxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHZhbHVlKSB7XHJcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xyXG5cclxuICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcclxuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xyXG4gICAgICAkZGlnaXRzOiAxO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xyXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XHJcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG5cclxuLy8vXHJcbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XHJcbi8vL1xyXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXHJcbi8vL1xyXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcclxuICAkdW5pdHM6ICgncHgnOiAxcHgsICdjbSc6IDFjbSwgJ21tJzogMW1tLCAnJSc6IDElLCAnY2gnOiAxY2gsICdwYyc6IDFwYywgJ2luJzogMWluLCAnZW0nOiAxZW0sICdyZW0nOiAxcmVtLCAncHQnOiAxcHQsICdleCc6IDFleCwgJ3Z3JzogMXZ3LCAndmgnOiAxdmgsICd2bWluJzogMXZtaW4sICd2bWF4JzogMXZtYXgpO1xyXG5cclxuICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XHJcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcclxufVxyXG5cclxuLy8vXHJcbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2ZcclxuLy8vIHRoZSBjYWxsLiBJdCBpcyBoZWxwZnVsIHdoZW4gaGF2aW5nIGEgY29tcG9uZW50IG5lZWRpbmcgYW4gZXh0ZW5kZWRcclxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxyXG4vLy8gZm9yIGluc3RhbmNlLlxyXG4vLy9cclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcclxuLy8vXHJcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2BcclxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcclxuLy8vICAgICAgIC8vIC4uLlxyXG4vLy8gICAgICB9XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xyXG4vLy8gICAgLmZvbyB7XHJcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xyXG4vLy8gICAgICAgLy8gLi4uXHJcbi8vLyAgICAgIH1cclxuLy8vICAgIH1cclxuLy8vICB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XHJcbi8vLyAgICAuZm9vIHtcclxuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XHJcbi8vLyAgICAgICAvLyAuLi5cclxuLy8vICAgICAgfVxyXG4vLy8gICAgfVxyXG4vLy8gIH1cclxuLy8vXHJcbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcclxuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xyXG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcclxuXHJcbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAtbWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XHJcblxyXG4gIEBjb250ZW50O1xyXG5cclxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXHJcbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XHJcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XHJcbn1cclxuXHJcbi8vLy9cclxuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXHJcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXHJcbi8vLyBAYWNjZXNzIHB1YmxpY1xyXG4vLy8vXHJcblxyXG5cclxuLy8vXHJcbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzaW5nbGUgc2V0IGJyZWFrcG9pbnRcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggdHdvIHNldCBicmVha3BvaW50c1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBjdXN0b20gdmFsdWVzXHJcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggc2V0IGJyZWFrcG9pbnRzIHdpdGggY3VzdG9tIHZhbHVlc1xyXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc3RhdGljIGV4cHJlc3Npb25cclxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzIC0gTWl4aW5nIGV2ZXJ5dGhpbmdcclxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XHJcbi8vL1xyXG5AbWl4aW4gbWVkaWEoJGNvbmRpdGlvbnMuLi4pIHtcclxuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXHJcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XHJcbiAgICBAY29udGVudDtcclxuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcclxuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcclxuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmVtYmVkLWNvbnRhaW5lci13cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIC8vbWF4LXdpZHRoOiA1MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4gIC5lbWJlZC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAgIC5lbWJlZC1jb250YWluZXIgaWZyYW1lLFxuICAgIC5lbWJlZC1jb250YWluZXIgb2JqZWN0LFxuICAgIC5lbWJlZC1jb250YWluZXIgZW1iZWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiIsIi8qKlxuICAqIEVMRU1FTlQgU1RZTEVTXG4gICpcbiAgKiBTdHlsZSBkZWZpbml0aW9ucyBmb3IgZ2xvYmFsIGVsZW1lbnQgc2VsZWN0b3JzLlxuICAqL1xuXG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyBjb25zaXN0ZW50IGJveC1zaXppbmcgZm9yIGFsbCBlbGVtZW50c1xufVxuXG5odG1sIHtcbiAgaGVpZ2h0OiAxMDAlOyAvLyBmb3Igc3RpY2t5IGZvb3RlclxuICBmb250LXNpemU6IDEwMCU7IC8vIHNldCByb290IGZvbnQtc2l6ZSBmb3IgcmVtIHVuaXRzICgxMDAlIGVxdWF0ZXMgdG8gMTZweClcbiAgbGluZS1oZWlnaHQ6IDEuNzsgLy8gc2V0IGRlZmF1bHQgbGluZSBoZWlnaHRcbn1cblxuYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIGRpc3BsYXk6IGdyaWQ7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgYXV0bzsgLy9hdXRvIGF1dG8gYXV0bzsgLy8gZm9yIHN0aWNreSBmb290ZXJcbiAgbWFyZ2luOiAwOyAvLyBtYWtlIHN1cmUgYm9keSBlbGVtZW50IGlzIGVkZ2UtdG8tZWRnZVxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keUNvbG9yO1xuICBjb2xvcjogJGZvbnRDb2xvcjtcbiAgLy9mb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAvL2ZvbnQtZmFtaWx5OiBpdGMtYW1lcmljYW4tdHlwZXdyaXRlciwgc2VyaWY7XG4gIGZvbnQtZmFtaWx5OiBUZWFjaGVycywgc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIC8vZm9udC1mYW1pbHk6IHF1ZXN0YS1ncmFuZGUsIHNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuaDEge1xuICBtYXJnaW4tdG9wOiAwO1xuICAvL21hcmdpbi1ib3R0b206IDEuNHJlbTtcbiAgLy9mb250LXNpemU6IDIuMnJlbTtcbiAgY29sb3I6ICRvcmFuZ2U7XG5cbiAgLy9tYXJnaW46IDAgMCAzMHB4IDA7XG4gIHBhZGRpbmc6IDAgMCAzMHB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvL2NvbG9yOiAkb2ZmV2hpdGU7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC8vcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIC8vZm9udC1zdHlsZTogaXRhbGljO1xuICAvL3RleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRvcmFuZ2U7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgZm9udC1zaXplOiAyLjhyZW07XG4gIH1cbn1cblxuaDIge1xuXG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEuM3JlbTtcbiAgZm9udC1zaXplOiAxLjhyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIC8vdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLy9mb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU5MDllbTtcbn1cblxuaDMge1xuXG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vbWFyZ2luLWJvdHRvbTogMDtcbiAgLy90ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAvL2ZvbnQtc2l6ZTogMi4ycmVtO1xuICBsaW5lLWhlaWdodDogMS4xNTkwOWVtO1xuICBmb250LXNpemU6IDEuNnJlbTtcbn1cblxuaDQge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuaDUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxucCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIC8vZm9udC1zaXplOiAxLjFyZW07XG4gIC8vZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICRsaW5rQ29sb3I7XG5cbiAgJjpsaW5rIHtcblxuICB9XG5cbiAgJjpob3ZlciB7XG5cbiAgfVxuXG4gICY6YWN0aXZlIHtcblxuICB9XG5cbiAgJjp2aXNpdGVkIHtcblxuICB9XG59XG5cbjpmb2N1cyB7XG4gIC8vb3V0bGluZTogM3B4IHNvbGlkIG9yYW5nZTtcbn1cblxudWwsIG9sIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG59XG5cbmltZyB7XG5cbn1cblxuLyogYmVnaW4gYnV0dG9uIHN0eWxlcyAqL1xuYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgLy9wYWRkaW5nOiAxcmVtIDJyZW07XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICAvL2JhY2tncm91bmQ6ICMwMDY5ZWQ7XG4gIC8vY29sb3I6ICNmZmZmZmY7XG4gIC8vZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8vZm9udC1zaXplOiAxcmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8vdGV4dC1hbGlnbjogY2VudGVyO1xuICAvL3RyYW5zaXRpb246IGJhY2tncm91bmQgMjUwbXMgZWFzZS1pbi1vdXQsXG4gIC8vICAgICAgICAgICAgdHJhbnNmb3JtIDE1MG1zIGVhc2U7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5idXR0b246aG92ZXIsXG5idXR0b246Zm9jdXMge1xuICAgIC8vYmFja2dyb3VuZDogIzAwNTNiYTtcbn1cblxuYnV0dG9uOmZvY3VzIHtcbiAgICAvL291dGxpbmU6IDFweCBzb2xpZCAjZmZmO1xuICAgIC8vb3V0bGluZS1vZmZzZXQ6IC00cHg7XG59XG5cbmJ1dHRvbjphY3RpdmUge1xuICAgIC8vdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTtcbn1cbi8qIGVuZCBidXR0b24gc3R5bGVzICovXG5cbmJsb2NrcXVvdGUge1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICRvcmFuZ2U7XG4gIG1hcmdpbjogNTBweCAxMHB4O1xuICBwYWRkaW5nOiAwLjVlbSAzMHB4O1xuICBxdW90ZXM6IFwiXFwyMDFDXCI7IC8vXCJcXDIwMURcIlwiXFwyMDE4XCJcIlxcMjAxOVwiO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gICAgZm9udC1zaXplOiA0ZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMC40ZW07XG4gIH1cblxuICBwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIHA6Zmlyc3Qtb2YtdHlwZSwgcDpudGgtb2YtdHlwZSgyKSB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gIH1cblxuICBmb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICB9XG59XG4iLCIvKipcbiAgKiBIRUFERVIgU1RZTEVTXG4gICovXG5cbi5oZWFkZXItd3JhcCB7IC8vIEVkZ2UtdG8tZWRnZSB3cmFwIGZvciBldmVyeXRoaW5nIGluIHRoZSBoZWFkZXIuIDFzdCBpdGVtIGluIGJvZHkgZWxlbWVudCBncmlkLlxuLy8gIEBpbmNsdWRlIHdyYXA7XG4gIGhlaWdodDogYXV0bzsgLy8xMDB2aDtcbiAgZ3JpZC1yb3ctc3RhcnQ6IDE7IC8vIChmb3Igc3RpY2t5IGZvb3RlcilcbiAgZ3JpZC1yb3ctZW5kOiAyOyAvLyAyIGZvciBzdGlja3kgZm9vdGVyXG4gIC8vL3Bvc2l0aW9uOiBzdGlja3k7XG4vLyAgdG9wOiAwO1xuICB6LWluZGV4OiAwO1xuLy8gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXMsIGJvcmRlciAyMDBtcywgYm94LXNoYWRvdyAyMDBtcztcblxuICAvLyAgYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlOyAvLyR3aGl0ZTtcbiAgLy9AaW5jbHVkZSBib29rLWdyYWRpZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJi5iZy12aXNpYmxlIHtcbiAgICB6LWluZGV4OiA5OTk5OyAvLyBwb3NpdGlvbiBpbiBmcm9udCBvZiBldmVyeXRoaW5nIGVsc2Vcbi8vICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgIC8vQGluY2x1ZGUgYm9vay1ncmFkaWVudDtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuXG4gICAgJi5iZy12aXNpYmxlIHtcbiAgICAgIHotaW5kZXg6IDA7XG4gIC8vICAgIGJhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICB9XG4gIH1cbn1cbiAgLmhlYWRlci1vdmVybGF5IHsgLy8gVHJhbnNsdWNlbnQsIFwiZGltbWVyXCIgbGF5ZXIgb3ZlciBoZWFkZXIgYmFja2dyb3VuZC1pbWFnZS5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7IC8vYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KGRhcmtlbigkdHJhbnNHcmF5LCA0MCUpLCBkYXJrZW4oJHRyYW5zR3JheSwgMjAlKSk7XG4gICAgb3BhY2l0eTogMC43O1xuXG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC50b3AtYmFyLWJnIHsgLy8gRWRnZS10by1lZGdlIGJhY2tncm91bmQgbGF5ZXIgZm9yIHRoZSB0b3AtbmF2IGJhci5cbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDY7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDIwMG1zO1xuXG4gICAgJi5iZy12aXNpYmxlIHtcbiAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmJvdHRvbS1iYXItYmcgeyAvLyBFZGdlLXRvLWVkZ2UgYmFja2dyb3VuZCBsYXllciBmb3IgdGhlIG1haW4tbmF2IGJhciAoZGVza3RvcCkuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkYm90dG9tQmFySGVpZ2h0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiA2O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJvd247XG5cbiAgICAmLmJnLXZpc2libGUge1xuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7IC8vIHRhYmxldFxuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlciB7IC8vIFdpZHRoLWxpbWl0ZWQgY29udGFpbmVyIGZvciB0aGUgaGVhZGVyLiBUaGlzIGlzIHRoZSA8aGVhZGVyPiBlbGVtZW50IGl0c2VsZi5cbiAgICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgIGhlaWdodDogJGhlYWRlckhlaWdodE1vYmlsZTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgLy8xZnIgMTAwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAkaGVhZGVySGVpZ2h0TW9iaWxlIGF1dG87XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyMDBtcztcblxuICAgICYuYmctdmlzaWJsZSB7XG4gICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIC8vaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wICsgJHRvcEJhckhlaWdodCk7XG4gICAgICAvL2hlaWdodDogMTAwdmg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAvL3BhZGRpbmctdG9wOiAkdG9wQmFySGVpZ2h0O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IC8vMWZyIDEwMHB4O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87Ly8xMjBweCA3MHB4O1xuXG4gICAgfVxuICB9XG4gICAgLmhlYWRlci1icmFuZCB7XG4gICAgICAvL0BpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgLy9wYWRkaW5nLXJpZ2h0OiAwOyAvLyBuZWdhdGUgcmlnaHQgcGFkZGluZyBmcm9tICdjb250YWluZXInIG1peGluIF5eXlxuICAgICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICBncmlkLXJvdzogMSAvIHNwYW4gMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAvL0BpbmNsdWRlIG1hci1ob3Jpem9udGFsO1xuICAgICAgICAvL3BhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIC8vcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHREZXNrdG9wOyAvL2NhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgLSAkdG9wQmFySGVpZ2h0KTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAvL3dpZHRoOiA1MCU7XG4gICAgICAgIC8vYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICRibGFjaztcbiAgICAgICAgLy9sZWZ0OiA2MHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgIC8vbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3AtbGFyZ2VcIikge1xuICAgICAgICAvL2hlaWdodDogJGhlYWRlckhlaWdodERlc2t0b3A7XG4gICAgICAgIC8vZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgIC8vZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgICAgIC8vbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xuICAgICAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IC8vNjBweDtcbiAgICAgICAgLy9ib3JkZXItYm90dG9tOiB1bnNldDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgLy9oZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgLSAkdG9wQmFySGVpZ2h0KTtcbiAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHREZXNrdG9wO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAvL3BhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAvL2JvcmRlci1ib3R0b206IDJweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgIC8vcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcC1sYXJnZVwiKSB7XG4gICAgICAgICAgLy9oZWlnaHQ6ICRoZWFkZXJIZWlnaHREZXNrdG9wO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC5sb2dvIHdhcyBoZXJlXG5cbiAgICAgICAgLmxvZ28tdGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICRjcmVhbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubG9nby10ZXh0LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICAvL2ZvbnQtZmFtaWx5OiBxdWVzdGEtZ3JhbmRlLCBzZXJpZjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wLWxhcmdlXCIpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjhyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICAgLmF1dGhvciB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49bGFwdG9wXCIpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjFyZW07XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcC1sYXJnZVwiKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjhyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIC5sb2dvLXRleHQtdGFnbGluZSB7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCBhdXRvIDAgYXV0bztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjZyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIGNvbG9yOiAkYnJhbmRDb2xvckNvbnRyYXN0O1xuICAgICAgICAgICAgLy9mb250LWZhbWlseTogcXVlc3RhLWdyYW5kZSwgc2VyaWY7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgICAgICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICBAaW5jbHVkZSBtYXItbGVmdDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAxMDAlOy8vY2FsYygkaGVhZGVySGVpZ2h0TW9iaWxlKTtcbiAgICAgIC8vbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIC8vbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG4gICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICAgIC8vaGVpZ2h0OiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogOTAlO1xuICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIC8vd2lkdGg6IDE0NHB4O1xuICAgICAgICAvL3dpZHRoOiBhdXRvO1xuLy8gICAgICAgIGhlaWdodDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCk7XG4gICAgICAgIC8vZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1sYXB0b3BcIikge1xuICAgICAgICByaWdodDogMTAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgICAgIEBpbmNsdWRlIG1hci1sZWZ0O1xuICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICBwYWRkaW5nLXRvcDogMzVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogcXVlc3RhLWdyYW5kZSwgc2VyaWY7XG4gICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIC8vdG9wOiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wICsgMTAwcHgpO1xuICAgICAgLy9sZWZ0OiA2MHB4O1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIC8vdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLmhlYWRlci1uYXYge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAmLmJnLXZpc2libGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJvd247IC8vJGNyZWFtO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggLTVweCAkYmxhY2s7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogYXV0bzsvLyRoZWFkZXJIZWlnaHREZXNrdG9wO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLy90b3A6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgKyAxNTBweCk7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAvL2xlZnQ6IDYwcHg7XG4gICAgICAgIHRvcDogYXV0bztcblxuICAgICAgICAmLmJnLXZpc2libGUge1xuICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICAgLm1haW4tbmF2IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmV2hpdGU7XG5cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIC8vY29udGVudDogXCJDb250ZW50czpcIjtcbiAgICAgICAgICAvL2Rpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAvL0BpbmNsdWRlIG1hci1sZWZ0O1xuICAgICAgICAgIC8vQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyAvLyBuZWdhdGUgbGVmdCBwYWRkaW5nIGZyb20gJ2NvbnRhaW5lcicgbWl4aW4gXl5eXG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgLy9oZWlnaHQ6ICRoZWFkZXJIZWlnaHREZXNrdG9wO1xuICAgICAgICAgIC8vcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIC8vdG9wOiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgIC8vdG9wOiA1MCU7XG4gICAgICAgICAgLy9yaWdodDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIC8vei1pbmRleDogOTk5OTtcblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAvL2NvbnRlbnQ6IFwiQ29udGVudHM6XCI7XG4gICAgICAgICAgICAvL2Rpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAvL2NvbHVtbi1nYXA6IGF1dG87XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRvcmFuZ2U7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87IC8vJGhlYWRlckhlaWdodERlc2t0b3A7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgY29sdW1uLWdhcDogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IHVuc2V0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItdG9wOiB1bnNldDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmhvdmVyID4gdWwge1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyAvLyBuZWdhdGUgJ2NvbnRhaW5lcicgbWl4aW4gXl5eXG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgLy8gbmVnYXRlICdjb250YWluZXInIG1peGluIF5eXlxuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgLy9oZWlnaHQ6ICRoZWFkZXJIZWlnaHREZXNrdG9wO1xuICAgICAgICAgICAgICAvL2JvcmRlci10b3A6IDNweCBzb2xpZCAkZ3JheTtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGRpc3BsYXkgMzAwbXM7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciA+IHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAvL3Zpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgLy9vcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIC8vbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgY29sb3I6ICRjcmVhbTsvLyRicmFuZENvbG9yQ29udHJhc3Q7XG4gICAgICAgICAgICAgIC8vZm9udC1mYW1pbHk6IHF1ZXN0YS1ncmFuZGUsIHNlcmlmO1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLy9jb2xvcjogJGRhcmtCbHVlO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgLy9oZWlnaHQ6ICRoZWFkZXJIZWlnaHREZXNrdG9wO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgICAgIC8vZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtOyAvLzAuOHJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWxhcHRvcFwiKSB7XG4gICAgICAgICAgICAgICAgLy9mb250LXNpemU6IDEuNnJlbTsgLy8wLjhyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hdi1jaGV2cm9uIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwgeyAvLyBzdWItbmF2XG4gICAgICAgICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNjJweDtcbiAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRicm93bjtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRvcmFuZ2U7XG4gICAgICAgICAgICAgIC8vdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgICAvL29wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIC8vdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcywgb3BhY2l0eSAxcyBsaW5lYXI7XG5cblxuICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAkbWVkaXVtR3JheTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogLTEycHg7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xcHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTAwMTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjI1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRvcmFuZ2U7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkb3JhbmdlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudG9wLW5hdiB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHotaW5kZXg6IDY7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BCYXJIZWlnaHQ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB6LWluZGV4OiA2O1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IDMwcHg7XG4gICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDsgLy8gcGFkZGluZyBhZ2FpbnN0IGhlYWRlciBidXR0b25zIChzZWFyY2ggZ2xhc3MpXG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdy1yZXZlcnNlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiB1bnNldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLy90ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2xpZGUtbGluZSB7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb2ZmV2hpdGU7XG4gICAgICB9XG5cbiAgICAuaGVhZGVyLWJ1dHRvbnMge1xuICAgICAgQGluY2x1ZGUgcGFkLXJpZ2h0O1xuICAgICAgLy9wYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgLy8gbmVnYXRlIGxlZnQgcGFkZGluZyBmcm9tICdjb250YWluZXInIG1peGluIF5eXlxuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6ICRoZWFkZXJIZWlnaHRNb2JpbGU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgei1pbmRleDogNjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIGhlaWdodDogJHRvcEJhckhlaWdodDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAgIC5nbGFzcyB7XG4gICAgICAgIC8vaGVpZ2h0OiA5MHB4O1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgLy9yaWdodDogNDVweDtcbiAgICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkb2ZmV2hpdGU7XG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gICAgICAgIGJvcmRlcjogdW5zZXQ7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgY29sb3I6ICRjcmVhbTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLy9jb2xvcjogJGJsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wQmFySGVpZ2h0O1xuICAgICAgICAgIC8vdG9wOiAwO1xuICAgICAgICAgIC8vcmlnaHQ6IDA7XG4gICAgICAgICAgYm9yZGVyOiB1bnNldDtcbiAgICAgICAgICAvL2JvcmRlci1yaWdodDogM3B4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAvL2JvcmRlci1ib3R0b206IDNweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgLy9ib3JkZXItbGVmdDogM3B4IHNvbGlkICRibGFjaztcbiAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAvL2JveC1zaGFkb3c6IDVweCAtMnB4IDIwcHggMHB4ICRibGFjaztcbiAgICAgICAgICAvL2JveC1zaGFkb3c6IDdweCAtN3B4IDNweCAzcHggIzQ0NDsvLywgNXB4IC0ycHggMjBweCAwcHggIzU1NTtcbiAgICAgICAgICAvL2JveC1zaGFkb3c6IDVweCAwIDE1cHggLTdweCAkYmxhY2s7XG4gICAgICAgICAgcGFkZGluZzogOHB4IDE1cHg7XG5cbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY3JlYW07XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogI2FhYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJ1cmdlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBpIHtcbiAgICAgICAgICBjb2xvcjogJGNyZWFtO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAvL2NvbG9yOiAkYmx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49MzQwcHhcIikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgLnNpdGUtc2VhcmNoLXdyYXAgeyAvLyBoZWFkZXItc3BlY2lmaWMgc2VhcmNoIHdyYXBcbiAgICAgIEBpbmNsdWRlIHdyYXA7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gICAgICB6LWluZGV4OiA2O1xuICAgICAgLy9ib3gtc2hhZG93OiAwcHggMnB4IDEwcHggNXB4ICM0NDQ7XG4gICAgICAvL2JveC1zaGFkb3c6IDBweCAycHggMTBweCAtMnB4ICRibGFjaztcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIHRvcDogJHRvcEJhckhlaWdodDtcbiAgICAgIH1cblxuICAgICAgLnNpdGUtc2VhcmNoIHsgLy8gaGVhZGVyIHNwZWNpZmljIC0tIHNlZSBzZWFyY2guc2NzcyBmb3IgZ2xvYmFsIHNlYXJjaCBzdHlsZXNcbiAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICB9XG4gICAgfVxuIiwiLyoqXG4gICogU0lURSBTRUFSQ0ggRk9STSBTVFlMRVNcbiAgKi9cblxuLnNpdGUtc2VhcmNoIHtcbiAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAzNXB4IDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDUwcHg7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbn1cblxuICAuc2VhcmNoLXF1ZXJ5IHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICBncmlkLXJvdzogMTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuXG4gICAgbGFiZWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkYmxhY2s7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gIH1cblxuICAuc2VhcmNoLXN1Ym1pdCB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGdyaWQtY29sdW1uOiAyIC8gc3BhbiAxO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNyZWFtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMjAwbXM7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRibGFjaztcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkYmxhY2s7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRibGFjaztcbiAgICBsaW5lLWhlaWdodDogNTBweDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bUdyYXk7XG4gICAgfVxuICB9XG4iLCIvKipcbiAgKiBDT05URU5UIFNUWUxFU1xuICAqL1xuXG5cbi5tYWluLXdyYXAge1xuICBAaW5jbHVkZSB3cmFwO1xuICAvL0BpbmNsdWRlIHBhZC1ob3Jpem9udGFsO1xuICBncmlkLXJvdy1zdGFydDogMjsgLy8gZm9yIHN0aWNreSBmb290ZXJcbiAgZ3JpZC1yb3ctZW5kOiAzOyAvLyBmb3Igc3RpY2t5IGZvb3RlclxuICAvL21hcmdpbi10b3A6IGNhbGMoLTEgKiAoJGhlYWRlckhlaWdodE1vYmlsZSArICR0b3BCYXJIZWlnaHQpKTsgLy8gc2hpZnRzIHBhZ2UgaGVhZGVyIGltYWdlIHVwIGJlaGluZCB0aGUgaGVhZGVyL25hdlxuICAvL2JhY2tncm91bmQtY29sb3I6ICRicmFuZENvbG9yUHJpbWFyeTtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAvL0BpbmNsdWRlIHdyYXA7XG4gICAgLy9AaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAvL0BpbmNsdWRlIGJvb2stZ3JhZGllbnQ7XG4gICAgLy9tYXJnaW4tdG9wOiBjYWxjKC0xICogKCRoZWFkZXJIZWlnaHREZXNrdG9wICsgJHRvcEJhckhlaWdodCkpOyAvLyBzaGlmdHMgcGFnZSBoZWFkZXIgaW1hZ2UgdXAgYmVoaW5kIHRoZSBoZWFkZXIvbmF2XG4gIH1cbn1cbiAgLm1haW4ge1xuICAgIGhlaWdodDogMTAwJTsgLy8gZm9yIHN0aWNreSBmb290ZXI6IGZpbGwgYW55IGVtcHR5IHNwYWNlIGRvd24gdG8gZm9vdGVyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZXh0ZW5kcyBoZWlnaHQgdG8gYWNjb21vZGF0ZSBjb250ZW50J3MgbWFyZ2luXG4gICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAvL3BhZGRpbmctcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAvL2JveC1zaGFkb3c6IDBweCA1cHggMTJweCAtN3B4ICRibGFjaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNTtcbiAgICAvL3RyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC8vYm94LXNoYWRvdzogNXB4IDAgMTVweCAtN3B4ICRibGFjaztcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgLy9AaW5jbHVkZSBwYWQtbGVmdDtcbiAgICAgIC8vcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICAgIC8vdHJhbnNmb3JtOiByb3RhdGUoLTAuNWRlZyk7XG4gICAgICAvL2JveC1zaGFkb3c6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAgIC8qLnBhZ2UtaGVhZGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgODAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kQ29sb3JQcmltYXJ5O1xuICAgICAgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzY3JlZW47XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAvL21pbi1oZWlnaHQ6IDI1MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICAgIC5wYWdlLWhlYWRlci1vdmVybGF5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChkYXJrZW4oJHRyYW5zR3JheSwgNDAlKSwgZGFya2VuKCR0cmFuc0dyYXksIDIwJSkpO1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIC8vYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBtdWx0aXBseTtcbiAgICAgIH0qL1xuXG4gICAgICAvKi5wYWdlLWhlYWRlci1ib3gtd3JhcCB7XG4gICAgICAgIC8vQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAvL3BhZGRpbmctdG9wOiBjYWxjKCRoZWFkZXJIZWlnaHRNb2JpbGUgKyAkc3BhY2VyUGFkZGluZ1RhYmxldCk7XG4gICAgICAgIC8vcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgIC8vQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgLy9wYWRkaW5nLXRvcDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCArICRzcGFjZXJQYWRkaW5nRGVza3RvcCk7Ly9cbiAgICAgICAgICAvL2hlaWdodDogYXV0bztcblxuICAgICAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfSovXG4gICAgICAgIC8qLnBhZ2UtaGVhZGVyLWJveCB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkLXRvcDtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICAvL0BpbmNsdWRlIHBhZC1ib3R0b207XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIC8vcGFkZGluZzogNDBweCAzMHB4O1xuICAgICAgICAgIC8vcGFkZGluZy10b3A6IGNhbGMoJGhlYWRlckhlaWdodE1vYmlsZSArICRzcGFjZXJQYWRkaW5nVGFibGV0KTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgLy93aWR0aDogNjclO1xuICAgICAgICAgICAgLy93aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC8vcGFkZGluZy10b3A6IGNhbGMoJGhlYWRlckhlaWdodERlc2t0b3AgKyAkc3BhY2VyUGFkZGluZ0Rlc2t0b3ApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC8vY29sb3I6ICRvZmZXaGl0ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIC8vcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJGJsYWNrO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAzLjJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBjb2xvcjogJG9mZldoaXRlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9Ki9cblxuICAgIC5wYWdlLWNvbnRlbnQtd3JhcCB7XG5cbiAgICB9XG4gICAgICAucGFnZS1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBhZ2UtY29udGVudC5zaWRlIHsgLy8gLnBhZ2UtY29udGVudCBzdHlsZXMgZm9yIHNpZGViYXIgbGF5b3V0XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzIwcHg7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAucGFnZS1tYWluIHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQtdmVydGljYWw7XG4gICAgICAgICAgLy9AaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAvL3BhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDE7XG4gICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgLy9ib3gtc2hhZG93OiA1cHggMCAxNXB4IC03cHggJGJsYWNrO1xuICAgICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAvL2JveC1zaGFkb3c6IDVweCAwIDIwcHggLTdweCAkYmxhY2s7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGgxIHtcblxuICAgICAgICAgIH1cblxuICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoNiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIC5wYWdlLW1haW5cbiAgICAgICAgICAucGFnZS1zZWN0aW9uLXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgd3JhcDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wYWdlLXNlY3Rpb24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBpbm5lci13cmFwO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkLXRvcDtcbiAgICAgICAgICAgICAgLy9AaW5jbHVkZSBwYWQtYm90dG9tO1xuICAgICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjcmVhbSAwJSwgJHdoaXRlIDUwJSwgJGNyZWFtIDEwMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIC5zaWRlIC5wYWdlLW1haW4geyAvLyAucGFnZS1tYWluIHN0eWxlcyBmb3Igc2lkZWJhciBsYXlvdXRcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1zaWRlYmFyIHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQtYm90dG9tO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAxO1xuICAgICAgICAgIGdyaWQtcm93OiAxO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4uYWxpZ25yaWdodCB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbm9uZTtcbiAgcGFkZGluZzogMjBweDtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49cGhvbmUtbGFyZ2VcIikge1xuXG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG5cbi5hbGlnbmxlZnQge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IG5vbmU7XG4gIHBhZGRpbmc6IDIwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcblxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICB9XG59XG5cbi5zaW5nbGUge1xuICBwIHtcblxuICAgICY6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogdW5zZXQ7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgICAgZm9udC1mYW1pbHk6IGl0Yy1hbWVyaWNhbi10eXBld3JpdGVyLCBzZXJpZjtcbiAgICB9XG4gIH1cbn1cblxuZmlndXJlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgcGFkZGluZzogMjBweDtcblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXBob25lLWxhcmdlXCIpIHtcblxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG5cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBmaWdjYXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDAuOXJlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1waG9uZS1sYXJnZVwiKSB7XG5cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcblxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gICogRk9PVEVSIFNUWUxFU1xuICAqL1xuXG5cbi5mb290ZXItd3JhcCB7XG4gIGdyaWQtcm93LXN0YXJ0OiAzOyAvLyBmb3Igc3RpY2t5IGZvb3RlclxuICBncmlkLXJvdy1lbmQ6IDQ7IC8vIGZvciBzdGlja3kgZm9vdGVyXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XG4gIC8vQGluY2x1ZGUgYm9vay1ncmFkaWVudDtcblxuICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAvL0BpbmNsdWRlIGJvb2stZ3JhZGllbnQ7XG4gIH1cbn1cbiAgLmZvb3RlciB7XG4gICAgQGluY2x1ZGUgaW5uZXItd3JhcDtcbiAgICAvL0BpbmNsdWRlIHBhZC10b3A7XG4gICAgQGluY2x1ZGUgcGFkLXZlcnRpY2FsO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7Ly9jZW50ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gZXh0ZW5kcyBoZWlnaHQgdG8gYWNjb21vZGF0ZSBjb250ZW50J3MgbWFyZ2luXG4gICAgY29sb3I6ICRjcmVhbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgICAuZm9vdGVyLW5hdiB7XG4gICAgICAvL0BpbmNsdWRlIG1hci1ob3Jpem9udGFsO1xuICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkLWhvcml6b250YWw7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAvL21hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgICAgICAgY29sb3I6ICRtZWRpdW1EYXJrR3JheTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuXG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkY3JlYW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAvL2ZvbnQtZmFtaWx5OiBxdWVzdGEtZ3JhbmRlLCBzZXJpZjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PXRhYmxldFwiKSB7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBsZWZ0Oy8vY2VudGVyO1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgLy9wYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsvL2NlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgIC8vQGluY2x1ZGUgbWFyLWhvcml6b250YWw7XG4gICAgICBAaW5jbHVkZSBwYWQtaG9yaXpvbnRhbDtcbiAgICAgIC8vbWFyZ2luOiAwO1xuICAgICAgLy9wYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgLy9sZWZ0OiAxNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIj49dGFibGV0XCIpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsvL2NlbnRlcjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIC8vcGFkZGluZzogMCA1cHg7XG4gICAgICB9XG4gICAgfVxuIl19 */
