@charset "UTF-8";
/******************************************************************

Stylesheet: Main Stylesheet

Dependencies: Node.js / Gulp

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

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

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

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

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

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

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

/**
     * Add the correct display in IE.
     */
main {
  display: block; }

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

/**
     * Show the overflow in IE.
     */
button {
  overflow: visible; }

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

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

button,
[type="button"],
[type="reset"],
[type="submit"] {
  /**
       * Remove the inner border and padding in Firefox.
       */
  /**
       * Restore the focus styles unset by the previous rule.
       */ }
  button::-moz-focus-inner,
  [type="button"]::-moz-focus-inner,
  [type="reset"]::-moz-focus-inner,
  [type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0; }
  button:-moz-focusring,
  [type="button"]:-moz-focusring,
  [type="reset"]:-moz-focusring,
  [type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText; }

/**
     * Show the overflow in Edge.
     */
input {
  overflow: visible; }

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

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

/**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
  /**
       * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
       */ }
  [type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

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

/**
     * 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 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  color: inherit;
  /* 2 */
  white-space: normal;
  /* 1 */ }

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

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

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

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

/*
     * Add the correct display in IE 9-.
     */
menu {
  display: block; }

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

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

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

/* Base Files */
/*
 * Base / Variables
*/
.mobile, .mobile-sm {
  display: none; }

@media (max-width: 1024px) {
  .mobile {
    display: block; }
  .mobile-hide {
    display: none; } }

@media (max-width: 931px) {
  .mobile-sm {
    display: block; } }

.btn.btn-blue {
  background: #002b58;
  color: #60d1e0; }

.btn-arrow {
  background: none !important; }
  .btn-arrow i {
    font-size: 2em;
    vertical-align: middle; }
  .btn-arrow:hover {
    color: #60d1e0; }

.btn-to-white-text:hover {
  color: white !important; }

.btn-to-light-blue {
  color: #002b58 !important;
  height: auto !important;
  font-weight: 700;
  font-size: 12px !important;
  padding: 15px 12px !important; }
  .btn-to-light-blue:hover {
    background: #7ddae6; }

.btn-to-dark-blue:hover {
  background: #345577; }

/* ==============================
    
    BASE / base
    
    Includes base global styles for major, non-typographical elements. Should be almost exclusively single element, attribute, psuedo-class, child and sibling selectors.
    
============================== */
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

html {
  position: relative;
  min-height: 100%; }

.home body {
  background: none; }

body {
  background: linear-gradient(90deg,#081a2d,#002b58,#081a2d); }

html, body, form {
  padding: 0;
  margin: 0; }

img,
picture {
  margin: 0;
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

dl {
  margin: 0;
  margin-bottom: 0.75em; }
  dl dt {
    font-weight: bold;
    margin-bottom: 2px;
    margin-top: 0.75em; }
  dl dd {
    margin: 0; }

table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%; }

tr,
td,
th {
  vertical-align: middle; }

tr {
  width: 100%; }

th {
  font-weight: bold;
  padding: 0;
  text-align: left; }

td {
  padding: 0; }

img {
  backface-visibility: visible; }

.toReveal {
  visibility: hidden; }

/*
 * Base / Variables
*/
.mobile, .mobile-sm {
  display: none; }

@media (max-width: 1024px) {
  .mobile {
    display: block; }
  .mobile-hide {
    display: none; } }

@media (max-width: 931px) {
  .mobile-sm {
    display: block; } }

.btn.btn-blue {
  background: #002b58;
  color: #60d1e0; }

.btn-arrow {
  background: none !important; }
  .btn-arrow i {
    font-size: 2em;
    vertical-align: middle; }
  .btn-arrow:hover {
    color: #60d1e0; }

.btn-to-white-text:hover {
  color: white !important; }

.btn-to-light-blue {
  color: #002b58 !important;
  height: auto !important;
  font-weight: 700;
  font-size: 12px !important;
  padding: 15px 12px !important; }
  .btn-to-light-blue:hover {
    background: #7ddae6; }

.btn-to-dark-blue:hover {
  background: #345577; }

@font-face {
  font-family: 'proelite-icons';
  src: url("../../dist/fonts/proelite-icons.ttf?o0phdr") format("truetype"), url("../../dist/fonts/proelite-icons.woff?o0phdr") format("woff"), url("../../dist/fonts/proelite-icons.svg?o0phdr#proelite-icons") format("svg");
  font-weight: normal;
  font-style: normal; }

i {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'proelite-icons' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.i-autorenew:before {
  content: ""; }

.i-prev:before {
  content: ""; }

.i-next:before {
  content: ""; }

.i-close:before {
  content: ""; }

.i-play:before {
  content: ""; }

.i-plus:before {
  content: ""; }

.i-minus:before {
  content: ""; }

.i-twitter:before {
  content: ""; }

.i-facebook:before {
  content: ""; }

.i-instagram:before {
  content: ""; }

.i-email:before {
  content: ""; }

/* ==============================
	    
    BASE / typography
    
    Base for typographic elements. Should be almost exclusively single element, attribute, psuedo-class, child and sibling selectors.
    
============================== */
html {
  vertical-align: baseline; }

body, input, textarea, select, button {
  color: white;
  font-family: "Gotham A", "Gotham B", "Montserrat", sans-serif;
  font-feature-settings: "kern", "liga", "pnum";
  font-size: 1rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.5; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Gotham A", "Gotham B", "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 0.75em;
  text-transform: uppercase;
  color: white; }

p, ul, ol, dt {
  margin: 0 0 0.75em; }

ul {
  padding-left: 1em; }

a {
  color: white;
  text-decoration: none;
  transition: color 0.1s ease-in-out; }
  a:active, a:focus, a:hover {
    color: #d9d9d9; }
  a:active, a:focus {
    outline: none; }

hr {
  border-bottom: 1px solid white;
  border-left: none;
  border-right: none;
  border-top: none;
  margin: 1.5em 0; }

nav a {
  color: inherit; }

select option {
  font-family: inherit; }

address {
  font-style: normal;
  font-size: .75rem; }

.wrapper {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1rem; }

.clearfix {
  clear: both; }

.mobile-only {
  display: block; }

.desktop-only {
  display: none; }

.display-inline {
  display: inline-block; }

@media (min-width: 1024px) {
  .desktop-only {
    display: block; }
  .mobile-only {
    display: none; } }

.rotating-bag img {
  display: none;
  width: 200px; }

.rotating-bag img.active {
  display: block;
  margin: auto; }

.headline-area {
  text-align: center; }
  .headline-area div {
    margin: auto; }
  .headline-area .icon {
    height: 25px;
    width: 25px;
    margin-bottom: 40px; }
  .headline-area .pre-headline {
    font-family: "Libre Baskerville", serif;
    font-style: italic;
    font-size: 1.375rem; }
  .headline-area .headline h1 {
    font-size: 1.8rem; }

.btn {
  border-radius: 0;
  background: #60d1e0;
  font-family: "Gotham A", "Gotham B", "Montserrat", sans-serif;
  text-transform: uppercase;
  color: #002b58;
  color: rgba(255, 255, 255, 0.75);
  height: 40px;
  padding: 7px 12px;
  display: inline-block; }

#wpsl-gmap {
  display: none; }

.home #wpsl-gmap {
  display: block; }

#wpsl-wrap .limited {
  font-size: .8rem; }

/* About Page */
.page-template-template-about-page video {
  width: 100%; }

.page-template-template-about-page .headline-area {
  background: #002b58;
  padding: 60px 0px; }

.page-template-template-about-page .preroll-container {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center; }
  @media (max-width: 1024px) {
    .page-template-template-about-page .preroll-container img {
      top: 110px !important; } }
  .page-template-template-about-page .preroll-container .play-btn {
    position: absolute;
    margin: auto;
    width: 100%;
    text-align: center;
    margin-top: 100px;
    cursor: pointer; }
    .page-template-template-about-page .preroll-container .play-btn svg {
      width: 150px;
      margin-bottom: 20px; }
      .page-template-template-about-page .preroll-container .play-btn svg .stt1, .page-template-template-about-page .preroll-container .play-btn svg .stt0 {
        stroke: rgba(255, 255, 255, 0.5) !important; }
    .page-template-template-about-page .preroll-container .play-btn h1 {
      margin-bottom: 5px; }
    .page-template-template-about-page .preroll-container .play-btn .pre-headline {
      font-family: "Libre Baskerville", serif;
      font-style: italic; }
    @media (max-width: 1024px) {
      .page-template-template-about-page .preroll-container .play-btn {
        margin-top: 20px; }
        .page-template-template-about-page .preroll-container .play-btn svg {
          width: 100px; } }
    .page-template-template-about-page .preroll-container .play-btn:hover {
      color: #60d1e0; }
      .page-template-template-about-page .preroll-container .play-btn:hover h1 {
        color: #60d1e0; }
      .page-template-template-about-page .preroll-container .play-btn:hover svg {
        stroke: #60d1e0 !important; }
        .page-template-template-about-page .preroll-container .play-btn:hover svg .stt1, .page-template-template-about-page .preroll-container .play-btn:hover svg .stt0 {
          stroke: #60d1e0 !important; }

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .page-template-template-about-page .play-btn {
    top: 350px; }
  .page-template-template-about-page .preroll-container {
    display: block; } }

.page-template-template-about-page .facts {
  background: #002b58;
  margin-top: -1px; }
  .page-template-template-about-page .facts .fact {
    text-align: center;
    padding: 60px 0px; }
    .page-template-template-about-page .facts .fact h1 {
      font-size: 1.8rem;
      max-width: 1000px;
      margin: auto;
      padding: 20px 0px; }
      @media (max-width: 1024px) {
        .page-template-template-about-page .facts .fact h1 {
          font-size: 1.5rem; } }
    .page-template-template-about-page .facts .fact .fact-nav {
      font-family: "Libre Baskerville", serif;
      font-style: italic;
      font-size: 1.375rem;
      color: #60d1e0;
      text-align: center; }
      .page-template-template-about-page .facts .fact .fact-nav .nav-icon {
        margin: auto;
        display: block;
        width: 40px; }
      .page-template-template-about-page .facts .fact .fact-nav svg {
        display: block;
        fill: #60d1e0;
        width: 40px;
        height: 40px; }
    .page-template-template-about-page .facts .fact .fact-content, .page-template-template-about-page .facts .fact .less {
      display: none; }
    .page-template-template-about-page .facts .fact.active .less {
      display: block; }
    .page-template-template-about-page .facts .fact.active .more {
      display: none; }
  .page-template-template-about-page .facts .icon {
    width: 80px;
    margin: auto; }

.page-template-template-about-page .about-questions-section {
  background: #60d1e0;
  text-align: center;
  color: #002b58;
  padding: 60px 0px; }
  .page-template-template-about-page .about-questions-section ul {
    list-style-type: none; }
    .page-template-template-about-page .about-questions-section ul li {
      padding: 8px 0px; }
  .page-template-template-about-page .about-questions-section h2 {
    font-family: "Libre Baskerville", serif;
    font-style: italic;
    font-size: 2.4rem;
    text-transform: unset;
    color: #002b58;
    font-weight: 300; }
    @media (max-width: 1024px) {
      .page-template-template-about-page .about-questions-section h2 {
        font-size: 1.5rem; }
        .page-template-template-about-page .about-questions-section h2 span {
          font-size: 1.8rem;
          margin-top: 10px; } }
    .page-template-template-about-page .about-questions-section h2 span {
      font-family: "Gotham A", "Gotham B", "Montserrat", sans-serif;
      font-weight: bold;
      font-style: normal;
      display: block;
      text-transform: uppercase; }
  .page-template-template-about-page .about-questions-section h3 {
    color: #002b58;
    font-weight: normal;
    font-size: 1.5rem;
    text-transform: unset; }
    @media (max-width: 1024px) {
      .page-template-template-about-page .about-questions-section h3 {
        font-size: 1.2rem; } }
  .page-template-template-about-page .about-questions-section p {
    color: #002b58;
    font-weight: bold;
    text-transform: uppercase;
    padding-top: 20px; }
  .page-template-template-about-page .about-questions-section a {
    padding: 20px 30px;
    margin-top: 20px;
    font-weight: bold;
    font-size: .8rem;
    line-height: .2em;
    vertical-align: middle; }

.home .hero {
  height: 691px;
  background-image: url("../../i/MK4_8613[3]_RT_1660x691.png");
  background-size: cover;
  background-position: center; }
  @media (max-width: 768px) {
    .home .hero {
      height: 280px; } }

.home .hero-content-container {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0; }

.home .product-section {
  padding: 60px 0px;
  background: linear-gradient(90deg, #081a2d, #002b58, #081a2d);
  overflow: hidden; }

.home .product-section .slider {
  max-width: 1100px;
  margin: auto; }
  .home .product-section .slider .gold-banner {
    display: none; }
  .home .product-section .slider .slick-list {
    left: 90px;
    min-height: 440px; }
  @media (max-width: 1050px) {
    .home .product-section .slider {
      max-width: 375px; }
      .home .product-section .slider .slick-list {
        left: 0px; } }
  @media (max-width: 370px) {
    .home .product-section .slider .slick-list {
      margin-left: -7px; } }

@-webkit-keyframes pulse {
  0% {
    opacity: 0.1; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0.1; } }

@keyframes pulse {
  0% {
    opacity: 0.1; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0.1; } }
  .home .product-section .slider .pulse {
    -webkit-animation: pulse 2s infinite ease-in-out;
    -o-animation: pulse 2s infinite ease-in-out;
    -ms-animation: pulse 2s infinite ease-in-out;
    -moz-animation: pulse 2s infinite ease-in-out;
    animation: pulse 2s infinite ease-in-out; }
  .home .product-section .slider .slick-arrow {
    position: absolute;
    width: 100px;
    top: 45%;
    color: #60d1e0;
    opacity: .4;
    font-size: 80px;
    z-index: 100; }
    @media (max-width: 1024px) {
      .home .product-section .slider .slick-arrow {
        top: 75%;
        bottom: 40px; } }
    .home .product-section .slider .slick-arrow:hover {
      opacity: 1;
      cursor: pointer; }
  .home .product-section .slider .i-prev {
    left: 90px; }
    @media (max-width: 1024px) {
      .home .product-section .slider .i-prev {
        left: -10px; } }
  .home .product-section .slider .i-next {
    right: -50px; }
    @media (max-width: 1024px) {
      .home .product-section .slider .i-next {
        right: -25px; } }
  .home .product-section .slider .slick-track {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center; }
    @media (max-width: 1024px) {
      .home .product-section .slider .slick-track {
        margin-left: -155px; } }
  .home .product-section .slider .slick-slider {
    margin-left: -140px;
    margin-top: 30px; }
  @media (max-width: 1024px) {
    .home .product-section .slider .slick-slider {
      margin-left: 0px; } }

#product-slider .slick-slide {
  visibility: hidden !important;
  border: none;
  outline: none !important; }
  #product-slider .slick-slide:hover, #product-slider .slick-slide:focus {
    -webkit-appearance: none !important; }
  #product-slider .slick-slide img {
    position: relative;
    top: 0;
    transition: top ease 0.5s;
    width: 225px;
    max-width: 225px; }
    @media (max-width: 1024px) {
      #product-slider .slick-slide img {
        width: 200px;
        margin: auto; } }
  #product-slider .slick-slide:hover img {
    top: -10px; }
  #product-slider .slick-slide img:hover {
    top: -10px; }
  #product-slider .slick-slide img.center {
    display: none;
    width: 180px;
    max-width: 380px;
    margin-left: 70px; }
  #product-slider .slick-slide .product-info {
    display: none; }

#product-slider .slick-slide.slick-active {
  width: 154px !important;
  visibility: visible !important;
  opacity: .7; }
  @media (max-width: 1024px) {
    #product-slider .slick-slide.slick-active {
      width: auto !important;
      margin-top: -190px; } }
  @media (max-width: 1024px) {
    #product-slider .slick-slide.slick-active {
      width: 100px !important; }
      #product-slider .slick-slide.slick-active img {
        margin-left: -60px; } }

#product-slider .slick-slide.slick-center {
  width: 400px !important;
  opacity: 1;
  position: relative;
  padding-top: 20px; }
  #product-slider .slick-slide.slick-center .gold-banner {
    display: block;
    top: -40px;
    left: -50px;
    /* padding-right: 10px;
    padding-left: 50px;  */
  }
  @media (max-width: 1024px) {
    #product-slider .slick-slide.slick-center {
      width: 200px !important;
      padding-top: 0px;
      margin-top: 0px; }
      #product-slider .slick-slide.slick-center .gold-banner {
        display: block;
        top: unset;
        left: unset;
        /* padding: 5px 20px; */
        position: relative;
        top: -10px; } }
  #product-slider .slick-slide.slick-center .product-info {
    display: inline-block;
    width: 160px;
    top: 85px;
    right: -40px;
    position: absolute; }
    @media (max-width: 1024px) {
      #product-slider .slick-slide.slick-center .product-info {
        position: relative;
        width: 100%;
        right: 0px;
        top: 0px;
        margin-top: 0px;
        text-align: center;
        margin-left: 10px;
        min-height: 217px; } }
    #product-slider .slick-slide.slick-center .product-info .btn {
      color: #002b58;
      font-size: 10px;
      font-weight: 700;
      height: auto; }
    #product-slider .slick-slide.slick-center .product-info h3 {
      font-weight: 300;
      font-size: 1.3rem;
      text-transform: none; }
      #product-slider .slick-slide.slick-center .product-info h3 sup {
        font-size: .8rem; }
      #product-slider .slick-slide.slick-center .product-info h3 span {
        font-weight: 800;
        display: block;
        text-transform: uppercase; }
      #product-slider .slick-slide.slick-center .product-info h3 em {
        font-weight: 500;
        font-style: italic;
        font-size: 14px;
        position: relative;
        top: 5px;
        font-family: "Libre Baskerville", serif;
        display: block; }
    #product-slider .slick-slide.slick-center .product-info p {
      font-size: .8rem; }
  #product-slider .slick-slide.slick-center img {
    display: none; }
  #product-slider .slick-slide.slick-center img.center {
    display: inline-block;
    z-index: 100;
    height: 379px; }
    #product-slider .slick-slide.slick-center img.center:hover {
      top: 0px; }
    @media (max-width: 1024px) {
      #product-slider .slick-slide.slick-center img.center {
        width: 90%;
        max-width: 200px;
        display: block;
        margin: auto; } }
    @media (max-width: 1024px) {
      #product-slider .slick-slide.slick-center img.center {
        position: relative;
        width: 140px !important;
        right: 0px;
        top: 0px;
        margin: 40px;
        height: 296.8px; } }
  @media (max-width: 1024px) {
    #product-slider .slick-slide.slick-center {
      margin-left: -40px; } }

.products-area {
  background: linear-gradient(90deg, #081a2d, #002b58, #081a2d);
  padding: 60px 0px; }
  .products-area .products {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap; }
    .products-area .products .product {
      flex-basis: 33%;
      padding: 20px;
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex; }
      @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
        .products-area .products .product {
          flex-basis: calc(33% - 40px); } }
      @media (max-width: 1024px) {
        .products-area .products .product {
          flex-basis: 50%;
          /*.gold-banner {
					display: block !important;
					top: 10px !important;
					left: unset !important;
					padding: 5px 20px !important;
					position: relative;
					margin: auto;
					
				}*/ } }
      .products-area .products .product .product-image {
        flex-basis: 40%;
        z-index: 100; }
        .products-area .products .product .product-image img {
          transition: top ease 0.5s;
          position: relative;
          top: 0px;
          height: 348.91px; }
          @media (max-width: 768px) {
            .products-area .products .product .product-image img {
              height: auto; } }
          .products-area .products .product .product-image img:hover {
            top: -10px; }
      .products-area .products .product .product-content {
        flex-basis: 60%;
        padding-left: 15px;
        padding-right: 15px;
        position: relative;
        padding-top: 25px; }
        .products-area .products .product .product-content .gold-banner {
          display: block;
          /* top: 20px;
          left: -35px; */
          /* padding-right: 10px;
          padding-left: 50px;  */
        }
        .products-area .products .product .product-content h2 {
          margin-top: 0px;
          font-size: 1.5rem;
          text-transform: none; }
          .products-area .products .product .product-content h2 span {
            font-weight: 300;
            display: block; }
          .products-area .products .product .product-content h2 sup {
            font-size: 12px;
            top: -.8em; }
          .products-area .products .product .product-content h2 em {
            font-weight: 500;
            font-style: italic;
            font-size: 14px;
            position: relative;
            top: 5px;
            font-family: "Libre Baskerville", serif;
            display: block; }
            @media (max-width: 1024px) {
              .products-area .products .product .product-content h2 em {
                top: 10px; } }
        .products-area .products .product .product-content p {
          font-size: .8rem; }
        .products-area .products .product .product-content .btn {
          color: #002b58;
          font-size: .6875rem;
          font-weight: bold;
          height: auto;
          padding: 15px 20px;
          position: absolute;
          bottom: 20px; }
  @media (max-width: 1300px) {
    .products-area .products .product {
      flex-basis: 50%; }
      .products-area .products .product .product-image {
        text-align: right; }
      .products-area .products .product .product-content .btn {
        bottom: 60px; } }
  @media (max-width: 931px) {
    .products-area .products .mobile-tab {
      width: 100%;
      flex-basis: 100%;
      position: relative; }
      .products-area .products .mobile-tab h2 {
        padding: 0px;
        margin-top: 15px;
        font-size: 1.5rem;
        text-transform: none;
        max-width: 95%; }
        .products-area .products .mobile-tab h2 span {
          font-weight: 300;
          display: inline; }
      .products-area .products .mobile-tab i {
        position: absolute;
        top: 20px;
        right: 0px; }
      .products-area .products .mobile-tab .i-minus {
        display: none; }
    .products-area .products .product {
      flex-basis: 100%;
      border: 1px solid #60d1e0;
      margin: 5px;
      flex-wrap: wrap; }
      .products-area .products .product .gold-banner {
        display: block !important;
        top: 0px !important;
        left: unset !important;
        /* padding: 5px 20px !important; */
        position: relative;
        margin: auto; }
      .products-area .products .product .product-content .btn {
        position: relative;
        bottom: unset; }
      .products-area .products .product.active .i-minus {
        display: block; }
      .products-area .products .product.active .i-plus {
        display: none; }
      .products-area .products .product.active .product-content {
        display: block;
        flex-basis: 100%; }
        .products-area .products .product.active .product-content .btn {
          position: relative; }
      .products-area .products .product.active .product-image {
        margin: auto;
        text-align: center;
        display: block; }
    .products-area .product-image, .products-area .product-content {
      display: none; } }

.single-product .product-page {
  overflow: hidden; }
  .single-product .product-page .gold-banner {
    position: fixed;
    top: 50vh;
    padding: 5px 20px 5px 30px;
    font-size: 1rem;
    z-index: 1000; }

.single-product .toReveal {
  visibility: visible !important; }

.single-product section .wrapper {
  max-width: 1000px; }

.single-product h2 i {
  display: none;
  font-size: 1rem; }

@media (max-width: 1024px) {
  .single-product .product-page .gold-banner {
    position: relative;
    top: unset;
    padding: 10px;
    font-size: 1rem;
    width: 100%; }
  .single-product h2 {
    margin-top: 10px; }
    .single-product h2 .i-plus {
      display: inline-block;
      float: right; }
    .single-product h2 i {
      margin-top: 4px; }
  .single-product .section-content {
    display: none; }
  .single-product .active h2 .i-plus {
    display: none; }
  .single-product .active h2 .i-minus {
    display: inline-block;
    float: right; }
  .single-product .active .section-content {
    display: block; } }

