@charset "UTF-8";
/*!
Theme Name: High Plains Journal
Author: Hub & Spoke
Author URI: hubandspokecreative.com
Version: 1
Description: Custom theme for High Plains Journal
Text Domain: highplainsjourna
Theme URI:
*/
/*! 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 */
  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;
}

html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
}

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

* {
  max-height: 1000000px;
}

main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul,
ol,
dl,
p,
h1,
h2,
h3,
h4,
h5,
h6,
address,
form,
table,
blockquote,
applet,
embed,
object,
iframe,
frameset {
  margin: 0 0 20px;
}

blockquote {
  border-left: 4px solid #ddd;
  padding-left: 10px;
  margin-left: 0;
}

table {
  border-collapse: collapse;
}

th,
td {
  border: 1px solid #ddd;
  padding: 3px;
  text-align: left;
  vertical-align: top;
}

th {
  text-align: center;
  vertical-align: middle;
}

ul,
ol {
  padding-left: 20px;
}

ul ul,
ul ol,
ol ul,
ol ol {
  padding-left: 20px;
  margin: 0;
}

ul {
  list-style-type: disc;
}

dl dt {
  float: left;
  clear: left;
  padding-right: 0.3em;
  font-weight: bold;
}
dl dd {
  overflow: hidden;
}

pre {
  max-width: 100%;
  overflow: auto;
}

body {
  color: #1f1f1f;
  background: #fff;
  font: 16px/1.75 "Roboto", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  min-width: 360px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  display: inline-block;
}

.gm-style img {
  max-width: none;
}

iframe {
  max-width: 100%;
}

.resize-active * {
  transition: none !important;
}

.footer-sub-menu, [id=footer] .menu, .list-last-post, [id=nav] ul, .menu-siblings-sites ul,
.menu-service ul, .tagcloud {
  margin: 0;
  padding: 0;
}
.footer-sub-menu li, [id=footer] .menu li, .list-last-post li, [id=nav] ul li, .menu-siblings-sites ul li,
.menu-service ul li, .tagcloud li {
  list-style: none;
}

.search-form p:after,
.post-password-form p:after, .search-form:after,
.post-password-form:after, .widget:after, .clearfix:after, dl:after {
  content: "";
  display: block;
  clear: both;
}

.ellipsis {
  white-space: nowrap;
  /* 1 */
  text-overflow: ellipsis;
  /* 2 */
  overflow: hidden;
}