.single-product .product-hero {
  height: 327px;
  background: linear-gradient(90deg, #081a2d, #002b58, #081a2d); }
  .single-product .product-hero .hero-content {
    padding-top: 40px; }
    .single-product .product-hero .hero-content h1 {
      margin-bottom: .25em; }
  .single-product .product-hero .sub-headline {
    font-family: "Libre Baskerville", serif;
    font-style: italic; }

.single-product .product-intro {
  background: #002b58; }
  .single-product .product-intro.scrolling {
    padding-top: 44px; }
  .single-product .product-intro p {
    font-size: 1.54em;
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 1em; }
    .single-product .product-intro p em {
      font-size: 1rem;
      text-transform: capitalize;
      font-weight: 300;
      font-family: "Libre Baskerville", serif; }
  @media (max-width: 1024px) {
    .single-product .product-intro p {
      width: 70%;
      margin: 30px auto; } }
  .single-product .product-intro .wrapper {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap; }
    .single-product .product-intro .wrapper .product-navigation {
      flex-basis: 100%;
      margin: 20px 0px 70px 0px;
      font-weight: bold;
      font-size: .8rem;
      vertical-align: middle; }
      .single-product .product-intro .wrapper .product-navigation i {
        vertical-align: middle;
        font-weight: 300;
        font-size: 2rem; }
      @media (max-width: 1024px) {
        .single-product .product-intro .wrapper .product-navigation {
          margin-bottom: 30px; } }
    .single-product .product-intro .wrapper .product-360, .single-product .product-intro .wrapper .product-highlights {
      flex-basis: 50%;
      text-align: center;
      padding-bottom: 40px; }
      @media (max-width: 1024px) {
        .single-product .product-intro .wrapper .product-360, .single-product .product-intro .wrapper .product-highlights {
          flex-basis: 100%; } }
    .single-product .product-intro .wrapper .product-360 video {
      border: 1px solid #60d1e0; }
    @media (max-width: 1024px) {
      .single-product .product-intro .wrapper .product-360 .bag-front {
        display: block;
        margin: auto; } }
    .single-product .product-intro .wrapper .product-highlights a {
      display: block;
      color: #60d1e0;
      font-weight: bold;
      margin-top: 30px; }
      .single-product .product-intro .wrapper .product-highlights a .i-next {
        font-size: 2rem;
        vertical-align: middle; }
    .single-product .product-intro .wrapper .product-highlights p {
      margin-bottom: .5em; }
  .single-product .product-intro .rotate-bag {
    color: #60d1e0;
    font-family: "Libre Baskerville", serif;
    margin-top: 20px;
    font-weight: bold;
    cursor: pointer;
    font-style: italic; }

.single-product .guaranteed-analysis {
  background: #60d1e0;
  color: #002b58;
  padding: 50px 0px; }
  .single-product .guaranteed-analysis .wrapper {
    position: relative; }
  .single-product .guaranteed-analysis .feeding-close-up {
    position: absolute;
    right: -100px;
    bottom: -202px; }
    .single-product .guaranteed-analysis .feeding-close-up img {
      border: 5px solid #60d1e0;
      border-radius: 294px; }
      @media (max-width: 1024px) {
        .single-product .guaranteed-analysis .feeding-close-up img {
          display: none; } }
  .single-product .guaranteed-analysis h2 {
    color: #002b58;
    font-size: 1.3rem;
    margin-bottom: 10px; }
  .single-product .guaranteed-analysis p {
    font-size: .7rem; }
  .single-product .guaranteed-analysis .btn {
    background: #002b58;
    font-weight: bold;
    font-size: .8rem;
    color: #60d1e0;
    height: auto;
    margin-bottom: 50px; }
    .single-product .guaranteed-analysis .btn:hover {
      background: #345577; }
  .single-product .guaranteed-analysis .csv-data {
    font-size: 12px;
    font-weight: bold; }
    .single-product .guaranteed-analysis .csv-data .csv-col-1 {
      width: 50%;
      float: left;
      padding-right: 50px; }
    .single-product .guaranteed-analysis .csv-data .csv-col-2 {
      width: 50%;
      float: left;
      padding-left: 50px; }
    .single-product .guaranteed-analysis .csv-data .csv-row {
      border-bottom: 1px dotted; }
      .single-product .guaranteed-analysis .csv-data .csv-row span {
        display: inline-block;
        vertical-align: top; }
        .single-product .guaranteed-analysis .csv-data .csv-row span.csv-title {
          width: 70%; }
        .single-product .guaranteed-analysis .csv-data .csv-row span.csv-value {
          text-align: right;
          width: 30%; }
    @media (max-width: 1024px) {
      .single-product .guaranteed-analysis .csv-data .csv-col-1, .single-product .guaranteed-analysis .csv-data .csv-col-2 {
        width: 100%;
        float: none;
        padding: 0px; } }
  .single-product .guaranteed-analysis .ga-content {
    margin-top: 50px;
    font-size: 12px;
    width: 60%;
    font-family: "Gotham A", "Gotham B", "Montserrat", sans-serif; }
    @media (max-width: 1024px) {
      .single-product .guaranteed-analysis .ga-content {
        width: 100%; } }

.single-product .ingredients {
  background: #ececec;
  padding: 50px 0px; }
  .single-product .ingredients .wrapper {
    position: relative; }
  .single-product .ingredients h2 {
    color: #002b58;
    font-size: 1.3rem;
    margin-bottom: 20px; }
  .single-product .ingredients p {
    font-size: .7rem;
    color: #002b58; }
  .single-product .ingredients .ingredients-list {
    width: 70%; }
    @media (max-width: 1024px) {
      .single-product .ingredients .ingredients-list {
        width: 100%; } }
  .single-product .ingredients .large-bag {
    position: absolute;
    right: -280px;
    bottom: -260px; }
    .single-product .ingredients .large-bag img {
      width: 640px; }
    .single-product .ingredients .large-bag.supplement img {
      width: 620px; }
    @media (max-width: 1024px) {
      .single-product .ingredients .large-bag {
        display: none; } }

.single-product .feeding-rate {
  background: #002b58;
  color: white;
  padding: 50px 0px; }
  .single-product .feeding-rate h2 {
    color: white;
    font-size: 1.3rem;
    margin-bottom: 20px; }
  .single-product .feeding-rate .min-copy {
    width: 70%;
    font-weight: bold;
    font-size: .8em; }
    @media (max-width: 1024px) {
      .single-product .feeding-rate .min-copy {
        width: 100%; } }
  .single-product .feeding-rate .feeding-chart {
    width: 80%;
    margin: 40px 0px;
    font-size: .8em; }
    @media (max-width: 1024px) {
      .single-product .feeding-rate .feeding-chart {
        width: 100%; } }
    @media (max-width: 1024px) {
      .single-product .feeding-rate .feeding-chart {
        width: 100%;
        overflow: scroll; } }
  .single-product .feeding-rate .table-header, .single-product .feeding-rate .table-footer {
    text-align: right;
    font-size: .8rem;
    font-weight: 700;
    text-transform: uppercase;
    padding-right: 100px; }
    @media (max-width: 1024px) {
      .single-product .feeding-rate .table-header, .single-product .feeding-rate .table-footer {
        padding-right: 0px; } }
  .single-product .feeding-rate .table-header {
    margin-bottom: 10px; }
  .single-product .feeding-rate .table-footer {
    margin-top: 0px; }
  .single-product .feeding-rate table {
    border: none;
    font-size: .8rem;
    width: 120%; }
    .single-product .feeding-rate table tr td {
      border: 1px solid #60d1e0;
      text-align: center;
      padding: 5px 0;
      color: white;
      font-weight: 700; }
    .single-product .feeding-rate table .row-1 > td {
      border: none;
      font-family: "Libre Baskerville", serif;
      font-style: italic;
      color: white;
      font-weight: 400; }
    .single-product .feeding-rate table .column-1 {
      border: none;
      border-bottom: 1px solid #60d1e0;
      text-align: left;
      width: 40%;
      color: white; }

.single-product .o-data-bag-feeding-content {
  font-size: .7rem;
  font-weight: bold;
  margin-top: 50px;
  max-width: 80%; }

.single-post .post-header,
.single-rider .post-header {
  margin-top: 78px;
  background: #002b58;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap; }
  .single-post .post-header .header-content,
  .single-rider .post-header .header-content {
    flex-basis: 60%;
    padding: 50px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    align-items: center; }
    @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
      .single-post .post-header .header-content,
      .single-rider .post-header .header-content {
        flex-basis: calc(60% - 100px); } }
    .single-post .post-header .header-content .inner-content,
    .single-rider .post-header .header-content .inner-content {
      max-width: 500px; }
      .single-post .post-header .header-content .inner-content h1,
      .single-rider .post-header .header-content .inner-content h1 {
        font-size: 2rem; }
      .single-post .post-header .header-content .inner-content p,
      .single-rider .post-header .header-content .inner-content p {
        font-size: 1.5rem; }
      @media (max-width: 1024px) {
        .single-post .post-header .header-content .inner-content,
        .single-rider .post-header .header-content .inner-content {
          max-width: 100%; } }
    @media (max-width: 1024px) {
      .single-post .post-header .header-content,
      .single-rider .post-header .header-content {
        justify-content: flex-start; } }
  .single-post .post-header .header-image,
  .single-rider .post-header .header-image {
    flex-basis: 40%;
    height: 590px; }
  @media (max-width: 1024px) {
    .single-post .post-header .header-content,
    .single-rider .post-header .header-content {
      flex-basis: 100%;
      order: 2;
      padding: 50px 15px; } }
  @media screen and (max-width: 1024px) and (-ms-high-contrast: active), screen and (max-width: 1024px) and (-ms-high-contrast: none) {
    .single-post .post-header .header-content,
    .single-rider .post-header .header-content {
      flex-basis: calc(100% - 100px); } }
  @media (max-width: 1024px) {
    .single-post .post-header .header-image,
    .single-rider .post-header .header-image {
      background-size: cover !important;
      flex-basis: 100%;
      height: 350px;
      order: 1; } }

.single-post .post-content,
.single-rider .post-content {
  background: #ececec;
  color: #002b58;
  text-align: left;
  padding: 50px 0px; }
  .single-post .post-content .wrapper,
  .single-rider .post-content .wrapper {
    max-width: 800px; }
  .single-post .post-content .post-navigation,
  .single-rider .post-content .post-navigation {
    margin-top: 40px; }
    .single-post .post-content .post-navigation .back-to-articles,
    .single-rider .post-content .post-navigation .back-to-articles {
      margin-top: 40px; }
      .single-post .post-content .post-navigation .back-to-articles a,
      .single-rider .post-content .post-navigation .back-to-articles a {
        color: #002b58;
        font-weight: bold; }
        .single-post .post-content .post-navigation .back-to-articles a i,
        .single-rider .post-content .post-navigation .back-to-articles a i {
          font-size: 2rem;
          vertical-align: middle; }
        .single-post .post-content .post-navigation .back-to-articles a:hover,
        .single-rider .post-content .post-navigation .back-to-articles a:hover {
          color: #60d1e0;
          transition: none; }
          .single-post .post-content .post-navigation .back-to-articles a:hover i,
          .single-rider .post-content .post-navigation .back-to-articles a:hover i {
            color: #60d1e0; }
  .single-post .post-content .btn,
  .single-rider .post-content .btn {
    background: #002b58;
    color: #60d1e0;
    font-size: .8rem;
    height: auto;
    font-weight: bold;
    padding: 10px 15px;
    margin-right: 20px;
    width: 220px; }
    .single-post .post-content .btn i,
    .single-rider .post-content .btn i {
      margin-right: 10px;
      font-size: 1.4rem;
      color: white;
      vertical-align: middle; }
    .single-post .post-content .btn:hover i,
    .single-rider .post-content .btn:hover i {
      color: #60d1e0; }
  @media (max-width: 768px) {
    .single-post .post-content .btn,
    .single-rider .post-content .btn {
      width: 100%;
      font-size: 1rem;
      margin-bottom: 10px; }
      .single-post .post-content .btn i,
      .single-rider .post-content .btn i {
        font-size: 2.5rem; }
    .single-post .post-content .back-to-articles,
    .single-rider .post-content .back-to-articles {
      font-size: 1rem; }
      .single-post .post-content .back-to-articles i,
      .single-rider .post-content .back-to-articles i {
        font-size: 2.5rem; } }

.page-template-template-thank-you .interior-hero {
  height: 300px;
  background-size: cover; }
  .page-template-template-thank-you .interior-hero h1 {
    margin: 50px 0px 0px; }

.page-template-template-thank-you .thank-you-area {
  background: #ececec;
  color: #002b58;
  padding: 60px 0px; }
  .page-template-template-thank-you .thank-you-area .btn {
    color: #002b58 !important;
    font-weight: bold;
    padding-left: 0px;
    margin-top: 30px; }
  .page-template-template-thank-you .thank-you-area .wrapper {
    max-width: 800px; }

/* Modules */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  padding: 0;
  background-color: rgba(255, 255, 255, 0.95);
  overflow-y: hidden;
  transition: all 0.5s cubic-bezier(0, 1, 0.5, 1);
  display: block; }
  .single-post .site-header,
  .single-rider .site-header {
    background-color: white; }
  .home .site-header {
    display: none; }
  .site-header .menu-dots {
    display: none !important;
    position: absolute;
    top: 30px;
    right: 30px;
    height: 44px;
    width: 44px; }
    .site-header .menu-dots .dot-container {
      width: 5px;
      float: right; }
  .site-header.open {
    display: table;
    vertical-align: middle;
    width: 100%;
    padding: 1rem 0; }
  .site-header .nav-wrapper {
    position: relative; }
    @media (max-width: 1276px) {
      .site-header .nav-wrapper {
        position: unset; } }
  .site-header .nav-wrapper > * {
    display: table-cell;
    vertical-align: middle; }
  .site-header .shield {
    width: 200px;
    padding-top: 10px; }
  .site-header .main-nav {
    padding-left: 1rem;
    padding-top: 10px; }
    .site-header .main-nav span + span {
      margin-left: 1rem; }
    .site-header .main-nav ul {
      list-style-type: none;
      padding-left: 75px; }
      .site-header .main-nav ul li {
        display: inline-block;
        padding: 1rem; }
        .site-header .main-nav ul li.current-menu-item a {
          border-bottom: 4px solid #60d1e0; }
        .site-header .main-nav ul li.menu-item-147.current-menu-item a {
          border-bottom: none; }
        .site-header .main-nav ul li sup {
          top: -1.2em;
          font-size: 5px; }
        .site-header .main-nav ul li.mobile {
          display: none; }
        .site-header .main-nav ul li.menu-item-1237 {
          font-family: "Libre Baskerville", serif;
          font-style: italic;
          text-transform: normal; }
          .site-header .main-nav ul li.menu-item-1237 a {
            text-transform: none;
            font-weight: 400; }
  .site-header nav a {
    color: black;
    font-size: .95rem;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    transition: none; }
    .site-header nav a:hover {
      border-bottom: 4px solid #60d1e0 !important; }
  .site-header #nav-item-2, .site-header #nav-item-4 {
    display: none; }
  .site-header .shop-prowear {
    color: #000;
    font-family: "Libre Baskerville", serif;
    position: absolute;
    right: 15px;
    top: 26px;
    font-style: italic; }
    .site-header .shop-prowear a {
      color: #000;
      text-decoration: none;
      padding: 1rem;
      text-transform: capitalize;
      font-weight: 400;
    }
    @media all and (-ms-high-contrast: none) {
      .site-header .shop-prowear {
        top: 68px;
        /* IE10 */
        /* IE11 */ }
        .site-header .shop-prowear *::-ms-backdrop {
          top: 68px; } }
    .site-header .shop-prowear a:hover {
      border-bottom: 5px solid #60d1e0; }
    .site-header .shop-prowear a + a {
	    margin-left: 15px;
    }
    @media (max-width: 1276px) {
      .site-header .shop-prowear {
        position: initial;
        display: flex;
        flex-direction: column;
        padding-left: 13px; }
      .site-header .shop-prowear a + a {
        margin-left: 0;
      } }
  @media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
    .site-header {
      height: 100px; }
      .site-header .nav-wrapper {
        margin-top: -30px; }
      .site-header .shield svg {
        width: 200px; } }
  @supports (-ms-ime-align: auto) {
    .site-header .shield svg {
      width: 200px; } }

@media (max-width: 1276px) {
  .site-header {
    padding: 1rem 0; }
    .site-header.active {
      background: white; }
    .site-header .menu-dots {
      display: block !important;
      margin-right: -20px; }
      .site-header .menu-dots .dot-container {
        margin: auto;
        float: none; }
    .site-header .main-nav {
      display: none; }
    .site-header.active .main-nav {
      display: block !important; }
      .site-header.active .main-nav ul {
        padding-left: 13px; }
        .site-header.active .main-nav ul li {
          display: block !important; }
          .site-header.active .main-nav ul li a {
            font-size: 1rem; } }

@media (max-width: 1350px ) and (min-width: 1276px) {
  .site-header .main-nav ul {
    padding-left: 40px;
  }
  .site-header nav a,
  .site-header .shop-prowear {
    font-size: .85rem;
  }

}
.site-footer {
  background-color: #282828;
  padding: 2rem 0;
  bottom: 0;
  width: 100%; }
  @media (max-width: 1024px) {
    .site-footer .wrapper {
      flex-wrap: wrap; }
    .site-footer.desktop {
      display: none; }
    .site-footer a {
      font-size: 1rem !important; }
    .site-footer .legal {
      flex-basis: 100%;
      display: block !important; }
      .site-footer .legal ul {
        margin: auto !important; }
    .site-footer .copyright {
      max-width: 300px;
      margin: 20px 0 !important;
      max-width: 100%;
      text-align: center !important; }
    .site-footer .social {
      margin: 20px 0px;
      flex-basis: 100%; }
      .site-footer .social a {
        font-size: 2rem !important; } }
  .site-footer > div {
    text-transform: uppercase;
    font-size: .8rem; }
    .site-footer > div .copyright {
      text-align: center;
      font-size: .75rem; }
    .site-footer > div ul {
      list-style: none;
      margin: 0;
      padding: 0;
      display: flex; }
  .site-footer .legal ul {
    margin: 1rem 0;
    justify-content: space-around; }
  .site-footer .social {
    display: flex;
    justify-content: center;
    font-size: 2rem; }
    .site-footer .social li {
      margin: 0 10px; }

@media (min-width: 768px) {
  .site-footer > div {
    display: flex;
    justify-content: space-between;
    align-items: center; }
  .site-footer .legal ul {
    justify-content: space-between; } }

@media (min-width: 1024px) {
  .site-footer .legal {
    display: flex; }
    .site-footer .legal .copyright {
      text-align: left;
      margin-right: 2rem; }
    .site-footer .legal ul {
      margin: 0; }
      .site-footer .legal ul li {
        margin: 0 10px; }
  .site-footer .social {
    font-size: 1.25rem; } }

.cc-btn {
  font-family: 'Arial';
  font-size: 12px;
  font-weight: bold; }

.cc-message {
  font-family: "Gotham A", "Gotham B", "Montserrat", sans-serif;
  font-size: 14px; }

.form-container {
  width: 100%;
  max-width: 427px;
  margin: 0 auto;
  float: none !important; }

input[type="text"],
input[type="email"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea, button {
  border: 1px solid #002b58;
  background: transparent;
  height: 40px;
  padding: 10px;
  width: 100%;
  display: inline-block;
  -webkit-appearance: none;
  border-radius: 0; }
  input[type="text"]:focus, input[type="text"].focus,
  input[type="email"]:focus,
  input[type="email"].focus,
  input[type="search"]:focus,
  input[type="search"].focus,
  input[type="number"]:focus,
  input[type="number"].focus,
  input[type="tel"]:focus,
  input[type="tel"].focus,
  textarea:focus,
  textarea.focus, button:focus, button.focus {
    outline: 0;
    border: 1px solid #002b58; }

input[type="text"] {
  font-family: "Libre Baskerville", serif;
  font-style: italic; }

input[type="submit"],
button,
#wpsl-search-btn {
  background: #002b58;
  color: #4dcbda;
  border: none;
  font-weight: 700;
  font-size: .6875rem;
  text-transform: uppercase !important;
  padding: 7px 20px;
  height: 40px;
  font-family: "Gotham A", "Gotham B", "Montserrat", sans-serif; }

::placeholder {
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  color: white;
  opacity: .75; }

label {
  font-weight: 500;
  font-size: .75rem;
  text-transform: uppercase; }

.map-container .locate-container #wpsl-search-wrap .form-group {
  display: block;
  position: relative; }

.map-container .locate-container #wpsl-search-wrap .form-group + .form-group {
  margin-top: 1rem; }

.map-container .locate-container #wpsl-search-wrap .wpsl-input input {
  display: block;
  float: none;
  width: 100% !important; }

.map-container .locate-container #wpsl-search-wrap div {
  float: none; }
  .map-container .locate-container #wpsl-search-wrap div label {
    float: none; }

.map-container .locate-container select {
  -webkit-appearance: none;
  appearance: none; }
  .map-container .locate-container select::after {
    position: absolute;
    content: "";
    right: 12px;
    bottom: 15%;
    margin-top: -4px;
    border: 6px solid transparent;
    border-top: 8px solid rgba(255, 255, 255, 0.75); }

.map-container .locate-container #wpsl-search-wrap #wpsl-radius {
  display: initial; }
  .map-container .locate-container #wpsl-search-wrap #wpsl-radius::after {
    position: absolute;
    content: "";
    right: 12px;
    bottom: 15%;
    margin-top: -4px;
    border: 6px solid transparent;
    border-top: 8px solid rgba(255, 255, 255, 0.75); }

.map-container .locate-container input {
  border-color: #4dcbda !important;
  border-radius: 0 !important; }

.map-container .locate-container #wpsl-search-wrap .wpsl-dropdown {
  border-radius: 0;
  background: transparent;
  border-color: #4dcbda;
  width: 100% !important;
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  color: rgba(255, 255, 255, 0.75);
  height: 40px;
  width: 100% !important; }
  .map-container .locate-container #wpsl-search-wrap .wpsl-dropdown .wpsl-selected-item {
    font-family: "Libre Baskerville", serif;
    font-style: italic;
    color: white;
    opacity: .75; }
    .map-container .locate-container #wpsl-search-wrap .wpsl-dropdown .wpsl-selected-item:after {
      border-top: 8px solid white; }
  .map-container .locate-container #wpsl-search-wrap .wpsl-dropdown.wpsl-active .wpsl-selected-item:after {
    border-bottom: 8px solid white;
    border-top: none;
    margin-top: -4px; }

.map-container .locate-container #wpsl-search-btn {
  background: #4dcbda;
  color: #002b58;
  margin: 0;
  float: none; }
  .map-container .locate-container #wpsl-search-btn:hover {
    background: #7ddae6; }

@media (min-width: 768px) {
  .map-container .locate-container #wpsl-search-wrap .form-group {
    display: table-cell;
    vertical-align: bottom; }
  .map-container .locate-container #wpsl-search-wrap .form-group + .form-group {
    padding-left: 1rem; }
  .map-container .locate-container #wpsl-search-wrap .wpsl-input input {
    width: 179px; } }

@media (min-width: 1024px) {
  .map-container .locate-container #wpsl-search-wrap .wpsl-dropdown {
    padding: 0px 12px; } }

.hero {
  position: relative;
  width: 100%;
  background-color: black; }
  .hero video {
    width: 100%;
    height: auto;
    max-height: 100%; }
    .hero video::-internal-media-controls-download-button {
      display: none; }
    .hero video::-webkit-media-controls-enclosure {
      overflow: hidden; }
    .hero video::-webkit-media-controls-panel {
      width: calc(100% + 30px);
      /* Adjust as needed */ }
    @media (max-width: 768px) {
      .hero video {
        display: block !important;
        width: 180%; } }
  @media (max-width: 768px) {
    .hero .preroll-container {
      position: relative;
      overflow: hidden; } }
  .hero .active {
    display: block; }
  .hero .inactive {
    display: none; }
  .hero .hero-content-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%; }
  .hero .hero-table {
    display: table;
    width: 100%;
    height: 100%; }
  .hero .hero-content {
    display: table-cell;
    vertical-align: middle;
    position: relative;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    z-index: 1;
    visibility: visible;
    opacity: 1;
    transition: all 1s ease-in-out; }
    .hero .hero-content > div {
      text-align: center;
      font-family: "Libre Baskerville", serif;
      color: white; }
    .hero .hero-content .introducing {
      font-size: 1.2rem;
      margin-bottom: 1rem;
      font-style: italic; }
    .hero .hero-content .logo {
      width: 200px;
      margin: 0 auto; }
    .hero .hero-content .logo svg #title .st2 {
      fill: white; }
    .hero .hero-content .tagline {
      margin-top: 1rem;
      font-size: 1rem;
      font-style: italic; }
      .hero .hero-content .tagline sup {
        font-size: 8px;
        top: -1em; }
  .hero .hero-nav {
    position: relative;
    margin: 3rem auto 0;
    z-index: 1;
    text-align: center; }
    .hero .hero-nav ul {
      list-style: none;
      margin: 0;
      padding: 0; }
      .hero .hero-nav ul li {
        margin: 1rem 0; }
        .hero .hero-nav ul li a {
          font-family: "Gotham A", "Gotham B", "Montserrat", sans-serif;
          font-size: .8rem;
          font-weight: 700;
          text-transform: uppercase;
          color: white;
          transition: color .5s ease-in-out; }
          .hero .hero-nav ul li a:hover {
            color: #60d1e0; }
        .hero .hero-nav ul li.sep {
          color: #4dcbda;
          padding: 0 1rem;
          display: none; }
    .hero .hero-nav .play {
      font-family: "Libre Baskerville", serif;
      font-style: italic;
      cursor: pointer;
      transition: color .5s ease-in-out; }
      .hero .hero-nav .play sup {
        top: -.85em;
        font-size: .5em; }
      .hero .hero-nav .play:hover {
        color: #60d1e0; }

.home .hero {
  height: 800px; }
  .home .hero .hero-content {
    background-position: center;
    background-size: cover; }
  @media (max-width: 1024px) {
    .home .hero {
      height: 500px; } }

@media (min-width: 768px) {
  .hero .hero-content .introducing {
    font-size: 1.5rem;
    margin-bottom: 1rem; }
  .hero .hero-content .logo {
    width: 300px; }
  .hero .hero-nav {
    margin: 2rem auto 0; }
    .hero .hero-nav ul li {
      display: inline-block;
      margin: 0; }
      .hero .hero-nav ul li.sep {
        display: inline-block; } }

@media (min-width: 1024px) {
  .hero .hero-content .introducing {
    font-size: 1.9rem;
    margin-bottom: 2rem; }
  .hero .hero-content .logo {
    width: 400px; }
  .hero .hero-content .tagline {
    font-size: 1.1875rem; } }

.interior-hero {
  height: 527px;
  background-position: center;
  display: flex;
  justify-content: center;
  align-items: center; }
  .interior-hero .hero-content {
    text-align: center; }
    .interior-hero .hero-content div {
      margin: auto; }
    .interior-hero .hero-content .icon {
      height: 25px;
      width: 25px;
      margin-bottom: 40px; }
    .interior-hero .hero-content .pre-headline {
      font-family: "Libre Baskerville", serif;
      font-style: italic;
      font-size: 1.375rem; }
    .interior-hero .hero-content .headline h1 {
      font-size: 1.8rem; }

.product-container {
  background: linear-gradient(90deg, #081a2d, #002b58, #081a2d);
  padding: 3rem 0; }

.newsletter-container {
  background: #60d1e0;
  padding: 6rem 0; }
  .newsletter-container iframe {
    height: 150px !important;
    min-height: 150px !important; }

.locate-container {
  background: linear-gradient(to bottom right, #003764 50%, #002b58 50%);
  padding: 6rem 0;
  margin: 0; }

.contact-container {
  background: #60d1e0;
  padding: 6rem 0; }
  .contact-container iframe {
    height: 487px !important;
    min-height: 487px !important; }

.gold-banner {
  /* position: absolute; */
  text-transform: uppercase;
  color: #fff;
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#827732+0,ada360+52,ada360+63,ada360+80,827732+100 */
  background: #827732;
  /* Old browsers */
  background: -moz-linear-gradient(left, #827732 0%, #ada360 52%, #ada360 63%, #ada360 80%, #827732 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #827732 0%, #ada360 52%, #ada360 63%, #ada360 80%, #827732 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #827732 0%, #ada360 52%, #ada360 63%, #ada360 80%, #827732 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#827732', endColorstr='#827732',GradientType=1 );
  /* IE6-9 */
  font-weight: bold;
  padding: 5px;
  text-align: center;
  font-size: 12px; }

.intro {
  text-align: center;
  margin-bottom: 2rem; }
  .intro .italic {
    font-family: "Libre Baskerville", serif;
    font-style: italic;
    font-size: 1.375rem; }
  .intro h2 {
    font-size: 1.5rem; }

.shield {
  width: 25px;
  margin: 0 auto 1rem; }

.product-container {
  position: relative;
  border: none;
  outline-width: 0; }
  .product-container .package-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: #002b58;
    top: 0px;
    display: none;
    z-index: 1000; }
    .product-container .package-overlay .overlay-close, .product-container .package-overlay .overlay-prev, .product-container .package-overlay .overlay-next {
      position: absolute;
      height: 80px;
      width: 80px;
      color: #114882;
      top: 0px;
      right: 0px;
      font-size: 80px;
      z-index: 1000;
      cursor: pointer; }
    .product-container .package-overlay .overlay-prev {
      top: calc(50% - 80px);
      right: initial;
      left: 0px; }
    .product-container .package-overlay .overlay-next {
      top: calc(50% - 80px);
      right: 0px;
      left: initial; }
    .product-container .package-overlay .overlay-content {
      position: absolute;
      height: 84%;
      top: 8%;
      width: 80%;
      left: 10%; }
      .product-container .package-overlay .overlay-content h1 {
        color: white;
        font-size: 2.25rem; }
      .product-container .package-overlay .overlay-content h2 {
        color: white;
        font-size: 1.125rem;
        font-family: "Libre Baskerville", serif;
        font-style: italic;
        text-transform: none;
        font-weight: 300; }
      .product-container .package-overlay .overlay-content button {
        width: 22%;
        margin: 15px 1% 15px 0;
        position: relative;
        display: block;
        float: left;
        line-height: initial;
        background: none;
        color: white;
        border: 1px solid #60d1e0;
        cursor: pointer; }
      .product-container .package-overlay .overlay-content button:hover, .product-container .package-overlay .overlay-content button.active {
        background: #60d1e0;
        color: #002b58; }
      .product-container .package-overlay .overlay-content .overlay-buttons {
        max-width: 100%;
        margin: auto; }
      .product-container .package-overlay .overlay-content .overlay-text-content {
        position: relative;
        width: 100%;
        left: 0px;
        height: 100%; }
        .product-container .package-overlay .overlay-content .overlay-text-content ul {
          padding: 0px;
          line-height: 1.6em; }
          .product-container .package-overlay .overlay-content .overlay-text-content ul li {
            list-style-type: none; }
          .product-container .package-overlay .overlay-content .overlay-text-content ul li:before {
            list-style-type: none;
            content: '/';
            width: 25px;
            top: 6px;
            display: inline-block;
            position: relative;
            transform: rotate(35deg); }
        .product-container .package-overlay .overlay-content .overlay-text-content .overlay-content-item {
          display: none; }
        .product-container .package-overlay .overlay-content .overlay-text-content .overlay-details {
          display: block; }
        .product-container .package-overlay .overlay-content .overlay-text-content .overlay-content-item h3 {
          padding-top: 15px; }
        .product-container .package-overlay .overlay-content .overlay-text-content .overlay-analysis .csv-data {
          font-size: 11px;
          font-weight: bold; }
          .product-container .package-overlay .overlay-content .overlay-text-content .overlay-analysis .csv-data .csv-col-1 {
            width: 40%;
            float: left;
            padding-right: 10px; }
          .product-container .package-overlay .overlay-content .overlay-text-content .overlay-analysis .csv-data .csv-col-2 {
            width: 60%;
            float: left;
            padding-left: 10px; }
          .product-container .package-overlay .overlay-content .overlay-text-content .overlay-analysis .csv-data .csv-row span {
            display: inline-block;
            vertical-align: top; }
            .product-container .package-overlay .overlay-content .overlay-text-content .overlay-analysis .csv-data .csv-row span.csv-title {
              width: 70%; }
            .product-container .package-overlay .overlay-content .overlay-text-content .overlay-analysis .csv-data .csv-row span.csv-value {
              text-align: right;
              width: 30%; }
        .product-container .package-overlay .overlay-content .overlay-text-content .o-data-bag-content {
          position: absolute;
          bottom: 0px;
          left: 0px;
          font-size: .6rem; }
        .product-container .package-overlay .overlay-content .overlay-text-content .o-data-bag-ingredients {
          font-size: .875rem; }
        .product-container .package-overlay .overlay-content .overlay-text-content .o-data-bag-feeding-content {
          font-size: .75rem; }
      .product-container .package-overlay .overlay-content .table-header, .product-container .package-overlay .overlay-content .table-footer {
        text-align: center;
        font-size: .75rem;
        font-weight: 700;
        text-transform: uppercase; }
      .product-container .package-overlay .overlay-content .o-data-bag-feeding-table table {
        border: none;
        font-size: .75rem; }
        .product-container .package-overlay .overlay-content .o-data-bag-feeding-table table tr td {
          border: 1px solid #60d1e0;
          text-align: center;
          padding: 5px 0;
          color: #60d1e0;
          font-weight: 700; }
        .product-container .package-overlay .overlay-content .o-data-bag-feeding-table table .row-1 > td {
          border: none;
          font-family: "Libre Baskerville", serif;
          font-style: italic;
          color: white;
          font-weight: 400; }
        .product-container .package-overlay .overlay-content .o-data-bag-feeding-table table .column-1 {
          border: none;
          border-bottom: 1px solid #60d1e0;
          text-align: left;
          width: 40%;
          color: white; }
      .product-container .package-overlay .overlay-content .overlay-feeding .min-copy {
        font-size: 14px; }
      .product-container .package-overlay .overlay-content .overlay-feeding .table-header, .product-container .package-overlay .overlay-content .overlay-feeding .table-footer {
        padding-left: 40%; }
      .product-container .package-overlay .overlay-content .overlay-360-content {
        position: relative;
        width: 33%;
        right: 0px;
        height: 100%; }
        .product-container .package-overlay .overlay-content .overlay-360-content video {
          height: auto;
          width: 100%;
          max-width: 312px;
          margin: auto;
          display: block;
          border: 1px solid #60d1e0; }
        .product-container .package-overlay .overlay-content .overlay-360-content img {
          height: 80%;
          width: auto;
          margin: auto;
          display: block; }
        .product-container .package-overlay .overlay-content .overlay-360-content .rotate-bag {
          font-family: "Libre Baskerville", serif;
          font-style: italic;
          color: #60d1e0;
          text-align: center;
          cursor: pointer; }
  .product-container .packaging-container {
    margin-top: 0px;
    height: auto;
    overflow: hidden;
    padding-top: 0px; }
    .product-container .packaging-container .package {
      float: none;
      width: 96%;
      cursor: pointer;
      height: auto;
      line-height: 70px;
      margin: 10px 2%;
      border: 1px solid #60d1e0; }
      .product-container .packaging-container .package img {
        max-width: 100%;
        display: block;
        margin: 0px auto;
        transition: margin 500ms; }
      .product-container .packaging-container .package .package-label {
        text-align: center;
        padding: 0px;
        font-size: 20px; }
        .product-container .packaging-container .package .package-label .package-pre-title {
          display: inline-block; }
        .product-container .packaging-container .package .package-label .package-name {
          display: inline-block;
          font-weight: bold; }
        .product-container .packaging-container .package .package-label .nav-icon {
          position: absolute;
          right: 40px;
          height: 100%;
          top: 0px; }
          .product-container .packaging-container .package .package-label .nav-icon i {
            position: absolute;
            top: 26px;
            display: block; }
            .product-container .packaging-container .package .package-label .nav-icon i.i-minus {
              display: none; }
      .product-container .packaging-container .package.active i.i-plus {
        display: none; }
      .product-container .packaging-container .package.active i.i-minus {
        display: block !important; }
      .product-container .packaging-container .package .mobile-contents {
        display: none;
        line-height: initial; }
        .product-container .packaging-container .package .mobile-contents img {
          margin: 20px auto; }
        .product-container .packaging-container .package .mobile-contents .text-content {
          padding: 20px 40px; }
          .product-container .packaging-container .package .mobile-contents .text-content h1 {
            color: white;
            font-size: 1.8rem; }
          .product-container .packaging-container .package .mobile-contents .text-content h2 {
            color: white;
            font-size: 1.125rem;
            font-family: "Libre Baskerville", serif;
            font-style: italic;
            text-transform: none;
            font-weight: 300; }
          .product-container .packaging-container .package .mobile-contents .text-content ul {
            padding: 0px 0px 0px 20px;
            position: relative;
            line-height: 1.6em; }
            .product-container .packaging-container .package .mobile-contents .text-content ul li {
              list-style-type: none;
              position: relative;
              padding-bottom: 5px; }
            .product-container .packaging-container .package .mobile-contents .text-content ul li:before {
              list-style-type: none;
              content: '/';
              width: 25px;
              left: -20px;
              top: 6px;
              display: inline-block;
              position: absolute;
              transform: rotate(35deg); }
          .product-container .packaging-container .package .mobile-contents .text-content .csv-data {
            margin-top: 20px; }
          .product-container .packaging-container .package .mobile-contents .text-content .csv-row {
            font-size: 11px;
            width: 90%;
            margin: auto;
            border-bottom: 1px solid #fff;
            margin-bottom: 10px;
            padding-bottom: 2px; }
            .product-container .packaging-container .package .mobile-contents .text-content .csv-row span {
              display: inline-block;
              vertical-align: top; }
              .product-container .packaging-container .package .mobile-contents .text-content .csv-row span.csv-title {
                width: 70%; }
              .product-container .packaging-container .package .mobile-contents .text-content .csv-row span.csv-value {
                text-align: right;
                width: 30%; }
          .product-container .packaging-container .package .mobile-contents .text-content .o-data-bag-content {
            font-size: 12px;
            padding: 20px 20px 0px 20px; }
          .product-container .packaging-container .package .mobile-contents .text-content .table-header, .product-container .packaging-container .package .mobile-contents .text-content .table-footer {
            text-align: center;
            font-size: .75rem;
            font-weight: 700;
            text-transform: uppercase; }
          .product-container .packaging-container .package .mobile-contents .text-content .o-data-bag-feeding-table table {
            border: none;
            font-size: .75rem; }
            .product-container .packaging-container .package .mobile-contents .text-content .o-data-bag-feeding-table table tr td {
              border: 1px solid #60d1e0;
              text-align: center;
              padding: 5px 0;
              color: #60d1e0;
              font-weight: 700; }
            .product-container .packaging-container .package .mobile-contents .text-content .o-data-bag-feeding-table table .row-1 > td {
              border: none;
              font-family: "Libre Baskerville", serif;
              color: white;
              font-weight: 400; }
            .product-container .packaging-container .package .mobile-contents .text-content .o-data-bag-feeding-table table .column-1 {
              border: none;
              border-bottom: 1px solid #60d1e0;
              text-align: left;
              width: 40%;
              color: white; }
          .product-container .packaging-container .package .mobile-contents .text-content .o-data-bag-feeding-table {
            width: 100%;
            overflow-x: auto; }
            .product-container .packaging-container .package .mobile-contents .text-content .o-data-bag-feeding-table table {
              table-layout: auto; }
              .product-container .packaging-container .package .mobile-contents .text-content .o-data-bag-feeding-table table tr td {
                padding: 5px; }

.map-container {
  background: #002b58; }
  .map-container #wpsl-wrap, .map-container .wpsl-gmap-canvas, .map-container #wpsl-gmap {
    margin: 0; }
  .map-container #wpsl-search-wrap div {
    margin: 0;
    float: initial; }
  .map-container .wpsl-info-window {
    color: black; }
    .map-container .wpsl-info-window a {
      color: #002b58; }

.temp-flex {
  display: flex;
  flex-direction: column; }
  .temp-flex > div {
    flex: 1; }
  .temp-flex .contact-wrapper {
    border-bottom: 1px solid #002b58;
    margin-bottom: 1rem; }

.scroll-message {
  text-align: center;
  margin: 10px 0; }

@media (min-width: 1024px) {
  @-webkit-keyframes fadein {
    from {
      opacity: 0; }
    to {
      opacity: 1; } }
  @-ms-keyframes fadein {
    from {
      opacity: 0; }
    to {
      opacity: 1; } }
  @keyframes fadein {
    from {
      opacity: 0; }
    to {
      opacity: 1; } }
  .product-container .package-overlay .overlay-content .overlay-text-content {
    position: absolute;
    width: 66%;
    opacity: 0; }
  .product-container .package-overlay .overlay-content .overlay-360-content {
    position: absolute;
    width: 33%;
    opacity: 0; }
  .product-container .package-overlay.active .overlay-content .overlay-text-content {
    -ms-animation: fadein 1s forwards;
    -ms-animation-delay: 200ms;
    -webkit-animation: fadein 1s forwards;
    -webkit-animation-delay: 200ms;
    animation: fadein 1s forwards;
    animation-delay: 200ms; } }
  @media screen and (min-width: 1024px) and (-ms-high-contrast: active), (min-width: 1024px) and (-ms-high-contrast: none) {
    .product-container .package-overlay.active .overlay-content .overlay-text-content {
      opacity: 1; } }

@media (min-width: 1024px) {
  .product-container .package-overlay.active .overlay-content .overlay-360-content {
    -ms-animation: fadein 1s forwards;
    -ms-animation-delay: 1s;
    -webkit-animation: fadein 1s forwards;
    -webkit-animation-delay: 1s;
    animation: fadein 1s forwards;
    animation-delay: 1s; } }
  @media screen and (min-width: 1024px) and (-ms-high-contrast: active), (min-width: 1024px) and (-ms-high-contrast: none) {
    .product-container .package-overlay.active .overlay-content .overlay-360-content {
      opacity: 1; } }

@media (min-width: 1024px) {
  .product-container .packaging-container {
    margin-top: 80px;
    height: 455px;
    padding-top: 30px; }
    .product-container .packaging-container .package {
      float: left;
      width: 12.66666%;
      cursor: pointer;
      margin: 0 2%;
      opacity: 1;
      border: none;
      transition: margin 1000ms;
      height: auto;
      line-height: initial; }
      .product-container .packaging-container .package .package-label {
        text-align: center;
        padding-top: 25px;
        font-size: initial; }
        .product-container .packaging-container .package .package-label .package-pre-title {
          display: block; }
        .product-container .packaging-container .package .package-label .package-name {
          display: block;
          font-weight: bold; }
      .product-container .packaging-container .package img:hover {
        margin: -20px auto 20px auto;
        transition: margin 500ms; }
    .product-container .packaging-container .package.slide-down {
      margin-top: 455px;
      opacity: 0 !important;
      transition: margin 1000ms ease-out, opacity 700ms ease-out !important; }
    .product-container .packaging-container .package.no-slide {
      margin-top: -10px;
      margin-bottom: 10px;
      opacity: 0 !important;
      transition: margin 1000ms ease-out, opacity 700ms ease-out !important; }
  .temp-flex {
    flex-direction: row; }
    .temp-flex .contact-wrapper {
      border-bottom: none;
      margin: 0;
      border-right: 1px solid #002b58; }
  .scroll-message {
    display: none; } }

.product-section {
  background: #002b58; }

/* Templates */
.page-template-template-resources-page .blog-navigation {
  padding: 20px 0px;
  background: #ececec; }
  @media (max-width: 768px) {
    .page-template-template-resources-page .blog-navigation {
      padding: 30px 0px; } }
  .page-template-template-resources-page .blog-navigation .wrapper {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    flex-wrap: wrap; }
  .page-template-template-resources-page .blog-navigation .select-options {
    display: inline-block;
    flex-basis: 66%;
    order: 1; }
  .page-template-template-resources-page .blog-navigation .mobile-filter {
    flex-basis: 100%;
    order: 2; }
  .page-template-template-resources-page .blog-navigation .search-area {
    display: inline-block;
    flex-basis: 32%;
    order: 2; }
    .page-template-template-resources-page .blog-navigation .search-area label {
      display: block;
      color: #002b58; }
    .page-template-template-resources-page .blog-navigation .search-area .search-controls {
      display: -webkit-box;
      display: -moz-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      align-items: top; }
    .page-template-template-resources-page .blog-navigation .search-area input {
      width: 60%;
      color: #002b58; }
    .page-template-template-resources-page .blog-navigation .search-area ::placeholder {
      color: #002b58;
      opacity: .8; }
    .page-template-template-resources-page .blog-navigation .search-area .go {
      width: 40px;
      height: 40px;
      padding: 10px;
      margin-left: 10px;
      color: #60d1e0;
      background: #002b58; }
      .page-template-template-resources-page .blog-navigation .search-area .go svg {
        fill: #60d1e0; }
  .page-template-template-resources-page .blog-navigation ul {
    list-style-type: none;
    margin: 0px; }
    .page-template-template-resources-page .blog-navigation ul li {
      display: inline-block;
      color: #002b58;
      font-family: "Libre Baskerville", serif;
      font-size: 14px;
      padding-right: 25px;
      font-style: italic; }
      .page-template-template-resources-page .blog-navigation ul li div {
        -webkit-appearance: none;
        display: inline-block;
        width: 20px;
        height: 20px;
        line-height: 20px;
        border: 1px solid #002b58;
        text-align: center;
        vertical-align: middle;
        cursor: pointer; }
        .page-template-template-resources-page .blog-navigation ul li div span {
          color: #002b58;
          display: none;
          font-size: 16px;
          font-family: "Gotham A", "Gotham B", "Montserrat", sans-serif;
          vertical-align: middle;
          font-style: normal; }
      .page-template-template-resources-page .blog-navigation ul li.active div span {
        display: inline-block; }
  @media (max-width: 768px) {
    .page-template-template-resources-page .blog-navigation .select-options {
      order: 3;
      flex-basis: 100%;
      display: none; }
      .page-template-template-resources-page .blog-navigation .select-options.open {
        display: block; }
      .page-template-template-resources-page .blog-navigation .select-options ul {
        margin: 0px; }
        .page-template-template-resources-page .blog-navigation .select-options ul li {
          display: block;
          margin: 10px 0; }
    .page-template-template-resources-page .blog-navigation .search-area {
      flex-basis: 100%;
      order: 1; }
      .page-template-template-resources-page .blog-navigation .search-area label {
        font-size: 1rem;
        margin-bottom: 3px;
        font-weight: bold; }
      .page-template-template-resources-page .blog-navigation .search-area input {
        width: 90%; }
    .page-template-template-resources-page .blog-navigation .filter-label {
      font-family: "Libre Baskerville", serif;
      font-size: 1.2rem;
      color: #002b58;
      margin-top: 30px;
      position: relative;
      font-style: italic; }
      .page-template-template-resources-page .blog-navigation .filter-label:after {
        position: absolute;
        content: "";
        right: 2px;
        top: 50%;
        margin-top: -4px;
        border: 10px solid transparent;
        border-top: 10px solid #002b58;
        transform: rotate(-90deg); }
      .page-template-template-resources-page .blog-navigation .filter-label.open:after {
        transform: rotate(0deg); } }

.page-template-template-resources-page .blog-articles {
  background: linear-gradient(90deg, #081a2d, #002b58, #081a2d);
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap; }
  .page-template-template-resources-page .blog-articles .featured-article {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    width: 100%; }
    .page-template-template-resources-page .blog-articles .featured-article h1 {
      font-size: 1.8rem; }
    .page-template-template-resources-page .blog-articles .featured-article p {
      margin-bottom: 20px; }
    .page-template-template-resources-page .blog-articles .featured-article .half {
      flex-basis: 50%; }
    .page-template-template-resources-page .blog-articles .featured-article .featured {
      background: #60d1e0;
      color: #002b58;
      text-transform: uppercase;
      font-weight: 800;
      font-size: 14px;
      position: absolute;
      margin-top: 240px;
      padding: 5px 20px 5px 100px; }
      @media (max-width: 768px) {
        .page-template-template-resources-page .blog-articles .featured-article .featured {
          margin-top: 30px; } }
    .page-template-template-resources-page .blog-articles .featured-article .article-image {
      background-position: center;
      background-size: cover; }
    .page-template-template-resources-page .blog-articles .featured-article .article-content, .page-template-template-resources-page .blog-articles .featured-article .article-image {
      padding: 300px 100px 100px 100px;
      background: #002b58;
      background-repeat: no-repeat;
      background-size: cover; }
    .page-template-template-resources-page .blog-articles .featured-article .btn {
      height: auto;
      font-weight: 700;
      font-size: 12px;
      padding: 15px 12px;
      color: #002b58; }
      .page-template-template-resources-page .blog-articles .featured-article .btn:hover {
        background: #7ddae6; }
    @media (max-width: 768px) {
      .page-template-template-resources-page .blog-articles .featured-article .article-content, .page-template-template-resources-page .blog-articles .featured-article .article-image {
        padding: 80px 30px 30px 30px;
        flex-basis: 100%; }
      .page-template-template-resources-page .blog-articles .featured-article .article-image {
        display: none; } }
  .page-template-template-resources-page .blog-articles .article {
    flex-basis: 25%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap; }
    @media (max-width: 1024px) {
      .page-template-template-resources-page .blog-articles .article {
        flex-basis: 50%;
        min-height: 406px; } }
    .page-template-template-resources-page .blog-articles .article p {
      font-size: .8rem;
      margin-bottom: 15px; }
    .page-template-template-resources-page .blog-articles .article img {
      align-self: flex-start;
      height: auto;
      width: 100%;
      max-height: 212px; }
    .page-template-template-resources-page .blog-articles .article .article-content {
      padding: 20px;
      align-self: flex-end;
      flex-basis: 100%; }
      .page-template-template-resources-page .blog-articles .article .article-content .btn {
        height: auto;
        font-weight: 700;
        font-size: 12px;
        padding: 15px 12px; }
    @media (max-width: 768px) {
      .page-template-template-resources-page .blog-articles .article {
        flex-basis: 100%;
        min-height: auto; }
        .page-template-template-resources-page .blog-articles .article .article-content {
          padding: 40px; }
        .page-template-template-resources-page .blog-articles .article h1 {
          font-size: 1.8rem; }
        .page-template-template-resources-page .blog-articles .article p {
          font-size: 1rem; } }
  .page-template-template-resources-page .blog-articles .article-template-2, .page-template-template-resources-page .blog-articles .article-template-5, .page-template-template-resources-page .blog-articles .article-template-8 {
    background: #60d1e0 !important; }
    .page-template-template-resources-page .blog-articles .article-template-2 p, .page-template-template-resources-page .blog-articles .article-template-5 p, .page-template-template-resources-page .blog-articles .article-template-8 p {
      color: #002b58; }
    .page-template-template-resources-page .blog-articles .article-template-2 img, .page-template-template-resources-page .blog-articles .article-template-5 img, .page-template-template-resources-page .blog-articles .article-template-8 img {
      display: none; }
    .page-template-template-resources-page .blog-articles .article-template-2 .btn, .page-template-template-resources-page .blog-articles .article-template-5 .btn, .page-template-template-resources-page .blog-articles .article-template-8 .btn {
      background: #002b58;
      color: #60d1e0; }
      .page-template-template-resources-page .blog-articles .article-template-2 .btn:hover, .page-template-template-resources-page .blog-articles .article-template-5 .btn:hover, .page-template-template-resources-page .blog-articles .article-template-8 .btn:hover {
        background: #345577; }
  .page-template-template-resources-page .blog-articles .article-template-3, .page-template-template-resources-page .blog-articles .article-template-6, .page-template-template-resources-page .blog-articles .article-template-9 {
    background: #ececec !important; }
    .page-template-template-resources-page .blog-articles .article-template-3 h1, .page-template-template-resources-page .blog-articles .article-template-6 h1, .page-template-template-resources-page .blog-articles .article-template-9 h1 {
      color: #002b58; }
    .page-template-template-resources-page .blog-articles .article-template-3 p, .page-template-template-resources-page .blog-articles .article-template-6 p, .page-template-template-resources-page .blog-articles .article-template-9 p {
      display: none; }
    .page-template-template-resources-page .blog-articles .article-template-3 .btn, .page-template-template-resources-page .blog-articles .article-template-6 .btn, .page-template-template-resources-page .blog-articles .article-template-9 .btn {
      background: #002b58;
      color: #60d1e0; }
      .page-template-template-resources-page .blog-articles .article-template-3 .btn:hover, .page-template-template-resources-page .blog-articles .article-template-6 .btn:hover, .page-template-template-resources-page .blog-articles .article-template-9 .btn:hover {
        background: #345577; }
  .page-template-template-resources-page .blog-articles .article-template-4 img, .page-template-template-resources-page .blog-articles .article-template-7 img {
    display: none; }
  .page-template-template-resources-page .blog-articles .article-template-4 h1, .page-template-template-resources-page .blog-articles .article-template-7 h1 {
    color: white; }
  .page-template-template-resources-page .blog-articles .article-template-4 p, .page-template-template-resources-page .blog-articles .article-template-7 p {
    display: white; }
  .page-template-template-resources-page .blog-articles .article-template-4 .btn, .page-template-template-resources-page .blog-articles .article-template-7 .btn {
    color: #002b58;
    background: #60d1e0; }
    .page-template-template-resources-page .blog-articles .article-template-4 .btn:hover, .page-template-template-resources-page .blog-articles .article-template-7 .btn:hover {
      background: #7ddae6; }

.page-template-template-resources-page .blog-articles-load-more {
  background: linear-gradient(90deg, #081a2d, #002b58, #081a2d);
  padding: 30px;
  text-align: center; }
  .page-template-template-resources-page .blog-articles-load-more .btn {
    display: inline-block;
    margin: auto;
    height: auto;
    font-weight: 700;
    font-size: 12px;
    padding: 15px 12px;
    color: #002b58;
    cursor: pointer; }

.about-svg {
  width: 140px;
  height: 140px;
  vertical-align: middle; }
  .about-svg figure {
    border: 2px solid #60d1e0;
    border-radius: 140px;
    background: #002b58;
    padding: 20px; }
  .about-svg svg {
    height: auto !important;
    width: auto !important;
    vertical-align: middle; }
    
.page-template-template-plain-text .post-content {
	background: #ececec;
color: #002b58;
text-align: left;
padding: 50px 0;
}
.page-template-template-plain-text main {
	max-width: 800px;
	margin: 2rem auto 0;
	padding: 2rem;
}
.page-template-template-plain-text .post-content a,
.page-template-template-plain-text .post-content a:visited {
	color: #002b58;
	text-decoration: underline;
}
.page-template-template-plain-text h2 {
	color: #002b58;
	font-size: 1.5rem;
}
.card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2rem;
  margin: 2rem auto;
}
.card {
  position: relative;
  overflow: hidden;
  margin: 0;
  cursor: pointer;
}
.card-content {
  position: absolute;
  top: auto;
  bottom: 0;
  background-color: rgba(0, 43, 88, .75);
  padding: 1rem 2rem;
  transform: translateY(calc(100% - 3.5rem));
  width: 100%;
  transition: .33s ease-in-out;
}
.card:hover .card-content {
  transform: translateY(0);
}
.pro-title {
  font-size: 1.25rem;
}
.pro-farm {
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  text-transform: capitalize;
}
.bio {
  padding-bottom: 40px;
}
.testimonial-section {
  background-color: white;
  padding: 50px 0 40px;
}
.testimonial-section p {
  font-family: "Libre Baskerville", serif;
}
.testimonial-meta {
  display: flex;
  justify-content: center;
  font-weight: 700;
  text-transform: uppercase;
  margin-top: 25px;
}
.single-rider .social-share {
  display: flex;
  justify-content: space-between;
}
.single-rider .post-nav,
.single-post .post-nav {
  display: flex;
  justify-content: space-between;
  text-transform: uppercase;
}
@media (max-width:768px) {
  .single-rider .social-share,
  .single-rider .post-nav,
  .single-post .post-nav {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }
  .post-nav a {
    padding: .5rem 0;
  }
}
.testimonials-section {
  background: black;
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
}
.page-id-85 .testimonials-section {
  background-position: left center;
}
.testimonials-section .single-quote.slick-slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 2rem 0;
}
.testimonials-section .slick-wrapper {
  max-width: 750px;
  margin: 0 auto;
  padding: 1rem;
}
.testimonials-section .slick-dots {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}
.testimonials-section .slick-dots li {
  display: flex;
  justify-content: center;
  align-items: center;
}
.testimonials-section .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 20px;
  height: 20px;
  padding: 5px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
  position: relative;
}
.testimonials-section .slick-dots li button::before {
  display: block;
  content: '';
  width: 10px;
  height: 10px;
  border: 1px solid white;
  border-radius: 50%;
}
.testimonials-section .slick-active button::before {
  background-color: white;
}
.testimonials-section .quote-author {
  text-align: center;
}
.testimonials-section .quote-content {
  font-family: "Libre Baskerville", serif;
  font-size: 1.5rem;
  font-style: italic;
  text-align: center;
  color: #4dcbda;
  padding: 1rem;
}
.articles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 2rem;
}
.resources-wrapper {
  background: linear-gradient(90deg,#081a2d,#002b58,#081a2d);
  padding: 2rem 0;
}
.articles-grid .featured-article {
  grid-column: 1 / -1;
}
.articles-grid .featured-article .featured {
  display: inline-flex;
  background-color: #4dcbda;
  color: #002b58;
  padding: .5rem;
  font-weight: 700;
  text-transform: uppercase;
  font-size: .75rem;
}
.articles-grid .featured-article .article-content h1 {
  margin-top: 1rem;
}
img.alignnone {
  float:none; margin: 5px 0 5px 0;
}

img.alignleft {
  float:left; 
  margin: 5px 10px 5px 0px;
}

img.aligncenter {
  display:block;
  float:none;
  margin: 5px auto;
}

img.alignright {
  float:right;
  margin: 5px 0 5px 10px;
}
@media (min-width: 768px) {
  .articles-grid .featured-article {
    display: flex;
    align-items: flex-end;
  }
  .articles-grid .featured-article .article-content {
    margin-left: 2rem;
  }
  .articles-grid .featured-article .featured {
    transform: translateX(-2rem);
    margin-bottom: 4rem;
    padding-left: 1rem;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .articles-grid .featured-article .article-image {
    flex: 1.5;
  }
  .articles-grid .featured-article .article-content {
    flex: 1;
  }
  .articles-grid .featured-article .featured {
    margin: 0;
  }
}
@media (min-width: 1025px) {
  /* .articles-grid .featured-article .article-image {
    flex: 2;
  }
  .articles-grid .featured-article .article-content {
    flex: 1;
  } */
  .articles-grid .featured-article .article-image,
  .articles-grid .featured-article .article-content {
    flex: initial;
  }
}
.articles-grid .article-preview .article-content {
  margin-top: 1rem;
}
.discontinued .alert-area {
  background-color: #60d1e0;
  padding: 3rem 2rem;
}
.alert-area h2 {
  text-align: center;
  color: #002b58;
  margin-bottom: 0;
}
.discontinued .products-area .wrapper {
  max-width: 1400px;
}
.discontinued h2 {
  font-size: 1.5rem;
  text-align: center;
}
.discontinued .options-content {
  text-align: center;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUtc2Nzcy9zYXNzL19ub3JtYWxpemUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL19ub3JtYWxpemUtbWl4aW4uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9fY29udGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L19oZWxwZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvX3BhcnNlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL19xdWVyeS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvX3NpbmdsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvc2luZ2xlL19kZWZhdWx0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9fZG91YmxlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9kb3VibGUvX2RlZmF1bHQtcGFpci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvZG91YmxlL19kb3VibGUtc3RyaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYnJlYWtwb2ludC1zYXNzL3N0eWxlc2hlZXRzL2JyZWFrcG9pbnQvcGFyc2Vycy9kb3VibGUvX2RlZmF1bHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL190cmlwbGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL3RyaXBsZS9fZGVmYXVsdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L3BhcnNlcnMvX3Jlc29sdXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9wYXJzZXJzL3Jlc29sdXRpb24vX3Jlc29sdXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9fbm8tcXVlcnkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvYnJlYWtwb2ludC9fcmVzcG9uZC10by5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2JyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50L19sZWdhY3ktc2V0dGluZ3Muc2NzcyIsImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYmFzZS9faWNvbnMuc2NzcyIsImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwiYmFzZS9fbGF5b3V0LnNjc3MiLCJtb2R1bGVzL19zaXRlLWhlYWRlci5zY3NzIiwibW9kdWxlcy9fc2l0ZS1mb290ZXIuc2NzcyIsIm1vZHVsZXMvX2Zvcm1zLnNjc3MiLCJtb2R1bGVzL19oZXJvLnNjc3MiLCJtb2R1bGVzL19jb250YWluZXJzLnNjc3MiLCJtb2R1bGVzL19sYW5kaW5nLnNjc3MiLCJ0ZW1wbGF0ZXMvX3RlbXBsYXRlLXJlc291cmNlcy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuU3R5bGVzaGVldDogTWFpbiBTdHlsZXNoZWV0XG5cbkRlcGVuZGVuY2llczogTm9kZS5qcyAvIEd1bHBcblxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5AaW1wb3J0IFwibm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemVcIjtcbkBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xuQGltcG9ydCBcImJyZWFrcG9pbnQtc2Fzcy9zdHlsZXNoZWV0cy9icmVha3BvaW50XCI7XG5cbi8qIEJhc2UgRmlsZXMgKi9cblxuQGltcG9ydCBcImJhc2UvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYmFzZS9iYXNlXCI7XG5AaW1wb3J0IFwiYmFzZS9pY29uc1wiO1xuQGltcG9ydCBcImJhc2UvdHlwb2dyYXBoeVwiO1xuLy9AaW1wb3J0IFwiYmFzZS9idXR0b25zXCI7XG5AaW1wb3J0IFwiYmFzZS9sYXlvdXRcIjtcblxuXG4vKiBNb2R1bGVzICovXG5AaW1wb3J0IFwibW9kdWxlcy9zaXRlLWhlYWRlclwiO1xuQGltcG9ydCBcIm1vZHVsZXMvc2l0ZS1mb290ZXJcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL2Zvcm1zXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9oZXJvXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9jb250YWluZXJzXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9sYW5kaW5nXCI7XG5cblxuLyogVGVtcGxhdGVzICovXG5AaW1wb3J0IFwidGVtcGxhdGVzL3RlbXBsYXRlLXJlc291cmNlc1wiO1xuIiwiQGltcG9ydCAnbm9ybWFsaXplL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdub3JtYWxpemUvdmVydGljYWwtcmh5dGhtJztcbkBpbXBvcnQgJ25vcm1hbGl6ZS9ub3JtYWxpemUtbWl4aW4nO1xuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBAaWYgJGJhc2UtZm9udC1mYW1pbHkge1xuICAgICAgICAvKiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuICovXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcbiAgICAgIH1cbiAgICAgIEBpZiAkYmFzZS1mb250LXNpemUgIT0gMTZweCBvciAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICB9XG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6IGlmKCRiYXNlLWZvbnQtZmFtaWx5LCAkYmFzZS1mb250LWZhbWlseSwgc2Fucy1zZXJpZik7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBsZWdlbmQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgICAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgICAgIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICAgICAgcGFkZGluZzogMDsgLyogMyAqL1xuICAgICAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xuXG4gICAgcHJvZ3Jlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAgICAqL1xuXG4gICAgdGV4dGFyZWEge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShpbnRlcmFjdGl2ZSkge1xuICAgIC8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuXG4gICAgZGV0YWlscyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBtZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKlxuICAgICAgICAgKiAxLiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICAgKiAyLiBTZXQgY29uc2lzdGVudCBzcGFjZSBmb3IgdGhlIGxpc3Qgc3R5bGUgaW1hZ2UuXG4gICAgICAgICAqL1xuXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTsgLyogMSAqL1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAkaW5kZW50LWFtb3VudDsgLyogMiAqL1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAgICovXG5cbiAgICAgICAgbWVudSAmLFxuICAgICAgICBvbCAmLFxuICAgICAgICB1bCAmIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKHNjcmlwdGluZykge1xuICAgIC8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIGNhbnZhcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZW1wbGF0ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaGlkZGVuKSB7XG4gICAgLyogSGlkZGVuXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFtoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIERlZmF1bHQgVmFyaWFibGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiRCcmVha3BvaW50LVNldHRpbmdzOiAoXG4gICdkZWZhdWx0IG1lZGlhJzogYWxsLFxuICAnZGVmYXVsdCBmZWF0dXJlJzogbWluLXdpZHRoLFxuICAnZGVmYXVsdCBwYWlyJzogd2lkdGgsXG5cbiAgJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJzogZmFsc2UsXG4gICd0byBlbXMnOiBmYWxzZSxcbiAgJ3RyYW5zZm9ybSByZXNvbHV0aW9ucyc6IHRydWUsXG5cbiAgJ25vIHF1ZXJpZXMnOiBmYWxzZSxcbiAgJ25vIHF1ZXJ5IGZhbGxiYWNrcyc6IGZhbHNlLFxuXG4gICdiYXNlIGZvbnQgc2l6ZSc6IDE2cHgsXG5cbiAgJ2xlZ2FjeSBzeW50YXgnOiBmYWxzZVxuKTtcblxuJGJyZWFrcG9pbnQ6ICgpICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEltcG9ydHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcImJyZWFrcG9pbnQvc2V0dGluZ3NcIjtcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvY29udGV4dCc7XG5AaW1wb3J0ICdicmVha3BvaW50L2hlbHBlcnMnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9wYXJzZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvbm8tcXVlcnknO1xuXG5AaW1wb3J0ICdicmVha3BvaW50L3Jlc3BvbmQtdG8nO1xuXG5AaW1wb3J0IFwiYnJlYWtwb2ludC9sZWdhY3ktc2V0dGluZ3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IE1peGluXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGxlZ2FjeS1zZXR0aW5ncy13YXJuaW5nO1xuXG4gIC8vIFJlc2V0IGNvbnRleHRzXG4gIEBpbmNsdWRlIHByaXZhdGUtYnJlYWtwb2ludC1yZXNldC1jb250ZXh0cygpO1xuXG4gICRicmVha3BvaW50OiBicmVha3BvaW50KCRxdWVyeSwgZmFsc2UpO1xuXG4gICRxdWVyeS1zdHJpbmc6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeScpO1xuICAkcXVlcnktZmFsbGJhY2s6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdmYWxsYmFjaycpO1xuXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdjb250ZXh0IGhvbGRlcicpICFnbG9iYWw7XG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IG1hcC1nZXQoJGJyZWFrcG9pbnQsICdxdWVyeSBjb3VudCcpICFnbG9iYWw7XG5cbiAgLy8gQWxsb3cgZm9yIGFuIGFzLW5lZWRlZCBvdmVycmlkZSBvciB1c2FnZSBvZiBubyBxdWVyeSBmYWxsYmFjay5cbiAgQGlmICRuby1xdWVyeSAhPSBmYWxzZSB7XG4gICAgJHF1ZXJ5LWZhbGxiYWNrOiAkbm8tcXVlcnk7XG4gIH1cblxuICBAaWYgJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlIHtcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgnbm8tcXVlcnknLCAkcXVlcnktZmFsbGJhY2spO1xuICB9XG5cbiAgLy8gUHJpbnQgT3V0IFF1ZXJ5IFN0cmluZ1xuICBAaWYgbm90IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykge1xuICAgIEBtZWRpYSAjeyRxdWVyeS1zdHJpbmd9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBpZiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykgIT0gZmFsc2Ugb3IgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSA9PSB0cnVlIHtcblxuICAgICR0eXBlOiB0eXBlLW9mKGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSk7XG4gICAgJHByaW50OiBmYWxzZTtcblxuICAgIEBpZiAoJHR5cGUgPT0gJ2Jvb2wnKSB7XG4gICAgICAkcHJpbnQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnc3RyaW5nJykge1xuICAgICAgQGlmICRxdWVyeS1mYWxsYmFjayA9PSBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICgkdHlwZSA9PSAnbGlzdCcpIHtcbiAgICAgIEBlYWNoICR3cmFwcGVyIGluIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gJHdyYXBwZXIge1xuICAgICAgICAgICRwcmludDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFdyaXRlIEZhbGxiYWNrXG4gICAgQGlmICgkcXVlcnktZmFsbGJhY2sgIT0gZmFsc2UpIGFuZCAoJHByaW50ID09IHRydWUpIHtcbiAgICAgICR0eXBlLWZhbGxiYWNrOiB0eXBlLW9mKCRxdWVyeS1mYWxsYmFjayk7XG5cbiAgICAgIEBpZiAoJHR5cGUtZmFsbGJhY2sgIT0gJ2Jvb2wnKSB7XG4gICAgICAgICN7JHF1ZXJ5LWZhbGxiYWNrfSAmIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcbn1cblxuXG5AbWl4aW4gbXEoJHF1ZXJ5LCAkbm8tcXVlcnk6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkbm8tcXVlcnkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBIYXMgU2V0dGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1oYXMoJHNldHRpbmcpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50LCAkc2V0dGluZykge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEdldCBTZXR0aW5nc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1nZXQoJHNldHRpbmcpIHtcbiAgQGlmIGJyZWFrcG9pbnQtaGFzKCRzZXR0aW5nKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50LCAkc2V0dGluZyk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkQnJlYWtwb2ludC1TZXR0aW5ncywgJHNldHRpbmcpO1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gU2V0IFNldHRpbmdzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXNldCgkc2V0dGluZywgJHZhbHVlKSB7XG4gIEBpZiAoc3RyLWluZGV4KCRzZXR0aW5nLCAnLScpIG9yIHN0ci1pbmRleCgkc2V0dGluZywgJ18nKSkgYW5kIHN0ci1pbmRleCgkc2V0dGluZywgJyAnKSA9PSBudWxsIHtcbiAgICBAd2FybiBcIldvcmRzIGluIEJyZWFrcG9pbnQgc2V0dGluZ3Mgc2hvdWxkIGJlIHNlcGFyYXRlZCBieSBzcGFjZXMsIG5vdCBkYXNoZXMgb3IgdW5kZXJzY29yZXMuIFBsZWFzZSByZXBsYWNlIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMgYmV0d2VlbiB3b3JkcyB3aXRoIHNwYWNlcy4gU2V0dGluZ3Mgd2lsbCBub3Qgd29yayBhcyBleHBlY3RlZCB1bnRpbCBjaGFuZ2VkLlwiO1xuICB9XG4gICRicmVha3BvaW50OiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnQsICgkc2V0dGluZzogJHZhbHVlKSkgIWdsb2JhbDtcbiAgQHJldHVybiB0cnVlO1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSkge1xuICAkYnJlYWtwb2ludC1jaGFuZ2U6IGJyZWFrcG9pbnQtc2V0KCRzZXR0aW5nLCAkdmFsdWUpO1xufVxuXG5AbWl4aW4gYnJlYWtwb2ludC1zZXQoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKTtcbn1cblxuQG1peGluIGJrcHQtY2hhbmdlKCRzZXR0aW5nLCAkdmFsdWUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludC1jaGFuZ2UoJHNldHRpbmcsICR2YWx1ZSk7XG59XG5AbWl4aW4gYmtwdC1zZXQoJHNldHRpbmcsICR2YWx1ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50LWNoYW5nZSgkc2V0dGluZywgJHZhbHVlKTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZW1vdmUgU2V0dGluZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDEge1xuICAgICRzZXR0aW5nczogbnRoKCRzZXR0aW5ncywgMSk7XG4gIH1cblxuICBAZWFjaCAkc2V0dGluZyBpbiAkc2V0dGluZ3Mge1xuICAgICRicmVha3BvaW50OiBtYXAtcmVtb3ZlKCRicmVha3BvaW50LCAkc2V0dGluZykgIWdsb2JhbDtcbiAgfVxuICBAcmV0dXJuIHRydWU7XG59XG5cbkBtaXhpbiBicmVha3BvaW50LXJlc2V0KCRzZXR0aW5ncy4uLikge1xuICAkYnJlYWtwb2ludC1yZXNldDogYnJlYWtwb2ludC1yZXNldCgkc2V0dGluZ3MpO1xufVxuXG5AbWl4aW4gYmtwdC1yZXNldCgkc2V0dGluZ3MuLi4pIHtcbiAgJGJyZWFrcG9pbnQtcmVzZXQ6IGJyZWFrcG9pbnQtcmVzZXQoJHNldHRpbmdzKTtcbn0iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFByaXZhdGUgQnJlYWtwb2ludCBWYXJpYWJsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCk7XG4kcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFkZWZhdWx0O1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgSGFzIENvbnRleHRcbi8vIFJldHVybnMgd2hldGhlciBvciBub3QgeW91IGFyZSBpbnNpZGUgYSBCcmVha3BvaW50IHF1ZXJ5XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LWhhcy1jb250ZXh0KCkge1xuICBAaWYgbGVuZ3RoKCRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQpIHtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCcmVha3BvaW50IEdldCBDb250ZXh0XG4vLyAkZmVhdHVyZTogSW5wdXQgZmVhdHVyZSB0byBnZXQgaXQncyBjdXJyZW50IE1RIGNvbnRleHQuIFJldHVybnMgZmFsc2UgaWYgbm8gY29udGV4dFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1nZXQtY29udGV4dCgkZmVhdHVyZSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgJGZlYXR1cmUpIHtcbiAgICAkZ2V0OiBtYXAtZ2V0KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKTtcbiAgICAvLyBTcGVjaWFsIGhhbmRsaW5nIG9mIG5vLXF1ZXJ5IGZyb20gZ2V0IHNpZGUgc28gL2ZhbHNlLyBwcmVwZW5kcyBhcmVuJ3QgcmV0dXJuZWRcbiAgICBAaWYgJGZlYXR1cmUgPT0gJ25vLXF1ZXJ5JyB7XG4gICAgICBAaWYgdHlwZS1vZigkZ2V0KSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkZ2V0KSA+IDEgYW5kIG50aCgkZ2V0LCAxKSA9PSBmYWxzZSB7XG4gICAgICAgICRnZXQ6IG50aCgkZ2V0LCBsZW5ndGgoJGdldCkpO1xuICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRnZXQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBicmVha3BvaW50LWhhcy1jb250ZXh0KCkgYW5kICRmZWF0dXJlID09ICdtZWRpYScge1xuICAgICAgQHJldHVybiBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFByaXZhdGUgZnVuY3Rpb24gdG8gc2V0IGNvbnRleHRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJHZhbHVlKSB7XG4gIEBpZiAkdmFsdWUgPT0gJ21vbm9jaHJvbWUnIHtcbiAgICAkZmVhdHVyZTogJ21vbm9jaHJvbWUnO1xuICB9XG5cbiAgJGN1cnJlbnQ6IG1hcC1nZXQoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgJGZlYXR1cmUpO1xuICBAaWYgJGN1cnJlbnQgYW5kIGxlbmd0aCgkY3VycmVudCkgPT0gJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgQHdhcm4gXCJZb3UgaGF2ZSBhbHJlYWR5IHF1ZXJpZWQgYWdhaW5zdCBgI3skZmVhdHVyZX1gLiBVbmV4cGVjdGVkIHRoaW5ncyBtYXkgaGFwcGVuIGlmIHlvdSBxdWVyeSBhZ2FpbnN0IHRoZSBzYW1lIGZlYXR1cmUgbW9yZSB0aGFuIG9uY2UgaW4gdGhlIHNhbWUgYGFuZGAgcXVlcnkuIEJyZWFrcG9pbnQgaXMgb3ZlcndyaXRpbmcgdGhlIGN1cnJlbnQgY29udGV4dCB3aXRoIGAjeyR2YWx1ZX1gXCI7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIsICRmZWF0dXJlKSB7XG4gICAgJHYtaG9sZGVyOiAoKTtcbiAgICBAZm9yICRpIGZyb20gMSB0byAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IHtcbiAgICAgIEBpZiAkZmVhdHVyZSA9PSAnbWVkaWEnIHtcbiAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgJHZhbHVlKTtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtbWVyZ2UoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgKCRmZWF0dXJlOiAkdi1ob2xkZXIpKSAhZ2xvYmFsO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdi1ob2xkZXI6IG1hcC1nZXQoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgJGZlYXR1cmUpO1xuICAgICRsZW5ndGg6IGxlbmd0aCgkdi1ob2xkZXIpO1xuICAgIEBmb3IgJGkgZnJvbSAkbGVuZ3RoIHRvICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQgLSAxIHtcbiAgICAgIEBpZiAkZmVhdHVyZSA9PSAnbWVkaWEnIHtcbiAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBicmVha3BvaW50LWdldCgnZGVmYXVsdCBtZWRpYScpKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHYtaG9sZGVyOiBhcHBlbmQoJHYtaG9sZGVyLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgJHZhbHVlKTtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtbWVyZ2UoJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlciwgKCRmZWF0dXJlOiAkdi1ob2xkZXIpKSAhZ2xvYmFsO1xuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFByaXZhdGUgZnVuY3Rpb24gdG8gcmVzZXQgY29udGV4dFxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AbWl4aW4gcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzIHtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCkgIWdsb2JhbDtcbiAgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudDogMCAhZ2xvYmFsO1xufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQ29udmVydHMgdGhlIGlucHV0IHZhbHVlIHRvIEJhc2UgRU1zXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBmdW5jdGlvbiBicmVha3BvaW50LXRvLWJhc2UtZW0oJHZhbHVlKSB7XG4gICR2YWx1ZS11bml0OiB1bml0KCR2YWx1ZSk7XG5cbiAgLy8gV2lsbCBjb252ZXJ0IHJlbGF0aXZlIEVNcyBpbnRvIHJvb3QgRU1zLlxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykgYW5kIHR5cGUtb2YoYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykpID09ICdudW1iZXInIGFuZCAkdmFsdWUtdW5pdCA9PSAnZW0nIHtcbiAgICAkYmFzZS11bml0OiB1bml0KGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpKTtcblxuICAgIEBpZiAkYmFzZS11bml0ID09ICdweCcgb3IgJGJhc2UtdW5pdCA9PSAnJScgb3IgJGJhc2UtdW5pdCA9PSAnZW0nIG9yICRiYXNlLXVuaXQgPT0gJ3B0JyB7XG4gICAgICBAcmV0dXJuIGJhc2UtY29udmVyc2lvbigkdmFsdWUpIC8gYmFzZS1jb252ZXJzaW9uKGJyZWFrcG9pbnQtZ2V0KCdiYXNlIGZvbnQgc2l6ZScpKSAqIDFlbTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJyN7YnJlYWtwb2ludC1nZXQoXFwnYmFzZSBmb250IHNpemVcXCcpfSBpcyBub3Qgc2V0IGluIHZhbGlkIHVuaXRzIGZvciBmb250IHNpemUhJztcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGJhc2UtY29udmVyc2lvbigkdmFsdWUpO1xuICB9XG59XG5cbkBmdW5jdGlvbiBiYXNlLWNvbnZlcnNpb24oJHZhbHVlKSB7XG4gICR1bml0OiB1bml0KCR2YWx1ZSk7XG5cbiAgQGlmICR1bml0ID09ICdweCcge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gMTZweCAqIDFlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSAnJScge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gMTAwJSAqIDFlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSAnZW0nIHtcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSAncHQnIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIDEycHQgKiAxZW07XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuLy8gICAgQHdhcm4gJ0V2ZXJ5dGhpbmcgaXMgdGVycmlibGUhIFdoYXQgaGF2ZSB5b3UgZG9uZT8hJztcbiAgfVxufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBjYW4gaGF2ZSBhIG1pbi9tYXggcGFpclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJlYWtwb2ludC1taW4tbWF4LWZlYXR1cmVzOiAnY29sb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbG9yLWluZGV4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhc3BlY3QtcmF0aW8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldmljZS1hc3BlY3QtcmF0aW8nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldmljZS1oZWlnaHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RldmljZS13aWR0aCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGVpZ2h0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtb25vY2hyb21lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXNvbHV0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aWR0aCc7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbi1tYXgoJGZlYXR1cmUpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGJyZWFrcG9pbnQtbWluLW1heC1mZWF0dXJlcyB7XG4gICAgQGlmICRmZWF0dXJlID09ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmUgY2FuIGhhdmUgYSBzdHJpbmcgdmFsdWVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtc3RyaW5nLWZlYXR1cmVzOiAgJ29yaWVudGF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2FuJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb2xvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXZpY2UtYXNwZWN0LXJhdGlvJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdsdW1pbm9zaXR5JztcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtc3RyaW5nLXZhbHVlKCRmZWF0dXJlKSB7XG4gIEBlYWNoICRpdGVtIGluICRicmVha3BvaW50LXN0cmluZy1mZWF0dXJlcyB7XG4gICAgQGlmIGJyZWFrcG9pbnQtbWluLW1heCgkaXRlbSkge1xuICAgICAgQGlmICRmZWF0dXJlID09ICdtaW4tI3skaXRlbX0nIG9yICRmZWF0dXJlID09ICdtYXgtI3skaXRlbX0nIHtcbiAgICAgICAgQHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkZmVhdHVyZSA9PSAkaXRlbSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBmZWF0dXJlIGlzIGEgbWVkaWEgdHlwZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJlYWtwb2ludC1tZWRpYS10eXBlczogICdhbGwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYnJhaWxsZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdlbWJvc3NlZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdoYW5kaGVsZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwcmludCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9qZWN0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjcmVlbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdzcGVlY2gnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAndHR5JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3R2JztcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaXMtbWVkaWEoJGZlYXR1cmUpIHtcbiAgQGVhY2ggJG1lZGlhIGluICRicmVha3BvaW50LW1lZGlhLXR5cGVzIHtcbiAgICBAaWYgKCRmZWF0dXJlID09ICRtZWRpYSkgb3IgKCRmZWF0dXJlID09ICdub3QgI3skbWVkaWF9Jykgb3IgKCRmZWF0dXJlID09ICdvbmx5ICN7JG1lZGlhfScpIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJldHVybnMgd2hldGhlciB0aGUgZmVhdHVyZSBjYW4gc3RhbmQgYWxvbmVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuJGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZy1mZWF0dXJlczogJ2NvbG9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb2xvci1pbmRleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ3JpZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbW9ub2Nocm9tZSc7XG5cbkBmdW5jdGlvbiBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJGZlYXR1cmUpIHtcbiAgQGVhY2ggJGl0ZW0gaW4gJGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZy1mZWF0dXJlcyB7XG4gICAgQGlmICRmZWF0dXJlID09ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXR1cm5zIHdoZXRoZXIgdGhlIGZlYXR1cmVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaXMtcmVzb2x1dGlvbigkZmVhdHVyZSkge1xuICAkcmVzb2x1dGlvbnM6ICdkZXZpY2UtcGl4ZWwtcmF0aW8nLCAnZHByJztcblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycpIHtcbiAgICAkcmVzb2x1dGlvbnM6IGFwcGVuZCgkcmVzb2x1dGlvbnMsICdyZXNvbHV0aW9uJyk7XG4gIH1cblxuICBAZWFjaCAkcmVzbyBpbiAkcmVzb2x1dGlvbnMge1xuICAgIEBpZiBpbmRleCgkZmVhdHVyZSwgJHJlc28pIG9yIGluZGV4KCRmZWF0dXJlLCAnbWluLSN7JHJlc299Jykgb3IgaW5kZXgoJGZlYXR1cmUsICdtYXgtI3skcmVzb30nKSB7XG4gICAgICBAcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBmYWxzZTtcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBhcnNlciBQaWVjZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCBcInBhcnNlcnMvcXVlcnlcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL3NpbmdsZVwiO1xuQGltcG9ydCBcInBhcnNlcnMvZG91YmxlXCI7XG5AaW1wb3J0IFwicGFyc2Vycy90cmlwbGVcIjtcbkBpbXBvcnQgXCJwYXJzZXJzL3Jlc29sdXRpb25cIjtcblxuJE1lbW8tRXhpc3RzOiBmdW5jdGlvbi1leGlzdHMobWVtby1nZXQpIGFuZCBmdW5jdGlvbi1leGlzdHMobWVtby1zZXQpO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEJyZWFrcG9pbnQgRnVuY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHF1ZXJ5LCAkY29udGV4dHMuLi4pIHtcbiAgJHJ1bjogdHJ1ZTtcbiAgJHJldHVybjogKCk7XG5cbiAgLy8gR3JhYiB0aGUgTWVtbyBPdXRwdXQgaWYgTWVtb2l6YXRpb24gY2FuIGJlIGEgdGhpbmdcbiAgQGlmICRNZW1vLUV4aXN0cyB7XG4gICAgJHJldHVybjogbWVtby1nZXQoYnJlYWtwb2ludCwgYnJlYWtwb2ludCAkcXVlcnkgJGNvbnRleHRzKTtcblxuICAgIEBpZiAkcmV0dXJuICE9IG51bGwge1xuICAgICAgJHJ1bjogZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkTWVtby1FeGlzdHMgb3IgJHJ1biB7XG4gICAgLy8gSW50ZXJuYWwgVmFyaWFibGVzXG4gICAgJHF1ZXJ5LXN0cmluZzogJyc7XG4gICAgJHF1ZXJ5LWZhbGxiYWNrOiBmYWxzZTtcbiAgICAkcmV0dXJuOiAoKTtcblxuICAgIC8vIFJlc2VydmUgR2xvYmFsIFByaXZhdGUgQnJlYWtwb2ludCBDb250ZXh0XG4gICAgJGhvbGRlci1jb250ZXh0OiAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyO1xuICAgICRob2xkZXItcXVlcnktY291bnQ6ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ7XG5cbiAgICAvLyBSZXNldCBHbG9iYWwgUHJpdmF0ZSBCcmVha3BvaW50IENvbnRleHRcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiAoKSAhZ2xvYmFsO1xuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6IDAgIWdsb2JhbDtcblxuXG4gICAgLy8gVGVzdCB0byBzZWUgaWYgaXQncyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4gICAgJG9yLWxpc3Q6IGlmKGxpc3Qtc2VwYXJhdG9yKCRxdWVyeSkgPT0gJ2NvbW1hJywgdHJ1ZSwgZmFsc2UpO1xuXG5cbiAgICBAaWYgKCRvci1saXN0ID09IGZhbHNlIGFuZCBicmVha3BvaW50LWdldCgnbGVnYWN5IHN5bnRheCcpID09IGZhbHNlKSB7XG4gICAgICAkcXVlcnktc3RyaW5nOiBicmVha3BvaW50LXBhcnNlKCRxdWVyeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRsZW5ndGg6IGxlbmd0aCgkcXVlcnkpO1xuXG4gICAgICAkbGFzdDogbnRoKCRxdWVyeSwgJGxlbmd0aCk7XG4gICAgICAkcXVlcnktZmFsbGJhY2s6IGJyZWFrcG9pbnQtbm8tcXVlcnkoJGxhc3QpO1xuXG4gICAgICBAaWYgKCRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSkge1xuICAgICAgICAkbGVuZ3RoOiAkbGVuZ3RoIC0gMTtcbiAgICAgIH1cblxuICAgICAgQGlmIChicmVha3BvaW50LWdldCgnbGVnYWN5IHN5bnRheCcpID09IHRydWUpIHtcbiAgICAgICAgJG1xOiAoKTtcblxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgICAgICRtcTogYXBwZW5kKCRtcSwgbnRoKCRxdWVyeSwgJGkpLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgICAkcXVlcnktc3RyaW5nOiBicmVha3BvaW50LXBhcnNlKCRtcSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICRxdWVyeS1zdHJpbmc6ICcnO1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsZW5ndGgge1xuICAgICAgICAgICRxdWVyeS1zdHJpbmc6ICRxdWVyeS1zdHJpbmcgKyBpZigkaSA9PSAxLCAnJywgJywgJykgKyBicmVha3BvaW50LXBhcnNlKG50aCgkcXVlcnksICRpKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAkcmV0dXJuOiAoJ3F1ZXJ5JzogJHF1ZXJ5LXN0cmluZyxcbiAgICAgICAgJ2ZhbGxiYWNrJzogJHF1ZXJ5LWZhbGxiYWNrLFxuICAgICAgICAnY29udGV4dCBob2xkZXInOiAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLFxuICAgICAgICAncXVlcnkgY291bnQnOiAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50XG4gICAgKTtcbiAgICBAaWYgbGVuZ3RoKCRjb250ZXh0cykgPiAwIGFuZCBudGgoJGNvbnRleHRzLCAxKSAhPSBmYWxzZSB7XG4gICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlIHtcbiAgICAgICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgICAgIH1cbiAgICAgICRjb250ZXh0LW1hcDogKCk7XG4gICAgICBAZWFjaCAkY29udGV4dCBpbiAkY29udGV4dHMge1xuICAgICAgICAkY29udGV4dC1tYXA6IG1hcC1tZXJnZSgkY29udGV4dC1tYXAsICgkY29udGV4dDogYnJlYWtwb2ludC1nZXQtY29udGV4dCgkY29udGV4dCkpKTtcbiAgICAgIH1cbiAgICAgICRyZXR1cm46IG1hcC1tZXJnZSgkcmV0dXJuLCAoY29udGV4dDogJGNvbnRleHQtbWFwKSk7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgR2xvYmFsIFByaXZhdGUgQnJlYWtwb2ludCBDb250ZXh0XG4gICAgJHByaXZhdGUtYnJlYWtwb2ludC1jb250ZXh0LWhvbGRlcjogKCkgIWdsb2JhbDtcbiAgICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiAwICFnbG9iYWw7XG5cbiAgICBAaWYgJE1lbW8tRXhpc3RzIHtcbiAgICAgICRob2xkZXI6IG1lbW8tc2V0KGJyZWFrcG9pbnQsIGJyZWFrcG9pbnQgJHF1ZXJ5ICRjb250ZXh0cywgJHJldHVybik7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEdlbmVyYWwgQnJlYWtwb2ludCBQYXJzZXJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UoJHF1ZXJ5KSB7XG4gIC8vIEluY3JlYXNlIG51bWJlciBvZiAnYW5kJyBxdWVyaWVzXG4gICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQ6ICRwcml2YXRlLWJyZWFrcG9pbnQtcXVlcnktY291bnQgKyAxICFnbG9iYWw7XG5cbiAgLy8gU2V0IHVwIE1lZGlhIFR5cGVcbiAgJHF1ZXJ5LXByaW50OiAnJztcblxuICAkZm9yY2UtYWxsOiAoKGJyZWFrcG9pbnQtZ2V0KCdmb3JjZSBhbGwgbWVkaWEgdHlwZScpID09IHRydWUpIGFuZCAoYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSA9PSAnYWxsJykpO1xuICAkZW1wdHktbWVkaWE6IHRydWU7XG4gIEBpZiAoJGZvcmNlLWFsbCA9PSB0cnVlKSBvciAoYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSAhPSAnYWxsJykge1xuICAgIC8vIEZvcmNlIHRoZSBwcmludCBvZiB0aGUgZGVmYXVsdCBtZWRpYSB0eXBlIGlmIChmb3JjZSBhbGwgaXMgdHJ1ZSBhbmQgZGVmYXVsdCBtZWRpYSB0eXBlIGlzIGFsbCkgb3IgKGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBub3QgYWxsKVxuICAgICRxdWVyeS1wcmludDogYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKTtcbiAgICAkZW1wdHktbWVkaWE6IGZhbHNlO1xuICB9XG5cblxuICAkcXVlcnktcmVzb2x1dGlvbjogZmFsc2U7XG5cbiAgJHF1ZXJ5LWhvbGRlcjogYnJlYWtwb2ludC1wYXJzZS1xdWVyeSgkcXVlcnkpO1xuXG5cblxuICAvLyBMb29wIG92ZXIgZWFjaCBwYXJzZWQgb3V0IHF1ZXJ5IGFuZCB3cml0ZSBpdCB0byAkcXVlcnktcHJpbnRcbiAgJGZpcnN0OiB0cnVlO1xuXG4gIEBlYWNoICRmZWF0dXJlIGluICRxdWVyeS1ob2xkZXIge1xuICAgICRsZW5ndGg6IGxlbmd0aCgkZmVhdHVyZSk7XG5cbiAgICAvLyBQYXJzZSBhIHNpbmdsZSBmZWF0dXJlXG4gICAgQGlmICgkbGVuZ3RoID09IDEpIHtcbiAgICAgIC8vIEZlYXR1cmUgaXMgY3VycmVudGx5IGEgbGlzdCwgZ3JhYiB0aGUgYWN0dWFsIHZhbHVlXG4gICAgICAkZmVhdHVyZTogbnRoKCRmZWF0dXJlLCAxKTtcblxuICAgICAgLy8gTWVkaWEgVHlwZSBtdXN0IGJ5IGNvbnZlbnRpb24gYmUgdGhlIGZpcnN0IGl0ZW0sIHNvIGl0J3Mgc2FmZSB0byBmbGF0IG92ZXJyaWRlICRxdWVyeS1wcmludCwgd2hpY2ggcmlnaHQgbm93IHNob3VsZCBvbmx5IGJlIHRoZSBkZWZhdWx0IG1lZGlhIHR5cGVcbiAgICAgIEBpZiAoYnJlYWtwb2ludC1pcy1tZWRpYSgkZmVhdHVyZSkpIHtcbiAgICAgICAgQGlmICgkZm9yY2UtYWxsID09IHRydWUpIG9yICgkZmVhdHVyZSAhPSAnYWxsJykge1xuICAgICAgICAgIC8vIEZvcmNlIHRoZSBwcmludCBvZiB0aGUgZGVmYXVsdCBtZWRpYSB0eXBlIGlmIChmb3JjZSBhbGwgaXMgdHJ1ZSBhbmQgZGVmYXVsdCBtZWRpYSB0eXBlIGlzIGFsbCkgb3IgKGRlZmF1bHQgbWVkaWEgdHlwZSBpcyBub3QgYWxsKVxuICAgICAgICAgICRxdWVyeS1wcmludDogJGZlYXR1cmU7XG4gICAgICAgICAgJGVtcHR5LW1lZGlhOiBmYWxzZTtcblxuICAgICAgICAgIC8vIFNldCBDb250ZXh0XG4gICAgICAgICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQobWVkaWEsICRxdWVyeS1wcmludCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgJHF1ZXJ5LXByaW50OiAnI3skcXVlcnktcHJpbnR9ICN7JHBhcnNlZH0nO1xuICAgICAgICAkZmlyc3Q6IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBQYXJzZSBhIGRvdWJsZSBmZWF0dXJlXG4gICAgQGVsc2UgaWYgKCRsZW5ndGggPT0gMikge1xuICAgICAgQGlmIChicmVha3BvaW50LWlzLXJlc29sdXRpb24oJGZlYXR1cmUpICE9IGZhbHNlKSB7XG4gICAgICAgICRxdWVyeS1yZXNvbHV0aW9uOiAkZmVhdHVyZTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHBhcnNlZDogbnVsbDtcbiAgICAgICAgLy8gSWYgaXQncyBhIHN0cmluZy9udW1iZXIgcGFpcixcbiAgICAgICAgLy8gd2UgY2hlY2sgdG8gc2VlIGlmIG9uZSBpcyBhIHNpbmdsZS1zdHJpbmcgdmFsdWUsXG4gICAgICAgIC8vIHRoZW4gd2UgcGFyc2UgaXQgYXMgYSBub3JtYWwgZG91YmxlXG4gICAgICAgICRhbHBoYTogbnRoKCRmZWF0dXJlLCAxKTtcbiAgICAgICAgJGJldGE6IG50aCgkZmVhdHVyZSwgMik7XG4gICAgICAgIEBpZiBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJGFscGhhKSBvciBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJGJldGEpIHtcbiAgICAgICAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLXNpbmdsZSgkYWxwaGEsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICAgICAgICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLXNpbmdsZSgkYmV0YSwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICAgICAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1kb3VibGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICAgICAkcXVlcnktcHJpbnQ6ICcjeyRxdWVyeS1wcmludH0gI3skcGFyc2VkfSc7XG4gICAgICAgICAgJGZpcnN0OiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBQYXJzZSBhIHRyaXBsZSBmZWF0dXJlXG4gICAgQGVsc2UgaWYgKCRsZW5ndGggPT0gMykge1xuICAgICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS10cmlwbGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KTtcbiAgICAgICRxdWVyeS1wcmludDogJyN7JHF1ZXJ5LXByaW50fSAjeyRwYXJzZWR9JztcbiAgICAgICRmaXJzdDogZmFsc2U7XG4gICAgfVxuXG4gIH1cblxuICBAaWYgKCRxdWVyeS1yZXNvbHV0aW9uICE9IGZhbHNlKSB7XG4gICAgJHF1ZXJ5LXByaW50OiBicmVha3BvaW50LWJ1aWxkLXJlc29sdXRpb24oJHF1ZXJ5LXByaW50LCAkcXVlcnktcmVzb2x1dGlvbiwgJGVtcHR5LW1lZGlhLCAkZmlyc3QpO1xuICB9XG5cbiAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZmVhdHVyZSB0aGF0J3MgYmVlbiBkZXRlY3RlZCBzbyBmYXIgYW5kIGFwcGVuZCAnZmFsc2UnIHRvIHRoZSB0aGUgdmFsdWUgbGlzdCB0byBpbmNyZW1lbnQgdGhlaXIgY291bnRlcnNcbiAgQGVhY2ggJGYsICR2IGluICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXIge1xuICAgICR2LWhvbGRlcjogJHY7XG4gICAgJGxlbmd0aDogbGVuZ3RoKCR2LWhvbGRlcik7XG4gICAgQGlmIGxlbmd0aCgkdi1ob2xkZXIpIDwgJHByaXZhdGUtYnJlYWtwb2ludC1xdWVyeS1jb3VudCB7XG4gICAgICBAZm9yICRpIGZyb20gJGxlbmd0aCB0byAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50IHtcbiAgICAgICAgQGlmICRmID09ICdtZWRpYScge1xuICAgICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgbWVkaWEnKSk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICR2LWhvbGRlcjogYXBwZW5kKCR2LWhvbGRlciwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICRwcml2YXRlLWJyZWFrcG9pbnQtY29udGV4dC1ob2xkZXI6IG1hcC1tZXJnZSgkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyLCAoJGY6ICR2LWhvbGRlcikpICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRxdWVyeS1wcmludDtcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXF1ZXJ5KCRxdWVyeSkge1xuICAvLyBQYXJzZSBmZWF0dXJlcyBvdXQgb2YgYW4gaW5kaXZpZHVhbCBxdWVyeVxuICAkZmVhdHVyZS1ob2xkZXI6ICgpO1xuICAkcXVlcnktaG9sZGVyOiAoKTtcbiAgJGxlbmd0aDogbGVuZ3RoKCRxdWVyeSk7XG5cbiAgQGlmICRsZW5ndGggPT0gMiB7XG4gICAgLy8gSWYgd2UndmUgZ290IGEgc3RyaW5nL251bWJlciwgbnVtYmVyL3N0cmluZywgY2hlY2sgdG8gc2VlIGlmIGl0J3MgYSB2YWxpZCBzdHJpbmcvbnVtYmVyIHBhaXIgb3IgdHdvIHNpbmdsZXNcbiAgICBAaWYgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdzdHJpbmcnIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnbnVtYmVyJykgb3IgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdudW1iZXInIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnc3RyaW5nJykge1xuXG4gICAgICAkbnVtYmVyOiAnJztcbiAgICAgICR2YWx1ZTogJyc7XG5cbiAgICAgIEBpZiB0eXBlLW9mKG50aCgkcXVlcnksIDEpKSA9PSAnc3RyaW5nJyB7XG4gICAgICAgICRudW1iZXI6IG50aCgkcXVlcnksIDIpO1xuICAgICAgICAkdmFsdWU6IG50aCgkcXVlcnksIDEpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkbnVtYmVyOiBudGgoJHF1ZXJ5LCAxKTtcbiAgICAgICAgJHZhbHVlOiBudGgoJHF1ZXJ5LCAyKTtcbiAgICAgIH1cblxuICAgICAgLy8gSWYgdGhlIHN0cmluZyB2YWx1ZSBjYW4gYmUgYSBzaW5nbGUgdmFsdWUsIGNoZWNrIHRvIHNlZSBpZiB0aGUgbnVtYmVyIHBhc3NlZCBpbiBpcyBhIHZhbGlkIGlucHV0IGZvciBzYWlkIHNpbmdsZSB2YWx1ZS4gRm9ydHVuYXRlbHksIGFsbCBjdXJyZW50IHNpbmdsZS12YWx1ZSBvcHRpb25zIG9ubHkgYWNjZXB0IHVuaXRsZXNzIG51bWJlcnMsIHNvIHRoaXMgY2hlY2sgaXMgZWFzeS5cbiAgICAgIEBpZiBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJHZhbHVlKSB7XG4gICAgICAgIEBpZiB1bml0bGVzcygkbnVtYmVyKSB7XG4gICAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQoJHZhbHVlLCAkbnVtYmVyLCBzcGFjZSk7XG4gICAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsICRmZWF0dXJlLWhvbGRlciwgY29tbWEpO1xuICAgICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gSWYgdGhlIHN0cmluZyBpcyBhIG1lZGlhIHR5cGUsIHNwbGl0IHRoZSBxdWVyeVxuICAgICAgQGlmIGJyZWFrcG9pbnQtaXMtbWVkaWEoJHZhbHVlKSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCBudGgoJHF1ZXJ5LCAxKSk7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCBudGgoJHF1ZXJ5LCAyKSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICAgIC8vIElmIGl0J3Mgbm90IGEgc2luZ2xlIGZlYXR1cmUsIHdlJ3JlIGp1c3QgZ29pbmcgdG8gYXNzdW1lIGl0J3MgYSBwcm9wZXIgc3RyaW5nL3ZhbHVlIHBhaXIsIGFuZCByb2xsIHdpdGggaXQuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICRmZWF0dXJlLWhvbGRlcjogYXBwZW5kKCR2YWx1ZSwgJG51bWJlciwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cblxuICAgIH1cbiAgICAvLyBJZiB0aGV5J3JlIGJvdGggbnVtYmVycywgd2UgYXNzdW1lIGl0J3MgYSBkb3VibGUgYW5kIHJvbGwgd2l0aCB0aGF0XG4gICAgQGVsc2UgaWYgKHR5cGUtb2YobnRoKCRxdWVyeSwgMSkpID09ICdudW1iZXInIGFuZCB0eXBlLW9mKG50aCgkcXVlcnksIDIpKSA9PSAnbnVtYmVyJykge1xuICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMSksIG50aCgkcXVlcnksIDIpLCBzcGFjZSk7XG4gICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgfVxuICAgIC8vIElmIHRoZXkncmUgYm90aCBzdHJpbmdzIGFuZCBuZWl0aGVyIGFyZSBzaW5nbGVzLCB3ZSByb2xsIHdpdGggdGhhdC5cbiAgICBAZWxzZSBpZiAodHlwZS1vZihudGgoJHF1ZXJ5LCAxKSkgPT0gJ3N0cmluZycgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMikpID09ICdzdHJpbmcnKSB7XG4gICAgICBAaWYgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAxKSkgYW5kIG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMikpIHtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMSksIG50aCgkcXVlcnksIDIpLCBzcGFjZSk7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIsIGNvbW1hKTtcbiAgICAgICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbGVuZ3RoID09IDMge1xuICAgIC8vIElmIHdlJ3ZlIGdvdCB0aHJlZSBpdGVtcyBhbmQgbm9uZSBpcyBhIGxpc3QsIHdlIGNoZWNrIHRvIHNlZVxuICAgIEBpZiB0eXBlLW9mKG50aCgkcXVlcnksIDEpKSAhPSAnbGlzdCcgYW5kIHR5cGUtb2YobnRoKCRxdWVyeSwgMikpICE9ICdsaXN0JyBhbmQgdHlwZS1vZihudGgoJHF1ZXJ5LCAzKSkgIT0gJ2xpc3QnIHtcbiAgICAgIC8vIElmIG5vbmUgb2YgdGhlIGl0ZW1zIGFyZSBzaW5nbGUgc3RyaW5nIHZhbHVlcyBhbmQgbm9uZSBvZiB0aGUgdmFsdWVzIGFyZSBtZWRpYSB2YWx1ZXMsIHdlJ3JlIGdvb2QuXG4gICAgICBAaWYgKG5vdCBicmVha3BvaW50LXNpbmdsZS1zdHJpbmcobnRoKCRxdWVyeSwgMSkpIGFuZCBub3QgYnJlYWtwb2ludC1zaW5nbGUtc3RyaW5nKG50aCgkcXVlcnksIDIpKSBhbmQgbm90IGJyZWFrcG9pbnQtc2luZ2xlLXN0cmluZyhudGgoJHF1ZXJ5LCAzKSkpIGFuZCAgKChub3QgYnJlYWtwb2ludC1pcy1tZWRpYShudGgoJHF1ZXJ5LCAxKSkgYW5kIG5vdCBicmVha3BvaW50LWlzLW1lZGlhKG50aCgkcXVlcnksIDIpKSBhbmQgbm90IGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMykpKSkge1xuICAgICAgICAkZmVhdHVyZS1ob2xkZXI6IGFwcGVuZChudGgoJHF1ZXJ5LCAxKSwgbnRoKCRxdWVyeSwgMiksIHNwYWNlKTtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQoJGZlYXR1cmUtaG9sZGVyLCBudGgoJHF1ZXJ5LCAzKSwgc3BhY2UpO1xuICAgICAgICAkcXVlcnktaG9sZGVyOiBhcHBlbmQoJHF1ZXJ5LWhvbGRlciwgJGZlYXR1cmUtaG9sZGVyLCBjb21tYSk7XG4gICAgICAgIEByZXR1cm4gJHF1ZXJ5LWhvbGRlcjtcbiAgICAgIH1cbiAgICAgIC8vIGxldCdzIGNoZWNrIHRvIHNlZSBpZiB0aGUgZmlyc3QgaXRlbSBpcyBhIG1lZGlhIHR5cGVcbiAgICAgIEBlbHNlIGlmIGJyZWFrcG9pbnQtaXMtbWVkaWEobnRoKCRxdWVyeSwgMSkpIHtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogYXBwZW5kKCRxdWVyeS1ob2xkZXIsIG50aCgkcXVlcnksIDEpKTtcbiAgICAgICAgJGZlYXR1cmUtaG9sZGVyOiBhcHBlbmQobnRoKCRxdWVyeSwgMiksIG50aCgkcXVlcnksIDMpLCBzcGFjZSk7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6IGFwcGVuZCgkcXVlcnktaG9sZGVyLCAkZmVhdHVyZS1ob2xkZXIpO1xuICAgICAgICBAcmV0dXJuICRxdWVyeS1ob2xkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgaXQncyBhIHNpbmdsZSBpdGVtLCBvciBpZiBpdCdzIG5vdCBhIHNwZWNpYWwgY2FzZSBkb3VibGUgb3IgdHJpcGxlLCB3ZSBjYW4gc2ltcGx5IHJldHVybiB0aGUgcXVlcnkuXG4gIEByZXR1cm4gJHF1ZXJ5O1xufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnQgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJzaW5nbGUvZGVmYXVsdFwiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1zaW5nbGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KSB7XG4gICRwYXJzZWQ6ICcnO1xuICAkbGVhZGVyOiAnJztcbiAgLy8gSWYgd2UncmUgZm9yY2luZ1xuICBAaWYgbm90ICgkZW1wdHktbWVkaWEpIG9yIG5vdCAoJGZpcnN0KSB7XG4gICAgJGxlYWRlcjogJ2FuZCAnO1xuICB9XG5cbiAgLy8gSWYgaXQncyBhIHNpbmdsZSBmZWF0dXJlIHRoYXQgY2FuIHN0YW5kIGFsb25lLCB3ZSBsZXQgaXRcbiAgQGlmIChicmVha3BvaW50LXNpbmdsZS1zdHJpbmcoJGZlYXR1cmUpKSB7XG4gICAgJHBhcnNlZDogJGZlYXR1cmU7XG4gICAgLy8gU2V0IENvbnRleHRcbiAgICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJGZlYXR1cmUpO1xuICB9XG4gIC8vIElmIGl0J3Mgbm90IGEgc3RhbmQgYWxvbmUgZmVhdHVyZSwgd2UgcGFzcyBpdCBvZmYgdG8gdGhlIGRlZmF1bHQgaGFuZGxlci5cbiAgQGVsc2Uge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdCgkZmVhdHVyZSk7XG4gIH1cblxuICBAcmV0dXJuICRsZWFkZXIgKyAnKCcgKyAkcGFyc2VkICsgJyknO1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZGVmYXVsdCgkZmVhdHVyZSkge1xuICAkZGVmYXVsdDogYnJlYWtwb2ludC1nZXQoJ2RlZmF1bHQgZmVhdHVyZScpO1xuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCRkZWZhdWx0LCAkZmVhdHVyZSk7XG5cbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkgYW5kICh0eXBlLW9mKCRmZWF0dXJlKSA9PSAnbnVtYmVyJykge1xuICAgIEByZXR1cm4gJyN7JGRlZmF1bHR9OiAje2JyZWFrcG9pbnQtdG8tYmFzZS1lbSgkZmVhdHVyZSl9JztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAnI3skZGVmYXVsdH06ICN7JGZlYXR1cmV9JztcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnQgUGllY2VzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJkb3VibGUvZGVmYXVsdC1wYWlyXCI7XG5AaW1wb3J0IFwiZG91YmxlL2RvdWJsZS1zdHJpbmdcIjtcbkBpbXBvcnQgXCJkb3VibGUvZGVmYXVsdFwiO1xuXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1wYXJzZS1kb3VibGUoJGZlYXR1cmUsICRlbXB0eS1tZWRpYSwgJGZpcnN0KSB7XG4gICRwYXJzZWQ6ICcnO1xuICAkbGVhZGVyOiAnJztcbiAgLy8gSWYgd2UncmUgZm9yY2luZ1xuICBAaWYgbm90ICgkZW1wdHktbWVkaWEpIG9yIG5vdCAoJGZpcnN0KSB7XG4gICAgJGxlYWRlcjogJ2FuZCAnO1xuICB9XG5cbiAgJGZpcnN0OiBudGgoJGZlYXR1cmUsIDEpO1xuICAkc2Vjb25kOiBudGgoJGZlYXR1cmUsIDIpO1xuXG4gIC8vIElmIHdlJ3ZlIGdvdCB0d28gbnVtYmVycywgd2Uga25vdyB3ZSBuZWVkIHRvIHVzZSB0aGUgZGVmYXVsdCBwYWlyIGJlY2F1c2UgdGhlcmUgYXJlIG5vIG1lZGlhIHF1ZXJpZXMgdGhhdCBoYXMgYSBtZWRpYSBmZWF0dXJlIHRoYXQgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJGZpcnN0KSA9PSAnbnVtYmVyJyBhbmQgdHlwZS1vZigkc2Vjb25kKSA9PSAnbnVtYmVyJyB7XG4gICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1kZWZhdWx0LXBhaXIoJGZpcnN0LCAkc2Vjb25kKTtcbiAgfVxuICAvLyBJZiB0aGV5IGFyZSBib3RoIHN0cmluZ3MsIHdlIHNlbmQgaXQgdGhyb3VnaCB0aGUgc3RyaW5nIHBhcnNlclxuICBAZWxzZSBpZiB0eXBlLW9mKCRmaXJzdCkgPT0gJ3N0cmluZycgYW5kIHR5cGUtb2YoJHNlY29uZCkgPT0gJ3N0cmluZycge1xuICAgICRwYXJzZWQ6IGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLXN0cmluZygkZmlyc3QsICRzZWNvbmQpO1xuICB9XG4gIC8vIElmIGl0J3MgYSBzdHJpbmcvbnVtYmVyIHBhaXIsIHdlIHBhcnNlIGl0IGFzIGEgbm9ybWFsIGRvdWJsZVxuICBAZWxzZSB7XG4gICAgJHBhcnNlZDogYnJlYWtwb2ludC1wYXJzZS1kb3VibGUtZGVmYXVsdCgkZmlyc3QsICRzZWNvbmQpO1xuICB9XG5cbiAgQHJldHVybiAkbGVhZGVyICsgJHBhcnNlZDtcbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLWRlZmF1bHQtcGFpcigkZmlyc3QsICRzZWNvbmQpIHtcbiAgJGRlZmF1bHQ6IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IHBhaXInKTtcbiAgJG1pbjogJyc7XG4gICRtYXg6ICcnO1xuXG4gIC8vIFNvcnQgaW50byBtaW4gYW5kIG1heFxuICAkbWluOiBtaW4oJGZpcnN0LCAkc2Vjb25kKTtcbiAgJG1heDogbWF4KCRmaXJzdCwgJHNlY29uZCk7XG5cbiAgLy8gU2V0IENvbnRleHRcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQobWluLSN7JGRlZmF1bHR9LCAkbWluKTtcbiAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQobWF4LSN7JGRlZmF1bHR9LCAkbWF4KTtcblxuICAvLyBNYWtlIHRoZW0gRU1zIGlmIG5lZWQgYmVcbiAgQGlmIChicmVha3BvaW50LWdldCgndG8gZW1zJykgPT0gdHJ1ZSkge1xuICAgICRtaW46IGJyZWFrcG9pbnQtdG8tYmFzZS1lbSgkbWluKTtcbiAgICAkbWF4OiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1heCk7XG4gIH1cblxuICBAcmV0dXJuICcobWluLSN7JGRlZmF1bHR9OiAjeyRtaW59KSBhbmQgKG1heC0jeyRkZWZhdWx0fTogI3skbWF4fSknO1xufVxuIiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLXN0cmluZygkZmlyc3QsICRzZWNvbmQpIHtcbiAgJGZlYXR1cmU6ICcnO1xuICAkdmFsdWU6ICcnO1xuXG4gIC8vIFRlc3QgdG8gc2VlIHdoaWNoIGlzIHRoZSBmZWF0dXJlIGFuZCB3aGljaCBpcyB0aGUgdmFsdWVcbiAgQGlmIChicmVha3BvaW50LXN0cmluZy12YWx1ZSgkZmlyc3QpID09IHRydWUpIHtcbiAgICAkZmVhdHVyZTogJGZpcnN0O1xuICAgICR2YWx1ZTogJHNlY29uZDtcbiAgfVxuICBAZWxzZSBpZiAoYnJlYWtwb2ludC1zdHJpbmctdmFsdWUoJHNlY29uZCkgPT0gdHJ1ZSkge1xuICAgICRmZWF0dXJlOiAkc2Vjb25kO1xuICAgICR2YWx1ZTogJGZpcnN0O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiBcIk5laXRoZXIgI3skZmlyc3R9IG5vciAjeyRzZWNvbmR9IGlzIGEgdmFsaWQgbWVkaWEgcXVlcnkgbmFtZS5cIjtcbiAgfVxuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KCRmZWF0dXJlLCAkdmFsdWUpO1xuXG4gIEByZXR1cm4gJygjeyRmZWF0dXJlfTogI3skdmFsdWV9KSc7XG59IiwiQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtZG91YmxlLWRlZmF1bHQoJGZpcnN0LCAkc2Vjb25kKSB7XG4gICRmZWF0dXJlOiAnJztcbiAgJHZhbHVlOiAnJztcblxuICBAaWYgdHlwZS1vZigkZmlyc3QpID09ICdzdHJpbmcnIHtcbiAgICAkZmVhdHVyZTogJGZpcnN0O1xuICAgICR2YWx1ZTogJHNlY29uZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgJGZlYXR1cmU6ICRzZWNvbmQ7XG4gICAgJHZhbHVlOiAkZmlyc3Q7XG4gIH1cblxuICAvLyBTZXQgQ29udGV4dFxuICAkY29udGV4dC1zZXR0ZXI6IHByaXZhdGUtYnJlYWtwb2ludC1zZXQtY29udGV4dCgkZmVhdHVyZSwgJHZhbHVlKTtcblxuICBAaWYgKGJyZWFrcG9pbnQtZ2V0KCd0byBlbXMnKSA9PSB0cnVlKSB7XG4gICAgJHZhbHVlOiBicmVha3BvaW50LXRvLWJhc2UtZW0oJHZhbHVlKTtcbiAgfVxuXG4gIEByZXR1cm4gJygjeyRmZWF0dXJlfTogI3skdmFsdWV9KSdcbn1cbiIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSW1wb3J0IFBpZWNlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0IFwidHJpcGxlL2RlZmF1bHRcIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtcGFyc2UtdHJpcGxlKCRmZWF0dXJlLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkcGFyc2VkOiAnJztcbiAgJGxlYWRlcjogJyc7XG5cbiAgLy8gSWYgd2UncmUgZm9yY2luZ1xuICBAaWYgbm90ICgkZW1wdHktbWVkaWEpIG9yIG5vdCAoJGZpcnN0KSB7XG4gICAgJGxlYWRlcjogJ2FuZCAnO1xuICB9XG5cbiAgLy8gc2VwYXJhdGUgdGhlIHN0cmluZyBmZWF0dXJlcyBmcm9tIHRoZSB2YWx1ZSBudW1iZXJzXG4gICRzdHJpbmc6IG51bGw7XG4gICRudW1iZXJzOiBudWxsO1xuICBAZWFjaCAkdmFsIGluICRmZWF0dXJlIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsKSA9PSBzdHJpbmcge1xuICAgICAgJHN0cmluZzogJHZhbDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmIHR5cGUtb2YoJG51bWJlcnMpID09ICdudWxsJyB7XG4gICAgICAgICRudW1iZXJzOiAkdmFsO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAkbnVtYmVyczogYXBwZW5kKCRudW1iZXJzLCAkdmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAkcGFyc2VkOiBicmVha3BvaW50LXBhcnNlLXRyaXBsZS1kZWZhdWx0KCRzdHJpbmcsIG50aCgkbnVtYmVycywgMSksIG50aCgkbnVtYmVycywgMikpO1xuXG4gIEByZXR1cm4gJGxlYWRlciArICRwYXJzZWQ7XG5cbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LXBhcnNlLXRyaXBsZS1kZWZhdWx0KCRmZWF0dXJlLCAkZmlyc3QsICRzZWNvbmQpIHtcblxuICAvLyBTb3J0IGludG8gbWluIGFuZCBtYXhcbiAgJG1pbjogbWluKCRmaXJzdCwgJHNlY29uZCk7XG4gICRtYXg6IG1heCgkZmlyc3QsICRzZWNvbmQpO1xuXG4gIC8vIFNldCBDb250ZXh0XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1pbi0jeyRmZWF0dXJlfSwgJG1pbik7XG4gICRjb250ZXh0LXNldHRlcjogcHJpdmF0ZS1icmVha3BvaW50LXNldC1jb250ZXh0KG1heC0jeyRmZWF0dXJlfSwgJG1heCk7XG5cbiAgLy8gTWFrZSB0aGVtIEVNcyBpZiBuZWVkIGJlXG4gIEBpZiAoYnJlYWtwb2ludC1nZXQoJ3RvIGVtcycpID09IHRydWUpIHtcbiAgICAkbWluOiBicmVha3BvaW50LXRvLWJhc2UtZW0oJG1pbik7XG4gICAgJG1heDogYnJlYWtwb2ludC10by1iYXNlLWVtKCRtYXgpO1xuICB9XG5cbiAgQHJldHVybiAnKG1pbi0jeyRmZWF0dXJlfTogI3skbWlufSkgYW5kIChtYXgtI3skZmVhdHVyZX06ICN7JG1heH0pJztcbn1cbiIsIkBpbXBvcnQgXCJyZXNvbHV0aW9uL3Jlc29sdXRpb25cIjtcblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtYnVpbGQtcmVzb2x1dGlvbigkcXVlcnktcHJpbnQsICRxdWVyeS1yZXNvbHV0aW9uLCAkZW1wdHktbWVkaWEsICRmaXJzdCkge1xuICAkbGVhZGVyOiAnJztcbiAgLy8gSWYgd2UncmUgZm9yY2luZ1xuICBAaWYgbm90ICgkZW1wdHktbWVkaWEpIG9yIG5vdCAoJGZpcnN0KSB7XG4gICAgJGxlYWRlcjogJ2FuZCAnO1xuICB9XG5cbiAgQGlmIGJyZWFrcG9pbnQtZ2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnKSBhbmQgJHF1ZXJ5LXJlc29sdXRpb24ge1xuICAgICRyZXNvbHV0aW9uczogYnJlYWtwb2ludC1tYWtlLXJlc29sdXRpb25zKCRxdWVyeS1yZXNvbHV0aW9uKTtcbiAgICAkbGVuZ3RoOiBsZW5ndGgoJHJlc29sdXRpb25zKTtcbiAgICAkcXVlcnktaG9sZGVyOiAnJztcblxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGxlbmd0aCB7XG4gICAgICAkcXVlcnk6ICcjeyRxdWVyeS1wcmludH0gI3skbGVhZGVyfSN7bnRoKCRyZXNvbHV0aW9ucywgJGkpfSc7XG4gICAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAgICRxdWVyeS1ob2xkZXI6ICRxdWVyeTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHF1ZXJ5LWhvbGRlcjogJyN7JHF1ZXJ5LWhvbGRlcn0sICN7JHF1ZXJ5fSc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiAkcXVlcnktaG9sZGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBSZXR1cm4gd2l0aCBhdHRhY2hlZCByZXNvbHV0aW9uXG4gICAgQHJldHVybiAkcXVlcnktcHJpbnQ7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBicmVha3BvaW50LW1ha2UtcmVzb2x1dGlvbnMoJHJlc29sdXRpb24pIHtcbiAgJGxlbmd0aDogbGVuZ3RoKCRyZXNvbHV0aW9uKTtcblxuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgJGxlbmd0aCA9PSAyIHtcbiAgICAkZmVhdHVyZTogJyc7XG4gICAgJHZhbHVlOiAnJztcblxuICAgIC8vIEZpbmQgd2hpY2ggaXMgbnVtYmVyXG4gICAgQGlmIHR5cGUtb2YobnRoKCRyZXNvbHV0aW9uLCAxKSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiBudGgoJHJlc29sdXRpb24sIDEpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkdmFsdWU6IG50aCgkcmVzb2x1dGlvbiwgMik7XG4gICAgfVxuXG4gICAgLy8gRGV0ZXJtaW5lIG1pbi9tYXgvc3RhbmRhcmRcbiAgICBAaWYgaW5kZXgoJHJlc29sdXRpb24sICdtaW4tcmVzb2x1dGlvbicpIHtcbiAgICAgICRmZWF0dXJlOiAnbWluLSc7XG4gICAgfVxuICAgIEBlbHNlIGlmIGluZGV4KCRyZXNvbHV0aW9uLCAnbWF4LXJlc29sdXRpb24nKSB7XG4gICAgICAkZmVhdHVyZTogJ21heC0nO1xuICAgIH1cblxuICAgICRzdGFuZGFyZDogJygjeyRmZWF0dXJlfXJlc29sdXRpb246ICN7JHZhbHVlfSknO1xuXG4gICAgLy8gSWYgd2UncmUgbm90IGRlYWxpbmcgd2l0aCBkcHB4LFxuICAgIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ2RwcHgnIHtcbiAgICAgICRiYXNlOiA5NmRwaTtcbiAgICAgIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2RwY20nIHtcbiAgICAgICAgJGJhc2U6IDI0My44NGRwY207XG4gICAgICB9XG4gICAgICAvLyBXcml0ZSBvdXQgZmVhdHVyZSB0ZXN0c1xuICAgICAgJHdlYmtpdDogJyc7XG4gICAgICAkbW96OiAnJztcbiAgICAgICR3ZWJraXQ6ICcoLXdlYmtpdC0jeyRmZWF0dXJlfWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAkYmFzZX0pJztcbiAgICAgICRtb3o6ICcoI3skZmVhdHVyZX0tbW96LWRldmljZS1waXhlbC1yYXRpbzogI3skdmFsdWUgLyAkYmFzZX0pJztcbiAgICAgIC8vIEFwcGVuZCB0byBvdXRwdXRcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkc3RhbmRhcmQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkd2Via2l0LCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJG1veiwgc3BhY2UpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2Via2l0OiAnJztcbiAgICAgICRtb3o6ICcnO1xuICAgICAgJHdlYmtpdDogJygtd2Via2l0LSN7JGZlYXR1cmV9ZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyR2YWx1ZSAvIDFkcHB4fSknO1xuICAgICAgJG1vejogJygjeyRmZWF0dXJlfS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAjeyR2YWx1ZSAvIDFkcHB4fSknO1xuICAgICAgJGZhbGxiYWNrOiAnKCN7JGZlYXR1cmV9cmVzb2x1dGlvbjogI3skdmFsdWUgLyAxZHBweCAqIDk2ZHBpfSknO1xuICAgICAgLy8gQXBwZW5kIHRvIG91dHB1dFxuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICRzdGFuZGFyZCwgc3BhY2UpO1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICR3ZWJraXQsIHNwYWNlKTtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAkbW96LCBzcGFjZSk7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgJGZhbGxiYWNrLCBzcGFjZSk7XG4gICAgfVxuXG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG4iLCJAZnVuY3Rpb24gYnJlYWtwb2ludC1uby1xdWVyeSgkcXVlcnkpIHtcbiAgQGlmIHR5cGUtb2YoJHF1ZXJ5KSA9PSAnbGlzdCcge1xuICAgICRrZXl3b3JkOiBudGgoJHF1ZXJ5LCAxKTtcblxuICAgIEBpZiB0eXBlLW9mKCRrZXl3b3JkKSA9PSAnc3RyaW5nJyBhbmQgKCRrZXl3b3JkID09ICduby1xdWVyeScgb3IgJGtleXdvcmQgPT0gJ25vIHF1ZXJ5JyBvciAka2V5d29yZCA9PSAnZmFsbGJhY2snKSB7XG4gICAgICBAcmV0dXJuIG50aCgkcXVlcnksIDIpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IHRoZSBCcmVha3BvaW50cyB2YXJpYWJsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuJEJSRUFLUE9JTlRTOiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBSZXNwb25kLXRvIEFQSSBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AbWl4aW4gcmVzcG9uZC10bygkY29udGV4dCwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaWYgbGVuZ3RoKCRicmVha3BvaW50cykgPiAwIGFuZCBsZW5ndGgoJEJSRUFLUE9JTlRTKSA9PSAwIHtcbiAgICBAd2FybiBcIkluIG9yZGVyIHRvIGF2b2lkIHZhcmlhYmxlIG5hbWVzcGFjZSBjb2xsaXNpb25zLCB3ZSBoYXZlIHVwZGF0ZWQgdGhlIHdheSB0byBhZGQgYnJlYWtwb2ludHMgZm9yIHJlc3BvbmQtdG8uIFBsZWFzZSBjaGFuZ2UgYWxsIGluc3RhbmNlcyBvZiBgJGJyZWFrcG9pbnRzOiBhZGQtYnJlYWtwb2ludCgpYCB0byBgQGluY2x1ZGUgYWRkLWJyZWFrcG9pbnQoKWAuIFRoZSBgYWRkLWJyZWFrcG9pbnQoKWAgZnVuY3Rpb24gd2lsbCBiZSBkZXByZWNhdGVkIGluIGEgZnV0dXJlIHJlbGVhc2UuXCI7XG4gICAgJEJSRUFLUE9JTlRTOiAkYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgICAkYnJlYWtwb2ludHM6ICgpICFnbG9iYWw7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkQlJFQUtQT0lOVFMpICE9ICdtYXAnIHtcbiAgICAvLyBKdXN0IGluIGNhc2Ugc29tZW9uZSB3cml0ZXMgZ2liYmVyaXNoIHRvIHRoZSAkYnJlYWtwb2ludHMgdmFyaWFibGUuXG4gICAgQHdhcm4gXCJZb3VyIGJyZWFrcG9pbnRzIGFyZW4ndCBhIG1hcCEgYHJlc3BvbmQtdG9gIGV4cGVjdHMgYSBtYXAuIFBsZWFzZSBjaGVjayB0aGUgdmFsdWUgb2YgJEJSRUFLUE9JTlRTIHZhcmlhYmxlLlwiO1xuICAgIEBjb250ZW50O1xuICB9XG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRCUkVBS1BPSU5UUywgJGNvbnRleHQpIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1hcC1nZXQoJEJSRUFLUE9JTlRTLCAkY29udGV4dCksICRuby1xdWVyeSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIG5vdCBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRjb250ZXh0KSB7XG4gICAgQHdhcm4gXCJgI3skY29udGV4dH1gIGlzbid0IGEgZGVmaW5lZCBicmVha3BvaW50ISBQbGVhc2UgYWRkIGl0IHVzaW5nIGAkYnJlYWtwb2ludHM6IGFkZC1icmVha3BvaW50KGAjeyRjb250ZXh0fWAsICR2YWx1ZSk7YFwiO1xuICAgIEBjb250ZW50O1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiBcIllvdSBoYXZlbid0IGNyZWF0ZWQgYW55IGJyZWFrcG9pbnRzIHlldCEgTWFrZSBzb21lIGFscmVhZHkhIGBAaW5jbHVkZSBhZGQtYnJlYWtwb2ludCgkbmFtZSwgJGJrcHQpYFwiO1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQWRkIEJyZWFrcG9pbnQgdG8gQnJlYWtwb2ludHNcbi8vIFRPRE86IFJlbW92ZSBmdW5jdGlvbiBpbiBuZXh0IHJlbGVhc2Vcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGZ1bmN0aW9uIGFkZC1icmVha3BvaW50KCRuYW1lLCAkYmtwdCwgJG92ZXJ3cml0ZTogZmFsc2UpIHtcbiAgJG91dHB1dDogKCRuYW1lOiAkYmtwdCk7XG5cbiAgQGlmIGxlbmd0aCgkYnJlYWtwb2ludHMpID09IDAge1xuICAgIEByZXR1cm4gJG91dHB1dDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIGFuZCAkb3ZlcndyaXRlICE9IHRydWUge1xuICAgICAgQHdhcm4gXCJZb3UgYWxyZWFkeSBoYXZlIGEgYnJlYWtwb2ludCBuYW1lZCBgI3skbmFtZX1gLCBwbGVhc2UgY2hvb3NlIGFub3RoZXIgYnJlYWtwb2ludCBuYW1lLCBvciBwYXNzIGluIGAkb3ZlcndyaXRlOiB0cnVlYCB0byBvdmVyd3JpdGUgdGhlIHByZXZpb3VzIGJyZWFrcG9pbnQuXCI7XG4gICAgICBAcmV0dXJuICRicmVha3BvaW50cztcbiAgICB9XG4gICAgQGVsc2UgaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIG9yICRvdmVyd3JpdGUgPT0gdHJ1ZSB7XG4gICAgICBAcmV0dXJuIG1hcC1tZXJnZSgkYnJlYWtwb2ludHMsICRvdXRwdXQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYWRkLWJyZWFrcG9pbnQoJG5hbWUsICRia3B0LCAkb3ZlcndyaXRlOiBmYWxzZSkge1xuICAkb3V0cHV0OiAoJG5hbWU6ICRia3B0KTtcblxuICBAaWYgbGVuZ3RoKCRCUkVBS1BPSU5UUykgPT0gMCB7XG4gICAgJEJSRUFLUE9JTlRTOiAkb3V0cHV0ICFnbG9iYWw7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkQlJFQUtQT0lOVFMsICRuYW1lKSBhbmQgJG92ZXJ3cml0ZSAhPSB0cnVlIHtcbiAgICAgIEB3YXJuIFwiWW91IGFscmVhZHkgaGF2ZSBhIGJyZWFrcG9pbnQgbmFtZWQgYCN7JG5hbWV9YCwgcGxlYXNlIGNob29zZSBhbm90aGVyIGJyZWFrcG9pbnQgbmFtZSwgb3IgcGFzcyBpbiBgJG92ZXJ3cml0ZTogdHJ1ZWAgdG8gb3ZlcndyaXRlIHRoZSBwcmV2aW91cyBicmVha3BvaW50LlwiO1xuICAgICAgJEJSRUFLUE9JTlRTOiAkQlJFQUtQT0lOVFMgIWdsb2JhbDtcbiAgICB9XG4gICAgQGVsc2UgaWYgbm90IG1hcC1oYXMta2V5KCRCUkVBS1BPSU5UUywgJG5hbWUpIG9yICRvdmVyd3JpdGUgPT0gdHJ1ZSB7XG4gICAgICAkQlJFQUtQT0lOVFM6IG1hcC1tZXJnZSgkQlJFQUtQT0lOVFMsICRvdXRwdXQpICFnbG9iYWw7XG4gICAgfVxuICB9XG59XG5cbkBmdW5jdGlvbiBnZXQtYnJlYWtwb2ludCgkbmFtZTogZmFsc2UpIHtcbiAgQGlmICRuYW1lID09IGZhbHNlIHtcbiAgICBAcmV0dXJuICRCUkVBS1BPSU5UUztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRCUkVBS1BPSU5UUywgJG5hbWUpO1xuICB9XG59XG4iLCJAbWl4aW4gbGVnYWN5LXNldHRpbmdzLXdhcm5pbmcge1xuICAkbGVnYWN5VmFyczogKFxuICAgICdkZWZhdWx0LW1lZGlhJzogJ2RlZmF1bHQgbWVkaWEnLFxuICAgICdkZWZhdWx0LWZlYXR1cmUnOiAnZGVmYXVsdCBmZWF0dXJlJyxcbiAgICAnZm9yY2UtbWVkaWEtYWxsJzogJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJyxcbiAgICAndG8tZW1zJzogJ3RvIGVtcycsXG4gICAgJ3Jlc29sdXRpb25zJzogJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycsXG4gICAgJ25vLXF1ZXJpZXMnOiAnbm8gcXVlcmllcycsXG4gICAgJ25vLXF1ZXJ5LWZhbGxiYWNrcyc6ICdubyBxdWVyeSBmYWxsYmFja3MnLFxuICAgICdiYXNlLWZvbnQtc2l6ZSc6ICdiYXNlIGZvbnQgc2l6ZScsXG4gICAgJ2xlZ2FjeS1zeW50YXgnOiAnbGVnYWN5IHN5bnRheCdcbiAgKTtcblxuICBAZWFjaCAkbGVnYWN5LCAkbmV3IGluICRsZWdhY3lWYXJzIHtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC0nICsgJGxlZ2FjeSkge1xuICAgICAgQHdhcm4gXCJJbiBvcmRlciB0byBhdm9pZCB2YXJpYWJsZSBuYW1zcGFjZSBjb2xsaXNpb25zLCB3ZSBoYXZlIHVwZGF0ZWQgdGhlIHdheSB0byBjaGFuZ2Ugc2V0dGluZ3MgZm9yIEJyZWFrcG9pbnQuIFBsZWFzZSBjaGFuZ2UgYWxsIGluc3RhbmNlcyBvZiBgJGJyZWFrcG9pbnQtI3skbGVnYWN5fToge3tzZXR0aW5nfX1gIHRvIGBAaW5jbHVkZSBicmVha3BvaW50LXNldCgnI3skbmV3fScsIHt7c2V0dGluZ319KWAuIFZhcmlhYmxlIHNldHRpbmdzLCBhcyB3ZWxsIGFzIHRoaXMgd2FybmluZyB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5cIlxuICAgIH1cbiAgfTtcblxuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gSGFuZCBjb3JyZWN0IGVhY2ggc2V0dGluZ1xuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtZGVmYXVsdC1tZWRpYScpIGFuZCAkYnJlYWtwb2ludC1kZWZhdWx0LW1lZGlhICE9IGJyZWFrcG9pbnQtZ2V0KCdkZWZhdWx0IG1lZGlhJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdkZWZhdWx0IG1lZGlhJywgJGJyZWFrcG9pbnQtZGVmYXVsdC1tZWRpYSk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtZGVmYXVsdC1mZWF0dXJlJykgYW5kICRicmVha3BvaW50LWRlZmF1bHQtZmVhdHVyZSAhPSBicmVha3BvaW50LWdldCgnZGVmYXVsdCBmZWF0dXJlJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdkZWZhdWx0IGZlYXR1cmUnLCAkYnJlYWtwb2ludC1kZWZhdWx0LWZlYXR1cmUpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LWZvcmNlLW1lZGlhLWFsbCcpIGFuZCAkYnJlYWtwb2ludC1mb3JjZS1tZWRpYS1hbGwgIT0gYnJlYWtwb2ludC1nZXQoJ2ZvcmNlIGFsbCBtZWRpYSB0eXBlJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdmb3JjZSBhbGwgbWVkaWEgdHlwZScsICRicmVha3BvaW50LWZvcmNlLW1lZGlhLWFsbCk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtdG8tZW1zJykgYW5kICRicmVha3BvaW50LXRvLWVtcyAhPSBicmVha3BvaW50LWdldCgndG8gZW1zJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCd0byBlbXMnLCAkYnJlYWtwb2ludC10by1lbXMpO1xuICB9XG4gIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKCdicmVha3BvaW50LXJlc29sdXRpb25zJykgYW5kICRicmVha3BvaW50LXJlc29sdXRpb25zICE9IGJyZWFrcG9pbnQtZ2V0KCd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ3RyYW5zZm9ybSByZXNvbHV0aW9ucycsICRicmVha3BvaW50LXJlc29sdXRpb25zKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1uby1xdWVyaWVzJykgYW5kICRicmVha3BvaW50LW5vLXF1ZXJpZXMgIT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJpZXMnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ25vIHF1ZXJpZXMnLCAkYnJlYWtwb2ludC1uby1xdWVyaWVzKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1uby1xdWVyeS1mYWxsYmFja3MnKSBhbmQgJGJyZWFrcG9pbnQtbm8tcXVlcnktZmFsbGJhY2tzICE9IGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyeSBmYWxsYmFja3MnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycsICRicmVha3BvaW50LW5vLXF1ZXJ5LWZhbGxiYWNrcyk7XG4gIH1cbiAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoJ2JyZWFrcG9pbnQtYmFzZS1mb250LXNpemUnKSBhbmQgJGJyZWFrcG9pbnQtYmFzZS1mb250LXNpemUgIT0gYnJlYWtwb2ludC1nZXQoJ2Jhc2UgZm9udCBzaXplJykge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCdiYXNlIGZvbnQgc2l6ZScsICRicmVha3BvaW50LWJhc2UtZm9udC1zaXplKTtcbiAgfVxuICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygnYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4JykgYW5kICRicmVha3BvaW50LWxlZ2FjeS1zeW50YXggIT0gYnJlYWtwb2ludC1nZXQoJ2xlZ2FjeSBzeW50YXgnKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludC1zZXQoJ2xlZ2FjeSBzeW50YXgnLCAkYnJlYWtwb2ludC1sZWdhY3ktc3ludGF4KTtcbiAgfVxufSIsIi8qXG4gKiBCYXNlIC8gVmFyaWFibGVzXG4qL1xuXG4vLyBDb2xvcnNcbiRkYXJrLWJsdWU6ICMwMDJiNTg7XG4kbWlkLWJsdWU6ICM0ZGNiZGE7XG4kbGlnaHQtYmx1ZTogIzYwZDFlMDtcbiRvdGhlci1ibHVlOiAjMDMyYzU2O1xuJG5hdmlnYXRpb24tYmx1ZTogIzExNDg4MjtcbiR3aGl0ZTogcmdiYSgyNTUsMjU1LDI1NSwxKTtcbiRncmV5OiAjMjgyODI4O1xuJGxpZ2h0LWdyZXk6ICNlY2VjZWM7XG5cbi8vIEZvbnRzXG4kYmFzZS1mb250LWZhbWlseTogJ0dvdGhhbSBBJywgJ0dvdGhhbSBCJywnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4kc2Vjb25kYXJ5LWZvbnQtZmFtaWx5OiAnTGlicmUgQmFza2VydmlsbGUnLCBzZXJpZjtcblxuLy8gRm9udCBTaXplcyBcbiRiYXNlLWZvbnQtc2l6ZTogMXJlbTtcblxuLy8gTGluZSBoZWlnaHRcbiRiYXNlLWxpbmUtaGVpZ2h0OiAxLjU7XG4kaGVhZGluZy1saW5lLWhlaWdodDogMS4yO1xuXG4vLyBPdGhlciBTaXplc1xuJGJhc2Utc3BhY2luZzogJGJhc2UtbGluZS1oZWlnaHQgKiAxZW07XG4kc21hbGwtc3BhY2luZzogJGJhc2Utc3BhY2luZyAvIDI7XG4kYmFzZS16LWluZGV4OiAwO1xuXG4vLyBJY29uc1xuJGljb21vb24tZm9udC1wYXRoOiBcIi4uLy4uL2Rpc3QvZm9udHNcIiAhZGVmYXVsdDtcbiRpLWF1dG9yZW5ldzogXCJcXGU4NjNcIjtcbiRpLXByZXY6IFwiXFxlNDA4XCI7XG4kaS1uZXh0OiBcIlxcZTQwOVwiO1xuJGktY2xvc2U6IFwiXFxlNWNkXCI7XG4kaS1wbGF5OiBcIlxcZTAzN1wiO1xuJGktcGx1czogXCJcXGYwNjdcIjtcbiRpLW1pbnVzOiBcIlxcZjA2OFwiO1xuJGktdHdpdHRlcjogXCJcXGYwODFcIjtcbiRpLWZhY2Vib29rOiBcIlxcZjA4MlwiO1xuJGktaW5zdGFncmFtOiBcIlxcZjE2ZFwiO1xuJGktZW1haWw6IFwiXFxlOTAwXCI7XG5cblxuLy8gQnJlYWtwb2ludHNcbiRtaW40MDA6IG1pbi13aWR0aCA0MDBweDtcbiRtaW43Njg6IG1pbi13aWR0aCA3NjhweDtcbiRtaW4xMDI0OiBtaW4td2lkdGggMTAyNHB4O1xuXG4kbWF4NDAwOiBtYXgtd2lkdGggNDAxcHg7XG4kbWF4NzY4OiBtYXgtd2lkdGggNzY4cHg7XG4kbWF4OTMxOiBtYXgtd2lkdGggOTMxcHg7XG4kbWF4MTAyNDogbWF4LXdpZHRoIDEwMjRweDtcbiRtYXgxMjAwOiBtYXgtd2lkdGggMTIwMHB4O1xuJG1heDEzMDA6IG1heC13aWR0aCAxMzAwcHg7XG5cblxuXG4ubW9iaWxlLCAubW9iaWxlLXNtIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuXG5cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHQubW9iaWxlIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdC5tb2JpbGUtaGlkZSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDkzMSkge1xuXHQubW9iaWxlLXNtIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuXG4uYnRuLmJ0bi1ibHVlIHtcblx0YmFja2dyb3VuZDogJGRhcmstYmx1ZTtcblx0Y29sb3I6ICRsaWdodC1ibHVlO1xufVxuXG4uYnRuLWFycm93IHtcblx0YmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXHRpIHtcblx0XHRmb250LXNpemU6IDJlbTtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0Y29sb3I6ICAkbGlnaHQtYmx1ZTtcblx0fVxufVxuXG4uYnRuLXRvLXdoaXRlLXRleHQge1xuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuLmJ0bi10by1saWdodC1ibHVlIHtcblxuXHRjb2xvcjogJGRhcmstYmx1ZSAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDE1cHggMTJweCAhaW1wb3J0YW50O1xuXG5cblx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZDojN2RkYWU2O1xuXHR9XG59XG5cbi5idG4tdG8tZGFyay1ibHVlIHtcblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiMzNDU1Nzc7XG5cdH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBcbiAgICBCQVNFIC8gYmFzZVxuICAgIFxuICAgIEluY2x1ZGVzIGJhc2UgZ2xvYmFsIHN0eWxlcyBmb3IgbWFqb3IsIG5vbi10eXBvZ3JhcGhpY2FsIGVsZW1lbnRzLiBTaG91bGQgYmUgYWxtb3N0IGV4Y2x1c2l2ZWx5IHNpbmdsZSBlbGVtZW50LCBhdHRyaWJ1dGUsIHBzdWVkby1jbGFzcywgY2hpbGQgYW5kIHNpYmxpbmcgc2VsZWN0b3JzLlxuICAgIFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbioge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG59XG5cbi5ob21lIGJvZHkge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbmJvZHkge1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xufVxuXG5odG1sLCBib2R5LCBmb3JtIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuaW1nLFxucGljdHVyZSB7XG5cdG1hcmdpbjogMDtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbmRsIHtcblx0bWFyZ2luOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAkc21hbGwtc3BhY2luZztcblx0XG5cdGR0IHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRtYXJnaW4tYm90dG9tOiAycHg7XG5cdFx0bWFyZ2luLXRvcDogJHNtYWxsLXNwYWNpbmc7XG5cdH1cblx0XG5cdGRkIHtcblx0XHRtYXJnaW46IDA7XG5cdH1cbn1cblxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxudHIsXG50ZCxcbnRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG50ciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbnRoIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbnRkIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5cbmltZyB7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLnRvUmV2ZWFse1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn0iLCIvLyBpY29uc1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdwcm9lbGl0ZS1pY29ucyc7XG4gIHNyYzpcbiAgICB1cmwoJyN7JGljb21vb24tZm9udC1wYXRofS9wcm9lbGl0ZS1pY29ucy50dGY/bzBwaGRyJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnI3skaWNvbW9vbi1mb250LXBhdGh9L3Byb2VsaXRlLWljb25zLndvZmY/bzBwaGRyJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcjeyRpY29tb29uLWZvbnQtcGF0aH0vcHJvZWxpdGUtaWNvbnMuc3ZnP28wcGhkciNwcm9lbGl0ZS1pY29ucycpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuaSB7XG4gIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovXG4gIGZvbnQtZmFtaWx5OiAncHJvZWxpdGUtaWNvbnMnICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuLmktYXV0b3JlbmV3IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpLWF1dG9yZW5ldztcbiAgfVxufVxuLmktcHJldiB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaS1wcmV2O1xuICB9XG59XG4uaS1uZXh0IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpLW5leHQ7XG4gIH1cbn1cbi5pLWNsb3NlIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpLWNsb3NlO1xuICB9XG59XG4uaS1wbGF5IHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRpLXBsYXk7XG4gIH1cbn1cbi5pLXBsdXMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGktcGx1cztcbiAgfVxufVxuLmktbWludXMge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGktbWludXM7XG4gIH1cbn1cbi5pLXR3aXR0ZXIge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGktdHdpdHRlcjtcbiAgfVxufVxuLmktZmFjZWJvb2sge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGktZmFjZWJvb2s7XG4gIH1cbn1cbi5pLWluc3RhZ3JhbSB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAkaS1pbnN0YWdyYW07XG4gIH1cbn1cblxuLmktZW1haWwge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGktZW1haWw7XG4gIH1cbn1cblxuIiwiLypcbiAqIEJhc2UgLyBWYXJpYWJsZXNcbiovXG5cbi8vIENvbG9yc1xuJGRhcmstYmx1ZTogIzAwMmI1ODtcbiRtaWQtYmx1ZTogIzRkY2JkYTtcbiRsaWdodC1ibHVlOiAjNjBkMWUwO1xuJG90aGVyLWJsdWU6ICMwMzJjNTY7XG4kbmF2aWdhdGlvbi1ibHVlOiAjMTE0ODgyO1xuJHdoaXRlOiByZ2JhKDI1NSwyNTUsMjU1LDEpO1xuJGdyZXk6ICMyODI4Mjg7XG4kbGlnaHQtZ3JleTogI2VjZWNlYztcblxuLy8gRm9udHNcbiRiYXNlLWZvbnQtZmFtaWx5OiAnR290aGFtIEEnLCAnR290aGFtIEInLCdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiRzZWNvbmRhcnktZm9udC1mYW1pbHk6ICdMaWJyZSBCYXNrZXJ2aWxsZScsIHNlcmlmO1xuXG4vLyBGb250IFNpemVzIFxuJGJhc2UtZm9udC1zaXplOiAxcmVtO1xuXG4vLyBMaW5lIGhlaWdodFxuJGJhc2UtbGluZS1oZWlnaHQ6IDEuNTtcbiRoZWFkaW5nLWxpbmUtaGVpZ2h0OiAxLjI7XG5cbi8vIE90aGVyIFNpemVzXG4kYmFzZS1zcGFjaW5nOiAkYmFzZS1saW5lLWhlaWdodCAqIDFlbTtcbiRzbWFsbC1zcGFjaW5nOiAkYmFzZS1zcGFjaW5nIC8gMjtcbiRiYXNlLXotaW5kZXg6IDA7XG5cbi8vIEljb25zXG4kaWNvbW9vbi1mb250LXBhdGg6IFwiLi4vLi4vZGlzdC9mb250c1wiICFkZWZhdWx0O1xuJGktYXV0b3JlbmV3OiBcIlxcZTg2M1wiO1xuJGktcHJldjogXCJcXGU0MDhcIjtcbiRpLW5leHQ6IFwiXFxlNDA5XCI7XG4kaS1jbG9zZTogXCJcXGU1Y2RcIjtcbiRpLXBsYXk6IFwiXFxlMDM3XCI7XG4kaS1wbHVzOiBcIlxcZjA2N1wiO1xuJGktbWludXM6IFwiXFxmMDY4XCI7XG4kaS10d2l0dGVyOiBcIlxcZjA4MVwiO1xuJGktZmFjZWJvb2s6IFwiXFxmMDgyXCI7XG4kaS1pbnN0YWdyYW06IFwiXFxmMTZkXCI7XG4kaS1lbWFpbDogXCJcXGU5MDBcIjtcblxuXG4vLyBCcmVha3BvaW50c1xuJG1pbjQwMDogbWluLXdpZHRoIDQwMHB4O1xuJG1pbjc2ODogbWluLXdpZHRoIDc2OHB4O1xuJG1pbjEwMjQ6IG1pbi13aWR0aCAxMDI0cHg7XG5cbiRtYXg0MDA6IG1heC13aWR0aCA0MDFweDtcbiRtYXg3Njg6IG1heC13aWR0aCA3NjhweDtcbiRtYXg5MzE6IG1heC13aWR0aCA5MzFweDtcbiRtYXgxMDI0OiBtYXgtd2lkdGggMTAyNHB4O1xuJG1heDEyMDA6IG1heC13aWR0aCAxMjAwcHg7XG4kbWF4MTMwMDogbWF4LXdpZHRoIDEzMDBweDtcblxuXG5cbi5tb2JpbGUsIC5tb2JpbGUtc20ge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG5cblxuXG5AaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cdC5tb2JpbGUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Lm1vYmlsZS1oaWRlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4OTMxKSB7XG5cdC5tb2JpbGUtc20ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi5idG4uYnRuLWJsdWUge1xuXHRiYWNrZ3JvdW5kOiAkZGFyay1ibHVlO1xuXHRjb2xvcjogJGxpZ2h0LWJsdWU7XG59XG5cbi5idG4tYXJyb3cge1xuXHRiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG5cdGkge1xuXHRcdGZvbnQtc2l6ZTogMmVtO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cblxuXHQmOmhvdmVyIHtcblx0XHRjb2xvcjogICRsaWdodC1ibHVlO1xuXHR9XG59XG5cbi5idG4tdG8td2hpdGUtdGV4dCB7XG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcblx0fVxufVxuXG4uYnRuLXRvLWxpZ2h0LWJsdWUge1xuXG5cdGNvbG9yOiAkZGFyay1ibHVlICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTVweCAxMnB4ICFpbXBvcnRhbnQ7XG5cblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiM3ZGRhZTY7XG5cdH1cbn1cblxuLmJ0bi10by1kYXJrLWJsdWUge1xuXG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6IzM0NTU3Nztcblx0fVxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXHQgICAgXG4gICAgQkFTRSAvIHR5cG9ncmFwaHlcbiAgICBcbiAgICBCYXNlIGZvciB0eXBvZ3JhcGhpYyBlbGVtZW50cy4gU2hvdWxkIGJlIGFsbW9zdCBleGNsdXNpdmVseSBzaW5nbGUgZWxlbWVudCwgYXR0cmlidXRlLCBwc3VlZG8tY2xhc3MsIGNoaWxkIGFuZCBzaWJsaW5nIHNlbGVjdG9ycy5cbiAgICBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5odG1sIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbmJvZHksIGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0LCBidXR0b24ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIsIFwibGlnYVwiLCBcInBudW1cIjtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1saW5lLWhlaWdodDtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcblx0Zm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxpbmUtaGVpZ2h0O1xuICAgIG1hcmdpbjogMCAwICRzbWFsbC1zcGFjaW5nO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cblxuLy9UeXBvZ3JhcGh5XG5wLCB1bCwgb2wsIGR0IHtcbiAgICBtYXJnaW46IDAgMCAkc21hbGwtc3BhY2luZztcbn1cblxudWwge1xuXHRwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuYSB7XG5cdGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMXMgZWFzZS1pbi1vdXQ7XG4gICAgXG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkd2hpdGUsIDE1JSk7XG4gICAgfVxuICAgIFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuaHIge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuXHRib3JkZXItbGVmdDogbm9uZTtcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRib3JkZXItdG9wOiBub25lO1xuXHRtYXJnaW46ICRiYXNlLXNwYWNpbmcgMDtcbn1cblxubmF2IHtcbiAgICBhIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxufVxuXG5zZWxlY3Qgb3B0aW9uIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuYWRkcmVzcyB7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC1zaXplOiAuNzVyZW07XG59IiwiLy8gTGF5b3V0XG5cbi53cmFwcGVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogMTQwMHB4O1xuXHRtYXJnaW46IDAgYXV0bztcblx0cGFkZGluZzogMCAxcmVtO1xufVxuXG4uY2xlYXJmaXgge1xuXHRjbGVhcjpib3RoO1xufVxuXG4ubW9iaWxlLW9ubHkge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cbi5kZXNrdG9wLW9ubHkge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uZGlzcGxheS1pbmxpbmUge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbjEwMjQpIHtcblxuXHQuZGVza3RvcC1vbmx5IHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdC5tb2JpbGUtb25seSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG59XG5cbi5yb3RhdGluZy1iYWcge1xuXHRcdGltZyB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0d2lkdGg6IDIwMHB4O1xuXG5cdFx0fVxuXG5cdFx0aW1nLmFjdGl2ZSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogYXV0bztcblx0XHR9XG59XG5cbi5oZWFkbGluZS1hcmVhIHtcblxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdGRpdiB7XG5cdFx0XHRtYXJnaW46YXV0bztcblx0XHR9XG5cblx0XHQuaWNvbiB7XG5cdFx0XHRoZWlnaHQ6IDI1cHg7XG5cdFx0XHR3aWR0aDogMjVweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDQwcHg7XG5cblx0XHR9XG5cblx0XHQucHJlLWhlYWRsaW5lIHtcblx0XHRcdGZvbnQtZmFtaWx5OiBcIkxpYnJlIEJhc2tlcnZpbGxlXCIsIHNlcmlmO1xuXHRcdCAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0ICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG5cdFx0fVxuXG5cdFx0LmhlYWRsaW5lIGgxIHtcblx0XHRcdGZvbnQtc2l6ZTogMS44cmVtO1xuXHRcdH1cblxuXHRcdFxuXHRcbn1cblxuXG5cdFx0LmJ0biB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0YmFja2dyb3VuZDogJGxpZ2h0LWJsdWU7XG5cdFx0XHRmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0XHRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNzUpO1xuXHRcdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdFx0cGFkZGluZzogN3B4IDEycHg7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXG4jd3BzbC1nbWFwIHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLmhvbWUgI3dwc2wtZ21hcCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4jd3BzbC13cmFwIC5saW1pdGVkIHtcblx0XHRmb250LXNpemU6IC44cmVtO1xuXHR9XG5cblxuXG5cblxuLyogQWJvdXQgUGFnZSAqL1xuXG4ucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1hYm91dC1wYWdlIHZpZGVvIHtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWFib3V0LXBhZ2Uge1xuXG5cdC5oZWFkbGluZS1hcmVhIHtcblx0XHRiYWNrZ3JvdW5kOiAkZGFyay1ibHVlO1xuXHRcdHBhZGRpbmc6IDYwcHggMHB4O1xuXHR9XG5cblx0LnByZXJvbGwtY29udGFpbmVyIHtcblxuXHRcdGRpc3BsYXk6IC13ZWJraXQtYm94OyAgXG5cdFx0ZGlzcGxheTogLW1vei1ib3g7XG5cdFx0ZGlzcGxheTogLW1zLWZsZXhib3g7XG5cdFx0ZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuXHRcdGRpc3BsYXk6IGZsZXg7ICBcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHRcdFx0XG5cdFx0XHRpbWcge1xuXHRcdFx0XHR0b3A6MTEwcHggIWltcG9ydGFudDtcblx0XHRcdH1cdFxuXHRcdH1cblxuXHRcdC5wbGF5LWJ0biB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdG1hcmdpbi10b3A6IDEwMHB4O1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0c3ZnIHtcblx0XHRcdFx0d2lkdGg6IDE1MHB4O1xuXHRcdFx0XHQuc3R0MSwgLnN0dDAge1xuXHRcdFx0XHRcdHN0cm9rZTogcmdiYSgyNTUsMjU1LDI1NSwuNSkgIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdH1cblxuXHRcdFx0aDEge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHR9XG5cblx0XHRcdC5wcmUtaGVhZGxpbmUge1xuXHRcdFx0XHRmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcblx0XHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDIwcHg7XG5cdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjokbGlnaHQtYmx1ZTtcblx0XHRcdFx0aDEge1xuXHRcdFx0XHRcdGNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0c3Ryb2tlOiAkbGlnaHQtYmx1ZSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdC5zdHQxLCAuc3R0MCB7XG5cdFx0XHRcdFx0XHRzdHJva2U6ICRsaWdodC1ibHVlICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cblx0fVxuXG5cdEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHsgXG5cblx0XHRcdC5wbGF5LWJ0biB7XG5cdFx0XHRcdHRvcDogMzUwcHg7XG5cdFx0XHR9XG5cdFx0XHQucHJlcm9sbC1jb250YWluZXIge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdH1cblxuXHRcdH1cblxuXG5cdC5mYWN0cyB7XG5cdFx0YmFja2dyb3VuZDogJGRhcmstYmx1ZTtcblx0XHRcblx0XHRtYXJnaW4tdG9wOiAtMXB4O1xuXG5cdFx0LmZhY3Qge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0cGFkZGluZzogNjBweCAwcHg7XG5cdFx0XHRoMSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS44cmVtO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMDBweDtcblx0XHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0XHRwYWRkaW5nOiAyMHB4IDBweDtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cdFx0XHRcblx0XHRcdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cblx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5mYWN0LW5hdiB7XG5cdFx0XHRcdCAgICBmb250LWZhbWlseTogXCJMaWJyZSBCYXNrZXJ2aWxsZVwiLCBzZXJpZjtcblx0XHRcdFx0ICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFx0ICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG5cdFx0XHRcdCAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0XHRcdCAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRcdFx0ICAgIC5uYXYtaWNvbiB7XG5cdFx0XHRcdCAgICBcdG1hcmdpbjogYXV0bztcblx0XHRcdFx0ICAgIFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdCAgICBcdHdpZHRoOiA0MHB4O1xuXHRcdFx0XHQgICAgfVxuXG5cdFx0XHRcdCAgICBzdmcge1xuXHRcdFx0XHQgICAgXHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0ICAgIFx0ZmlsbDogJGxpZ2h0LWJsdWU7XG5cdFx0XHRcdCAgICBcdHdpZHRoOiA0MHB4O1xuXHRcdFx0XHQgICAgXHRoZWlnaHQ6IDQwcHg7XG5cdFx0XHRcdCAgICBcblx0XHRcdFx0ICAgIH1cblx0XHRcdH1cblxuXHRcdFx0LmZhY3QtY29udGVudCwgLmxlc3Mge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdC5sZXNzIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Lm1vcmUge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Lmljb24ge1xuXHRcdFx0d2lkdGg6IDgwcHg7XG5cdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0fVxuXHR9XG5cblxuXHQuYWJvdXQtcXVlc3Rpb25zLXNlY3Rpb24ge1xuXG5cdFx0YmFja2dyb3VuZDogJGxpZ2h0LWJsdWU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdHBhZGRpbmc6IDYwcHggMHB4O1xuXG5cdFx0dWwge1xuXHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0bGkge1xuXHRcdFx0XHRwYWRkaW5nOiA4cHggMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblxuXHRcdGgyIHtcblx0XHRcdGZvbnQtZmFtaWx5OiBcIkxpYnJlIEJhc2tlcnZpbGxlXCIsIHNlcmlmO1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0Zm9udC1zaXplOiAyLjRyZW07XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XG5cdFx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEwMjQpIHtcblx0XHRcdFxuXHRcdFx0XHRmb250LXNpemU6IDEuNXJlbTtcblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDEuOHJlbTtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0fVxuXG5cblx0XHRcdHNwYW4ge1xuXHRcdFx0XHRmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGgzIHtcblx0XHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0XHRcdGZvbnQtc2l6ZTogMS41cmVtO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVuc2V0O1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cdFx0XHRcblx0XHRcdFx0Zm9udC1zaXplOiAxLjJyZW07XG5cblx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdHBhZGRpbmctdG9wOiAyMHB4O1xuXHRcdH1cblxuXHRcdGEge1xuXG5cdFx0XHRwYWRkaW5nOiAyMHB4IDMwcHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAyMHB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRmb250LXNpemU6IC44cmVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6IC4yZW07XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdH1cblx0fVxufVxuXG4uaG9tZSB7XG5cblx0Lmhlcm8ge1xuXHRcdGhlaWdodDogNjkxcHg7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pL01LNF84NjEzWzNdX1JUXzE2NjB4NjkxLnBuZycpO1xuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggNzY4cHgpIHtcblx0XHRcdGhlaWdodDogMjgwcHg7XG5cdFx0fVxuXHR9XG5cblxuXHQuaGVyby1jb250ZW50LWNvbnRhaW5lciB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdCAgICBoZWlnaHQ6IDEwMCU7XG5cdCAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICBsZWZ0OiAwO1xuXG5cdH1cblxuXG5cdC5wcm9kdWN0LXNlY3Rpb24ge1xuXHRcdHBhZGRpbmc6IDYwcHggMHB4O1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzA4MWEyZCwgIzAwMmI1OCwgIzA4MWEyZCk7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxuXG5cdC5wcm9kdWN0LXNlY3Rpb24gLnNsaWRlcntcblx0XHRtYXgtd2lkdGg6IDExMDBweDtcblx0XHRtYXJnaW46IGF1dG87XG5cblxuXHRcdC5nb2xkLWJhbm5lciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdC5zbGljay1saXN0IHtcblx0XHRcdGxlZnQ6IDkwcHg7XG5cdFx0XHRtaW4taGVpZ2h0OiA0NDBweDtcblx0XHR9XG5cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobWF4LXdpZHRoIDEwNTBweCkge1xuICAgIFx0XHRcdG1heC13aWR0aDogMzc1cHg7XG5cbiAgICBcdFx0XHQuc2xpY2stbGlzdCB7XG5cdFx0XHRcdFx0bGVmdDogMHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChtYXgtd2lkdGggMzcwcHgpIHtcbiAgICBcdFx0XHQuc2xpY2stbGlzdCB7XG4gICAgXHRcdFx0XHRtYXJnaW4tbGVmdDogLTdweDtcbiAgICBcdFx0XHR9XG5cdFx0fVxuXG5cdFx0QC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcblx0XHQgICAgMCUgeyBvcGFjaXR5OiAwLjE7IH1cblx0XHQgICAgNTAlIHsgb3BhY2l0eTogMTsgfVxuXHRcdCAgICAxMDAlIHsgb3BhY2l0eTogMC4xOyB9XG5cdFx0fVxuXG5cdFx0QGtleWZyYW1lcyBwdWxzZSB7XG5cdFx0ICAgIDAlIHsgb3BhY2l0eTogMC4xOyB9XG5cdFx0ICAgIDUwJSB7IG9wYWNpdHk6IDE7IH1cblx0XHQgICAgMTAwJSB7IG9wYWNpdHk6IDAuMTsgfVxuXHRcdH1cblxuXHRcdC5wdWxzZSB7XG5cdFx0XHQgLXdlYmtpdC1hbmltYXRpb246IHB1bHNlIDJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuXHRcdCAgICAtby1hbmltYXRpb246IHB1bHNlIDJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuXHRcdCAgICAtbXMtYW5pbWF0aW9uOiBwdWxzZSAycyBpbmZpbml0ZSBlYXNlLWluLW91dDsgXG5cdFx0ICAgIC1tb3otYW5pbWF0aW9uOiBwdWxzZSAycyBpbmZpbml0ZSBlYXNlLWluLW91dDsgXG5cdFx0ICAgIGFuaW1hdGlvbjogcHVsc2UgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG5cdFx0fVxuXG5cblx0XHQuc2xpY2stYXJyb3cge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuICAgIFx0XHR3aWR0aDogMTAwcHg7XG4gICAgXHRcdHRvcDogNDUlO1xuICAgIFx0XHRjb2xvcjogcmdiKDk2LDIwOSwyMjQpO1xuICAgIFx0XHRvcGFjaXR5OiAuNDtcbiAgICBcdFx0Zm9udC1zaXplOiA4MHB4O1xuICAgIFx0XHR6LWluZGV4OiAxMDA7XG4gICAgXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEwMjQpIHtcbiAgICBcdFx0XHR0b3A6NzUlO1xuICAgIFx0XHRcdGJvdHRvbTogNDBweDtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuaS1wcmV2IHtcblx0XHRcdGxlZnQ6OTBweDtcblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEwMjQpIHtcblx0XHRcdFx0bGVmdDogLTEwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5pLW5leHQge1xuXHRcdFx0cmlnaHQ6IC01MHB4O1xuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cdFx0XHRcdHJpZ2h0OiAtMjVweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2xpY2stdHJhY2sge1xuXHRcdFx0ICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OyAgXG5kaXNwbGF5OiAtbW96LWJveDtcbmRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuZGlzcGxheTogZmxleDsgIFxuICAgIFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMTU1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnNsaWNrLXNsaWRlciB7XG5cdFx0XHRtYXJnaW4tbGVmdDogLTE0MHB4O1xuXG5cdFx0XHRtYXJnaW4tdG9wOiAzMHB4XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHRcdFx0XG5cdFx0XHQvL2Rpc3BsYXk6IG5vbmU7XG5cblx0XHRcdC5zbGljay1zbGlkZXIgeyBcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuc2xpY2stc2xpZGUge1xuXHRcdHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG5cblx0XHQmOmhvdmVyLCAmOmZvY3VzIHtcblx0XHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50O1xuXHRcdH1cblxuXG5cdFx0aW1nIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCAgdG9wOiAwO1xuXHRcdFx0ICB0cmFuc2l0aW9uOiB0b3AgZWFzZSAwLjVzO1xuXHRcdFx0ICAvL3dpZHRoOiAyMDBweDtcblx0XHRcdCAgd2lkdGg6IDIyNXB4O1xuXHRcdFx0ICBtYXgtd2lkdGg6IDIyNXB4O1xuXG5cdFx0XHQgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEwMjQpIHtcblx0XHRcdCAgXHR3aWR0aDogMjAwcHg7XG5cdFx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdFx0fVxuXHRcdH1cblxuXHRcdCY6aG92ZXIge1xuXG5cdFx0XHRpbWcge1xuXHRcdFx0ICB0b3A6IC0xMHB4O1xuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0aW1nOmhvdmVyIHtcblx0XHQgIHRvcDogLTEwcHg7XG5cdFx0fVxuXG5cdFx0aW1nLmNlbnRlciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHR3aWR0aDogMTgwcHg7XG5cdFx0XHQgbWF4LXdpZHRoOiAzODBweDtcblx0XHRcdCBtYXJnaW4tbGVmdDogNzBweDtcblx0XHR9XG5cblx0XHQucHJvZHVjdC1pbmZvIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXG5cblx0XHRcblx0fVxuXG5cblx0LnNsaWNrLXNsaWRlLnNsaWNrLWFjdGl2ZSB7XG5cdFx0Ly93aWR0aDogMTE0cHggIWltcG9ydGFudDtcblx0XHR3aWR0aDogMTU0cHggIWltcG9ydGFudDtcblx0XHR2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cdFx0Ly9vcGFjaXR5OiAuNztcblx0XHRvcGFjaXR5OiAuNztcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cdFx0XHRcdHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0XHRcdG1hcmdpbi10b3A6IC0xOTBweDtcblx0XHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEwMjQpIHtcblx0XHRcdFx0d2lkdGg6IDEwMHB4ICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0aW1nIHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLTYwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHR9XG5cblx0XG5cblxuXHQuc2xpY2stc2xpZGUuc2xpY2stY2VudGVyIHtcblx0XHR3aWR0aDogNDAwcHggIWltcG9ydGFudDtcblx0XHRvcGFjaXR5OiAxO1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRwYWRkaW5nLXRvcDogMjBweDtcblxuXHRcdC5nb2xkLWJhbm5lciB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHRvcDogLTQwcHg7XG5cdFx0XHRsZWZ0OiAtNTBweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDUwcHg7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHRcdFx0XHR3aWR0aDogMjAwcHggIWltcG9ydGFudDtcblx0XHRcdFx0cGFkZGluZy10b3A6IDBweDtcblx0XHRcdFx0bWFyZ2luLXRvcDogMHB4O1xuXG5cdFx0XHRcdC5nb2xkLWJhbm5lciB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0dG9wOiB1bnNldDtcblx0XHRcdFx0XHRsZWZ0OiB1bnNldDtcblx0XHRcdFx0XHRwYWRkaW5nOiA1cHggMjBweDtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0dG9wOiAtMTBweDtcblx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0LnByb2R1Y3QtaW5mbyB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR3aWR0aDogMTYwcHg7XG5cdFx0XHR0b3A6IDg1cHg7XG5cdFx0XHRyaWdodDogLTQwcHg7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEwMjQpIHtcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRyaWdodDogMHB4O1xuXHRcdFx0XHR0b3A6IDBweDtcblx0XHRcdFx0bWFyZ2luLXRvcDogMHB4O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdFx0XHRtaW4taGVpZ2h0OiAyMTdweDtcblx0XHRcdH1cblxuXG5cdFx0XHQuYnRuIHtcblx0XHRcdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTBweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0fVxuXG5cdFx0XHRoMyB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4zcmVtO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRcdFx0c3VwIHtcblx0XHRcdFx0XHRmb250LXNpemU6IC44cmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA4MDA7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGVtIHtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHRvcDo1cHg7XG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cCB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogLjhyZW07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cblx0XHR9XG5cblx0XHRpbWcuY2VudGVyIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHotaW5kZXg6IDEwMDtcblx0XHRcdGhlaWdodDogMzc5cHg7XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0dG9wOjBweDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHRcdFx0XHR3aWR0aDo5MCU7XG5cdFx0XHRcdG1heC13aWR0aDogMjAwcHg7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEwMjQpIHtcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRcdHdpZHRoOiAxNDBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHRyaWdodDogMHB4O1xuXHRcdFx0XHR0b3A6IDBweDtcblx0XHRcdFx0bWFyZ2luOiA0MHB4O1xuXHRcdFx0XHRoZWlnaHQ6IDI5Ni44cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTQwcHg7XG5cdFx0XHR9XG5cdH1cblxuXG59XG5cbi5wcm9kdWN0cy1hcmVhIHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMDgxYTJkLCAjMDAyYjU4LCAjMDgxYTJkKTtcblx0cGFkZGluZzogNjBweCAwcHg7XG5cblx0LnByb2R1Y3RzIHtcblx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDsgIFxuZGlzcGxheTogLW1vei1ib3g7XG5kaXNwbGF5OiAtbXMtZmxleGJveDtcbmRpc3BsYXk6IC13ZWJraXQtZmxleDtcbmRpc3BsYXk6IGZsZXg7ICBcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHQucHJvZHVjdCB7XG5cdFx0XHRmbGV4LWJhc2lzOiAzMyU7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXG5cdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7ICBcblx0XHRcdCAgIGZsZXgtYmFzaXM6IGNhbGMoMzMlIC0gNDBweCk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEwMjQpIHtcblx0XHRcdFx0ZmxleC1iYXNpczogNTAlO1xuXG5cdFx0XHRcdC8qLmdvbGQtYmFubmVyIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdHRvcDogMTBweCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdGxlZnQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0cGFkZGluZzogNXB4IDIwcHggIWltcG9ydGFudDtcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHR9Ki9cblx0XHRcdH1cblxuXG5cdFx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDsgIFxuXHRcdFx0ZGlzcGxheTogLW1vei1ib3g7XG5cdFx0XHRkaXNwbGF5OiAtbXMtZmxleGJveDtcblx0XHRcdGRpc3BsYXk6IC13ZWJraXQtZmxleDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7ICBcblxuXHRcdFx0XHQucHJvZHVjdC1pbWFnZSB7XG5cdFx0XHRcdFx0ZmxleC1iYXNpczogNDAlO1xuXHRcdFx0XHRcdHotaW5kZXg6IDEwMDtcblxuXHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHQgdHJhbnNpdGlvbjogdG9wIGVhc2UgMC41cztcblx0XHRcdFx0XHRcdCBwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHQgdG9wOjBweDtcblx0XHRcdFx0XHRcdCBoZWlnaHQ6IDM0OC45MXB4O1xuXG5cdFx0XHRcdFx0XHQgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4NzY4KSB7XG5cdFx0XHRcdFx0XHQgXHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHQgfVxuXG5cdFx0XHRcdFx0XHQgXG5cdFx0XHRcdFx0XHQgJjpob3ZlciB7XG5cdFx0XHRcdFx0XHQgXHR0b3A6LTEwcHg7XG5cdFx0XHRcdFx0XHQgfVxuXHRcdFx0XHRcdH1cblxuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHQucHJvZHVjdC1jb250ZW50IHtcblx0XHRcdFx0XHRmbGV4LWJhc2lzOiA2MCU7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAxNXB4O1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDE1cHg7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAyNXB4O1xuXG5cdFx0XHRcdFx0LmdvbGQtYmFubmVyIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0dG9wOiAyMHB4O1xuXHRcdFx0XHRcdFx0bGVmdDogLTM1cHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiA1MHB4O1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0aDIge1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAwcHg7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS41cmVtO1xuXHRcdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0XHRcdFx0XHRcdFx0XG5cblx0XHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdHN1cHtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0XHRcdCAgICB0b3A6IC0uOGVtO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0ZW0ge1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRcdFx0dG9wOjVweDtcblx0XHRcdFx0XHRcdFx0XHRmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEwMjQpIHtcblx0XHRcdFx0XHRcdFx0XHRcdHRvcDoxMHB4O1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAuOHJlbTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5idG4ge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IC42ODc1cmVtO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0XHQgcGFkZGluZzogMTVweCAyMHB4O1xuXHRcdFx0XHRcdFx0IHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHRcdCBib3R0b206IDIwcHg7XG5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMzAwKSB7XG5cblx0XHQucHJvZHVjdHMge1xuXG5cdFx0XHQucHJvZHVjdCB7XG5cblx0XHRcdFx0ZmxleC1iYXNpczogNTAlO1xuXHRcdFx0XHQucHJvZHVjdC1pbWFnZSB7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQucHJvZHVjdC1jb250ZW50IHtcblx0XHRcdFx0XHQuYnRuIHtcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0IGJvdHRvbTogNjBweDtcblxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdH1cblxuXG5cdFxuXHRcblxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDkzMSkge1xuXG5cblx0XHQucHJvZHVjdHMge1xuXG5cdFx0XHQubW9iaWxlLXRhYiB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGgyIHtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMHB4O1xuXHRcdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxNXB4O1xuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDEuNXJlbTtcblx0XHRcdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cdFx0XHRcdFx0XHRcdG1heC13aWR0aDogOTUlO1xuXHRcdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZTtcblx0XHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdGkge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR0b3A6IDIwcHg7XG5cdFx0XHRcdFx0cmlnaHQ6IDBweDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5pLW1pbnVzIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQucHJvZHVjdCB7XG5cdFx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ibHVlO1xuXHRcdFx0XHRtYXJnaW46IDVweDtcblx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXG5cdFx0XHRcdC5nb2xkLWJhbm5lciB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblx0XHRcdFx0XHR0b3A6IDEwcHggIWltcG9ydGFudDtcblx0XHRcdFx0XHRsZWZ0OiB1bnNldCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDVweCAyMHB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5wcm9kdWN0LWNvbnRlbnQge1xuXHRcdFx0XHRcdFxuXG5cdFx0XHRcdFx0XHQuYnRuIHtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0XHRib3R0b206IHVuc2V0O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fVxuXG5cblx0XHRcdFx0Ji5hY3RpdmUge1xuXG5cdFx0XHRcdFx0LmktbWludXMge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LmktcGx1cyB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5wcm9kdWN0LWNvbnRlbnQge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXG5cdFx0XHRcdFx0XHQuYnRuIHtcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LnByb2R1Y3QtaW1hZ2Uge1xuXHRcdFx0XHRcdFx0bWFyZ2luOmF1dG87XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnByb2R1Y3QtaW1hZ2UsIC5wcm9kdWN0LWNvbnRlbnQge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0fVxufVxuXG4uc2luZ2xlLXByb2R1Y3Qge1xuXG5cdC5wcm9kdWN0LXBhZ2Uge1xuXHRcdCBvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0IC5nb2xkLWJhbm5lciB7XG5cdFx0IFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdCBcdHRvcDogNTB2aDtcblx0XHQgXHRwYWRkaW5nOiA1cHggMjBweCA1cHggMzBweDtcblx0XHQgXHRmb250LXNpemU6IDFyZW07XG5cdFx0IFx0ei1pbmRleDogMTAwMDtcblx0XHQgfVxuXHR9XG5cblx0LnRvUmV2ZWFsIHtcblx0XHQgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuXG5cdH1cblxuXHRzZWN0aW9uIHtcblx0XHQud3JhcHBlciB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMDBweDtcblx0XHR9XG5cdH1cblxuXHRoMiB7XG5cdFx0aSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdH1cblxuXG5cdH1cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cblx0XHQucHJvZHVjdC1wYWdlIHtcblxuXHRcdFx0LmdvbGQtYmFubmVyIHtcblx0XHRcdCBcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdCBcdHRvcDogdW5zZXQ7XG5cdFx0XHQgXHRwYWRkaW5nOiAxMHB4O1xuXHRcdFx0IFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdFx0IFx0d2lkdGg6IDEwMCU7XG5cdFx0XHQgfVxuXG5cdFx0fVxuXG5cblx0XHRcdGgyIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRcdFx0LmktcGx1cyB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGZsb2F0OiByaWdodDtcblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogNHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5zZWN0aW9uLWNvbnRlbnQge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHQuYWN0aXZlIHtcblxuXHRcdFx0XHRoMiB7XG5cdFx0XHRcdFx0LmktcGx1cyB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5pLW1pbnVzIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXG5cdFx0XHRcdC5zZWN0aW9uLWNvbnRlbnQge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cblx0XHRcdH1cblx0XHR9XG5cdFxuXG5cdC5wcm9kdWN0LWhlcm8ge1xuXHRcdGhlaWdodDogMzI3cHg7XG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMDgxYTJkLCAjMDAyYjU4LCAjMDgxYTJkKTtcblxuXHRcdC5oZXJvLWNvbnRlbnQge1xuXHRcdFx0cGFkZGluZy10b3A6NDBweDtcblxuXHRcdFx0aDEge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAuMjVlbTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc3ViLWhlYWRsaW5lIHtcblx0XHRcdGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdH1cblx0fVxuXG5cdC5wcm9kdWN0LWludHJvIHtcblx0XHRiYWNrZ3JvdW5kOiAkZGFyay1ibHVlO1xuXG5cdFx0Ji5zY3JvbGxpbmcge1xuXHRcdFx0cGFkZGluZy10b3A6IDQ0cHg7XG5cdFx0fVxuXG5cdFx0cCB7XG5cblx0XHRcdGZvbnQtc2l6ZTogMS41NGVtO1xuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMWVtO1xuXHRcdFx0ZW0ge1xuXHRcdFx0XHRmb250LXNpemU6IDFyZW07XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xuXHRcdFx0XHRmb250LWZhbWlseTogXCJMaWJyZSBCYXNrZXJ2aWxsZVwiLCBzZXJpZjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cdFx0XHRcblx0XHRcdHAge1xuXHRcdFx0XHR3aWR0aDogNzAlO1xuICAgIFx0XHRcdG1hcmdpbjogMzBweCBhdXRvO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0fVxuXG5cdFx0LndyYXBwZXIge1xuXHRcdFx0ZGlzcGxheTogLXdlYmtpdC1ib3g7ICBcbmRpc3BsYXk6IC1tb3otYm94O1xuZGlzcGxheTogLW1zLWZsZXhib3g7XG5kaXNwbGF5OiAtd2Via2l0LWZsZXg7XG5kaXNwbGF5OiBmbGV4OyAgXG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHRcdC5wcm9kdWN0LW5hdmlnYXRpb24ge1xuXHRcdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdFx0XHRtYXJnaW46IDIwcHggMHB4IDcwcHggMHB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0Zm9udC1zaXplOiAuOHJlbTtcblx0XHRcdFx0XG4gICAgXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIFx0XHRcdGkge1xuICAgIFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgXHRcdFx0XHRmb250LXNpemU6IDJyZW07XG4gICAgXHRcdFx0fVxuXG4gICAgXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHRcdFx0XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHRcdC5wcm9kdWN0LTM2MCwgLnByb2R1Y3QtaGlnaGxpZ2h0cyB7XG5cdFx0XHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cdFx0XHRcblx0XHRcdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5wcm9kdWN0LTM2MCB7XG5cblx0XHRcdFx0dmlkZW8ge1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ibHVlO1xuXHRcdFx0XHR9XG5cblxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cdFx0XHRcdFx0LmJhZy1mcm9udCB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnByb2R1Y3QtaGlnaGxpZ2h0cyB7XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdGNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXG5cdFx0XHRcdFx0LmktbmV4dCB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDJyZW07XG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogLjVlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5yb3RhdGUtYmFnIHtcblx0XHRcdGNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHRcdGZvbnQtZmFtaWx5OiBcIkxpYnJlIEJhc2tlcnZpbGxlXCIsIHNlcmlmO1xuXHRcdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXG5cdFx0fVxuXHR9XG5cblxuXHQuZ3VhcmFudGVlZC1hbmFseXNpcyB7XG5cdFx0YmFja2dyb3VuZDogJGxpZ2h0LWJsdWU7XG5cdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0cGFkZGluZzogNTBweCAwcHg7XG5cblx0XHQud3JhcHBlciB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXG5cdFx0LmZlZWRpbmctY2xvc2UtdXAge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IC0xMDBweDtcblx0XHRcdGJvdHRvbTogLTIwMnB4O1xuXHRcdFx0XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdGJvcmRlcjogNXB4IHNvbGlkICRsaWdodC1ibHVlO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMjk0cHg7XG5cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdFx0XG5cdFx0fVxuXHRcdGgyIHtcblx0XHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdFx0Zm9udC1zaXplOiAxLjNyZW07XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdH1cblxuXHRcdHAge1xuXHRcdFx0XG5cdFx0XHRmb250LXNpemU6IC43cmVtO1xuXHRcdH1cblxuXHRcdC5idG4ge1xuXHRcdFx0YmFja2dyb3VuZDogJGRhcmstYmx1ZTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0Zm9udC1zaXplOiAuOHJlbTtcblx0XHRcdGNvbG9yOiAkbGlnaHQtYmx1ZTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdG1hcmdpbi1ib3R0b206IDUwcHg7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiMzNDU1Nzc7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmNzdi1kYXRhIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXG5cdFx0XHRcdFx0XHQuY3N2LWNvbC0xIHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDUwJTtcblx0XHRcdFx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogNTBweDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LmNzdi1jb2wtMiB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA1MCU7XG5cdFx0XHRcdFx0XHRcdGZsb2F0OmxlZnQ7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogNTBweDtcblx0XHRcdFx0XHRcdH1cblxuXG5cblxuXHRcdFx0XHRcdFx0LmNzdi1yb3cge1xuXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG5cdFx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG5cdFx0XHRcdFx0XHRcdFx0Ji5jc3YtdGl0bGUge1xuXHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDcwJTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHQmLmNzdi12YWx1ZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAzMCU7XG5cdFx0XHRcdFx0XHRcdFx0fVx0XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHRcdFx0XG5cdFx0XHRcdFx0XHRcdC5jc3YtY29sLTEsIC5jc3YtY29sLTIge1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRcdGZsb2F0Om5vbmU7XG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMHB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH1cblxuXHRcdC5nYS1jb250ZW50IHtcblx0XHRcdG1hcmdpbi10b3A6IDUwcHg7XG5cdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHR3aWR0aDogNjAlO1xuXHRcdFx0Zm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBcIk1vbnRzZXJyYXRcIiwgc2Fucy1zZXJpZjtcblx0XHRcdFxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5pbmdyZWRpZW50cyB7XG5cdFx0YmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XG5cdFx0cGFkZGluZzogNTBweCAwcHg7XG5cdFx0XG5cdFx0LndyYXBwZXIge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdH1cblx0XHRoMiB7XG5cdFx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblx0XHRcdGZvbnQtc2l6ZTogMS4zcmVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHR9XG5cblx0XHRwIHtcblx0XHRcdGZvbnQtc2l6ZTogLjdyZW07XG5cdFx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblx0XHR9XG5cblx0XHQuaW5ncmVkaWVudHMtbGlzdCB7XG5cdFx0XHR3aWR0aDogNzAlO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cblxuXHRcdC5sYXJnZS1iYWcge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0cmlnaHQ6IC0yODBweDtcblx0XHRcdGJvdHRvbTogLTI2MHB4O1xuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHR3aWR0aDogNjQwcHg7XG5cdFx0XHR9XG5cblx0XHRcdCYuc3VwcGxlbWVudCB7XG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0d2lkdGg6IDYyMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEwMjQpIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZmVlZGluZy1yYXRlIHtcblx0XHRiYWNrZ3JvdW5kOiAkZGFyay1ibHVlO1xuXHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0cGFkZGluZzogNTBweCAwcHg7XG5cdFx0XG5cdFx0aDIge1xuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdGZvbnQtc2l6ZTogMS4zcmVtO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHR9XG5cblx0XHQubWluLWNvcHkge1xuXHRcdFx0d2lkdGg6IDcwJTtcblx0XHRcdGZvbnQtd2VpZ2h0OmJvbGQ7XG5cdFx0XHRmb250LXNpemU6IC44ZW07XG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5mZWVkaW5nLWNoYXJ0IHtcblx0XHRcdHdpZHRoOiA4MCU7XG5cdFx0XHRtYXJnaW46IDQwcHggMHB4O1xuXHRcdFx0Zm9udC1zaXplOiAuOGVtO1xuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0b3ZlcmZsb3c6IHNjcm9sbDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQudGFibGUtaGVhZGVyLCAudGFibGUtZm9vdGVyIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogLjhyZW07XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEwMjQpIHtcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwcHg7XG5cdFx0XHRcdH1cblx0XHR9XG5cblx0XHQudGFibGUtaGVhZGVyIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0fVxuXG5cdFx0LnRhYmxlLWZvb3RlciB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwcHg7XG5cdFx0fVxuXG5cdFx0dGFibGUge1xuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHRmb250LXNpemU6IC44cmVtO1xuXHRcdFx0XHRcdHdpZHRoOiAxMjAlO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdHRyIHtcblx0XHRcdFx0XHRcdHRkIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWJsdWU7XG5cdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogNXB4IDA7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5yb3ctMSB7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdD4gdGQge1xuXHRcdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuXHRcdFx0XHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5jb2x1bW4tMSB7XG5cdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWJsdWU7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDQwJTtcblx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0fVxuXG5cdFx0Lm8tZGF0YS1iYWctZmVlZGluZy1jb250ZW50IHtcblx0XHRcdGZvbnQtc2l6ZTogLjdyZW07XG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdG1hcmdpbi10b3A6IDUwcHg7XG5cdFx0XHRtYXgtd2lkdGg6IDgwJTtcblx0XHR9XHRcbn1cblxuXG5cbi5zaW5nbGUtcG9zdCB7XG5cblxuXHQucG9zdC1oZWFkZXIge1xuXHRcdG1hcmdpbi10b3A6IDc4cHg7XG5cdFx0YmFja2dyb3VuZDogJGRhcmstYmx1ZTtcblxuXHRcdFxuXHRcdFx0ZGlzcGxheTogLXdlYmtpdC1ib3g7ICBcbmRpc3BsYXk6IC1tb3otYm94O1xuZGlzcGxheTogLW1zLWZsZXhib3g7XG5kaXNwbGF5OiAtd2Via2l0LWZsZXg7XG5kaXNwbGF5OiBmbGV4OyAgXG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHRcdC5oZWFkZXItY29udGVudCB7XG5cdFx0XHRcdGZsZXgtYmFzaXM6IDYwJTtcblx0XHRcdFx0cGFkZGluZzogNTBweDtcblxuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7ICBcblx0XHRcdFx0XHQgICBmbGV4LWJhc2lzOiBjYWxjKDYwJSAtIDEwMHB4KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdGRpc3BsYXk6IC13ZWJraXQtYm94OyAgXG5kaXNwbGF5OiAtbW96LWJveDtcbmRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuZGlzcGxheTogZmxleDsgIFxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0XHRcdC5pbm5lci1jb250ZW50IHtcblxuXHRcdFx0XHRcdG1heC13aWR0aDogNTAwcHg7XG5cdFx0XHRcdFx0aDEge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAycmVtO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHAge1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHRcdFx0XHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEwMjQpIHtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LmhlYWRlci1pbWFnZSB7XG5cdFx0XHRcdGZsZXgtYmFzaXM6IDQwJTtcblx0XHRcdFx0aGVpZ2h0OiA1OTBweDtcblx0XHRcdH1cblxuXHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4MTAyNCkge1xuXHRcdFx0XHQuaGVhZGVyLWNvbnRlbnQge1xuXHRcdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdFx0XHRvcmRlcjogMjtcblx0XHRcdFx0cGFkZGluZzogNTBweCAxNXB4O1xuXHRcdFx0XHRAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7ICBcblx0XHRcdFx0XHQgICBmbGV4LWJhc2lzOiBjYWxjKDEwMCUgLSAxMDBweCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5oZWFkZXItaW1hZ2Uge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDtcblx0XHRcdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdFx0XHRcdGhlaWdodDogMzUwcHg7XG5cdFx0XHRcdFx0b3JkZXI6IDE7XG5cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFxuXHR9XG5cblx0LnBvc3QtY29udGVudCB7XG5cdFx0YmFja2dyb3VuZDogJGxpZ2h0LWdyZXk7XG5cdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRwYWRkaW5nOiA1MHB4IDBweDtcblx0XHQud3JhcHBlciB7XG5cdFx0XHRtYXgtd2lkdGg6IDgwMHB4O1xuXHRcdH1cblxuXHRcdC5wb3N0LW5hdmlnYXRpb24ge1xuXHRcdFx0bWFyZ2luLXRvcDogNDBweDtcblxuXHRcdFx0LmJhY2stdG8tYXJ0aWNsZXMge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA0MHB4O1xuXG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXG5cdFx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDJyZW07XG5cdFx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRsaWdodC1ibHVlO1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdGkge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHR9XG5cblx0XHQuYnRuIHtcblx0XHRcdGJhY2tncm91bmQ6ICRkYXJrLWJsdWU7XG5cdFx0XHRjb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0XHRmb250LXNpemU6IC44cmVtO1xuXHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0XHR3aWR0aDogMjIwcHg7XG5cdFx0XHRpIHtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0XHRmb250LXNpemU6IDEuNHJlbTtcblx0XHRcdFx0Y29sb3I6JHdoaXRlO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0Y29sb3I6ICRsaWdodC1ibHVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXg3NjgpIHtcblx0XHRcdC5idG4ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG5cdFx0XHRcdGkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMi41cmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5iYWNrLXRvLWFydGljbGVzIHtcblx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xuXG5cdFx0XHRcdGkge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMi41cmVtO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLXRoYW5rLXlvdSB7XG5cdC5pbnRlcmlvci1oZXJvIHtcblx0XHRoZWlnaHQ6IDMwMHB4O1xuXHRcdGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcblxuXHRcdGgxIHtcblx0XHRcdCAgICBtYXJnaW46IDUwcHggMHB4IDBweDtcblx0XHR9XG5cdH1cblxuXG5cblx0LnRoYW5rLXlvdS1hcmVhIHtcblx0XHRiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcblx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblx0XHRwYWRkaW5nOiA2MHB4IDBweDtcblxuXHRcdC5idG4ge1xuXHRcdFx0Y29sb3I6ICRkYXJrLWJsdWUgIWltcG9ydGFudDtcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0cGFkZGluZy1sZWZ0OiAwcHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHRcdH1cblxuXHRcdC53cmFwcGVyIHtcblx0XHRcdG1heC13aWR0aDogODAwcHg7XG5cdFx0fVxuXHR9XG59IiwiLy8gSGVhZGVyXG5cblxuLnNpdGUtaGVhZGVyIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR6LWluZGV4OiAxMDAwMDtcblx0cGFkZGluZzogMDtcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuOTUpO1xuXHRvdmVyZmxvdy15OiBoaWRkZW47XG5cdHRyYW5zaXRpb246IGFsbCAuNXMgY3ViaWMtYmV6aWVyKDAsIDEsIDAuNSwgMSk7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdC5zaW5nbGUtcG9zdCAmIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDEpO1xuXHR9XG5cblx0LmhvbWUgJiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcblxuXHQubWVudS1kb3RzIHtcblx0XHRkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHQgICAgdG9wOiAzMHB4O1xuXHQgICAgcmlnaHQ6IDMwcHg7XG5cdCAgICBoZWlnaHQ6IDQ0cHg7XG5cdCAgICB3aWR0aDogNDRweDtcblxuXHRcdC5kb3QtY29udGFpbmVyIHtcblx0XHRcdHdpZHRoOiA1cHg7XG5cdFx0XHRmbG9hdDpyaWdodDtcblx0XHR9XG5cdH1cblx0XG5cdFxuXHQmLm9wZW4ge1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZzogMXJlbSAwO1xuXHR9XG5cblx0Lm5hdi13cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEyMDApIHtcblx0XHRcdHBvc2l0aW9uOiB1bnNldDtcblx0XHR9XG5cdH1cblxuXHQubmF2LXdyYXBwZXIgPiAqIHtcblx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XG5cdH1cblx0LnNoaWVsZCB7XG5cdFx0XG5cdFx0d2lkdGg6IDIwMHB4O1xuXHRcdHBhZGRpbmctdG9wOiAxMHB4O1xuXHR9XG5cdFxuXHQubWFpbi1uYXYge1xuXHRcdHBhZGRpbmctbGVmdDogMXJlbTtcblx0XHRwYWRkaW5nLXRvcDogMTBweDtcblxuXHRcdFxuXHRcdHNwYW4gKyBzcGFuIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxcmVtO1xuXHRcdH1cblxuXHRcdHVsIHtcblx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0XHRcdHBhZGRpbmctbGVmdDogMTAwcHg7XG5cdFx0XHRsaSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0cGFkZGluZzogMXJlbTtcblxuXHRcdFx0XHQmLmN1cnJlbnQtbWVudS1pdGVtIHtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkbGlnaHQtYmx1ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLm1lbnUtaXRlbS0xNDcuY3VycmVudC1tZW51LWl0ZW0gIHtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XHRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRzdXAge1xuXHRcdFx0XHRcdHRvcDogLTEuMmVtO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogNXB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5tb2JpbGUge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLm1lbnUtaXRlbS0xMjM3IHtcblx0XHRcdFx0XHRmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcblx0XHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IG5vcm1hbDtcblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0bmF2IGEge1xuXHRcdGNvbG9yOiBibGFjaztcblx0XHRmb250LXNpemU6IC45NXJlbTtcblx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdHRyYW5zaXRpb246IG5vbmU7XG5cdFx0XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRib3JkZXItYm90dG9tOiA0cHggc29saWQgJGxpZ2h0LWJsdWUgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblxuXHQjbmF2LWl0ZW0tMiwgI25hdi1pdGVtLTQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXG5cdC5zaG9wLXByb3dlYXIge1xuXHRcdGNvbG9yOiAjMDAwO1xuXHRcdGEge1xuXHRcdFx0Y29sb3I6ICMwMDA7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0fVxuXHRcdGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogMTVweDtcblx0XHR0b3A6IDIzcHg7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXG5cdFx0QG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpXG5cdCAgICAge1xuXHQgICAgIHRvcDogNjhweDsvKiBJRTEwICovXG5cdCAgICAgKjo6LW1zLWJhY2tkcm9wIHt0b3A6IDY4cHg7IH0gLyogSUUxMSAqL1xuXHQgICAgIH1cblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRsaWdodC1ibHVlO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEyMDApIHtcblxuXHRcdFx0ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG5cdFx0fVxuXHR9XG5cblx0QG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgeyBcblxuXHRcdGhlaWdodDogMTAwcHg7IFxuXG5cdFx0Lm5hdi13cmFwcGVyIHtcblx0XHRcdG1hcmdpbi10b3A6IC0zMHB4O1xuXHRcdH1cblx0XHRcblx0XHQuc2hpZWxkIHtcblxuXHRcdFx0XG5cdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdHdpZHRoOiAyMDBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0fVxuXG5cdEBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuXHQgIC5zaGllbGQge1xuXG5cdFx0XHRcblx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0d2lkdGg6IDIwMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cblxuXG5cblxuXG5AaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMjAwKSB7XG5cdC5zaXRlLWhlYWRlciB7XG5cdFx0cGFkZGluZzogMXJlbSAwO1xuXHRcdCYuYWN0aXZlIHtcblx0XHRcdGJhY2tncm91bmQ6ICR3aGl0ZTtcblx0XHR9XG5cblx0XHQubWVudS1kb3RzIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuXG5cdFx0XHQuZG90LWNvbnRhaW5lciB7XG5cdFx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5tYWluLW5hdiB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblxuXHRcdCYuYWN0aXZlIHtcblx0XHRcdC5tYWluLW5hdiB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMTNweDtcblx0XHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0YSB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59IiwiLy8gRm9vdGVyXG5cbi5zaXRlLWZvb3RlciB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRncmV5O1xuXHRwYWRkaW5nOiAycmVtIDA7XG5cdGJvdHRvbTogMDtcblx0d2lkdGg6IDEwMCU7XG5AaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cblx0LndyYXBwZXIge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcblx0fVxuXHQmLmRlc2t0b3Age1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRhIHtcblx0XHRmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcblx0fVxuXG5cdC5sZWdhbCB7XG5cdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG5cdFx0dWwge1xuXHRcdFx0bWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblx0LmNvcHlyaWdodCAge1xuXHRcdG1heC13aWR0aDogMzAwcHg7XG5cdFx0bWFyZ2luOiAyMHB4IDAgIWltcG9ydGFudDtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG5cdH1cblx0XG5cdC5zb2NpYWwge1xuXHRcdG1hcmdpbjogMjBweCAwcHg7XG5cdFx0ZmxleC1iYXNpczogMTAwJTtcblxuXHRcdGEge1xuXHRcdFx0Zm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG5cblxufVxuXG5cdD4gZGl2IHtcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdGZvbnQtc2l6ZTogLjhyZW07XG5cdFx0XG5cdFx0LmNvcHlyaWdodCB7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRmb250LXNpemU6IC43NXJlbTtcblx0XHR9XG5cdFx0dWwge1xuXHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXG5cdFx0fVxuXHR9XG5cdC5sZWdhbCB7XG5cdFx0XG5cdFx0dWwge1xuXHRcdFx0bWFyZ2luOiAxcmVtIDA7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcblx0XHR9XG5cdH1cblx0LnNvY2lhbCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRmb250LXNpemU6IDJyZW07XG5cdFx0XG5cdFx0bGkge1xuXHRcdFx0bWFyZ2luOiAwIDEwcHg7XG5cdFx0fVxuXHR9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KCRtaW40MDApIHtcblx0LnNpdGUtZm9vdGVyIHtcblx0XHRcdFxuXHR9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KCRtaW43NjgpIHtcblx0LnNpdGUtZm9vdGVyIHtcblx0XHQ+IGRpdiB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cdFx0LmxlZ2FsIHtcblx0XHRcdC8vZGlzcGxheTogZmxleDtcblx0XHRcdFxuXHRcdFx0dWwge1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHR9XG5cdFx0fVx0XHRcblx0fVxufVxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluMTAyNCkge1xuXHQuc2l0ZS1mb290ZXIge1xuXHRcdC5sZWdhbCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XG5cdFx0XHQuY29weXJpZ2h0IHtcblx0XHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAycmVtO1xuXHRcdFx0fVxuXHRcdFx0dWwge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFxuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDEwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LnNvY2lhbCB7XG5cdFx0XHRmb250LXNpemU6IDEuMjVyZW07XG5cdFx0fVxuXHR9XG59XG5cbi5jYy1idG4ge1xuXHRmb250LWZhbWlseTogJ0FyaWFsJztcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmNjLW1lc3NhZ2Uge1xuXHRmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG5cdGZvbnQtc2l6ZTogMTRweDtcbn0iLCIvLyBGb3Jtc1xuLmZvcm0tY29udGFpbmVyIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1heC13aWR0aDogNDI3cHg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG50ZXh0YXJlYSwgYnV0dG9uIHtcblx0Ym9yZGVyOiAxcHggc29saWQgJGRhcmstYmx1ZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGhlaWdodDogNDBweDtcblx0cGFkZGluZzogMTBweDtcblx0d2lkdGg6IDEwMCU7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstYmx1ZTtcbiAgICB9XG59XG5pbnB1dFt0eXBlPVwidGV4dFwiXSB7XG5cdGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuYnV0dG9uLFxuI3dwc2wtc2VhcmNoLWJ0biB7XG5cdGJhY2tncm91bmQ6ICRkYXJrLWJsdWU7XG5cdGNvbG9yOiAkbWlkLWJsdWU7XG5cdGJvcmRlcjogbm9uZTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0Zm9udC1zaXplOiAuNjg3NXJlbTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiA3cHggMjBweDtcblx0aGVpZ2h0OiA0MHB4O1xuXHRmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG59XG5cbjo6cGxhY2Vob2xkZXIge1xuXHRmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRjb2xvcjogJHdoaXRlO1xuXHRvcGFjaXR5OiAuNzU7XG59XG5sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdGZvbnQtc2l6ZTogLjc1cmVtO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ubWFwLWNvbnRhaW5lciB7XHRcblx0LmxvY2F0ZS1jb250YWluZXIge1x0XHRcblx0XHQjd3BzbC1zZWFyY2gtd3JhcCB7XG5cblx0XHRcdC5mb3JtLWdyb3VwIHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdH1cblx0XHRcdC5mb3JtLWdyb3VwICsgLmZvcm0tZ3JvdXAge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAxcmVtO1xuXHRcdFx0fVxuXG5cdFx0XHQud3BzbC1pbnB1dCB7XG5cdFx0XHRcdGlucHV0IHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGRpdiB7XG5cblx0XHRcdFx0bGFiZWwge1xuXHRcdFx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0c2VsZWN0IHtcblxuXHRcdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIFx0XHRhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgXHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0ICAgIGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHQgICAgcmlnaHQ6IDEycHg7XG5cdFx0XHQgICAgYm90dG9tOiAxNSU7XG5cdFx0XHQgICAgbWFyZ2luLXRvcDogLTRweDtcblx0XHRcdCAgICBib3JkZXI6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdCAgICBib3JkZXItdG9wOiA4cHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNzUpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQjd3BzbC1zZWFyY2gtd3JhcCAjd3BzbC1yYWRpdXMge1xuXHRcdFx0ZGlzcGxheTogaW5pdGlhbDtcblx0XHRcdFxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHQgICAgY29udGVudDogXCJcIjtcblx0XHRcdCAgICByaWdodDogMTJweDtcblx0XHRcdCAgICBib3R0b206IDE1JTtcblx0XHRcdCAgICBtYXJnaW4tdG9wOiAtNHB4O1xuXHRcdFx0ICAgIGJvcmRlcjogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0ICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC43NSk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aW5wdXQge1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkbWlkLWJsdWUgIWltcG9ydGFudDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0I3dwc2wtc2VhcmNoLXdyYXAgLndwc2wtZHJvcGRvd24ge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLWNvbG9yOiAkbWlkLWJsdWU7XG5cdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNzUpO1xuXHRcdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdFx0XG5cdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRcdFx0XG5cdFx0XHQud3BzbC1zZWxlY3RlZC1pdGVtIHtcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0b3BhY2l0eTogLjc1O1xuXHRcdFx0XHRcblx0XHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcDogOHB4IHNvbGlkICR3aGl0ZTtcblx0XHRcdFx0fVx0XHRcdFxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQmLndwc2wtYWN0aXZlIHtcblx0XHRcdFx0Lndwc2wtc2VsZWN0ZWQtaXRlbTphZnRlciB7XG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogOHB4IHNvbGlkICR3aGl0ZTtcblx0XHRcdFx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IC00cHg7IFxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCN3cHNsLXNlYXJjaC1idG4ge1xuXHRcdFx0YmFja2dyb3VuZDogJG1pZC1ibHVlO1xuXHRcdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRmbG9hdDogbm9uZTtcblxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiM3ZGRhZTY7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KCRtaW40MDApe1xuXHQubWFwLWNvbnRhaW5lciB7XHRcblx0XHQubG9jYXRlLWNvbnRhaW5lciB7XHRcdFxuXHRcdFx0I3dwc2wtc2VhcmNoLXdyYXAge1xuXHRcdFx0XHQjd3BzbC1yYWRpdXM6OmFmdGVyIHtcblx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0XHQud3BzbC1kcm9wZG93biB7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbjc2OCkge1xuXHQubWFwLWNvbnRhaW5lciB7XHRcblx0XHQubG9jYXRlLWNvbnRhaW5lciB7XHRcdFxuXHRcdFx0I3dwc2wtc2VhcmNoLXdyYXAge1xuXHRcblx0XHRcdFx0LmZvcm0tZ3JvdXAge1xuXHRcdFx0XHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IGJvdHRvbTtcblx0XHRcdFx0fVxuXHRcdFx0XHQuZm9ybS1ncm91cCArIC5mb3JtLWdyb3VwIHtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDFyZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0Lndwc2wtaW5wdXQgaW5wdXQge1xuXHRcdFx0XHRcdHdpZHRoOiAxNzlweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cbn1cblxuXG5AaW5jbHVkZSBicmVha3BvaW50KCRtaW4xMDI0KXtcblx0Lm1hcC1jb250YWluZXIge1x0XG5cdFx0LmxvY2F0ZS1jb250YWluZXIge1x0XHRcblx0XHRcdCN3cHNsLXNlYXJjaC13cmFwIHtcblx0XHRcdFx0I3dwc2wtcmFkaXVzOjphZnRlciB7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdH1cblx0XHRcdFx0Lndwc2wtZHJvcGRvd24ge1xuXHRcdFx0XHRcdHBhZGRpbmc6IDBweCAxMnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiIsIi8vIEhlcm9cblxuLmhlcm8ge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcblx0XG5cdFxuXHR2aWRlbyB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdG1heC1oZWlnaHQ6IDEwMCU7XG5cdFx0XG5cdFx0Jjo6LWludGVybmFsLW1lZGlhLWNvbnRyb2xzLWRvd25sb2FkLWJ1dHRvbiB7XG5cdFx0ICAgIGRpc3BsYXk6bm9uZTtcblx0XHR9XG5cdFx0XG5cdFx0Jjo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1lbmNsb3N1cmUge1xuXHRcdCAgICBvdmVyZmxvdzpoaWRkZW47XG5cdFx0fVxuXHRcdFxuXHRcdCY6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGFuZWwge1xuXHRcdCAgICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7IC8qIEFkanVzdCBhcyBuZWVkZWQgKi9cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXg3NjgpIHsgXG5cdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdFx0d2lkdGg6IDE4MCU7XG5cdFx0fVxuXHR9XG5cblxuXHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXg3NjgpIHsgXG5cdFx0XHQucHJlcm9sbC1jb250YWluZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR9XG5cdH1cblxuXG5cblx0LmFjdGl2ZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblx0LmluYWN0aXZlIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdFxuXHQuaGVyby1jb250ZW50LWNvbnRhaW5lciB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRcblx0fVxuXHQuaGVyby10YWJsZSB7XG5cdFx0ZGlzcGxheTogdGFibGU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG5cdC5oZXJvLWNvbnRlbnQge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWF4LXdpZHRoOiA0MDBweDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR6LWluZGV4OiAxO1xuXHRcdHZpc2liaWxpdHk6IHZpc2libGU7XG5cdFx0b3BhY2l0eTogMTtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG5cdFx0XG5cdFx0PiBkaXYge1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG5cdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdH1cblx0XHQuaW50cm9kdWNpbmcge1xuXHRcdFx0Zm9udC1zaXplOiAxLjJyZW07XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdH1cblx0XHQubG9nbyB7XG5cdFx0XHR3aWR0aDogMjAwcHg7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHR9XG5cdFx0LmxvZ28gc3ZnICN0aXRsZSAuc3QyIHtcblx0XHRcdGZpbGw6ICR3aGl0ZTtcblx0XHR9XG5cdFx0LnRhZ2xpbmUge1xuXHRcdFx0bWFyZ2luLXRvcDogMXJlbTtcblx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcblx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFxuXHRcdFx0c3VwIHtcblx0XHRcdFx0Zm9udC1zaXplOiA4cHg7XG5cdFx0XHRcdHRvcDogLTFlbTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Lmhlcm8tbmF2IHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luOiAzcmVtIGF1dG8gMDtcblx0XHR6LWluZGV4OiAxO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcblx0XHR1bCB7XG5cdFx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFxuXHRcdFx0bGkge1xuXHRcdFx0XHRtYXJnaW46IDFyZW0gMDtcblx0XHRcdFx0XG5cdFx0XHRcdGEge1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkYmFzZS1mb250LWZhbWlseTtcblx0XHRcdFx0XHRmb250LXNpemU6IC44cmVtO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0XHRjb2xvcjogd2hpdGU7XG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogY29sb3IgLjVzIGVhc2UtaW4tb3V0O1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRsaWdodC1ibHVlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0Ji5zZXAge1xuXHRcdFx0XHRcdGNvbG9yOiAkbWlkLWJsdWU7XG5cdFx0XHRcdFx0cGFkZGluZzogMCAxcmVtO1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0LnBsYXkge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udC1mYW1pbHk7XG5cdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAuNXMgZWFzZS1pbi1vdXQ7XG5cblx0XHRcdHN1cCB7XG5cdFx0XHRcdHRvcDogLS44NWVtO1xuXHRcdFx0XHRmb250LXNpemU6IC41ZW07XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRjb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5ob21lIC5oZXJvIHtcblx0aGVpZ2h0OiA4MDBweDtcblxuXHQuaGVyby1jb250ZW50IHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0fVxuXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDEwMjQpIHtcblx0XHRcdFxuXHRcdFx0aGVpZ2h0OiA1MDBweDtcblx0fVxufVxuXG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJG1pbjc2OCkge1xuXHQuaGVybyB7XG5cdFx0Lmhlcm8tY29udGVudCB7XG5cdFx0XHQuaW50cm9kdWNpbmcge1xuXHRcdFx0XHRmb250LXNpemU6IDEuNXJlbTtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0XHRcdH1cblx0XHRcdC5sb2dvIHtcblx0XHRcdFx0d2lkdGg6IDMwMHB4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuaGVyby1uYXYge1xuXHRcdFx0bWFyZ2luOiAycmVtIGF1dG8gMDtcblx0XHRcdFxuXHRcdFx0dWwge1xuXHRcdFx0XHRsaSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHQmLnNlcCB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5AaW5jbHVkZSBicmVha3BvaW50KCRtaW4xMDI0KSB7XG5cdC5oZXJvIHtcblx0XHQuaGVyby1jb250ZW50IHtcblx0XHRcdC5pbnRyb2R1Y2luZyB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS45cmVtO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAycmVtO1xuXHRcdFx0fVxuXHRcdFx0LmxvZ28ge1xuXHRcdFx0XHR3aWR0aDogNDAwcHg7XG5cdFx0XHR9XG5cdFx0XHQudGFnbGluZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuaGVyby1uYXYge1xuXHRcdFx0Ly9tYXJnaW46IDZyZW0gYXV0byAwO1xuXHRcdH1cblx0fVxufVxuXG5cbi5pbnRlcmlvci1oZXJvIHtcblx0aGVpZ2h0OiA1MjdweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQuaGVyby1jb250ZW50IHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRkaXYge1xuXHRcdFx0bWFyZ2luOmF1dG87XG5cdFx0fVxuXG5cdFx0Lmljb24ge1xuXHRcdFx0aGVpZ2h0OiAyNXB4O1xuXHRcdFx0d2lkdGg6IDI1cHg7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG5cdFx0fVxuXG5cdFx0LnByZS1oZWFkbGluZSB7XG5cdFx0XHRmb250LWZhbWlseTogXCJMaWJyZSBCYXNrZXJ2aWxsZVwiLCBzZXJpZjtcblx0XHQgICAgZm9udC1zdHlsZTogaXRhbGljO1xuXHRcdCAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuXHRcdH1cblxuXHRcdC5oZWFkbGluZSBoMSB7XG5cdFx0XHRmb250LXNpemU6IDEuOHJlbTtcblx0XHR9XG5cblx0XHRcblx0fVxuXG5cdFxuXG5cbn0iLCIvLyBDb250YWluZXJzXG5cbi5wcm9kdWN0LWNvbnRhaW5lciB7XG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzA4MWEyZCwgIzAwMmI1OCwgIzA4MWEyZCk7XG5cdHBhZGRpbmc6IDNyZW0gMDtcbn1cbi5uZXdzbGV0dGVyLWNvbnRhaW5lciB7XG5cdGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xuXHRwYWRkaW5nOiA2cmVtIDA7XG5cblx0aWZyYW1lIHtcblx0XHRoZWlnaHQ6IDE1MHB4ICFpbXBvcnRhbnQ7XG5cdFx0bWluLWhlaWdodDogMTUwcHggIWltcG9ydGFudDtcblx0fVxufVxuLmxvY2F0ZS1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tIHJpZ2h0LCAjMDAzNzY0IDUwJSwgJGRhcmstYmx1ZSA1MCUpO1xuXHRwYWRkaW5nOiA2cmVtIDA7XG5cdG1hcmdpbjogMDtcbn1cbi5jb250YWN0LWNvbnRhaW5lciB7XG5cdGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xuXHRwYWRkaW5nOiA2cmVtIDA7XG5cblx0aWZyYW1lIHtcblx0XHRoZWlnaHQ6IDQ4N3B4ICFpbXBvcnRhbnQ7XG5cdFx0bWluLWhlaWdodDogNDg3cHggIWltcG9ydGFudFxuXHR9XG59XG5cbi5nb2xkLWJhbm5lciB7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6ICNmZmY7XG5cdFx0LyogUGVybWFsaW5rIC0gdXNlIHRvIGVkaXQgYW5kIHNoYXJlIHRoaXMgZ3JhZGllbnQ6IGh0dHBzOi8vY29sb3J6aWxsYS5jb20vZ3JhZGllbnQtZWRpdG9yLyM4Mjc3MzIrMCxhZGEzNjArNTIsYWRhMzYwKzYzLGFkYTM2MCs4MCw4Mjc3MzIrMTAwICovXG5cdGJhY2tncm91bmQ6ICM4Mjc3MzI7IC8qIE9sZCBicm93c2VycyAqL1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAgIzgyNzczMiAwJSwgI2FkYTM2MCA1MiUsICNhZGEzNjAgNjMlLCAjYWRhMzYwIDgwJSwgIzgyNzczMiAxMDAlKTsgLyogRkYzLjYtMTUgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgICM4Mjc3MzIgMCUsI2FkYTM2MCA1MiUsI2FkYTM2MCA2MyUsI2FkYTM2MCA4MCUsIzgyNzczMiAxMDAlKTsgLyogQ2hyb21lMTAtMjUsU2FmYXJpNS4xLTYgKi9cblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAgIzgyNzczMiAwJSwjYWRhMzYwIDUyJSwjYWRhMzYwIDYzJSwjYWRhMzYwIDgwJSwjODI3NzMyIDEwMCUpOyAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi9cblx0ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM4Mjc3MzInLCBlbmRDb2xvcnN0cj0nIzgyNzczMicsR3JhZGllbnRUeXBlPTEgKTsgLyogSUU2LTkgKi9cblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdHBhZGRpbmc6IDVweCA1cHggNXB4IDMwcHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Zm9udC1zaXplOiAxMnB4O1xuXG59IiwiLy8gTGFuZGluZyBQYWdlIHN0eWxlc1xuXG5cbi5pbnRybyB7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcblx0XG5cdC5pdGFsaWMge1xuXHRcdGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRmb250LXNpemU6IDEuMzc1cmVtO1xuXHR9XG5cdFxuXHRoMiB7XG5cdFx0Zm9udC1zaXplOiAxLjVyZW07XG5cdH1cbn1cbi5zaGllbGQge1xuXHRcdHdpZHRoOiAyNXB4O1xuXHRcdG1hcmdpbjogMCBhdXRvIDFyZW07XG5cdH1cbi5wcm9kdWN0LWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Ym9yZGVyOiBub25lO1xuICAgIG91dGxpbmUtd2lkdGg6IDA7XG5cblx0LnBhY2thZ2Utb3ZlcmxheSB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAkZGFyay1ibHVlO1xuXHRcdHRvcDowcHg7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHR6LWluZGV4OiAxMDAwO1xuXG5cdFx0Lm92ZXJsYXktY2xvc2UsLm92ZXJsYXktcHJldiwgLm92ZXJsYXktbmV4dCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0XHR3aWR0aDo4MHB4O1xuXHRcdFx0Y29sb3I6ICRuYXZpZ2F0aW9uLWJsdWU7XG5cdFx0XHR0b3A6IDBweDtcblx0XHRcdHJpZ2h0OiAwcHg7XG5cdFx0XHRmb250LXNpemU6IDgwcHg7XG5cdFx0XHR6LWluZGV4OiAxMDAwO1xuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdH1cblxuXHRcdC5vdmVybGF5LXByZXYge1xuXHRcdFx0dG9wOiBjYWxjKDUwJSAtIDgwcHgpO1xuXHRcdFx0cmlnaHQ6IGluaXRpYWw7XG5cdFx0XHRsZWZ0OjBweDtcblx0XHR9XG5cblx0XHQub3ZlcmxheS1uZXh0IHtcblx0XHRcdHRvcDogY2FsYyg1MCUgLSA4MHB4KTtcblx0XHRcdHJpZ2h0OiAwcHg7XG5cdFx0XHRsZWZ0OmluaXRpYWw7XG5cdFx0fVxuXG5cdFx0Lm92ZXJsYXktY29udGVudCB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRoZWlnaHQ6IDg0JTtcblx0XHRcdHRvcDo4JTtcblx0XHRcdHdpZHRoOiA4MCU7XG5cdFx0XHRsZWZ0OiAxMCU7XG5cblx0XHRcdGgxIHtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Zm9udC1zaXplOiAyLjI1cmVtOyBcblx0XHRcdH1cblxuXHRcdFx0aDIge1xuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xuXHRcdFx0XHRmb250LXNpemU6IDEuMTI1cmVtO1xuXHRcdFx0XHRmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcblx0XHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogbm9uZTsgXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdHdpZHRoOiAyMiU7XG5cdFx0XHRcdG1hcmdpbjogMTVweCAxJSAxNXB4IDA7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogaW5pdGlhbDtcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWJsdWU7XG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdH1cblxuXHRcdFx0YnV0dG9uOmhvdmVyLGJ1dHRvbi5hY3RpdmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkbGlnaHQtYmx1ZTtcblx0XHRcdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0XHR9XG5cblx0XHRcdC5vdmVybGF5LWJ1dHRvbnMge1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHRcdG1hcmdpbjogYXV0bztcblx0XHRcdH1cblxuXHRcdFx0Lm92ZXJsYXktdGV4dC1jb250ZW50IHtcblx0XHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRsZWZ0OjBweDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cblx0XHRcdFx0dWwge1xuXHRcdFx0XHRcdHBhZGRpbmc6MHB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjZlbTtcblxuXHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRsaTpiZWZvcmUge1xuXHRcdFx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0XHRcdFx0Y29udGVudDogJy8nO1xuICAgIFx0XHRcdFx0XHR3aWR0aDogMjVweDtcbiAgICBcdFx0XHRcdFx0dG9wOjZweDtcbiAgICBcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDM1ZGVnKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQub3ZlcmxheS1jb250ZW50LWl0ZW0ge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQub3ZlcmxheS1kZXRhaWxzIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0fVxuXHRcdFx0XHQub3ZlcmxheS1jb250ZW50LWl0ZW0ge1xuXHRcdFx0XHRcdGgzIHtcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAxNXB4O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHQub3ZlcmxheS1hbmFseXNpcyB7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0LmNzdi1kYXRhIHtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTFweDtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXG5cdFx0XHRcdFx0XHQuY3N2LWNvbC0xIHtcblx0XHRcdFx0XHRcdFx0d2lkdGg6IDQwJTtcblx0XHRcdFx0XHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LmNzdi1jb2wtMiB7XG5cdFx0XHRcdFx0XHRcdHdpZHRoOiA2MCU7XG5cdFx0XHRcdFx0XHRcdGZsb2F0OmxlZnQ7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMTBweDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LmNzdi1yb3cge1xuXHRcdFx0XHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblxuXHRcdFx0XHRcdFx0XHRcdCYuY3N2LXRpdGxlIHtcblx0XHRcdFx0XHRcdFx0XHRcdHdpZHRoOiA3MCU7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ji5jc3YtdmFsdWUge1xuXHRcdFx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMzAlO1xuXHRcdFx0XHRcdFx0XHRcdH1cdFxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Lm8tZGF0YS1iYWctY29udGVudCB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdGJvdHRvbTogMHB4O1xuXHRcdFx0XHRcdGxlZnQ6MHB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogLjZyZW07XG5cdFx0XHRcdH1cblx0XHRcdFx0Lm8tZGF0YS1iYWctaW5ncmVkaWVudHMge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogLjg3NXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0Lm8tZGF0YS1iYWctZmVlZGluZy1jb250ZW50IHtcblx0XHRcdFx0XHRmb250LXNpemU6IC43NXJlbTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnRhYmxlLWhlYWRlciwgLnRhYmxlLWZvb3RlciB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Zm9udC1zaXplOiAuNzVyZW07XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHR9XG5cdFx0XHQuby1kYXRhLWJhZy1mZWVkaW5nLXRhYmxlIHtcblx0XHRcdFx0dGFibGUge1xuXHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHRmb250LXNpemU6IC43NXJlbTtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHR0ciB7XG5cdFx0XHRcdFx0XHR0ZCB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ibHVlO1xuXHRcdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDVweCAwO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5yb3ctMSB7XG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdD4gdGQge1xuXHRcdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuXHRcdFx0XHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5jb2x1bW4tMSB7XG5cdFx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWJsdWU7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRcdFx0XHRcdFx0d2lkdGg6IDQwJTtcblx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQub3ZlcmxheS1mZWVkaW5nIHtcblx0XHRcdFx0Lm1pbi1jb3B5IHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0LnRhYmxlLWhlYWRlciwgLnRhYmxlLWZvb3RlciB7XG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiA0MCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lm92ZXJsYXktMzYwLWNvbnRlbnQge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHdpZHRoOiAzMyU7XG5cdFx0XHRcdHJpZ2h0OjBweDtcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xuXG5cdFx0XHRcdHZpZGVvIHtcblx0XHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0bWF4LXdpZHRoOiAzMTJweDtcblx0XHRcdFx0XHRtYXJnaW46IGF1dG87XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWJsdWU7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0aGVpZ2h0OiA4MCU7XG5cdFx0XHRcdFx0d2lkdGg6IGF1dG87XG5cdFx0XHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnJvdGF0ZS1iYWcge1xuXHRcdFx0XHRcdGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQtZmFtaWx5O1xuXHRcdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFx0XHRjb2xvcjogJGxpZ2h0LWJsdWU7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5wYWNrYWdpbmctY29udGFpbmVyIHtcblx0XHRcdG1hcmdpbi10b3A6IDBweDtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRwYWRkaW5nLXRvcDogMHB4O1xuXG5cdFx0XHRcblx0XHQucGFja2FnZSB7XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdHdpZHRoOiA5NiU7XG5cdFx0XHRjdXJzb3I6cG9pbnRlcjtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdGxpbmUtaGVpZ2h0OiA3MHB4O1xuXHRcdFx0bWFyZ2luOiAxMHB4IDIlO1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWJsdWU7XG5cblx0XHRcdGltZyB7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdG1hcmdpbjogMHB4IGF1dG87XG5cdFx0XHRcdHRyYW5zaXRpb246IG1hcmdpbiA1MDBtcztcblx0XHRcdH1cblxuXHRcdFx0XG5cblx0XHRcdC5wYWNrYWdlLWxhYmVsIHtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRwYWRkaW5nOjBweDtcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXG5cdFx0XHRcdC5wYWNrYWdlLXByZS10aXRsZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnBhY2thZ2UtbmFtZSB7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkOyBcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5uYXYtaWNvbiB7XG5cdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRcdHJpZ2h0OiA0MHB4O1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHR0b3A6MHB4O1xuXG5cdFx0XHRcdFx0aSB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0XHR0b3A6IDI2cHg7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0Ji5pLW1pbnVzIHtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fVxuXG5cblx0XHRcdH1cblxuXHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdGkge1xuXHRcdFx0XHRcdFx0Ji5pLXBsdXMge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQmLmktbWludXMge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lm1vYmlsZS1jb250ZW50cyB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuXHRcdFx0XHRpbWcge1xuXHRcdFx0XHRcdG1hcmdpbjogMjBweCBhdXRvO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LnRleHQtY29udGVudCB7XG5cdFx0XHRcdFx0cGFkZGluZzogMjBweCA0MHB4O1xuXHRcdFx0XHRcdGgxIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDEuOHJlbTsgXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0aDIge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS4xMjVyZW07XG5cdFx0XHRcdFx0XHRmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcblx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0XHRcdFx0XHRcdHRleHQtdHJhbnNmb3JtOiBub25lOyBcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAzMDA7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0dWwge1xuXG5cdFx0XHRcdFx0XHRwYWRkaW5nOjBweCAwcHggMHB4IDIwcHg7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMS42ZW07XG5cblx0XHRcdFx0XHRcdGxpIHtcblx0XHRcdFx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiA1cHg7XG5cblxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0bGk6YmVmb3JlIHtcblx0XHRcdFx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnLyc7XG5cdCAgICBcdFx0XHRcdFx0d2lkdGg6IDI1cHg7XG5cdCAgICBcdFx0XHRcdFx0bGVmdDotMjBweDtcblx0ICAgIFx0XHRcdFx0XHR0b3A6NnB4O1xuXHQgICAgXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0ICAgIFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdCAgICBcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMzVkZWcpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblx0XHRcdFx0XHQuY3N2LWRhdGEge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQuY3N2LXJvdyB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0XHRcdFx0XHR3aWR0aDogOTAlO1xuXHRcdFx0XHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xuXHRcdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDJweDtcblxuXHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cblx0XHRcdFx0XHRcdFx0XHQmLmNzdi10aXRsZSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR3aWR0aDogNzAlO1xuXHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdCYuY3N2LXZhbHVlIHtcblx0XHRcdFx0XHRcdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdFx0XHRcdFx0XHRcdFx0d2lkdGg6IDMwJTtcblx0XHRcdFx0XHRcdFx0XHR9XHRcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Lm8tZGF0YS1iYWctY29udGVudCB7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAyMHB4IDIwcHggMHB4IDIwcHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC50YWJsZS1oZWFkZXIsIC50YWJsZS1mb290ZXIge1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGZvbnQtc2l6ZTogLjc1cmVtO1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0fVxuXHRcdFx0Lm8tZGF0YS1iYWctZmVlZGluZy10YWJsZSB7XG5cdFx0XHRcdHRhYmxlIHtcblx0XHRcdFx0XHRib3JkZXI6IG5vbmU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAuNzVyZW07XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0dHIge1xuXHRcdFx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtYmx1ZTtcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiA1cHggMDtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRsaWdodC1ibHVlO1xuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQucm93LTEge1xuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHQ+IHRkIHtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdFx0XHRmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LmNvbHVtbi0xIHtcblx0XHRcdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtYmx1ZTtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0XHRcdFx0XHR3aWR0aDogNDAlO1xuXHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdFx0XHQuby1kYXRhLWJhZy1mZWVkaW5nLXRhYmxlIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0b3ZlcmZsb3cteDogYXV0bztcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0dGFibGUge1xuXHRcdFx0XHRcdFx0XHR0YWJsZS1sYXlvdXQ6IGF1dG87XG5cdFx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XHR0ciB7XG5cdFx0XHRcdFx0XHRcdFx0dGQge1xuXHRcdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogNXB4O1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0XG5cdH1cblxufVxuLm1hcC1jb250YWluZXIge1xuXHRiYWNrZ3JvdW5kOiAkZGFyay1ibHVlO1xuXHQjd3BzbC13cmFwLCAud3BzbC1nbWFwLWNhbnZhcywgI3dwc2wtZ21hcCB7XG5cdFx0bWFyZ2luOiAwO1xuXHR9XG5cdCN3cHNsLXNlYXJjaC13cmFwIGRpdiB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGZsb2F0OiBpbml0aWFsO1xuXHR9XG5cdC53cHNsLWluZm8td2luZG93IHtcblx0XHRjb2xvcjogYmxhY2s7XG5cdFx0XG5cdFx0YSB7XG5cdFx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblx0XHR9XG5cdH1cbn1cbi50ZW1wLWZsZXgge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcblx0PiBkaXYge1xuXHRcdGZsZXg6IDE7XG5cdH1cblx0LmNvbnRhY3Qtd3JhcHBlciB7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkYXJrLWJsdWU7XG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcblx0fVxufVxuLnNjcm9sbC1tZXNzYWdlIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW46IDEwcHggMDtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluMTAyNCkge1xuXG5cdEAtd2Via2l0LWtleWZyYW1lcyBmYWRlaW4ge1xuXHQgICAgZnJvbSB7b3BhY2l0eTogMDsgfVxuXHQgICAgdG8ge29wYWNpdHk6IDE7IH1cblx0fVxuXG5cdEAtbXMta2V5ZnJhbWVzIGZhZGVpbiB7XG5cdCAgICBmcm9tIHtvcGFjaXR5OiAwOyB9XG5cdCAgICB0byB7b3BhY2l0eTogMTsgfVxuXHR9XG5cblx0QGtleWZyYW1lcyBmYWRlaW4ge1xuXHQgICAgIGZyb20ge29wYWNpdHk6IDA7IH1cblx0ICAgIHRvIHtvcGFjaXR5OiAxOyB9XG5cdH1cblxuXG5cdC5wcm9kdWN0LWNvbnRhaW5lciB7XG5cblx0XHQucGFja2FnZS1vdmVybGF5IHtcblxuXHRcdFx0Lm92ZXJsYXktY29udGVudCB7XG5cblx0XHRcdFx0Lm92ZXJsYXktdGV4dC1jb250ZW50IHtcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdFx0d2lkdGg6IDY2JTtcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Lm92ZXJsYXktMzYwLWNvbnRlbnQge1xuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0XHR3aWR0aDogMzMlO1xuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ji5hY3RpdmUge1xuXG5cdFx0XHRcdC5vdmVybGF5LWNvbnRlbnQge1xuXG5cdFx0XHRcdFx0Lm92ZXJsYXktdGV4dC1jb250ZW50IHtcblxuXHRcdFx0XHRcdFx0LW1zLWFuaW1hdGlvbjogZmFkZWluIDFzIGZvcndhcmRzO1xuXHRcdFx0XHRcdCAgICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAyMDBtcztcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0LXdlYmtpdC1hbmltYXRpb246IGZhZGVpbiAxcyBmb3J3YXJkcztcblx0XHRcdFx0XHQgICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIwMG1zO1xuXHRcdFx0XHRcdCAgICBhbmltYXRpb246IGZhZGVpbiAxcyBmb3J3YXJkcztcblx0XHRcdFx0XHQgICAgYW5pbWF0aW9uLWRlbGF5OiAyMDBtcztcblxuXHRcdFx0XHRcdCAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgeyAgXG5cdFx0XHRcdFx0XHRcdCAgIG9wYWNpdHk6IDE7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ICAgIFxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC5vdmVybGF5LTM2MC1jb250ZW50IHtcblxuXHRcdFx0XHRcdFx0LW1zLWFuaW1hdGlvbjogZmFkZWluIDFzIGZvcndhcmRzO1xuXHRcdFx0XHRcdCAgICAtbXMtYW5pbWF0aW9uLWRlbGF5OiAxcztcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0LXdlYmtpdC1hbmltYXRpb246IGZhZGVpbiAxcyBmb3J3YXJkcztcblx0XHRcdFx0XHQgICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDFzO1xuXHRcdFx0XHRcdCAgICBhbmltYXRpb246IGZhZGVpbiAxcyBmb3J3YXJkcztcblx0XHRcdFx0XHQgICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcblx0XHRcdFx0XHQgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHsgIFxuXHRcdFx0XHRcdFx0XHQgICBvcGFjaXR5OiAxO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5wYWNrYWdpbmctY29udGFpbmVyIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogODBweDtcblx0XHRcdFx0aGVpZ2h0OiA0NTVweDtcblx0XHRcdFx0cGFkZGluZy10b3A6IDMwcHg7XG5cblxuXHRcdFx0LnBhY2thZ2Uge1xuXHRcdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdFx0d2lkdGg6IDEyLjY2NjY2JTtcblx0XHRcdFx0Y3Vyc29yOnBvaW50ZXI7XG5cdFx0XHRcdG1hcmdpbjogMCAyJTtcblx0XHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdFx0Ym9yZGVyOm5vbmU7XG5cdFx0XHRcdHRyYW5zaXRpb246IG1hcmdpbiAxMDAwbXM7XG5cdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0bGluZS1oZWlnaHQ6IGluaXRpYWw7XG5cblxuXHRcdFx0XHQucGFja2FnZS1sYWJlbCB7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAyNXB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogaW5pdGlhbDtcblxuXHRcdFx0XHRcdC5wYWNrYWdlLXByZS10aXRsZSB7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQucGFja2FnZS1uYW1lIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7IFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cblx0XHRcdFx0aW1nOmhvdmVyIHtcblx0XHRcdFx0XHRtYXJnaW46IC0yMHB4IGF1dG8gMjBweCBhdXRvO1xuXHRcdFx0XHRcdHRyYW5zaXRpb246IG1hcmdpbiA1MDBtcztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQucGFja2FnZS5zbGlkZS1kb3duIHtcblx0XHRcdG1hcmdpbi10b3A6IDQ1NXB4O1xuXHRcdFx0b3BhY2l0eTogMCAhaW1wb3J0YW50O1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBtYXJnaW4gMTAwMG1zIGVhc2Utb3V0LCBvcGFjaXR5IDcwMG1zIGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cblx0XHRcdC5wYWNrYWdlLm5vLXNsaWRlIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogLTEwcHg7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRcdG9wYWNpdHk6IDAgIWltcG9ydGFudDtcblx0XHRcdFx0dHJhbnNpdGlvbjogbWFyZ2luIDEwMDBtcyBlYXNlLW91dCwgb3BhY2l0eSA3MDBtcyBlYXNlLW91dCAhaW1wb3J0YW50O1xuXHRcdFx0XHRcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0LnRlbXAtZmxleCB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcblx0XHQuY29udGFjdC13cmFwcGVyIHtcblx0XHRcdGJvcmRlci1ib3R0b206IG5vbmU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZGFyay1ibHVlO1xuXHRcdH1cblx0fVxuXHQuc2Nyb2xsLW1lc3NhZ2Uge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cbn1cblxuXG5cblxuLnByb2R1Y3Qtc2VjdGlvbiB7XG5cdGJhY2tncm91bmQ6ICRkYXJrLWJsdWU7XG59IiwiLy8gUmVzb3VyY2VzIFRlbXBsYXRlXG5cbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLXJlc291cmNlcy1wYWdlIHtcblxuXHQuYmxvZy1uYXZpZ2F0aW9uIHtcblx0XHRwYWRkaW5nOiAyMHB4IDBweDtcblx0XHRiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JleTtcblxuXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4NzY4KSB7XG5cdFx0XHRwYWRkaW5nOiAzMHB4IDBweDtcblx0XHR9XG5cblx0XHQud3JhcHBlciB7XG5cdFx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDsgIFxuZGlzcGxheTogLW1vei1ib3g7XG5kaXNwbGF5OiAtbXMtZmxleGJveDtcbmRpc3BsYXk6IC13ZWJraXQtZmxleDtcbmRpc3BsYXk6IGZsZXg7ICBcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0fVxuXG5cdFx0LnNlbGVjdC1vcHRpb25zIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGZsZXgtYmFzaXM6NjYlO1xuXHRcdFx0b3JkZXI6IDE7XG5cdFx0XHRcblx0XHR9XG5cblx0XHQubW9iaWxlLWZpbHRlciB7XG5cdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdFx0b3JkZXI6Mjtcblx0XHR9XG5cblx0XHQuc2VhcmNoLWFyZWEge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0ZmxleC1iYXNpczozMiU7XG5cdFx0XHRvcmRlcjoyO1xuXG5cdFx0XHRcdGxhYmVsIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5zZWFyY2gtY29udHJvbHMge1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdGRpc3BsYXk6IC13ZWJraXQtYm94OyAgXG5kaXNwbGF5OiAtbW96LWJveDtcbmRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuZGlzcGxheTogZmxleDsgIFxuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiB0b3A7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpbnB1dCB7XG5cdFx0XHRcdFx0d2lkdGg6IDYwJTtcblx0XHRcdFx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblxuXG5cdFx0XHRcdFx0XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ6OnBsYWNlaG9sZGVyIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogLjg7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdC5nbyB7XG5cdFx0XHRcdFx0d2lkdGg6IDQwcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA0MHB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XG5cdFx0XHRcdFx0Y29sb3I6ICRsaWdodC1ibHVlO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRkYXJrLWJsdWU7XG5cdFx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRcdGZpbGw6JGxpZ2h0LWJsdWU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0fVxuXG5cdFx0dWwge1xuXHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0bWFyZ2luOiAwcHg7XG5cblx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblx0XHRcdFx0XHRmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMjVweDtcblx0XHRcdFx0XHRmb250LXN0eWxlOiBpdGFsaWM7XG5cblxuXHRcdFx0XHRcdGRpdiB7XG5cdFx0XHRcdFx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdFx0XHRcdGhlaWdodDogMjBweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGRhcmstYmx1ZTtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cblx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdFx0XHRmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7XG5cdFx0XHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuXG5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRkaXYgc3BhbiB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXg3NjgpIHtcblx0XHRcdC5zZWxlY3Qtb3B0aW9ucyB7XG5cdFx0XHRcdG9yZGVyOiAzO1xuXHRcdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXG5cdFx0XHRcdCYub3BlbiB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bCB7XG5cblx0XHRcdFx0XHRtYXJnaW46IDBweDsgXG5cdFx0XHRcdFx0bGkge1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDEwcHggMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LnNlYXJjaC1hcmVhIHtcblx0XHRcdFx0ZmxleC1iYXNpczoxMDAlO1xuXHRcdFx0XHRvcmRlcjogMTtcblxuXHRcdFx0XHRsYWJlbCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDNweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlucHV0IHtcblx0XHRcdFx0XHR3aWR0aDogOTAlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC5maWx0ZXItbGFiZWwge1xuXHRcdFx0XHRmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250LWZhbWlseTtcblx0XHRcdFx0Zm9udC1zaXplOiAxLjJyZW07XG5cdFx0XHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAzMHB4O1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcblxuXHRcdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0ICAgIGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdCAgICByaWdodDogMnB4O1xuXHRcdFx0XHQgICAgdG9wOiA1MCU7XG5cdFx0XHRcdCAgICBtYXJnaW4tdG9wOiAtNHB4O1xuXHRcdFx0XHQgICAgYm9yZGVyOjEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdCAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICRkYXJrLWJsdWU7XG5cdFx0XHRcdCAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5vcGVuIHtcblx0XHRcdFx0XHRcdCY6YWZ0ZXIgeyBcblx0XHRcdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXG5cdFx0XHR9XG5cdFx0fVxuXG5cdH1cblxuXG5cdC5ibG9nLWFydGljbGVzIHtcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMwODFhMmQsICMwMDJiNTgsICMwODFhMmQpO1xuXHRcdGRpc3BsYXk6IC13ZWJraXQtYm94OyAgXG5kaXNwbGF5OiAtbW96LWJveDtcbmRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuZGlzcGxheTogZmxleDsgIFxuXHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXG5cblx0XHQuZmVhdHVyZWQtYXJ0aWNsZSB7XG5cdFx0XHRkaXNwbGF5OiAtd2Via2l0LWJveDsgIFxuZGlzcGxheTogLW1vei1ib3g7XG5kaXNwbGF5OiAtbXMtZmxleGJveDtcbmRpc3BsYXk6IC13ZWJraXQtZmxleDtcbmRpc3BsYXk6IGZsZXg7ICBcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRoMSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS44cmVtO1xuXHRcdFx0fVxuXG5cdFx0XHRwIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRcdH1cblxuXHRcdFx0LmhhbGYge1xuXHRcdFx0XHRmbGV4LWJhc2lzOiA1MCU7XG5cdFx0XHR9XG5cblx0XHRcdC5mZWF0dXJlZCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xuXHRcdFx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblx0XHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDgwMDtcblx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDI0MHB4O1xuXHRcdFx0XHRwYWRkaW5nOiA1cHggMjBweCA1cHggMTAwcHg7XG5cblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgkbWF4NzY4KSB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMzBweDtcblx0XHRcdFx0fVxuXG5cdFx0XHR9XG5cblx0XHRcdC5hcnRpY2xlLWltYWdlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXHRcdFx0fVxuXG5cdFx0XHQuYXJ0aWNsZS1jb250ZW50LCAuYXJ0aWNsZS1pbWFnZSB7XG5cdFx0XHRcdHBhZGRpbmc6IDMwMHB4IDEwMHB4IDEwMHB4IDEwMHB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAkZGFyay1ibHVlO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdFx0XHR9XG5cblx0XHRcdC5idG4ge1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdFx0cGFkZGluZzogMTVweCAxMnB4O1xuXHRcdFx0XHRjb2xvcjogJGRhcmstYmx1ZTtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiM3ZGRhZTY7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXg3NjgpIHtcblx0XHRcdFxuXHRcdFx0XHQuYXJ0aWNsZS1jb250ZW50LCAuYXJ0aWNsZS1pbWFnZSB7XG5cdFx0XHRcdFx0cGFkZGluZzogODBweCAzMHB4IDMwcHggMzBweDtcblx0XHRcdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0LmFydGljbGUtaW1hZ2Uge1xuXHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRcblx0XHRcdH1cblxuXHRcdH1cblxuXHRcdC5hcnRpY2xlIHtcblx0XHRcdGZsZXgtYmFzaXM6IDI1JTtcblx0XHRcdGRpc3BsYXk6IC13ZWJraXQtYm94OyAgXG5kaXNwbGF5OiAtbW96LWJveDtcbmRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuZGlzcGxheTogZmxleDsgIFxuXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KCRtYXgxMDI0KSB7XG5cdFx0XHRcdGZsZXgtYmFzaXM6IDUwJTtcblx0XHRcdFx0bWluLWhlaWdodDogNDA2cHg7XG5cdFx0XHR9XG5cblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdHAge1xuXHRcdFx0XHRmb250LXNpemU6IC44cmVtO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdFx0fVxuXG5cdFx0XHRpbWcge1xuXHRcdFx0XHRhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiAyMTJweDtcblx0XHRcdH1cblx0XHRcdC5hcnRpY2xlLWNvbnRlbnQge1xuXHRcdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0XHRhbGlnbi1zZWxmOiBmbGV4LWVuZDtcblx0XHRcdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHRcdFx0LmJ0biB7XG5cdFx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxMnB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDE1cHggMTJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cblx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJG1heDc2OCkge1xuXHRcdFx0XG5cdFx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0XHRcdG1pbi1oZWlnaHQ6IGF1dG87XG5cdFx0XHRcdFxuXHRcdFx0XHQuYXJ0aWNsZS1jb250ZW50IHsgXG5cblx0XHRcdFx0XHRwYWRkaW5nOiA0MHB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aDEge1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMS44cmVtO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAxcmVtO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5hcnRpY2xlLXRlbXBsYXRlLTIsIC5hcnRpY2xlLXRlbXBsYXRlLTUsIC5hcnRpY2xlLXRlbXBsYXRlLTgge1xuXHRcdFx0YmFja2dyb3VuZDogJGxpZ2h0LWJsdWUgIWltcG9ydGFudDtcblx0XHRcdFxuXHRcdFx0aDEge1xuXHRcdFx0XHRcblx0XHRcdH1cblxuXHRcdFx0cCB7XG5cdFx0XHRcdGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdFx0fVxuXHRcdFx0aW1nIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblxuXHRcdFx0LmJ0biB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRkYXJrLWJsdWU7XG5cdFx0XHRcdGNvbG9yOiAkbGlnaHQtYmx1ZTtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiMzNDU1Nzc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuYXJ0aWNsZS10ZW1wbGF0ZS0zLCAuYXJ0aWNsZS10ZW1wbGF0ZS02LCAuYXJ0aWNsZS10ZW1wbGF0ZS05IHtcblx0XHRcdGJhY2tncm91bmQ6ICRsaWdodC1ncmV5ICFpbXBvcnRhbnQ7XG5cdFx0XHRcblx0XHRcdGgxIHtcblx0XHRcdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0XHR9XG5cblx0XHRcdHAge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHQuYnRuIHtcblx0XHRcdFx0YmFja2dyb3VuZDogJGRhcmstYmx1ZTtcblx0XHRcdFx0Y29sb3I6ICRsaWdodC1ibHVlO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IzM0NTU3Nztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5hcnRpY2xlLXRlbXBsYXRlLTQsIC5hcnRpY2xlLXRlbXBsYXRlLTcge1xuXHRcdFx0XG5cdFx0XHRpbWcge1xuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdFx0fVxuXG5cdFx0XHRoMSB7XG5cdFx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0XHRcdFxuXHRcdFx0fVxuXG5cdFx0XHRwIHtcblx0XHRcdFx0ZGlzcGxheTogJHdoaXRlO1xuXHRcdFx0fVxuXG5cdFx0XHQuYnRuIHtcblx0XHRcdFx0Y29sb3I6ICRkYXJrLWJsdWU7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6IzdkZGFlNjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cblxuXG5cdC5ibG9nLWFydGljbGVzLWxvYWQtbW9yZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMwODFhMmQsICMwMDJiNTgsICMwODFhMmQpO1xuXHRcdFx0cGFkZGluZzogMzBweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHRcdFx0LmJ0biB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0bWFyZ2luOiBhdXRvO1xuXHRcdFx0XHRoZWlnaHQ6IGF1dG87XG5cdFx0XHQgICAgZm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdCAgICBmb250LXNpemU6IDEycHg7XG5cdFx0XHQgICAgcGFkZGluZzogMTVweCAxMnB4O1xuXHRcdFx0ICAgIGNvbG9yOiAkZGFyay1ibHVlO1xuXHRcdFx0ICAgIGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdH1cblxuXHR9XG5cblxuXG5cblxuXG59XG5cbi5hYm91dC1zdmcge1xuXHRcblx0d2lkdGg6IDE0MHB4O1xuXHRoZWlnaHQ6IDE0MHB4O1xuXHRcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuXHRmaWd1cmUge1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRsaWdodC1ibHVlO1xuXHRcdGJvcmRlci1yYWRpdXM6IDE0MHB4O1xuXHRcdGJhY2tncm91bmQ6ICRkYXJrLWJsdWU7XG5cdFx0cGFkZGluZzogMjBweDtcblx0fVxuXG5cdHN2ZyB7XG5cdFx0aGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG5cdFx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHR9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O21FQU1tRTtBSXFDakUsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7OztPQUlHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFjRCxXQUFXLEVBQUUsSUFBSTtFQUFFLE9BQU87RUFFNUIsb0JBQW9CLEVBQUUsSUFBSTtFQUFFLE9BQU87RUFDbkMsd0JBQXdCLEVBQUUsSUFBSTtFQUFFLE9BQU8sRUFDeEM7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUgsQUFBQSxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVEOztPQUVH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 */