.df-row {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 320px) {
  .df-row.df-rr-xs {
    flex-direction: row-reverse;
  }
}
@media (min-width: 320px) {
  .df-row.df-aic-xs {
    align-items: center;
  }
}
@media (min-width: 576px) {
  .df-row.df-rr-ph {
    flex-direction: row-reverse;
  }
}
@media (min-width: 576px) {
  .df-row.df-aic-ph {
    align-items: center;
  }
}
@media (min-width: 768px) {
  .df-row.df-rr-md {
    flex-direction: row-reverse;
  }
}
@media (min-width: 768px) {
  .df-row.df-aic-md {
    align-items: center;
  }
}
@media (min-width: 1024px) {
  .df-row.df-rr-lg {
    flex-direction: row-reverse;
  }
}
@media (min-width: 1024px) {
  .df-row.df-aic-lg {
    align-items: center;
  }
}
@media (min-width: 1440px) {
  .df-row.df-rr-xl {
    flex-direction: row-reverse;
  }
}
@media (min-width: 1440px) {
  .df-row.df-aic-xl {
    align-items: center;
  }
}
@media (min-width: 320px) {
  .df-row .col-xs-1 {
    flex: 1 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
}
@media (min-width: 320px) {
  .df-row .col-xs-2 {
    flex: 1 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
}
@media (min-width: 320px) {
  .df-row .col-xs-3 {
    flex: 1 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
}
@media (min-width: 320px) {
  .df-row .col-xs-4 {
    flex: 1 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
}
@media (min-width: 320px) {
  .df-row .col-xs-5 {
    flex: 1 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
}
@media (min-width: 320px) {
  .df-row .col-xs-6 {
    flex: 1 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
}
@media (min-width: 320px) {
  .df-row .col-xs-7 {
    flex: 1 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
}
@media (min-width: 320px) {
  .df-row .col-xs-8 {
    flex: 1 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
}
@media (min-width: 320px) {
  .df-row .col-xs-9 {
    flex: 1 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
}
@media (min-width: 320px) {
  .df-row .col-xs-10 {
    flex: 1 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
}
@media (min-width: 320px) {
  .df-row .col-xs-11 {
    flex: 1 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
}
@media (min-width: 320px) {
  .df-row .col-xs-12 {
    flex: 1 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 320px) {
  .df-row .col-offset-xs-0 {
    margin-left: calc(100% / 12 * 0);
  }
}
@media (min-width: 320px) {
  .df-row .col-offset-xs-1 {
    margin-left: calc(100% / 12 * 1);
  }
}
@media (min-width: 320px) {
  .df-row .col-offset-xs-2 {
    margin-left: calc(100% / 12 * 2);
  }
}
@media (min-width: 320px) {
  .df-row .col-offset-xs-3 {
    margin-left: calc(100% / 12 * 3);
  }
}
@media (min-width: 320px) {
  .df-row .col-offset-xs-4 {
    margin-left: calc(100% / 12 * 4);
  }
}
@media (min-width: 320px) {
  .df-row .col-offset-xs-5 {
    margin-left: calc(100% / 12 * 5);
  }
}
@media (min-width: 320px) {
  .df-row .col-offset-xs-6 {
    margin-left: calc(100% / 12 * 6);
  }
}
@media (min-width: 320px) {
  .df-row .col-offset-xs-7 {
    margin-left: calc(100% / 12 * 7);
  }
}
@media (min-width: 320px) {
  .df-row .col-offset-xs-8 {
    margin-left: calc(100% / 12 * 8);
  }
}
@media (min-width: 320px) {
  .df-row .col-offset-xs-9 {
    margin-left: calc(100% / 12 * 9);
  }
}
@media (min-width: 320px) {
  .df-row .col-offset-xs-10 {
    margin-left: calc(100% / 12 * 10);
  }
}
@media (min-width: 320px) {
  .df-row .col-offset-xs-11 {
    margin-left: calc(100% / 12 * 11);
  }
}
@media (min-width: 576px) {
  .df-row .col-ph-1 {
    flex: 1 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
}
@media (min-width: 576px) {
  .df-row .col-ph-2 {
    flex: 1 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
}
@media (min-width: 576px) {
  .df-row .col-ph-3 {
    flex: 1 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
}
@media (min-width: 576px) {
  .df-row .col-ph-4 {
    flex: 1 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
}
@media (min-width: 576px) {
  .df-row .col-ph-5 {
    flex: 1 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
}
@media (min-width: 576px) {
  .df-row .col-ph-6 {
    flex: 1 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
}
@media (min-width: 576px) {
  .df-row .col-ph-7 {
    flex: 1 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
}
@media (min-width: 576px) {
  .df-row .col-ph-8 {
    flex: 1 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
}
@media (min-width: 576px) {
  .df-row .col-ph-9 {
    flex: 1 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
}
@media (min-width: 576px) {
  .df-row .col-ph-10 {
    flex: 1 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
}
@media (min-width: 576px) {
  .df-row .col-ph-11 {
    flex: 1 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
}
@media (min-width: 576px) {
  .df-row .col-ph-12 {
    flex: 1 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 576px) {
  .df-row .col-offset-ph-0 {
    margin-left: calc(100% / 12 * 0);
  }
}
@media (min-width: 576px) {
  .df-row .col-offset-ph-1 {
    margin-left: calc(100% / 12 * 1);
  }
}
@media (min-width: 576px) {
  .df-row .col-offset-ph-2 {
    margin-left: calc(100% / 12 * 2);
  }
}
@media (min-width: 576px) {
  .df-row .col-offset-ph-3 {
    margin-left: calc(100% / 12 * 3);
  }
}
@media (min-width: 576px) {
  .df-row .col-offset-ph-4 {
    margin-left: calc(100% / 12 * 4);
  }
}
@media (min-width: 576px) {
  .df-row .col-offset-ph-5 {
    margin-left: calc(100% / 12 * 5);
  }
}
@media (min-width: 576px) {
  .df-row .col-offset-ph-6 {
    margin-left: calc(100% / 12 * 6);
  }
}
@media (min-width: 576px) {
  .df-row .col-offset-ph-7 {
    margin-left: calc(100% / 12 * 7);
  }
}
@media (min-width: 576px) {
  .df-row .col-offset-ph-8 {
    margin-left: calc(100% / 12 * 8);
  }
}
@media (min-width: 576px) {
  .df-row .col-offset-ph-9 {
    margin-left: calc(100% / 12 * 9);
  }
}
@media (min-width: 576px) {
  .df-row .col-offset-ph-10 {
    margin-left: calc(100% / 12 * 10);
  }
}
@media (min-width: 576px) {
  .df-row .col-offset-ph-11 {
    margin-left: calc(100% / 12 * 11);
  }
}
@media (min-width: 768px) {
  .df-row .col-md-1 {
    flex: 1 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
}
@media (min-width: 768px) {
  .df-row .col-md-2 {
    flex: 1 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
}
@media (min-width: 768px) {
  .df-row .col-md-3 {
    flex: 1 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
}
@media (min-width: 768px) {
  .df-row .col-md-4 {
    flex: 1 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
}
@media (min-width: 768px) {
  .df-row .col-md-5 {
    flex: 1 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
}
@media (min-width: 768px) {
  .df-row .col-md-6 {
    flex: 1 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
}
@media (min-width: 768px) {
  .df-row .col-md-7 {
    flex: 1 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
}
@media (min-width: 768px) {
  .df-row .col-md-8 {
    flex: 1 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
}
@media (min-width: 768px) {
  .df-row .col-md-9 {
    flex: 1 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
}
@media (min-width: 768px) {
  .df-row .col-md-10 {
    flex: 1 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
}
@media (min-width: 768px) {
  .df-row .col-md-11 {
    flex: 1 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
}
@media (min-width: 768px) {
  .df-row .col-md-12 {
    flex: 1 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-md-0 {
    margin-left: calc(100% / 12 * 0);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-md-1 {
    margin-left: calc(100% / 12 * 1);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-md-2 {
    margin-left: calc(100% / 12 * 2);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-md-3 {
    margin-left: calc(100% / 12 * 3);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-md-4 {
    margin-left: calc(100% / 12 * 4);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-md-5 {
    margin-left: calc(100% / 12 * 5);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-md-6 {
    margin-left: calc(100% / 12 * 6);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-md-7 {
    margin-left: calc(100% / 12 * 7);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-md-8 {
    margin-left: calc(100% / 12 * 8);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-md-9 {
    margin-left: calc(100% / 12 * 9);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-md-10 {
    margin-left: calc(100% / 12 * 10);
  }
}
@media (min-width: 768px) {
  .df-row .col-offset-md-11 {
    margin-left: calc(100% / 12 * 11);
  }
}
@media (min-width: 1024px) {
  .df-row .col-lg-1 {
    flex: 1 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
}
@media (min-width: 1024px) {
  .df-row .col-lg-2 {
    flex: 1 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
}
@media (min-width: 1024px) {
  .df-row .col-lg-3 {
    flex: 1 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
}
@media (min-width: 1024px) {
  .df-row .col-lg-4 {
    flex: 1 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
}
@media (min-width: 1024px) {
  .df-row .col-lg-5 {
    flex: 1 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
}
@media (min-width: 1024px) {
  .df-row .col-lg-6 {
    flex: 1 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
}
@media (min-width: 1024px) {
  .df-row .col-lg-7 {
    flex: 1 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
}
@media (min-width: 1024px) {
  .df-row .col-lg-8 {
    flex: 1 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
}
@media (min-width: 1024px) {
  .df-row .col-lg-9 {
    flex: 1 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
}
@media (min-width: 1024px) {
  .df-row .col-lg-10 {
    flex: 1 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
}
@media (min-width: 1024px) {
  .df-row .col-lg-11 {
    flex: 1 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
}
@media (min-width: 1024px) {
  .df-row .col-lg-12 {
    flex: 1 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-lg-0 {
    margin-left: calc(100% / 12 * 0);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-lg-1 {
    margin-left: calc(100% / 12 * 1);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-lg-2 {
    margin-left: calc(100% / 12 * 2);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-lg-3 {
    margin-left: calc(100% / 12 * 3);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-lg-4 {
    margin-left: calc(100% / 12 * 4);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-lg-5 {
    margin-left: calc(100% / 12 * 5);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-lg-6 {
    margin-left: calc(100% / 12 * 6);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-lg-7 {
    margin-left: calc(100% / 12 * 7);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-lg-8 {
    margin-left: calc(100% / 12 * 8);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-lg-9 {
    margin-left: calc(100% / 12 * 9);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-lg-10 {
    margin-left: calc(100% / 12 * 10);
  }
}
@media (min-width: 1024px) {
  .df-row .col-offset-lg-11 {
    margin-left: calc(100% / 12 * 11);
  }
}
@media (min-width: 1440px) {
  .df-row .col-xl-1 {
    flex: 1 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
}
@media (min-width: 1440px) {
  .df-row .col-xl-2 {
    flex: 1 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
}
@media (min-width: 1440px) {
  .df-row .col-xl-3 {
    flex: 1 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
}
@media (min-width: 1440px) {
  .df-row .col-xl-4 {
    flex: 1 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
}
@media (min-width: 1440px) {
  .df-row .col-xl-5 {
    flex: 1 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
}
@media (min-width: 1440px) {
  .df-row .col-xl-6 {
    flex: 1 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
}
@media (min-width: 1440px) {
  .df-row .col-xl-7 {
    flex: 1 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
}
@media (min-width: 1440px) {
  .df-row .col-xl-8 {
    flex: 1 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
}
@media (min-width: 1440px) {
  .df-row .col-xl-9 {
    flex: 1 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
}
@media (min-width: 1440px) {
  .df-row .col-xl-10 {
    flex: 1 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
}
@media (min-width: 1440px) {
  .df-row .col-xl-11 {
    flex: 1 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
}
@media (min-width: 1440px) {
  .df-row .col-xl-12 {
    flex: 1 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 1440px) {
  .df-row .col-offset-xl-0 {
    margin-left: calc(100% / 12 * 0);
  }
}
@media (min-width: 1440px) {
  .df-row .col-offset-xl-1 {
    margin-left: calc(100% / 12 * 1);
  }
}
@media (min-width: 1440px) {
  .df-row .col-offset-xl-2 {
    margin-left: calc(100% / 12 * 2);
  }
}
@media (min-width: 1440px) {
  .df-row .col-offset-xl-3 {
    margin-left: calc(100% / 12 * 3);
  }
}
@media (min-width: 1440px) {
  .df-row .col-offset-xl-4 {
    margin-left: calc(100% / 12 * 4);
  }
}
@media (min-width: 1440px) {
  .df-row .col-offset-xl-5 {
    margin-left: calc(100% / 12 * 5);
  }
}
@media (min-width: 1440px) {
  .df-row .col-offset-xl-6 {
    margin-left: calc(100% / 12 * 6);
  }
}
@media (min-width: 1440px) {
  .df-row .col-offset-xl-7 {
    margin-left: calc(100% / 12 * 7);
  }
}
@media (min-width: 1440px) {
  .df-row .col-offset-xl-8 {
    margin-left: calc(100% / 12 * 8);
  }
}
@media (min-width: 1440px) {
  .df-row .col-offset-xl-9 {
    margin-left: calc(100% / 12 * 9);
  }
}
@media (min-width: 1440px) {
  .df-row .col-offset-xl-10 {
    margin-left: calc(100% / 12 * 10);
  }
}
@media (min-width: 1440px) {
  .df-row .col-offset-xl-11 {
    margin-left: calc(100% / 12 * 11);
  }
}

h1,
.h1 {
  font-size: 32px;
}

h2,
.h2 {
  font-size: 24px;
}

h3,
.h3 {
  font-size: 22px;
}

h4,
.h4 {
  font-size: 20px;
}

h5,
.h5 {
  font-size: 18px;
}

h6,
.h6 {
  font-size: 16px;
}

@media (min-width: 1024px) {
  h1,
  .h1 {
    font-size: 38px;
  }
  h2,
  .h2 {
    font-size: 30px;
  }
  h3,
  .h3 {
    font-size: 24px;
  }
}
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.h {
  font-family: "Roboto Slab", "Times New Roman", "Times", "Baskerville", "Georgia", serif;
  color: #4e0e1c;
  font-weight: 500;
  line-height: 1.45;
}

p {
  margin: 0 0 20px;
}

a {
  transition: color 0.3s ease-in-out;
  color: #401a1e;
  text-decoration: none;
}
a:hover, a:focus {
  color: #404040;
  text-decoration: none;
}

a[href*="mailto:"] {
  word-wrap: break-word;
}

form,
fieldset {
  margin: 0;
  padding: 0;
  border-style: none;
}

input[type=text],
input[type=tel],
input[type=email],
input[type=search],
input[type=password],
input[type=url],
textarea {
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  padding: 10px 20px;
  font-size: 16px;
  line-height: 18px;
  font-family: "Roboto", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  box-sizing: border-box;
  border: 1px solid #000;
  border-radius: 0;
}
input[type=text]:not(textarea),
input[type=tel]:not(textarea),
input[type=email]:not(textarea),
input[type=search]:not(textarea),
input[type=password]:not(textarea),
input[type=url]:not(textarea),
textarea:not(textarea) {
  height: 40px;
}
input[type=text]:focus,
input[type=tel]:focus,
input[type=email]:focus,
input[type=search]:focus,
input[type=password]:focus,
input[type=url]:focus,
textarea:focus {
  outline: none;
  border-color: #4e0e1c;
}
input[type=text]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=search]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
input[type=url]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #ddd;
}
input[type=text]::-moz-placeholder,
input[type=tel]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=search]::-moz-placeholder,
input[type=password]::-moz-placeholder,
input[type=url]::-moz-placeholder,
textarea::-moz-placeholder {
  opacity: 1;
  color: #ddd;
}
input[type=text]:-moz-placeholder,
input[type=tel]:-moz-placeholder,
input[type=email]:-moz-placeholder,
input[type=search]:-moz-placeholder,
input[type=password]:-moz-placeholder,
input[type=url]:-moz-placeholder,
textarea:-moz-placeholder {
  color: #ddd;
}
input[type=text]:-ms-input-placeholder,
input[type=tel]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=search]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
input[type=url]:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #ddd;
}
input[type=text].placeholder,
input[type=tel].placeholder,
input[type=email].placeholder,
input[type=search].placeholder,
input[type=password].placeholder,
input[type=url].placeholder,
textarea.placeholder {
  color: #ddd;
}

input[type=search]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

textarea {
  resize: vertical;
  vertical-align: top;
  overflow: auto;
}

button,
input[type=button],
input[type=reset],
input[type=file],
input[type=submit] {
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  -webkit-appearance: none;
  -webkit-border-radius: 0;
  height: 40px;
  padding: 10px 20px 9px;
  font-size: 18px;
  line-height: 26px;
  color: #4e0e1c;
  outline: none;
  cursor: pointer;
  border: 2px solid #4e0e1c;
  border-radius: 10px;
  background: rgba(78, 14, 28, 0.2);
  font-weight: 700;
  padding: 0 20px;
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=file]:hover,
input[type=submit]:hover {
  background: #4e0e1c;
  color: #fff;
}

ul,
ol,
dl,
p,
h1,
h2,
h3,
h4,
h5,
h6,
address,
form,
table,
blockquote,
applet,
embed,
object,
iframe,
frameset {
  margin: 0 0 20px;
}

blockquote {
  border-left: 4px solid #ddd;
  padding-left: 10px;
  margin-left: 0;
}

table {
  border-collapse: collapse;
}

th,
td {
  border: 1px solid #ddd;
  padding: 3px;
  text-align: left;
  vertical-align: top;
}

th {
  text-align: center;
  vertical-align: middle;
}

ul,
ol {
  padding-left: 20px;
}

ul ul,
ul ol,
ol ul,
ol ol {
  padding-left: 20px;
  margin: 0;
}

ul {
  list-style-type: disc;
}

dl dt {
  float: left;
  clear: left;
  padding-right: 0.3em;
  font-weight: bold;
}
dl dd {
  overflow: hidden;
}

pre {
  max-width: 100%;
  overflow: auto;
}

.navigation-single, .nav-links,
.navigation,
.navigation-comments {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 20px;
}

.navigation-single .next a,
.navigation-single .prev a, .nav-links .next,
.nav-links .prev,
.navigation .next,
.navigation .prev,
.navigation-comments .next,
.navigation-comments .prev {
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
  z-index: 1;
  position: relative;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  text-align: center;
  color: #4e0e1c;
  border-radius: 10px;
  background: rgba(78, 14, 28, 0.2);
  border: 2px solid #4e0e1c;
  padding: 6px 20px 9px;
}
@media (min-width: 768px) {
  .navigation-single .next a,
  .navigation-single .prev a, .nav-links .next,
  .nav-links .prev,
  .navigation .next,
  .navigation .prev,
  .navigation-comments .next,
  .navigation-comments .prev {
    padding: 10px 20px 9px;
    font: 400 18px/26px "Roboto", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  }
}
.navigation-single .next a:hover,
.navigation-single .prev a:hover, .nav-links .next:hover,
.nav-links .prev:hover,
.navigation .next:hover,
.navigation .prev:hover,
.navigation-comments .next:hover,
.navigation-comments .prev:hover, .navigation-single .next a:focus,
.navigation-single .prev a:focus, .nav-links .next:focus,
.nav-links .prev:focus,
.navigation .next:focus,
.navigation .prev:focus,
.navigation-comments .next:focus,
.navigation-comments .prev:focus {
  color: #fff;
  background: #4e0e1c;
}

@media (min-width: 768px) {
  [id=twocolumns] {
    display: flex;
  }
}

[id=content] {
  padding-top: 30px;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  [id=content] {
    width: 70%;
  }
}
[id=content]:only-child {
  width: 100%;
}

[id=sidebar] {
  padding-top: 30px;
  padding-bottom: 30px;
}
@media (min-width: 768px) {
  [id=sidebar] {
    width: 30%;
    padding-left: 30px;
  }
}

.widget {
  margin-bottom: 20px;
}
.widget select {
  min-width: 150px;
  width: 100%;
}

.search-form,
.post-password-form {
  margin-bottom: 10px;
}
.search-form label,
.post-password-form label {
  display: block;
}
@media (min-width: 768px) {
  .search-form input,
  .post-password-form input {
    margin-right: 5px;
    float: left;
  }
}
@media (min-width: 768px) {
  [id=sidebar] .search-form input,
  [id=sidebar] .post-password-form input {
    width: 100%;
    margin: 0 0 5px;
  }
}
.search-form input[type=submit],
.post-password-form input[type=submit] {
  margin-top: 5px;
}
@media (min-width: 768px) {
  .search-form input[type=submit],
  .post-password-form input[type=submit] {
    margin: 0;
  }
}
.search-form input[type=search], .search-form input[type=password], .search-form input[type=text],
.post-password-form input[type=search],
.post-password-form input[type=password],
.post-password-form input[type=text] {
  display: block;
}

.nav-links,
.navigation,
.navigation-comments {
  width: 100%;
  position: relative;
}
.nav-links .screen-reader-text,
.navigation .screen-reader-text,
.navigation-comments .screen-reader-text {
  position: absolute;
  left: -99999px;
}
.nav-links .page-numbers,
.navigation .page-numbers,
.navigation-comments .page-numbers {
  margin: 0 3px;
}
.nav-links .page-numbers:first-child,
.navigation .page-numbers:first-child,
.navigation-comments .page-numbers:first-child {
  margin-left: 0;
}
.nav-links .page-numbers:last-child,
.navigation .page-numbers:last-child,
.navigation-comments .page-numbers:last-child {
  margin-right: 0;
}
.nav-links .next,
.nav-links .prev,
.navigation .next,
.navigation .prev,
.navigation-comments .next,
.navigation-comments .prev {
  transition: background 0.3s ease-in-out;
  max-width: 49%;
}
@media (max-width: 767px) {
  .nav-links .next,
  .nav-links .prev,
  .navigation .next,
  .navigation .prev,
  .navigation-comments .next,
  .navigation-comments .prev {
    font-size: 0;
  }
  .nav-links .next:after,
  .nav-links .prev:after,
  .navigation .next:after,
  .navigation .prev:after,
  .navigation-comments .next:after,
  .navigation-comments .prev:after {
    content: "»";
    font-size: 18px;
  }
}
.nav-links .next.page-numbers,
.navigation .next.page-numbers,
.navigation-comments .next.page-numbers {
  margin-left: auto;
}
.nav-links .prev.page-numbers,
.navigation .prev.page-numbers,
.navigation-comments .prev.page-numbers {
  margin-right: auto;
}
@media (max-width: 767px) {
  .nav-links .prev:after,
  .navigation .prev:after,
  .navigation-comments .prev:after {
    content: "«";
  }
}

.navigation-single {
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
}
.navigation-single .next,
.navigation-single .prev {
  display: flex;
  align-items: center;
  padding: 0;
  margin: 0;
  max-width: 49%;
  border: 0;
}
.navigation-single .next a,
.navigation-single .prev a {
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
  display: block;
  padding: 10px 20px 9px;
  border: 2px solid #4e0e1c;
}
@media (max-width: 767px) {
  .navigation-single .next a,
  .navigation-single .prev a {
    font-size: 0;
  }
  .navigation-single .next a:after,
  .navigation-single .prev a:after {
    content: "»";
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .navigation-single .prev a:after {
    content: "«";
  }
}

.comment-form label {
  display: block;
  padding-bottom: 4px;
}
.comment-form input,
.comment-form textarea {
  margin: 0 4px 0 0;
  width: 100%;
}
@media (min-width: 768px) {
  .comment-form input,
  .comment-form textarea {
    max-width: 300px;
  }
}
.comment-form input[type=submit],
.comment-form textarea[type=submit] {
  display: block;
  width: auto;
}
.comment-form textarea {
  overflow: auto;
  margin: 0;
  height: 120px;
  min-height: 120px;
}
.comment-form .comment-form-cookies-consent input {
  width: auto;
}
.comment-form .comment-form-cookies-consent label {
  display: inline-block;
}

.commentlist {
  margin: 0 0 1.2em;
}
.commentlist .edit-link {
  margin: 0;
}
.commentlist .avatar-holder {
  float: left;
  margin: 0 1.2em 4px 0;
}

.commentlist-item .commentlist-item {
  padding: 0;
}
@media (min-width: 768px) {
  .commentlist-item .commentlist-item {
    padding: 0 0 0 2em;
  }
}

.comment,
.commentlist-holder {
  overflow: hidden;
}

.commentlist-item .commentlist-item,
.commentlist-item + .commentlist-item {
  padding-top: 20px;
}

.widget_calendar th,
.widget_calendar td {
  text-align: center;
}
.widget_calendar #prev {
  text-align: left;
}
.widget_calendar #next {
  text-align: right;
}

#wp-calendar {
  width: 100%;
}

.wp-caption {
  max-width: 100%;
  clear: both;
  border: #4e0e1c;
  padding: 4px;
  margin-bottom: 20px;
  text-align: center;
}
.wp-caption img {
  margin-bottom: 4px;
}
.wp-caption p {
  margin: 0;
}

.aligncenter {
  margin: 0 auto 20px;
}

img.aligncenter {
  display: block;
  margin: 0 auto;
}

.alignleft {
  float: left;
  margin: 0 1.2em 4px 0;
}

.alignright {
  float: right;
  margin: 0 0 4px 1.2em;
}

.mejs-container {
  margin-bottom: 20px;
}

.wp-caption-text,
.gallery,
.alignnone,
.gallery-caption,
.sticky,
.bypostauthor {
  height: auto;
}

.gallery {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.gallery .gallery-item {
  margin: 0;
  padding: 0 10px 10px;
}
.gallery .gallery-item dt {
  float: none;
  width: 100%;
  margin: 0 0 10px;
  padding: 0;
}

.gallery-columns-2 .gallery-item {
  max-width: 50%;
  width: 50%;
}

.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
  width: 33.33%;
}

.tagcloud {
  display: flex;
  flex-wrap: wrap;
}

.comment-list .comment-body {
  margin-bottom: 20px;
}

.comment-author img {
  margin-right: 10px;
}

[id=header] {
  position: relative;
  z-index: 999;
  box-shadow: 0 3px 20px rgba(0, 0, 0, 0.1);
}
[id=header] a {
  color: inherit;
}
[id=header] .df-row {
  align-items: center;
  justify-content: space-between;
}

.header-top {
  background: #4e0e1c;
  color: #fff;
}
.header-top .df-row {
  flex-wrap: nowrap;
  align-items: stretch;
  margin: 0;
}
.header-top a {
  color: inherit;
}
.header-top a:hover {
  color: #faebb4;
}

.menu-siblings-sites,
.menu-service {
  font-size: 12px;
  line-height: 1.2;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .menu-siblings-sites,
  .menu-service {
    font-size: 15px;
  }
}
.menu-siblings-sites ul,
.menu-service ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -3px;
}
@media (min-width: 768px) {
  .menu-siblings-sites ul,
  .menu-service ul {
    margin: 0 -8px;
  }
}
@media (min-width: 1024px) {
  .menu-siblings-sites ul,
  .menu-service ul {
    margin: 0 -16px;
  }
}
.menu-siblings-sites li,
.menu-service li {
  padding: 0 3px;
}
@media (min-width: 768px) {
  .menu-siblings-sites li,
  .menu-service li {
    padding: 0 8px;
  }
}
@media (min-width: 1024px) {
  .menu-siblings-sites li,
  .menu-service li {
    padding: 0 16px;
  }
}
.menu-siblings-sites li.active,
.menu-service li.active {
  color: #fff9e6;
}
.menu-siblings-sites a,
.menu-service a {
  display: inline-flex;
  align-items: center;
}
.menu-siblings-sites svg,
.menu-service svg {
  fill: currentColor;
}
@media (min-width: 768px) {
  .menu-siblings-sites svg,
  .menu-service svg {
    margin: 0 15px 0 0;
  }
}

.menu-siblings-sites {
  background-color: rgba(167, 25, 25, 0.59);
  margin-left: -15px;
  padding: 11px 33px 11px 15px;
}
@media (min-width: 768px) {
  .menu-siblings-sites {
    margin-left: -9999px;
    padding-left: 9999px;
    padding-top: 8px;
  }
}
.menu-siblings-sites ul {
  margin: 0 -3px;
}
@media (min-width: 768px) {
  .menu-siblings-sites ul {
    margin: 0 -8px;
  }
}
@media (min-width: 1024px) {
  .menu-siblings-sites ul {
    margin: 0 -16px;
  }
}
.menu-siblings-sites li {
  padding: 0 3px;
}
@media (min-width: 768px) {
  .menu-siblings-sites li {
    padding: 0 8px;
  }
}
@media (min-width: 1024px) {
  .menu-siblings-sites li {
    padding: 0 16px;
  }
}

.menu-service {
  padding: 9px 0 10px 15px;
}
.menu-service ul {
  justify-content: flex-end;
  margin: 0 -8px;
}
@media (min-width: 1024px) {
  .menu-service ul {
    margin: 0 -16px;
  }
}
.menu-service li {
  padding: 0 8px;
}
@media (min-width: 1024px) {
  .menu-service li {
    padding: 0 16px;
  }
}
.menu-service a {
  vertical-align: middle;
}
.menu-service .text {
  display: none;
}
@media (min-width: 768px) {
  .menu-service .text {
    display: block;
  }
}

.header-middle {
  padding: 24px 0;
}
@media (min-width: 1024px) {
  .header-middle {
    padding: 30px 0;
  }
}
.header-middle .block-insert {
  width: 100%;
  margin: 10px 0 0;
}
@media (min-width: 768px) {
  .header-middle .block-insert {
    width: calc(100% - 432px);
    margin-top: 0;
  }
}
@media (min-width: 768px) {
  .header-middle .df-row {
    margin: 0 -15px;
  }
}
@media (min-width: 768px) {
  .header-middle .df-row > * {
    padding: 0 15px;
  }
}

.logo {
  width: 140px;
}
@media (min-width: 768px) {
  .logo {
    width: 307px;
  }
}

.nav-opener {
  width: 45px;
  height: 45px;
  position: relative;
  font-size: 0;
  line-height: 0;
}
@media (min-width: 768px) {
  .nav-opener {
    display: none;
  }
}
.nav-opener:before, .nav-opener:after,
.nav-opener span {
  transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
  background: #000;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 4px;
  transform: translateY(-50%);
  border-radius: 4px;
  margin: 0 5px;
}
.nav-opener:before, .nav-opener:after {
  content: "";
}
.nav-opener:before {
  transform: translateY(-10px);
}
.nav-opener:after {
  transform: translateY(6px);
}
.nav-active .nav-opener span {
  opacity: 0;
  transform: rotate(45deg);
}
.nav-active .nav-opener:before {
  transform: rotate(45deg) translateY(0);
}
.nav-active .nav-opener:after {
  transform: rotate(-45deg) translateY(0);
}

.mobile-drop {
  transition: all 0.3s ease-in-out;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 999;
  padding: 10px 15px;
  background: #faebb4;
  color: #404040;
  opacity: 0;
  visibility: hidden;
}
@media (min-width: 768px) {
  .mobile-drop {
    padding: 0;
    position: static;
    opacity: 1;
    visibility: visible;
  }
}
.nav-active .mobile-drop {
  opacity: 1;
  visibility: visible;
}

[id=nav] {
  font-size: 18px;
  line-height: 1.3;
  font-weight: 500;
  position: relative;
}
@media (min-width: 768px) {
  [id=nav] {
    font-size: 15px;
  }
}
@media (min-width: 1024px) {
  [id=nav] {
    font-size: 18px;
  }
}
[id=nav] > ul {
  margin: 0 -15px;
}
@media (min-width: 768px) {
  [id=nav] > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 -8px;
  }
}
@media (min-width: 1024px) {
  [id=nav] > ul {
    margin: 0 -15px;
  }
}
@media (min-width: 1440px) {
  [id=nav] > ul {
    margin: 0 -30px;
  }
}
[id=nav] > ul > li.hover > a {
  background-color: #4e0e1c;
  color: #fff;
}
[id=nav] > ul > li.hover > a.has-drop-down-a:after {
  transform: rotate(-225deg);
  margin: 0 0 -1px 5px;
}
[id=nav] > ul > li.hover .drop {
  display: block;
}
@media (min-width: 768px) {
  [id=nav] > ul > li.hover .drop {
    opacity: 1;
    visibility: visible;
  }
}
[id=nav] > ul > li > a {
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  display: block;
  padding: 8px 15px;
}
@media (min-width: 768px) {
  [id=nav] > ul > li > a {
    padding: 8px 8px;
  }
}
@media (min-width: 1024px) {
  [id=nav] > ul > li > a {
    padding: 13px 10px;
  }
}
@media (min-width: 1440px) {
  [id=nav] > ul > li > a {
    padding-left: 15px;
    padding-right: 15px;
  }
}
[id=nav] > ul > li > a.has-drop-down-a:after {
  width: 7px;
  height: 7px;
  content: "";
  transform: rotate(-45deg);
  border-style: solid;
  border-color: currentColor;
  border-width: 0 0 1px 1px;
  display: inline-block;
  margin: 0 0 3px 5px;
}
@media (min-width: 768px) {
  [id=nav] > ul > li > a.has-drop-down-a:after {
    display: none;
  }
}
[id=nav] li.active > a {
  color: #4e0e1c;
}
[id=nav] .drop {
  display: none;
  background: #fff;
  width: 100%;
  top: 100%;
  left: 0;
  z-index: 2;
  padding: 10px 15px;
  box-shadow: 0 2px 40px rgba(0, 0, 0, 0.08);
  border-style: solid;
  border-color: #4e0e1c;
  border-width: 3px 0;
}
@media (min-width: 768px) {
  [id=nav] .drop {
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    padding: 32px 45px 32px 36px;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    display: flex !important;
    justify-content: space-between;
    overflow-y: auto;
    max-height: 60vh;
    opacity: 0;
    visibility: hidden;
  }
}
[id=nav] .drop-menu {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 400;
}
@media (min-width: 768px) {
  [id=nav] .drop-menu {
    margin-bottom: 0;
    width: 275px;
    font-size: 14px;
  }
}
@media (min-width: 1024px) {
  [id=nav] .drop-menu {
    font-size: 16px;
  }
}
[id=nav] .drop-menu:only-child {
  margin-bottom: 0;
}
@media (min-width: 768px) {
  [id=nav] .drop-menu:only-child {
    width: 100%;
  }
}
[id=nav] .drop-menu li {
  padding: 0 14px 10px;
  margin: 0 0 12px;
  border-bottom: 1px solid #d5d5d5;
}
@media (min-width: 1024px) {
  [id=nav] .drop-menu li {
    padding-left: 28px;
    padding-right: 28px;
  }
}
[id=nav] .drop-menu li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
[id=nav] .drop-menu a:hover {
  color: #1f1f1f;
}
[id=nav] a {
  color: inherit;
}

.block-last-post {
  font: 500 16px/1.6 "Roboto Slab", "Times New Roman", "Times", "Baskerville", "Georgia", serif;
}
@media (min-width: 768px) {
  .block-last-post {
    width: calc(100% - 328px);
    font-size: 15px;
  }
}
@media (min-width: 1024px) {
  .block-last-post {
    font-size: 18px;
  }
}
@media (min-width: 768px) {
  .block-last-post:only-child {
    width: 100%;
  }
}
.block-last-post h1 {
  font-size: 26px;
  line-height: 1.05;
}

.list-last-post {
  color: #000;
}
.list-last-post li {
  border-bottom: 1px solid #401a1e;
  padding: 0 0 16px;
  margin: 0 0 13px;
}
.list-last-post li:last-child {
  margin-bottom: 0;
}
.list-last-post a:hover {
  color: #4e0e1c;
}

[id=wrapper] {
  width: 100%;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

hr {
  border-style: solid;
  border-color: #401a1e;
  border-width: 2px 0 0;
}
hr:last-child {
  margin: 25px 0 0;
}
@media (min-width: 1024px) {
  hr:last-child {
    margin-top: 39px;
  }
}

.g-container,
.container {
  max-width: 1190px;
  padding: 0 15px;
  margin: 0 auto;
}
.g-container .g-container,
.g-container .container,
.container .g-container,
.container .container {
  padding-left: 0;
  padding-right: 0;
}

[id=main] {
  flex-grow: 1;
}
[id=main] > .g-container:first-child,
[id=main] > .container:first-child {
  padding-top: 30px;
}
@media (min-width: 1024px) {
  [id=main] > .g-container:first-child,
  [id=main] > .container:first-child {
    padding-top: 59px;
  }
}
[id=main] > .g-container:last-child,
[id=main] > .container:last-child {
  padding-bottom: 30px;
}
@media (min-width: 1024px) {
  [id=main] > .g-container:last-child,
  [id=main] > .container:last-child {
    padding-bottom: 59px;
  }
}
[id=main] > .g-container.full-width,
[id=main] > .container.full-width {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}
[id=main] img + p {
  margin-top: 20px;
}

.section-main {
  padding: 0 0 30px;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .section-main {
    padding-bottom: 49px;
  }
}
.section-main:first-child {
  padding-top: 30px;
}
@media (min-width: 1024px) {
  .section-main:first-child {
    padding-top: 49px;
  }
}

.block-insert img {
  max-width: none;
  width: 100%;
}

.section-stock-ticker {
  padding: 28px 0;
  text-align: center;
}

.section-insert {
  padding: 0 0 30px;
  text-align: center;
}
@media (min-width: 1024px) {
  .section-insert {
    padding-bottom: 49px;
  }
}
.section-insert:first-child {
  padding-top: 30px;
}
@media (min-width: 1024px) {
  .section-insert:first-child {
    padding-top: 49px;
  }
}

.decor-title {
  line-height: 1.17;
  border-bottom: 2px solid currentColor;
  margin: 0 0 25px;
}
@media (min-width: 1024px) {
  .decor-title {
    margin-bottom: 39px;
  }
}

.category-span {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -2px;
}
.category-span > * {
  margin-left: 2px;
  margin-right: 2px;
}

.hold-main {
  margin: 0 0 30px;
}
@media (min-width: 1024px) {
  .hold-main {
    margin-bottom: 49px;
  }
}
.hold-main:first-child {
  margin-top: 15px;
}
@media (min-width: 1024px) {
  .hold-main:first-child {
    margin-top: 49px;
  }
}
@media (min-width: 1024px) {
  .hold-main .container {
    display: flex;
    justify-content: space-between;
  }
}
.hold-main .content {
  margin: 0 0 30px;
}
@media (min-width: 1024px) {
  .hold-main .content {
    width: calc(100% - 360px);
    margin-bottom: 0;
  }
}
.hold-main .nav-links {
  justify-content: center;
}
.hold-main .nav-links:last-child {
  margin-bottom: 0;
  margin-top: 30px;
}
@media (min-width: 1024px) {
  .hold-main .nav-links:last-child {
    margin-top: 49px;
  }
}

[id=footer] {
  background-color: #333433;
  padding: 30px 0;
  color: #fff;
  font-size: 13px;
  line-height: 1.85;
  position: relative;
  z-index: 2;
  text-align: center;
}
@media (min-width: 768px) {
  [id=footer] {
    text-align: left;
  }
}
@media (min-width: 1024px) {
  [id=footer] {
    padding: 67px 0;
  }
}
[id=footer] .container {
  max-width: 1192px;
}
[id=footer] a {
  text-decoration: none;
  color: inherit;
}
[id=footer] a:focus, [id=footer] a:hover {
  color: #faebb4;
}
[id=footer] .text {
  display: block;
  margin: 0 0 29px;
}
[id=footer] .text:last-child {
  margin-bottom: 0;
}
[id=footer] .menu {
  margin: 8px 0 0;
}
@media (min-width: 768px) {
  [id=footer] .menu.js-slide-hidden {
    position: static !important;
  }
}
[id=footer] .menu li.active a {
  color: #fff9e6;
}
[id=footer] .menu li + li {
  margin-top: 9px;
}
[id=footer] .section-social:first-child {
  margin-top: -30px;
  margin-bottom: 30px;
}
@media (min-width: 1024px) {
  [id=footer] .section-social:first-child {
    margin-top: -67px;
    margin-bottom: 67px;
  }
}

.footer-bar {
  margin: 0 0 20px;
}
@media (min-width: 768px) {
  .footer-bar {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

.foot-text-wrap {
  width: 230px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .foot-text-wrap {
    width: 22.7%;
    padding: 0 20px 0 0;
    margin: 0;
  }
}

.footer-link-wrap {
  font-size: 14px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -10px -10px 20px;
}
@media (min-width: 768px) {
  .footer-link-wrap {
    width: 77.4%;
    order: 1;
    margin-bottom: -12px;
    justify-content: flex-start;
  }
}
@media (min-width: 1024px) {
  .footer-link-wrap {
    flex-wrap: nowrap;
  }
}
.footer-link-wrap .col {
  width: 50%;
  padding: 10px;
}
@media (min-width: 768px) {
  .footer-link-wrap .col {
    width: 33.3%;
  }
}
@media (min-width: 1024px) {
  .footer-link-wrap .col {
    width: 100%;
  }
}
.footer-link-wrap .active .title:after {
  transform: rotate(-225deg);
  margin: 0 0 -1px 5px;
}
.footer-link-wrap .title {
  display: block;
}
@media (min-width: 768px) {
  .footer-link-wrap .title {
    pointer-events: none;
  }
}
.footer-link-wrap .title:after {
  width: 7px;
  height: 7px;
  content: "";
  transform: rotate(-45deg);
  border-style: solid;
  border-color: currentColor;
  border-width: 0 0 1px 1px;
  display: inline-block;
  margin: 0 0 3px 5px;
}
@media (min-width: 768px) {
  .footer-link-wrap .title:after {
    display: none;
  }
}

.copy,
.by {
  display: block;
  font-size: 11px;
}

.copy {
  margin-bottom: 4px;
}

.footer-sub-menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 11px;
  line-height: 1.1;
  margin: 0 -6px;
}
@media (min-width: 768px) {
  .footer-sub-menu {
    justify-content: flex-end;
  }
}
.footer-sub-menu li {
  padding: 0 6px;
}
.footer-sub-menu li.active a {
  color: #fff9e6;
}

.btn,
.wp-block-button__link {
  transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
  z-index: 1;
  position: relative;
  display: inline-block;
  vertical-align: top;
  font: 400 18px/26px "Roboto", "Arial", "Helvetica Neue", "Helvetica", sans-serif;
  padding: 10px 20px 9px;
  text-decoration: none;
  text-align: center;
  color: #4e0e1c;
  border-radius: 10px;
  background: rgba(78, 14, 28, 0.2);
  border: 2px solid #4e0e1c;
}
.btn:hover,
.btn:focus,
.wp-block-button__link:hover,
.wp-block-button__link:focus {
  color: #fff;
  background: #4e0e1c;
}
.btn.btn-light,
.wp-block-button__link.btn-light {
  color: #fff;
  border-color: #fff;
  background: rgba(255, 255, 255, 0.2);
}
.btn.btn-light:hover,
.btn.btn-light:focus,
.wp-block-button__link.btn-light:hover,
.wp-block-button__link.btn-light:focus {
  color: #4e0e1c;
  background: #fff;
}

.btn-group {
  margin: -15px;
}
@media (min-width: 576px) {
  .btn-group {
    display: flex;
    flex-wrap: wrap;
  }
}
.btn-group > * {
  margin: 15px;
}
.btn-group .btn {
  display: block;
}

.wp-block-button {
  margin-bottom: 25px;
}
.wp-block-button__width-25 .wp-block-button__link {
  width: 25%;
}
.wp-block-button__width-50 .wp-block-button__link {
  width: 50%;
}
.wp-block-button__width-75 .wp-block-button__link {
  width: 75%;
}
.wp-block-button__width-100 .wp-block-button__link {
  width: 100%;
}

.wp-block-button__link {
  margin: 5px 0;
}

.wp-block-buttons {
  margin-bottom: 20px;
}


.subscribe-page {
    max-width: 1200px;
    margin: 0 auto;
}

.subscribe-card {
    padding: 2rem 2rem 1rem 2rem;
}

.subscribe-card p {
    font-size: 18px;
}

.subscribe-price strong {
    font-size: 40px;
}

.subscribe-heading {
    color: #fff;
    max-width: 800px;
    margin: 0 auto;
}

.page-template-template-standard .container:first-child {
    padding-top: 0px;
}


/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2Utd3AvX2hlYWQtd3Auc2NzcyIsInZlbmRvcnMvX25vcm1hbGl6ZS5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsImJhc2UvX2hlbHBlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJhYnN0cmFjdHMvX2Z1bmN0aW9ucy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fZm9ybXMuc2NzcyIsImJhc2Utd3AvX2Ntcy1yZXNldC5zY3NzIiwiYmFzZS13cC9fd3AtcmVzZXQuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2NvbW1vbi5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUNBQTtBQUVBO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7RUFDQTs7O0FBR0o7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDSTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDSTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUdBO0FBQUE7QUFBQTtBQUlBO0VBQ0k7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0FBS0E7RUFDSTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7RUFHSTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUk7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0k7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBRUk7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0FBRUk7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJSTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7QUFBQTtBQUFBO0FBQUE7RUFJSTtFQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtBQUFBO0FBQUE7QUFBQTtFQUlJOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQTtFQUNJO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTtFQUNBO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7QUFDQTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtBQUFBO0VBRUk7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFBQTtBQUlBO0FBQUE7RUFFSTs7O0FBR0o7QUFBQTtBQUFBO0FBQUE7QUFLQTtFQUNJO0FBQ0E7RUFDQTtBQUNBOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUtBO0VBQ0k7QUFDQTtFQUNBO0FBQ0E7OztBQUdKO0FBQUE7QUFHQTtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBQUE7QUFJQTtFQUNJOzs7QUFHSjtBQUFBO0FBR0E7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FBR0o7QUFBQTtBQUFBO0FBSUE7RUFDSTs7O0FDelhKO0VBQ0k7RUFDQTs7O0FBR0o7QUFBQTtBQUFBO0VBR0k7OztBQUdKO0VBQ0k7OztBQUlKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQVlJOzs7QUFHSjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQW1CSTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtBQUFBO0VBRUk7OztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBSUk7RUFDQTs7O0FBR0o7RUFDSTs7O0FBTUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOzs7QUFJUjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0ksT0NuR087RURvR1AsWUM5R0k7RUQrR0o7RUFDQSxXQ1RhO0VEVWI7RUFDQTtFQUNBOzs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUU1SUo7QUFBQTtFQUNFO0VBQ0E7O0FBRUE7QUFBQTtFQUNEOzs7QUFNQztBQUFBO0FBQUE7RUFDRTtFQUNBO0VBQ0E7OztBQXNESjtFQUNFO0FBQ0E7RUFDQTtBQUNBO0VBQ0E7OztBQUdGO0VBSUU7RUFDQTs7QUMyZEU7RUNwT0E7SUFFSTs7O0FEa09KO0VDOU5BO0lBRUk7OztBRDROSjtFQ3BPQTtJQUVJOzs7QURrT0o7RUM5TkE7SUFFSTs7O0FENE5KO0VDcE9BO0lBRUk7OztBRGtPSjtFQzlOQTtJQUVJOzs7QUQ0Tko7RUNwT0E7SUFFSTs7O0FEa09KO0VDOU5BO0lBRUk7OztBRDROSjtFQ3BPQTtJQUVJOzs7QURrT0o7RUM5TkE7SUFFSTs7O0FENE5KO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDaE5FO0lBRUk7SUFDQTs7O0FENk1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7O0FEcU1OO0VDdk1FO0lBRUk7OztBRHFNTjtFQ3ZNRTtJQUVJOzs7QURxTU47RUN2TUU7SUFFSTs7OztBQ2pWTTtBQUFBO0VBRUk7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ZEc7RVNyZEo7SUFLRTtJQUNBO0lBQ0E7Ozs7QUFJRjtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FUcWNHO0VTMWNKO0lBUUU7SUFDQTtJQUNBO0lBQ0E7OztBVCtiRTtFUzFjSjtJQWVFOzs7QUFHRDtFQUNDO0VBQ0E7O0FUc2JFO0VTeGJIO0lBS0U7OztBVG1iQztFU3hiSDtJQVNFOzs7QUFNQTtFQUNDO0VBQ0E7O0FBS0g7RUFDQzs7QVRpYUU7RVNsYUg7SUFJRTs7O0FBR0Q7RVJ6REEsT1EwRGdCO0VSekRoQixRUXlEZ0I7RUFDZjtFQUNBO0VBRUM7RUFDQTtFQUNBO0VBRUQ7RUFDQTs7QVRpWkM7RVMzWkY7SUFhRTs7OztBQU1KO0FBQUE7RUFFQztFQUNBOzs7QUFHRDtFQUNDOzs7QUFHRDtFQUVDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QVR1WEc7RVM5WEo7SUFVRTs7O0FBR0Q7RUFDQzs7QUFHQztFQUNDLE9YdEpXOzs7QVl4Q2Y7QUFBQTtFVHNQRSxZQUhTO0VTL09WO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxTWm1LYTtFWWxLYjtFQUNBO0VBQ0EsT1p3Qks7RVl2QkwsZVo0Sm1CO0VZM0puQixZWm9LZ0I7RVluS2hCOztBQUVBO0FBQUE7QUFBQTtBQUFBO0VBRUMsT1pqQk07RVlrQk4sWVpnQkk7O0FZYkw7QUFBQTtFQUNDLE9adEJNO0VZdUJOLGNadkJNO0VZd0JOOztBQUVBO0FBQUE7QUFBQTtBQUFBO0VBRUMsT1pNRztFWUxILFlaN0JLOzs7QVlrQ1I7RUFDQzs7QVZxZ0JHO0VVdGdCSjtJQUlFO0lBQ0E7OztBQUdEO0VBQ0M7O0FBR0Q7RUFDQzs7O0FBSUY7RUFDQzs7QUFHQztFQUNDOztBQUtEO0VBQ0M7O0FBS0Q7RUFDQzs7QUFLRDtFQUNDOzs7QUFLSDtFQUNDOzs7QUFHRDtFQUNDIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuVGhlbWUgTmFtZTogaGlnaHBsYWluc2pvdXJuYVxuQXV0aG9yOiBBbm9ueW1vdXNcbkF1dGhvciBVUkk6XG5WZXJzaW9uOiAxXG5EZXNjcmlwdGlvbjogQmFzZSB0aGVtZSBmb3IgV29yZHByZXNzXG5MaWNlbnNlOiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MiBvciBsYXRlclxuTGljZW5zZSBVUkk6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMi4wLmh0bWxcblRleHQgRG9tYWluOiBoaWdocGxhaW5zam91cm5hXG5UYWdzOiBvbmUtY29sdW1uLCB0d28tY29sdW1uc1xuVGhlbWUgVVJJOlxuKi8iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuYm9keSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAgICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gICAqL1xuXG5tYWluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICovXG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICovXG5cbmhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAvKiAxICovXG4gICAgaGVpZ2h0OiAwO1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiAyICovXG59XG5cbi8qKlxuICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG5wcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgICAvKiAxICovXG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cblxuYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgKi9cblxuYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIC8qIDIgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gICAgLyogMiAqL1xufVxuXG4vKipcbiAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICovXG5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgIC8qIDEgKi9cbiAgICBmb250LXNpemU6IDFlbTtcbiAgICAvKiAyICovXG59XG5cbi8qKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbnNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgKiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICAgIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cblxuaW1nIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAvKiAxICovXG4gICAgZm9udC1zaXplOiAxMDAlO1xuICAgIC8qIDEgKi9cbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbn1cblxuLyoqXG4gICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgKi9cblxuYnV0dG9uLFxuaW5wdXQge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gICAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gICAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICovXG5cbmZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG5sZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMSAqL1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIC8qIDMgKi9cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIC8qIDEgKi9cbn1cblxuLyoqXG4gICAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuXG5wcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gICAqL1xuXG50ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICAgKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogMiAqL1xufVxuXG4vKipcbiAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgIC8qIDEgKi9cbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgICAvKiAyICovXG59XG5cbi8qKlxuICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gICAgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICAgKi9cblxuZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICAgKi9cblxudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAgICovXG5cbltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xufSIsImh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG4qIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAwMDAwcHg7XG59XG5cbi8vLSBIVE1MNSBkaXNwbGF5LXJvbGUgcmVzZXQgZm9yIG9sZGVyIGJyb3dzZXJzXG5tYWluLFxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tZW51LFxubmF2LFxuc2VjdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbnVsLFxub2wsXG5kbCxcbnAsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5hZGRyZXNzLFxuZm9ybSxcbnRhYmxlLFxuYmxvY2txdW90ZSxcbmFwcGxldCxcbmVtYmVkLFxub2JqZWN0LFxuaWZyYW1lLFxuZnJhbWVzZXQge1xuICAgIG1hcmdpbjogMCAwICR2ZXJ0aWNhbC1yaHl0aG07XG59XG5cbmJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGdyYXk7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxudGgsXG50ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxudGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG51bCxcbm9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbnVsIHVsLFxudWwgb2wsXG5vbCB1bCxcbm9sIG9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luOiAwO1xufVxuXG51bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG5kbCB7XG4gICAgQGV4dGVuZCAlY2xlYXJmaXg7XG5cbiAgICBkdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC4zZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cbnByZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG5ib2R5IHtcbiAgICBjb2xvcjogJGJhc2UtdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiAkYmFzZS1iYWNrZ3JvdW5kLWJvZHk7XG4gICAgZm9udDogI3skZm9udC1zaXplLWJhc2V9LyN7JGxpbmUtaGVpZ2h0LWJhc2V9ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIG1pbi13aWR0aDogJGJhc2UtbWluLXdpZHRoO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vLyBhZGFwdGl2ZSBpbWFnZXNcbmltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy8gZ29vZ2xlIG1hcCBmaXhcbi5nbS1zdHlsZSBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuaWZyYW1lIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5yZXNpemUtYWN0aXZlICoge1xuICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn0iLCIvLyBDb2xvcnNcbi8vIENvbG9yIGNhbGN1bGF0b3IgLSBodHRwOi8vcmF6b3JqYW0uZ2l0aHViLmlvL3Nhc3Njb2xvdXJmdW5jdGlvbmNhbGN1bGF0b3IvXG4vLyBDb2xvciBuYW1lcyAtIGh0dHA6Ly9uYW1lLW9mLWNvbG9yLmNvbS9cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICNmZmY7XG4kZ3JheTogI2RkZCAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y1ZjVmNTtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2Q1ZDVkNTtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzcwNzA3MDtcbiRncmF5LTcwMDogIzQwNDA0MDtcbiRncmF5LTgwMDogIzMzMzQzMztcbiRncmF5LTkwMDogIzFmMWYxZjtcbiRibGFjazogIzAwMDtcblxuJGdyYXlzOiAoXG5cdCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGdyYXlzOiBtYXAtbWVyZ2UoKFxuXHRcIjEwMFwiOiAkZ3JheS0xMDAsXG5cdFwiMjAwXCI6ICRncmF5LTIwMCxcblx0XCIzMDBcIjogJGdyYXktMzAwLFxuXHRcIjQwMFwiOiAkZ3JheS00MDAsXG5cdFwiNTAwXCI6ICRncmF5LTUwMCxcblx0XCI2MDBcIjogJGdyYXktNjAwLFxuXHRcIjcwMFwiOiAkZ3JheS03MDAsXG5cdFwiODAwXCI6ICRncmF5LTgwMCxcblx0XCI5MDBcIjogJGdyYXktOTAwICksXG4kZ3JheXNcbik7XG5cbiRibHVlOiAjYzNFMWZmO1xuJGluZGlnbzogIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQtbGlnaHQ6ICNhNzE5MTk7XG4kcmVkOiAjNGUwZTFjO1xuJHJlZC1kYXJrOiAjNDAxYTFlO1xuJG9yYW5nZTogI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICNmYWViYjQ7XG4keWVsbG93LWxpZ2h0OiAjZmZmOWU2O1xuJGdyZWVuOiAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKFxuXHQpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRjb2xvcnM6IG1hcC1tZXJnZSgoXG5cdFwiYmx1ZVwiOiAkYmx1ZSxcblx0XCJpbmRpZ29cIjogJGluZGlnbyxcblx0XCJwdXJwbGVcIjogJHB1cnBsZSxcblx0XCJwaW5rXCI6ICRwaW5rLFxuXHRcInJlZFwiOiAkcmVkLFxuXHRcInJlZC1kYXJrXCI6ICRyZWQtZGFyayxcblx0XCJvcmFuZ2VcIjogJG9yYW5nZSxcblx0XCJ5ZWxsb3dcIjogJHllbGxvdyxcblx0XCJ5ZWxsb3ctbGlndGhcIjogJHllbGxvdy1saWdodCxcblx0XCJncmVlblwiOiAkZ3JlZW4sXG5cdFwidGVhbFwiOiAkdGVhbCxcblx0XCJjeWFuXCI6ICRjeWFuLFxuXHRcIndoaXRlXCI6ICR3aGl0ZSxcblx0XCJncmF5XCI6ICRncmF5LTYwMCxcblx0XCJncmF5LWRhcmtcIjogJGdyYXktODAwICksXG4kY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogJGdyYXktODAwICFkZWZhdWx0O1xuXG4kdGhlbWUtY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoKFxuXHRcInByaW1hcnlcIjogJHByaW1hcnksXG5cdFwic2Vjb25kYXJ5XCI6ICRzZWNvbmRhcnksXG5cdFwic3VjY2Vzc1wiOiAkc3VjY2Vzcyxcblx0XCJpbmZvXCI6ICRpbmZvLFxuXHRcIndhcm5pbmdcIjogJHdhcm5pbmcsXG5cdFwiZGFuZ2VyXCI6ICRkYW5nZXIsXG5cdFwibGlnaHRcIjogJGxpZ2h0LFxuXHRcImRhcmtcIjogJGRhcmtcblx0KSxcblx0JHRoZW1lLWNvbG9yc1xuKTtcblxuLy8gZm9udHMgbmFtZVxuJGJhc2UtZm9udC1zYW5zLXNlcmlmOiAnUm9ib3RvJywgJ0FyaWFsJywgJ0hlbHZldGljYSBOZXVlJywgJ0hlbHZldGljYScsIHNhbnMtc2VyaWY7XG4kc3VwcG9ydC1mb250LXNhbnMtc2VyaWY6ICdPcGVuIFNhbnMnLCAnQXJpYWwnLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcbiRiYXNlLWZvbnQtc2VyaWY6ICdSb2JvdG8gU2xhYicsICdUaW1lcyBOZXcgUm9tYW4nLCAnVGltZXMnLCAnQmFza2VydmlsbGUnLCAnR2VvcmdpYScsIHNlcmlmO1xuXG4kYmFzZS1mb250OiAkYmFzZS1mb250LXNhbnMtc2VyaWY7XG5cbi8vIEJvZHlcbiRiYXNlLXRleHQtY29sb3I6ICRncmF5LTkwMDtcbiRiYXNlLWJhY2tncm91bmQtYm9keTogJHdoaXRlO1xuJGJhc2UtYmFja2dyb3VuZC1mb290ZXI6ICRncmF5LTgwMDtcbiRmb250LXNpemUtYmFzZTogMTZweDtcbiRsaW5lLWhlaWdodC1iYXNlOiAxLjc1OyAvLyAyOHB4XG4kYmFzZS1mb250LWZhbWlseTogJGJhc2UtZm9udDtcbiRiYXNlLW1pbi13aWR0aDogMzYwcHg7XG5cbi8vIGJhc2UgdmFyaWFibGVzXG4kYmFzZS1yYWRpdXM6IDA7XG4kYmFzZS1yYWRpdXMtc21hbGw6IDA7XG5cbi8vIGNvbnRhaW5lciBzZXR0aW5nc1xuJG1heC13aWR0aC1jZW50ZXItY29udGFpbmVyOiAxMTkwcHg7XG4kZ3V0dGVyOiAxNXB4O1xuJHBhZGRpbmctY29udGFpbmVyOiAwICRndXR0ZXI7XG5cbi8vIGdyaWQgc2lzdGVtXG4kZ3JpZDogKFxuXHR4czogJ3Bob25lLXhzJyxcblx0cGg6ICdwaG9uZScsXG5cdG1kOiAndGFibGV0Jyxcblx0bGc6ICdkZXNrdG9wJyxcblx0eGw6ICd3aWRlc2NyZWVuJ1xuKTtcblxuLy8gZm9udCB3ZWlnaHRcbiR0aGluOiAxMDA7XG4kbGlnaHQtZm9udDogMzAwO1xuJG5vcm1hbDogNDAwO1xuJG1lZGl1bTogNTAwO1xuJHNlbWlib2xkOiA2MDA7XG4kYm9sZDogNzAwO1xuJGV4dHJhOiA4MDA7XG4kYmxhY2stZm9udDogOTAwO1xuXG4vLyBkZWZhdWx0IG1hcmdpbnNcbiR2ZXJ0aWNhbC1yaHl0aG06IDIwcHg7XG4kd2lkZ2V0LW1hcmdpbjogJHZlcnRpY2FsLXJoeXRobTtcblxuLy8gTGlua3NcbiRiYXNlLWxpbmstY29sb3I6ICRyZWQtZGFyaztcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICRncmF5LTcwMDtcbiR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuXG4vLyBIZWFkZXJzIHNpemVcbiR0aXRsZS1wYWxldHRlOiAoXG5cdG1vYmlsZTogKFxuXHRcdCdoMSc6IDMyLFxuXHRcdCdoMic6IDI0LFxuXHRcdCdoMyc6IDIyLFxuXHRcdCdoNCc6IDIwLFxuXHRcdCdoNSc6IDE4LFxuXHRcdCdoNic6IDE2XG5cdCksXG5cdGRlc2t0b3A6IChcblx0XHQnaDEnOiAzOCxcblx0XHQnaDInOiAzMCxcblx0XHQnaDMnOiAyNFxuXHQpXG4pO1xuXG4vLyBoZWFkaW5ncyBzdHlsZVxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAkYmFzZS1mb250LXNlcmlmO1xuJGhlYWRpbmdzLWNvbG9yOiAkcmVkO1xuXG4vLyBCdXR0b25zXG4vLyBidG4gZGVmYXVsdFxuJGJ0bi1ib3JkZXItd2lkdGg6IDJweDtcbiRidG4tYm9yZGVyLXJhZGl1czogMTBweDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogNXB4ICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXI6ICRyZWQ7XG4kYnRuLXBhZGRpbmc6IDEwcHggMjBweCA5cHg7XG4kYnRuLXBhZGRpbmctc206IDRweCAxMHB4ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6IDE4cHg7XG4kYnRuLWZvbnQtd2VpZ2h0OiAkbm9ybWFsO1xuJGJ0bi1saW5lLWhlaWdodDogJGJ0bi1mb250LXNpemUgKyA4O1xuXG4kYnRuLWJhY2tncm91bmQ6IHJnYmEoJHJlZCwgMC4yKTtcbiRidG4tYm9yZGVyLWNvbG9yOiAkYnRuLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnRuLWNvbG9yOiAkcmVkO1xuLy8gaG92ZXJcbiRidG4taG92ZXItYmFja2dyb3VuZDogJHJlZDtcbiRidG4taG92ZXItYm9yZGVyLWNvbG9yOiAkcmVkO1xuJGJ0bi1ob3Zlci1jb2xvcjogJHdoaXRlO1xuXG4vLyBGb3Jtc1xuJGlucHV0LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOyAvLyBmb250IHNpemUgZm9yIGZvcm1zIGVsZW1lbnRzXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRpbnB1dC1mb250LXNpemUgKyAyOyAvLyBsaW5lIGhlaWdodCBmb3IgZm9ybXMgZWxlbWVudHNcbiRpbnB1dC1mb250LWZhbWlseTogJGJhc2UtZm9udDtcbiRpbnB1dC1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0OyAvLyBwYWRkaW5nIGZvciBmb3JtcyBlbGVtZW50c1xuJGlucHV0LXBhZGRpbmctaG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDsgLy8gcGFkZGluZyBmb3IgZm9ybXMgZWxlbWVudHNcbiRpbnB1dC1wYWRkaW5nOiAkaW5wdXQtcGFkZGluZy12ZXJ0aWNhbCAkaW5wdXQtcGFkZGluZy1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0OyAvLyBib3JkZXIgaW5wdXQncyB3aWR0aFxuJGlucHV0LWJvcmRlcjogJGlucHV0LWJvcmRlci13aWR0aCBzb2xpZCAkYmxhY2sgIWRlZmF1bHQ7IC8vIGJvcmRlciBmb3IgZm9ybXMgZWxlbWVudHNcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0OyAvLyBib3JkZXIgcmFkaXVzIGZvciBmb3JtcyBlbGVtZW50c1xuJGlucEg6ICRpbnB1dC1ib3JkZXItd2lkdGggKyAyICogJGlucHV0LXBhZGRpbmctdmVydGljYWwgKyAkaW5wdXQtbGluZS1oZWlnaHQ7XG4kaW5wdXQtaGVpZ2h0OiAoXG5cdDIgKiAoJGlucHV0LWJvcmRlci13aWR0aCArICRpbnB1dC1wYWRkaW5nLXZlcnRpY2FsKSArICRpbnB1dC1saW5lLWhlaWdodCkgIWRlZmF1bHQ7IC8vIGhlaWdodCBmb3IgZm9ybXMgZWxlbWVudHNcbi8vc3VibWl0XG4kc3VibWl0LWJvcmRlci13aWR0aDogMnB4O1xuJHN1Ym1pdC1iYWNrZ3JvdW5kOiByZ2JhKCRyZWQsIDAuMik7XG4kc3VibWl0LWNvbG9yOiAkcmVkO1xuJHN1Ym1pdC1oZWlnaHQ6IDQwcHg7XG4kc3VibWl0LWJvcmRlci1jb2xvcjogJHJlZDtcbiRzdWJtaXQtcGFkZGluZzogJGJ0bi1wYWRkaW5nO1xuJHN1Ym1pdC1mb250LXNpemU6ICRidG4tZm9udC1zaXplO1xuJHN1Ym1pdC1saW5lLWhlaWdodDogJGJ0bi1saW5lLWhlaWdodDtcbi8vIHN1Ym1pdCBob3ZlclxuJHN1Ym1pdC1ob3Zlci1iYWNrZ3JvdW5kOiAkcmVkOyAvLyBzdWJtaXQgYmFja2dyb3VuZCBob3ZlclxuJHN1Ym1pdC1ob3Zlci1jb2xvcjogJHdoaXRlOyAvLyBzdWJtaXQgY29sb3IgaG92ZXJcbi8vZm9jdXNcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICRyZWQgIWRlZmF1bHQ7IC8vIGJvcmRlciBjb2xvciBmb3IgZm9ybXMgZWxlbWVudHNcbi8vcGxhY2Vob2xkZXJcbiRwbGFjZWhvbGRlci1jb2xvcjogJGdyYXkgIWRlZmF1bHQ7XG4vLyBzZWxlY3RcbiRzZWxlY3QtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuJHNlbGVjdC1ib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4kc2VsZWN0LWJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xuJHNlbGVjdC1wYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcbiRzZWxlY3QtZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuJHNlbGVjdC1saW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuXG4vLyBhbmltYXRpb24gc3BlZWRcbiRhbmltYXRpb24tc3BlZWQ6IDAuM3M7IiwiLy8gbGlzdCByZXNldFxuJWxpc3RyZXNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBsaSB7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cblxuLy8gY2xlYXJmaXhcbiVjbGVhcmZpeCB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi5jbGVhcmZpeCB7XG4gIEBleHRlbmQgJWNsZWFyZml4O1xufVxuXG4vLyB0cmFuc2l0aW9uXG4ldHJhbnNpdGlvbiB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4vLyBqdXN0aWZ5IG5hdlxuJWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBmb250LXNpemU6IDFweDtcbiAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgPioge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbn1cblxuJWJnQ292ZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbiVhYnNvbHV0ZUNvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG59XG5cbi8vLyAqIEhlbHBlciBjbGFzcyB0byB0cnVuY2F0ZSBhbmQgYWRkIGVsbGlwc2lzIHRvIGEgc3RyaW5nIHRvbyBsb25nIGZvciBpdCB0byBmaXRcbi8vLyAqIG9uIGEgc2luZ2xlIGxpbmUuXG4vLy8gKiAxLiBQcmV2ZW50IGNvbnRlbnQgZnJvbSB3cmFwcGluZywgZm9yY2luZyBpdCBvbiBhIHNpbmdsZSBsaW5lLlxuLy8vICogMi4gQWRkIGVsbGlwc2lzIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUuXG5cbi5lbGxpcHNpcyB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIC8qIDEgKi9cbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIC8qIDIgKi9cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRmLXJvdyB7XG4gIEBpbmNsdWRlIGFkZC1wYXJhbXMoKTtcbiAgQGluY2x1ZGUgZmxleC1ncmlkKCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gdmVydGljYWwgYWxpZ24gZWwgaW5zaWRlIHBhcmVudCB3aXRoIGZpeGVkIGhlaWdodC9taW4taGVpZ2h0XG4vLyB1c2FnZVxuLy8gaHRtbCAtIC5wYXJlbnQ+LmNoaWxkXG4vLyBzY3NzIC0gQGluY2x1ZGUgdi1hbGlnbjtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduKDI1MHB4KTtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduKDI1MHB4LCBib3R0b20sIGJlZm9yZSk7XG4vL1xuQG1peGluIHYtYWxpZ24oJHZhLWhlaWdodDogMTAwJSwgJHZhLWRpcmVjdGlvbjogbWlkZGxlLCAkdmEtcHNldWRvOiBhZnRlcikge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJjojeyR2YS1wc2V1ZG99IHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246ICR2YS1kaXJlY3Rpb247XG4gICAgd2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogJHZhLWhlaWdodDtcbiAgfVxuXG4gID4qIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogJHZhLWRpcmVjdGlvbjtcbiAgICBtYXgtd2lkdGg6IDk5JTtcbiAgfVxufVxuXG4vLyB2ZXJ0aWNhbCBhbGlnbiBhIHBhaXIgb2YgY2hpbGQgZWwgaW5zaWRlIHBhcmVudFxuLy8gdXNhZ2Vcbi8vIGh0bWwgLSAucG9zdD4uaW1hZ2UrLnRleHRcbi8vIHNjc3MgLSBAaW5jbHVkZSB2LWFsaWduLXBhaXIoaW1hZ2UsIHRleHQpO1xuLy8gICAgIG9yIEBpbmNsdWRlIHYtYWxpZ24tcGFpcihpbWFnZSwgdGV4dCwgYm90dG9tKTtcbi8vICAgICBvciBAaW5jbHVkZSB2LWFsaWduLXBhaXIoaW1hZ2UsIHRleHQsIG1pZGRsZSwgMjAwcHgpO1xuLy9cbkBtaXhpbiB2LWFsaWduLXBhaXIoJGNoaWxkLW5hbWUxLCAkY2hpbGQtbmFtZTIsICR2YWxpZ246IG1pZGRsZSwgJHdpZHRoMTogYXV0bywgJHdpZHRoMjogYXV0bykge1xuICBkaXNwbGF5OiB0YWJsZTtcblxuICAuI3skY2hpbGQtbmFtZTF9IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiAkdmFsaWduO1xuICAgIHdpZHRoOiAkd2lkdGgxO1xuICB9XG5cbiAgLiN7JGNoaWxkLW5hbWUyfSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogJHZhbGlnbjtcbiAgICB3aWR0aDogJHdpZHRoMjtcbiAgfVxufVxuXG4vLyB2ZXJ0aWNhbCBhbGlnbiBlbFxuLy8gdXNhZ2U6IEBpbmNsdWRlIHZlcnRpY2FsLWFsaWduLWVsO1xuLy9cbkBtaXhpbiB2ZXJ0aWNhbC1hbGlnbi1lbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIE1peGluIGhlbHBpbmcgZGVmaW5pbmcgYm90aCBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBzaW11bHRhbmVvdXNseS5cbi8vL1xuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vL1xuLy8vIEBwYXJhbSB7TGVuZ3RofSAkd2lkdGggLSBFbGVtZW504oCZcyBgd2lkdGhgXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRoZWlnaHQgKCR3aWR0aCkgLSBFbGVtZW504oCZcyBgaGVpZ2h0YFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgQGluY2x1ZGUgc2l6ZSgxMGVtKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmJhciB7XG4vLy8gICAgIEBpbmNsdWRlIHNpemUoMTAwJSwgMTBlbSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZm9vIHtcbi8vLyAgICAgd2lkdGg6IDEwZW07XG4vLy8gICAgIGhlaWdodDogMTBlbTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmJhciB7XG4vLy8gICAgIHdpZHRoOiAxMDAlO1xuLy8vICAgICBoZWlnaHQ6IDEwZW07XG4vLy8gICB9XG4vLy9cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cblxuLy8vIGZvbnQtc21vdGhpbmdcbi8vLyBAaW5jbHVkZSBmb250LXNtb290aGluZyhvbik7XG4vLy8gQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcob2ZmKTtcbkBtaXhpbiBmb250LXNtb290aGluZygkdmFsdWU6IG9uKSB7XG4gIEBpZiAkdmFsdWUgPT1vbiB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogYXV0bztcbiAgfVxufVxuXG5cbi8vLyBIaWRlcyB0aGUgdGV4dCBpbiBhbiBlbGVtZW50LCBjb21tb25seSB1c2VkIHRvIHNob3cgYW4gaW1hZ2UuIFNvbWUgZWxlbWVudHMgd2lsbCBuZWVkIGJsb2NrLWxldmVsIHN0eWxlcyBhcHBsaWVkLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL3plbGRtYW4uY29tLzIwMTIvMDMvMDEvcmVwbGFjaW5nLXRoZS05OTk5cHgtaGFjay1uZXctaW1hZ2UtcmVwbGFjZW1lbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBoaWRlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XG4vLy8gICAgIHRleHQtaW5kZW50OiAxMDElO1xuLy8vICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuLy8vICAgfVxuLy8vXG5AbWl4aW4gaGlkZS10ZXh0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IDEwMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cblxuLy8vIENyZWF0ZXMgYSB2aXN1YWwgdHJpYW5nbGUuXG4vLy8gTWl4aW4gdGFrZXMgKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pXG4vLy8gVGhlICRzaXplIGFyZ3VtZW50IGNhbiB0YWtlIG9uZSBvciB0d28gdmFsdWVz4oCUd2lkdGggaGVpZ2h0LlxuLy8vIFRoZSAkY29sb3IgYXJndW1lbnQgY2FuIHRha2Ugb25lIG9yIHR3b1xuLy8vIHZhbHVlc+KAlGZvcmVncm91bmQtY29sb3IgYmFja2dyb3VuZC1jb2xvci5cbi8vL1xuLy8vIEBhdXRob3IgaHR0cDovL2JvdXJib24uaW8vZG9jcy8jdHJpYW5nbGVcbi8vL1xuLy8vICRkaXJlY3Rpb246XG4vLy8gdXAsIGRvd24sIGxlZnQsIHJpZ2h0LCB1cC1yaWdodCwgdXAtbGVmdCwgZG93bi1yaWdodCwgZG93bi1sZWZ0XG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAaW5jbHVkZSB0cmlhbmdsZSgxMnB4LCBncmF5LCBkb3duKTtcbi8vLyAgIEBpbmNsdWRlIHRyaWFuZ2xlKDEycHggNnB4LCBncmF5IGJsdWUsIHVwLWxlZnQpO1xuLy8vXG5AbWl4aW4gdHJpYW5nbGUoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICAkd2lkdGg6IG50aCgkc2l6ZSwgMSk7XG4gICRoZWlnaHQ6IG50aCgkc2l6ZSwgbGVuZ3RoKCRzaXplKSk7XG4gICRmb3JlZ3JvdW5kLWNvbG9yOiBudGgoJGNvbG9yLCAxKTtcbiAgJGJhY2tncm91bmQtY29sb3I6IGlmKGxlbmd0aCgkY29sb3IpPT0yLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PXVwKSBvciAoJGRpcmVjdGlvbiA9PWRvd24pIG9yICgkZGlyZWN0aW9uID09cmlnaHQpIG9yICgkZGlyZWN0aW9uID09bGVmdCkge1xuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09dXAge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09cmlnaHQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgJGRpcmVjdGlvbiA9PWRvd24ge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09bGVmdCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT11cC1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT11cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09dXAtcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkZGlyZWN0aW9uID09dXAtbGVmdCB7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PWRvd24tcmlnaHQpIG9yICgkZGlyZWN0aW9uID09ZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09ZG93bi1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICRkaXJlY3Rpb24gPT1kb3duLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT1pbnNldC11cCkge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHdpZHRoO1xuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT1pbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9yZWdyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PWluc2V0LXJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkYmFja2dyb3VuZC1jb2xvciAkZm9yZWdyb3VuZC1jb2xvcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PWluc2V0LWxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkd2lkdGggJGhlaWdodDtcbiAgfVxufVxuXG5cbi8vLyBBbmltYXRlIGNzcyBwcm9wZXJ0aWVzXG4vLyB1c2FnZVxuLy8gc2NzcyAtIEBpbmNsdWRlIGFuaW1hdGUoY29sb3IpO1xuLy8gICAgIG9yIEBpbmNsdWRlIGFuaW1hdGUoY29sb3Igd2lkdGgpO1xuLy8gICAgIG9yIEBpbmNsdWRlIGFuaW1hdGUoY29sb3Igd2lkdGgsIDFzLCBsaW5lYXIpO1xuLy9cbiRhbmltYXRpb24tc3BlZWQ6IDAuM3MgIWRlZmF1bHQ7XG5cbkBtaXhpbiBhbmltYXRlKCRwcm9wZXJ0aWVzLCAkZHVyYXRpb246ICRhbmltYXRpb24tc3BlZWQsICRlYXNpbmc6IGVhc2UtaW4tb3V0KSB7XG4gICRsaXN0OiAoKTtcblxuICBAZWFjaCAkcHJvcCBpbiAkcHJvcGVydGllcyB7XG4gICAgJHN0cjogI3skcHJvcH0gI3skZHVyYXRpb259ICN7JGVhc2luZ307XG4gICAgJGxpc3Q6IGpvaW4oJGxpc3QsICN7JHN0cn0sIGNvbW1hKTtcbiAgfVxuXG4gIHRyYW5zaXRpb246ICRsaXN0O1xufVxuXG5cbi8vLyBNaXhpbiBmb3Igc3R5bGluZyBmb3JtLXBsYWNlaG9sZGVyc1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIge1xuLy8vICAgIGNvbG9yOiAjMzMzO1xuLy8vICAgfVxuLy8vXG4vLy8gICBpbnB1dFt0eXBlPSd0ZXh0J10sXG4vLy8gICBpbnB1dFt0eXBlPSd0ZWwnXSxcbi8vLyAgIGlucHV0W3R5cGU9J2VtYWlsJ10ge1xuLy8vICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4vLy8gICAgICBjb2xvcjogcmVkO1xuLy8vICAgICB9XG4vLy8gICB9XG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmLnBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gRm9udC1zaXplIHB4IHRvIHJlbSBjYWxjXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gc2VsZWN0b3Ige1xuLy8vICAgIEBpbmNsdWRlIHJlbS1mb250LXNpemUoMTZweCk7XG4vLy8gfVxuXG5AbWl4aW4gcmVtLWZvbnQtc2l6ZSgkcHgtc2l6ZSkge1xuICBmb250LXNpemU6ICRweC1zaXplO1xuICBmb250LXNpemU6ICgkcHgtc2l6ZSAvIDEwcHgpICsgcmVtO1xufVxuXG4vL2ZvbnQtZmFjZVxuQG1peGluIGZvbnQtZmFjZSgkZm9udC1uYW1lLCAkZm9udC1wYXRoLCAkd2VpZ2h0LCAkc3R5bGUpIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICcjeyRmb250LW5hbWV9JztcbiAgICBzcmM6IHVybCgnZm9udHMvI3skZm9udC1wYXRofS53b2ZmMicpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCgnZm9udHMvI3skZm9udC1wYXRofS53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgZm9udC1zdHlsZTogJHN0eWxlO1xuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1jb2xvcigkYnRuLWJhY2tncm91bmQsICRidG4tY29sb3IsICRidG4tYm9yZGVyLCAkYnRuLWhvdmVyLWJhY2tncm91bmQsICRidG4taG92ZXItYm9yZGVyLCAkYnRuLWhvdmVyLWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6ICRidG4tYmFja2dyb3VuZDtcbiAgY29sb3I6ICRidG4tY29sb3I7XG4gIGJvcmRlcjogJGJ0bi1ib3JkZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGJ0bi1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnRuLWhvdmVyLWNvbG9yO1xuICAgIGJvcmRlcjogJGJ0bi1ob3Zlci1ib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGFkZC1wYXJhbXMoKSB7XG5cbiAgQGVhY2ggJHZhbCxcbiAgJG1lZGlhIGluICRncmlkIHtcbiAgICAmLmRmLXJyLSN7JHZhbH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpScgKyAkbWVkaWEpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZGYtYWljLSN7JHZhbH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpScgKyAkbWVkaWEpIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gZmxleCBncmlkXG5AbWl4aW4gZmxleC1ncmlkKCkge1xuXG4gIEBlYWNoICR2YWwsXG4gICRtZWRpYSBpbiAkZ3JpZCB7XG4gICAgQGZvciAkZ3V0dGVyIGZyb20gMSB0aHJvdWdoIDEyIHtcbiAgICAgIC5jb2wtI3skdmFsfS0jeyRndXR0ZXJ9IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpScgKyAkbWVkaWEpIHtcbiAgICAgICAgICBmbGV4OiAxIDAgY2FsYygxMDAlIC8gMTIgKiAjeyRndXR0ZXJ9KTtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogI3skZ3V0dGVyfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZm9yICRndXR0ZXIgZnJvbSAwIHRocm91Z2ggMTEge1xuICAgICAgLmNvbC1vZmZzZXQtI3skdmFsfS0jeyRndXR0ZXJ9IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJ+KJpScgKyAkbWVkaWEpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygxMDAlIC8gMTIgKiAjeyRndXR0ZXJ9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdi1jZW50ZXIoJG1pbi1oZWlnaHQ6IDQwMHB4KSB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgPioge1xuICAgIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBvYmplY3QgZml0IGZvciBpbWFnZVxuQG1peGluIGltZy1zY2FsZSB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuQG1peGluIGJnQ292ZXIge1xuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBhYnNvbHV0ZUNvdmVyIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHRib3R0b206IDA7XG59IiwiLy8vIGNvbG9ycyBibGFjayAmIHdoaXRlXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAubXktY2xhc3Mge1xuLy8vICAgICBiYWNrZ3JvdW5kOiBibGFjaygwLjE1KTtcbi8vLyAgICAgY29sb3I6IHdoaXRlKDAuOSk7XG4vLy8gICB9XG5AZnVuY3Rpb24gYmxhY2soJG9wYWNpdHkpIHtcbiAgICBAcmV0dXJuIHJnYmEoYmxhY2ssICRvcGFjaXR5KTtcbn1cblxuQGZ1bmN0aW9uIHdoaXRlKCRvcGFjaXR5KSB7XG4gICAgQHJldHVybiByZ2JhKHdoaXRlLCAkb3BhY2l0eSk7XG59XG5cbkBtaXhpbiB0aXRsZS1zaXplKCRzeW1ib2wpIHtcblxuICAgIEBlYWNoICRtZWRpYSxcbiAgICAkdGl0bGVzLXNpemUgaW4gJHRpdGxlLXBhbGV0dGUge1xuICAgICAgICBAaWYgJG1lZGlhID09bW9iaWxlIHtcblxuICAgICAgICAgICAgQGVhY2ggJHRpdGxlLFxuICAgICAgICAgICAgJHNpemUgaW4gJHRpdGxlcy1zaXplIHtcblxuICAgICAgICAgICAgICAgICN7JHRpdGxlfSxcbiAgICAgICAgICAgICAgICAuI3skdGl0bGV9IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2l6ZSArIHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCN7JHN5bWJvbH0jeyRtZWRpYX0pIHtcblxuICAgICAgICAgICAgICAgIEBlYWNoICR0aXRsZSxcbiAgICAgICAgICAgICAgICAkc2l6ZSBpbiAkdGl0bGVzLXNpemUge1xuXG4gICAgICAgICAgICAgICAgICAgICN7JHRpdGxlfSxcbiAgICAgICAgICAgICAgICAgICAgLiN7JHRpdGxlfSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzaXplICsgcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vXG4vLyBAZnVuY3Rpb25zXG4vL1xuXG4kcmVtLWJhc2U6IDE2ICFkZWZhdWx0O1xuXG4vLyBTVFJJUCBVTklUXG4vLyBJdCBzdHJpcHMgdGhlIHVuaXQgb2YgbWVhc3VyZSBhbmQgcmV0dXJucyBpdFxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICAgIEByZXR1cm4gY2FsYygkbnVtIC8gKCRudW0gKiAwICsgMSkpO1xufVxuXG4vLyBDT05WRVJUIFRPIFJFTVxuQGZ1bmN0aW9uIGNvbnZlcnQtdG8tcmVtKCR2YWx1ZSwgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAgICR2YWx1ZTogY2FsYyhzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlLXZhbHVlKSAqIDFyZW0pO1xuXG4gICAgQGlmICgkdmFsdWUgPT0wcmVtKSB7XG4gICAgICAgICR2YWx1ZTogMDtcbiAgICB9XG5cbiAgICAvLyBUdXJuIDByZW0gaW50byAwXG4gICAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vIFJFTSBDQUxDXG5cbi8vIE5ldyBTeW50YXgsIGFsbG93cyB0byBvcHRpb25hbGx5IGNhbGN1bGF0ZSBvbiBhIGRpZmZlcmVudCBiYXNlIHZhbHVlIHRvIGNvdW50ZXIgY29tcG91bmRpbmcgZWZmZWN0IG9mIHJlbSdzLlxuLy8gQ2FsbCB3aXRoIDEsIDIsIDMgb3IgNCBwYXJhbWV0ZXJzLCAncHgnIGlzIG5vdCByZXF1aXJlZCBidXQgc3VwcG9ydGVkOlxuLy9cbi8vICAgcmVtLWNhbGMoMTAgMjAgMzBweCA0MCk7XG4vL1xuLy8gU3BhY2UgZGVsaW1pdGVkLCBpZiB5b3Ugd2FudCB0byBkZWxpbWl0IHVzaW5nIGNvbW1hJ3MsIHdyYXAgaXQgaW4gYW5vdGhlciBwYWlyIG9mIGJyYWNrZXRzXG4vL1xuLy8gICByZW0tY2FsYygoMTAsIDIwLCAzMCwgNDBweCkpO1xuLy9cbi8vIE9wdGlvbmFsbHkgY2FsbCB3aXRoIGEgZGlmZmVyZW50IGJhc2UgKGVnOiA4cHgpIHRvIGNhbGN1bGF0ZSByZW0uXG4vL1xuLy8gICByZW0tY2FsYygxNnB4IDMycHggNDhweCwgOHB4KTtcbi8vXG4vLyBJZiB5b3UgcmVxdWlyZSB0byBjb21tYSBzZXBhcmF0ZSB5b3VyIGxpc3Rcbi8vXG4vLyAgIHJlbS1jYWxjKCgxNnB4LCAzMnB4LCA0OCksIDhweCk7XG5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICAgJG1heDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gICAgQGlmICRtYXggPT0xIHtcbiAgICAgICAgQHJldHVybiBjb252ZXJ0LXRvLXJlbShudGgoJHZhbHVlcywgMSksICRiYXNlLXZhbHVlKTtcbiAgICB9XG5cbiAgICAkcmVtVmFsdWVzOiAoXG4gICAgKTtcblxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkcmVtVmFsdWVzOiBhcHBlbmQoJHJlbVZhbHVlcywgY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UtdmFsdWUpKTtcbn1cblxuQHJldHVybiAkcmVtVmFsdWVzO1xufVxuXG5AZnVuY3Rpb24gZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKSB7XG4gICAgJHJlbVZhbHVlczogcmVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSk7XG5cbiAgICAkbWF4OiBsZW5ndGgoJHJlbVZhbHVlcyk7XG5cbiAgICBAaWYgJG1heCA9PTEge1xuICAgICAgICBAcmV0dXJuIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsIDEpKSAqIDFlbTtcbiAgICB9XG5cbiAgICAkZW1WYWx1ZXM6IChcbiAgICApO1xuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgge1xuICAgICRlbVZhbHVlczogYXBwZW5kKCRlbVZhbHVlcywgc3RyaXAtdW5pdChudGgoJHJlbVZhbHVlcywgJGkpKSAqIDFlbSk7XG59XG5cbkByZXR1cm4gJGVtVmFsdWVzO1xufVxuXG4vLy8gY29sb3JzIGJsYWNrICYgd2hpdGVcbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5teS1jbGFzcyB7XG4vLy8gICAgIGJhY2tncm91bmQ6IGJsYWNrKDAuMTUpO1xuLy8vICAgICBjb2xvcjogd2hpdGUoMC45KTtcbi8vLyAgIH1cbkBmdW5jdGlvbiBibGFjaygkb3BhY2l0eSkge1xuICAgIEByZXR1cm4gcmdiYShibGFjaywgJG9wYWNpdHkpO1xufVxuXG5AZnVuY3Rpb24gd2hpdGUoJG9wYWNpdHkpIHtcbiAgICBAcmV0dXJuIHJnYmEod2hpdGUsICRvcGFjaXR5KTtcbn1cblxuIiwiLy8gVHlwb2dyYXBoeVxuXG5AaW5jbHVkZSB0aXRsZS1zaXplKCfiiaUnKTtcblxuaDEsXG4uaDEsXG5oMixcbi5oMixcbmgzLFxuLmgzLFxuaDQsXG4uaDQsXG5oNSxcbi5oNSxcbmg2LFxuLmg2LFxuLmgge1xuXHRmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xuXHRjb2xvcjogJGhlYWRpbmdzLWNvbG9yO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMS40NTtcbn1cblxucCB7XG5cdG1hcmdpbjogMCAwIDIwcHg7XG59XG5cbmEge1xuXHRAaW5jbHVkZSBhbmltYXRlKGNvbG9yKTtcblx0Y29sb3I6ICRiYXNlLWxpbmstY29sb3I7XG5cdHRleHQtZGVjb3JhdGlvbjogJHRleHQtZGVjb3JhdGlvbjtcblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRjb2xvcjogJGJhc2UtbGluay1ob3Zlci1jb2xvcjtcblx0XHR0ZXh0LWRlY29yYXRpb246ICR0ZXh0LWRlY29yYXRpb24taG92ZXI7XG5cdH1cbn1cblxuYVtocmVmKj1cIm1haWx0bzpcIl0ge1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59IiwiLy8gZm9ybXNcbmZvcm0sXG5maWVsZHNldCB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSd0ZWwnXSxcbmlucHV0W3R5cGU9J2VtYWlsJ10sXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSxcbmlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG5pbnB1dFt0eXBlPSd1cmwnXSxcbi8vIGlucHV0W3R5cGU9J2RhdGUnXSxcbnRleHRhcmVhIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG5cdHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXHRmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG5cdGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG5cdGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGJvcmRlcjogJGlucHV0LWJvcmRlcjtcblx0Ym9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG5cblx0Jjpub3QodGV4dGFyZWEpIHtcblx0XHRoZWlnaHQ6ICRpbnB1dC1oZWlnaHQ7XG5cdH1cblxuXHQmOmZvY3VzIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcblx0fVxuXG5cdEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogJHBsYWNlaG9sZGVyLWNvbG9yO1xuXHR9XG59XG5cbmlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHstd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7fVxuXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbi8vICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4vLyB9XG5cbnRleHRhcmVhIHtcblx0cmVzaXplOiB2ZXJ0aWNhbDtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0b3ZlcmZsb3c6IGF1dG87XG59XG5cbmJ1dHRvbixcbmlucHV0W3R5cGU9J2J1dHRvbiddLFxuaW5wdXRbdHlwZT0ncmVzZXQnXSxcbmlucHV0W3R5cGU9J2ZpbGUnXSxcbmlucHV0W3R5cGU9J3N1Ym1pdCddIHtcblx0QGluY2x1ZGUgYW5pbWF0ZShiYWNrZ3JvdW5kLWNvbG9yIGNvbG9yKTtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG5cdGhlaWdodDogJHN1Ym1pdC1oZWlnaHQ7XG5cdHBhZGRpbmc6ICRzdWJtaXQtcGFkZGluZztcblx0Zm9udC1zaXplOiAkc3VibWl0LWZvbnQtc2l6ZTtcblx0bGluZS1oZWlnaHQ6ICRzdWJtaXQtbGluZS1oZWlnaHQ7XG5cdGNvbG9yOiAkc3VibWl0LWNvbG9yO1xuXHRvdXRsaW5lOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogMnB4IHNvbGlkICRidG4tYm9yZGVyO1xuXHRib3JkZXItcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXM7XG5cdGJhY2tncm91bmQ6ICRzdWJtaXQtYmFja2dyb3VuZDtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0cGFkZGluZzogMCAyMHB4O1xuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6ICRzdWJtaXQtaG92ZXItYmFja2dyb3VuZDtcblx0XHRjb2xvcjogJHN1Ym1pdC1ob3Zlci1jb2xvcjtcblx0fVxufSIsInVsLFxub2wsXG5kbCxcbnAsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5hZGRyZXNzLFxuZm9ybSxcbnRhYmxlLFxuYmxvY2txdW90ZSxcbmFwcGxldCxcbmVtYmVkLFxub2JqZWN0LFxuaWZyYW1lLFxuZnJhbWVzZXQge1xuICAgIG1hcmdpbjogMCAwICR2ZXJ0aWNhbC1yaHl0aG07XG59XG5cbmJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGdyYXk7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxudGgsXG50ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XG4gICAgcGFkZGluZzogM3B4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxudGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG51bCxcbm9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbnVsIHVsLFxudWwgb2wsXG5vbCB1bCxcbm9sIG9sIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luOiAwO1xufVxuXG51bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xufVxuXG5kbCB7XG4gICAgQGV4dGVuZCAlY2xlYXJmaXg7XG5cbiAgICBkdCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC4zZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG59XG5cbnByZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufSIsIi8vICNtYWluIHtcbi8vICAgQGV4dGVuZCAlY2xlYXJmaXg7XG4vLyB9XG4lbmF2U3R5bGVzIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW4tYm90dG9tOiAkdmVydGljYWwtcmh5dGhtO1xufVxuXG4lbmF2V1BCdG4ge1xuXHRAaW5jbHVkZSBhbmltYXRlKGNvbG9yIGJhY2tncm91bmQtY29sb3IpO1xuXHR6LWluZGV4OiAxO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiAkYnRuLWNvbG9yO1xuXHRib3JkZXItcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXM7XG5cdGJhY2tncm91bmQ6ICRidG4tYmFja2dyb3VuZDtcblx0Ym9yZGVyOiAycHggc29saWQgJGJ0bi1ib3JkZXI7XG5cdHBhZGRpbmc6IDZweCAyMHB4IDlweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdHBhZGRpbmc6ICRidG4tcGFkZGluZztcblx0XHRmb250OiAkYnRuLWZvbnQtd2VpZ2h0ICN7JGJ0bi1mb250LXNpemV9LyN7JGJ0bi1saW5lLWhlaWdodH0gJGJhc2UtZm9udDtcblx0fVxuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGNvbG9yOiAkYnRuLWhvdmVyLWNvbG9yO1xuXHRcdGJhY2tncm91bmQ6ICRidG4taG92ZXItYmFja2dyb3VuZDtcblx0fVxufVxuXG5baWQ9XCJ0d29jb2x1bW5zXCJdIHtcblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG59XG5cbltpZD1cImNvbnRlbnRcIl0ge1xuXHRwYWRkaW5nOiB7XG5cdFx0dG9wOiAzMHB4O1xuXHRcdGJvdHRvbTogMzBweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0d2lkdGg6IDcwJTtcblx0fVxuXG5cdCY6b25seS1jaGlsZCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuW2lkPVwic2lkZWJhclwiXSB7XG5cdHBhZGRpbmc6IHtcblx0XHR0b3A6IDMwcHg7XG5cdFx0Ym90dG9tOiAzMHB4O1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHR3aWR0aDogMzAlO1xuXHRcdHBhZGRpbmctbGVmdDogMzBweDtcblx0fVxufVxuXG4ud2lkZ2V0IHtcblx0QGV4dGVuZCAlY2xlYXJmaXg7XG5cdG1hcmdpbi1ib3R0b206ICR3aWRnZXQtbWFyZ2luO1xuXG5cdHNlbGVjdCB7XG5cdFx0bWluLXdpZHRoOiAxNTBweDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxufVxuXG4uc2VhcmNoLWZvcm0sXG4ucG9zdC1wYXNzd29yZC1mb3JtIHtcblx0QGV4dGVuZCAlY2xlYXJmaXg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cblx0bGFiZWwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0cCB7XG5cdFx0QGV4dGVuZCAlY2xlYXJmaXg7XG5cdH1cblxuXHRpbnB1dCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0fVxuXG5cdFx0W2lkPVwic2lkZWJhclwiXSAmIHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXJnaW46IDAgMCA1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jlt0eXBlPSdzdWJtaXQnXSB7XG5cdFx0XHRtYXJnaW4tdG9wOiA1cHg7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jlt0eXBlPSdzZWFyY2gnXSxcblx0XHQmW3R5cGU9J3Bhc3N3b3JkJ10sXG5cdFx0Jlt0eXBlPSd0ZXh0J10ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0fVxuXHR9XG59XG5cbi5uYXYtbGlua3MsXG4ubmF2aWdhdGlvbixcbi5uYXZpZ2F0aW9uLWNvbW1lbnRzIHtcblx0QGV4dGVuZCAlbmF2U3R5bGVzO1xuXHR3aWR0aDogMTAwJTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdC5zY3JlZW4tcmVhZGVyLXRleHQge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRsZWZ0OiAtOTk5OTlweDtcblx0fVxuXG5cdC5wYWdlLW51bWJlcnMge1xuXHRcdG1hcmdpbjogMCAzcHg7XG5cblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdH1cblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0fVxuXHR9XG5cblx0Lm5leHQsXG5cdC5wcmV2IHtcblx0XHRAaW5jbHVkZSBhbmltYXRlKGJhY2tncm91bmQpO1xuXHRcdEBleHRlbmQgJW5hdldQQnRuO1xuXG5cdFx0bWF4LXdpZHRoOiA0OSU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcblx0XHRcdGZvbnQtc2l6ZTogMDtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICfCuyc7XG5cdFx0XHRcdGZvbnQtc2l6ZTogJGJ0bi1mb250LXNpemU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lm5leHQge1xuXHRcdCYucGFnZS1udW1iZXJzIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdH1cblx0fVxuXG5cdC5wcmV2IHtcblx0XHQmLnBhZ2UtbnVtYmVycyB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJ8KrJztcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLm5hdmlnYXRpb24tc2luZ2xlIHtcblx0QGV4dGVuZCAlbmF2U3R5bGVzO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXHR3aWR0aDogMTAwJTtcblxuXHQubmV4dCxcblx0LnByZXYge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHRtYXgtd2lkdGg6IDQ5JTtcblx0XHRib3JkZXI6IDA7XG5cblx0XHRhIHtcblx0XHRcdEBpbmNsdWRlIGFuaW1hdGUoY29sb3IgYmFja2dyb3VuZC1jb2xvcik7XG5cdFx0XHRAZXh0ZW5kICVuYXZXUEJ0bjtcblxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRwYWRkaW5nOiAkYnRuLXBhZGRpbmc7XG5cdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkYnRuLWJvcmRlcjtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMDtcblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0XHRjb250ZW50OiAnwrsnO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogJGJ0bi1mb250LXNpemU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQucHJldiB7XG5cdFx0YSB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Y29udGVudDogJ8KrJztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uY29tbWVudC1mb3JtIHtcblx0bGFiZWwge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdHBhZGRpbmctYm90dG9tOiA0cHg7XG5cdH1cblxuXHRpbnB1dCxcblx0dGV4dGFyZWEge1xuXHRcdG1hcmdpbjogMCA0cHggMCAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdG1heC13aWR0aDogMzAwcHg7XG5cdFx0fVxuXG5cdFx0Jlt0eXBlPSdzdWJtaXQnXSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblx0fVxuXG5cdHRleHRhcmVhIHtcblx0XHRvdmVyZmxvdzogYXV0bztcblx0XHRtYXJnaW46IDA7XG5cdFx0aGVpZ2h0OiAxMjBweDtcblx0XHRtaW4taGVpZ2h0OiAxMjBweDtcblx0fVxuXG5cdC5jb21tZW50LWZvcm0tY29va2llcy1jb25zZW50IHtcblx0XHRpbnB1dCB7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG5cblx0XHRsYWJlbCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXHR9XG59XG5cbi5jb21tZW50bGlzdCB7XG5cdG1hcmdpbjogMCAwIDEuMmVtO1xuXG5cdC5lZGl0LWxpbmsge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdC5hdmF0YXItaG9sZGVyIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW46IDAgMS4yZW0gNHB4IDA7XG5cdH1cbn1cblxuLmNvbW1lbnRsaXN0LWl0ZW0ge1xuXHQuY29tbWVudGxpc3QtaXRlbSB7XG5cdFx0cGFkZGluZzogMDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRwYWRkaW5nOiAwIDAgMCAyZW07XG5cdFx0fVxuXHR9XG59XG5cbi5jb21tZW50LFxuLmNvbW1lbnRsaXN0LWhvbGRlciB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jb21tZW50bGlzdC1pdGVtIC5jb21tZW50bGlzdC1pdGVtLFxuLmNvbW1lbnRsaXN0LWl0ZW0rLmNvbW1lbnRsaXN0LWl0ZW0ge1xuXHRwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLndpZGdldF9jYWxlbmRhciB7XG5cblx0dGgsXG5cdHRkIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblxuXHQjcHJldiB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXG5cdCNuZXh0IHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxufVxuXG4jd3AtY2FsZW5kYXIge1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLndwLWNhcHRpb24ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGNsZWFyOiBib3RoO1xuXHRib3JkZXI6ICRidG4tYm9yZGVyO1xuXHRwYWRkaW5nOiA0cHg7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRpbWcge1xuXHRcdG1hcmdpbi1ib3R0b206IDRweDtcblx0fVxuXG5cdHAge1xuXHRcdG1hcmdpbjogMDtcblx0fVxufVxuXG4uYWxpZ25jZW50ZXIge1xuXHRtYXJnaW46IDAgYXV0byAkdmVydGljYWwtcmh5dGhtO1xufVxuXG5pbWcge1xuXHQmLmFsaWduY2VudGVyIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fVxufVxuXG4uYWxpZ25sZWZ0IHtcblx0ZmxvYXQ6IGxlZnQ7XG5cdG1hcmdpbjogMCAxLjJlbSA0cHggMDtcbn1cblxuLmFsaWducmlnaHQge1xuXHRmbG9hdDogcmlnaHQ7XG5cdG1hcmdpbjogMCAwIDRweCAxLjJlbTtcbn1cblxuLm1lanMtY29udGFpbmVyIHtcblx0bWFyZ2luLWJvdHRvbTogJHZlcnRpY2FsLXJoeXRobTtcbn1cblxuLndwLWNhcHRpb24tdGV4dCxcbi5nYWxsZXJ5LFxuLmFsaWdubm9uZSxcbi5nYWxsZXJ5LWNhcHRpb24sXG4uc3RpY2t5LFxuLmJ5cG9zdGF1dGhvciB7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLmdhbGxlcnkge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LXdyYXA6IHdyYXA7XG5cdHdpZHRoOiAxMDAlO1xuXG5cdC5nYWxsZXJ5LWl0ZW0ge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwIDEwcHggMTBweDtcblxuXHRcdGR0IHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW46IDAgMCAxMHB4O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHR9XG5cdH1cbn1cblxuLmdhbGxlcnktY29sdW1ucy0yIHtcblx0LmdhbGxlcnktaXRlbSB7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdFx0d2lkdGg6IDUwJTtcblx0fVxufVxuXG4uZ2FsbGVyeS1jb2x1bW5zLTMge1xuXHQuZ2FsbGVyeS1pdGVtIHtcblx0XHRtYXgtd2lkdGg6IDMzLjMzJTtcblx0XHR3aWR0aDogMzMuMzMlO1xuXHR9XG59XG5cbi50YWdjbG91ZCB7XG5cdEBleHRlbmQgJWxpc3RyZXNldDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xufVxuXG4uY29tbWVudC1saXN0IHtcblx0LmNvbW1lbnQtYm9keSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0fVxufVxuXG4uY29tbWVudC1hdXRob3Ige1xuXHRpbWcge1xuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0fVxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBoZWFkZXIgb2YgdGhlIHNpdGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5baWQ9XCJoZWFkZXJcIl0ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDk5OTtcblx0Ym94LXNoYWRvdzogMCAzcHggMjBweCByZ2JhKCRibGFjaywgMC4xKTtcblxuXHRhIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0fVxuXG5cdC5kZi1yb3cge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHR9XG59XG5cbi5oZWFkZXItdG9wIHtcblx0YmFja2dyb3VuZDogJHJlZDtcblx0Y29sb3I6ICR3aGl0ZTtcblxuXHQuZGYtcm93IHtcblx0XHRmbGV4LXdyYXA6IG5vd3JhcDtcblx0XHRhbGlnbi1pdGVtczogc3RyZXRjaDtcblx0XHRtYXJnaW46IDA7XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogaW5oZXJpdDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Y29sb3I6ICR5ZWxsb3c7XG5cdFx0fVxuXHR9XG59XG5cbi5tZW51LXNpYmxpbmdzLXNpdGVzLFxuLm1lbnUtc2VydmljZSB7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0bGluZS1oZWlnaHQ6IDEuMjtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdGZvbnQtc2l6ZTogMTVweDtcblx0fVxuXG5cdHVsIHtcblx0XHRAZXh0ZW5kICVsaXN0cmVzZXQ7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0bWFyZ2luOiAwIC0zcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0bWFyZ2luOiAwIC04cHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRtYXJnaW46IDAgLTE2cHg7XG5cdFx0fVxuXHR9XG5cblx0bGkge1xuXHRcdHBhZGRpbmc6IDAgM3B4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdHBhZGRpbmc6IDAgOHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0cGFkZGluZzogMCAxNnB4O1xuXHRcdH1cblxuXHRcdCYuYWN0aXZlIHtcblx0XHRcdGNvbG9yOiAkeWVsbG93LWxpZ2h0O1xuXHRcdH1cblx0fVxuXG5cdGEge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdH1cblxuXHRzdmcge1xuXHRcdGZpbGw6IGN1cnJlbnRDb2xvcjtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRtYXJnaW46IDAgMTVweCAwIDA7XG5cdFx0fVxuXHR9XG59XG5cbi5tZW51LXNpYmxpbmdzLXNpdGVzIHtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkcmVkLWxpZ2h0LCAwLjU5KTtcblx0bWFyZ2luLWxlZnQ6ICgtJGd1dHRlcik7XG5cdHBhZGRpbmc6IDExcHggMzNweCAxMXB4ICRndXR0ZXI7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRtYXJnaW4tbGVmdDogLTk5OTlweDtcblx0XHRwYWRkaW5nLWxlZnQ6IDk5OTlweDtcblx0XHRwYWRkaW5nLXRvcDogOHB4O1xuXHR9XG5cblx0dWwge1xuXHRcdG1hcmdpbjogMCAtM3B4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdG1hcmdpbjogMCAtOHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0bWFyZ2luOiAwIC0xNnB4O1xuXHRcdH1cblx0fVxuXG5cdGxpIHtcblx0XHRwYWRkaW5nOiAwIDNweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRwYWRkaW5nOiAwIDhweDtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdHBhZGRpbmc6IDAgMTZweDtcblx0XHR9XG5cdH1cbn1cblxuLm1lbnUtc2VydmljZSB7XG5cdHBhZGRpbmc6IDlweCAwIDEwcHggJGd1dHRlcjtcblxuXHR1bCB7XG5cdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblx0XHRtYXJnaW46IDAgLThweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0bWFyZ2luOiAwIC0xNnB4O1xuXHRcdH1cblx0fVxuXG5cdGxpIHtcblx0XHRwYWRkaW5nOiAwIDhweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0cGFkZGluZzogMCAxNnB4O1xuXHRcdH1cblxuXHR9XG5cblx0YSB7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0fVxuXG5cdC50ZXh0IHtcblx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdH1cblx0fVxufVxuXG4uaGVhZGVyLW1pZGRsZSB7XG5cdHBhZGRpbmc6IDI0cHggMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRwYWRkaW5nOiAzMHB4IDA7XG5cdH1cblxuXHQuYmxvY2staW5zZXJ0IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW46IDEwcHggMCAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSA0MzJweCk7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdH1cblx0fVxuXG5cdC5kZi1yb3cge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRtYXJnaW46IDAgKC0kZ3V0dGVyKTsgXG5cdFx0fVxuXHQgIFxuXHRcdD4gKiB7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0XHRwYWRkaW5nOiAwICRndXR0ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5sb2dvIHtcblx0d2lkdGg6IDE0MHB4O1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0d2lkdGg6IDMwN3B4O1xuXHR9XG59XG5cbi5uYXYtb3BlbmVyIHtcblx0QGluY2x1ZGUgc2l6ZSAoNDVweCk7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Zm9udC1zaXplOiAwO1xuXHRsaW5lLWhlaWdodDogMDtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQmOmJlZm9yZSxcblx0JjphZnRlcixcblx0c3BhbiB7XG5cdFx0QGluY2x1ZGUgYW5pbWF0ZSh0cmFuc2Zvcm0gb3BhY2l0eSk7XG5cdFx0YmFja2dyb3VuZDogJGJsYWNrO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDUwJTtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGhlaWdodDogNHB4O1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0bWFyZ2luOiAwIDVweDtcblx0fVxuXG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHtcblx0XHRjb250ZW50OiAnJztcblx0fVxuXG5cdCY6YmVmb3JlIHtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuXHR9XG5cblx0JjphZnRlciB7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDZweCk7XG5cdH1cblxuXHQubmF2LWFjdGl2ZSAmIHtcblx0XHRzcGFuIHtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdFx0fVxuXG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVkoMCk7XG5cdFx0fVxuXHR9XG59XG5cbi5tb2JpbGUtZHJvcCB7XG5cdEBpbmNsdWRlIGFuaW1hdGUoYWxsKTtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDEwMCU7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiA5OTk7XG5cdHBhZGRpbmc6IDEwcHggMTVweDtcblx0YmFja2dyb3VuZDogJHllbGxvdztcblx0Y29sb3I6ICRncmF5LTcwMDtcblx0b3BhY2l0eTogMDtcblx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRwb3NpdGlvbjogc3RhdGljO1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxuXG5cdC5uYXYtYWN0aXZlICYge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dmlzaWJpbGl0eTogdmlzaWJsZTtcblx0fVxufVxuXG5baWQ9XCJuYXZcIl0ge1xuXHRmb250LXNpemU6IDE4cHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdGZvbnQtc2l6ZTogMTVweDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdGZvbnQtc2l6ZTogMThweDtcblx0fVxuXG5cdHVsIHtcblx0XHRAZXh0ZW5kICVsaXN0cmVzZXQ7XG5cdH1cblxuXHQ+IHVsIHtcblx0XHRtYXJnaW46IDAgLTE1cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdG1hcmdpbjogMCAtOHB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0bWFyZ2luOiAwIC0xNXB4O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV3aWRlc2NyZWVuJykge1xuXHRcdFx0bWFyZ2luOiAwIC0zMHB4O1xuXHRcdH1cblxuXHRcdD4gbGkge1xuXHRcdFx0Ji5ob3ZlciB7XG5cdFx0XHRcdD4gYSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHJlZDtcblx0XHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXG5cdFx0XHRcdFx0Ji5oYXMtZHJvcC1kb3duLWEge1xuXHRcdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC0yMjVkZWcpO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDAgMCAtMXB4IDVweDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuZHJvcCB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0XHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdD4gYSB7XG5cdFx0XHRcdEBpbmNsdWRlIGFuaW1hdGUgKGJhY2tncm91bmQtY29sb3IgY29sb3IpO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0cGFkZGluZzogOHB4IDE1cHg7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdFx0XHRwYWRkaW5nOiA4cHggOHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdFx0cGFkZGluZzogMTNweCAxNXB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXdpZGVzY3JlZW4nKSB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAzMHB4O1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDMwcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLmhhcy1kcm9wLWRvd24tYSB7XG5cdFx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBzaXplICg3cHgpO1xuXHRcdFx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiB7XG5cdFx0XHRcdFx0XHRcdHN0eWxlOiBzb2xpZDtcblx0XHRcdFx0XHRcdFx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDAgMCAxcHggMXB4O1xuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdG1hcmdpbjogMCAwIDNweCA1cHg7XG5cdFx0XHRcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0bGkge1xuXHRcdCYuYWN0aXZlIHtcblx0XHRcdD4gYSB7XG5cdFx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5kcm9wIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0b3A6IDEwMCU7XG5cdFx0bGVmdDogMDtcblx0XHR6LWluZGV4OiAyO1xuXHRcdHBhZGRpbmc6IDEwcHggJGd1dHRlcjtcblx0XHRib3gtc2hhZG93OiAwIDJweCA0MHB4IHJnYmEoJGJsYWNrLCAwLjA4KTtcblx0XHRib3JkZXI6IHtcblx0XHRcdHN0eWxlOiBzb2xpZDtcblx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0d2lkdGg6IDNweCAwO1xuXHRcdH07XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0QGluY2x1ZGUgYW5pbWF0ZSAob3BhY2l0eSB2aXNpYmlsaXR5KTtcblx0XHRcdHBhZGRpbmc6IDMycHggNDVweCAzMnB4IDM2cHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHRcdFx0bWF4LWhlaWdodDogNjB2aDtcblx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0fVxuXHR9XG5cblx0LmRyb3AtbWVudSB7XG5cdFx0bWFyZ2luOiAwIDAgMjBweDtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHR3aWR0aDogMjc1cHg7XG5cdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0fVxuXG5cdFx0Jjpvbmx5LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdHBhZGRpbmc6IDAgMTRweCAxMHB4O1xuXHRcdFx0bWFyZ2luOiAwIDAgMTJweDtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheS0zMDA7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDI4cHg7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDI4cHg7XG5cdFx0XHR9XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkZ3JheS05MDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6IGluaGVyaXQ7XG5cdH1cbn1cblxuLmJsb2NrLWxhc3QtcG9zdCB7XG5cdGZvbnQ6IDUwMCAxNnB4LzEuNiAkYmFzZS1mb250LXNlcmlmO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDMyOHB4KTtcblx0XHRmb250LXNpemU6IDE1cHg7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRmb250LXNpemU6IDE4cHg7XG5cdH1cblxuXHQmOm9ubHktY2hpbGQge1xuXHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHRoMSB7XG5cdFx0Zm9udC1zaXplOiAyNnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjA1O1xuXHR9XG59XG5cbi5saXN0LWxhc3QtcG9zdCB7XG5cdEBleHRlbmQgJWxpc3RyZXNldDtcblx0Y29sb3I6ICRibGFjaztcblxuXHRsaSB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRyZWQtZGFyaztcblx0XHRwYWRkaW5nOiAwIDAgMTZweDtcblx0XHRtYXJnaW46IDAgMCAxM3B4O1xuXG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJHJlZDtcblx0XHR9XG5cdH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIGZpbGUgY29udGFpbnMgYWxsIHN0eWxlcyByZWxhdGVkIHRvIHRoZSBjb21tb24gbGF5b3V0IG9mIHRoZSBzaXRlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuW2lkPVwid3JhcHBlclwiXSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuaHIge1xuXHRib3JkZXI6IHtcblx0XHRzdHlsZTogc29saWQ7XG5cdFx0Y29sb3I6ICRyZWQtZGFyaztcblx0XHR3aWR0aDogMnB4IDAgMDtcblx0fTtcblxuXHQmOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbjogMjVweCAwIDA7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdG1hcmdpbi10b3A6IDM5cHg7XG5cdFx0fVxuXHR9XG59XG5cbi5nLWNvbnRhaW5lcixcbi5jb250YWluZXIge1xuXHRtYXgtd2lkdGg6ICRtYXgtd2lkdGgtY2VudGVyLWNvbnRhaW5lcjtcblx0cGFkZGluZzogJHBhZGRpbmctY29udGFpbmVyO1xuXHRtYXJnaW46IDAgYXV0bztcblxuXHQuZy1jb250YWluZXIsXG5cdC5jb250YWluZXIge1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHR9XG59XG5cbltpZD1cIm1haW5cIl0ge1xuXHRmbGV4LWdyb3c6IDE7XG5cblx0PiAuZy1jb250YWluZXIsXG5cdD4gLmNvbnRhaW5lciB7XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMzBweDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiA1OXB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiA1OXB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCYuZnVsbC13aWR0aCB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xuXHRcdH1cblx0fVxuXG5cdGltZyB7XG5cdFx0KyBwIHtcblx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0fVxuXHR9XG59XG5cbi5zZWN0aW9uLW1haW4ge1xuXHRwYWRkaW5nOiAwIDAgMzBweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogNDlweDtcblx0fVxuXG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdHBhZGRpbmctdG9wOiAzMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogNDlweDtcblx0XHR9XG5cdH1cbn1cblxuLmJsb2NrLWluc2VydCB7XG5cdGltZyB7XG5cdFx0bWF4LXdpZHRoOiBub25lO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbi5zZWN0aW9uLXN0b2NrLXRpY2tlciB7XG5cdHBhZGRpbmc6IDI4cHggMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2VjdGlvbi1pbnNlcnQge1xuXHRwYWRkaW5nOiAwIDAgMzBweDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdHBhZGRpbmctYm90dG9tOiA0OXB4O1xuXHR9XG5cblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy10b3A6IDMwcHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdHBhZGRpbmctdG9wOiA0OXB4O1xuXHRcdH1cblx0fVxufVxuXG4uZGVjb3ItdGl0bGUge1xuXHRsaW5lLWhlaWdodDogMS4xNztcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblx0bWFyZ2luOiAwIDAgMjVweDtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRtYXJnaW4tYm90dG9tOiAzOXB4O1xuXHR9XG59XG5cbi5jYXRlZ29yeS1zcGFuIHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW46IDAgLTJweDtcblxuXHQ+ICoge1xuXHRcdG1hcmdpbi1sZWZ0OiAycHg7XG5cdFx0bWFyZ2luLXJpZ2h0OiAycHg7XG5cdH1cbn1cblxuLmhvbGQtbWFpbiB7XG5cdG1hcmdpbjogMCAwIDMwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogNDlweDtcblx0fVxuXG5cdCY6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi10b3A6IDE1cHg7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdG1hcmdpbi10b3A6IDQ5cHg7XG5cdFx0fVxuXHR9XG5cblx0LmNvbnRhaW5lciB7XG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdH1cblx0fVxuXG5cdC5jb250ZW50IHtcblx0XHRtYXJnaW46IDAgMCAzMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMzYwcHgpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblxuXHQubmF2LWxpbmtzIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0bWFyZ2luLXRvcDogMzBweDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDQ5cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCJbaWQ9XCJmb290ZXJcIl0ge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmFzZS1iYWNrZ3JvdW5kLWZvb3Rlcjtcblx0cGFkZGluZzogMzBweCAwO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRmb250LXNpemU6IDEzcHg7XG5cdGxpbmUtaGVpZ2h0OiAxLjg1O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDI7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRwYWRkaW5nOiA2N3B4IDA7XG5cdH1cblxuXHQuY29udGFpbmVyIHtcblx0ICBtYXgtd2lkdGg6IDExOTJweDtcblx0fVxuXG5cdGEge1xuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRjb2xvcjogaW5oZXJpdDtcblxuXHRcdCY6Zm9jdXMsXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJHllbGxvdztcblx0XHR9XG5cdH1cblxuXHQudGV4dCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAwIDAgMjlweDtcblxuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXG5cdC5tZW51IHtcblx0XHRAZXh0ZW5kICVsaXN0cmVzZXQ7XG5cdFx0bWFyZ2luOiA4cHggMCAwO1xuXG5cdFx0Ji5qcy1zbGlkZS1oaWRkZW4ge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdFx0cG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0Y29sb3I6ICR5ZWxsb3ctbGlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcblx0XHRcdCsgbGkge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA5cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnNlY3Rpb24tc29jaWFsIHtcblx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdG1hcmdpbi10b3A6IC0zMHB4O1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpWRlc2t0b3AnKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IC02N3B4O1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA2N3B4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uZm9vdGVyLWJhciB7XG5cdG1hcmdpbjogMCAwIDIwcHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdH1cbn1cblxuLmZvb3QtdGV4dC13cmFwIHtcblx0d2lkdGg6IDIzMHB4O1xuXHRtYXJnaW46IDAgYXV0bztcblxuXHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdHdpZHRoOiAyMi43JTtcblx0XHRwYWRkaW5nOiAwIDIwcHggMCAwO1xuXHRcdG1hcmdpbjogMDtcblx0fVxufVxuXG4uZm9vdGVyLWxpbmstd3JhcCB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0bWFyZ2luOiAtMTBweCAtMTBweCAyMHB4O1xuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0d2lkdGg6IDc3LjQlO1xuXHRcdG9yZGVyOiAxO1xuXHRcdG1hcmdpbi1ib3R0b206IC0xMnB4O1xuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhKCfiiaVkZXNrdG9wJykge1xuXHRcdGZsZXgtd3JhcDogbm93cmFwO1xuXHR9XG5cblx0LmNvbCB7XG5cdFx0d2lkdGg6IDUwJTtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRcdHdpZHRoOiAzMy4zJTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omlZGVza3RvcCcpIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdC5hY3RpdmUge1xuXHRcdC50aXRsZSB7XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoLTIyNWRlZyk7XG5cdFx0XHRcdG1hcmdpbjogMCAwIC0xcHggNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC50aXRsZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRAaW5jbHVkZSBtZWRpYSgn4omldGFibGV0Jykge1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRAaW5jbHVkZSBzaXplICg3cHgpO1xuXHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXHRcdFx0Ym9yZGVyOiB7XG5cdFx0XHRcdHN0eWxlOiBzb2xpZDtcblx0XHRcdFx0Y29sb3I6IGN1cnJlbnRDb2xvcjtcblx0XHRcdFx0d2lkdGg6IDAgMCAxcHggMXB4O1xuXHRcdFx0fTtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdG1hcmdpbjogMCAwIDNweCA1cHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCfiiaV0YWJsZXQnKSB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jb3B5LFxuLmJ5IHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdGZvbnQtc2l6ZTogMTFweDtcbn1cblxuLmNvcHkge1xuXHRtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5mb290ZXItc3ViLW1lbnUge1xuXHRAZXh0ZW5kICVsaXN0cmVzZXQ7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGZsZXgtd3JhcDogd3JhcDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdGZvbnQtc2l6ZTogMTFweDtcblx0bGluZS1oZWlnaHQ6IDEuMTtcblx0bWFyZ2luOiAwIC02cHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXRhYmxldCcpIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHR9XG5cblx0bGkge1xuXHRcdHBhZGRpbmc6IDAgNnB4O1xuXG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkeWVsbG93LWxpZ2h0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgZmlsZSBjb250YWlucyBhbGwgc3R5bGVzIHJlbGF0ZWQgdG8gdGhlIGJ1dHRvbiBjb21wb25lbnQuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJWJ0bixcbi5idG4sXG4ud3AtYmxvY2stYnV0dG9uX19saW5rIHtcblx0QGluY2x1ZGUgYW5pbWF0ZShjb2xvciBiYWNrZ3JvdW5kLWNvbG9yKTtcblx0ei1pbmRleDogMTtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdGZvbnQ6ICRidG4tZm9udC13ZWlnaHQgI3skYnRuLWZvbnQtc2l6ZX0vI3skYnRuLWxpbmUtaGVpZ2h0fSAkYmFzZS1mb250O1xuXHRwYWRkaW5nOiAkYnRuLXBhZGRpbmc7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRjb2xvcjogJGJ0bi1jb2xvcjtcblx0Ym9yZGVyLXJhZGl1czogJGJ0bi1ib3JkZXItcmFkaXVzO1xuXHRiYWNrZ3JvdW5kOiAkYnRuLWJhY2tncm91bmQ7XG5cdGJvcmRlcjogMnB4IHNvbGlkICRidG4tYm9yZGVyO1xuXG5cdCY6aG92ZXIsXG5cdCY6Zm9jdXMge1xuXHRcdGNvbG9yOiAkYnRuLWhvdmVyLWNvbG9yO1xuXHRcdGJhY2tncm91bmQ6ICRidG4taG92ZXItYmFja2dyb3VuZDtcblx0fVxuXG5cdCYuYnRuLWxpZ2h0IHtcblx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdGJvcmRlci1jb2xvcjogJHdoaXRlO1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjIpO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiAkcmVkO1xuXHRcdFx0YmFja2dyb3VuZDogJGJ0bi1ob3Zlci1jb2xvcjtcblx0XHR9XG5cdH1cbn1cblxuLmJ0bi1ncm91cCB7XG5cdG1hcmdpbjogLTE1cHg7XG5cblx0QGluY2x1ZGUgbWVkaWEoJ+KJpXBob25lJykge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHR9XG5cblx0PiAqIHtcblx0XHRtYXJnaW46IDE1cHg7XG5cdH1cblxuXHQuYnRuIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG4ud3AtYmxvY2stYnV0dG9uIHtcblx0bWFyZ2luLWJvdHRvbTogMjVweDtcblxuXHQmX193aWR0aC0yNSB7XG5cdFx0LndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG5cdFx0XHR3aWR0aDogMjUlO1xuXHRcdH1cblx0fVxuXG5cdCZfX3dpZHRoLTUwIHtcblx0XHQud3AtYmxvY2stYnV0dG9uX19saW5rIHtcblx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0fVxuXHR9XG5cblx0Jl9fd2lkdGgtNzUge1xuXHRcdC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuXHRcdFx0d2lkdGg6IDc1JTtcblx0XHR9XG5cdH1cblxuXHQmX193aWR0aC0xMDAge1xuXHRcdC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59XG5cbi53cC1ibG9jay1idXR0b25fX2xpbmsge1xuXHRtYXJnaW46IDVweCAwO1xufVxuXG4ud3AtYmxvY2stYnV0dG9ucyB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG59Il19 */
