/*
 * Magmodules.eu - http://www.magmodules.eu.
 *
 * NOTICE OF LICENSE
 * This source file is subject to the EULA
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * https://www.magmodules.eu/MM-LICENSE.txt
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to info@magmodules.eu so we can send you a copy immediately.
 *
 * @category      Magmodules
 * @package       Magmodules_Richsnippets
 * @author        Magmodules <info@magmodules.eu>
 * @copyright     Copyright (c) 2017 (http://www.magmodules.eu)
 * @license       https://www.magmodules.eu/terms.html  Single Service License
 */
.snippets {
    border: 1px solid #E4E4E4;
    margin: 0px 0;
    overflow: auto;
}

.snippets p {
    margin-bottom: 0
}

.snippets .product-name {
    font-weight: 700
}

.snippets .prod-thumb {
    float: left;
    padding: 8px
}

.snippets img {
    display: block;
    margin: 0px;
}

.snippets .content {
    padding: 5px
}

.snippets .content i {
    font-style: initial;
}

.snippets .rating-box {
    float: right;
    margin-bottom: 5px;
}

.snippets-footer {
    margin-top: -5px;
    color: #666;
    font-style: normal
}

.snippets-fields {
    font-size: x-small;
}

.snippets-fields ul {
    display: inline
}

.snippets-fields li {
    display: inline;
    color: #5D5D5D;
    background: none !important;
    padding-left: 0 !important;
    font-size: 13px;
    float: left;
    margin: 0px !important;
}

.snippets-fields li + li::before {
    content: "- "
}

.snippets-sidebar .rating-box {
    margin-right: 5px;
    margin-top: 5px;
    float: left;
    width: 73px;
    position: absolute;
    height: 15px;
    font-size: 0;
    background: url(https://www.nipandfab.com/skin/frontend/base/default/magmodules/snippets/images/bkg_rating.gif) repeat-x;
    background-size: 15px;
    text-indent: -999em;
    overflow: hidden;
}

.snippets-sidebar .rating {
    float: left;
    height: 13px;
    background: url(https://www.nipandfab.com/skin/frontend/base/default/magmodules/snippets/images/bkg_rating.gif) repeat-x;
    background-position-y: 100%;
    background-size: 15px
}
html {
  box-sizing: border-box; }

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

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

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

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

/**
     * Remove the outline on focused links when they are also active or hovered
     * in all browsers (opinionated).
     */
a:active,
a:hover {
  outline-width: 0; }

/* Text-level semantics
       ========================================================================== */
/**
     * 1. Remove the bottom border in 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 */ }

/**
     * Change the border, margin, and padding in all browsers (opinionated).
     */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

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

@font-face {
  font-family: 'Miso';
  src: url("https://www.nipandfab.com/skin/frontend/nipandfab/default/fonts/32DC73_0_0.eot");
  src: url("https://www.nipandfab.com/skin/frontend/nipandfab/default/fonts/32DC73_0_0.eot?#iefix") format("embedded-opentype"), url("https://www.nipandfab.com/skin/frontend/nipandfab/default/fonts/32DC73_0_0.woff2") format("woff2"), url("https://www.nipandfab.com/skin/frontend/nipandfab/default/fonts/32DC73_0_0.woff") format("woff"), url("https://www.nipandfab.com/skin/frontend/nipandfab/default/fonts/32DC73_0_0.ttf") format("truetype"); }

@font-face {
  font-family: "nipfab";
  src: url("https://www.nipandfab.com/skin/frontend/nipandfab/default/fonts/nipfab.eot");
  src: url("https://www.nipandfab.com/skin/frontend/nipandfab/default/fonts/nipfab.eot?#iefix") format("embedded-opentype"), url("https://www.nipandfab.com/skin/frontend/nipandfab/default/fonts/nipfab.woff") format("woff"), url("https://www.nipandfab.com/skin/frontend/nipandfab/default/fonts/nipfab.ttf") format("truetype"), url("https://www.nipandfab.com/skin/frontend/nipandfab/default/fonts/nipfab.svg#nipfab") format("svg");
  font-weight: normal;
  font-style: normal; }

[data-icon]:before {
  font-family: "nipfab" !important;
  content: attr(data-icon);
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

[class^="icn-"]:before,
[class*=" icn-"]:before {
  font-family: "nipfab" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icn-close:before {
  content: "\61"; }

.icn-twitter:before {
  content: "\62"; }

.icn-facebook:before {
  content: "\63"; }

.icn-pinterest:before {
  content: "\64"; }

.icn-youtube:before {
  content: "\65"; }

.icn-instagram:before {
  content: "\66"; }

.icn-logout:before {
  content: "\6a"; }

.icn-email:before {
  content: "\6e"; }

.icn-star:before {
  content: "\6f"; }

.icn-mastercard:before {
  content: "\73"; }

.icn-visa:before {
  content: "\74"; }

.icn-amex:before {
  content: "\75"; }

.icn-phone:before {
  content: "\76"; }

.icn-search:before {
  content: "\78"; }

.icn-bag:before {
  content: "\79"; }

.icn-view:before {
  content: "\7a"; }

.icn-user:before {
  content: "\41"; }

.icn-up:before {
  content: "\67"; }

.icn-down:before {
  content: "\68"; }

.icn-left:before {
  content: "\69"; }

.icn-right:before {
  content: "\6b"; }

.icn-sad-outline:before {
  content: "\6c"; }

:focus {
  outline: 0; }

.hover-only {
  display: none; }
  .touch-action .hover-only {
    display: block; }

.is-hidden {
  display: none; }

hr {
  border: 0;
  height: 1px; }

.cb {
  clear: both; }

.db-important {
  display: block !important; }

.hidden {
  display: none;
  visibility: hidden; }

.visible-phone {
  display: none !important; }

.visible-tablet {
  display: none !important; }

.hidden-desktop {
  display: none !important; }

.visible-desktop {
  display: inherit !important; }

@media (min-width: 768px) and (max-width: 979px) {
  .hidden-desktop {
    display: inherit !important; }
  .visible-desktop {
    display: none !important; }
  .visible-tablet {
    display: inherit !important; }
  .hidden-tablet {
    display: none !important; } }

@media (max-width: 767px) {
  .hidden-desktop {
    display: inherit !important; }
  .visible-desktop {
    display: none !important; }
  .visible-phone {
    display: inherit !important; }
  .hidden-phone {
    display: none !important; } }

.visible-print {
  display: none !important; }

@media print {
  .visible-print {
    display: inherit !important; }
  .hidden-print {
    display: none !important; } }

body,
html {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  -webkit-font-smoothing: antialiased;
  margin: 0;
  padding: 0;
  background-color: #000;
  font-family: "Roboto Condensed", sans-serif;
  color: #1a1a1a;
  line-height: 1.2;
  font-size: 14px; }
  @media screen and (min-width: 768px) {
    body,
    html {
      font-size: 16px; } }

body {
  min-width: 320px; }

strong, b {
  font-weight: bold; }

.backdrop-overlay {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  z-index: 1200;
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: 0.3s all ease-out; }

body.active-search .backdrop-overlay, body.active-bag .backdrop-overlay, body.active-nav .backdrop-overlay, .active-mobilenav .backdrop-overlay, .active-sw .backdrop-overlay {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  visibility: visible;
  pointer-events: all; }

body.active-search div.main, body.active-bag div.main, body.active-nav div.main, .active-mobilenav div.main, .active-sw div.main {
  filter: url('https://www.nipandfab.com/skin/frontend/nipandfab/default/css/data:image/svg+xml;charset=utf-8,<sv')xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.6852 0.286 0.0288 0 0 0.0852 0.8919999999999999 0.0288 0 0 0.0852 0.286 0.6287999999999999 0 0 0 0 0 1 0" /></filter></svg>#filter');
  filter: saturate(0.6); }

*::-moz-selection {
  background: #000;
  color: #fff; }

*::selection {
  background: #000;
  color: #fff; }

* {
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

span.nobr {
  white-space: nowrap; }

.o-grid {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .o-grid:after {
    clear: both;
    content: "";
    display: block; }

.o-grid__column--1 {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 6.17215%; }
  .o-grid__column--1:last-child {
    margin-right: 0; }
  @media screen and (min-width: 480px) {
    .o-grid__column--1-mobile {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 6.17215%; }
      .o-grid__column--1-mobile:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .o-grid__column--1-desktop {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 6.17215%; }
      .o-grid__column--1-desktop:last-child {
        margin-right: 0; } }

.o-grid__column--2 {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 14.70196%; }
  .o-grid__column--2:last-child {
    margin-right: 0; }
  @media screen and (min-width: 480px) {
    .o-grid__column--2-mobile {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 14.70196%; }
      .o-grid__column--2-mobile:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .o-grid__column--2-desktop {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 14.70196%; }
      .o-grid__column--2-desktop:last-child {
        margin-right: 0; } }

.o-grid__column--3 {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 23.23176%; }
  .o-grid__column--3:last-child {
    margin-right: 0; }
  @media screen and (min-width: 480px) {
    .o-grid__column--3-mobile {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%; }
      .o-grid__column--3-mobile:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .o-grid__column--3-desktop {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%; }
      .o-grid__column--3-desktop:last-child {
        margin-right: 0; } }

.o-grid__column--4 {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 31.76157%; }
  .o-grid__column--4:last-child {
    margin-right: 0; }
  @media screen and (min-width: 480px) {
    .o-grid__column--4-mobile {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .o-grid__column--4-mobile:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .o-grid__column--4-desktop {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 31.76157%; }
      .o-grid__column--4-desktop:last-child {
        margin-right: 0; } }

.o-grid__column--5 {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 40.29137%; }
  .o-grid__column--5:last-child {
    margin-right: 0; }
  @media screen and (min-width: 480px) {
    .o-grid__column--5-mobile {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 40.29137%; }
      .o-grid__column--5-mobile:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .o-grid__column--5-desktop {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 40.29137%; }
      .o-grid__column--5-desktop:last-child {
        margin-right: 0; } }

.o-grid__column--6 {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 48.82117%; }
  .o-grid__column--6:last-child {
    margin-right: 0; }
  @media screen and (min-width: 480px) {
    .o-grid__column--6-mobile {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .o-grid__column--6-mobile:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .o-grid__column--6-desktop {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .o-grid__column--6-desktop:last-child {
        margin-right: 0; } }

.o-grid__column--7 {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 57.35098%; }
  .o-grid__column--7:last-child {
    margin-right: 0; }
  @media screen and (min-width: 480px) {
    .o-grid__column--7-mobile {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 57.35098%; }
      .o-grid__column--7-mobile:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .o-grid__column--7-desktop {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 57.35098%; }
      .o-grid__column--7-desktop:last-child {
        margin-right: 0; } }

.o-grid__column--8 {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 65.88078%; }
  .o-grid__column--8:last-child {
    margin-right: 0; }
  @media screen and (min-width: 480px) {
    .o-grid__column--8-mobile {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 65.88078%; }
      .o-grid__column--8-mobile:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .o-grid__column--8-desktop {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 65.88078%; }
      .o-grid__column--8-desktop:last-child {
        margin-right: 0; } }

.o-grid__column--9 {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 74.41059%; }
  .o-grid__column--9:last-child {
    margin-right: 0; }
  @media screen and (min-width: 480px) {
    .o-grid__column--9-mobile {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 74.41059%; }
      .o-grid__column--9-mobile:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .o-grid__column--9-desktop {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 74.41059%; }
      .o-grid__column--9-desktop:last-child {
        margin-right: 0; } }

.o-grid__column--10 {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 82.94039%; }
  .o-grid__column--10:last-child {
    margin-right: 0; }
  @media screen and (min-width: 480px) {
    .o-grid__column--10-mobile {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 82.94039%; }
      .o-grid__column--10-mobile:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .o-grid__column--10-desktop {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 82.94039%; }
      .o-grid__column--10-desktop:last-child {
        margin-right: 0; } }

.o-grid__column--11 {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 91.4702%; }
  .o-grid__column--11:last-child {
    margin-right: 0; }
  @media screen and (min-width: 480px) {
    .o-grid__column--11-mobile {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 91.4702%; }
      .o-grid__column--11-mobile:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .o-grid__column--11-desktop {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 91.4702%; }
      .o-grid__column--11-desktop:last-child {
        margin-right: 0; } }

.o-grid__column--12 {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 100%; }
  .o-grid__column--12:last-child {
    margin-right: 0; }
  @media screen and (min-width: 480px) {
    .o-grid__column--12-mobile {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 100%; }
      .o-grid__column--12-mobile:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .o-grid__column--12-desktop {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 100%; }
      .o-grid__column--12-desktop:last-child {
        margin-right: 0; } }

a {
  text-decoration: none;
  transition: 0.2s color ease-out, 0.2s background-color ease-out, 0.2s border-color ease-out, 0.1s transform ease-out;
  color: #000; }

p {
  font-family: 'Roboto', sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.6; }

h1, h2, h3, h4, h5, h6 {
  margin: 0; }

address {
  font-style: normal; }

.u-font-size--xxs {
  font-size: 8px;
  font-size: 0.5rem; }
  @media screen and (min-width: 992px) {
    .u-font-size--xxs {
      font-size: 0.5rem; } }

.u-font-size--xs {
  font-size: 10px;
  font-size: 0.625rem; }
  @media screen and (min-width: 992px) {
    .u-font-size--xs {
      font-size: 0.625rem; } }

.u-font-size--s {
  font-size: 12px;
  font-size: 0.75rem; }
  @media screen and (min-width: 992px) {
    .u-font-size--s {
      font-size: 0.75rem; } }

.u-font-size--m {
  font-size: 14px;
  font-size: 0.875rem; }
  @media screen and (min-width: 992px) {
    .u-font-size--m {
      font-size: 1rem; } }

.u-font-size--l {
  font-size: 16px;
  font-size: 1rem; }
  @media screen and (min-width: 992px) {
    .u-font-size--l {
      font-size: 1.125rem; } }

.u-font-size--xl {
  font-size: 18px;
  font-size: 1.125rem; }
  @media screen and (min-width: 992px) {
    .u-font-size--xl {
      font-size: 1.5rem; } }

.u-font-size--xxl {
  font-size: 24px;
  font-size: 1.5rem; }
  @media screen and (min-width: 992px) {
    .u-font-size--xxl {
      font-size: 2.25rem; } }

.u-font-size--xxxl {
  font-size: 36px;
  font-size: 2.25rem; }
  @media screen and (min-width: 992px) {
    .u-font-size--xxxl {
      font-size: 2.625rem; } }

.breadcrumbs {
  background: #fff;
  text-align: left;
  padding: 20px 0;
  padding: 1.25rem 0;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 15px;
  font-size: 0.9375rem;
  text-transform: uppercase;
  color: #000; }
  .breadcrumbs .wrap {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    display: -ms-flexbox;
    display: flex; }
    .breadcrumbs .wrap:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 1470px) {
      .breadcrumbs .wrap {
        padding-left: 15px;
        padding-right: 15px; } }
  .breadcrumbs ul {
    list-style: none;
    padding: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-positive: 1;
        flex-grow: 1;
    margin: 0;
    -ms-flex-align: start;
        align-items: flex-start; }
  .breadcrumbs li {
    padding: 0;
    margin: 0; }
  .breadcrumbs a {
    color: #b2b2b2; }
    .breadcrumbs a:hover {
      color: #000; }
  .breadcrumbs strong {
    font-family: "Roboto Condensed", sans-serif;
    font-weight: normal; }
  .breadcrumbs .spacer {
    margin: 0 15px;
    margin: 0 0.9375rem;
    color: #b2b2b2; }

.messages .success-msg, .alert-success {
  background-color: #3db30c; }

.messages .error-msg, .alert-danger, .alert-error {
  background-color: #b30c0c; }

.messages .notice-msg, .alert-info {
  background-color: #145767; }

.messages {
  list-style: none;
  margin: 0;
  padding: 0;
  color: #fff; }
  .messages ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  .messages > li {
    padding: 15px 30px;
    padding: 0.9375rem 1.875rem;
    text-transform: uppercase; }

.accordion {
  list-style: none;
  margin: 0;
  padding: 0; }
  .accordion li a.accordion-trigger {
    display: block;
    text-transform: uppercase;
    position: relative;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700; }
    .accordion li a.accordion-trigger > *:after, .accordion li a.accordion-trigger > *:before {
      position: absolute;
      right: 0;
      top: 50%;
      margin: -1px 0 0;
      content: '';
      display: block;
      width: 10px;
      height: 2px;
      background: #000;
      transition: all 0.15s ease-out; }
    .accordion li a.accordion-trigger > *:after {
      transform: rotate(90deg); }
  .accordion li.active a.accordion-trigger > *:after, .accordion li.active a.accordion-trigger > *:before {
    transform: rotate(-180deg); }
  .accordion .submenu {
    display: none;
    padding: 0 0 30px;
    padding: 0 0 1.875rem; }
  .accordion p {
    margin: 0; }

.button {
  background: none;
  border: none;
  cursor: pointer;
  text-transform: uppercase;
  line-height: 1;
  border: 2px solid #000;
  text-shadow: none;
  position: relative;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  transition: 0.2s all ease-in-out; }
  .button:active {
    transform: scale(0.99); }

.button.large, .cart-collaterals ul.checkout-types .btn-checkout, .cart-content .head .btn-checkout {
  padding: 20px 30px;
  padding: 1.25rem 1.875rem;
  font-size: 18px;
  font-size: 1.125rem; }

.button.medium, .newsletter-block .btn-subscribe, .search-panel .button, .bag .block-cart .checkout-types a {
  padding: 17px 24px;
  padding: 1.0625rem 1.5rem;
  font-size: 16px;
  font-size: 1rem; }

.button.small {
  padding: 8px 12px;
  padding: 0.5rem 0.75rem;
  font-size: 14px;
  font-size: 0.875rem; }

.button.no-br {
  border: none; }

.primary, .search-panel .button, .bag .block-cart .checkout-types a.checkout-button, .cart-collaterals ul.checkout-types .btn-checkout, .cart-content .head .btn-checkout {
  background: #000;
  color: #fff; }
  .primary:hover, .search-panel .button:hover, .bag .block-cart .checkout-types a.checkout-button:hover, .cart-collaterals ul.checkout-types .btn-checkout:hover, .cart-content .head .btn-checkout:hover {
    color: #000;
    background-color: #fff; }

.secondary, .white, .bag .block-cart .checkout-types a.continue-shopping-button {
  background: #fff;
  color: #000; }
  .secondary:hover, .white:hover, .bag .block-cart .checkout-types a.continue-shopping-button:hover {
    background: #000;
    color: #fff; }

.white {
  border: 0; }

.checkout-steps {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .checkout-steps:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .checkout-steps {
      padding-left: 15px;
      padding-right: 15px; } }
  .checkout-steps .steps {
    display: table;
    table-layout: fixed;
    margin: 0 auto;
    border-spacing: 10px 20px; }
    .checkout-steps .steps li {
      display: table-cell; }
      .checkout-steps .steps li.current a {
        font-family: "Roboto Condensed", sans-serif;
        font-weight: 700; }
      .checkout-steps .steps li:after {
        padding-left: 10px; }
      .checkout-steps .steps li:last-child:after {
        display: none;
        padding: 0; }

.checkout-login-form-container {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px null; }
  .checkout-login-form-container:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .checkout-login-form-container {
      padding-left: 15px;
      padding-right: 15px; } }
  .checkout-login-form-container:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (min-width: 768px) {
    .checkout-login-form-container {
      max-width: 600px;
      padding: 100px null; } }
  .checkout-login-form-container .control {
    margin-bottom: 15px; }
  .checkout-login-form-container h2 {
    font-size: 18px;
    font-size: 1.125rem;
    text-transform: uppercase;
    color: #000;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700;
    padding: 0 0 25px;
    margin: 15px 0 0;
    margin: 0.9375rem 0 0; }
  .checkout-login-form-container .section {
    padding: 0 0 40px; }
  .checkout-login-form-container label {
    font-size: 15px;
    font-size: 0.9375rem;
    text-transform: none; }
  .checkout-login-form-container input {
    font-size: 12px;
    font-size: 0.75rem; }
  .checkout-login-form-container .notice {
    margin: 0;
    padding: 10px 5px 0;
    font-size: 12px;
    font-size: 0.75rem; }
  .checkout-login-form-container .primary, .checkout-login-form-container .search-panel .button, .search-panel .checkout-login-form-container .button, .checkout-login-form-container .bag .block-cart .checkout-types a.checkout-button, .bag .block-cart .checkout-types .checkout-login-form-container a.checkout-button, .checkout-login-form-container .cart-collaterals ul.checkout-types .btn-checkout, .cart-collaterals ul.checkout-types .checkout-login-form-container .btn-checkout, .checkout-login-form-container .cart-content .head .btn-checkout, .cart-content .head .checkout-login-form-container .btn-checkout {
    margin: 40px 0 0; }

.checkout-login-form-container-info--block {
  padding-top: 20px;
  text-align: center; }
  .checkout-login-form-container-info--block .info {
    text-align: center;
    padding: 0 0 15px; }
    .checkout-login-form-container-info--block .info a {
      text-transform: none;
      margin: 10px 15px;
      display: block; }
      @media screen and (min-width: 768px) {
        .checkout-login-form-container-info--block .info a {
          display: inline-block;
          margin: 0 15px; } }
      .checkout-login-form-container-info--block .info a:hover {
        color: #666666; }
      .checkout-login-form-container-info--block .info a i {
        font-size: 21px;
        vertical-align: middle;
        position: relative;
        top: 3px;
        margin: 0 10px 0 0;
        margin: 0 0.625rem 0 0; }
  .checkout-login-form-container-info--block img {
    height: 17px;
    vertical-align: middle;
    padding: 0 10px 0 0; }

.onestepcheckout-index-index table,
.onestepcheckout-index-index td {
  border: none; }

.onestepcheckout-index-index .onestepcheckout-place-order-wrapper {
  position: relative;
  margin-top: 20px;
  margin-top: 1.25rem; }

.onestepcheckout-index-index .onestepcheckout-place-order-loading {
  display: block;
  clear: both;
  padding-top: 20px;
  font-size: 12px;
  vertical-align: middle;
  text-align: center; }

.onestepcheckout-index-index .onestepcheckout-numbers-1 + .subtitle {
  display: none; }

.onestepcheckout-index-index .onestepcheckout-address-line {
  margin-bottom: 10px; }

.onestepcheckout-index-index .col-main > div {
  display: none; }

.onestepcheckout-index-index label {
  cursor: pointer; }

.onestepcheckout-index-index input[type='radio'] {
  margin: 5px; }

.onestepcheckout-index-index .social-wrap {
  display: none; }

#onestepcheckout-form {
  padding: 0;
  margin: 0; }
  #onestepcheckout-form .block.block-page-heading {
    margin: 0 0 40px; }
  #onestepcheckout-form .form-list li {
    margin: 0; }
    #onestepcheckout-form .form-list li.token-checkbox {
      margin: 15px 0;
      margin: 0.9375rem 0;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-flow: row-reverse;
          flex-flow: row-reverse; }
      #onestepcheckout-form .form-list li.token-checkbox input {
        width: 40px; }
    #onestepcheckout-form .form-list li.control {
      margin-bottom: 15px;
      margin-bottom: 0.9375rem; }
  #onestepcheckout-form .input-box {
    margin: 0 0 15px;
    margin: 0 0 0.9375rem; }
  #onestepcheckout-form .input-country select {
    width: 100%; }
  #onestepcheckout-form label {
    position: relative; }
  #onestepcheckout-form span.required {
    position: absolute;
    top: 0px;
    right: 100%;
    margin: 0 5px 0 0;
    color: #ff5255; }

.onestepcheckout-threecolumns {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .onestepcheckout-threecolumns:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .onestepcheckout-threecolumns {
      padding-left: 15px;
      padding-right: 15px; } }
  .onestepcheckout-threecolumns:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (min-width: 768px) {
    .onestepcheckout-threecolumns {
      display: table; } }
  .onestepcheckout-threecolumns ul {
    list-style-type: none;
    margin: 0;
    padding: 0; }
  .onestepcheckout-threecolumns .shipment-methods {
    padding-bottom: 20px; }
    .onestepcheckout-threecolumns .shipment-methods > dd {
      display: none; }
  .onestepcheckout-threecolumns .shipment-methods dt label,
  .onestepcheckout-threecolumns .payment-methods dt label {
    display: inline-block;
    margin: 0; }
  .onestepcheckout-threecolumns .shipment-methods input[type=radio],
  .onestepcheckout-threecolumns .payment-methods input[type=radio] {
    display: inline-block;
    vertical-align: middle; }
  .onestepcheckout-threecolumns .shipment-methods #serversecure img,
  .onestepcheckout-threecolumns .payment-methods #serversecure img {
    display: none; }
  .onestepcheckout-threecolumns .payment-methods {
    padding: 0 0 30px;
    padding: 0 0 1.875rem; }
    .onestepcheckout-threecolumns .payment-methods dd, .onestepcheckout-threecolumns .payment-methods dt {
      margin: 0; }
    .onestepcheckout-threecolumns .payment-methods dt {
      line-height: 0; }
    .onestepcheckout-threecolumns .payment-methods dd > * {
      padding: 30px 0 30px 30px;
      padding: 1.875rem 0 1.875rem 1.875rem; }
    .onestepcheckout-threecolumns .payment-methods select {
      width: 100%; }
  .onestepcheckout-threecolumns .input-box br {
    display: none; }
  .onestepcheckout-threecolumns .input-box label,
  .onestepcheckout-threecolumns .input-box input {
    display: inline-block; }

.onestepcheckout-column-left,
.onestepcheckout-column-middle,
.onestepcheckout-column-right {
  vertical-align: top; }
  @media screen and (min-width: 768px) {
    .onestepcheckout-column-left,
    .onestepcheckout-column-middle,
    .onestepcheckout-column-right {
      display: table-cell;
      width: 33.33333%;
      padding: 0 15px 30px; }
      .onestepcheckout-column-left:nth-child(3n),
      .onestepcheckout-column-middle:nth-child(3n),
      .onestepcheckout-column-right:nth-child(3n) {
        margin-right: 0; }
      .onestepcheckout-column-left:nth-child(3n+1),
      .onestepcheckout-column-middle:nth-child(3n+1),
      .onestepcheckout-column-right:nth-child(3n+1) {
        clear: left; } }
  @media screen and (min-width: 992px) {
    .onestepcheckout-column-left,
    .onestepcheckout-column-middle,
    .onestepcheckout-column-right {
      padding: 0 25px 30px; } }

.onestepcheckout-column-right {
  background: #f2f2f2; }

.order-review-inner {
  position: relative; }

.onestepcheckout-numbers {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: 22px;
  font-size: 1.375rem;
  text-transform: uppercase;
  color: #000;
  padding: 25px 0; }

.onestepcheckout-summary thead {
  margin: 0 10px; }
  .onestepcheckout-summary thead th {
    font-weight: bold;
    border-bottom: 1px solid;
    border-top: 1px solid;
    border-color: #cccccc; }

.onestepcheckout-summary th {
  text-transform: uppercase;
  margin: 0 10px; }

.onestepcheckout-summary th.total,
.onestepcheckout-summary td.total {
  text-align: right; }

.onestepcheckout-summary td.qty,
.onestepcheckout-summary td.total {
  color: #666; }

.onestepcheckout-summary th.name,
.onestepcheckout-summary td.name {
  width: 45%;
  color: #000; }

.onestepcheckout-summary td {
  text-align: center; }
  .onestepcheckout-summary td.name {
    text-transform: uppercase;
    text-align: left; }
  @media screen and (min-width: 320px) {
    .onestepcheckout-summary td img {
      width: auto; } }
  @media screen and (min-width: 480px) {
    .onestepcheckout-summary td img {
      width: auto; } }
  @media screen and (min-width: 768px) {
    .onestepcheckout-summary td img {
      width: 20px; } }
  @media screen and (min-width: 992px) {
    .onestepcheckout-summary td img {
      width: auto; } }

.onestepcheckout-summary.paypal {
  text-align: left; }
  .onestepcheckout-summary.paypal .image {
    width: 120px; }

.onestepcheckout-edit-basket-wrapper button {
  background: none;
  padding-top: 10px;
  padding-bottom: 10px; }

.onestepcheckout-summary,
.onestepcheckout-totals {
  width: 100%;
  border-width: 1px;
  border-collapse: collapse;
  font-size: 15px;
  font-size: 0.9375rem; }
  .onestepcheckout-summary th,
  .onestepcheckout-totals th {
    padding: 10px 1px; }
  .onestepcheckout-summary td,
  .onestepcheckout-totals td {
    padding: 10px 1px; }

.onestepcheckout-totals-wrap {
  border: 2px solid #cccccc;
  padding: 15px 0; }

.onestepcheckout-totals td {
  text-align: right;
  padding: 7px 25px; }

.onestepcheckout-totals td.title {
  text-align: left; }

.onestepcheckout-totals .grand-total {
  text-transform: uppercase; }
  .onestepcheckout-totals .grand-total td {
    color: #000;
    padding: 15px 25px 5px;
    font-weight: bold;
    font-size: 16px;
    font-size: 1rem; }

.onestepcheckout-edit-basket-wrapper,
.onestepcheckout-place-order-wrapper {
  margin: 10px auto 50px;
  margin: 0.625rem auto 3.125rem;
  text-align: center; }
  .onestepcheckout-edit-basket-wrapper button,
  .onestepcheckout-place-order-wrapper button {
    width: 100%; }

.onestepcheckout-index-index #control_window_3 {
  height: 610px !important;
  max-width: 100%;
  z-index: 99999 !important; }

.lcontainer {
  height: 580px !important; }
  .lcontainer iframe {
    height: 500px !important; }

.checkout-onepage-success .col1-layout .col-main {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .checkout-onepage-success .col1-layout .col-main:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .checkout-onepage-success .col1-layout .col-main {
      padding-left: 15px;
      padding-right: 15px; } }
  .checkout-onepage-success .col1-layout .col-main a {
    color: #1a1a1a;
    font-weight: 600; }
  .checkout-onepage-success .col1-layout .col-main .buttons-set {
    padding: 0 0 50px;
    padding: 0 0 3.125rem; }

.checkout-onepage-success > img {
  display: block; }

.checkout-onepage-success h2.sub-title {
  margin: 40px 0 30px;
  margin: 2.5rem 0 1.875rem; }

.onestepcheckout-enable-terms {
  margin-top: 10px; }
  .onestepcheckout-enable-terms #error-terms {
    color: red;
    padding-left: 20px;
    font-size: 11px;
    font-size: 0.6875rem;
    text-transform: uppercase; }

.onestepcheckout-enable-newsletter {
  margin-top: 10px;
  margin-bottom: 20px; }

.onestepcheckout-enable-terms input[type='checkbox'],
.onestepcheckout-enable-newsletter input[type='checkbox'] {
  float: left;
  margin-right: 10px;
  margin-top: 6px; }

.onestepcheckout-enable-terms label,
.onestepcheckout-enable-newsletter label {
  font-size: 11px;
  font-size: 0.6875rem;
  padding-top: 7px; }

label[for="p_method_sagepayserver"] {
  background: none !important;
  padding-left: 0px !important; }

.address-select {
  width: 100%;
  padding-right: 8%; }

.current-shipping-address,
.current-billing-address {
  margin: 0 0 15px;
  margin: 0 0 0.9375rem; }
  .current-shipping-address p,
  .current-billing-address p {
    margin: 15px 0;
    margin: 0.9375rem 0;
    font-size: 12px;
    font-size: 0.75rem;
    padding: 15px 20px;
    padding: 0.9375rem 1.25rem;
    background-color: #f2f2f2; }

.btn-add-new-shipping-address,
.btn-add-new-billing-address {
  padding: 5px;
  clear: both;
  float: left;
  width: 100%;
  padding-bottom: 17px;
  padding-top: 12px; }
  .btn-add-new-shipping-address:after,
  .btn-add-new-billing-address:after {
    content: '+';
    font-family: Arial !important;
    font-weight: 700;
    -webkit-font-smoothing: none;
    padding-left: 10px; }

#onestepcheckout-form label[for="p_method_sagepaydirectpro"],
#onestepcheckout-form label[for="p_method_sagepayserver"],
#onestepcheckout-form label[for="p_method_sagepayform"],
#onestepcheckout-form label[for="p_method_sagepaynit"] {
  background: none;
  line-height: 20px;
  padding: 0 !important;
  min-height: 0;
  display: inline-block !important; }

#onestepcheckout-form #p_method_sagepayserver, #onestepcheckout-form #p_method_sagepayform, #onestepcheckout-form #p_method_sagepaydirectpro {
  float: none;
  margin: 5px; }

.payment-methods #customerbalance_placer {
  padding: 0 0 5px 2px; }

#payment-tool-tip.tool-tip {
  position: absolute;
  width: 300px;
  background: #fff;
  z-index: 1111;
  padding: 20px;
  margin: 100px 0 0;
  box-shadow: 0 1px 10px 1px rgba(0, 0, 0, 0.45); }
  #payment-tool-tip.tool-tip .btn-close {
    position: absolute;
    top: 0;
    right: 0;
    padding: 10px;
    background: #fff;
    line-height: 0; }
    #payment-tool-tip.tool-tip .btn-close a {
      color: #666666; }
      #payment-tool-tip.tool-tip .btn-close a:hover {
        color: #1a1a1a; }

#advice-required-entry-id_accept_terms {
  margin: 10px 0 0;
  margin: 0.625rem 0 0; }

#advice-required-entry-billing\:street1 {
  margin: -10px 0 10px; }

.loading-ajax {
  background: #ededed url("https://www.nipandfab.com/skin/frontend/nipandfab/default/img/loading.gif") center center no-repeat;
  padding: 20px; }

body.paypal-express-review .col-main {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto; }
  body.paypal-express-review .col-main:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    body.paypal-express-review .col-main {
      padding-left: 15px;
      padding-right: 15px; } }

body.paypal-express-review .review-product-list {
  margin: 50px 0 0;
  margin: 3.125rem 0 0; }

body.paypal-express-review .pple-review {
  padding-bottom: 50px;
  padding-bottom: 3.125rem; }
  body.paypal-express-review .pple-review h2 {
    text-transform: uppercase;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700;
    font-size: 22px;
    font-size: 1.375rem;
    margin: 30px 0 15px;
    margin: 1.875rem 0 0.9375rem; }
    body.paypal-express-review .pple-review h2 .button {
      display: block;
      margin: 5px 0 0;
      margin: 0.3125rem 0 0;
      vertical-align: middle; }
      @media screen and (min-width: 480px) {
        body.paypal-express-review .pple-review h2 .button {
          margin: 0 0 0 0.9375rem;
          display: inline-block; } }
  body.paypal-express-review .pple-review .buttons-set {
    text-align: right;
    margin: 15px 0 0;
    margin: 0.9375rem 0 0; }
  body.paypal-express-review .pple-review .please-wait {
    padding: 0 16px;
    padding: 0 1rem; }

table#details-table {
  width: 100%; }
  table#details-table th {
    text-transform: uppercase; }

.privacy-policy--text {
  text-transform: uppercase; }
  .privacy-policy--text a {
    text-decoration: underline; }

.std {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .std:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .std {
      padding-left: 15px;
      padding-right: 15px; } }

.main {
  background-color: #fff;
  overflow: hidden; }

.cms-page .page-title {
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }

.cms-page table {
  width: 100%; }

.cms-page .cms-page-content {
  padding-bottom: 30px;
  padding-bottom: 1.875rem; }

.cms-page a {
  color: #000; }

.no-route-wrapper {
  padding: 100px 0;
  padding: 6.25rem 0; }
  .no-route-wrapper .wrap {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto; }
    .no-route-wrapper .wrap:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 1470px) {
      .no-route-wrapper .wrap {
        padding-left: 15px;
        padding-right: 15px; } }
  .no-route-wrapper h1 {
    font-size: 100px;
    font-size: 6.25rem;
    font-family: "Miso", sans-serif; }

.footer-wrap, .copyright {
  color: #fff;
  font-size: 15px;
  font-size: 0.9375rem; }
  .footer-wrap ul, .copyright ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  .footer-wrap a, .copyright a {
    color: #fff; }

.footer-wrap .newsletter-block {
  text-align: center;
  padding: 50px 0;
  padding: 3.125rem 0; }
  .footer-wrap .newsletter-block .btn-subscribe {
    background: #fff;
    color: #000; }

.col-main .newsletter-block .block-subscribe {
  margin-bottom: 30px;
  margin-bottom: 1.875rem; }

@media screen and (min-width: 1024px) {
  .col-main .newsletter-block .btn-subscribe {
    min-width: 240px; } }

.newsletter-block {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1; }
  .newsletter-block:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .newsletter-block {
      padding-left: 15px;
      padding-right: 15px; } }
  .newsletter-block .block-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .newsletter-block .form-subscribe-header {
    display: none;
    width: 100%;
    text-align: center;
    padding: 0 0 30px;
    padding: 0 0 1.875rem; }
    @media screen and (min-width: 768px) {
      .newsletter-block .form-subscribe-header {
        width: 50%;
        padding: 0;
        text-align: left; } }
    .newsletter-block .form-subscribe-header label {
      font-size: 20px;
      font-size: 1.25rem;
      font-weight: normal; }
      @media screen and (min-width: 1024px) {
        .newsletter-block .form-subscribe-header label {
          font-size: 1.5rem; } }
  .newsletter-block .input-box {
    -ms-flex-positive: 1;
        flex-grow: 1;
    position: relative; }
    .newsletter-block .input-box .validation-advice {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0; }
  .newsletter-block .btn-subscribe {
    background: #b2b2b2;
    border: 0;
    height: 50px;
    width: 100%;
    white-space: nowrap; }
    .newsletter-block .btn-subscribe:hover {
      background-color: #666666;
      color: #fff; }
  .newsletter-block input.input-text {
    background: none;
    border: 2px solid #b2b2b2;
    width: 100%;
    height: 50px;
    padding: 0 20px;
    padding: 0 1.25rem;
    font-size: 15px;
    font-size: 0.9375rem;
    color: #fff; }
    .newsletter-block input.input-text::-webkit-input-placeholder {
      /* Chrome/Opera/Safari */
      color: #b2b2b2; }
    .newsletter-block input.input-text::-moz-placeholder {
      /* Firefox 19+ */
      color: #b2b2b2; }
    .newsletter-block input.input-text:-ms-input-placeholder {
      /* IE 10+ */
      color: #b2b2b2; }
    .newsletter-block input.input-text:-moz-placeholder {
      /* Firefox 18- */
      color: #b2b2b2; }
    .newsletter-block input.input-text:-webkit-autofill {
      -webkit-box-shadow: 0 0 0px 1000px #eeeeee inset;
      -webkit-text-fill-color: #000; }
  .newsletter-block .loading {
    background: #1a1a1a;
    position: absolute;
    top: 2px;
    left: 2px;
    right: 2px;
    bottom: 2px;
    text-align: left;
    padding: 0 20px;
    padding: 0 1.25rem;
    text-transform: uppercase; }
    .newsletter-block .loading p {
      margin: 12px 0;
      margin: 0.75rem 0; }

.jBox-Modal.newsletter-success .jBox-container {
  padding: 15px;
  padding: 0.9375rem; }
  @media screen and (min-width: 768px) {
    .jBox-Modal.newsletter-success .jBox-container {
      padding: 1.875rem; } }

.jBox-Modal.newsletter-success .jBox-title {
  position: static; }
  @media screen and (min-width: 768px) {
    .jBox-Modal.newsletter-success .jBox-title {
      font-size: 1.5rem; } }

.jBox-Modal.newsletter-success .jBox-closeButton {
  bottom: auto;
  height: 50px; }

.jBox-Modal.newsletter-success .jBox-content {
  line-height: 1.4; }

.footer {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #1a1a1a;
  border-width: 1px 0;
  padding: 50px 0;
  padding: 3.125rem 0; }
  .footer:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .footer {
      padding-left: 15px;
      padding-right: 15px; } }
  .footer .foot-block {
    padding: 0 0 30px;
    padding: 0 0 1.875rem; }
  .footer .foot-block:after, .footer .card-logos:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (min-width: 1024px) {
    .footer .foot-block, .footer .card-logos {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .footer .foot-block:last-child, .footer .card-logos:last-child {
        margin-right: 0; } }
  .footer ul {
    list-style: none; }
  .footer .cmlinks {
    margin: 0;
    padding: 0;
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .footer .cmlinks:last-child {
      margin-right: 0; }
    .footer .cmlinks strong {
      display: block;
      font-family: "Roboto Condensed", sans-serif;
      font-weight: 700;
      text-transform: uppercase;
      font-size: 16px;
      font-size: 1rem; }
      @media screen and (min-width: 768px) {
        .footer .cmlinks strong {
          padding: 0 0 1.875rem; } }
      @media screen and (min-width: 1024px) {
        .footer .cmlinks strong {
          padding: 0 0 3.125rem; } }
    .footer .cmlinks li {
      padding: 5px 0;
      padding: 0.3125rem 0; }
    .footer .cmlinks a {
      display: inline-block; }
  .footer .card-logos .cmlinks {
    width: auto;
    float: none; }
    @media screen and (min-width: 1024px) {
      .footer .card-logos .cmlinks {
        float: right;
        padding-right: 1.875rem; } }
  .footer .card-logos .title strong {
    padding-bottom: 10px;
    padding-bottom: 0.625rem; }
    @media screen and (min-width: 1024px) {
      .footer .card-logos .title strong {
        padding-bottom: 2.375rem; } }
  .footer .card-logos .title ~ li {
    display: inline-block; }
    .footer .card-logos .title ~ li:hover i {
      color: #fff; }
  .footer .card-logos i {
    font-size: 41px;
    color: #cccccc; }

.copyright {
  padding: 20px 0;
  padding: 1.25rem 0;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  @media screen and (min-width: 768px) {
    .copyright {
      padding: 1.25rem 0 3.125rem; } }
  .copyright:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .copyright {
      padding-left: 15px;
      padding-right: 15px; } }
  .copyright .brand {
    float: left;
    text-transform: uppercase;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 400; }
  .copyright .social {
    float: right; }
    .copyright .social li {
      display: inline-block;
      padding: 0 10px;
      padding: 0 0.625rem; }
    .copyright .social i {
      font-size: 18px; }
    .copyright .social a {
      color: #b2b2b2;
      display: block; }
      .copyright .social a:hover {
        color: #fff;
        transform: scale(1.1); }

.footerpromo-block .content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .footerpromo-block .content > div {
    width: 100%; }
    @media screen and (min-width: 1024px) {
      .footerpromo-block .content > div {
        width: 50%; } }

.footerpromo-block .inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
  max-width: 720px;
  width: 100%;
  padding: 0 30px;
  padding: 0 1.875rem; }
  @media screen and (min-width: 1024px) {
    .footerpromo-block .inner {
      padding: 0 3.125rem; } }

.footerpromo-block .bg {
  pointer-events: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  transition: 0.5s all ease-out; }

.ftpblock {
  cursor: pointer;
  position: relative; }
  @media screen and (min-width: 1024px) {
    .ftpblock {
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      -ms-flex-align: start;
          align-items: flex-start;
      min-height: 300px;
      overflow: hidden; } }
  .ftpblock:hover .bg {
    transform: scale(1.01); }
  .ftpblock .inner {
    display: -ms-flexbox;
    display: flex; }
  .ftpblock h3 {
    font-size: 50px;
    font-size: 3.125rem;
    font-family: "Miso", sans-serif;
    margin: 0 0 30px;
    margin: 0 0 1.875rem;
    font-weight: normal;
    line-height: 1; }
  .ftpblock .desc {
    margin: 0 0 30px;
    margin: 0 0 1.875rem; }
  .ftpblock .button {
    display: inline-block; }
    .ftpblock .button:hover {
      transform: translate(0, -2px); }
  .ftpblock .info {
    padding: 50px 0;
    padding: 3.125rem 0; }
    @media screen and (min-width: 1024px) {
      .ftpblock .info {
        padding: 6.875rem 0; } }

.header-wrap {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  margin: 0;
  z-index: 100000;
  background: #000;
  -webkit-backface-visibility: hidden; }
  .header-wrap a {
    color: #fff; }
  .header-wrap .promo-bar-top--wrapper {
    display: block;
    width: 100%;
    height: auto;
    background-color: white;
    color: black; }
    .header-wrap .promo-bar-top--wrapper p {
      margin: 0;
      padding: 0;
      line-height: 40px;
      font-size: 14px;
      color: black;
      text-transform: uppercase;
      text-align: center;
      font-weight: 600;
      font-family: "Roboto Condensed", sans-serif;
      letter-spacing: 0.5px; }

.page {
  padding-top: 53px; }
  @media screen and (min-width: 768px) {
    .page {
      padding-top: 58px; } }
  .page.has--promobar {
    padding-top: 93px; }
    @media screen and (min-width: 768px) {
      .page.has--promobar {
        padding-top: 98px; } }

.fr_popover_1 {
  z-index: 100001; }

.header {
  color: #fff;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  position: relative;
  z-index: 1000;
  background: #000; }
  .header > .wrap {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center; }
    .header > .wrap:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 1470px) {
      .header > .wrap {
        padding-left: 15px;
        padding-right: 15px; } }
  .header .logo {
    padding: 15px 0;
    padding: 0.9375rem 0;
    -ms-flex-positive: 1;
        flex-grow: 1;
    text-align: center;
    line-height: 1; }
    @media screen and (min-width: 1024px) {
      .header .logo {
        -ms-flex-positive: 0;
            flex-grow: 0; } }
    .header .logo * {
      vertical-align: top;
      display: block; }
    .header .logo strong {
      display: none; }
    .header .logo h1 {
      margin: 0;
      font-size: 0; }
    .header .logo a {
      display: inline-block; }
      .header .logo a:active {
        transform: scale(0.97); }
    .header .logo img {
      height: 27px; }
  .header .navigation {
    -ms-flex-positive: 1;
        flex-grow: 1;
    text-align: center;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    display: none; }
    @media screen and (min-width: 1024px) {
      .header .navigation {
        display: block;
        height: 58px; } }
    .header .navigation .nav-container, .header .navigation .mb-top-menu {
      height: 100%; }
  .header .quick-access > ul {
    text-align: right;
    list-style: none;
    margin: 0;
    padding: 0;
    white-space: nowrap; }
    .header .quick-access > ul > li {
      display: inline-block; }
    .header .quick-access > ul > li {
      margin: 0 10px;
      margin: 0 0.625rem; }
      @media screen and (min-width: 1024px) {
        .header .quick-access > ul > li > a, .header .quick-access > ul > li > div > a {
          opacity: 0.8;
          -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; } }
      .header .quick-access > ul > li > a:hover, .header .quick-access > ul > li > div > a:hover {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
      .header .quick-access > ul > li:last-child {
        margin-right: 0; }
  .header .quick-access li.store-switcher, .header .quick-access li.search {
    display: none; }
    @media screen and (min-width: 1024px) {
      .header .quick-access li.store-switcher, .header .quick-access li.search {
        display: inline-block; } }
  .header .quick-access .icn, .header .mobile-icons .icn {
    font-size: 18px;
    vertical-align: middle; }
    @media screen and (min-width: 1024px) {
      .header .quick-access .icn, .header .mobile-icons .icn {
        font-size: 16px; } }
  .header p {
    font-family: "Roboto Condensed", sans-serif; }
  .header .quick-access, .header .mobile-icons {
    width: 90px; }
    @media screen and (min-width: 1024px) {
      .header .quick-access, .header .mobile-icons {
        width: auto; } }
  .header .mobile-icons {
    line-height: 1; }
    .header .mobile-icons a {
      display: inline-block;
      vertical-align: middle;
      margin: -7px 0;
      padding: 7px 10px; }
    @media screen and (min-width: 1024px) {
      .header .mobile-icons {
        display: none; } }

.top-tip.jBox-Tooltip .jBox-title {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 12px;
  font-size: 0.75rem;
  text-transform: uppercase;
  padding: 10px 15px;
  padding: 0.625rem 0.9375rem; }

.top-tip.jBox-Tooltip .jBox-content {
  display: none; }

.top-tip.jBox-Tooltip .jBox-pointer-top {
  display: none !important; }

.search-panel {
  position: absolute;
  z-index: 900;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  box-shadow: 0 2px 5px 2px rgba(0, 0, 0, 0.1);
  transform: translate(0, -200px);
  visibility: hidden;
  pointer-events: none;
  transition: 0.3s all linear; }
  body.active-search .search-panel {
    transform: translate(0, 0);
    visibility: visible;
    pointer-events: all; }
  .search-panel .wrap {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .search-panel .wrap:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 1470px) {
      .search-panel .wrap {
        padding-left: 15px;
        padding-right: 15px; } }
  .search-panel .close {
    position: absolute;
    right: 20px;
    right: 1.25rem;
    top: 50%;
    margin: -10px 0 0;
    color: #000;
    font-size: 20px;
    line-height: 1; }
  .search-panel form {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px 0;
    padding: 0.625rem 0; }
  .search-panel label {
    display: none; }
  .search-panel .input-text {
    border: none;
    font-size: 20px;
    font-size: 1.25rem;
    color: #000;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 400;
    padding: 0;
    text-align: center; }
    .search-panel .input-text::-webkit-input-placeholder {
      /* Chrome/Opera/Safari */
      color: #666; }
    .search-panel .input-text::-moz-placeholder {
      /* Firefox 19+ */
      color: #666; }
    .search-panel .input-text:-ms-input-placeholder {
      /* IE 10+ */
      color: #666; }
    .search-panel .input-text:-moz-placeholder {
      /* Firefox 18- */
      color: #666; }

body.active-search a[href="#search"] {
  opacity: 1 !important;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }

.promo-message {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin: 0;
  padding: 10px;
  background: #fff;
  text-transform: uppercase;
  box-shadow: 0 1px 5px 0 rgba(5, 5, 5, 0.25); }
  .promo-message p {
    display: inline;
    text-align: center;
    color: #000;
    line-height: 1.4;
    padding: 0 20px 0 0;
    margin: 0; }
  .promo-message .wrap {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    text-align: center; }
    .promo-message .wrap:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 1470px) {
      .promo-message .wrap {
        padding-left: 15px;
        padding-right: 15px; } }
  .promo-message .close {
    position: absolute;
    top: 50%;
    width: auto;
    right: -10px;
    height: auto;
    margin: -16px 0 0;
    padding: 7px;
    cursor: pointer; }
    .promo-message .close i {
      font-size: 16px;
      vertical-align: top; }

.bag {
  position: relative; }
  .bag .icon-bag {
    background-position: center center !important;
    background-size: 100% 100% !important;
    color: #000;
    display: inline-block;
    width: 26px;
    text-align: center;
    height: 22px;
    line-height: 29px;
    padding: 0 !important;
    text-indent: 1px; }
  .bag .close {
    float: right; }
    .bag .close i.icn {
      font-size: 14px; }
  .bag .block-cart {
    position: fixed;
    background: #fff;
    color: #000;
    width: 80%;
    max-width: 400px;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 9999999999;
    overflow: hidden;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
    .bag .block-cart > div {
      width: 100%; }
    @media screen and (min-width: 768px) {
      .bag .block-cart {
        top: 58px;
        width: 350px; } }
    .bag .block-cart .cart-total-price {
      padding: 0 20px;
      padding: 0 1.25rem; }
      .bag .block-cart .cart-total-price:after {
        clear: both;
        content: "";
        display: block; }
    .bag .block-cart .checkout-types {
      list-style: none;
      margin: 0;
      padding: 0;
      padding: 0 20px 15px;
      padding: 0 1.25rem 0.9375rem; }
      .bag .block-cart .checkout-types li {
        width: 100%;
        margin: 0; }
      .bag .block-cart .checkout-types a {
        display: block;
        text-align: center; }
        .bag .block-cart .checkout-types a.checkout-button {
          margin: 0 0 10px;
          margin: 0 0 0.625rem; }
    .bag .block-cart a {
      color: #000; }
    .bag .block-cart .mini-products-list {
      padding: 15px 0 0;
      padding: 0.9375rem 0 0; }
    .bag .block-cart .item {
      padding: 0 20px 10px;
      padding: 0 1.25rem 0.625rem;
      margin: 0;
      clear: both;
      display: block;
      text-transform: uppercase;
      text-align: left;
      font-size: 15px;
      font-size: 0.9375rem;
      display: -ms-flexbox;
      display: flex;
      white-space: normal; }
      .bag .block-cart .item:after {
        clear: both;
        content: "";
        display: block; }
      .bag .block-cart .item .product-image {
        width: 50%; }
        .bag .block-cart .item .product-image img {
          border: 1px solid #b2b2b2;
          vertical-align: top;
          height: auto;
          width: 100%; }
      .bag .block-cart .item p {
        text-align: left; }
      .bag .block-cart .item .product-details {
        width: 50%;
        position: relative;
        margin: 0 0 0 20px;
        margin: 0 0 0 1.25rem;
        padding: 0 0 55px; }
        .bag .block-cart .item .product-details p {
          margin: 0; }
      .bag .block-cart .item .product-size-attribute, .bag .block-cart .item .info-wrapper {
        color: #666666; }
      .bag .block-cart .item .product-name {
        margin: 0; }
      .bag .block-cart .item .remove {
        display: none; }
      .bag .block-cart .item .hidden {
        display: none !important; }
      .bag .block-cart .item .cart-qty-container {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0; }
        .bag .block-cart .item .cart-qty-container label {
          color: #000; }
        .bag .block-cart .item .cart-qty-container input {
          float: left;
          display: block;
          margin-right: 2px;
          width: 30px;
          text-align: center;
          height: auto;
          line-height: 0;
          max-height: 28px;
          vertical-align: top;
          margin-top: 0;
          padding: 0;
          height: 28px;
          font-size: 12px;
          font-size: 0.75rem;
          cursor: default; }
        .bag .block-cart .item .cart-qty-container a.btn-qty {
          display: block;
          position: relative;
          width: 26px;
          height: 28px;
          border: 1px solid #eee;
          padding: 0;
          margin: 0;
          line-height: 26px;
          float: left;
          margin-right: 2px;
          color: #b2b2b2;
          vertical-align: top;
          font-size: 14px;
          text-align: center;
          -webkit-font-smoothing: none;
          font-family: Arial !important;
          font-weight: 700; }
          .bag .block-cart .item .cart-qty-container a.btn-qty:hover {
            background: #000;
            border-color: #000 !important;
            color: #fff; }
        .bag .block-cart .item .cart-qty-container a.btn-qty-active {
          border: 1px solid #ccc;
          color: #000; }
        .bag .block-cart .item .cart-qty-container a.btn-qty-disabled {
          cursor: not-allowed; }

.mini-products-list {
  height: 60vh;
  overflow: auto;
  width: 100%;
  position: relative; }
  .mini-products-list .more {
    text-align: center;
    padding: 0 0 20px;
    font-weight: 700; }
    .mini-products-list .more a {
      opacity: 0.5;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
      .mini-products-list .more a:hover {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  .mini-products-list .update-qty-outer {
    display: none;
    padding: 5px 0 0;
    text-align: left;
    position: absolute;
    right: 100%;
    bottom: 0;
    margin: 0 20px 0 0;
    margin: 0 1.25rem 0 0; }
    .mini-products-list .update-qty-outer button.btn-update {
      padding: 7px 7px;
      display: block;
      width: 100%;
      float: none;
      font-weight: bold;
      background-color: #fff; }
      .mini-products-list .update-qty-outer button.btn-update:hover {
        background-color: #000;
        color: #fff; }
      .mini-products-list .update-qty-outer button.btn-update span {
        font-size: 10px;
        display: block; }

.minicart-bottom {
  position: relative; }
  .minicart-bottom:after {
    content: '';
    position: absolute;
    bottom: 100%;
    right: 0;
    left: 0;
    background: #fff;
    z-index: 1;
    height: 2px;
    height: 0.125rem; }

#header-cart {
  transform: translate(100%, 0);
  transition: 0.3s all ease-out;
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95); }

body.active-bag {
  overflow: hidden; }
  body.active-bag #header-cart-trigger {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  body.active-bag #header-cart {
    transform: translate(0, 0); }

.cms-home .feature-block.hero .bg {
  display: none; }
  @media screen and (min-width: 768px) {
    .cms-home .feature-block.hero .bg {
      display: block; } }

.cms-home .feature-block.hero .bg-mob {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (min-width: 768px) {
    .cms-home .feature-block.hero .bg-mob {
      display: none; } }

.feature-block {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding: 100px 0;
  padding: 6.25rem 0;
  background: #000;
  cursor: pointer; }
  @media screen and (min-width: 1024px) {
    .feature-block {
      height: 78vh;
      min-height: 37.5rem;
      padding: 0; } }
  .feature-block.hero {
    height: calc(80vh - 53px); }
    @media screen and (min-width: 1024px) {
      .feature-block.hero {
        height: calc(100vh - 58px);
        min-height: 37.5rem; } }
    .feature-block.hero .bg {
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
      @media screen and (min-width: 1024px) {
        .feature-block.hero .bg {
          background-attachment: fixed; } }
  .feature-block .bg, .feature-block .video-wrap {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-size: cover;
    opacity: 0.6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
    transition: 0.2s all ease-out, 0s transform linear; }
    @media screen and (min-width: 1024px) {
      .feature-block .bg, .feature-block .video-wrap {
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; } }
  .feature-block .wrap {
    width: 100%;
    position: relative;
    -ms-flex-item-align: center;
        align-self: center;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    display: -ms-flexbox;
    display: flex; }
    .feature-block .wrap:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 1470px) {
      .feature-block .wrap {
        padding-left: 15px;
        padding-right: 15px; } }
    @media screen and (min-width: 768px) {
      .feature-block .wrap {
        padding-left: 1.875rem;
        padding-right: 1.875rem; } }
    .feature-block .wrap .content {
      -ms-flex-item-align: center;
          -ms-grid-row-align: center;
          align-self: center; }
  .feature-block.left .wrap {
    -ms-flex-pack: start;
        justify-content: flex-start; }
  .feature-block.right .wrap {
    -ms-flex-pack: end;
        justify-content: flex-end; }
  .feature-block.center .wrap {
    -ms-flex-pack: center;
        justify-content: center; }
  .feature-block.narrow .content {
    max-width: 300px;
    max-width: 18.75rem; }
  .feature-block .title h2, .feature-block .title h1 {
    font-family: "Miso", sans-serif;
    margin: 0;
    line-height: 1;
    font-weight: normal; }
  .feature-block .title h1 {
    font-size: 70px;
    font-size: 4.375rem; }
    @media screen and (min-width: 1024px) {
      .feature-block .title h1 {
        font-size: 5.625rem; } }
  .feature-block .title h2 {
    font-size: 80px;
    font-size: 5rem; }
    @media screen and (min-width: 1024px) {
      .feature-block .title h2 {
        font-size: 6.25rem; } }
  .feature-block .desc {
    font-family: 'Roboto', sans-serif;
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 15px 0 20px;
    padding: 0.9375rem 0 1.25rem;
    line-height: 1.4; }
    @media screen and (min-width: 1024px) {
      .feature-block .desc {
        padding: 1.875rem 0 1.25rem; } }
    .feature-block .desc.bold {
      font-family: "Roboto Condensed", sans-serif;
      font-weight: 400;
      font-size: 18px;
      font-size: 1.125rem; }
  .feature-block div.price {
    display: inline-block;
    font-size: 31px;
    font-size: 1.9375rem;
    vertical-align: middle;
    padding: 0 15px 0 0;
    padding: 0 0.9375rem 0 0; }
  .feature-block .button {
    display: inline-block; }
    .feature-block .button:hover {
      transform: translate(0, -0.1875rem);
      box-shadow: 1px 2px 0 rgba(0, 0, 0, 0.1); }
  .feature-block.video {
    cursor: pointer; }
    .feature-block.video .wrap {
      pointer-events: none;
      text-shadow: 0 1px 5px rgba(0, 0, 0, 0.3); }
      .feature-block.video .wrap a {
        pointer-events: all; }
    .feature-block.video .wrap, .feature-block.video .mouse-downicn {
      transition: 0.2s all ease-in; }
    .feature-block.video.player-playing .video-wrap {
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
    .feature-block.video.player-playing .wrap, .feature-block.video.player-playing .mouse-downicn {
      opacity: 0;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
    .feature-block.video.player-playing .mouse-downicn {
      display: none; }
  .feature-block .indicator {
    position: absolute;
    bottom: 20px;
    left: 0;
    right: 0;
    transition: 0.2s all ease-out;
    pointer-events: none; }
    .active-cookie .feature-block .indicator {
      bottom: 50px; }

.mouse-downicn {
  border: 2px solid #fff;
  border-radius: 10px;
  bottom: 0;
  display: block;
  height: 36px;
  left: 50%;
  margin: 0 auto 0 -18px;
  position: absolute;
  width: 22px;
  transform: translate(0, 100px);
  animation-duration: 1s;
  animation-iteration-count: once;
  animation-name: moveinup;
  animation-fill-mode: both;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.2);
  display: none; }
  @media screen and (min-width: 768px) {
    .mouse-downicn {
      display: block; } }
  .mouse-downicn span {
    animation-duration: 1.3s;
    animation-fill-mode: both;
    animation-iteration-count: infinite;
    animation-name: scrolldown;
    background: none repeat scroll 0 0 #fff;
    border: 1px solid transparent;
    border-radius: 4px;
    display: block;
    height: 4px;
    margin: 6px auto;
    width: 4px;
    box-shadow: 0 1px 0px rgba(0, 0, 0, 0.3); }

@keyframes scrolldown {
  0% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transform: translateY(0px); }
  30% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  95% {
    transform: translateY(10px); }
  100% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    transform: translateY(10px); } }

@keyframes moveinup {
  0% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    transform: translate(0, 100px); }
  80% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transform: translate(0, -3px); }
  100% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transform: translate(0, 0); } }

.block-new-in .title {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  padding: 30px 0;
  padding: 1.875rem 0; }
  .block-new-in .title:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .block-new-in .title {
      padding-left: 15px;
      padding-right: 15px; } }
  .block-new-in .title h2 {
    margin: 0;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 400;
    font-size: 31px;
    font-size: 1.9375rem;
    -ms-flex-positive: 1;
        flex-grow: 1; }
  .block-new-in .title a {
    float: right;
    border-width: 1px;
    border-color: #cccccc; }
    .block-new-in .title a:hover {
      border-color: transparent; }

.block-new-in .slider {
  background: #f2f2f2; }

.featrange-block {
  background: #f2f2f2;
  position: relative; }
  .featrange-block:after {
    content: '';
    pointer-events: none;
    height: 100px;
    height: 6.25rem;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    z-index: 0;
    display: none; }
    @media screen and (min-width: 768px) {
      .featrange-block:after {
        display: block; } }
  .featrange-block > .wrap {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1; }
    .featrange-block > .wrap:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 1470px) {
      .featrange-block > .wrap {
        padding-left: 15px;
        padding-right: 15px; } }
  .featrange-block .content {
    padding: 50px 0 0;
    padding: 3.125rem 0 0; }
    @media screen and (min-width: 768px) {
      .featrange-block .content {
        padding: 0;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
        -ms-flex-align: stretch;
            align-items: stretch; } }
    .featrange-block .content > .left {
      display: none; }
      @media screen and (min-width: 768px) {
        .featrange-block .content > .left {
          display: block; } }
    @media screen and (min-width: 768px) {
      .featrange-block .content > .left, .featrange-block .content > .right {
        width: 50%; } }
    .featrange-block .content > .right {
      text-align: center;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-item-align: center;
          align-self: center;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (min-width: 1024px) {
        .featrange-block .content > .right {
          -ms-flex-item-align: inherit;
              -ms-grid-row-align: inherit;
              align-self: inherit; } }
      .featrange-block .content > .right > div {
        width: 100%; }
  .featrange-block a {
    color: #1a1a1a; }
  .featrange-block .info h3 {
    margin: 0;
    text-transform: uppercase;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 400;
    font-size: 18px;
    font-size: 1.125rem; }
  .featrange-block .feature:hover .image {
    transform: scale(1.05); }
  .featrange-block .feature .image {
    max-width: 530px;
    max-width: 33.125rem;
    margin: auto;
    transition: 0.4s all ease-out; }
    .featrange-block .feature .image img {
      margin: 30px 0 0;
      margin: 1.875rem 0 0;
      pointer-events: none; }
  .featrange-block .feature .info {
    padding: 0 0 22px;
    padding: 0 0 1.375rem;
    display: none; }
    @media screen and (min-width: 768px) {
      .featrange-block .feature .info {
        display: block; } }
  @media screen and (min-width: 768px) {
    .featrange-block.enlarged .feature .image img {
      margin: -3.75rem auto; }
    .featrange-block.enlarged .feature:hover .image {
      transform: scale(1.03); } }
  @media screen and (min-width: 768px) {
    .featrange-block .copy > .title {
      margin: 6.25rem 0 0; } }
  .featrange-block .copy > .title h2 {
    font-family: "Miso", sans-serif;
    font-size: 80px;
    font-size: 5rem;
    font-weight: normal;
    line-height: 1;
    margin: 0 0 30px;
    margin: 0 0 1.875rem; }
    @media screen and (min-width: 1024px) {
      .featrange-block .copy > .title h2 {
        font-size: 6.25rem; } }
  .featrange-block .copy .desc {
    max-width: 420px;
    max-width: 26.25rem;
    margin: 0 auto; }
    .featrange-block .copy .desc p {
      color: #666666;
      margin: 0 0 40px;
      margin: 0 0 2.5rem; }
    .featrange-block .copy .desc a {
      display: inline-block; }
      .featrange-block .copy .desc a:hover {
        transform: translate(0, -0.1875rem); }
  .featrange-block .copy .button {
    display: inline-block; }
  .featrange-block .range {
    display: none;
    padding: 0 30px 22px;
    padding: 0 1.875rem 1.375rem;
    margin: 0; }
    @media screen and (min-width: 1024px) {
      .featrange-block .range {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-item-align: end;
            align-self: flex-end; } }
    .featrange-block .range .product {
      padding: 0 10px;
      padding: 0 0.625rem;
      width: 33.33%; }
      .featrange-block .range .product .image {
        padding: 0 20px;
        padding: 0 1.25rem;
        transition: 0.5s all ease-out;
        transform: scale(0.9) translate(0, 0);
        position: relative;
        top: 50px; }
      .featrange-block .range .product .info {
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        transition: 0.4s all ease-out;
        transform: translate(0, 20px); }
      .featrange-block .range .product:hover .image {
        transform: translate(0, -50px); }
      .featrange-block .range .product:hover .info {
        transform: none;
        opacity: 1;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  .featrange-block .mobile-img {
    display: block;
    margin: -100px -15px 0;
    margin: -6.25rem -15px 0;
    position: relative;
    z-index: -1;
    pointer-events: none; }
    @media screen and (min-width: 768px) {
      .featrange-block .mobile-img {
        display: none; } }
    .featrange-block .mobile-img img {
      vertical-align: top;
      width: 100%; }

.homepromo-block .content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 768px) {
    .homepromo-block .content {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  .homepromo-block .content > div {
    position: relative;
    overflow: hidden; }

.homepromo-block .left, .homepromo-block .right {
  width: 50%; }
  .homepromo-block .left > div, .homepromo-block .right > div {
    width: 100%; }

.homepromo-block .bg {
  pointer-events: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 0;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover; }

.homepromo-block .inner {
  position: relative;
  z-index: 1;
  margin: 0 auto !important;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
  max-width: 720px;
  width: 100%; }

.homepromo-block .left .inner {
  margin: 0 0 0 auto; }

.homepromo-block .right .inner {
  margin: 0 auto 0 0; }

.homepromo-block h3 {
  font-family: "Miso", sans-serif;
  font-weight: normal;
  margin: 0;
  line-height: 0.9;
  text-transform: uppercase; }
  .homepromo-block h3.small {
    font-size: 46px;
    font-size: 2.875rem; }
  .homepromo-block h3.medium {
    font-size: 72px;
    font-size: 4.5rem; }
  .homepromo-block h3.large {
    font-size: 100px;
    font-size: 6.25rem; }

.homepromo-block .info {
  -ms-flex-positive: 2;
      flex-grow: 2;
  min-height: 80px; }

.homepromo-block .desc {
  text-transform: uppercase;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem; }

.homepromo-block img {
  vertical-align: top; }

.homepromo-block div.price {
  height: 60px; }

.homepromo-block .cta-wrap {
  height: 60px; }

.homepromo-block .button {
  display: inline-block;
  vertical-align: top;
  margin: 10px 0 0;
  margin: 0.625rem 0 0; }
  .homepromo-block .button:hover {
    transform: translate(0, -0.1875rem); }

.homepromo-block.bb .inner {
  padding: 30px 0 0;
  padding: 1.875rem 0 0; }

.homepromo-block.bb h3 {
  max-width: 200px;
  max-width: 12.5rem; }

.homepromo-block.bb .pimage {
  width: 50%;
  margin-left: -10%; }
  .homepromo-block.bb .pimage img {
    width: 100%; }

.homepromo-block.bb .info {
  width: 60%;
  padding: 0 0 70px 12%;
  padding: 0 0 4.375rem 12%; }

.homepromo-block.bb .desc {
  padding: 80px 0 0;
  padding: 5rem 0 0; }

.homepromo-block.bb .left, .homepromo-block.bb .right {
  width: 100%; }
  @media screen and (min-width: 768px) {
    .homepromo-block.bb .left, .homepromo-block.bb .right {
      width: 50%; } }

.homepromo-block.mss .wrap > .content > .left {
  width: 100%; }
  @media screen and (min-width: 1024px) {
    .homepromo-block.mss .wrap > .content > .left {
      width: 50%; } }
  .homepromo-block.mss .wrap > .content > .left .info {
    -ms-flex-positive: 0;
        flex-grow: 0;
    width: 80%;
    padding: 0 0 20px 12%;
    padding: 0 0 1.25rem 12%; }
  .homepromo-block.mss .wrap > .content > .left .bg {
    background-position: right top;
    background-size: auto 100%;
    transition: 0.4s all ease-out;
    transform-origin: right; }
  @media screen and (min-width: 1024px) {
    .homepromo-block.mss .wrap > .content > .left .desc {
      padding: 5rem 0 0; } }
  .homepromo-block.mss .wrap > .content > .left .pblock:hover .bg {
    transform: scale(1.05); }

.homepromo-block.mss .wrap > .content > .right {
  width: 100%; }
  @media screen and (min-width: 1024px) {
    .homepromo-block.mss .wrap > .content > .right {
      width: 50%; } }
  .homepromo-block.mss .wrap > .content > .right .bg {
    background-position: left top; }
  .homepromo-block.mss .wrap > .content > .right .right {
    -ms-flex-positive: 1;
        flex-grow: 1; }
  .homepromo-block.mss .wrap > .content > .right .inner {
    -ms-flex-wrap: wrap-reverse;
        flex-wrap: wrap-reverse; }
  .homepromo-block.mss .wrap > .content > .right .pimage {
    width: 100%;
    text-align: center;
    padding: 10px 0 0;
    padding: 0.625rem 0 0; }
  .homepromo-block.mss .wrap > .content > .right .info {
    width: 100%;
    padding: 0 30px 20px;
    padding: 0 1.875rem 1.25rem; }

.pblock {
  cursor: pointer; }
  @media screen and (min-width: 1024px) {
    .pblock {
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      -ms-flex-align: end;
          align-items: flex-end; } }
  .pblock:hover .pimage {
    transform: scale(1.05); }
  .pblock .pimage {
    transition: 0.4s all ease-out; }
  .pblock .bg {
    display: none; }
    @media screen and (min-width: 1024px) {
      .pblock .bg {
        display: block; } }
  .pblock .inner {
    display: none; }
    @media screen and (min-width: 1024px) {
      .pblock .inner {
        display: -ms-flexbox;
        display: flex; } }
  @media screen and (min-width: 1024px) {
    .pblock .mimage {
      display: none; } }
  .pblock .mimage img {
    width: 100%;
    vertical-align: top; }

.instagram-feed ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: -ms-flexbox;
  display: flex; }

.instagram-feed img {
  vertical-align: top;
  width: auto;
  height: auto; }

.instagram-feed .button {
  display: inline-block; }
  .instagram-feed .button:hover {
    color: #000; }

.instagram-feed .home-feed {
  background: #000 url("https://www.nipandfab.com/skin/frontend/nipandfab/default/img/insta_bg.jpg") center top no-repeat;
  background-size: contain;
  padding: 50px 0 0;
  padding: 3.125rem 0 0;
  position: relative;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .instagram-feed .home-feed {
      background-position: center left;
      padding: 7.5rem 0;
      background-size: auto 100%;
      text-align: left; } }
  .instagram-feed .home-feed > .wrap {
    position: relative;
    z-index: 1; }
    @media screen and (min-width: 768px) {
      .instagram-feed .home-feed > .wrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center; } }
  .instagram-feed .home-feed a {
    color: #fff; }
  .instagram-feed .home-feed .copy {
    color: #fff;
    padding: 0 0 50px;
    padding: 0 0 3.125rem; }
    @media screen and (min-width: 768px) {
      .instagram-feed .home-feed .copy {
        width: 40%;
        padding: 0 0 0 5%; } }
    @media screen and (min-width: 1024px) {
      .instagram-feed .home-feed .copy {
        padding: 0 0 0 10%; } }
  .instagram-feed .home-feed:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 0;
    pointer-events: none;
    background: #fff;
    width: 25%;
    display: none; }
    @media screen and (min-width: 768px) {
      .instagram-feed .home-feed:after {
        display: block; } }
  .instagram-feed .home-feed .hashtag {
    font-family: "Miso", sans-serif;
    font-size: 60px;
    font-size: 3.75rem; }
    @media screen and (min-width: 1024px) {
      .instagram-feed .home-feed .hashtag {
        font-size: 4.5rem; } }
    .instagram-feed .home-feed .hashtag a {
      color: #f54a36; }
  .instagram-feed .home-feed .link {
    font-family: 'Roboto', sans-serif;
    font-size: 24px;
    font-size: 1.5rem; }
    @media screen and (min-width: 768px) {
      .instagram-feed .home-feed .link {
        font-size: 1.9375rem; } }
    .instagram-feed .home-feed .link i {
      vertical-align: middle; }
  @media screen and (min-width: 768px) {
    .instagram-feed .home-feed .pics {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      width: 60%; } }
  .instagram-feed .home-feed .pics li {
    display: -ms-flexbox;
    display: flex;
    width: 25%;
    cursor: pointer; }
    .instagram-feed .home-feed .pics li.x2 {
      width: 50%; }
    .instagram-feed .home-feed .pics li a {
      display: block;
      width: 100%; }
  .instagram-feed .home-feed .pics img {
    width: 100%; }

.instagram-feed .mini-feed {
  background: #f2f2f2;
  text-align: center;
  padding: 50px 0 0;
  padding: 3.125rem 0 0; }
  .instagram-feed .mini-feed .top {
    padding: 0 0 50px;
    padding: 0 0 3.125rem;
    position: relative;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto; }
    .instagram-feed .mini-feed .top:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 1470px) {
      .instagram-feed .mini-feed .top {
        padding-left: 15px;
        padding-right: 15px; } }
    .instagram-feed .mini-feed .top .wrap {
      position: relative; }
  .instagram-feed .mini-feed .title {
    text-transform: uppercase;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 24px;
    font-size: 1.5rem; }
    @media screen and (min-width: 768px) {
      .instagram-feed .mini-feed .title {
        font-size: 1.9375rem; } }
    .instagram-feed .mini-feed .title a {
      color: #000; }
  .instagram-feed .mini-feed .link {
    right: 0;
    top: 5px;
    top: 0.3125rem;
    text-transform: uppercase;
    font-family: "Miso", sans-serif;
    font-weight: 600;
    font-size: 16px;
    font-size: 1rem;
    position: static; }
    @media screen and (min-width: 768px) {
      .instagram-feed .mini-feed .link {
        font-size: 1.125rem;
        position: absolute; } }
    .instagram-feed .mini-feed .link a {
      color: #f54a36; }
  .instagram-feed .mini-feed .pics {
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (min-width: 768px) {
      .instagram-feed .mini-feed .pics {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
    .instagram-feed .mini-feed .pics li {
      width: 33.33%; }
      @media screen and (min-width: 768px) {
        .instagram-feed .mini-feed .pics li {
          width: 20%; } }
    .instagram-feed .mini-feed .pics a {
      display: block; }
    .instagram-feed .mini-feed .pics li:nth-child(2n) img {
      width: 70%; }

.instagram-feed .pics a {
  transition: 0.14s all ease-out; }

.instagram-feed .pics:hover a {
  filter: url('https://www.nipandfab.com/skin/frontend/nipandfab/default/css/data:image/svg+xml;charset=utf-8,<sv')xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0.9" intercept="0.04999999999999999" /><feFuncG type="linear" slope="0.9" intercept="0.04999999999999999" /><feFuncB type="linear" slope="0.9" intercept="0.04999999999999999" /></feComponentTransfer><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.5278 0.429 0.043199999999999995 0 0 0.1278 0.833 0.043199999999999995 0 0 0.1278 0.429 0.44320000000000004 0 0 0 0 0 1 0" /></filter></svg>#filter');
  filter: contrast(0.9) saturate(0.4); }
  .instagram-feed .pics:hover a:hover {
    filter: none; }

img {
  max-width: 100%; }

img.lazyload {
  min-height: 24px;
  min-width: 24px;
  background: url(https://www.nipandfab.com/skin/frontend/nipandfab/default/img/loading.gif) center center no-repeat; }

#nav {
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1;
  height: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }
  #nav li, #nav ul {
    list-style: none;
    padding: 0;
    margin: 0; }
  #nav > li {
    -ms-flex-item-align: stretch;
        align-self: stretch;
    display: -ms-flexbox;
    display: flex; }
    #nav > li > a {
      padding: 0 10px;
      padding: 0 0.625rem;
      -ms-flex-item-align: stretch;
          align-self: stretch;
      display: -ms-flexbox;
      display: flex;
      position: relative;
      z-index: 0;
      transition: none; }
      @media screen and (min-width: 1024px) {
        #nav > li > a {
          padding: 0 0.9375rem; } }
      @media screen and (min-width: 1320px) {
        #nav > li > a {
          padding: 0 1.25rem; } }
      #nav > li > a:hover, #nav > li > a.over {
        background-color: #f2f2f2;
        color: #000; }
      #nav > li > a span {
        display: block;
        -ms-flex-item-align: center;
            -ms-grid-row-align: center;
            align-self: center; }
      #nav > li > a:after, #nav > li > a:before {
        content: '';
        width: 27px;
        height: 15px;
        position: absolute;
        bottom: 0; }
      #nav > li > a:after {
        left: 100%; }
      #nav > li > a:before {
        right: 100%; }
      #nav > li > a:hover {
        z-index: 1; }
  #nav .dd-container {
    position: absolute;
    background-color: #f2f2f2;
    top: 100%;
    left: 0;
    right: 0;
    color: #000;
    display: none; }
    #nav .dd-container a {
      color: #000; }
    #nav .dd-container.shown-sub {
      z-index: 1;
      display: block; }
    #nav .dd-container.no-submenus .dd-container-inner {
      -ms-flex-pack: center;
          justify-content: center; }
    #nav .dd-container.no-submenus .navblock {
      margin: 0 20px;
      margin: 0 1.25rem; }
  #nav .dd-container-inner {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    display: -ms-flexbox;
    display: flex;
    text-align: left;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 50px 0 30px;
    padding: 3.125rem 0 1.875rem; }
    #nav .dd-container-inner:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 1470px) {
      #nav .dd-container-inner {
        padding-left: 15px;
        padding-right: 15px; } }
    #nav .dd-container-inner > ul {
      -ms-flex-positive: 1;
          flex-grow: 1;
      -ms-flex-item-align: start;
          align-self: flex-start; }
      #nav .dd-container-inner > ul a {
        padding: 10px 0;
        padding: 0.625rem 0;
        display: block;
        margin-right: 30px;
        margin-right: 1.875rem;
        transform-origin: left center; }
        #nav .dd-container-inner > ul a:hover {
          transform: scale(1.1); }
      #nav .dd-container-inner > ul li {
        display: block;
        padding: 0;
        border-right: 1px solid #d9d9d9; }
        #nav .dd-container-inner > ul li.level1.parent {
          font-size: 18px;
          font-size: 1.125rem;
          font-family: "Roboto Condensed", sans-serif;
          font-weight: 700; }
          #nav .dd-container-inner > ul li.level1.parent a {
            pointer-events: none; }
            @media screen and (min-width: 1024px) {
              #nav .dd-container-inner > ul li.level1.parent a {
                pointer-events: all; } }
      #nav .dd-container-inner > ul .column {
        width: 22%;
        margin: 0 4% 0 0;
        float: left; }
        #nav .dd-container-inner > ul .column:nth-child(4n) {
          margin: 0; }
          #nav .dd-container-inner > ul .column:nth-child(4n) li {
            border: none; }
    #nav .dd-container-inner .navblock {
      text-align: center; }
      #nav .dd-container-inner .navblock a img {
        transform: scale(0.99);
        transition: 0.1s all ease-out; }
      #nav .dd-container-inner .navblock a:hover img {
        transform: scale(1); }
    #nav .dd-container-inner.cols-1 > ul .column {
      width: 40%; }
      #nav .dd-container-inner.cols-1 > ul .column:nth-child(1n) {
        margin: 0; }
        #nav .dd-container-inner.cols-1 > ul .column:nth-child(1n) li {
          border: none; }
    #nav .dd-container-inner.cols-2 > ul .column {
      width: 40%; }
      #nav .dd-container-inner.cols-2 > ul .column:nth-child(2n) {
        margin: 0; }
        #nav .dd-container-inner.cols-2 > ul .column:nth-child(2n) li {
          border: none; }
    #nav .dd-container-inner.cols-3 > ul .column {
      width: 30%; }
      #nav .dd-container-inner.cols-3 > ul .column:nth-child(3n) {
        margin: 0; }
        #nav .dd-container-inner.cols-3 > ul .column:nth-child(3n) li {
          border: none; }

.nav-bg {
  background: #f2f2f2;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  transition: 0.2s all ease-out;
  height: 0;
  visibility: hidden;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  pointer-events: none; }
  body.active-nav .nav-bg {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible; }

.header .mobile-icons .menu-icon {
  margin-left: -7px; }

.menu-icon i {
  width: 27px;
  height: 2px;
  background: #fff;
  display: block;
  margin: 6px 0;
  transition: 0.3s all ease-in-out; }

.active-mobilenav .menu-icon .l1 {
  transform: rotate(45deg) translate(6px, 5px);
  transform: rotateZ(45deg) translate3d(6px, 5px, 0); }

.active-mobilenav .menu-icon .l2 {
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transform: scale(0);
  transform: scale3d(0, 0, 1); }

.active-mobilenav .menu-icon .l3 {
  transform: rotate(-45deg) translate(6px, -5px);
  transform: rotateZ(-45deg) translate3d(6px, -5px, 0); }

.mobile-nav {
  display: block;
  background: #f2f2f2;
  color: #000;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  text-transform: uppercase;
  visibility: hidden;
  transform: translate(0, -103%) scale(1.05);
  transform: translate3d(0, -103%, 0) scale3d(1.05, 1.05, 1);
  transition: 0.3s all ease-in-out;
  max-height: calc(100vh - 58px);
  overflow: auto; }
  .active-mobilenav .mobile-nav {
    visibility: visible;
    transform: translate(0, 0) scale(1);
    transform: translate3d(0, 0, 0) scale3d(1, 1, 1); }
  @media screen and (min-width: 1024px) {
    .mobile-nav {
      display: none; } }
  .mobile-nav ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  .mobile-nav a {
    color: #000; }
  .mobile-nav > ul {
    padding: 15px 30px;
    padding: 0.9375rem 1.875rem; }
    .mobile-nav > ul > .top-level {
      border-bottom: 1px solid #cccccc;
      padding: 5px 0;
      padding: 0.3125rem 0; }
      .mobile-nav > ul > .top-level:last-child {
        border: 0; }
  .mobile-nav li.active > .head i:before {
    transform: rotateZ(-180deg); }
  .mobile-nav .head {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
    .mobile-nav .head a {
      display: inline-block;
      padding: 10px 15px;
      padding: 0.625rem 0.9375rem;
      margin-left: -15px;
      margin-left: -0.9375rem;
      font-size: 17px;
      font-size: 1.0625rem;
      font-family: "Roboto Condensed", sans-serif;
      font-weight: 700; }
    .mobile-nav .head i {
      float: right;
      -ms-flex-positive: 1;
          flex-grow: 1;
      text-align: right;
      cursor: pointer;
      font-size: 12px;
      padding: 10px 0;
      padding: 0.625rem 0; }
      .mobile-nav .head i:before {
        display: inline-block;
        transition: 0.2s all ease-in-out; }
    .mobile-nav .head .head a {
      font-size: 15px;
      font-size: 0.9375rem; }
  .mobile-nav li.sw ul .selected {
    color: #b2b2b2;
    pointer-events: none; }

ul.mobile-drop {
  display: none;
  padding: 0 0 15px;
  padding: 0 0 0.9375rem; }
  ul.mobile-drop li {
    padding: 7px 0;
    padding: 0.4375rem 0; }
    ul.mobile-drop li.sub-level {
      border-top: 1px solid #cccccc;
      padding-left: 15px;
      padding-left: 0.9375rem; }
  ul.mobile-drop a {
    font-size: 14px;
    font-size: 0.875rem; }

.active-mobilenav {
  overflow: hidden; }

.page-title {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  text-align: center; }
  .page-title:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .page-title {
      padding-left: 15px;
      padding-right: 15px; } }
  .page-title h1 {
    text-transform: uppercase;
    padding: 30px 0;
    padding: 1.875rem 0;
    border-bottom: 1px solid #cccccc;
    font-weight: 500; }

.col2-set {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  display: -ms-flexbox;
  display: flex; }
  .col2-set:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .col2-set {
      padding-left: 15px;
      padding-right: 15px; } }
  .col2-set.info-set {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .col2-set > .col-1, .col2-set > .col-2 {
    width: 100%; }
    @media screen and (min-width: 1024px) {
      .col2-set > .col-1, .col2-set > .col-2 {
        width: 50%; } }

.cat-hero {
  position: relative;
  color: #000;
  padding: 50px 0;
  padding: 3.125rem 0; }
  .cat-hero .bg, .cat-hero .bg-mob {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;
    pointer-events: none; }
  .cat-hero .bg {
    display: none; }
    @media screen and (min-width: 1024px) {
      .cat-hero .bg {
        display: block; } }
  .cat-hero .bg-mob {
    display: block; }
    @media screen and (min-width: 1024px) {
      .cat-hero .bg-mob {
        display: none; } }
  .cat-hero .content {
    position: relative;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto; }
    .cat-hero .content:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 1470px) {
      .cat-hero .content {
        padding-left: 15px;
        padding-right: 15px; } }
    @media screen and (min-width: 768px) {
      .cat-hero .content {
        padding-left: 1.875rem;
        padding-right: 1.875rem; } }
  .cat-hero h1 {
    font-family: "Miso", sans-serif;
    margin: 0;
    line-height: 1;
    font-weight: normal;
    text-transform: uppercase;
    font-size: 70px;
    font-size: 4.375rem; }
    @media screen and (min-width: 1024px) {
      .cat-hero h1 {
        font-size: 5.625rem; } }
  .cat-hero p {
    margin: 30px 0 0;
    margin: 1.875rem 0 0;
    max-width: 400px;
    max-width: 25rem;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 400;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.4; }

.p-list .product {
  background: #f2f2f2;
  text-align: center;
  text-transform: uppercase;
  overflow: hidden;
  transition: 0.5s background-color linear;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch; }
  .p-list .product > .inner {
    border: 1px solid #fff;
    position: relative;
    width: 100%;
    height: 100%; }
  .p-list .product .image {
    transition: 0.6s all ease-out;
    will-change: transform;
    position: relative;
    z-index: 9;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    height: 100%; }
    .p-list .product .image a {
      display: block;
      height: 100%;
      padding: 0 0 80px;
      width: 100%;
      box-sizing: border-box; }
      @media screen and (min-width: 768px) {
        .p-list .product .image a {
          padding: 0 0 95px; } }
      @media screen and (min-width: 1024px) {
        .p-list .product .image a {
          padding: 0 0 115px; } }
    .p-list .product .image img {
      margin: auto;
      max-height: 100%; }
  .p-list .product.g2x2 .image a {
    padding: 0 0 40px; }
    @media screen and (min-width: 768px) {
      .p-list .product.g2x2 .image a {
        padding: 0 0 75px; } }
    @media screen and (min-width: 1024px) {
      .p-list .product.g2x2 .image a {
        padding: 0 0 70px; } }
  .p-list .product .desc {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    margin: 0 15px 10px;
    margin: 0 0.9375rem 0.625rem;
    text-align: left;
    transition: 0.4s all ease-out; }
    @media screen and (min-width: 768px) {
      .p-list .product .desc {
        margin: 0 1.875rem 0.9375rem; } }
    .p-list .product .desc p {
      margin: 0;
      padding: 0; }
  .p-list .product h3 {
    margin: 0;
    font-size: 18px;
    font-size: 1.125rem;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 400; }
  .p-list .product .info a {
    color: #000; }
  .p-list .product .buy, .p-list .product .sold-out {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    transition: 0.5s all ease-out;
    transform: translate(0, 25px); }
    .p-list .product .buy a, .p-list .product .sold-out a {
      display: inline-block;
      vertical-align: top; }
      .p-list .product .buy a:hover, .p-list .product .sold-out a:hover {
        background-color: transparent; }
  .p-list .product div.price {
    padding: 3px 0 5px;
    padding: 0.1875rem 0 0.3125rem; }
    .p-list .product div.price .worth {
      width: auto;
      padding: 0 0 0 10px;
      padding: 0 0 0 0.625rem; }
    .p-list .product div.price .worth, .p-list .product div.price .worth .label {
      display: inline-block;
      vertical-align: middle; }
  .p-list .product .sold-out {
    display: inline-block;
    right: auto; }
  .p-list .product:hover {
    background-color: #e5e5e5; }
    .p-list .product:hover .desc {
      transform: translate(0, -30px); }
    .p-list .product:hover .buy, .p-list .product:hover .sold-out {
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      transform: translate(0, 0); }
  .p-list .product:hover .image {
    transform: translate(0, 7px) scale(1.03); }

.p-list.grid {
  margin: 0;
  padding: 0;
  border-bottom: 20px solid #fff;
  border-bottom: 1.25rem solid #fff; }
  @media screen and (min-width: 1024px) {
    .p-list.grid {
      border-width: 5.625rem; } }
  .p-list.grid .product {
    float: left; }
  .p-list.grid .promo {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: stretch;
        align-items: stretch;
    position: relative;
    cursor: pointer;
    z-index: 100;
    transition: 0.5s box-shadow ease-out; }
    .p-list.grid .promo:hover {
      box-shadow: 0 5px 15px 7px rgba(0, 0, 0, 0.2);
      z-index: 101; }
      .p-list.grid .promo:hover .bg {
        transform: scale(1.02); }
    .p-list.grid .promo .bg {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      background-size: cover;
      z-index: 1;
      transition: 0.5s all ease-out; }
    .p-list.grid .promo .wrap {
      position: relative;
      z-index: 2;
      width: 100%;
      padding: 40px;
      padding: 2.5rem;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
          align-items: flex-start; }
    .p-list.grid .promo .sticker {
      padding: 4px 10px;
      padding: 0.25rem 0.625rem;
      display: inline-block;
      margin: 0 0 15px;
      margin: 0 0 0.9375rem;
      box-shadow: 5px 8.66px 20px 0px rgba(0, 0, 0, 0.4);
      border-radius: 2px; }
    .p-list.grid .promo .title h3 {
      color: #fff;
      margin: 40px 0;
      margin: 2.5rem 0;
      font-family: "Miso", sans-serif;
      font-size: 45px;
      font-size: 2.8125rem;
      line-height: 0.8;
      font-weight: normal; }
      @media screen and (min-width: 1024px) {
        .p-list.grid .promo .title h3 {
          font-size: 5.3125rem; } }
    .p-list.grid .promo .copy {
      margin: 15px 0 0;
      margin: 0.9375rem 0 0; }
    .p-list.grid .promo .desc {
      font-size: 17px;
      font-size: 1.0625rem; }
    .p-list.grid .promo.hp-right {
      right: 0; }
    .p-list.grid .promo.hp-left {
      left: 0; }
    .p-list.grid .promo.vp-1 {
      top: 0; }
    .p-list.grid .promo.g2x2 .wrap {
      padding: 13% 15%; }
    .p-list.grid .promo.g2x2 .content {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
      -ms-flex-pack: start;
          justify-content: flex-start;
      height: 100%; }
    .p-list.grid .promo.g2x2 .title {
      -ms-flex-positive: 1;
          flex-grow: 1;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
      .p-list.grid .promo.g2x2 .title h3 {
        font-size: 80px;
        font-size: 5rem;
        margin: 0; }
        @media screen and (min-width: 1024px) {
          .p-list.grid .promo.g2x2 .title h3 {
            font-size: 6.25rem; } }
    .p-list.grid .promo.g2x2 div.price {
      font-size: 31px;
      font-size: 1.9375rem; }
    .p-list.grid .promo.g1x1 .title h3 {
      font-size: 55px;
      font-size: 3.4375rem; }
    .p-list.grid .promo.g1x1:hover .bg {
      transform: scale(1.03); }

.product .sold-out {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  color: #ff5255; }

div.price {
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700;
  font-size: 21px;
  font-size: 1.3125rem;
  letter-spacing: -1px; }
  div.price span.old {
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 400;
    vertical-align: middle;
    line-height: 1;
    background-color: #ff5255;
    text-decoration: line-through;
    color: #fff;
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 5px 8px;
    padding: 0.3125rem 0.5rem;
    margin: 0 5px 0 0;
    margin: 0 0.3125rem 0 0; }
    div.price span.old .price {
      text-decoration: line-through; }
  div.price span {
    display: inline-block;
    vertical-align: middle; }

.worth {
  display: -ms-flexbox;
  display: flex;
  text-transform: uppercase;
  color: #666666;
  font-size: 14px;
  font-size: 0.875rem;
  width: 100%; }
  .worth .label {
    margin: 0 5px 0 0;
    margin: 0 0.3125rem 0 0; }

.catalog-category-view .breadcrumbs ul {
  display: none; }
  @media screen and (min-width: 768px) {
    .catalog-category-view .breadcrumbs ul {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      height: 50px; } }

.catalog-category-view .feature-block {
  display: none; }

.catalog-category-view .main .empty p {
  margin: 0;
  padding: 30px 0 50px;
  padding: 1.875rem 0 3.125rem; }

.catalog-category-view .feature-block .indicator {
  display: none; }

.breadcrumbs .toolbar .sort-by {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .breadcrumbs .toolbar .sort-by label {
    padding: 0 15px 0 0;
    padding: 0 0.9375rem 0 0; }

ul.p-list {
  background: #f2f2f2; }

/* clearfix */
ul.p-list:after:after {
  clear: both;
  content: "";
  display: block; }

.grid-sizer {
  height: 0 !important; }

.grid-item {
  float: left; }

.grid-sizer, .grid-item {
  width: 50%; }
  @media screen and (min-width: 768px) {
    .grid-sizer, .grid-item {
      width: 33.333%; } }
  @media screen and (min-width: 1024px) {
    .grid-sizer, .grid-item {
      width: 25%; } }
  @media screen and (min-width: 1440px) {
    .grid-sizer, .grid-item {
      width: 20%; } }

.g2x2, .g2x1 {
  width: 100%; }
  @media screen and (min-width: 768px) {
    .g2x2, .g2x1 {
      width: 66.666%; } }
  @media screen and (min-width: 1024px) {
    .g2x2, .g2x1 {
      width: 50%; } }
  @media screen and (min-width: 1440px) {
    .g2x2, .g2x1 {
      width: 40%; } }

.mb-search-result p.note-msg {
  margin: 0;
  padding: 50px 0 90px;
  padding: 3.125rem 0 5.625rem;
  text-align: center;
  font-size: 23px;
  font-size: 1.4375rem; }

.p-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.p-img,
.p-info {
  width: 100%; }
  @media screen and (min-width: 768px) {
    .p-img,
    .p-info {
      width: 50%; } }

.p-images {
  background-color: #fff;
  height: 100%;
  overflow: hidden;
  position: relative; }
  .p-images .slider, .p-images .stick {
    width: 100%; }
    .p-images .slider:after, .p-images .stick:after {
      clear: both;
      content: "";
      display: block; }
  .p-images .stick {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    position: relative; }
  .p-images a {
    position: relative;
    display: block; }
  .p-images img.thumb {
    vertical-align: top;
    max-height: 50vh;
    margin: auto; }
    @media screen and (min-width: 768px) {
      .p-images img.thumb {
        max-height: calc(100vh - 58px); } }
  .p-images .pimg {
    position: relative;
    cursor: zoom-in;
    padding: 0 0 60px;
    padding: 0 0 3.75rem; }
    @media screen and (min-width: 1024px) {
      .p-images .pimg {
        padding: 0; } }
    .p-images .pimg.zoomed {
      cursor: zoom-out; }
      .p-images .pimg.zoomed img.zoomImg {
        transform: scale(1); }
  .p-images img.zoomImg {
    transition: 0.15s transform ease-in-out, 0.15s opacity ease-in-out;
    transform: scale(0.8); }
  .p-images.no-bg:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: #f2f2f2; }
  .p-images .thumb-wrap {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center; }
    @media screen and (min-width: 1024px) {
      .p-images .thumb-wrap {
        opacity: 0.5;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
        transform: translate(0, 50%) scale(0.9);
        transition: 0.3s all ease-out; } }
  .p-images .thumb-slider {
    display: block;
    width: 186px;
    margin: 0 auto; }
    @media screen and (min-width: 1024px) {
      .p-images .thumb-slider {
        width: 306px; } }
    .p-images .thumb-slider .slick-track {
      margin: 0 auto; }
    .p-images .thumb-slider .wrap {
      cursor: pointer;
      margin: 2px 1px;
      background-color: #fff;
      transition: 0.2s all ease-out; }
      .p-images .thumb-slider .wrap:hover {
        box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.5) inset, 0 0 0 1px rgba(0, 0, 0, 0.06); }
      .p-images .thumb-slider .wrap.slick-current {
        box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3) inset, 0 0 0 1px rgba(0, 0, 0, 0.1); }
    .p-images .thumb-slider img {
      margin: 0 auto;
      height: 60px; }
      @media screen and (min-width: 1024px) {
        .p-images .thumb-slider img {
          height: 100px; } }
    .p-images .thumb-slider .slick-arrow {
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
      width: 20px;
      height: 20px;
      background: none;
      margin: -10px 0 0;
      text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5); }
      .p-images .thumb-slider .slick-arrow.next {
        right: auto;
        left: 100%; }
      .p-images .thumb-slider .slick-arrow.prev {
        left: auto;
        right: 100%; }
  .p-images.zoomed .thumb-wrap, .p-images.zoomed:hover .thumb-wrap {
    transform: translate(0, 100%) scale(0.9);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
  .p-images:hover .thumb-wrap {
    transform: translate(0) scale(1);
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }

.touch .p-images .slick-arrow.prev, .touch .p-images .slick-arrow.next {
  transform: translate(0, 0);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }

.p-shop {
  margin-right: auto; }
  @media screen and (min-width: 768px) {
    .p-shop {
      max-width: 30rem; } }

.p-info {
  padding: 0 5%;
  background-color: #f2f2f2;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 768px) {
    .p-info {
      min-height: calc(100vh - 58px); } }
  .p-info .breadcrumbs {
    background-color: transparent;
    padding: 50px 0 0;
    padding: 3.125rem 0 0;
    display: none; }
    @media screen and (min-width: 768px) {
      .p-info .breadcrumbs {
        display: block; } }
  .p-info .share a, .p-info .rating a, .p-info .p-copy a {
    color: #1a1a1a; }
    .p-info .share a:hover, .p-info .rating a:hover, .p-info .p-copy a:hover {
      color: #000; }
  .p-info .size {
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700; }
  .p-info .share {
    display: -ms-flexbox;
    display: flex;
    padding: 30px 0;
    padding: 1.875rem 0; }
    .p-info .share ul, .p-info .share p {
      margin: 0;
      padding: 0; }
    .p-info .share ul {
      list-style: none; }
    .p-info .share li {
      display: inline-block;
      padding: 0 10px;
      padding: 0 0.625rem; }
    .p-info .share p {
      margin: 0 15px 0 0;
      margin: 0 0.9375rem 0 0;
      text-transform: uppercase;
      font-family: "Roboto Condensed", sans-serif;
      font-weight: 700;
      font-size: 15px;
      font-size: 0.9375rem; }
    .p-info .share a {
      font-size: 23px;
      font-size: 1.4375rem; }
      .p-info .share a i {
        display: inline-block;
        transition: 0.15s all ease-out; }
      .p-info .share a:hover i {
        transform: translate(0, -4px); }
  .p-info .accordion {
    border-top: 1px solid #cccccc;
    margin: 15px 0 0;
    margin: 0.9375rem 0 0; }
    .p-info .accordion li {
      border-bottom: 1px solid #cccccc; }
    .p-info .accordion a.accordion-trigger {
      padding: 15px 0;
      padding: 0.9375rem 0;
      font-size: 15px;
      font-size: 0.9375rem; }
    .p-info .accordion p {
      color: #666666;
      font-size: 14px;
      font-size: 0.875rem; }
      .p-info .accordion p b {
        font-weight: normal;
        color: #000; }
  .p-info select {
    border: none; }
  .p-info .product-name {
    margin: 50px 0;
    margin: 3.125rem 0; }

.product-name h1 {
  font-family: "Miso", sans-serif;
  font-size: 70px;
  font-size: 4.375rem;
  font-weight: normal;
  line-height: 0.9;
  text-transform: uppercase;
  margin: 0; }

.add-to, .add-to-cart {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

.add-to {
  display: -ms-flexbox;
  display: flex; }
  .add-to div.price {
    font-size: 31px;
    font-size: 1.9375rem;
    margin: 0 15px 0 0;
    margin: 0 0.9375rem 0 0;
    -ms-flex-positive: 1;
        flex-grow: 1;
    line-height: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .add-to div.price .old {
      font-size: 20px;
      font-size: 1.25rem;
      margin: 0 10px 0 0;
      margin: 0 0.625rem 0 0; }
  .add-to .qty-container {
    margin: 0 15px 0 0;
    margin: 0 0.9375rem 0 0; }
  .add-to .primary, .add-to .search-panel .button, .search-panel .add-to .button, .add-to .bag .block-cart .checkout-types a.checkout-button, .bag .block-cart .checkout-types .add-to a.checkout-button, .add-to .cart-collaterals ul.checkout-types .btn-checkout, .cart-collaterals ul.checkout-types .add-to .btn-checkout, .add-to .cart-content .head .btn-checkout, .cart-content .head .add-to .btn-checkout {
    transition: all 0.2s ease-out; }
    .add-to .primary > span, .add-to .search-panel .button > span, .search-panel .add-to .button > span, .add-to .bag .block-cart .checkout-types a.checkout-button > span, .bag .block-cart .checkout-types .add-to a.checkout-button > span, .add-to .cart-collaterals ul.checkout-types .btn-checkout > span, .cart-collaterals ul.checkout-types .add-to .btn-checkout > span, .add-to .cart-content .head .btn-checkout > span, .cart-content .head .add-to .btn-checkout > span {
      display: block; }
  .add-to .outofstock {
    position: relative; }
    .add-to .outofstock > .button {
      display: inline-block;
      text-align: center; }

#btn-cart-view {
  padding: 15px 20px;
  padding: 0.9375rem 1.25rem;
  white-space: nowrap; }

.rate-size {
  display: -ms-flexbox;
  display: flex;
  padding: 50px 0 0;
  padding: 3.125rem 0 0; }
  .rate-size p {
    margin: 0; }
  .rate-size .rating {
    -ms-flex-positive: 1;
        flex-grow: 1; }

.out-of-stock-form {
  display: none;
  position: absolute;
  z-index: 100;
  top: 100%;
  left: -100px;
  right: 0;
  background: #fff;
  padding: 20px;
  padding: 1.25rem;
  margin: 10px 0 0;
  margin: 0.625rem 0 0;
  box-shadow: 0 1px 2px 1px rgba(0, 0, 0, 0.2); }
  @media screen and (min-width: 1024px) {
    .out-of-stock-form {
      left: 0; } }
  .out-of-stock-form h6 {
    font-size: 14px;
    font-size: 0.875rem;
    margin: 0 0 15px;
    margin: 0 0 0.9375rem;
    font-weight: normal; }
  .out-of-stock-form input {
    display: block;
    width: 100%;
    text-align: center; }
  .out-of-stock-form .button {
    display: block;
    float: left;
    width: 50%;
    text-align: center;
    margin: 10px 0 0;
    margin: 0.625rem 0 0;
    height: 34px; }
    .out-of-stock-form .button i {
      vertical-align: middle; }
    .out-of-stock-form .button.close:hover {
      background: #666666; }
  .out-of-stock-form .actions:after {
    clear: both;
    content: "";
    display: block; }

.p-view .tabs > ul > li {
  padding: 30px 0;
  padding: 1.875rem 0; }

.p-view .tabs > ul a {
  color: #666666;
  text-transform: uppercase;
  font-size: 24px;
  font-size: 1.5rem;
  padding: 20px;
  padding: 1.25rem; }

.p-view .tabs.root > .content {
  border-bottom: 2px solid #fff;
  box-shadow: 0 -2px 0 #f2f2f2 inset; }
  @media screen and (min-width: 768px) {
    .p-view .tabs.root > .content {
      box-shadow: none; } }

.p-view .tabs.mobile > ul > li {
  padding: 15px; }

#reviews_ratings .inner {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0 50px;
  padding: 0 0 3.125rem; }
  #reviews_ratings .inner:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    #reviews_ratings .inner {
      padding-left: 15px;
      padding-right: 15px; } }
  #reviews_ratings .inner > .head {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding: 40px 0;
    padding: 2.5rem 0;
    margin: 0 0 30px;
    margin: 0 0 1.875rem;
    border-bottom: 1px solid #cccccc; }
    #reviews_ratings .inner > .head h3 {
      -ms-flex-positive: 1;
          flex-grow: 1;
      margin: 0;
      text-transform: uppercase;
      font-size: 31px;
      font-size: 1.9375rem;
      font-weight: normal; }
    #reviews_ratings .inner > .head a:hover {
      background-color: transparent; }

#stylingtips .inner {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 0 50px;
  padding: 0 0 3.125rem; }
  #stylingtips .inner:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    #stylingtips .inner {
      padding-left: 15px;
      padding-right: 15px; } }

#stylingtips .slider {
  position: relative;
  margin: 0 -50px; }
  #stylingtips .slider:before, #stylingtips .slider:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    pointer-events: none;
    width: 50px;
    z-index: 1; }
  #stylingtips .slider:before {
    left: 0;
    background: linear-gradient(to right, #f2f2f2 0, rgba(255, 255, 255, 0) 100%); }
  #stylingtips .slider:after {
    right: 0;
    background: linear-gradient(to left, #f2f2f2 0, rgba(255, 255, 255, 0) 100%); }

#stylingtips p, #stylingtips .stip {
  color: #666666; }

.stip {
  padding: 50px 50px 40px;
  padding: 3.125rem 50px 2.5rem; }
  @media screen and (min-width: 768px) {
    .stip {
      padding: 5.625rem 50px 2.5rem; } }
  .stip h4 {
    text-transform: uppercase;
    color: #000;
    font-size: 31px;
    font-size: 1.9375rem;
    font-weight: normal;
    margin: 0 0 15px;
    margin: 0 0 0.9375rem; }
  .stip img, .stip iframe {
    padding: 0 0 0 20px;
    padding: 0 0 0 1.25rem;
    float: right;
    max-width: 50%; }
    @media screen and (min-width: 768px) {
      .stip img, .stip iframe {
        padding: 0 0 0 6.25rem;
        max-width: 43.75rem; } }
  .stip iframe {
    border: none;
    width: 100%; }

.routine {
  padding: 50px 0 50px;
  padding: 3.125rem 0 3.125rem;
  text-transform: uppercase; }
  .routine h3 {
    text-align: center;
    margin: 0 0 50px;
    margin: 0 0 3.125rem;
    text-transform: uppercase;
    font-weight: normal;
    font-size: 31px;
    font-size: 1.9375rem; }
  .routine .inner-wrap {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto; }
    .routine .inner-wrap:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 1470px) {
      .routine .inner-wrap {
        padding-left: 15px;
        padding-right: 15px; } }
    @media screen and (min-width: 768px) {
      .routine .inner-wrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: start;
            align-items: flex-start;
        -ms-flex-pack: center;
            justify-content: center; } }
  .routine .totals {
    background: #000;
    color: #fff;
    padding: 30px;
    padding: 1.875rem; }
    @media screen and (min-width: 768px) {
      .routine .totals {
        -ms-flex-item-align: start;
            align-self: flex-start;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-flow: column;
            flex-flow: column;
        min-height: 230px;
        padding: 1.25rem 1.875rem; } }
    @media screen and (min-width: 1024px) {
      .routine .totals {
        padding: 2.5rem 3.125rem;
        min-height: 330px; } }
    .routine .totals > p {
      margin: 0 0 10px;
      margin: 0 0 0.625rem;
      font-family: "Roboto Condensed", sans-serif; }
    .routine .totals > .price {
      -ms-flex-positive: 1;
          flex-grow: 1;
      font-size: 36px;
      font-size: 2.25rem;
      margin: 0 0 30px;
      margin: 0 0 1.875rem; }
      @media screen and (min-width: 768px) {
        .routine .totals > .price {
          margin: 0; } }
      .routine .totals > .price > .old {
        display: block;
        background: none;
        margin: 0;
        padding: 0;
        font-size: 23px;
        font-size: 1.4375rem;
        color: #b2b2b2; }
      .routine .totals > .price .worth {
        font-size: 18px;
        font-size: 1.125rem;
        color: #b2b2b2; }
  .routine .ricon {
    background-color: #000;
    color: #fff;
    width: 32px;
    height: 30px;
    line-height: 30px;
    border-radius: 2px;
    font-family: Arial;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    margin: 30px auto;
    margin: 1.875rem auto; }
    @media screen and (min-width: 768px) {
      .routine .ricon {
        margin: 9.375rem 0.3125rem 0; } }
    @media screen and (min-width: 1024px) {
      .routine .ricon {
        margin: 9.375rem 0.9375rem 0; } }
    .routine .ricon span {
      vertical-align: middle; }
  .routine .product {
    -ms-flex-item-align: start;
        align-self: flex-start;
    background: #f2f2f2; }
    @media screen and (min-width: 768px) {
      .routine .product {
        background: none; } }
    .routine .product:after {
      clear: both;
      content: "";
      display: block; }
    .routine .product a {
      color: #1a1a1a; }
    .routine .product:hover .image img {
      transform: scale(1.05); }
    .routine .product:hover .image span {
      opacity: 1;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  .routine .current {
    box-shadow: 0 0 0 5px #cccccc inset;
    background: none; }
    @media screen and (min-width: 768px) {
      .routine .current {
        box-shadow: none; } }
    @media screen and (min-width: 768px) {
      .routine .current .image {
        box-shadow: 0 0 0 5px #cccccc inset; } }
  .routine .image {
    margin: 0 30px 0 0;
    margin: 0 1.875rem 0 0;
    text-align: center;
    padding: 20px 10px;
    padding: 1.25rem 0.625rem;
    height: 200px;
    float: left; }
    @media screen and (min-width: 768px) {
      .routine .image {
        height: 230px;
        float: none;
        margin: 0 0 1.875rem;
        padding: 1.875rem 1.25rem; } }
    @media screen and (min-width: 1024px) {
      .routine .image {
        height: 330px; } }
    .routine .image img {
      height: 100%;
      vertical-align: top;
      transition: 0.3s all ease-out; }
    .routine .image span {
      opacity: 0.3;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
      transition: 0.3s all ease-out; }
  .routine h4 {
    margin: 10px 0 5px;
    margin: 0.625rem 0 0.3125rem;
    font-weight: normal;
    font-size: 18px;
    font-size: 1.125rem; }
  .routine .rating-box {
    padding: 50px 0 0;
    padding: 3.125rem 0 0; }
    @media screen and (min-width: 768px) {
      .routine .rating-box {
        padding: 0; } }
  .routine .actions a {
    display: block;
    text-align: center; }
    .routine .actions a.primary, .routine .actions .search-panel a.button, .search-panel .routine .actions a.button, .routine .actions .bag .block-cart .checkout-types a.checkout-button, .bag .block-cart .checkout-types .routine .actions a.checkout-button, .routine .actions .cart-collaterals ul.checkout-types a.btn-checkout, .cart-collaterals ul.checkout-types .routine .actions a.btn-checkout, .routine .actions .cart-content .head a.btn-checkout, .cart-content .head .routine .actions a.btn-checkout {
      background: #fff;
      color: #000;
      border-color: #fff; }
      .routine .actions a.primary:hover, .routine .actions .search-panel a.button:hover, .search-panel .routine .actions a.button:hover, .routine .actions .bag .block-cart .checkout-types a.checkout-button:hover, .bag .block-cart .checkout-types .routine .actions a.checkout-button:hover, .routine .actions .cart-collaterals ul.checkout-types a.btn-checkout:hover, .cart-collaterals ul.checkout-types .routine .actions a.btn-checkout:hover, .routine .actions .cart-content .head a.btn-checkout:hover, .cart-content .head .routine .actions a.btn-checkout:hover {
        background-color: transparent;
        color: #fff; }
  .routine .actions .sold-out {
    max-width: 200px; }

.bundle_items ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  @media screen and (min-width: 768px) {
    .bundle_items ul {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
          align-items: flex-start; } }

.bundle_items .image {
  position: relative;
  background: #f2f2f2; }
  .bundle_items .image a {
    color: #1a1a1a; }
  .bundle_items .image span {
    position: absolute;
    bottom: 10px;
    bottom: 0.625rem;
    left: 15px;
    left: 0.9375rem;
    font-size: 12px;
    font-size: 0.75rem; }
    @media screen and (min-width: 1024px) {
      .bundle_items .image span {
        font-size: 0.9375rem; } }
    .bundle_items .image span i {
      vertical-align: middle;
      font-size: 16px;
      display: inline-block;
      margin: 0 5px 0 0;
      margin: 0 0.3125rem 0 0; }

/* Global */
.jBox-wrapper {
  text-align: left;
  box-sizing: border-box; }

.jBox-title,
.jBox-content,
.jBox-container {
  position: relative;
  word-break: break-word;
  box-sizing: border-box; }

.jBox-container {
  background: #fff; }

.jBox-content {
  padding: 8px 10px;
  overflow-x: hidden;
  overflow-y: auto;
  transition: opacity .2s; }

/* jBox Tooltip */
.jBox-Tooltip .jBox-container,
.jBox-Mouse .jBox-container {
  box-shadow: 0 0 3px rgba(255, 255, 255, 0.25);
  background: #1a1a1a;
  color: #fff;
  font-size: 15px;
  font-size: 0.9375rem; }

.jBox-Tooltip .jBox-title,
.jBox-Mouse .jBox-title {
  padding: 8px 10px 0;
  font-weight: bold; }

.jBox-hasTitle.jBox-Tooltip .jBox-content,
.jBox-hasTitle.jBox-Mouse .jBox-content {
  padding-top: 5px; }

.jBox-Mouse {
  pointer-events: none; }

/* Pointer */
.jBox-pointer {
  position: absolute;
  overflow: hidden; }

.jBox-pointer-top {
  top: 0; }

.jBox-pointer-bottom {
  bottom: 0; }

.jBox-pointer-left {
  left: 0; }

.jBox-pointer-right {
  right: 0; }

.jBox-pointer-top,
.jBox-pointer-bottom {
  width: 30px;
  height: 12px; }

.jBox-pointer-left,
.jBox-pointer-right {
  width: 12px;
  height: 30px; }

.jBox-pointer:after {
  content: '';
  width: 20px;
  height: 20px;
  position: absolute;
  background: #1a1a1a;
  transform: rotate(45deg); }

.jBox-pointer-top:after {
  left: 5px;
  top: 6px;
  box-shadow: -1px -1px 2px rgba(255, 255, 255, 0.25); }

.jBox-pointer-right:after {
  top: 5px;
  right: 6px;
  box-shadow: 1px -1px 2px rgba(255, 255, 255, 0.25); }

.jBox-pointer-bottom:after {
  left: 5px;
  bottom: 6px;
  box-shadow: 1px 1px 2px rgba(255, 255, 255, 0.25); }

.jBox-pointer-left:after {
  top: 5px;
  left: 6px;
  box-shadow: -1px 1px 2px rgba(255, 255, 255, 0.25); }

/* jBox Modal */
.jBox-Modal .jBox-content {
  padding: 10px 20px 15px;
  padding: 0.625rem 20px 0.9375rem; }
  .jBox-Modal .jBox-content p {
    margin: 0 0 30px;
    margin: 0 0 1.875rem; }

.jBox-Modal .jBox-title {
  padding: 15px 20px;
  font-size: 20px;
  font-size: 1.25rem;
  text-transform: uppercase;
  font-family: "Roboto Condensed", sans-serif;
  font-weight: 700; }

.jBox-Modal.jBox-closeButton-title .jBox-title {
  padding-right: 55px; }

.jBox-Modal .jBox-container,
.jBox-Modal.jBox-closeButton-box:before {
  box-shadow: 0 3px 15px rgba(0, 0, 0, 0.4), 0 0 5px rgba(0, 0, 0, 0.4); }

/* Close button */
.jBox-closeButton {
  cursor: pointer;
  position: absolute; }

.jBox-closeButton svg {
  position: absolute;
  top: 50%;
  right: 50%; }

.jBox-closeButton path {
  transition: fill .2s; }

.jBox-closeButton path {
  fill: #aaa; }

.jBox-closeButton:hover path {
  fill: #888; }

.jBox-closeButton:active path {
  fill: #666; }

/* Close button in overlay */
.jBox-overlay .jBox-closeButton {
  top: 0;
  right: 0;
  width: 40px;
  height: 40px; }

.jBox-overlay .jBox-closeButton svg {
  width: 26px;
  height: 26px;
  margin-top: -13px;
  margin-right: -13px; }

.jBox-overlay .jBox-closeButton path,
.jBox-overlay .jBox-closeButton:active path {
  fill: #ddd; }

.jBox-overlay .jBox-closeButton:hover path {
  fill: #fff; }

/* Close button in title */
.jBox-closeButton-title .jBox-closeButton {
  top: 0;
  right: 0;
  bottom: 0;
  width: 55px; }

.jBox-closeButton-title .jBox-closeButton svg {
  width: 18px;
  height: 18px;
  margin-top: -9px;
  margin-right: -9px; }

/* Close button in box */
.jBox-closeButton-box .jBox-closeButton {
  top: -8px;
  right: -10px;
  width: 24px;
  height: 24px;
  background: #fff;
  border-radius: 50%; }

.jBox-closeButton-box .jBox-closeButton svg {
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-right: -10px; }

.jBox-hasTitle.jBox-Modal.jBox-closeButton-box .jBox-closeButton {
  background: #fafafa; }

.jBox-closeButton-box:before {
  content: '';
  position: absolute;
  top: -8px;
  right: -10px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); }

.jBox-pointerPosition-top.jBox-closeButton-box:before {
  top: 5px; }

.jBox-pointerPosition-right.jBox-closeButton-box:before {
  right: 2px; }

/* Overlay */
.jBox-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7); }

/* Footer */
.jBox-footer {
  background: #fafafa;
  border-top: 1px solid #eee;
  padding: 8px 10px;
  border-radius: 0 0 3px 3px; }

/* Block scrolling */
body[class^="jBox-blockScroll-"],
body[class*=" jBox-blockScroll-"] {
  overflow: hidden; }
  body[class^="jBox-blockScroll-"] div.main,
  body[class*=" jBox-blockScroll-"] div.main {
    filter: url('https://www.nipandfab.com/skin/frontend/nipandfab/default/css/data:image/svg+xml;charset=utf-8,<sv')xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feColorMatrix type="matrix" color-interpolation-filters="sRGB" values="0.6852 0.286 0.0288 0 0 0.0852 0.8919999999999999 0.0288 0 0 0.0852 0.286 0.6287999999999999 0 0 0 0 0 1 0" /></filter></svg>#filter');
    filter: saturate(0.6); }

/* Draggable */
.jBox-draggable {
  cursor: move; }

/* Spinner */
@keyframes jBoxLoading {
  to {
    transform: rotate(360deg); } }

.jBox-loading .jBox-content {
  opacity: .2;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"; }

.jBox-loading-spinner .jBox-content {
  min-height: 38px !important;
  min-width: 38px !important;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }

.jBox-spinner {
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-top: -12px;
  margin-left: -12px; }

.jBox-spinner:before {
  display: block;
  box-sizing: border-box;
  content: '';
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid rgba(0, 0, 0, 0.2);
  border-top-color: rgba(0, 0, 0, 0.8);
  animation: jBoxLoading .6s linear infinite; }

/* Notice */
.jBox-Notice {
  transition: margin .2s;
  text-transform: uppercase;
  padding: 10px;
  padding: 0.625rem;
  cursor: pointer; }

.jBox-Notice .jBox-content {
  padding: 15px 30px;
  padding: 0.9375rem 1.875rem;
  font-size: 14px;
  font-size: 0.875rem; }

.jBox-Notice .jBox-title {
  padding: 12px 20px 0;
  font-weight: bold; }

.jBox-hasTitle.jBox-Notice .jBox-content {
  padding-top: 5px; }

.jBox-Notice-black .jBox-container {
  color: #fff;
  background: #000; }

.jBox-Notice-gray .jBox-container {
  color: #333;
  background: #f6f6f6; }

.jBox-Notice-red .jBox-container {
  color: #fff;
  background: #b30c0c; }

.jBox-Notice-green .jBox-container {
  color: #fff;
  background: #3db30c; }

.jBox-Notice-blue .jBox-container {
  color: #fff;
  background: #145767; }

.jBox-Notice-yellow .jBox-container {
  color: #000;
  background: #fd0; }

@media (max-width: 768px) {
  .jBox-Notice .jBox-content {
    padding: 10px 15px; }
  .jBox-Notice .jBox-title {
    padding: 10px 15px 0; } }

@media (max-width: 500px) {
  .jBox-Notice .jBox-content {
    padding: 8px 10px; }
  .jBox-Notice .jBox-title {
    padding: 8px 10px 0; }
  .jBox-hasTitle.jBox-Notice .jBox-content {
    padding-top: 0; } }

/* Animations */
[class^="jBox-animated-"],
[class*=" jBox-animated-"] {
  animation-fill-mode: both; }

@keyframes jBox-tada {
  0% {
    transform: scale(1); }
  10%, 20% {
    transform: scale(0.8) rotate(-4deg); }
  30%, 50%, 70%, 90% {
    transform: scale(1.2) rotate(4deg); }
  40%, 60%, 80% {
    transform: scale(1.2) rotate(-4deg); }
  100% {
    transform: scale(1) rotate(0); } }

.jBox-animated-tada {
  animation: jBox-tada 1s; }

@keyframes jBox-tadaSmall {
  0% {
    transform: scale(1); }
  10%, 20% {
    transform: scale(0.9) rotate(-2deg); }
  30%, 50%, 70%, 90% {
    transform: scale(1.1) rotate(2deg); }
  40%, 60%, 80% {
    transform: scale(1.1) rotate(-2deg); }
  100% {
    transform: scale(1) rotate(0); } }

.jBox-animated-tadaSmall {
  animation: jBox-tadaSmall 1s; }

@keyframes jBox-flash {
  0%, 50%, 100% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  25%, 75% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; } }

.jBox-animated-flash {
  animation: jBox-flash .5s; }

@keyframes jBox-shake {
  0%, 100% {
    transform: translateX(0); }
  20%, 60% {
    transform: translateX(-6px); }
  40%, 80% {
    transform: translateX(6px); } }

.jBox-animated-shake {
  animation: jBox-shake .4s; }

@keyframes jBox-pulseUp {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.15); }
  100% {
    transform: scale(1); } }

.jBox-animated-pulseUp {
  animation: jBox-pulseUp .25s; }

@keyframes jBox-pulseDown {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(0.85); }
  100% {
    transform: scale(1); } }

.jBox-animated-pulseDown {
  animation: jBox-pulseDown .25s; }

@keyframes jBox-popIn {
  0% {
    transform: scale(0); }
  50% {
    transform: scale(1.1); }
  100% {
    transform: scale(1); } }

.jBox-animated-popIn {
  animation: jBox-popIn .25s; }

@keyframes jBox-popOut {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.1); }
  100% {
    transform: scale(0); } }

.jBox-animated-popOut {
  animation: jBox-popOut .25s; }

@keyframes jBox-fadeIn {
  0% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
  100% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; } }

.jBox-animated-fadeIn {
  animation: jBox-fadeIn .2s; }

@keyframes jBox-fadeOut {
  0% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  100% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; } }

.jBox-animated-fadeOut {
  animation: jBox-fadeOut .2s; }

@keyframes jBox-slideUp {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(-300px);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; } }

.jBox-animated-slideUp {
  animation: jBox-slideUp .4s; }

@keyframes jBox-slideRight {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(300px);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; } }

.jBox-animated-slideRight {
  animation: jBox-slideRight .4s; }

@keyframes jBox-slideDown {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(300px);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; } }

.jBox-animated-slideDown {
  animation: jBox-slideDown .4s; }

@keyframes jBox-slideLeft {
  0% {
    transform: translateX(0); }
  100% {
    transform: translateX(-300px);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; } }

.jBox-animated-slideLeft {
  animation: jBox-slideLeft .4s; }

.br-theme-css-stars .br-widget {
  height: 28px;
  white-space: nowrap; }
  .br-theme-css-stars .br-widget a {
    text-decoration: none;
    display: inline-block;
    font-size: 26px;
    margin: 0 3px 0 0;
    margin: 0 0.1875rem 0 0; }
    .br-theme-css-stars .br-widget a:before {
      font-family: "nipfab" !important;
      font-style: normal !important;
      font-weight: normal !important;
      font-variant: normal !important;
      text-transform: none !important;
      speak: none;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      content: "\6f";
      color: #666666;
      position: absolute;
      opacity: 0;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
    .br-theme-css-stars .br-widget a:focus {
      text-shadow: 0 0 2px #f2f2f2; }
    .br-theme-css-stars .br-widget a:focus:before {
      animation: starSelected;
      animation-duration: 0.6s;
      animation-iteration-count: 1;
      animation-fill-mode: both;
      animation-timing-function: ease-out; }
    .br-theme-css-stars .br-widget a:after {
      font-family: "nipfab" !important;
      font-style: normal !important;
      font-weight: normal !important;
      font-variant: normal !important;
      text-transform: none !important;
      speak: none;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      content: "\6f";
      color: #666666;
      position: relative;
      z-index: 1;
      transition: 0.1s all ease-out; }
  .br-theme-css-stars .br-widget a.br-active:after {
    color: #000; }
  .br-theme-css-stars .br-widget a.br-selected:after {
    color: #1a1a1a; }
  .br-theme-css-stars .br-widget .br-current-rating {
    display: none; }

.br-theme-css-stars .br-readonly a {
  cursor: default; }

@media print {
  .br-theme-css-stars .br-widget a:after {
    content: "\2606";
    color: black; }
  .br-theme-css-stars .br-widget a.br-active:after,
  .br-theme-css-stars .br-widget a.br-selected:after {
    content: "\2605";
    color: black; } }

.rating-box {
  line-height: 1; }
  .rating-box a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .rating-box .stars {
    font-size: 16px; }
    @media screen and (min-width: 1024px) {
      .rating-box .stars {
        font-size: 23px; } }
    .rating-box .stars i {
      color: #666666;
      display: inline-block; }
      .rating-box .stars i.active {
        animation: starEntry;
        animation-duration: 0.1s;
        animation-iteration-count: 1;
        animation-fill-mode: both;
        animation-delay: 0.2s; }
      .rating-box .stars i + .active {
        animation-delay: 0.27s; }
        .rating-box .stars i + .active + .active {
          animation-delay: 0.34s; }
          .rating-box .stars i + .active + .active + .active {
            animation-delay: 0.41s; }
            .rating-box .stars i + .active + .active + .active + .active {
              animation-delay: 0.48s; }
  .rating-box .count {
    font-size: 14px;
    font-size: 0.875rem;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700;
    padding: 0 0 0 5px;
    padding: 0 0 0 0.3125rem; }
    @media screen and (min-width: 1024px) {
      .rating-box .count {
        padding: 0 0 0 0.625rem;
        font-size: 1rem; } }
    .rating-box .count span {
      display: inline-block;
      padding: 0 2px;
      padding: 0 0.125rem; }

@keyframes starEntry {
  0% {
    color: #666666;
    transform: scale(1); }
  80% {
    transform: scale(1.15); }
  100% {
    color: #000;
    transform: scale(1); } }

@keyframes starSelected {
  0% {
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    transform: scale(1); }
  90% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
  100% {
    transform: scale(2.3);
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; } }

.reviews-form {
  display: none;
  border-bottom: 1px solid #cccccc;
  padding: 0 0 30px;
  padding: 0 0 1.875rem;
  margin: 0 0 30px;
  margin: 0 0 1.875rem; }
  .reviews-form h4 {
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: normal;
    text-transform: uppercase;
    margin: 0 0 15px;
    margin: 0 0 0.9375rem; }
    .reviews-form h4 a {
      float: right;
      color: #666666; }
      .reviews-form h4 a:hover {
        color: #000; }
  @media screen and (min-width: 768px) {
    .reviews-form .choose-rating {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; } }
  .reviews-form h5 {
    font-size: 17px;
    font-size: 1.0625rem;
    margin: 0 15px 0 0;
    margin: 0 0.9375rem 0 0;
    font-weight: normal; }
  .reviews-form .fields {
    padding: 15px 0 0;
    padding: 0.9375rem 0 0; }

@media screen and (min-width: 768px) {
  .box-reviews {
    display: -ms-flexbox;
    display: flex; } }

.box-reviews .reviewed-product {
  width: 20%;
  padding: 0 50px 0 0;
  padding: 0 3.125rem 0 0;
  display: none; }
  @media screen and (min-width: 768px) {
    .box-reviews .reviewed-product {
      display: block; } }
  .box-reviews .reviewed-product .name {
    text-transform: uppercase;
    padding: 15px 0 5px;
    padding: 0.9375rem 0 0.3125rem; }

@media screen and (min-width: 768px) {
  .box-reviews .review-grid {
    width: 80%; } }

.review-item {
  margin: 0 0 50px;
  margin: 0 0 3.125rem; }
  .review-item .box {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    margin: 0 0 5px;
    margin: 0 0 0.3125rem; }
    .review-item .box > div {
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .review-item .head {
    border-bottom: 1px solid #cccccc;
    text-transform: uppercase;
    padding: 0 0 15px;
    padding: 0 0 0.9375rem; }
  .review-item .rating-box, .review-item .author {
    text-align: right; }
  .review-item .title {
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem; }
  .review-item .author {
    font-size: 16px;
    font-size: 1rem; }
  .review-item .date {
    color: #666666; }
  .review-item .content {
    color: #666666;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.6;
    padding: 30px 0;
    padding: 1.875rem 0;
    font-family: 'Roboto', sans-serif; }

.review-feefo-popup {
  max-width: 400px; }
  .review-feefo-popup img {
    max-width: 150px; }

.slider {
  margin: 0;
  padding: 0;
  position: relative;
  overflow: hidden; }
  .slider:hover .slick-arrow {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    transform: translate(0, 0); }

.slick-arrow {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: #000;
  color: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  margin: -25px 0 0;
  margin: -1.5625rem 0 0;
  z-index: 10;
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  transition: 0.1s all ease-in;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  line-height: 1; }
  .slick-arrow i {
    display: -ms-inline-flexbox;
    display: inline-flex;
    transition: 0.1s transform ease-in; }
  .slick-arrow.prev {
    left: 0;
    transform: translate(-3.125rem, 0); }
    .slick-arrow.prev:active i {
      transform: translate(-0.125rem, 0); }
  .slick-arrow.next {
    right: 0;
    transform: translate(3.125rem, 0); }
    .slick-arrow.next:active i {
      transform: translate(0.125rem, 0); }
  .slick-arrow.slick-disabled {
    cursor: pointer;
    opacity: 0.5 !important;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }

.slick-dots {
  margin: 0;
  padding: 0;
  text-align: center;
  line-height: 1; }
  .slick-dots li {
    display: inline-block;
    margin: 0 7px;
    margin: 0 0.4375rem;
    padding: 5px;
    cursor: pointer; }
    .slick-dots li button {
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      padding: 0;
      border: 0;
      display: inline-block;
      width: 8px;
      height: 8px;
      background: #b2b2b2;
      font-size: 0;
      cursor: pointer;
      border-radius: 10px;
      transition: 0.2s all ease-out;
      transform: scale(0.8);
      vertical-align: middle; }
    .slick-dots li.slick-active button {
      background-color: #000;
      transform: scale(1); }

.p-list .slider .product > .inner {
  border-top: 0;
  border-bottom: 0; }

/* ==|====================
   Base/Form
   ======================= */
input[type="date"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="text"],
select,
textarea {
  width: 100%;
  border: 1px solid #cccccc;
  outline: 0;
  -webkit-appearance: none;
  border-radius: 0;
  padding: 15px;
  padding: 0.9375rem;
  font-family: "Roboto Condensed", sans-serif;
  transition: 0.15s all ease-out;
  font-size: 16px;
  font-size: 1rem; }
  input[type="date"]:focus,
  input[type="email"]:focus,
  input[type="password"]:focus,
  input[type="search"]:focus,
  input[type="text"]:focus,
  select:focus,
  textarea:focus {
    border-color: #666666; }

:disabled {
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  cursor: not-allowed; }

label {
  text-transform: uppercase;
  display: block;
  font-size: 15px;
  font-size: 0.9375rem;
  margin-bottom: 3px;
  margin-bottom: 0.1875rem; }

.control label {
  display: inline-block;
  margin: 0 0 0 10px;
  margin: 0 0 0 0.625rem;
  vertical-align: middle; }

.control .input-box {
  display: inline-block; }

.input-box label {
  display: inline-block;
  margin: 0 0 0 10px;
  margin: 0 0 0 0.625rem;
  vertical-align: middle; }

.qty {
  text-align: center; }

textarea {
  resize: none;
  padding: 15px;
  padding: 0.9375rem;
  display: block; }

select {
  border-radius: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  background: #fff url(https://www.nipandfab.com/skin/frontend/nipandfab/default/img/select_arr.png) center right no-repeat;
  border: 1px solid #cccccc;
  text-transform: uppercase;
  padding: 15px 40px 15px 20px;
  padding: 0.9375rem 2.5rem 0.9375rem 1.25rem;
  font-size: 16px;
  font-size: 1rem;
  width: auto; }
  select::-ms-expand {
    display: none; }

.box-input {
  margin: 15px 0;
  margin: 0.9375rem 0;
  position: relative; }
  .box-input label {
    padding: 0 10px 5px;
    padding: 0 0.625rem 0.3125rem; }

.form-list {
  list-style: none;
  -webkit-padding-start: 0;
  padding: 0; }
  .form-list li,
  .form-list .field {
    margin-bottom: 15px;
    margin-bottom: 0.9375rem; }
  .form-list li:last-child,
  .form-list .field:last-child {
    margin-bottom: 0; }
  .form-list .no-display {
    display: none; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus input:-webkit-autofill,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
  -webkit-text-fill-color: #000; }

fieldset {
  padding: 0;
  border: 0; }

.validation-advice {
  font-size: 12px;
  font-size: 0.75rem;
  margin: 0;
  background-color: #ff5255;
  color: #000;
  padding: 7px 6px;
  padding: 0.4375rem 0.375rem;
  width: 100%;
  text-align: left;
  line-height: 1;
  text-transform: uppercase; }

input.validation-failed, select.validation-failed, textarea.validation-failed {
  border-color: #ff5255 !important; }

input.validation-passed, select.validation-passed, textarea.validation-passed {
  border-color: #3db30c; }

/*======================================
Selectric v1.11.1
======================================*/
.selectric-wrapper {
  position: relative;
  cursor: pointer; }

.selectric-responsive {
  width: 100%; }

.selectric {
  background: #fff;
  padding: 12px;
  padding: 0.75rem;
  line-height: 1;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .selectric i {
    line-height: 0.5; }

.selectric .label {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  border-right: 1px solid #cccccc;
  padding: 5px 15px 5px 10px;
  padding: 0.3125rem 0.9375rem 0.3125rem 0.625rem;
  margin: 0 10px 0 0;
  margin: 0 0.625rem 0 0; }

.selectric-open {
  z-index: 9999; }

.selectric-open .selectric {
  box-shadow: 0 0px 1px 1px rgba(0, 0, 0, 0.2); }
  .selectric-open .selectric i {
    transform: rotate(180deg); }

.selectric-open .selectric-items {
  display: block; }

.selectric-disabled {
  filter: alpha(opacity=50);
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  cursor: default;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.selectric-hide-select {
  position: relative;
  overflow: hidden;
  width: 0;
  height: 0; }

.selectric-hide-select select {
  position: absolute;
  left: -100%; }

.selectric-hide-select.selectric-is-native {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 10; }

.selectric-hide-select.selectric-is-native select {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  border: none;
  z-index: 1;
  box-sizing: border-box;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }

.selectric-input {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 1px !important;
  height: 1px !important;
  outline: none !important;
  border: none !important;
  *font: 0/0 a !important;
  background: none !important; }

.selectric-temp-show {
  position: absolute !important;
  visibility: hidden !important;
  display: block !important; }

/* Items box */
.selectric-items {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  transition: 0.1s all ease-out;
  border-top: 1px solid #ececec;
  box-shadow: 0 2px 1px 1px rgba(0, 0, 0, 0.2); }

.selectric-items .selectric-scroll {
  height: 100%;
  overflow: auto; }

.selectric-above .selectric-items {
  top: auto;
  bottom: 100%; }

.selectric-items ul, .selectric-items li {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 16px;
  font-size: 1rem; }

.selectric-items li {
  display: block;
  padding: 10px 0 10px 20px;
  padding: 0.625rem 0 0.625rem 1.25rem;
  cursor: pointer;
  transition: 0.1s all ease-out;
  position: relative; }

.selectric-items li.highlighted,
.selectric-items li.selected {
  color: #cccccc; }

.selectric-items li:hover {
  background-color: #f2f2f2; }

.selectric-items .disabled {
  filter: alpha(opacity=50);
  opacity: 0.5;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  cursor: default !important;
  background: none !important;
  color: #666 !important;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.selectric-items .selectric-group .selectric-group-label {
  font-weight: bold;
  padding-left: 10px;
  cursor: default;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background: none;
  color: #444; }

.selectric-items .selectric-group.disabled li {
  filter: alpha(opacity=100);
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }

.selectric-items .selectric-group li {
  padding-left: 25px; }

.contact {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 0;
  padding: 0.625rem 0; }
  .contact:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .contact {
      padding-left: 15px;
      padding-right: 15px; } }
  .contact .contact-intro {
    text-align: center; }
  .contact .buttons-set {
    display: -ms-flexbox;
    display: flex; }
    .contact .buttons-set .required {
      -ms-flex: 1;
          flex: 1; }

.contact-form--wrapper {
  margin: 0 auto; }
  @media screen and (min-width: 1024px) {
    .contact-form--wrapper {
      width: 60%; } }
  @media screen and (min-width: 1280px) {
    .contact-form--wrapper {
      width: 40%; } }
  .contact-form--wrapper .contact-form .fields em {
    margin-left: 2px; }
  .contact-form--wrapper .contact-form select,
  .contact-form--wrapper .contact-form input,
  .contact-form--wrapper .contact-form textarea {
    padding: 12px 8px; }
  .contact-form--wrapper .contact-form select {
    padding-right: 48px; }
  .contact-form--wrapper .contact-form--required-fields {
    float: left;
    display: block; }
  .contact-form--wrapper .recaptcha-container {
    overflow: hidden; }
    .contact-form--wrapper .recaptcha-container .recaptcha-list {
      display: block;
      margin: 0 0 16px 0;
      padding: 0;
      list-style-type: none; }
      @media screen and (min-width: 768px) {
        .contact-form--wrapper .recaptcha-container .recaptcha-list {
          margin: 0;
          float: left;
          width: auto; } }
    .contact-form--wrapper .recaptcha-container .buttons-set.form-buttons {
      display: block; }
      @media screen and (min-width: 768px) {
        .contact-form--wrapper .recaptcha-container .buttons-set.form-buttons {
          float: right;
          width: auto; } }
      .contact-form--wrapper .recaptcha-container .buttons-set.form-buttons button {
        padding: 12px 20px; }

.tabs.root {
  overflow: hidden; }
  .tabs.root > ul {
    padding: 0;
    margin: 0;
    list-style: none;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    display: none; }
    .tabs.root > ul:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 1470px) {
      .tabs.root > ul {
        padding-left: 15px;
        padding-right: 15px; } }
    @media screen and (min-width: 768px) {
      .tabs.root > ul {
        display: -ms-flexbox;
        display: flex; } }
    .tabs.root > ul > li {
      -ms-flex-positive: 1;
          flex-grow: 1;
      text-align: center; }
      .tabs.root > ul > li.active a {
        color: #000; }
    .tabs.root > ul a {
      display: inline-block; }
  .tabs.root > .content {
    background: #f2f2f2; }
    .tabs.root > .content > div > .inner {
      display: none; }
    .tabs.root > .content > div.active > .inner {
      display: block; }

.tabs.mobile {
  background: #fff;
  margin: 0 -15px; }
  @media screen and (min-width: 768px) {
    .tabs.mobile {
      display: none; } }
  .tabs.mobile ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .tabs.mobile ul li a {
      display: block; }
      .tabs.mobile ul li a i {
        float: right;
        width: 22px;
        height: 22px;
        background: #000;
        font-size: 10px;
        text-align: center;
        color: #fff;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: center;
            justify-content: center;
        -ms-flex-align: center;
            align-items: center; }
        .tabs.mobile ul li a i:before {
          display: block;
          transition: 0.1s all ease-in-out; }
    .tabs.mobile ul li.active a {
      color: #000; }
      .tabs.mobile ul li.active a i:before {
        transform: rotate(180deg);
        transform: rotateZ(180deg); }

.store-switcher {
  position: relative; }
  .store-switcher > a i {
    font-size: 11px;
    font-size: 0.6875rem;
    display: inline-block;
    margin: 0 0 0 5px;
    margin: 0 0 0 0.3125rem;
    transition: 0.1s all ease-out; }
    .active-sw .store-switcher > a i {
      transform: rotateZ(180deg); }
  .active-sw .header .store-switcher > a {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
  .store-switcher > ul {
    display: none; }

.active-sw .top-tip.jBox-Tooltip {
  display: none !important; }

.stores-sw {
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 205%;
  left: -37px;
  right: -10px;
  background: #000;
  padding: 10px 29px 10px 0;
  border-top: 1px solid #343434; }
  .stores-sw li {
    display: block;
    padding: 4px 0;
    padding: 0.25rem 0; }
    .stores-sw li a {
      display: block;
      color: #b2b2b2; }
      .stores-sw li a:hover, .stores-sw li a.selected {
        color: #fff; }
      .stores-sw li a.selected {
        pointer-events: none; }

.checkout-cart-index .breadcrumbs {
  border: none; }

.checkout-cart-index .block-page-heading {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .checkout-cart-index .block-page-heading:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .checkout-cart-index .block-page-heading {
      padding-left: 15px;
      padding-right: 15px; } }

.checkout-cart-index .page-title h1 {
  margin: 0; }

.checkout-cart-index .checkout-types {
  list-style: none;
  margin: 0;
  padding: 0; }

.checkout-cart-index .cart-collaterals.bottom .checkout-types li {
  display: block;
  margin: 15px 0;
  margin: 0.9375rem 0; }
  @media screen and (min-width: 768px) {
    .checkout-cart-index .cart-collaterals.bottom .checkout-types li {
      display: inline-block;
      margin: 0 0.375rem; } }
  @media screen and (min-width: 992px) {
    .checkout-cart-index .cart-collaterals.bottom .checkout-types li {
      margin: 0 0.9375rem; } }
  .checkout-cart-index .cart-collaterals.bottom .checkout-types li .button {
    width: 100%; }
    @media screen and (min-width: 992px) {
      .checkout-cart-index .cart-collaterals.bottom .checkout-types li .button {
        width: auto; } }

.cart-has-items .checkout-steps-container,
.onestepcheckout-index-index .checkout-steps-container {
  display: none; }

.cart-has-items .site-quick-access,
.cart-has-items .site-footer,
.cart-has-items .site-top-links li:first-child,
.onestepcheckout-index-index .site-quick-access,
.onestepcheckout-index-index .site-footer,
.onestepcheckout-index-index .site-top-links li:first-child {
  display: none !important; }

.cart-has-items .category-description,
.cart-has-items .cart-collaterals.top,
.onestepcheckout-index-index .category-description,
.onestepcheckout-index-index .cart-collaterals.top {
  display: none !important; }
  @media screen and (min-width: 768px) {
    .cart-has-items .category-description,
    .cart-has-items .cart-collaterals.top,
    .onestepcheckout-index-index .category-description,
    .onestepcheckout-index-index .cart-collaterals.top {
      display: none !important; } }
  @media screen and (min-width: 992px) {
    .cart-has-items .category-description,
    .cart-has-items .cart-collaterals.top,
    .onestepcheckout-index-index .category-description,
    .onestepcheckout-index-index .cart-collaterals.top {
      display: block !important; } }

.cart-has-items .block-page-heading h1,
.onestepcheckout-index-index .block-page-heading h1 {
  margin: 0;
  font-size: 14px;
  font-size: 0.875rem; }

.cart-has-items .site-footer-container,
.onestepcheckout-index-index .site-footer-container {
  border-top: none !important; }

.cart-has-items .subcategory-grid,
.onestepcheckout-index-index .subcategory-grid {
  padding: 0 !important; }

.cart-has-items .item .product-size p,
.onestepcheckout-index-index .item .product-size p {
  font-size: 12px !important;
  font-size: 0.75rem !important;
  text-transform: none;
  margin: 0 !important;
  color: #b2b2b2; }

.cart-collaterals > .button i,
.cart-content .head .btn-continue i {
  font-size: 14px !important;
  line-height: 0 !important;
  vertical-align: middle;
  padding: 0 6px 0 0;
  margin: -1px 0 0; }

.cart-collaterals {
  padding: 30px 0;
  padding: 1.875rem 0;
  border-top: 1px solid #cccccc;
  margin: 20px 0 0;
  margin: 1.25rem 0 0; }
  .cart-collaterals:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (min-width: 768px) {
    .cart-collaterals {
      margin: 3.125rem 0 0; } }
  .cart-collaterals > .button {
    float: left;
    display: none; }
    @media screen and (min-width: 768px) {
      .cart-collaterals > .button {
        display: block; } }
  .cart-collaterals ul.checkout-types {
    list-style: none;
    margin: 0;
    padding: 0; }
    @media screen and (min-width: 768px) {
      .cart-collaterals ul.checkout-types {
        float: right;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center; } }
    .cart-collaterals ul.checkout-types li {
      display: inline-block;
      text-align: center;
      margin: 0 15px;
      margin: 0 0.9375rem; }
      .cart-collaterals ul.checkout-types li:last-child {
        margin-right: 0; }
      .cart-collaterals ul.checkout-types li:first-child {
        margin-left: 0; }
    .cart-collaterals ul.checkout-types .paypal-logo a {
      display: block;
      border-color: #cccccc; }
      .cart-collaterals ul.checkout-types .paypal-logo a:hover {
        border-color: #000;
        background: transparent;
        color: #000; }
      .cart-collaterals ul.checkout-types .paypal-logo a span {
        vertical-align: middle; }
      .cart-collaterals ul.checkout-types .paypal-logo a img {
        vertical-align: middle;
        height: 15px;
        padding: 0 0 0 13px;
        display: inline-block;
        margin: 3px 0 0; }
        @media screen and (min-width: 768px) {
          .cart-collaterals ul.checkout-types .paypal-logo a img {
            display: inline-block;
            height: 16px;
            margin: 0 auto; } }
    .cart-collaterals ul.checkout-types .paypal-or {
      display: block;
      text-align: center;
      font-size: 11px;
      font-size: 0.6875rem;
      color: #000; }
      @media screen and (min-width: 768px) {
        .cart-collaterals ul.checkout-types .paypal-or {
          font-size: 1rem; } }

.btn-checkout i {
  font-size: 21px;
  line-height: 0;
  vertical-align: middle; }

.cart-content .wrap {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px; }
  .cart-content .wrap:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .cart-content .wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  .cart-content .wrap:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (min-width: 1320px) {
    .cart-content .wrap {
      padding: 0; } }

.cart-content .head {
  padding: 25px 0; }
  @media screen and (min-width: 768px) {
    .cart-content .head {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; } }
  @media screen and (min-width: 768px) {
    .cart-content .head ul.checkout-types {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; } }
  .cart-content .head .info {
    text-align: center;
    padding: 0 0 15px; }
    @media screen and (min-width: 768px) {
      .cart-content .head .info {
        -ms-flex-positive: 2;
            flex-grow: 2;
        padding: 0; } }
    .cart-content .head .info a {
      text-transform: none;
      margin: 10px 15px;
      margin: 0.625rem 0.9375rem;
      display: block; }
      @media screen and (min-width: 768px) {
        .cart-content .head .info a {
          display: inline-block;
          margin: 0 0.9375rem; } }
      .cart-content .head .info a:hover {
        color: #666666; }
      .cart-content .head .info a i {
        font-size: 21px;
        vertical-align: middle;
        position: relative;
        top: 3px;
        margin: 0 10px 0 0;
        margin: 0 0.625rem 0 0; }
  .cart-content .head img {
    height: 17px;
    vertical-align: middle;
    padding: 0 10px 0 0;
    padding: 0 0.625rem 0 0; }
  .cart-content .head .btn-continue {
    display: none; }
    @media screen and (min-width: 992px) {
      .cart-content .head .btn-continue {
        display: block; } }
  .cart-content .head .btn-checkout {
    display: block;
    width: 100%; }
    @media screen and (min-width: 768px) {
      .cart-content .head .btn-checkout {
        width: auto; } }

.cart-content .cols:after {
  clear: both;
  content: "";
  display: block; }

@media screen and (min-width: 992px) {
  .cart-content .cart-col1 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 65.88078%; }
    .cart-content .cart-col1:last-child {
      margin-right: 0; } }

@media screen and (min-width: 992px) {
  .cart-content .cart-sidebar {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .cart-content .cart-sidebar:last-child {
      margin-right: 0; } }

.cart-content .spend-more {
  text-transform: uppercase;
  background: #000;
  color: #fff;
  padding: 15px;
  padding: 0.9375rem;
  text-align: center;
  margin: 0; }

.cart-content a {
  color: #000; }

.cart-content fieldset {
  border: none; }

.cart-sidebar {
  margin: 15px 0 0;
  margin: 0.9375rem 0 0; }
  @media screen and (min-width: 992px) {
    .cart-sidebar {
      margin: 0; } }
  .cart-sidebar .samples {
    border: 1px solid #cccccc;
    padding: 0 15px;
    padding: 0 0.9375rem;
    margin: 0 0 15px;
    margin: 0 0 0.9375rem;
    min-height: 200px; }
    .cart-sidebar .samples h3 {
      border-bottom: 1px solid #cccccc;
      padding: 15px 0;
      padding: 0.9375rem 0; }
  .cart-sidebar .p-list {
    padding: 20px;
    max-height: 250px;
    overflow: auto; }
    .cart-sidebar .p-list a {
      display: inline-block; }
    .cart-sidebar .p-list > div {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -ms-flex-align: center;
          align-items: center; }
    .cart-sidebar .p-list .image {
      width: 80px; }
    .cart-sidebar .p-list .desc {
      -ms-flex-positive: 2;
          flex-grow: 2; }
    .cart-sidebar .p-list .title {
      color: #000;
      text-align: left;
      margin: 0;
      padding: 0 15px 0 0;
      padding: 0 0.9375rem 0 0; }
    .cart-sidebar .p-list p {
      margin: 0; }
    .cart-sidebar .p-list .button {
      background: transparent;
      border-color: #000;
      width: 20px;
      height: 20px;
      vertical-align: middle;
      box-shadow: 0 0 0 2px #fff inset; }
      .cart-sidebar .p-list .button.secondary, .cart-sidebar .p-list .button.white, .cart-sidebar .p-list .bag .block-cart .checkout-types a.button.continue-shopping-button, .bag .block-cart .checkout-types .cart-sidebar .p-list a.button.continue-shopping-button {
        background-color: #000; }
      .cart-sidebar .p-list .button:hover {
        background-color: rgba(0, 0, 0, 0.5); }

.shopping-cart {
  padding: 0 0 30px;
  padding: 0 0 1.875rem; }
  .shopping-cart .col1 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 40.29137%; }
    .shopping-cart .col1:last-child {
      margin-right: 0; }
    @media screen and (min-width: 768px) {
      .shopping-cart .col1 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 40.29137%; }
        .shopping-cart .col1:last-child {
          margin-right: 0; } }
    @media screen and (min-width: 992px) {
      .shopping-cart .col1 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 48.82117%; }
        .shopping-cart .col1:last-child {
          margin-right: 0; } }
  .shopping-cart .col2 {
    text-align: center;
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%; }
    .shopping-cart .col2:last-child {
      margin-right: 0; }
    @media screen and (min-width: 768px) {
      .shopping-cart .col2 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 23.23176%; }
        .shopping-cart .col2:last-child {
          margin-right: 0; } }
    @media screen and (min-width: 992px) {
      .shopping-cart .col2 {
        float: left;
        display: block;
        margin-right: 2.35765%;
        width: 23.23176%; }
        .shopping-cart .col2:last-child {
          margin-right: 0; } }
  .shopping-cart .col3 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 14.70196%;
    text-align: center; }
    .shopping-cart .col3:last-child {
      margin-right: 0; }
  .shopping-cart .col4 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 6.17215%;
    text-align: right; }
    .shopping-cart .col4:last-child {
      margin-right: 0; }
  .shopping-cart .cart-header {
    margin: 0 0 20px;
    margin: 0 0 1.25rem;
    padding: 20px 0;
    padding: 1.25rem 0;
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
    text-transform: uppercase; }
    .shopping-cart .cart-header:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 480px) {
      .shopping-cart .cart-header {
        display: none; } }
  .shopping-cart .cart-body {
    padding: 15px 0;
    padding: 0.9375rem 0; }
    .shopping-cart .cart-body:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (min-width: 768px) {
      .shopping-cart .cart-body {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center; } }
    .shopping-cart .cart-body input {
      display: block;
      margin: auto;
      max-width: none; }
    @media screen and (min-width: 768px) {
      .shopping-cart .cart-body .col.col1 {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center; } }
    .shopping-cart .cart-body .item-options {
      display: none; }
    .shopping-cart .cart-body .product-image {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 23.23176%;
      text-align: center; }
      .shopping-cart .cart-body .product-image:last-child {
        margin-right: 0; }
      @media screen and (min-width: 768px) {
        .shopping-cart .cart-body .product-image {
          float: left;
          display: block;
          margin-right: 2.35765%;
          width: 23.23176%; }
          .shopping-cart .cart-body .product-image:last-child {
            margin-right: 0; } }
      .shopping-cart .cart-body .product-image img {
        height: auto;
        width: auto; }
    .shopping-cart .cart-body .product-name {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 74.41059%;
      font-size: 18px;
      font-size: 1.125rem;
      text-transform: uppercase;
      font-weight: normal;
      padding: 0 0 0 15px;
      padding: 0 0 0 0.9375rem; }
      .shopping-cart .cart-body .product-name:last-child {
        margin-right: 0; }
      @media screen and (min-width: 768px) {
        .shopping-cart .cart-body .product-name {
          float: left;
          display: block;
          margin-right: 2.35765%;
          width: 74.41059%; }
          .shopping-cart .cart-body .product-name:last-child {
            margin-right: 0; } }
    .shopping-cart .cart-body .qty-remove-wrapper {
      font-weight: normal;
      padding-left: 0;
      margin-left: 0; }
      .shopping-cart .cart-body .qty-remove-wrapper > * {
        width: 30px;
        height: 30px;
        padding: 7px;
        line-height: 1;
        text-align: center;
        min-width: 0px;
        float: none;
        border-radius: 0px;
        display: inline-block;
        border: 1px solid #cccccc !important;
        vertical-align: middle;
        font-family: "Roboto Condensed", sans-serif;
        font-weight: 700;
        font-size: 14px;
        font-size: 0.875rem; }
        @media screen and (min-width: 768px) {
          .shopping-cart .cart-body .qty-remove-wrapper > * {
            width: 37px;
            height: 37px;
            padding: 0.6875rem; } }
      .shopping-cart .cart-body .qty-remove-wrapper a {
        -webkit-font-smoothing: none;
        font-family: Arial !important; }
        .shopping-cart .cart-body .qty-remove-wrapper a:hover {
          background: #000;
          border-color: #000 !important;
          color: #fff; }
      .shopping-cart .cart-body .qty-remove-wrapper input {
        font-weight: normal; }
    .shopping-cart .cart-body .remove {
      display: block;
      line-height: 1;
      color: #666666; }
      .shopping-cart .cart-body .remove:hover {
        color: #1a1a1a; }
      .shopping-cart .cart-body .remove i {
        font-size: 20px;
        font-size: 1.25rem;
        vertical-align: middle; }
      .shopping-cart .cart-body .remove span {
        vertical-align: middle;
        position: relative;
        top: -2px;
        margin: 0 0 0 5px;
        margin: 0 0 0 0.3125rem; }
        @media screen and (min-width: 480px) {
          .shopping-cart .cart-body .remove span {
            display: none; } }

@media screen and (max-width: 480px) {
  .shopping-cart {
    padding: 0 0 0.9375rem; }
    .shopping-cart .cart-body-container {
      border-bottom: 1px solid #cccccc;
      border-top: 1px solid #cccccc; }
    .shopping-cart .cart-body {
      border-bottom: 1px solid #cccccc;
      padding: 0.9375rem 0; }
      .shopping-cart .cart-body:last-child {
        border: 0; }
      .shopping-cart .cart-body .col {
        width: auto;
        float: none;
        padding: 0.3125rem 0; }
        .shopping-cart .cart-body .col:after {
          clear: both;
          content: "";
          display: block; }
        .shopping-cart .cart-body .col:before {
          content: '';
          float: left;
          width: 25%;
          min-width: 100px;
          text-align: left;
          font-size: 0.75rem;
          text-transform: uppercase;
          font-family: "Roboto Condensed", sans-serif;
          font-weight: 700; }
        .shopping-cart .cart-body .col > * {
          float: left; }
      .shopping-cart .cart-body .product-name {
        padding-top: 0.3125rem; }
      .shopping-cart .cart-body .qty-remove-wrapper > * {
        width: 25px;
        height: 25px;
        padding: 0.3125rem; }
      .shopping-cart .cart-body .col2:before {
        content: 'Quantity:';
        padding: 6px 0 0; }
      .shopping-cart .cart-body .col3:before {
        content: 'Price:'; }
      .shopping-cart .cart-body .col3 * {
        vertical-align: top; }
      .shopping-cart .cart-body .col4 {
        text-align: center;
        padding: 10px 0 0; }
        .shopping-cart .cart-body .col4 a {
          background: none;
          width: 100%;
          height: auto;
          text-indent: 0;
          border: 1px solid #000;
          padding: 0.3125rem;
          font-weight: bold; } }

.cart-footer-blocks .wrap {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .cart-footer-blocks .wrap:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .cart-footer-blocks .wrap {
      padding-left: 15px;
      padding-right: 15px; } }
  .cart-footer-blocks .wrap:after {
    clear: both;
    content: "";
    display: block; }

@media screen and (min-width: 768px) {
  .cart-footer-blocks .col1 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 65.88078%; }
    .cart-footer-blocks .col1:last-child {
      margin-right: 0; } }

@media screen and (min-width: 768px) {
  .cart-footer-blocks .col2 {
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 31.76157%; }
    .cart-footer-blocks .col2:last-child {
      margin-right: 0; } }

.shopping-cart-totals {
  border: 2px solid #cccccc;
  padding: 20px 25px;
  padding: 1.25rem 1.5625rem;
  margin: 0 0 15px;
  margin: 0 0 0.9375rem;
  line-height: 1.2; }
  @media screen and (min-width: 768px) {
    .shopping-cart-totals {
      margin: 0;
      padding: 1.875rem 2.5rem; } }
  .shopping-cart-totals .checkout-totals:after {
    clear: both;
    content: "";
    display: block; }
  .shopping-cart-totals .checkout-totals > div {
    margin: 10px 0;
    margin: 0.625rem 0;
    font-size: 16px;
    font-size: 1rem; }
  .shopping-cart-totals .checkout-totals .value {
    text-align: right;
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 23.23176%; }
    .shopping-cart-totals .checkout-totals .value:last-child {
      margin-right: 0; }
  .shopping-cart-totals .checkout-totals .title {
    text-align: left;
    float: left;
    display: block;
    margin-right: 2.35765%;
    width: 74.41059%; }
    .shopping-cart-totals .checkout-totals .title:last-child {
      margin-right: 0; }
  .shopping-cart-totals .bold {
    margin: 30px 0 10px;
    margin: 1.875rem 0 0.625rem;
    text-transform: uppercase; }
    .shopping-cart-totals .bold .value strong,
    .shopping-cart-totals .bold .title strong {
      font-size: 16px;
      font-size: 1rem; }

.cart-empty {
  padding: 50px 0 70px;
  padding: 3.125rem 0 4.375rem;
  text-align: center; }
  .cart-empty p {
    text-align: center;
    text-transform: uppercase;
    margin: 0;
    padding: 10px 0;
    padding: 0.625rem 0;
    color: #000;
    font-size: 18px;
    font-size: 1.125rem; }
  .cart-empty .button {
    display: inline-block; }
  .cart-empty .subcategory-grid {
    padding-bottom: 0;
    margin-top: 0; }
    .cart-empty .subcategory-grid .subcategory-item-container {
      margin-top: 0; }
  .cart-empty .block-new-in .block-title {
    padding-top: 0; }

.empty p {
  text-transform: uppercase;
  text-align: center;
  position: relative; }
  .empty p i {
    display: block;
    font-size: 80px;
    color: #b2b2b2; }

.update-qty-outer {
  width: 100%;
  overflow: hidden;
  display: none;
  padding: 20px 0 15px;
  padding: 1.25rem 0 0.9375rem; }
  @media screen and (max-width: 480px) {
    .update-qty-outer {
      padding: 0 0 0.9375rem; } }
  .update-qty-outer.active {
    display: block; }
  .update-qty-outer button {
    margin: 0;
    width: 100%; }

.checkout-login-index .category-description {
  text-align: center; }

.site-top-links.top-links-minicart {
  display: block !important; }
  .site-top-links.top-links-minicart .border, .site-top-links.top-links-minicart .my-account-mnu, .site-top-links.top-links-minicart .sign-out, .site-top-links.top-links-minicart .icon-bag .ajaxcart_container #header-cart-trigger {
    display: none; }
  .site-top-links.top-links-minicart #header-cart {
    display: block !important;
    top: 16px;
    right: 0px;
    margin-left: 0px;
    margin-right: 0px; }
  .site-top-links.top-links-minicart .icon-bag .block-cart .item {
    width: 100%; }

.btn-mobile-close {
  display: block; }

.cart-promotion {
  text-align: center; }
  .cart-promotion a {
    padding: 0 !important; }
  .cart-promotion img {
    vertical-align: top; }

.cart-recent-products {
  padding: 15px 20px 0;
  padding: 0.9375rem 1.25rem 0;
  text-align: left;
  position: relative; }
  .cart-recent-products > label {
    border-bottom: 1px solid #ccc;
    text-transform: uppercase;
    margin: 0;
    padding: 0 0 15px;
    padding: 0 0 0.9375rem;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 400;
    font-size: 20px;
    font-size: 1.25rem; }

.cart-codes:after {
  clear: both;
  content: "";
  display: block; }

.cart-codes .accordion {
  background: #f1f1f1;
  padding: 15px 20px;
  padding: 0.9375rem 1.25rem; }
  @media screen and (min-width: 768px) {
    .cart-codes .accordion {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%;
      padding: 1.25rem 3.125rem;
      margin-top: 0.9375rem;
      margin-bottom: 0.9375rem; }
      .cart-codes .accordion:last-child {
        margin-right: 0; } }

.cart-codes a.accordion-trigger h3 {
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: normal;
  padding: 15px 0;
  padding: 0.9375rem 0; }

.cart-codes label {
  color: #000 !important;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: normal;
  margin: 0 0 10px;
  margin: 0 0 0.625rem; }

.cart-codes .input-box input {
  display: block;
  width: 100%;
  border: none;
  padding: 17px;
  padding: 1.0625rem;
  text-align: center; }

.cart-codes .primary, .cart-codes .search-panel .button, .search-panel .cart-codes .button, .cart-codes .bag .block-cart .checkout-types a.checkout-button, .bag .block-cart .checkout-types .cart-codes a.checkout-button, .cart-codes .cart-collaterals ul.checkout-types .btn-checkout, .cart-collaterals ul.checkout-types .cart-codes .btn-checkout, .cart-codes .cart-content .head .btn-checkout, .cart-content .head .cart-codes .btn-checkout {
  display: block;
  background: none;
  width: 100%;
  color: #000;
  padding: 20px;
  padding: 1.25rem;
  margin-top: 30px;
  margin-top: 1.875rem; }
  .cart-codes .primary:hover, .cart-codes .search-panel .button:hover, .search-panel .cart-codes .button:hover, .cart-codes .bag .block-cart .checkout-types a.checkout-button:hover, .bag .block-cart .checkout-types .cart-codes a.checkout-button:hover, .cart-codes .cart-collaterals ul.checkout-types .btn-checkout:hover, .cart-collaterals ul.checkout-types .cart-codes .btn-checkout:hover, .cart-codes .cart-content .head .btn-checkout:hover, .cart-content .head .cart-codes .btn-checkout:hover {
    background-color: #000;
    color: #fff; }

.cart-codes .secondary, .cart-codes .white, .cart-codes .bag .block-cart .checkout-types a.continue-shopping-button, .bag .block-cart .checkout-types .cart-codes a.continue-shopping-button {
  display: block;
  background: none;
  width: 100%;
  margin: 5px 0 0;
  margin: 0.3125rem 0 0;
  padding: 10px 0;
  padding: 0.625rem 0;
  border: none; }
  .cart-codes .secondary:hover, .cart-codes .white:hover, .cart-codes .bag .block-cart .checkout-types a.continue-shopping-button:hover, .bag .block-cart .checkout-types .cart-codes a.continue-shopping-button:hover {
    background-color: #000;
    color: #fff; }

.cart-codes fieldset {
  margin: 0;
  padding: 0; }

.checkout-totals.giftcard {
  position: relative; }
  .checkout-totals.giftcard a {
    position: absolute;
    right: 100%;
    top: 50%;
    margin: -8px 12px 0 0;
    margin: -8px 0.75rem 0 0; }
    @media screen and (max-width: 480px) {
      .checkout-totals.giftcard a {
        margin-right: 0.3125rem; } }
  .checkout-totals.giftcard i {
    font-size: 14px;
    vertical-align: middle; }

#gc-please-wait {
  display: block;
  text-align: center;
  padding: 10px;
  padding: 0.625rem;
  background: #000;
  margin: 10px 0;
  margin: 0.625rem 0;
  line-height: 1;
  font-weight: bold;
  color: #fff; }

.gift-card-info {
  border: 1px dashed #000;
  padding: 0 15px;
  padding: 0 0.9375rem;
  margin: 0 0 30px;
  margin: 0 0 1.875rem; }
  .gift-card-info p {
    color: #000; }

#giftcard_balance_lookup .error-msg {
  margin: 0 0 15px;
  margin: 0 0 0.9375rem;
  padding: 10px;
  padding: 0.625rem;
  background: #b30c0c;
  color: #fff;
  font-weight: bold;
  font-size: 12px;
  font-size: 0.75rem;
  text-align: center; }

.discount-applied .code {
  background: #f1f1f1;
  padding: 11px 10px;
  padding: 0.6875rem 0.625rem;
  margin: 5px 0;
  margin: 0.3125rem 0;
  font-size: 12px;
  font-size: 0.75rem; }
  .discount-applied .code > span {
    display: inline-block;
    vertical-align: middle; }
  .discount-applied .code .label {
    width: 45%;
    padding: 0 0 0 2%; }
  .discount-applied .code .action {
    float: right; }
    .discount-applied .code .action a {
      display: block; }
    .discount-applied .code .action i {
      font-size: 16px; }

.gift-wrap {
  position: relative;
  font-size: 12px;
  font-size: 0.75rem;
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 100%; }
  .gift-wrap:last-child {
    margin-right: 0; }
  @media screen and (min-width: 768px) {
    .gift-wrap {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .gift-wrap:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .gift-wrap {
      float: none;
      width: auto;
      margin-right: 0; } }
  .gift-wrap img {
    vertical-align: top; }
  .gift-wrap .content {
    position: absolute;
    top: 60%;
    left: 0;
    right: 0;
    text-align: center;
    color: #fff; }
  .gift-wrap a {
    background: transparent;
    border-color: #fff;
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: middle;
    margin: 0 20px 0 10px;
    margin: 0 1.25rem 0 0.625rem;
    box-shadow: 0 0 0 2px #000 inset; }
    .gift-wrap a.primary, .gift-wrap .search-panel a.button, .search-panel .gift-wrap a.button, .gift-wrap .bag .block-cart .checkout-types a.checkout-button, .bag .block-cart .checkout-types .gift-wrap a.checkout-button, .gift-wrap .cart-collaterals ul.checkout-types a.btn-checkout, .cart-collaterals ul.checkout-types .gift-wrap a.btn-checkout, .gift-wrap .cart-content .head a.btn-checkout, .cart-content .head .gift-wrap a.btn-checkout, .gift-wrap a.primary:hover, .gift-wrap .search-panel a.button:hover, .search-panel .gift-wrap a.button:hover, .gift-wrap .bag .block-cart .checkout-types a.checkout-button:hover, .bag .block-cart .checkout-types .gift-wrap a.checkout-button:hover, .gift-wrap .cart-collaterals ul.checkout-types a.btn-checkout:hover, .cart-collaterals ul.checkout-types .gift-wrap a.btn-checkout:hover, .gift-wrap .cart-content .head a.btn-checkout:hover, .cart-content .head .gift-wrap a.btn-checkout:hover {
      background-color: #fff;
      cursor: default; }
    .gift-wrap a:hover {
      background-color: rgba(255, 255, 255, 0.5); }

.cart-sidebar:after {
  clear: both;
  content: "";
  display: block; }

.cart-sidebar .gift-wrap, .cart-sidebar .promo {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 100%; }
  .cart-sidebar .gift-wrap:last-child, .cart-sidebar .promo:last-child {
    margin-right: 0; }
  @media screen and (min-width: 768px) {
    .cart-sidebar .gift-wrap, .cart-sidebar .promo {
      float: left;
      display: block;
      margin-right: 2.35765%;
      width: 48.82117%; }
      .cart-sidebar .gift-wrap:last-child, .cart-sidebar .promo:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 992px) {
    .cart-sidebar .gift-wrap, .cart-sidebar .promo {
      float: none;
      width: auto;
      margin-right: 0; } }

.cart-sidebar .promo {
  margin-top: 15px;
  margin-top: 0.9375rem; }
  @media screen and (min-width: 768px) {
    .cart-sidebar .promo {
      margin-top: 0; } }
  @media screen and (min-width: 992px) {
    .cart-sidebar .promo {
      margin-top: 0.9375rem; } }

.cart-total-price {
  display: block;
  clear: both;
  padding: 0 40px;
  padding: 0 2.5rem; }
  .cart-total-price label, .cart-total-price span {
    display: block;
    width: 50%;
    float: left;
    padding: 20px 0 15px;
    padding: 1.25rem 0 0.9375rem;
    border-top: 1px solid #ccc;
    font-size: 24px;
    font-size: 1.5rem;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700;
    line-height: 1; }
  .cart-total-price label {
    text-align: left; }

.crosssell {
  border-top: 1px solid #ccc;
  padding: 0 0 50px;
  padding: 0 0 3.125rem; }
  .crosssell h2 {
    font-weight: normal;
    text-transform: uppercase;
    text-align: center;
    margin: 0;
    padding: 30px 0;
    padding: 1.875rem 0; }

/* perfect-scrollbar v0.6.16 */
.ps-container {
  -ms-touch-action: auto;
  touch-action: auto;
  overflow: hidden !important;
  -ms-overflow-style: none; }

@supports (-ms-overflow-style: none) {
  .ps-container {
    overflow: auto !important; } }

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .ps-container {
    overflow: auto !important; } }

.ps-container.ps-active-x > .ps-scrollbar-x-rail,
.ps-container.ps-active-y > .ps-scrollbar-y-rail {
  display: block;
  background-color: transparent; }

.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"; }

.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  background-color: #999;
  height: 11px; }

.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"; }

.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  background-color: #999;
  width: 11px; }

.ps-container > .ps-scrollbar-x-rail {
  display: none;
  position: absolute;
  /* please don't change 'position' */
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: background-color 0.2s linear, opacity 0.2s linear;
  bottom: 0;
  /* there must be 'bottom' for ps-scrollbar-x-rail */
  height: 15px; }

.ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  position: absolute;
  /* please don't change 'position' */
  background-color: #000;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out;
  bottom: 2px;
  /* there must be 'bottom' for ps-scrollbar-x */
  height: 6px; }

.ps-container > .ps-scrollbar-x-rail:active > .ps-scrollbar-x,
.ps-container > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x {
  height: 11px; }

.ps-container > .ps-scrollbar-y-rail {
  display: none;
  position: absolute;
  /* please don't change 'position' */
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  transition: background-color 0.2s linear, opacity 0.2s linear;
  right: 0;
  /* there must be 'right' for ps-scrollbar-y-rail */
  width: 15px; }

.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  position: absolute;
  /* please don't change 'position' */
  background-color: #aaa;
  transition: background-color 0.2s linear, height 0.2s linear, width 0.2s ease-in-out, border-radius 0.2s ease-in-out;
  right: 2px;
  /* there must be 'right' for ps-scrollbar-y */
  width: 6px; }

.ps-container > .ps-scrollbar-y-rail:active > .ps-scrollbar-y,
.ps-container > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y {
  width: 11px; }

.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"; }

.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
  background-color: #999;
  height: 11px; }

.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"; }

.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
  background-color: #000;
  width: 11px; }

.ps-container:hover > .ps-scrollbar-x-rail,
.ps-container:hover > .ps-scrollbar-y-rail {
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; }

.ps-container:hover > .ps-scrollbar-x-rail:hover {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"; }

.ps-container:hover > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x {
  background-color: #999; }

.ps-container:hover > .ps-scrollbar-y-rail:hover {
  background-color: #eee;
  opacity: 0.9;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=90)"; }

.ps-container:hover > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y {
  background-color: #999; }

.cookiemessage {
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  transition: 0.3s bottom ease-out;
  text-align: center;
  background: #000;
  color: #fff;
  z-index: 1000;
  padding: 10px 25px 10px 10px;
  padding: 0.625rem 25px 0.625rem 0.625rem; }
  @media screen and (min-width: 768px) {
    .cookiemessage {
      padding: 0.625rem; } }
  .cookiemessage.inactive {
    bottom: -100px;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
  .cookiemessage p {
    display: inline-block;
    margin: 0;
    color: #eeeeee;
    font-size: 12px;
    font-size: 0.75rem; }
    @media screen and (min-width: 768px) {
      .cookiemessage p {
        font-size: 0.9375rem; } }
    .cookiemessage p strong {
      font-weight: normal; }
    .cookiemessage p a {
      color: #f54a36;
      font-weight: 700; }
      .cookiemessage p a * {
        font-size: inherit !important; }
  .cookiemessage .btn-cookie-accept {
    position: absolute;
    right: 5px;
    top: 15px;
    color: #fff;
    margin: -9px 0 0; }
    @media screen and (min-width: 768px) {
      .cookiemessage .btn-cookie-accept {
        top: 50%;
        right: 15px;
        cursor: pointer; } }
    .cookiemessage .btn-cookie-accept i {
      font-size: 18px;
      vertical-align: top; }

iframe#iframeRegCard {
  height: 518px;
  width: 100%;
  border: 1px solid #666;
  padding: 0 20px; }

iframe#sagepaydirectpro-iframe-post {
  height: 500px;
  width: 100%;
  border: none; }

div#direct3d-logos {
  width: 351px;
  margin: 0 auto;
  margin-top: 5px; }

div#direct3d-logos img {
  padding-right: 10px; }

div.sagecardh1 h1 {
  display: inline; }

div.sagecardh1 img {
  padding-top: 12px;
  padding-left: 10px; }

select#sagepaytoken_start_yr,
select#sagepaytoken_start,
select#sagepaytoken_expiration_yr,
select#sagepaytoken_expiration {
  width: 125px; }

select#sagepaytoken_start,
select#sagepaytoken_expiration {
  margin-right: 10px; }

form#frmRegCard input.cvv {
  width: 3em !important; }

.sidebar .sagepaysuite-logo {
  display: block;
  margin: 10px 0;
  text-align: center; }

.sidebar .sagepaysuite-logo a {
  float: none; }

#sagepaydirectpro_cc_type_cvv_div .cvv-what-is-this {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 48.82117%;
  display: block;
  font-size: 15px;
  padding: 16px;
  text-align: left;
  color: #666666;
  cursor: help; }
  #sagepaydirectpro_cc_type_cvv_div .cvv-what-is-this:last-child {
    margin-right: 0; }
  #sagepaydirectpro_cc_type_cvv_div .cvv-what-is-this:hover {
    color: #1a1a1a; }

#payment_form_sagepaydirectpro label {
  display: block; }

#payment_form_sagepaydirectpro .input-box:after {
  clear: both;
  content: "";
  display: block; }

#payment_form_sagepaydirectpro .v-fix {
  float: left;
  display: block;
  margin-right: 2.35765%;
  width: 48.82117%; }
  #payment_form_sagepaydirectpro .v-fix:last-child {
    margin-right: 0; }

#payment_form_sagepaydirectpro .required em {
  color: #ff5255;
  display: inline-block;
  margin: 0 7px 0 -13px;
  font-style: normal; }

#sagepaydirectpro_cc_type_ss_div ul > li {
  padding: 5px 0; }

#payment_form_sagepaydirectpro {
  padding-top: 15px;
  padding-top: 0.9375rem; }

li.cc_nickname_checkbox {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row-reverse;
      flex-flow: row-reverse;
  padding: 0 0 10px;
  padding: 0 0 0.625rem; }
  li.cc_nickname_checkbox input {
    width: 25px;
    margin: 0 5px 0 0;
    margin: 0 0.3125rem 0 0; }

.forgot-password,
.account-create,
.reset-forgot-password,
.my-account-wrapper .account-content {
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto; }
  .forgot-password:after,
  .account-create:after,
  .reset-forgot-password:after,
  .my-account-wrapper .account-content:after {
    clear: both;
    content: "";
    display: block; }
  @media screen and (max-width: 1470px) {
    .forgot-password,
    .account-create,
    .reset-forgot-password,
    .my-account-wrapper .account-content {
      padding-left: 15px;
      padding-right: 15px; } }

.account-create,
.account-login,
.forgot-password,
.my-account,
.reset-forgot-password {
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
  padding-top: 50px;
  padding-top: 3.125rem; }
  .account-create h2,
  .account-login h2,
  .forgot-password h2,
  .my-account h2,
  .reset-forgot-password h2 {
    margin: 0; }
  .account-create .buttons-set,
  .account-login .buttons-set,
  .forgot-password .buttons-set,
  .my-account .buttons-set,
  .reset-forgot-password .buttons-set {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .account-create .buttons-set a,
    .account-login .buttons-set a,
    .forgot-password .buttons-set a,
    .my-account .buttons-set a,
    .reset-forgot-password .buttons-set a {
      color: #000;
      padding-top: 10px;
      padding-top: 0.625rem; }
  .account-create em,
  .account-login em,
  .forgot-password em,
  .my-account em,
  .reset-forgot-password em {
    display: none; }

.my-account {
  padding-top: 10px;
  padding-top: 0.625rem; }

.my-account-wrapper .promo-bar-top--wrapper,
.my-account-wrapper .promo-message {
  display: none !important; }

.my-account-wrapper .main {
  background: #fff; }

.my-account-wrapper .page-title {
  padding-bottom: 30px;
  padding-bottom: 1.875rem; }
  @media screen and (min-width: 992px) {
    .my-account-wrapper .page-title h1 {
      border-top: 0;
      padding-top: 0; } }
  @media screen and (min-width: 992px) {
    .my-account-wrapper .page-title h1 {
      padding-top: 1.875rem; } }

@media screen and (min-width: 992px) {
  .my-account-wrapper .col2-left-layout {
    display: -ms-flexbox;
    display: flex; }
  .my-account-wrapper .col-main {
    -ms-flex: 2;
        flex: 2;
    padding-right: 1.875rem; } }

.my-account-wrapper .col-side {
  display: none;
  -ms-flex: 1;
      flex: 1; }
  @media screen and (min-width: 992px) {
    .my-account-wrapper .col-side {
      display: block; } }

.account-navigation {
  text-align: left;
  background: #f2f2f2;
  padding: 15px 0;
  padding: 0.9375rem 0; }
  @media screen and (min-width: 992px) {
    .account-navigation {
      text-align: center; } }
  .account-navigation > .block {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto; }
    .account-navigation > .block:after {
      clear: both;
      content: "";
      display: block; }
    @media screen and (max-width: 1470px) {
      .account-navigation > .block {
        padding-left: 15px;
        padding-right: 15px; } }
  .account-navigation ul {
    display: block;
    list-style: none;
    padding: 0;
    margin: 0; }
    @media screen and (min-width: 992px) {
      .account-navigation ul {
        display: inline-block; } }
    .account-navigation ul li {
      margin-bottom: 10px;
      margin-bottom: 0.625rem; }
      @media screen and (min-width: 992px) {
        .account-navigation ul li {
          display: inline;
          margin-right: 0.9375rem;
          margin-bottom: 0; } }
      .account-navigation ul li.current a {
        color: #000; }
    .account-navigation ul li:last-child {
      margin-right: 0; }
    .account-navigation ul a {
      color: #666666; }
      .account-navigation ul a strong {
        font-weight: normal; }
      .account-navigation ul a:hover {
        color: #000;
        border-color: #000; }

.dashboard .messages {
  margin: 0 0 15px;
  margin: 0 0 0.9375rem; }

.dashboard .welcome-msg {
  margin: 0 0 50px;
  margin: 0 0 3.125rem; }
  .dashboard .welcome-msg .hello {
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700;
    font-size: 32px;
    font-size: 2rem; }
  .dashboard .welcome-msg p {
    margin: 0; }

.dashboard .col2-set {
  display: block;
  padding: 0; }
  @media screen and (min-width: 992px) {
    .dashboard .col2-set {
      display: -ms-flexbox;
      display: flex; } }
  .dashboard .col2-set .col-1,
  .dashboard .col2-set .col-2 {
    background: #f2f2f2;
    padding: 30px;
    padding: 1.875rem;
    margin-top: 30px;
    margin-top: 1.875rem;
    width: 100%; }
    @media screen and (min-width: 992px) {
      .dashboard .col2-set .col-1,
      .dashboard .col2-set .col-2 {
        width: 50%; } }
  @media screen and (min-width: 992px) {
    .dashboard .col2-set .col-1 {
      margin-right: 0.9375rem; }
    .dashboard .col2-set .col-2 {
      margin-left: 0.9375rem; } }

.dashboard h2 {
  text-transform: uppercase; }

.dashboard h3 {
  padding: 0 0 10px 0;
  padding: 0 0 0.625rem 0;
  text-transform: uppercase; }

.dashboard .box-recent {
  margin: 50px 0;
  margin: 3.125rem 0; }
  .dashboard .box-recent .box-head {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding: 0 0 15px;
    padding: 0 0 0.9375rem; }
    .dashboard .box-recent .box-head .button {
      display: inline-block;
      margin: 0 0 0 15px;
      margin: 0 0 0 0.9375rem; }
  .dashboard .box-recent .data-table {
    border-top: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
    padding: 10px 0;
    padding: 0.625rem 0; }

.dashboard .dashboard-addresses {
  margin-top: 30px;
  margin-top: 1.875rem; }
  @media screen and (min-width: 992px) {
    .dashboard .dashboard-addresses {
      background: #f2f2f2; }
      .dashboard .dashboard-addresses h2 {
        padding: 1.875rem 1.875rem 0 1.875rem;
        text-transform: uppercase; } }
  .dashboard .dashboard-addresses address {
    margin-bottom: 10px;
    margin-bottom: 0.625rem; }
  @media screen and (min-width: 992px) {
    .dashboard .dashboard-addresses .col-1,
    .dashboard .dashboard-addresses .col-2 {
      margin-top: 0; } }

.dashboard .info-box a {
  display: inline-block; }

.forgot-password {
  max-width: 500px; }

.account-create .col2-set {
  display: block;
  padding: 0; }
  @media screen and (min-width: 992px) {
    .account-create .col2-set {
      display: -ms-flexbox;
      display: flex; } }

.account-create .col-1,
.account-create .col-2 {
  width: 100%; }
  @media screen and (min-width: 992px) {
    .account-create .col-1,
    .account-create .col-2 {
      padding-left: 1.875rem;
      width: 50%; } }

.account-create .col-2 {
  margin-top: 30px;
  margin-top: 1.875rem; }
  @media screen and (min-width: 992px) {
    .account-create .col-2 {
      margin-top: 0; } }

@media screen and (min-width: 992px) {
  .account-create .col-1 {
    padding-left: 0;
    padding-right: 0.9375rem; } }

.reset-forgot-password .col2-set {
  display: block;
  padding: 0; }
  .reset-forgot-password .col2-set .col-1,
  .reset-forgot-password .col2-set .col-2 {
    width: 100%; }

@media screen and (min-width: 992px) {
  .reset-forgot-password .col2-set {
    display: -ms-flexbox;
    display: flex; }
  .reset-forgot-password .col-1,
  .reset-forgot-password .col-2 {
    width: 50%; }
  .reset-forgot-password .col-1 {
    padding-right: 0.9375rem; }
  .reset-forgot-password .col-2 {
    padding-left: 0.9375rem; } }

body.sales-order-history .pager {
  border-top: 1px solid #cccccc;
  padding: 15px 0 0;
  padding: 0.9375rem 0 0;
  margin: 30px 0 0;
  margin: 1.875rem 0 0; }
  body.sales-order-history .pager p.amount {
    display: none; }
  body.sales-order-history .pager .limiter {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
    body.sales-order-history .pager .limiter label {
      margin: 0; }
    body.sales-order-history .pager .limiter select {
      margin: 0 15px;
      margin: 0 0.9375rem; }

#my-orders-table {
  width: 100%; }
  #my-orders-table th {
    text-align: left;
    padding: 10px 15px;
    padding: 0.625rem 0.9375rem; }
  #my-orders-table td {
    padding: 10px 15px;
    padding: 0.625rem 0.9375rem;
    text-align: left; }
  #my-orders-table em {
    display: block; }

.account-content .title-buttons {
  text-align: left; }
  .account-content .title-buttons h1 {
    margin: 0 0 15px;
    margin: 0 0 0.9375rem; }
  .account-content .title-buttons a {
    display: inline-block; }

.order-info-box, .order-details {
  padding: 0 0 15px;
  padding: 0 0 0.9375rem; }
  .order-info-box h2, .order-details h2 {
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    margin: 15px 0;
    margin: 0.9375rem 0; }

body.newsletter-manage-index .my-account > form ul {
  margin: 0;
  padding: 30px 0;
  padding: 1.875rem 0; }

.account-login .col2-set {
  display: block; }
  @media screen and (min-width: 992px) {
    .account-login .col2-set {
      display: -ms-flexbox;
      display: flex; } }

@media screen and (min-width: 992px) {
  .account-login .col-1 {
    border-right: 1px solid #eee; } }

.account-login .col-1,
.account-login .col-2 {
  width: 100%; }
  @media screen and (min-width: 992px) {
    .account-login .col-1,
    .account-login .col-2 {
      padding-left: 3.125rem;
      width: 50%; } }

.account-login .col-2 {
  margin-top: 30px;
  margin-top: 1.875rem; }
  @media screen and (min-width: 992px) {
    .account-login .col-2 {
      margin-top: 0; } }

@media screen and (min-width: 992px) {
  .account-login .col-1 {
    padding-left: 0;
    padding-right: 1.875rem; } }

a.quick-link {
  padding: 8px 16px;
  border-radius: 14px;
  background: #fff;
  color: #010101;
  display: inline-block;
  margin-right: 8px;
  font-size: 12px;
  font-weight: bold;
  text-transform: uppercase; }
  a.quick-link:hover {
    color: #343434; }

.category-quick-links {
  padding-top: 32px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  overflow: auto; }
  .category-quick-links .quick-link {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX2JveC1zaXppbmcuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvc2xpY2stY2Fyb3VzZWwvc2xpY2svc2xpY2suc2NzcyIsInN0eWxlLmNzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX25vcm1hbGl6ZS1taXhpbi5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsImFwcC9fZm9udHMuc2NzcyIsImFwcC9faWNvbnMuc2NzcyIsImFwcC9faGVscGVycy5zY3NzIiwiYXBwL21hZ2UvX2JvZHkuc2NzcyIsImFwcC9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL25lYXQvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9ncmlkL19tZWRpYS5zY3NzIiwiPG5vIHNvdXJjZT4iLCJhcHAvbWFnZS9faGVhZGVyLnNjc3MiLCJhcHAvbWFnZS9fZ3JpZC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCJhcHAvX2dyaWQtc2V0dGluZ3Muc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3NwYW4tY29sdW1ucy5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fcHJpdmF0ZS5zY3NzIiwiYXBwL21hZ2UvX3R5cGUuc2NzcyIsImFwcC9fbWl4aW5zLnNjc3MiLCJhcHAvbWFnZS9fYnJlYWRjcnVtYnMuc2NzcyIsImFwcC9tYWdlL19hbGVydHMuc2NzcyIsImFwcC9tYWdlL19hY2NvcmRpb24uc2NzcyIsImFwcC9tYWdlL19idXR0b25zLnNjc3MiLCJhcHAvbWFnZS9fY2hlY2tvdXQuc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX3BhZC5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9uZWF0L2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ3JpZC9fb21lZ2Euc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHJpdmF0ZS5zY3NzIiwiYXBwL21hZ2UvX2Ntcy5zY3NzIiwiYXBwL21hZ2UvX2Zvb3Rlci5zY3NzIiwiYXBwL21hZ2UvX2Zvb3Rlci1wcm9tb3Muc2NzcyIsIi4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbmVhdC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dyaWQvX2ZpbGwtcGFyZW50LnNjc3MiLCJhcHAvbWFnZS9faG9tZS5zY3NzIiwiYXBwL21hZ2UvX2ltYWdlcy5zY3NzIiwiYXBwL21hZ2UvX25hdi5zY3NzIiwiYXBwL21hZ2UvX2xheW91dC5zY3NzIiwiYXBwL21hZ2UvX3Byb2R1Y3QtbGlzdGVyLnNjc3MiLCJhcHAvbWFnZS9fcHJvZHVjdC1kZXRhaWwuc2NzcyIsImFwcC9tYWdlL19tb2RhbC5zY3NzIiwiYXBwL21hZ2UvX3Jldmlld3Muc2NzcyIsImFwcC9tYWdlL19zbGlkZXIuc2NzcyIsImFwcC9tYWdlL19mb3JtLnNjc3MiLCJhcHAvbWFnZS9fc2VsZWN0LnNjc3MiLCJhcHAvbWFnZS9fY29udGFjdC5zY3NzIiwiYXBwL21hZ2UvX3RhYnMuc2NzcyIsImFwcC9tYWdlL19zdG9yZS1zd2l0Y2hlci5zY3NzIiwiYXBwL21hZ2UvX2NhcnQuc2NzcyIsImFwcC9tYWdlL19zY3JvbGxiYXIuc2NzcyIsImFwcC9tYWdlL19jb29raWVzLnNjc3MiLCJhcHAvbWFnZS9fc2FnZXBheS5zY3NzIiwiYXBwL21hZ2UvYWNjb3VudC9fZ2VuZXJhbC5zY3NzIiwiYXBwL21hZ2UvYWNjb3VudC9fbXktYWNjb3VudC5zY3NzIiwiYXBwL21hZ2UvYWNjb3VudC9fbmF2aWdhdGlvbi5zY3NzIiwiYXBwL21hZ2UvYWNjb3VudC9fZGFzaGJvYXJkLnNjc3MiLCJhcHAvbWFnZS9hY2NvdW50L19mb3Jnb3QtcGFzc3dvcmQuc2NzcyIsImFwcC9tYWdlL2FjY291bnQvX2FjY291bnQtY3JlYXRlLnNjc3MiLCJhcHAvbWFnZS9hY2NvdW50L19yZXNldC1mb3Jnb3QtcGFzc3dvcmQuc2NzcyIsImFwcC9tYWdlL2FjY291bnQvX29yZGVycy5zY3NzIiwiYXBwL21hZ2UvYWNjb3VudC9fbmV3c2xldHRlci5zY3NzIiwiYXBwL21hZ2UvYWNjb3VudC9fbG9naW4uc2NzcyIsImFwcC9tYWdlL19xdWljay1saW5rcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdFO0VBQ0UsdUJBQXNCLEVBQ3ZCOztBQUdDO0VBR0Usb0JBQW1CLEVBQ3BCOztBQ1pMLFlBQVk7QUFFWjtFQUNJLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2QsdUJBQXNCO0VBQ3RCLDRCQUEyQjtFQUMzQiwwQkFBeUI7RUFFekIsdUJBQXNCO0VBQ3RCLHNCQUFxQjtFQUNyQixrQkFBaUI7RUFDakIsd0JBQXVCO0VBQ3ZCLG9CQUFtQjtFQUNuQix5Q0FBd0MsRUFDM0M7O0FBQ0Q7RUFDSSxtQkFBa0I7RUFDbEIsaUJBQWdCO0VBQ2hCLGVBQWM7RUFDZCxVQUFTO0VBQ1QsV0FBVSxFQVViO0VBZkQ7SUFRUSxjQUFhLEVBQ2hCO0VBRUQ7SUFDSSxnQkFBZTtJQUNmLGFBQVksRUFDZjs7QUFFTDs7RUFNSSxnQ0FBK0IsRUFDbEM7O0FBRUQ7RUFDSSxtQkFBa0I7RUFDbEIsUUFBTztFQUNQLE9BQU07RUFDTixlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLG1CQUFrQixFQWVyQjtFQXJCRDtJQVVRLFlBQVc7SUFDWCxlQUFjLEVBQ2pCO0VBRUQ7SUFDSSxZQUFXLEVBQ2Q7RUFFRDtJQUNJLG1CQUFrQixFQUNyQjs7QUFFTDtFQUNJLFlBQVc7RUFDWCxhQUFZO0VBQ1osZ0JBQWU7RUFXZixjQUFhLEVBbUJoQjtFQ25DQztJRE9NLGFBQVksRUFDZjtFQUNEO0lBQ0ksZUFBYyxFQUNqQjtFQUNEO0lBQ0ksY0FBYSxFQUNoQjtFQUlEO0lBQ0kscUJBQW9CLEVBQ3ZCO0VBRUQ7SUFDSSxlQUFjLEVBQ2pCO0VBRUQ7SUFDSSxtQkFBa0IsRUFDckI7RUFFRDtJQUNJLGVBQWM7SUFDZCxhQUFZO0lBQ1osOEJBQTZCLEVBQ2hDOztBQUVMO0VBQ0ksY0FBYSxFQUNoQjs7QUV0REMsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7Ozs7T0FLRztBSHJETDtFR3dESSx3QkMxQ3VCO0VEMENTLE9BQU87RUFRckMsa0JBQWlCO0VBQUUsT0FBTztFQUU1QiwyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLCtCQUE4QjtFQUFFLE9BQU8sRUFDeEM7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7RUFDRSxVQUFTLEVBQ1Y7O0FBRUQ7O09BRUc7QUFFSDs7Ozs7O0VBTUUsZUFBYyxFQUNmOztBQUVEOzs7T0FHRztBQUVIO0VFOUVGLGVBWHVDO0VGb0dqQyxpQkFBZ0IsRUFFbkI7O0FBb0NEO29GQUNnRjtBQXVDaEY7O09BRUc7QUFFSDs7RUFFRSxlQUFjLEVBQ2Y7O0FBRUQ7O09BRUc7QUFFSDtFQUtJLGlCQ3ZMWSxFRHlMZjs7QUFFRDs7O09BR0c7QUFFSDtFQUNFLHdCQUF1QjtFQUFFLE9BQU87RUFDaEMsVUFBUztFQUFFLE9BQU87RUFDbEIsa0JBQWlCO0VBQUUsT0FBTyxFQUMzQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsZUFBYyxFQUNmOztBQWFEOzs7T0FHRztBQUVIO0VBQ0Usa0NBQWlDO0VBQUUsT0FBTztFQUMxQyxlQUFjO0VBQUUsT0FBTyxFQUN4Qjs7QUFJRDtvRkFDZ0Y7QUFFaEY7OztPQUdHO0FBRUg7RUFDRSw4QkFBNkI7RUFBRSxPQUFPO0VBQ3RDLHNDQUFxQztFQUFFLE9BQU8sRUFDL0M7O0FBRUQ7OztPQUdHO0FBRUg7O0VBRUUsaUJBQWdCLEVBQ2pCOztBQUlEO29GQUNnRjtBQUVoRjs7O09BR0c7QUFFSDtFQUNFLG9CQUFtQjtFQUFFLE9BQU87RUFDNUIsMkJBQTBCO0VBQUUsT0FBTztFQUNuQyxrQ0FBaUM7RUFBRSxPQUFPLEVBQzNDOztBQUVEOztPQUVHO0FBRUg7O0VBRUUscUJBQW9CLEVBQ3JCOztBQUVEOztPQUVHO0FBUEg7O0VBV0Usb0JBQW1CLEVBQ3BCOztBQUVEOzs7T0FHRztBQUVIOzs7RUFHRSxrQ0FBaUM7RUFBRSxPQUFPO0VBQzFDLGVBQWM7RUFBRSxPQUFPLEVBQ3hCOztBQUVEOztPQUVHO0FBRUg7RUFDRSxtQkFBa0IsRUFDbkI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLHVCQUFzQjtFQUN0QixZQUFXLEVBQ1o7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGVBQWMsRUFDZjs7QUFFRDs7O09BR0c7QUFFSDs7RUFFRSxlQUFjO0VBQ2QsZUFBYztFQUNkLG1CQUFrQjtFQUNsQix5QkFBd0IsRUFDekI7O0FBRUQ7RUFDRSxnQkFBZSxFQUNoQjs7QUFFRDtFQUNFLFlBQVcsRUFDWjs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDs7RUFFRSxzQkFBcUIsRUFDdEI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGNBQWE7RUFDYixVQUFTLEVBQ1Y7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLG1CQUFrQixFQUNuQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsaUJBQWdCLEVBQ2pCOztBQUlEO29GQUNnRjtBQUVoRjs7O09BR0c7QUFFSDs7Ozs7RUFLRSx3QkN6WnVCO0VEeVpTLE9BQU87RUFDdkMsZ0JBQWU7RUFBRSxPQUFPO0VBS3RCLGtCQUFpQjtFQUFFLE9BQU87RUFFNUIsVUFBUztFQUFFLE9BQU8sRUFDbkI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLGtCQUFpQixFQUNsQjs7QUFFRDs7O09BR0c7QUFFSDs7RUFDUyxPQUFPO0VBQ2QscUJBQW9CLEVBQ3JCOztBQUVEOzs7O09BSUc7QUFFSDs7OztFQUlFLDJCQUEwQjtFQUFFLE9BQU8sRUFDcEM7O0FBRUQ7Ozs7RUFLRTs7U0FFRztFQU9IOztTQUVHLEVBS0o7RUFyQkQ7Ozs7SUFVSSxtQkFBa0I7SUFDbEIsV0FBVSxFQUNYO0VBWkg7Ozs7SUFtQkksK0JBQThCLEVBQy9COztBQUdIOztPQUVHO0FBRUg7RUFDRSxrQkFBaUIsRUFDbEI7O0FBRUQ7OztPQUdHO0FEaklQOztFQ3FJTSx1QkFBc0I7RUFBRSxPQUFPO0VBQy9CLFdBQVU7RUFBRSxPQUFPLEVBQ3BCOztBQUVEOztPQUVHO0FEaklQOztFQ3FJTSxhQUFZLEVBQ2I7O0FBRUQ7OztPQUdHO0FEbklQO0VDc0lNLDhCQUE2QjtFQUFFLE9BQU87RUFDdEMscUJBQW9CO0VBQUUsT0FBTztFQUU3Qjs7U0FFRyxFQU1KO0VEeklIO0lDdUlNLHlCQUF3QixFQUN6Qjs7QUFHSDs7O09BR0c7QUFFSDtFQUNFLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsY0FBYTtFQUFFLE9BQU8sRUFDdkI7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLDBCQUF5QjtFQUN6QixjQUFhO0VBQ2IsK0JBQThCLEVBQy9COztBQUVEOzs7OztPQUtHO0FBRUg7RUFDRSx1QkFBc0I7RUFBRSxPQUFPO0VBQy9CLGVBQWM7RUFBRSxPQUFPO0VBQ3ZCLGdCQUFlO0VBQUUsT0FBTztFQUN4QixXQUFVO0VBQUUsT0FBTztFQUNuQixlQUFjO0VBQUUsT0FBTztFQUN2QixvQkFBbUI7RUFBRSxPQUFPLEVBQzdCOztBQUVEOzs7T0FHRztBQUVIO0VBQ0Usc0JBQXFCO0VBQUUsT0FBTztFQUM5Qix5QkFBd0I7RUFBRSxPQUFPLEVBQ2xDOztBQUVEOztPQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBSUQ7b0ZBQ2dGO0FBRWhGOztPQUVHO0FBRUg7RUFDRSxlQUFjLEVBQ2Y7O0FBRUQ7O09BRUc7QUFFSDtFQUNFLG1CQUFrQixFQUNuQjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsZUFBYyxFQXFCZjs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDtFQUNFLHNCQUFxQixFQUN0Qjs7QUFFRDs7T0FFRztBQUVIO0VBQ0UsY0FBYSxFQUNkOztBQUlEO29GQUNnRjtBQUVoRjs7T0FFRztBRDlLUDtFQ2lMTSxjQUFhLEVBQ2Q7O0FHanFCTDtFQUNJLG9CQUFtQjtFQUNuQixvQ0FBbUM7RUFDbkMsNE5BR3NELEVBQUE7O0FDSjFEO0VBQ0Usc0JBQXFCO0VBQ3JCLGdDQUE4QjtFQUM5QiwrTUFHaUQ7RUFDakQsb0JBQW1CO0VBQ25CLG1CQUFrQixFQUFBOztBTG9mcEI7RUsvZUUsaUNBQWdDO0VBQ2hDLHlCQUF3QjtFQUN4Qiw4QkFBNkI7RUFDN0IsK0JBQThCO0VBQzlCLGdDQUErQjtFQUMvQixnQ0FBK0I7RUFDL0IsWUFBVztFQUNYLGVBQWM7RUFDZCxvQ0FBbUM7RUFDbkMsbUNBQWtDLEVBQ25DOztBTGlmRDs7RUs3ZUUsaUNBQWdDO0VBQ2hDLDhCQUE2QjtFQUM3QiwrQkFBOEI7RUFDOUIsZ0NBQStCO0VBQy9CLGdDQUErQjtFQUMvQixZQUFXO0VBQ1gsZUFBYztFQUNkLG9DQUFtQztFQUNuQyxtQ0FBa0MsRUFDbkM7O0FBRUQ7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FBQ0Q7RUFDRSxlQUFjLEVBQ2Y7O0FDckdEO0VBQ0ksV0FBVSxFQUNiOztBQUVEO0VBQ0ksY0FBYSxFQUtoQjtFQUhHO0lBQ0ksZUFBYyxFQUNqQjs7QUFHTDtFQUNJLGNBQWEsRUFDaEI7O0FMME1HO0VLeE1BLFVBQVM7RUFDVCxZQUFXLEVBQ2Q7O0FBS0Q7RUFDSSxZQUFXLEVBQ2Q7O0FBS0Q7RUFDSSwwQkFBeUIsRUFDNUI7O0FBRUQ7RUFDSSxjQUFhO0VBQ2IsbUJBQWtCLEVBQ3JCOztBQUVEO0VBQ0kseUJBQXdCLEVBQzNCOztBQUVEO0VBQ0kseUJBQXdCLEVBQzNCOztBQUVEO0VBQ0kseUJBQXdCLEVBQzNCOztBQUVEO0VBQ0ksNEJBQTJCLEVBQzlCOztBQUNEO0VBUEE7SUFTUSw0QkFBMkIsRUFDOUI7RUFOTDtJQVNRLHlCQUF3QixFQUMzQjtFQWxCTDtJQXFCUSw0QkFBMkIsRUFDOUI7RUFFRDtJQUNJLHlCQUF3QixFQUMzQixFQUFBOztBQUVMO0VBeEJBO0lBMEJRLDRCQUEyQixFQUM5QjtFQXZCTDtJQTBCUSx5QkFBd0IsRUFDM0I7RUF2Q0w7SUEwQ1EsNEJBQTJCLEVBQzlCO0VBRUQ7SUFDSSx5QkFBd0IsRUFDM0IsRUFBQTs7QUFHTDtFQUNJLHlCQUF3QixFQUMzQjs7QUFDRDtFQUhBO0lBS1EsNEJBQTJCLEVBQzlCO0VBRUQ7SUFDSSx5QkFBd0IsRUFDM0IsRUFBQTs7QUN2R0w7O0VBRUksbUJBQWtCO0VBQ2xCLFdBQVM7RUFDVCxZQUFXO0VBQ1gsYUFBWTtFQUNaLG9DQUFtQztFQUNuQyxVQUFTO0VBQ1QsV0FBVTtFQUNWLHVCQ0ZRO0VBa0NSLDRDQVRvQztFRHJCcEMsZUNIVTtFRElWLGlCQUFnQjtFQUNoQixnQkFBZSxFQUlsQjtFRXFFRztJRnRGSjs7TUFlUSxnQkFBZSxFQUV0QixFQUFBOztBTmlFRztFTS9EQSxpQkFBZ0IsRUFDbkI7O0FBQ0Q7RUFDSSxrQkFBaUIsRUFDcEI7O0FBRUQ7RUFDSSxnQkFBZTtFQUNmLE9BQU07RUFDTixTQUFRO0VBQ1IsUUFBTztFQUNQLFVBQVM7RUFDVCwrQkFBOEI7RUFDOUIsY0M4RW9CO0VEN0VwQixxQkFBb0I7RUFDcEIsbUJBQWtCO0VBQ2xCLFdBQVU7RUduQ2QsaUVBQUE7RUhvQ0ksOEJBQTZCLEVBQ2hDOztBSXdORDtFSnJOUSxXQUFVO0VHeENsQixtRUFBQTtFSHlDUSxvQkFBbUI7RUFDbkIsb0JBQW1CLEVBQ3RCOztBSWtOTDtFRDdQQSx5VEFBQTtFSDZDUSxzQkFBcUIsRUFDeEI7O0FBUUw7RUFISSxpQkM1Q1E7RUQ2Q1IsWUMzQ1EsRUQrQ1g7O0FBQ0Q7RUFOSSxpQkM1Q1E7RUQ2Q1IsWUMzQ1EsRURrRFg7O0FBRUQ7RUFDSSxjQUFhO0VBQ2IsOENBQTBDLEVBQzdDOztBQUdEO0VBQ0ksb0JBQW1CLEVBQ3RCOztBS3JFRDtFQzRCRSxrQkMzQmdCO0VENkJkLGtCQUFVO0VBQ1YsbUJBQVcsRUQ3QmQ7RUdpQkM7SUFDRSxZQUFXO0lBQ1gsWUFBVztJQUNYLGVBQWMsRUFDZjs7QUhsQkQ7RUk4REUsWUFBTztFQUdMLGVBQWM7RUFlZCx1QkN0RTBDO0VEdUUxQyxnQkM1RXlDLEVMUzVDO0VJcUVHO0lBQ0UsZ0JBQThCLEVBQy9CO0VQSkg7SUc5RUE7TUkyREEsWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxnQkM1RXlDLEVMRTFDO01BSkE7UUlpRkcsZ0JBQThCLEVBQy9CLEVBQUE7RVBKSDtJR3hFQztNSXFERCxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGdCQzVFeUMsRUxRMUM7TUlzRUM7UUFDRSxnQkFBOEIsRUFDL0IsRUFBQTs7QUpyRkw7RUk4REUsWUFBTztFQUdMLGVBQWM7RUFlZCx1QkN0RTBDO0VEdUUxQyxpQkM1RXlDLEVMUzVDO0VBZEQ7SUlvRk0sZ0JBQThCLEVBQy9CO0VQSkg7SUc5RUE7TUkyREEsWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxpQkM1RXlDLEVMRTFDO01BSkE7UUlpRkcsZ0JBQThCLEVBQy9CLEVBQUE7RVBKSDtJR3hFQztNSXFERCxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxRMUM7TUFKQTtRSTJFRyxnQkFBOEIsRUFDL0IsRUFBQTs7QUpyRkw7RUk4REUsWUFBTztFQUdMLGVBQWM7RUFlZCx1QkN0RTBDO0VEdUUxQyxpQkM1RXlDLEVMUzVDO0VBZEQ7SUlvRk0sZ0JBQThCLEVBQy9CO0VQSkg7SUc5RUM7TUkyREQsWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxpQkM1RXlDLEVMRTFDO01JNEVDO1FBQ0UsZ0JBQThCLEVBQy9CLEVBQUE7RVBKSDtJR3hFQTtNSXFEQSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxRMUM7TUlzRUM7UUFDRSxnQkFBOEIsRUFDL0IsRUFBQTs7QUpyRkw7RUk4REUsWUFBTztFQUdMLGVBQWM7RUFlZCx1QkN0RTBDO0VEdUUxQyxpQkM1RXlDLEVMUzVDO0VJcUVHO0lBQ0UsZ0JBQThCLEVBQy9CO0VQSkg7SUc5RUE7TUkyREEsWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxpQkM1RXlDLEVMRTFDO01JNEVDO1FBQ0UsZ0JBQThCLEVBQy9CLEVBQUE7RVBKSDtJR3hFQTtNSXFEQSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxRMUM7TUFKQTtRSTJFRyxnQkFBOEIsRUFDL0IsRUFBQTs7QUpyRkw7RUk4REUsWUFBTztFQUdMLGVBQWM7RUFlZCx1QkN0RTBDO0VEdUUxQyxpQkM1RXlDLEVMUzVDO0VBZEQ7SUlvRk0sZ0JBQThCLEVBQy9CO0VQSkg7SUc5RUM7TUkyREQsWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxpQkM1RXlDLEVMRTFDO01BSkE7UUlpRkcsZ0JBQThCLEVBQy9CLEVBQUE7RVBKSDtJR3hFQztNSXFERCxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxRMUM7TUlzRUM7UUFDRSxnQkFBOEIsRUFDL0IsRUFBQTs7QUpyRkw7RUk4REUsWUFBTztFQUdMLGVBQWM7RUFlZCx1QkN0RTBDO0VEdUUxQyxpQkM1RXlDLEVMUzVDO0VJcUVHO0lBQ0UsZ0JBQThCLEVBQy9CO0VQSkg7SUc5RUE7TUkyREEsWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxpQkM1RXlDLEVMRTFDO01JNEVDO1FBQ0UsZ0JBQThCLEVBQy9CLEVBQUE7RVBKSDtJR3hFQTtNSXFEQSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxRMUM7TUlzRUM7UUFDRSxnQkFBOEIsRUFDL0IsRUFBQTs7QUpyRkw7RUk4REUsWUFBTztFQUdMLGVBQWM7RUFlZCx1QkN0RTBDO0VEdUUxQyxpQkM1RXlDLEVMUzVDO0VJcUVHO0lBQ0UsZ0JBQThCLEVBQy9CO0VQSkg7SUc5RUE7TUkyREEsWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxpQkM1RXlDLEVMRTFDO01BSkE7UUlpRkcsZ0JBQThCLEVBQy9CLEVBQUE7RVBKSDtJR3hFQTtNSXFEQSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxRMUM7TUlzRUM7UUFDRSxnQkFBOEIsRUFDL0IsRUFBQTs7QUpyRkw7RUk4REUsWUFBTztFQUdMLGVBQWM7RUFlZCx1QkN0RTBDO0VEdUUxQyxpQkM1RXlDLEVMUzVDO0VJcUVHO0lBQ0UsZ0JBQThCLEVBQy9CO0VQSkg7SUc5RUE7TUkyREEsWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxpQkM1RXlDLEVMRTFDO01JNEVDO1FBQ0UsZ0JBQThCLEVBQy9CLEVBQUE7RVBKSDtJR3hFQztNSXFERCxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxRMUM7TUFKQTtRSTJFRyxnQkFBOEIsRUFDL0IsRUFBQTs7QUpyRkw7RUk4REUsWUFBTztFQUdMLGVBQWM7RUFlZCx1QkN0RTBDO0VEdUUxQyxpQkM1RXlDLEVMUzVDO0VBZEQ7SUlvRk0sZ0JBQThCLEVBQy9CO0VQSkg7SUc5RUM7TUkyREQsWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxpQkM1RXlDLEVMRTFDO01BSkE7UUlpRkcsZ0JBQThCLEVBQy9CLEVBQUE7RVBKSDtJR3hFQTtNSXFEQSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxRMUM7TUlzRUM7UUFDRSxnQkFBOEIsRUFDL0IsRUFBQTs7QUpyRkw7RUk4REUsWUFBTztFQUdMLGVBQWM7RUFlZCx1QkN0RTBDO0VEdUUxQyxpQkM1RXlDLEVMUzVDO0VJcUVHO0lBQ0UsZ0JBQThCLEVBQy9CO0VQSkg7SUc5RUE7TUkyREEsWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxpQkM1RXlDLEVMRTFDO01JNEVDO1FBQ0UsZ0JBQThCLEVBQy9CLEVBQUE7RVBKSDtJR3hFQztNSXFERCxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGlCQzVFeUMsRUxRMUM7TUlzRUM7UUFDRSxnQkFBOEIsRUFDL0IsRUFBQTs7QUpyRkw7RUk4REUsWUFBTztFQUdMLGVBQWM7RUFlZCx1QkN0RTBDO0VEdUUxQyxnQkM1RXlDLEVMUzVDO0VJcUVHO0lBQ0UsZ0JBQThCLEVBQy9CO0VQSkg7SUc5RUM7TUkyREQsWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxnQkM1RXlDLEVMRTFDO01BSkE7UUlpRkcsZ0JBQThCLEVBQy9CLEVBQUE7RVBKSDtJR3hFQTtNSXFEQSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLGdCQzVFeUMsRUxRMUM7TUFKQTtRSTJFRyxnQkFBOEIsRUFDL0IsRUFBQTs7QUpyRkw7RUk4REUsWUFBTztFQUdMLGVBQWM7RUFlZCx1QkN0RTBDO0VEdUUxQyxZQzVFeUMsRUxTNUM7RUFkRDtJSW9GTSxnQkFBOEIsRUFDL0I7RVBKSDtJRzlFQTtNSTJEQSxZQUFPO01BR0wsZUFBYztNQWVkLHVCQ3RFMEM7TUR1RTFDLFlDNUV5QyxFTEUxQztNSTRFQztRQUNFLGdCQUE4QixFQUMvQixFQUFBO0VQSkg7SUd4RUE7TUlxREEsWUFBTztNQUdMLGVBQWM7TUFlZCx1QkN0RTBDO01EdUUxQyxZQzVFeUMsRUxRMUM7TUFKQTtRSTJFRyxnQkFBOEIsRUFDL0IsRUFBQTs7QWYrS0g7RWlCeFFBLHNCQUFxQjtFVndIckIscUhBSGtCO0VVbkhsQixZVklRLEVVSFg7O0FBRUQ7RVZnQ0ksa0NBQWlDO0VVOUJqQyxnQkM2QnNCO0VEN0J0QixxQkM2QnNCO0VENUJ0QixpQkFBZ0IsRUFDbkI7O0FBRUQ7RUFDSSxVQUFTLEVBQ1o7O0FBYUQ7RUFDSSxtQkFBa0IsRUFDckI7O0FBR0c7RUFDSSxlQ0lrQjtFREpsQixrQkNJa0IsRURDckI7RVRnREQ7SVN0REE7TUFJUSxrQkNDYyxFRENyQixFQUFBOztBQU5EO0VBQ0ksZ0JDSWtCO0VESmxCLG9CQ0lrQixFRENyQjtFVGdERDtJU3REQTtNQUlRLG9CQ0NjLEVEQ3JCLEVBQUE7O0FBTkQ7RUFDSSxnQkNJa0I7RURKbEIsbUJDSWtCLEVEQ3JCO0VUZ0REO0lTdERBO01BSVEsbUJDQ2MsRURDckIsRUFBQTs7QUFORDtFQUNJLGdCQ0lrQjtFREpsQixvQkNJa0IsRURDckI7RVRnREQ7SVN0REE7TUFJUSxnQkNDYyxFRENyQixFQUFBOztBQU5EO0VBQ0ksZ0JDSWtCO0VESmxCLGdCQ0lrQixFRENyQjtFVGdERDtJU3REQTtNQUlRLG9CQ0NjLEVEQ3JCLEVBQUE7O0FBTkQ7RUFDSSxnQkNJa0I7RURKbEIsb0JDSWtCLEVEQ3JCO0VUZ0REO0lTdERBO01BSVEsa0JDQ2MsRURDckIs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cUIsRUFDeEI7O0FBSVQ7RUFDSSxrQnRDWHNCO0VzQ1d0Qix1QnRDWHNCLEVzQ2lCekI7RUFQRDtJakRDSSw0Q0FoQm9DO0lBaUJwQyxpQkFBZ0I7SWlERVosMEJBQXlCO0lBQ3pCLGVBQW1CO0lBQW5CLG9CQUFtQixFQUN0Qjs7QUNyREw7RUFJZ0IsVUFBUztFQUNULGdCQUFvQjtFQUFwQixvQkFBb0IsRUFDdkI7O0FDTFQ7RUFDSSxlQUFjLEVBS2pCO0VsRCtFRDtJa0RyRkE7TUFJUSxxQkFBYTtNQUFiLGNBQWEsRUFFcEIsRUFBQTs7QWxEK0VEO0VrRHRGSjtJQVdZLDZCQUErQixFQUV0QyxFQUFBOztBQWJMOztFQWlCUSxZQUFXLEVBTWQ7RWxEK0REO0lrRHRGSjs7TUFvQlksdUJ4Q2lCYztNd0NoQmQsV0FBVSxFQUVqQixFQUFBOztBQXZCTDtFQTBCUSxpQnhDV2tCO0V3Q1hsQixxQnhDV2tCLEV3Q05yQjtFbER1REQ7SWtEN0RBO01BSVEsY0FBYSxFQUVwQixFQUFBOztBbER1REQ7RWtEN0VBO0lBMEJRLGdCQUFlO0lBQ2Ysd0J4Q0NjLEV3Q0FqQixFQUFBOztBQ3JDVDtFQUNFLGtCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIsaUJwRE1VO0VvRExWLGVBQWM7RUFDZCxzQkFBcUI7RUFDckIsa0JBQWlCO0VBQ2pCLGdCQUFlO0VBQ2Ysa0JBQWlCO0VBQ2pCLDBCQUF5QixFQUsxQjtFQWREO0lBWUksZUFBNEIsRUFDN0I7O0FBR0g7RUFDRSxrQkFBaUI7RUFDakIscUJBQWE7RUFBYixjQUFhO0VBQ2Isc0JBQWlCO01BQWpCLGtCQUFpQjtFQUNqQixlQUFjLEVBS2Y7RUFIQztJQUNFLG1CQUFjO1FBQWQsZUFBYyxFQUNmIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGlmICRib3JkZXItYm94LXNpemluZyA9PSB0cnVlIHtcbiAgaHRtbCB7IC8vIGh0dHA6Ly9iaXQubHkvMXFrMnRWUlxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAqIHtcbiAgICAmLFxuICAgICY6OmFmdGVyLFxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuIiwiLyogU2xpZGVyICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIiwiaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKiwgKjo6YWZ0ZXIsICo6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zbGljay1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5zbGljay1saXN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zbGljay1saXN0LmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBkaXNwbGF5OiBub25lOyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLnNsaWNrLXNsaWRlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWlzbyc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMzJEQzczXzBfMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvMzJEQzczXzBfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy8zMkRDNzNfMF8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy8zMkRDNzNfMF8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvMzJEQzczXzBfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm5pcGZhYlwiO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL25pcGZhYi5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvbmlwZmFiLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL25pcGZhYi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL25pcGZhYi50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL25pcGZhYi5zdmcjbmlwZmFiXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbltkYXRhLWljb25dOmJlZm9yZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm5pcGZhYlwiICFpbXBvcnRhbnQ7XG4gIGNvbnRlbnQ6IGF0dHIoZGF0YS1pY29uKTtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5bY2xhc3NePVwiaWNuLVwiXTpiZWZvcmUsXG5bY2xhc3MqPVwiIGljbi1cIl06YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwibmlwZmFiXCIgIWltcG9ydGFudDtcbiAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uaWNuLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MVwiOyB9XG5cbi5pY24tdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjJcIjsgfVxuXG4uaWNuLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2M1wiOyB9XG5cbi5pY24tcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NFwiOyB9XG5cbi5pY24teW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjVcIjsgfVxuXG4uaWNuLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjZcIjsgfVxuXG4uaWNuLWxvZ291dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmFcIjsgfVxuXG4uaWNuLWVtYWlsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2ZVwiOyB9XG5cbi5pY24tc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmZcIjsgfVxuXG4uaWNuLW1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDczXCI7IH1cblxuLmljbi12aXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NFwiOyB9XG5cbi5pY24tYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzVcIjsgfVxuXG4uaWNuLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NlwiOyB9XG5cbi5pY24tc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3OFwiOyB9XG5cbi5pY24tYmFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3OVwiOyB9XG5cbi5pY24tdmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2FcIjsgfVxuXG4uaWNuLXVzZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDQxXCI7IH1cblxuLmljbi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjdcIjsgfVxuXG4uaWNuLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY4XCI7IH1cblxuLmljbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2OVwiOyB9XG5cbi5pY24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZiXCI7IH1cblxuLmljbi1zYWQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmNcIjsgfVxuXG46Zm9jdXMge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5ob3Zlci1vbmx5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAudG91Y2gtYWN0aW9uIC5ob3Zlci1vbmx5IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5ociB7XG4gIGJvcmRlcjogMDtcbiAgaGVpZ2h0OiAxcHg7IH1cblxuLmNiIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmRiLWltcG9ydGFudCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udmlzaWJsZS1waG9uZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS10YWJsZXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmhpZGRlbi1kZXNrdG9wIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi52aXNpYmxlLWRlc2t0b3Age1xuICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTc5cHgpIHtcbiAgLmhpZGRlbi1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnZpc2libGUtZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC52aXNpYmxlLXRhYmxldCB7XG4gICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5oaWRkZW4tdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmhpZGRlbi1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnZpc2libGUtZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC52aXNpYmxlLXBob25lIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGRlbi1waG9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnZpc2libGUtcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLnZpc2libGUtcHJpbnQge1xuICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuaGlkZGVuLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5ib2R5LFxuaHRtbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzFhMWExYTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgYm9keSxcbiAgICBodG1sIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbmJvZHkge1xuICBtaW4td2lkdGg6IDMyMHB4OyB9XG5cbnN0cm9uZywgYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5iYWNrZHJvcC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgei1pbmRleDogMTIwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1vdXQ7IH1cblxuYm9keS5hY3RpdmUtc2VhcmNoIC5iYWNrZHJvcC1vdmVybGF5LCBib2R5LmFjdGl2ZS1iYWcgLmJhY2tkcm9wLW92ZXJsYXksIGJvZHkuYWN0aXZlLW5hdiAuYmFja2Ryb3Atb3ZlcmxheSwgLmFjdGl2ZS1tb2JpbGVuYXYgLmJhY2tkcm9wLW92ZXJsYXksIC5hY3RpdmUtc3cgLmJhY2tkcm9wLW92ZXJsYXkge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG5cbmJvZHkuYWN0aXZlLXNlYXJjaCBkaXYubWFpbiwgYm9keS5hY3RpdmUtYmFnIGRpdi5tYWluLCBib2R5LmFjdGl2ZS1uYXYgZGl2Lm1haW4sIC5hY3RpdmUtbW9iaWxlbmF2IGRpdi5tYWluLCAuYWN0aXZlLXN3IGRpdi5tYWluIHtcbiAgZmlsdGVyOiBzYXR1cmF0ZSgwLjYpOyB9XG5cbio6Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICNmZmY7IH1cblxuKjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICNmZmY7IH1cblxuKiB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgfVxuXG5zcGFuLm5vYnIge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5vLWdyaWQge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuby1ncmlkOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uby1ncmlkX19jb2x1bW4tLTEge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gIHdpZHRoOiA2LjE3MjE1JTsgfVxuICAuby1ncmlkX19jb2x1bW4tLTE6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLm8tZ3JpZF9fY29sdW1uLS0xLW1vYmlsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiA2LjE3MjE1JTsgfVxuICAgICAgLm8tZ3JpZF9fY29sdW1uLS0xLW1vYmlsZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuby1ncmlkX19jb2x1bW4tLTEtZGVza3RvcCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiA2LjE3MjE1JTsgfVxuICAgICAgLm8tZ3JpZF9fY29sdW1uLS0xLWRlc2t0b3A6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5vLWdyaWRfX2NvbHVtbi0tMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgd2lkdGg6IDE0LjcwMTk2JTsgfVxuICAuby1ncmlkX19jb2x1bW4tLTI6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLm8tZ3JpZF9fY29sdW1uLS0yLW1vYmlsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiAxNC43MDE5NiU7IH1cbiAgICAgIC5vLWdyaWRfX2NvbHVtbi0tMi1tb2JpbGU6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm8tZ3JpZF9fY29sdW1uLS0yLWRlc2t0b3Age1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogMTQuNzAxOTYlOyB9XG4gICAgICAuby1ncmlkX19jb2x1bW4tLTItZGVza3RvcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLm8tZ3JpZF9fY29sdW1uLS0zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICB3aWR0aDogMjMuMjMxNzYlOyB9XG4gIC5vLWdyaWRfX2NvbHVtbi0tMzpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAuby1ncmlkX19jb2x1bW4tLTMtbW9iaWxlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDIzLjIzMTc2JTsgfVxuICAgICAgLm8tZ3JpZF9fY29sdW1uLS0zLW1vYmlsZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuby1ncmlkX19jb2x1bW4tLTMtZGVza3RvcCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiAyMy4yMzE3NiU7IH1cbiAgICAgIC5vLWdyaWRfX2NvbHVtbi0tMy1kZXNrdG9wOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uby1ncmlkX19jb2x1bW4tLTQge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gIHdpZHRoOiAzMS43NjE1NyU7IH1cbiAgLm8tZ3JpZF9fY29sdW1uLS00Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5vLWdyaWRfX2NvbHVtbi0tNC1tb2JpbGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogMzEuNzYxNTclOyB9XG4gICAgICAuby1ncmlkX19jb2x1bW4tLTQtbW9iaWxlOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5vLWdyaWRfX2NvbHVtbi0tNC1kZXNrdG9wIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDMxLjc2MTU3JTsgfVxuICAgICAgLm8tZ3JpZF9fY29sdW1uLS00LWRlc2t0b3A6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5vLWdyaWRfX2NvbHVtbi0tNSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgd2lkdGg6IDQwLjI5MTM3JTsgfVxuICAuby1ncmlkX19jb2x1bW4tLTU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLm8tZ3JpZF9fY29sdW1uLS01LW1vYmlsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiA0MC4yOTEzNyU7IH1cbiAgICAgIC5vLWdyaWRfX2NvbHVtbi0tNS1tb2JpbGU6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm8tZ3JpZF9fY29sdW1uLS01LWRlc2t0b3Age1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogNDAuMjkxMzclOyB9XG4gICAgICAuby1ncmlkX19jb2x1bW4tLTUtZGVza3RvcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLm8tZ3JpZF9fY29sdW1uLS02IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICB3aWR0aDogNDguODIxMTclOyB9XG4gIC5vLWdyaWRfX2NvbHVtbi0tNjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAuby1ncmlkX19jb2x1bW4tLTYtbW9iaWxlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDQ4LjgyMTE3JTsgfVxuICAgICAgLm8tZ3JpZF9fY29sdW1uLS02LW1vYmlsZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuby1ncmlkX19jb2x1bW4tLTYtZGVza3RvcCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiA0OC44MjExNyU7IH1cbiAgICAgIC5vLWdyaWRfX2NvbHVtbi0tNi1kZXNrdG9wOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uby1ncmlkX19jb2x1bW4tLTcge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gIHdpZHRoOiA1Ny4zNTA5OCU7IH1cbiAgLm8tZ3JpZF9fY29sdW1uLS03Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5vLWdyaWRfX2NvbHVtbi0tNy1tb2JpbGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogNTcuMzUwOTglOyB9XG4gICAgICAuby1ncmlkX19jb2x1bW4tLTctbW9iaWxlOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5vLWdyaWRfX2NvbHVtbi0tNy1kZXNrdG9wIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDU3LjM1MDk4JTsgfVxuICAgICAgLm8tZ3JpZF9fY29sdW1uLS03LWRlc2t0b3A6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5vLWdyaWRfX2NvbHVtbi0tOCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgd2lkdGg6IDY1Ljg4MDc4JTsgfVxuICAuby1ncmlkX19jb2x1bW4tLTg6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLm8tZ3JpZF9fY29sdW1uLS04LW1vYmlsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiA2NS44ODA3OCU7IH1cbiAgICAgIC5vLWdyaWRfX2NvbHVtbi0tOC1tb2JpbGU6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm8tZ3JpZF9fY29sdW1uLS04LWRlc2t0b3Age1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogNjUuODgwNzglOyB9XG4gICAgICAuby1ncmlkX19jb2x1bW4tLTgtZGVza3RvcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLm8tZ3JpZF9fY29sdW1uLS05IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICB3aWR0aDogNzQuNDEwNTklOyB9XG4gIC5vLWdyaWRfX2NvbHVtbi0tOTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAuby1ncmlkX19jb2x1bW4tLTktbW9iaWxlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDc0LjQxMDU5JTsgfVxuICAgICAgLm8tZ3JpZF9fY29sdW1uLS05LW1vYmlsZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuby1ncmlkX19jb2x1bW4tLTktZGVza3RvcCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiA3NC40MTA1OSU7IH1cbiAgICAgIC5vLWdyaWRfX2NvbHVtbi0tOS1kZXNrdG9wOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uby1ncmlkX19jb2x1bW4tLTEwIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICB3aWR0aDogODIuOTQwMzklOyB9XG4gIC5vLWdyaWRfX2NvbHVtbi0tMTA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLm8tZ3JpZF9fY29sdW1uLS0xMC1tb2JpbGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogODIuOTQwMzklOyB9XG4gICAgICAuby1ncmlkX19jb2x1bW4tLTEwLW1vYmlsZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuby1ncmlkX19jb2x1bW4tLTEwLWRlc2t0b3Age1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogODIuOTQwMzklOyB9XG4gICAgICAuby1ncmlkX19jb2x1bW4tLTEwLWRlc2t0b3A6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5vLWdyaWRfX2NvbHVtbi0tMTEge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gIHdpZHRoOiA5MS40NzAyJTsgfVxuICAuby1ncmlkX19jb2x1bW4tLTExOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5vLWdyaWRfX2NvbHVtbi0tMTEtbW9iaWxlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDkxLjQ3MDIlOyB9XG4gICAgICAuby1ncmlkX19jb2x1bW4tLTExLW1vYmlsZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuby1ncmlkX19jb2x1bW4tLTExLWRlc2t0b3Age1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogOTEuNDcwMiU7IH1cbiAgICAgIC5vLWdyaWRfX2NvbHVtbi0tMTEtZGVza3RvcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLm8tZ3JpZF9fY29sdW1uLS0xMiB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLm8tZ3JpZF9fY29sdW1uLS0xMjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAuby1ncmlkX19jb2x1bW4tLTEyLW1vYmlsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuby1ncmlkX19jb2x1bW4tLTEyLW1vYmlsZTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuby1ncmlkX19jb2x1bW4tLTEyLWRlc2t0b3Age1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLm8tZ3JpZF9fY29sdW1uLS0xMi1kZXNrdG9wOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiAwLjJzIGNvbG9yIGVhc2Utb3V0LCAwLjJzIGJhY2tncm91bmQtY29sb3IgZWFzZS1vdXQsIDAuMnMgYm9yZGVyLWNvbG9yIGVhc2Utb3V0LCAwLjFzIHRyYW5zZm9ybSBlYXNlLW91dDtcbiAgY29sb3I6ICMwMDA7IH1cblxucCB7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIG1hcmdpbjogMDsgfVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi51LWZvbnQtc2l6ZS0teHhzIHtcbiAgZm9udC1zaXplOiAwLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAudS1mb250LXNpemUtLXh4cyB7XG4gICAgICBmb250LXNpemU6IDAuNXJlbTsgfSB9XG5cbi51LWZvbnQtc2l6ZS0teHMge1xuICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnUtZm9udC1zaXplLS14cyB7XG4gICAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9IH1cblxuLnUtZm9udC1zaXplLS1zIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnUtZm9udC1zaXplLS1zIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG5cbi51LWZvbnQtc2l6ZS0tbSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAudS1mb250LXNpemUtLW0ge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuLnUtZm9udC1zaXplLS1sIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnUtZm9udC1zaXplLS1sIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG4udS1mb250LXNpemUtLXhsIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC51LWZvbnQtc2l6ZS0teGwge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG4udS1mb250LXNpemUtLXh4bCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnUtZm9udC1zaXplLS14eGwge1xuICAgICAgZm9udC1zaXplOiAyLjI1cmVtOyB9IH1cblxuLnUtZm9udC1zaXplLS14eHhsIHtcbiAgZm9udC1zaXplOiAyLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLnUtZm9udC1zaXplLS14eHhsIHtcbiAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH0gfVxuXG4uYnJlYWRjcnVtYnMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nOiAxLjI1cmVtIDA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIC5icmVhZGNydW1icyAud3JhcCB7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuYnJlYWRjcnVtYnMgLndyYXA6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgICAuYnJlYWRjcnVtYnMgLndyYXAge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICAuYnJlYWRjcnVtYnMgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICNiMmIyYjI7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnJlYWRjcnVtYnMgc3Ryb25nIHtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuYnJlYWRjcnVtYnMgLnNwYWNlciB7XG4gICAgbWFyZ2luOiAwIDAuOTM3NXJlbTtcbiAgICBjb2xvcjogI2IyYjJiMjsgfVxuXG4ubWVzc2FnZXMgLnN1Y2Nlc3MtbXNnLCAuYWxlcnQtc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzZGIzMGM7IH1cblxuLm1lc3NhZ2VzIC5lcnJvci1tc2csIC5hbGVydC1kYW5nZXIsIC5hbGVydC1lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMzBjMGM7IH1cblxuLm1lc3NhZ2VzIC5ub3RpY2UtbXNnLCAuYWxlcnQtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNDU3Njc7IH1cblxuLm1lc3NhZ2VzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogI2ZmZjsgfVxuICAubWVzc2FnZXMgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1lc3NhZ2VzID4gbGkge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjg3NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5hY2NvcmRpb24ge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmFjY29yZGlvbiBsaSBhLmFjY29yZGlvbi10cmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5hY2NvcmRpb24gbGkgYS5hY2NvcmRpb24tdHJpZ2dlciA+ICo6YWZ0ZXIsIC5hY2NvcmRpb24gbGkgYS5hY2NvcmRpb24tdHJpZ2dlciA+ICo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW46IC0xcHggMCAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0OyB9XG4gICAgLmFjY29yZGlvbiBsaSBhLmFjY29yZGlvbi10cmlnZ2VyID4gKjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7IH1cbiAgLmFjY29yZGlvbiBsaS5hY3RpdmUgYS5hY2NvcmRpb24tdHJpZ2dlciA+ICo6YWZ0ZXIsIC5hY2NvcmRpb24gbGkuYWN0aXZlIGEuYWNjb3JkaW9uLXRyaWdnZXIgPiAqOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7IH1cbiAgLmFjY29yZGlvbiAuc3VibWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDAgMS44NzVyZW07IH1cbiAgLmFjY29yZGlvbiBwIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0cmFuc2l0aW9uOiAwLjJzIGFsbCBlYXNlLWluLW91dDsgfVxuICAuYnV0dG9uOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTsgfVxuXG4uYnV0dG9uLmxhcmdlLCAuY2FydC1jb2xsYXRlcmFscyB1bC5jaGVja291dC10eXBlcyAuYnRuLWNoZWNrb3V0LCAuY2FydC1jb250ZW50IC5oZWFkIC5idG4tY2hlY2tvdXQge1xuICBwYWRkaW5nOiAxLjI1cmVtIDEuODc1cmVtO1xuICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG5cbi5idXR0b24ubWVkaXVtLCAubmV3c2xldHRlci1ibG9jayAuYnRuLXN1YnNjcmliZSwgLnNlYXJjaC1wYW5lbCAuYnV0dG9uLCAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyBhIHtcbiAgcGFkZGluZzogMS4wNjI1cmVtIDEuNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5idXR0b24uc21hbGwge1xuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uYnV0dG9uLm5vLWJyIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5wcmltYXJ5LCAuc2VhcmNoLXBhbmVsIC5idXR0b24sIC5iYWcgLmJsb2NrLWNhcnQgLmNoZWNrb3V0LXR5cGVzIGEuY2hlY2tvdXQtYnV0dG9uLCAuY2FydC1jb2xsYXRlcmFscyB1bC5jaGVja291dC10eXBlcyAuYnRuLWNoZWNrb3V0LCAuY2FydC1jb250ZW50IC5oZWFkIC5idG4tY2hlY2tvdXQge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjsgfVxuICAucHJpbWFyeTpob3ZlciwgLnNlYXJjaC1wYW5lbCAuYnV0dG9uOmhvdmVyLCAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyBhLmNoZWNrb3V0LWJ1dHRvbjpob3ZlciwgLmNhcnQtY29sbGF0ZXJhbHMgdWwuY2hlY2tvdXQtdHlwZXMgLmJ0bi1jaGVja291dDpob3ZlciwgLmNhcnQtY29udGVudCAuaGVhZCAuYnRuLWNoZWNrb3V0OmhvdmVyIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG5cbi5zZWNvbmRhcnksIC53aGl0ZSwgLmJhZyAuYmxvY2stY2FydCAuY2hlY2tvdXQtdHlwZXMgYS5jb250aW51ZS1zaG9wcGluZy1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzAwMDsgfVxuICAuc2Vjb25kYXJ5OmhvdmVyLCAud2hpdGU6aG92ZXIsIC5iYWcgLmJsb2NrLWNhcnQgLmNoZWNrb3V0LXR5cGVzIGEuY29udGludWUtc2hvcHBpbmctYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi53aGl0ZSB7XG4gIGJvcmRlcjogMDsgfVxuXG4uY2hlY2tvdXQtc3RlcHMge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuY2hlY2tvdXQtc3RlcHM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgIC5jaGVja291dC1zdGVwcyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cbiAgLmNoZWNrb3V0LXN0ZXBzIC5zdGVwcyB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBib3JkZXItc3BhY2luZzogMTBweCAyMHB4OyB9XG4gICAgLmNoZWNrb3V0LXN0ZXBzIC5zdGVwcyBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgICAuY2hlY2tvdXQtc3RlcHMgLnN0ZXBzIGxpLmN1cnJlbnQgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLmNoZWNrb3V0LXN0ZXBzIC5zdGVwcyBsaTphZnRlciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgICAgLmNoZWNrb3V0LXN0ZXBzIC5zdGVwcyBsaTpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuXG4uY2hlY2tvdXQtbG9naW4tZm9ybS1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZzogMjBweCBudWxsOyB9XG4gIC5jaGVja291dC1sb2dpbi1mb3JtLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgLmNoZWNrb3V0LWxvZ2luLWZvcm0tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICAuY2hlY2tvdXQtbG9naW4tZm9ybS1jb250YWluZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNoZWNrb3V0LWxvZ2luLWZvcm0tY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICBwYWRkaW5nOiAxMDBweCBudWxsOyB9IH1cbiAgLmNoZWNrb3V0LWxvZ2luLWZvcm0tY29udGFpbmVyIC5jb250cm9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5jaGVja291dC1sb2dpbi1mb3JtLWNvbnRhaW5lciBoMiB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDAgMCAyNXB4O1xuICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMDsgfVxuICAuY2hlY2tvdXQtbG9naW4tZm9ybS1jb250YWluZXIgLnNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDAgMCA0MHB4OyB9XG4gIC5jaGVja291dC1sb2dpbi1mb3JtLWNvbnRhaW5lciBsYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmNoZWNrb3V0LWxvZ2luLWZvcm0tY29udGFpbmVyIGlucHV0IHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmNoZWNrb3V0LWxvZ2luLWZvcm0tY29udGFpbmVyIC5ub3RpY2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDVweCAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuY2hlY2tvdXQtbG9naW4tZm9ybS1jb250YWluZXIgLnByaW1hcnksIC5jaGVja291dC1sb2dpbi1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLXBhbmVsIC5idXR0b24sIC5zZWFyY2gtcGFuZWwgLmNoZWNrb3V0LWxvZ2luLWZvcm0tY29udGFpbmVyIC5idXR0b24sIC5jaGVja291dC1sb2dpbi1mb3JtLWNvbnRhaW5lciAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyBhLmNoZWNrb3V0LWJ1dHRvbiwgLmJhZyAuYmxvY2stY2FydCAuY2hlY2tvdXQtdHlwZXMgLmNoZWNrb3V0LWxvZ2luLWZvcm0tY29udGFpbmVyIGEuY2hlY2tvdXQtYnV0dG9uLCAuY2hlY2tvdXQtbG9naW4tZm9ybS1jb250YWluZXIgLmNhcnQtY29sbGF0ZXJhbHMgdWwuY2hlY2tvdXQtdHlwZXMgLmJ0bi1jaGVja291dCwgLmNhcnQtY29sbGF0ZXJhbHMgdWwuY2hlY2tvdXQtdHlwZXMgLmNoZWNrb3V0LWxvZ2luLWZvcm0tY29udGFpbmVyIC5idG4tY2hlY2tvdXQsIC5jaGVja291dC1sb2dpbi1mb3JtLWNvbnRhaW5lciAuY2FydC1jb250ZW50IC5oZWFkIC5idG4tY2hlY2tvdXQsIC5jYXJ0LWNvbnRlbnQgLmhlYWQgLmNoZWNrb3V0LWxvZ2luLWZvcm0tY29udGFpbmVyIC5idG4tY2hlY2tvdXQge1xuICAgIG1hcmdpbjogNDBweCAwIDA7IH1cblxuLmNoZWNrb3V0LWxvZ2luLWZvcm0tY29udGFpbmVyLWluZm8tLWJsb2NrIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2hlY2tvdXQtbG9naW4tZm9ybS1jb250YWluZXItaW5mby0tYmxvY2sgLmluZm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDAgMTVweDsgfVxuICAgIC5jaGVja291dC1sb2dpbi1mb3JtLWNvbnRhaW5lci1pbmZvLS1ibG9jayAuaW5mbyBhIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgbWFyZ2luOiAxMHB4IDE1cHg7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmNoZWNrb3V0LWxvZ2luLWZvcm0tY29udGFpbmVyLWluZm8tLWJsb2NrIC5pbmZvIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgMTVweDsgfSB9XG4gICAgICAuY2hlY2tvdXQtbG9naW4tZm9ybS1jb250YWluZXItaW5mby0tYmxvY2sgLmluZm8gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gICAgICAuY2hlY2tvdXQtbG9naW4tZm9ybS1jb250YWluZXItaW5mby0tYmxvY2sgLmluZm8gYSBpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBtYXJnaW46IDAgMC42MjVyZW0gMCAwOyB9XG4gIC5jaGVja291dC1sb2dpbi1mb3JtLWNvbnRhaW5lci1pbmZvLS1ibG9jayBpbWcge1xuICAgIGhlaWdodDogMTdweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7IH1cblxuLm9uZXN0ZXBjaGVja291dC1pbmRleC1pbmRleCB0YWJsZSxcbi5vbmVzdGVwY2hlY2tvdXQtaW5kZXgtaW5kZXggdGQge1xuICBib3JkZXI6IG5vbmU7IH1cblxuLm9uZXN0ZXBjaGVja291dC1pbmRleC1pbmRleCAub25lc3RlcGNoZWNrb3V0LXBsYWNlLW9yZGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cblxuLm9uZXN0ZXBjaGVja291dC1pbmRleC1pbmRleCAub25lc3RlcGNoZWNrb3V0LXBsYWNlLW9yZGVyLWxvYWRpbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LWluZGV4LWluZGV4IC5vbmVzdGVwY2hlY2tvdXQtbnVtYmVycy0xICsgLnN1YnRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LWluZGV4LWluZGV4IC5vbmVzdGVwY2hlY2tvdXQtYWRkcmVzcy1saW5lIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LWluZGV4LWluZGV4IC5jb2wtbWFpbiA+IGRpdiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm9uZXN0ZXBjaGVja291dC1pbmRleC1pbmRleCBsYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LWluZGV4LWluZGV4IGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDVweDsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LWluZGV4LWluZGV4IC5zb2NpYWwtd3JhcCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI29uZXN0ZXBjaGVja291dC1mb3JtIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG4gICNvbmVzdGVwY2hlY2tvdXQtZm9ybSAuYmxvY2suYmxvY2stcGFnZS1oZWFkaW5nIHtcbiAgICBtYXJnaW46IDAgMCA0MHB4OyB9XG4gICNvbmVzdGVwY2hlY2tvdXQtZm9ybSAuZm9ybS1saXN0IGxpIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAjb25lc3RlcGNoZWNrb3V0LWZvcm0gLmZvcm0tbGlzdCBsaS50b2tlbi1jaGVja2JveCB7XG4gICAgICBtYXJnaW46IDAuOTM3NXJlbSAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93LXJldmVyc2U7IH1cbiAgICAgICNvbmVzdGVwY2hlY2tvdXQtZm9ybSAuZm9ybS1saXN0IGxpLnRva2VuLWNoZWNrYm94IGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDQwcHg7IH1cbiAgICAjb25lc3RlcGNoZWNrb3V0LWZvcm0gLmZvcm0tbGlzdCBsaS5jb250cm9sIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAjb25lc3RlcGNoZWNrb3V0LWZvcm0gLmlucHV0LWJveCB7XG4gICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtOyB9XG4gICNvbmVzdGVwY2hlY2tvdXQtZm9ybSAuaW5wdXQtY291bnRyeSBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICNvbmVzdGVwY2hlY2tvdXQtZm9ybSBsYWJlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNvbmVzdGVwY2hlY2tvdXQtZm9ybSBzcGFuLnJlcXVpcmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgY29sb3I6ICNmZjUyNTU7IH1cblxuLm9uZXN0ZXBjaGVja291dC10aHJlZWNvbHVtbnMge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAub25lc3RlcGNoZWNrb3V0LXRocmVlY29sdW1uczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgLm9uZXN0ZXBjaGVja291dC10aHJlZWNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gIC5vbmVzdGVwY2hlY2tvdXQtdGhyZWVjb2x1bW5zOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5vbmVzdGVwY2hlY2tvdXQtdGhyZWVjb2x1bW5zIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgLm9uZXN0ZXBjaGVja291dC10aHJlZWNvbHVtbnMgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAub25lc3RlcGNoZWNrb3V0LXRocmVlY29sdW1ucyAuc2hpcG1lbnQtbWV0aG9kcyB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICAub25lc3RlcGNoZWNrb3V0LXRocmVlY29sdW1ucyAuc2hpcG1lbnQtbWV0aG9kcyA+IGRkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm9uZXN0ZXBjaGVja291dC10aHJlZWNvbHVtbnMgLnNoaXBtZW50LW1ldGhvZHMgZHQgbGFiZWwsXG4gIC5vbmVzdGVwY2hlY2tvdXQtdGhyZWVjb2x1bW5zIC5wYXltZW50LW1ldGhvZHMgZHQgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7IH1cbiAgLm9uZXN0ZXBjaGVja291dC10aHJlZWNvbHVtbnMgLnNoaXBtZW50LW1ldGhvZHMgaW5wdXRbdHlwZT1yYWRpb10sXG4gIC5vbmVzdGVwY2hlY2tvdXQtdGhyZWVjb2x1bW5zIC5wYXltZW50LW1ldGhvZHMgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5vbmVzdGVwY2hlY2tvdXQtdGhyZWVjb2x1bW5zIC5zaGlwbWVudC1tZXRob2RzICNzZXJ2ZXJzZWN1cmUgaW1nLFxuICAub25lc3RlcGNoZWNrb3V0LXRocmVlY29sdW1ucyAucGF5bWVudC1tZXRob2RzICNzZXJ2ZXJzZWN1cmUgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vbmVzdGVwY2hlY2tvdXQtdGhyZWVjb2x1bW5zIC5wYXltZW50LW1ldGhvZHMge1xuICAgIHBhZGRpbmc6IDAgMCAxLjg3NXJlbTsgfVxuICAgIC5vbmVzdGVwY2hlY2tvdXQtdGhyZWVjb2x1bW5zIC5wYXltZW50LW1ldGhvZHMgZGQsIC5vbmVzdGVwY2hlY2tvdXQtdGhyZWVjb2x1bW5zIC5wYXltZW50LW1ldGhvZHMgZHQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm9uZXN0ZXBjaGVja291dC10aHJlZWNvbHVtbnMgLnBheW1lbnQtbWV0aG9kcyBkdCB7XG4gICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5vbmVzdGVwY2hlY2tvdXQtdGhyZWVjb2x1bW5zIC5wYXltZW50LW1ldGhvZHMgZGQgPiAqIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDAgMS44NzVyZW0gMS44NzVyZW07IH1cbiAgICAub25lc3RlcGNoZWNrb3V0LXRocmVlY29sdW1ucyAucGF5bWVudC1tZXRob2RzIHNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAub25lc3RlcGNoZWNrb3V0LXRocmVlY29sdW1ucyAuaW5wdXQtYm94IGJyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vbmVzdGVwY2hlY2tvdXQtdGhyZWVjb2x1bW5zIC5pbnB1dC1ib3ggbGFiZWwsXG4gIC5vbmVzdGVwY2hlY2tvdXQtdGhyZWVjb2x1bW5zIC5pbnB1dC1ib3ggaW5wdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LWNvbHVtbi1sZWZ0LFxuLm9uZXN0ZXBjaGVja291dC1jb2x1bW4tbWlkZGxlLFxuLm9uZXN0ZXBjaGVja291dC1jb2x1bW4tcmlnaHQge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm9uZXN0ZXBjaGVja291dC1jb2x1bW4tbGVmdCxcbiAgICAub25lc3RlcGNoZWNrb3V0LWNvbHVtbi1taWRkbGUsXG4gICAgLm9uZXN0ZXBjaGVja291dC1jb2x1bW4tcmlnaHQge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICBwYWRkaW5nOiAwIDE1cHggMzBweDsgfVxuICAgICAgLm9uZXN0ZXBjaGVja291dC1jb2x1bW4tbGVmdDpudGgtY2hpbGQoM24pLFxuICAgICAgLm9uZXN0ZXBjaGVja291dC1jb2x1bW4tbWlkZGxlOm50aC1jaGlsZCgzbiksXG4gICAgICAub25lc3RlcGNoZWNrb3V0LWNvbHVtbi1yaWdodDpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAub25lc3RlcGNoZWNrb3V0LWNvbHVtbi1sZWZ0Om50aC1jaGlsZCgzbisxKSxcbiAgICAgIC5vbmVzdGVwY2hlY2tvdXQtY29sdW1uLW1pZGRsZTpudGgtY2hpbGQoM24rMSksXG4gICAgICAub25lc3RlcGNoZWNrb3V0LWNvbHVtbi1yaWdodDpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm9uZXN0ZXBjaGVja291dC1jb2x1bW4tbGVmdCxcbiAgICAub25lc3RlcGNoZWNrb3V0LWNvbHVtbi1taWRkbGUsXG4gICAgLm9uZXN0ZXBjaGVja291dC1jb2x1bW4tcmlnaHQge1xuICAgICAgcGFkZGluZzogMCAyNXB4IDMwcHg7IH0gfVxuXG4ub25lc3RlcGNoZWNrb3V0LWNvbHVtbi1yaWdodCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cblxuLm9yZGVyLXJldmlldy1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LW51bWJlcnMge1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nOiAyNXB4IDA7IH1cblxuLm9uZXN0ZXBjaGVja291dC1zdW1tYXJ5IHRoZWFkIHtcbiAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgLm9uZXN0ZXBjaGVja291dC1zdW1tYXJ5IHRoZWFkIHRoIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2NjY2NjYzsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LXN1bW1hcnkgdGgge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW46IDAgMTBweDsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LXN1bW1hcnkgdGgudG90YWwsXG4ub25lc3RlcGNoZWNrb3V0LXN1bW1hcnkgdGQudG90YWwge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LXN1bW1hcnkgdGQucXR5LFxuLm9uZXN0ZXBjaGVja291dC1zdW1tYXJ5IHRkLnRvdGFsIHtcbiAgY29sb3I6ICM2NjY7IH1cblxuLm9uZXN0ZXBjaGVja291dC1zdW1tYXJ5IHRoLm5hbWUsXG4ub25lc3RlcGNoZWNrb3V0LXN1bW1hcnkgdGQubmFtZSB7XG4gIHdpZHRoOiA0NSU7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5vbmVzdGVwY2hlY2tvdXQtc3VtbWFyeSB0ZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAub25lc3RlcGNoZWNrb3V0LXN1bW1hcnkgdGQubmFtZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSB7XG4gICAgLm9uZXN0ZXBjaGVja291dC1zdW1tYXJ5IHRkIGltZyB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLm9uZXN0ZXBjaGVja291dC1zdW1tYXJ5IHRkIGltZyB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm9uZXN0ZXBjaGVja291dC1zdW1tYXJ5IHRkIGltZyB7XG4gICAgICB3aWR0aDogMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLm9uZXN0ZXBjaGVja291dC1zdW1tYXJ5IHRkIGltZyB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5vbmVzdGVwY2hlY2tvdXQtc3VtbWFyeS5wYXlwYWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5vbmVzdGVwY2hlY2tvdXQtc3VtbWFyeS5wYXlwYWwgLmltYWdlIHtcbiAgICB3aWR0aDogMTIwcHg7IH1cblxuLm9uZXN0ZXBjaGVja291dC1lZGl0LWJhc2tldC13cmFwcGVyIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiAxMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LXN1bW1hcnksXG4ub25lc3RlcGNoZWNrb3V0LXRvdGFscyB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLm9uZXN0ZXBjaGVja291dC1zdW1tYXJ5IHRoLFxuICAub25lc3RlcGNoZWNrb3V0LXRvdGFscyB0aCB7XG4gICAgcGFkZGluZzogMTBweCAxcHg7IH1cbiAgLm9uZXN0ZXBjaGVja291dC1zdW1tYXJ5IHRkLFxuICAub25lc3RlcGNoZWNrb3V0LXRvdGFscyB0ZCB7XG4gICAgcGFkZGluZzogMTBweCAxcHg7IH1cblxuLm9uZXN0ZXBjaGVja291dC10b3RhbHMtd3JhcCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNjY2NjY2M7XG4gIHBhZGRpbmc6IDE1cHggMDsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LXRvdGFscyB0ZCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nOiA3cHggMjVweDsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LXRvdGFscyB0ZC50aXRsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLm9uZXN0ZXBjaGVja291dC10b3RhbHMgLmdyYW5kLXRvdGFsIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAub25lc3RlcGNoZWNrb3V0LXRvdGFscyAuZ3JhbmQtdG90YWwgdGQge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDE1cHggMjVweCA1cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5vbmVzdGVwY2hlY2tvdXQtZWRpdC1iYXNrZXQtd3JhcHBlcixcbi5vbmVzdGVwY2hlY2tvdXQtcGxhY2Utb3JkZXItd3JhcHBlciB7XG4gIG1hcmdpbjogMC42MjVyZW0gYXV0byAzLjEyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5vbmVzdGVwY2hlY2tvdXQtZWRpdC1iYXNrZXQtd3JhcHBlciBidXR0b24sXG4gIC5vbmVzdGVwY2hlY2tvdXQtcGxhY2Utb3JkZXItd3JhcHBlciBidXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5vbmVzdGVwY2hlY2tvdXQtaW5kZXgtaW5kZXggI2NvbnRyb2xfd2luZG93XzMge1xuICBoZWlnaHQ6IDYxMHB4ICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTk5OTkgIWltcG9ydGFudDsgfVxuXG4ubGNvbnRhaW5lciB7XG4gIGhlaWdodDogNTgwcHggIWltcG9ydGFudDsgfVxuICAubGNvbnRhaW5lciBpZnJhbWUge1xuICAgIGhlaWdodDogNTAwcHggIWltcG9ydGFudDsgfVxuXG4uY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIC5jb2wxLWxheW91dCAuY29sLW1haW4ge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIC5jb2wxLWxheW91dCAuY29sLW1haW46OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgIC5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgLmNvbDEtbGF5b3V0IC5jb2wtbWFpbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cbiAgLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAuY29sMS1sYXlvdXQgLmNvbC1tYWluIGEge1xuICAgIGNvbG9yOiAjMWExYTFhO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmNoZWNrb3V0LW9uZXBhZ2Utc3VjY2VzcyAuY29sMS1sYXlvdXQgLmNvbC1tYWluIC5idXR0b25zLXNldCB7XG4gICAgcGFkZGluZzogMCAwIDMuMTI1cmVtOyB9XG5cbi5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3MgPiBpbWcge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2hlY2tvdXQtb25lcGFnZS1zdWNjZXNzIGgyLnN1Yi10aXRsZSB7XG4gIG1hcmdpbjogMi41cmVtIDAgMS44NzVyZW07IH1cblxuLm9uZXN0ZXBjaGVja291dC1lbmFibGUtdGVybXMge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5vbmVzdGVwY2hlY2tvdXQtZW5hYmxlLXRlcm1zICNlcnJvci10ZXJtcyB7XG4gICAgY29sb3I6IHJlZDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LWVuYWJsZS1uZXdzbGV0dGVyIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ub25lc3RlcGNoZWNrb3V0LWVuYWJsZS10ZXJtcyBpbnB1dFt0eXBlPSdjaGVja2JveCddLFxuLm9uZXN0ZXBjaGVja291dC1lbmFibGUtbmV3c2xldHRlciBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLXRvcDogNnB4OyB9XG5cbi5vbmVzdGVwY2hlY2tvdXQtZW5hYmxlLXRlcm1zIGxhYmVsLFxuLm9uZXN0ZXBjaGVja291dC1lbmFibGUtbmV3c2xldHRlciBsYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBwYWRkaW5nLXRvcDogN3B4OyB9XG5cbmxhYmVsW2Zvcj1cInBfbWV0aG9kX3NhZ2VwYXlzZXJ2ZXJcIl0ge1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmFkZHJlc3Mtc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6IDglOyB9XG5cbi5jdXJyZW50LXNoaXBwaW5nLWFkZHJlc3MsXG4uY3VycmVudC1iaWxsaW5nLWFkZHJlc3Mge1xuICBtYXJnaW46IDAgMCAwLjkzNzVyZW07IH1cbiAgLmN1cnJlbnQtc2hpcHBpbmctYWRkcmVzcyBwLFxuICAuY3VycmVudC1iaWxsaW5nLWFkZHJlc3MgcCB7XG4gICAgbWFyZ2luOiAwLjkzNzVyZW0gMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDEuMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuXG4uYnRuLWFkZC1uZXctc2hpcHBpbmctYWRkcmVzcyxcbi5idG4tYWRkLW5ldy1iaWxsaW5nLWFkZHJlc3Mge1xuICBwYWRkaW5nOiA1cHg7XG4gIGNsZWFyOiBib3RoO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctYm90dG9tOiAxN3B4O1xuICBwYWRkaW5nLXRvcDogMTJweDsgfVxuICAuYnRuLWFkZC1uZXctc2hpcHBpbmctYWRkcmVzczphZnRlcixcbiAgLmJ0bi1hZGQtbmV3LWJpbGxpbmctYWRkcmVzczphZnRlciB7XG4gICAgY29udGVudDogJysnO1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cblxuI29uZXN0ZXBjaGVja291dC1mb3JtIGxhYmVsW2Zvcj1cInBfbWV0aG9kX3NhZ2VwYXlkaXJlY3Rwcm9cIl0sXG4jb25lc3RlcGNoZWNrb3V0LWZvcm0gbGFiZWxbZm9yPVwicF9tZXRob2Rfc2FnZXBheXNlcnZlclwiXSxcbiNvbmVzdGVwY2hlY2tvdXQtZm9ybSBsYWJlbFtmb3I9XCJwX21ldGhvZF9zYWdlcGF5Zm9ybVwiXSxcbiNvbmVzdGVwY2hlY2tvdXQtZm9ybSBsYWJlbFtmb3I9XCJwX21ldGhvZF9zYWdlcGF5bml0XCJdIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH1cblxuI29uZXN0ZXBjaGVja291dC1mb3JtICNwX21ldGhvZF9zYWdlcGF5c2VydmVyLCAjb25lc3RlcGNoZWNrb3V0LWZvcm0gI3BfbWV0aG9kX3NhZ2VwYXlmb3JtLCAjb25lc3RlcGNoZWNrb3V0LWZvcm0gI3BfbWV0aG9kX3NhZ2VwYXlkaXJlY3Rwcm8ge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiA1cHg7IH1cblxuLnBheW1lbnQtbWV0aG9kcyAjY3VzdG9tZXJiYWxhbmNlX3BsYWNlciB7XG4gIHBhZGRpbmc6IDAgMCA1cHggMnB4OyB9XG5cbiNwYXltZW50LXRvb2wtdGlwLnRvb2wtdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMzAwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHotaW5kZXg6IDExMTE7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1hcmdpbjogMTAwcHggMCAwO1xuICBib3gtc2hhZG93OiAwIDFweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNDUpOyB9XG4gICNwYXltZW50LXRvb2wtdGlwLnRvb2wtdGlwIC5idG4tY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGxpbmUtaGVpZ2h0OiAwOyB9XG4gICAgI3BheW1lbnQtdG9vbC10aXAudG9vbC10aXAgLmJ0bi1jbG9zZSBhIHtcbiAgICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gICAgICAjcGF5bWVudC10b29sLXRpcC50b29sLXRpcCAuYnRuLWNsb3NlIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzFhMWExYTsgfVxuXG4jYWR2aWNlLXJlcXVpcmVkLWVudHJ5LWlkX2FjY2VwdF90ZXJtcyB7XG4gIG1hcmdpbjogMC42MjVyZW0gMCAwOyB9XG5cbiNhZHZpY2UtcmVxdWlyZWQtZW50cnktYmlsbGluZ1xcOnN0cmVldDEge1xuICBtYXJnaW46IC0xMHB4IDAgMTBweDsgfVxuXG4ubG9hZGluZy1hamF4IHtcbiAgYmFja2dyb3VuZDogI2VkZWRlZCB1cmwoXCIuLi9pbWcvbG9hZGluZy5naWZcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gIHBhZGRpbmc6IDIwcHg7IH1cblxuYm9keS5wYXlwYWwtZXhwcmVzcy1yZXZpZXcgLmNvbC1tYWluIHtcbiAgbWF4LXdpZHRoOiAxMDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgYm9keS5wYXlwYWwtZXhwcmVzcy1yZXZpZXcgLmNvbC1tYWluOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICBib2R5LnBheXBhbC1leHByZXNzLXJldmlldyAuY29sLW1haW4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG5cbmJvZHkucGF5cGFsLWV4cHJlc3MtcmV2aWV3IC5yZXZpZXctcHJvZHVjdC1saXN0IHtcbiAgbWFyZ2luOiAzLjEyNXJlbSAwIDA7IH1cblxuYm9keS5wYXlwYWwtZXhwcmVzcy1yZXZpZXcgLnBwbGUtcmV2aWV3IHtcbiAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9XG4gIGJvZHkucGF5cGFsLWV4cHJlc3MtcmV2aWV3IC5wcGxlLXJldmlldyBoMiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIG1hcmdpbjogMS44NzVyZW0gMCAwLjkzNzVyZW07IH1cbiAgICBib2R5LnBheXBhbC1leHByZXNzLXJldmlldyAucHBsZS1yZXZpZXcgaDIgLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMC4zMTI1cmVtIDAgMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIGJvZHkucGF5cGFsLWV4cHJlc3MtcmV2aWV3IC5wcGxlLXJldmlldyBoMiAuYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDAuOTM3NXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICBib2R5LnBheXBhbC1leHByZXNzLXJldmlldyAucHBsZS1yZXZpZXcgLmJ1dHRvbnMtc2V0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW46IDAuOTM3NXJlbSAwIDA7IH1cbiAgYm9keS5wYXlwYWwtZXhwcmVzcy1yZXZpZXcgLnBwbGUtcmV2aWV3IC5wbGVhc2Utd2FpdCB7XG4gICAgcGFkZGluZzogMCAxcmVtOyB9XG5cbnRhYmxlI2RldGFpbHMtdGFibGUge1xuICB3aWR0aDogMTAwJTsgfVxuICB0YWJsZSNkZXRhaWxzLXRhYmxlIHRoIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wcml2YWN5LXBvbGljeS0tdGV4dCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnByaXZhY3ktcG9saWN5LS10ZXh0IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5zdGQge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuc3RkOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAuc3RkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuXG4ubWFpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNtcy1wYWdlIC5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuLmNtcy1wYWdlIHRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNtcy1wYWdlIC5jbXMtcGFnZS1jb250ZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG5cbi5jbXMtcGFnZSBhIHtcbiAgY29sb3I6ICMwMDA7IH1cblxuLm5vLXJvdXRlLXdyYXBwZXIge1xuICBwYWRkaW5nOiA2LjI1cmVtIDA7IH1cbiAgLm5vLXJvdXRlLXdyYXBwZXIgLndyYXAge1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIC5uby1yb3V0ZS13cmFwcGVyIC53cmFwOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgICAgLm5vLXJvdXRlLXdyYXBwZXIgLndyYXAge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICAubm8tcm91dGUtd3JhcHBlciBoMSB7XG4gICAgZm9udC1zaXplOiA2LjI1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIk1pc29cIiwgc2Fucy1zZXJpZjsgfVxuXG4uZm9vdGVyLXdyYXAsIC5jb3B5cmlnaHQge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLmZvb3Rlci13cmFwIHVsLCAuY29weXJpZ2h0IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5mb290ZXItd3JhcCBhLCAuY29weXJpZ2h0IGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5mb290ZXItd3JhcCAubmV3c2xldHRlci1ibG9jayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMy4xMjVyZW0gMDsgfVxuICAuZm9vdGVyLXdyYXAgLm5ld3NsZXR0ZXItYmxvY2sgLmJ0bi1zdWJzY3JpYmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuLmNvbC1tYWluIC5uZXdzbGV0dGVyLWJsb2NrIC5ibG9jay1zdWJzY3JpYmUge1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbC1tYWluIC5uZXdzbGV0dGVyLWJsb2NrIC5idG4tc3Vic2NyaWJlIHtcbiAgICBtaW4td2lkdGg6IDI0MHB4OyB9IH1cblxuLm5ld3NsZXR0ZXItYmxvY2sge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm5ld3NsZXR0ZXItYmxvY2s6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgIC5uZXdzbGV0dGVyLWJsb2NrIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICAubmV3c2xldHRlci1ibG9jayAuYmxvY2stY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAubmV3c2xldHRlci1ibG9jayAuZm9ybS1zdWJzY3JpYmUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDAgMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLm5ld3NsZXR0ZXItYmxvY2sgLmZvcm0tc3Vic2NyaWJlLWhlYWRlciB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIC5uZXdzbGV0dGVyLWJsb2NrIC5mb3JtLXN1YnNjcmliZS1oZWFkZXIgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5uZXdzbGV0dGVyLWJsb2NrIC5mb3JtLXN1YnNjcmliZS1oZWFkZXIgbGFiZWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgLm5ld3NsZXR0ZXItYmxvY2sgLmlucHV0LWJveCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5uZXdzbGV0dGVyLWJsb2NrIC5pbnB1dC1ib3ggLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDsgfVxuICAubmV3c2xldHRlci1ibG9jayAuYnRuLXN1YnNjcmliZSB7XG4gICAgYmFja2dyb3VuZDogI2IyYjJiMjtcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAubmV3c2xldHRlci1ibG9jayAuYnRuLXN1YnNjcmliZTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLm5ld3NsZXR0ZXItYmxvY2sgaW5wdXQuaW5wdXQtdGV4dCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjYjJiMmIyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAubmV3c2xldHRlci1ibG9jayBpbnB1dC5pbnB1dC10ZXh0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cbiAgICAgIGNvbG9yOiAjYjJiMmIyOyB9XG4gICAgLm5ld3NsZXR0ZXItYmxvY2sgaW5wdXQuaW5wdXQtdGV4dDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgY29sb3I6ICNiMmIyYjI7IH1cbiAgICAubmV3c2xldHRlci1ibG9jayBpbnB1dC5pbnB1dC10ZXh0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAvKiBJRSAxMCsgKi9cbiAgICAgIGNvbG9yOiAjYjJiMmIyOyB9XG4gICAgLm5ld3NsZXR0ZXItYmxvY2sgaW5wdXQuaW5wdXQtdGV4dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIC8qIEZpcmVmb3ggMTgtICovXG4gICAgICBjb2xvcjogI2IyYjJiMjsgfVxuICAgIC5uZXdzbGV0dGVyLWJsb2NrIGlucHV0LmlucHV0LXRleHQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwcHggMTAwMHB4ICNlZWVlZWUgaW5zZXQ7XG4gICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogIzAwMDsgfVxuICAubmV3c2xldHRlci1ibG9jayAubG9hZGluZyB7XG4gICAgYmFja2dyb3VuZDogIzFhMWExYTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogMnB4O1xuICAgIHJpZ2h0OiAycHg7XG4gICAgYm90dG9tOiAycHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5uZXdzbGV0dGVyLWJsb2NrIC5sb2FkaW5nIHAge1xuICAgICAgbWFyZ2luOiAwLjc1cmVtIDA7IH1cblxuLmpCb3gtTW9kYWwubmV3c2xldHRlci1zdWNjZXNzIC5qQm94LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5qQm94LU1vZGFsLm5ld3NsZXR0ZXItc3VjY2VzcyAuakJveC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuXG4uakJveC1Nb2RhbC5uZXdzbGV0dGVyLXN1Y2Nlc3MgLmpCb3gtdGl0bGUge1xuICBwb3NpdGlvbjogc3RhdGljOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmpCb3gtTW9kYWwubmV3c2xldHRlci1zdWNjZXNzIC5qQm94LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cblxuLmpCb3gtTW9kYWwubmV3c2xldHRlci1zdWNjZXNzIC5qQm94LWNsb3NlQnV0dG9uIHtcbiAgYm90dG9tOiBhdXRvO1xuICBoZWlnaHQ6IDUwcHg7IH1cblxuLmpCb3gtTW9kYWwubmV3c2xldHRlci1zdWNjZXNzIC5qQm94LWNvbnRlbnQge1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbi5mb290ZXIge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgYm9yZGVyOiAxcHggc29saWQgIzFhMWExYTtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgcGFkZGluZzogMy4xMjVyZW0gMDsgfVxuICAuZm9vdGVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICAuZm9vdGVyIC5mb290LWJsb2NrIHtcbiAgICBwYWRkaW5nOiAwIDAgMS44NzVyZW07IH1cbiAgLmZvb3RlciAuZm9vdC1ibG9jazo6YWZ0ZXIsIC5mb290ZXIgLmNhcmQtbG9nb3M6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5mb290ZXIgLmZvb3QtYmxvY2ssIC5mb290ZXIgLmNhcmQtbG9nb3Mge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogNDguODIxMTclOyB9XG4gICAgICAuZm9vdGVyIC5mb290LWJsb2NrOmxhc3QtY2hpbGQsIC5mb290ZXIgLmNhcmQtbG9nb3M6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC5mb290ZXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmZvb3RlciAuY21saW5rcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICB3aWR0aDogMzEuNzYxNTclOyB9XG4gICAgLmZvb3RlciAuY21saW5rczpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5mb290ZXIgLmNtbGlua3Mgc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5mb290ZXIgLmNtbGlua3Mgc3Ryb25nIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMS44NzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5mb290ZXIgLmNtbGlua3Mgc3Ryb25nIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMy4xMjVyZW07IH0gfVxuICAgIC5mb290ZXIgLmNtbGlua3MgbGkge1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDA7IH1cbiAgICAuZm9vdGVyIC5jbWxpbmtzIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5mb290ZXIgLmNhcmQtbG9nb3MgLmNtbGlua3Mge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZm9vdGVyIC5jYXJkLWxvZ29zIC5jbWxpbmtzIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gIC5mb290ZXIgLmNhcmQtbG9nb3MgLnRpdGxlIHN0cm9uZyB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZm9vdGVyIC5jYXJkLWxvZ29zIC50aXRsZSBzdHJvbmcge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi4zNzVyZW07IH0gfVxuICAuZm9vdGVyIC5jYXJkLWxvZ29zIC50aXRsZSB+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZm9vdGVyIC5jYXJkLWxvZ29zIC50aXRsZSB+IGxpOmhvdmVyIGkge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmZvb3RlciAuY2FyZC1sb2dvcyBpIHtcbiAgICBmb250LXNpemU6IDQxcHg7XG4gICAgY29sb3I6ICNjY2NjY2M7IH1cblxuLmNvcHlyaWdodCB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb3B5cmlnaHQge1xuICAgICAgcGFkZGluZzogMS4yNXJlbSAwIDMuMTI1cmVtOyB9IH1cbiAgLmNvcHlyaWdodDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgLmNvcHlyaWdodCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cbiAgLmNvcHlyaWdodCAuYnJhbmQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmNvcHlyaWdodCAuc29jaWFsIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAuY29weXJpZ2h0IC5zb2NpYWwgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfVxuICAgIC5jb3B5cmlnaHQgLnNvY2lhbCBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgIC5jb3B5cmlnaHQgLnNvY2lhbCBhIHtcbiAgICAgIGNvbG9yOiAjYjJiMmIyO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5jb3B5cmlnaHQgLnNvY2lhbCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuXG4uZm9vdGVycHJvbW8tYmxvY2sgLmNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5mb290ZXJwcm9tby1ibG9jayAuY29udGVudCA+IGRpdiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5mb290ZXJwcm9tby1ibG9jayAuY29udGVudCA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4uZm9vdGVycHJvbW8tYmxvY2sgLmlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBtYXgtd2lkdGg6IDcyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMCAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuZm9vdGVycHJvbW8tYmxvY2sgLmlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMy4xMjVyZW07IH0gfVxuXG4uZm9vdGVycHJvbW8tYmxvY2sgLmJnIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBlYXNlLW91dDsgfVxuXG4uZnRwYmxvY2sge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuZnRwYmxvY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9IH1cbiAgLmZ0cGJsb2NrOmhvdmVyIC5iZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAxKTsgfVxuICAuZnRwYmxvY2sgLmlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mdHBibG9jayBoMyB7XG4gICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJNaXNvXCIsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuZnRwYmxvY2sgLmRlc2Mge1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9XG4gIC5mdHBibG9jayAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZnRwYmxvY2sgLmJ1dHRvbjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMnB4KTsgfVxuICAuZnRwYmxvY2sgLmluZm8ge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5mdHBibG9jayAuaW5mbyB7XG4gICAgICAgIHBhZGRpbmc6IDYuODc1cmVtIDA7IH0gfVxuXG4uaGVhZGVyLXdyYXAge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMTAwMDAwO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuaGVhZGVyLXdyYXAgYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmhlYWRlci13cmFwIC5wcm9tby1iYXItdG9wLS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmhlYWRlci13cmFwIC5wcm9tby1iYXItdG9wLS13cmFwcGVyIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7IH1cblxuLnBhZ2Uge1xuICBwYWRkaW5nLXRvcDogNTNweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wYWdlIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1OHB4OyB9IH1cbiAgLnBhZ2UuaGFzLS1wcm9tb2JhciB7XG4gICAgcGFkZGluZy10b3A6IDkzcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnBhZ2UuaGFzLS1wcm9tb2JhciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA5OHB4OyB9IH1cblxuLmZyX3BvcG92ZXJfMSB7XG4gIHotaW5kZXg6IDEwMDAwMTsgfVxuXG4uaGVhZGVyIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDAwO1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG4gIC5oZWFkZXIgPiAud3JhcCB7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmhlYWRlciA+IC53cmFwOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgICAgLmhlYWRlciA+IC53cmFwIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cbiAgLmhlYWRlciAubG9nbyB7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmhlYWRlciAubG9nbyB7XG4gICAgICAgIGZsZXgtZ3JvdzogMDsgfSB9XG4gICAgLmhlYWRlciAubG9nbyAqIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5oZWFkZXIgLmxvZ28gc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuaGVhZGVyIC5sb2dvIGgxIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMDsgfVxuICAgIC5oZWFkZXIgLmxvZ28gYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5oZWFkZXIgLmxvZ28gYTphY3RpdmUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpOyB9XG4gICAgLmhlYWRlciAubG9nbyBpbWcge1xuICAgICAgaGVpZ2h0OiAyN3B4OyB9XG4gIC5oZWFkZXIgLm5hdmlnYXRpb24ge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuaGVhZGVyIC5uYXZpZ2F0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogNThweDsgfSB9XG4gICAgLmhlYWRlciAubmF2aWdhdGlvbiAubmF2LWNvbnRhaW5lciwgLmhlYWRlciAubmF2aWdhdGlvbiAubWItdG9wLW1lbnUge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5oZWFkZXIgLnF1aWNrLWFjY2VzcyA+IHVsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuaGVhZGVyIC5xdWljay1hY2Nlc3MgPiB1bCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5oZWFkZXIgLnF1aWNrLWFjY2VzcyA+IHVsID4gbGkge1xuICAgICAgbWFyZ2luOiAwIDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmhlYWRlciAucXVpY2stYWNjZXNzID4gdWwgPiBsaSA+IGEsIC5oZWFkZXIgLnF1aWNrLWFjY2VzcyA+IHVsID4gbGkgPiBkaXYgPiBhIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjg7IH0gfVxuICAgICAgLmhlYWRlciAucXVpY2stYWNjZXNzID4gdWwgPiBsaSA+IGE6aG92ZXIsIC5oZWFkZXIgLnF1aWNrLWFjY2VzcyA+IHVsID4gbGkgPiBkaXYgPiBhOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmhlYWRlciAucXVpY2stYWNjZXNzID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5oZWFkZXIgLnF1aWNrLWFjY2VzcyBsaS5zdG9yZS1zd2l0Y2hlciwgLmhlYWRlciAucXVpY2stYWNjZXNzIGxpLnNlYXJjaCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmhlYWRlciAucXVpY2stYWNjZXNzIGxpLnN0b3JlLXN3aXRjaGVyLCAuaGVhZGVyIC5xdWljay1hY2Nlc3MgbGkuc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLmhlYWRlciAucXVpY2stYWNjZXNzIC5pY24sIC5oZWFkZXIgLm1vYmlsZS1pY29ucyAuaWNuIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmhlYWRlciAucXVpY2stYWNjZXNzIC5pY24sIC5oZWFkZXIgLm1vYmlsZS1pY29ucyAuaWNuIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgLmhlYWRlciBwIHtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7IH1cbiAgLmhlYWRlciAucXVpY2stYWNjZXNzLCAuaGVhZGVyIC5tb2JpbGUtaWNvbnMge1xuICAgIHdpZHRoOiA5MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuaGVhZGVyIC5xdWljay1hY2Nlc3MsIC5oZWFkZXIgLm1vYmlsZS1pY29ucyB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmhlYWRlciAubW9iaWxlLWljb25zIHtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5oZWFkZXIgLm1vYmlsZS1pY29ucyBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW46IC03cHggMDtcbiAgICAgIHBhZGRpbmc6IDdweCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuaGVhZGVyIC5tb2JpbGUtaWNvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnRvcC10aXAuakJveC1Ub29sdGlwIC5qQm94LXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbTsgfVxuXG4udG9wLXRpcC5qQm94LVRvb2x0aXAgLmpCb3gtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRvcC10aXAuakJveC1Ub29sdGlwIC5qQm94LXBvaW50ZXItdG9wIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5zZWFyY2gtcGFuZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDkwMDtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yMDBweCk7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IDAuM3MgYWxsIGxpbmVhcjsgfVxuICBib2R5LmFjdGl2ZS1zZWFyY2ggLnNlYXJjaC1wYW5lbCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG4gIC5zZWFyY2gtcGFuZWwgLndyYXAge1xuICAgIG1heC13aWR0aDogOTYwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLnNlYXJjaC1wYW5lbCAud3JhcDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgIC5zZWFyY2gtcGFuZWwgLndyYXAge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICAuc2VhcmNoLXBhbmVsIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxLjI1cmVtO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbjogLTEwcHggMCAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuc2VhcmNoLXBhbmVsIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDA7IH1cbiAgLnNlYXJjaC1wYW5lbCBsYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2VhcmNoLXBhbmVsIC5pbnB1dC10ZXh0IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNlYXJjaC1wYW5lbCAuaW5wdXQtdGV4dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gICAgICBjb2xvcjogIzY2NjsgfVxuICAgIC5zZWFyY2gtcGFuZWwgLmlucHV0LXRleHQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgLyogRmlyZWZveCAxOSsgKi9cbiAgICAgIGNvbG9yOiAjNjY2OyB9XG4gICAgLnNlYXJjaC1wYW5lbCAuaW5wdXQtdGV4dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgLyogSUUgMTArICovXG4gICAgICBjb2xvcjogIzY2NjsgfVxuICAgIC5zZWFyY2gtcGFuZWwgLmlucHV0LXRleHQ6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAvKiBGaXJlZm94IDE4LSAqL1xuICAgICAgY29sb3I6ICM2NjY7IH1cblxuYm9keS5hY3RpdmUtc2VhcmNoIGFbaHJlZj1cIiNzZWFyY2hcIl0ge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IH1cblxuLnByb21vLW1lc3NhZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm94LXNoYWRvdzogMCAxcHggNXB4IDAgcmdiYSg1LCA1LCA1LCAwLjI1KTsgfVxuICAucHJvbW8tbWVzc2FnZSBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgcGFkZGluZzogMCAyMHB4IDAgMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnByb21vLW1lc3NhZ2UgLndyYXAge1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnByb21vLW1lc3NhZ2UgLndyYXA6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgICAucHJvbW8tbWVzc2FnZSAud3JhcCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gIC5wcm9tby1tZXNzYWdlIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHJpZ2h0OiAtMTBweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAtMTZweCAwIDA7XG4gICAgcGFkZGluZzogN3B4O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5wcm9tby1tZXNzYWdlIC5jbG9zZSBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLmJhZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmFnIC5pY29uLWJhZyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHRleHQtaW5kZW50OiAxcHg7IH1cbiAgLmJhZyAuY2xvc2Uge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5iYWcgLmNsb3NlIGkuaWNuIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAuYmFnIC5ibG9jay1jYXJ0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB3aWR0aDogODAlO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiA5OTk5OTk5OTk5O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmJhZyAuYmxvY2stY2FydCA+IGRpdiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuYmFnIC5ibG9jay1jYXJ0IHtcbiAgICAgICAgdG9wOiA1OHB4O1xuICAgICAgICB3aWR0aDogMzUwcHg7IH0gfVxuICAgIC5iYWcgLmJsb2NrLWNhcnQgLmNhcnQtdG90YWwtcHJpY2Uge1xuICAgICAgcGFkZGluZzogMCAxLjI1cmVtOyB9XG4gICAgICAuYmFnIC5ibG9jay1jYXJ0IC5jYXJ0LXRvdGFsLXByaWNlOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5iYWcgLmJsb2NrLWNhcnQgLmNoZWNrb3V0LXR5cGVzIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZzogMCAxLjI1cmVtIDAuOTM3NXJlbTsgfVxuICAgICAgLmJhZyAuYmxvY2stY2FydCAuY2hlY2tvdXQtdHlwZXMgbGkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyBhLmNoZWNrb3V0LWJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cbiAgICAuYmFnIC5ibG9jay1jYXJ0IGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYmFnIC5ibG9jay1jYXJ0IC5taW5pLXByb2R1Y3RzLWxpc3Qge1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDAgMDsgfVxuICAgIC5iYWcgLmJsb2NrLWNhcnQgLml0ZW0ge1xuICAgICAgcGFkZGluZzogMCAxLjI1cmVtIDAuNjI1cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAgICAgLmJhZyAuYmxvY2stY2FydCAuaXRlbTo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5iYWcgLmJsb2NrLWNhcnQgLml0ZW0gLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgIC5iYWcgLmJsb2NrLWNhcnQgLml0ZW0gLnByb2R1Y3QtaW1hZ2UgaW1nIHtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYjJiMmIyO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuYmFnIC5ibG9jay1jYXJ0IC5pdGVtIHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuYmFnIC5ibG9jay1jYXJ0IC5pdGVtIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMS4yNXJlbTtcbiAgICAgICAgcGFkZGluZzogMCAwIDU1cHg7IH1cbiAgICAgICAgLmJhZyAuYmxvY2stY2FydCAuaXRlbSAucHJvZHVjdC1kZXRhaWxzIHAge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmJhZyAuYmxvY2stY2FydCAuaXRlbSAucHJvZHVjdC1zaXplLWF0dHJpYnV0ZSwgLmJhZyAuYmxvY2stY2FydCAuaXRlbSAuaW5mby13cmFwcGVyIHtcbiAgICAgICAgY29sb3I6ICM2NjY2NjY7IH1cbiAgICAgIC5iYWcgLmJsb2NrLWNhcnQgLml0ZW0gLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmJhZyAuYmxvY2stY2FydCAuaXRlbSAucmVtb3ZlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmJhZyAuYmxvY2stY2FydCAuaXRlbSAuaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAuYmFnIC5ibG9jay1jYXJ0IC5pdGVtIC5jYXJ0LXF0eS1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgICAgLmJhZyAuYmxvY2stY2FydCAuaXRlbSAuY2FydC1xdHktY29udGFpbmVyIGxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgICAuYmFnIC5ibG9jay1jYXJ0IC5pdGVtIC5jYXJ0LXF0eS1jb250YWluZXIgaW5wdXQge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgICAgbWF4LWhlaWdodDogMjhweDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgICAuYmFnIC5ibG9jay1jYXJ0IC5pdGVtIC5jYXJ0LXF0eS1jb250YWluZXIgYS5idG4tcXR5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICAgICAgY29sb3I6ICNiMmIyYjI7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IG5vbmU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAgIC5iYWcgLmJsb2NrLWNhcnQgLml0ZW0gLmNhcnQtcXR5LWNvbnRhaW5lciBhLmJ0bi1xdHk6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLmJhZyAuYmxvY2stY2FydCAuaXRlbSAuY2FydC1xdHktY29udGFpbmVyIGEuYnRuLXF0eS1hY3RpdmUge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgICAgLmJhZyAuYmxvY2stY2FydCAuaXRlbSAuY2FydC1xdHktY29udGFpbmVyIGEuYnRuLXF0eS1kaXNhYmxlZCB7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4ubWluaS1wcm9kdWN0cy1saXN0IHtcbiAgaGVpZ2h0OiA2MHZoO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubWluaS1wcm9kdWN0cy1saXN0IC5tb3JlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5taW5pLXByb2R1Y3RzLWxpc3QgLm1vcmUgYSB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAgIC5taW5pLXByb2R1Y3RzLWxpc3QgLm1vcmUgYTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLm1pbmktcHJvZHVjdHMtbGlzdCAudXBkYXRlLXF0eS1vdXRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDAgMS4yNXJlbSAwIDA7IH1cbiAgICAubWluaS1wcm9kdWN0cy1saXN0IC51cGRhdGUtcXR5LW91dGVyIGJ1dHRvbi5idG4tdXBkYXRlIHtcbiAgICAgIHBhZGRpbmc6IDdweCA3cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAgIC5taW5pLXByb2R1Y3RzLWxpc3QgLnVwZGF0ZS1xdHktb3V0ZXIgYnV0dG9uLmJ0bi11cGRhdGU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLm1pbmktcHJvZHVjdHMtbGlzdCAudXBkYXRlLXF0eS1vdXRlciBidXR0b24uYnRuLXVwZGF0ZSBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubWluaWNhcnQtYm90dG9tIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5taW5pY2FydC1ib3R0b206YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiAwLjEyNXJlbTsgfVxuXG4jaGVhZGVyLWNhcnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLCAwKTtcbiAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1vdXQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG4gIC1tb3otdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSk7XG4gIC1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUsIDAuNTUsIDAuOTUpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KTsgfVxuXG5ib2R5LmFjdGl2ZS1iYWcge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIGJvZHkuYWN0aXZlLWJhZyAjaGVhZGVyLWNhcnQtdHJpZ2dlciB7XG4gICAgb3BhY2l0eTogMTsgfVxuICBib2R5LmFjdGl2ZS1iYWcgI2hlYWRlci1jYXJ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4uY21zLWhvbWUgLmZlYXR1cmUtYmxvY2suaGVybyAuYmcge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNtcy1ob21lIC5mZWF0dXJlLWJsb2NrLmhlcm8gLmJnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmNtcy1ob21lIC5mZWF0dXJlLWJsb2NrLmhlcm8gLmJnLW1vYiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY21zLWhvbWUgLmZlYXR1cmUtYmxvY2suaGVybyAuYmctbW9iIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZmVhdHVyZS1ibG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiA2LjI1cmVtIDA7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuZmVhdHVyZS1ibG9jayB7XG4gICAgICBoZWlnaHQ6IDc4dmg7XG4gICAgICBtaW4taGVpZ2h0OiAzNy41cmVtO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5mZWF0dXJlLWJsb2NrLmhlcm8ge1xuICAgIGhlaWdodDogY2FsYyg4MHZoIC0gNTNweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5mZWF0dXJlLWJsb2NrLmhlcm8ge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA1OHB4KTtcbiAgICAgICAgbWluLWhlaWdodDogMzcuNXJlbTsgfSB9XG4gICAgLmZlYXR1cmUtYmxvY2suaGVybyAuYmcge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5mZWF0dXJlLWJsb2NrLmhlcm8gLmJnIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOyB9IH1cbiAgLmZlYXR1cmUtYmxvY2sgLmJnLCAuZmVhdHVyZS1ibG9jayAudmlkZW8td3JhcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGFsbCBlYXNlLW91dCwgMHMgdHJhbnNmb3JtIGxpbmVhcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmZlYXR1cmUtYmxvY2sgLmJnLCAuZmVhdHVyZS1ibG9jayAudmlkZW8td3JhcCB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAuZmVhdHVyZS1ibG9jayAud3JhcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5mZWF0dXJlLWJsb2NrIC53cmFwOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgICAgLmZlYXR1cmUtYmxvY2sgLndyYXAge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZmVhdHVyZS1ibG9jayAud3JhcCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgICAuZmVhdHVyZS1ibG9jayAud3JhcCAuY29udGVudCB7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgLmZlYXR1cmUtYmxvY2subGVmdCAud3JhcCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5mZWF0dXJlLWJsb2NrLnJpZ2h0IC53cmFwIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5mZWF0dXJlLWJsb2NrLmNlbnRlciAud3JhcCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmZlYXR1cmUtYmxvY2submFycm93IC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDE4Ljc1cmVtOyB9XG4gIC5mZWF0dXJlLWJsb2NrIC50aXRsZSBoMiwgLmZlYXR1cmUtYmxvY2sgLnRpdGxlIGgxIHtcbiAgICBmb250LWZhbWlseTogXCJNaXNvXCIsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmZlYXR1cmUtYmxvY2sgLnRpdGxlIGgxIHtcbiAgICBmb250LXNpemU6IDQuMzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZmVhdHVyZS1ibG9jayAudGl0bGUgaDEge1xuICAgICAgICBmb250LXNpemU6IDUuNjI1cmVtOyB9IH1cbiAgLmZlYXR1cmUtYmxvY2sgLnRpdGxlIGgyIHtcbiAgICBmb250LXNpemU6IDVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5mZWF0dXJlLWJsb2NrIC50aXRsZSBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNi4yNXJlbTsgfSB9XG4gIC5mZWF0dXJlLWJsb2NrIC5kZXNjIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDAgMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZmVhdHVyZS1ibG9jayAuZGVzYyB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDAgMS4yNXJlbTsgfSB9XG4gICAgLmZlYXR1cmUtYmxvY2sgLmRlc2MuYm9sZCB7XG4gICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAuZmVhdHVyZS1ibG9jayBkaXYucHJpY2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtIDAgMDsgfVxuICAuZmVhdHVyZS1ibG9jayAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZmVhdHVyZS1ibG9jayAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0wLjE4NzVyZW0pO1xuICAgICAgYm94LXNoYWRvdzogMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAuZmVhdHVyZS1ibG9jay52aWRlbyB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmZlYXR1cmUtYmxvY2sudmlkZW8gLndyYXAge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuICAgICAgLmZlYXR1cmUtYmxvY2sudmlkZW8gLndyYXAgYSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cbiAgICAuZmVhdHVyZS1ibG9jay52aWRlbyAud3JhcCwgLmZlYXR1cmUtYmxvY2sudmlkZW8gLm1vdXNlLWRvd25pY24ge1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBhbGwgZWFzZS1pbjsgfVxuICAgIC5mZWF0dXJlLWJsb2NrLnZpZGVvLnBsYXllci1wbGF5aW5nIC52aWRlby13cmFwIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZmVhdHVyZS1ibG9jay52aWRlby5wbGF5ZXItcGxheWluZyAud3JhcCwgLmZlYXR1cmUtYmxvY2sudmlkZW8ucGxheWVyLXBsYXlpbmcgLm1vdXNlLWRvd25pY24ge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5mZWF0dXJlLWJsb2NrLnZpZGVvLnBsYXllci1wbGF5aW5nIC5tb3VzZS1kb3duaWNuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZlYXR1cmUtYmxvY2sgLmluZGljYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zaXRpb246IDAuMnMgYWxsIGVhc2Utb3V0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmFjdGl2ZS1jb29raWUgLmZlYXR1cmUtYmxvY2sgLmluZGljYXRvciB7XG4gICAgICBib3R0b206IDUwcHg7IH1cblxuLm1vdXNlLWRvd25pY24ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDM2cHg7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luOiAwIGF1dG8gMCAtMThweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjJweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwcHgpO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBvbmNlO1xuICBhbmltYXRpb24tbmFtZTogbW92ZWludXA7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5tb3VzZS1kb3duaWNuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm1vdXNlLWRvd25pY24gc3BhbiB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjNzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHNjcm9sbGRvd247XG4gICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBtYXJnaW46IDZweCBhdXRvO1xuICAgIHdpZHRoOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbGRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTsgfVxuICAzMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1vdmVpbnVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTAwcHgpOyB9XG4gIDgwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtM3B4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9IH1cblxuLmJsb2NrLW5ldy1pbiAudGl0bGUge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMS44NzVyZW0gMDsgfVxuICAuYmxvY2stbmV3LWluIC50aXRsZTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgLmJsb2NrLW5ldy1pbiAudGl0bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gIC5ibG9jay1uZXctaW4gLnRpdGxlIGgyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07XG4gICAgZmxleC1ncm93OiAxOyB9XG4gIC5ibG9jay1uZXctaW4gLnRpdGxlIGEge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItY29sb3I6ICNjY2NjY2M7IH1cbiAgICAuYmxvY2stbmV3LWluIC50aXRsZSBhOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmJsb2NrLW5ldy1pbiAuc2xpZGVyIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuXG4uZmVhdHJhbmdlLWJsb2NrIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mZWF0cmFuZ2UtYmxvY2s6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGhlaWdodDogNi4yNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB6LWluZGV4OiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZlYXRyYW5nZS1ibG9jazphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmZlYXRyYW5nZS1ibG9jayA+IC53cmFwIHtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAuZmVhdHJhbmdlLWJsb2NrID4gLndyYXA6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgICAuZmVhdHJhbmdlLWJsb2NrID4gLndyYXAge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICAuZmVhdHJhbmdlLWJsb2NrIC5jb250ZW50IHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZlYXRyYW5nZS1ibG9jayAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH0gfVxuICAgIC5mZWF0cmFuZ2UtYmxvY2sgLmNvbnRlbnQgPiAubGVmdCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuZmVhdHJhbmdlLWJsb2NrIC5jb250ZW50ID4gLmxlZnQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZlYXRyYW5nZS1ibG9jayAuY29udGVudCA+IC5sZWZ0LCAuZmVhdHJhbmdlLWJsb2NrIC5jb250ZW50ID4gLnJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgLmZlYXRyYW5nZS1ibG9jayAuY29udGVudCA+IC5yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5mZWF0cmFuZ2UtYmxvY2sgLmNvbnRlbnQgPiAucmlnaHQge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGluaGVyaXQ7IH0gfVxuICAgICAgLmZlYXRyYW5nZS1ibG9jayAuY29udGVudCA+IC5yaWdodCA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mZWF0cmFuZ2UtYmxvY2sgYSB7XG4gICAgY29sb3I6ICMxYTFhMWE7IH1cbiAgLmZlYXRyYW5nZS1ibG9jayAuaW5mbyBoMyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAuZmVhdHJhbmdlLWJsb2NrIC5mZWF0dXJlOmhvdmVyIC5pbWFnZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAuZmVhdHJhbmdlLWJsb2NrIC5mZWF0dXJlIC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAzMy4xMjVyZW07XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRyYW5zaXRpb246IDAuNHMgYWxsIGVhc2Utb3V0OyB9XG4gICAgLmZlYXRyYW5nZS1ibG9jayAuZmVhdHVyZSAuaW1hZ2UgaW1nIHtcbiAgICAgIG1hcmdpbjogMS44NzVyZW0gMCAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmZlYXRyYW5nZS1ibG9jayAuZmVhdHVyZSAuaW5mbyB7XG4gICAgcGFkZGluZzogMCAwIDEuMzc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZlYXRyYW5nZS1ibG9jayAuZmVhdHVyZSAuaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuZmVhdHJhbmdlLWJsb2NrLmVubGFyZ2VkIC5mZWF0dXJlIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAtMy43NXJlbSBhdXRvOyB9XG4gICAgLmZlYXRyYW5nZS1ibG9jay5lbmxhcmdlZCAuZmVhdHVyZTpob3ZlciAuaW1hZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZlYXRyYW5nZS1ibG9jayAuY29weSA+IC50aXRsZSB7XG4gICAgICBtYXJnaW46IDYuMjVyZW0gMCAwOyB9IH1cbiAgLmZlYXRyYW5nZS1ibG9jayAuY29weSA+IC50aXRsZSBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiTWlzb1wiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZmVhdHJhbmdlLWJsb2NrIC5jb3B5ID4gLnRpdGxlIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA2LjI1cmVtOyB9IH1cbiAgLmZlYXRyYW5nZS1ibG9jayAuY29weSAuZGVzYyB7XG4gICAgbWF4LXdpZHRoOiAyNi4yNXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5mZWF0cmFuZ2UtYmxvY2sgLmNvcHkgLmRlc2MgcCB7XG4gICAgICBjb2xvcjogIzY2NjY2NjtcbiAgICAgIG1hcmdpbjogMCAwIDIuNXJlbTsgfVxuICAgIC5mZWF0cmFuZ2UtYmxvY2sgLmNvcHkgLmRlc2MgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5mZWF0cmFuZ2UtYmxvY2sgLmNvcHkgLmRlc2MgYTpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0wLjE4NzVyZW0pOyB9XG4gIC5mZWF0cmFuZ2UtYmxvY2sgLmNvcHkgLmJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5mZWF0cmFuZ2UtYmxvY2sgLnJhbmdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDAgMS44NzVyZW0gMS4zNzVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZmVhdHJhbmdlLWJsb2NrIC5yYW5nZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9IH1cbiAgICAuZmVhdHJhbmdlLWJsb2NrIC5yYW5nZSAucHJvZHVjdCB7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgd2lkdGg6IDMzLjMzJTsgfVxuICAgICAgLmZlYXRyYW5nZS1ibG9jayAucmFuZ2UgLnByb2R1Y3QgLmltYWdlIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjI1cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBlYXNlLW91dDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDUwcHg7IH1cbiAgICAgIC5mZWF0cmFuZ2UtYmxvY2sgLnJhbmdlIC5wcm9kdWN0IC5pbmZvIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC40cyBhbGwgZWFzZS1vdXQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDIwcHgpOyB9XG4gICAgICAuZmVhdHJhbmdlLWJsb2NrIC5yYW5nZSAucHJvZHVjdDpob3ZlciAuaW1hZ2Uge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTBweCk7IH1cbiAgICAgIC5mZWF0cmFuZ2UtYmxvY2sgLnJhbmdlIC5wcm9kdWN0OmhvdmVyIC5pbmZvIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIC5mZWF0cmFuZ2UtYmxvY2sgLm1vYmlsZS1pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogLTYuMjVyZW0gLTE1cHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogLTE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmZlYXRyYW5nZS1ibG9jayAubW9iaWxlLWltZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5mZWF0cmFuZ2UtYmxvY2sgLm1vYmlsZS1pbWcgaW1nIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4uaG9tZXByb21vLWJsb2NrIC5jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5ob21lcHJvbW8tYmxvY2sgLmNvbnRlbnQge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAuaG9tZXByb21vLWJsb2NrIC5jb250ZW50ID4gZGl2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uaG9tZXByb21vLWJsb2NrIC5sZWZ0LCAuaG9tZXByb21vLWJsb2NrIC5yaWdodCB7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLmhvbWVwcm9tby1ibG9jayAubGVmdCA+IGRpdiwgLmhvbWVwcm9tby1ibG9jayAucmlnaHQgPiBkaXYge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5ob21lcHJvbW8tYmxvY2sgLmJnIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5ob21lcHJvbW8tYmxvY2sgLmlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIG1heC13aWR0aDogNzIwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5ob21lcHJvbW8tYmxvY2sgLmxlZnQgLmlubmVyIHtcbiAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9XG5cbi5ob21lcHJvbW8tYmxvY2sgLnJpZ2h0IC5pbm5lciB7XG4gIG1hcmdpbjogMCBhdXRvIDAgMDsgfVxuXG4uaG9tZXByb21vLWJsb2NrIGgzIHtcbiAgZm9udC1mYW1pbHk6IFwiTWlzb1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAwLjk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmhvbWVwcm9tby1ibG9jayBoMy5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAyLjg3NXJlbTsgfVxuICAuaG9tZXByb21vLWJsb2NrIGgzLm1lZGl1bSB7XG4gICAgZm9udC1zaXplOiA0LjVyZW07IH1cbiAgLmhvbWVwcm9tby1ibG9jayBoMy5sYXJnZSB7XG4gICAgZm9udC1zaXplOiA2LjI1cmVtOyB9XG5cbi5ob21lcHJvbW8tYmxvY2sgLmluZm8ge1xuICBmbGV4LWdyb3c6IDI7XG4gIG1pbi1oZWlnaHQ6IDgwcHg7IH1cblxuLmhvbWVwcm9tby1ibG9jayAuZGVzYyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4uaG9tZXByb21vLWJsb2NrIGltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLmhvbWVwcm9tby1ibG9jayBkaXYucHJpY2Uge1xuICBoZWlnaHQ6IDYwcHg7IH1cblxuLmhvbWVwcm9tby1ibG9jayAuY3RhLXdyYXAge1xuICBoZWlnaHQ6IDYwcHg7IH1cblxuLmhvbWVwcm9tby1ibG9jayAuYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW46IDAuNjI1cmVtIDAgMDsgfVxuICAuaG9tZXByb21vLWJsb2NrIC5idXR0b246aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0wLjE4NzVyZW0pOyB9XG5cbi5ob21lcHJvbW8tYmxvY2suYmIgLmlubmVyIHtcbiAgcGFkZGluZzogMS44NzVyZW0gMCAwOyB9XG5cbi5ob21lcHJvbW8tYmxvY2suYmIgaDMge1xuICBtYXgtd2lkdGg6IDEyLjVyZW07IH1cblxuLmhvbWVwcm9tby1ibG9jay5iYiAucGltYWdlIHtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0xMCU7IH1cbiAgLmhvbWVwcm9tby1ibG9jay5iYiAucGltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmhvbWVwcm9tby1ibG9jay5iYiAuaW5mbyB7XG4gIHdpZHRoOiA2MCU7XG4gIHBhZGRpbmc6IDAgMCA0LjM3NXJlbSAxMiU7IH1cblxuLmhvbWVwcm9tby1ibG9jay5iYiAuZGVzYyB7XG4gIHBhZGRpbmc6IDVyZW0gMCAwOyB9XG5cbi5ob21lcHJvbW8tYmxvY2suYmIgLmxlZnQsIC5ob21lcHJvbW8tYmxvY2suYmIgLnJpZ2h0IHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaG9tZXByb21vLWJsb2NrLmJiIC5sZWZ0LCAuaG9tZXByb21vLWJsb2NrLmJiIC5yaWdodCB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cblxuLmhvbWVwcm9tby1ibG9jay5tc3MgLndyYXAgPiAuY29udGVudCA+IC5sZWZ0IHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmhvbWVwcm9tby1ibG9jay5tc3MgLndyYXAgPiAuY29udGVudCA+IC5sZWZ0IHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAuaG9tZXByb21vLWJsb2NrLm1zcyAud3JhcCA+IC5jb250ZW50ID4gLmxlZnQgLmluZm8ge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICB3aWR0aDogODAlO1xuICAgIHBhZGRpbmc6IDAgMCAxLjI1cmVtIDEyJTsgfVxuICAuaG9tZXByb21vLWJsb2NrLm1zcyAud3JhcCA+IC5jb250ZW50ID4gLmxlZnQgLmJnIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG4gICAgdHJhbnNpdGlvbjogMC40cyBhbGwgZWFzZS1vdXQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmhvbWVwcm9tby1ibG9jay5tc3MgLndyYXAgPiAuY29udGVudCA+IC5sZWZ0IC5kZXNjIHtcbiAgICAgIHBhZGRpbmc6IDVyZW0gMCAwOyB9IH1cbiAgLmhvbWVwcm9tby1ibG9jay5tc3MgLndyYXAgPiAuY29udGVudCA+IC5sZWZ0IC5wYmxvY2s6aG92ZXIgLmJnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG5cbi5ob21lcHJvbW8tYmxvY2subXNzIC53cmFwID4gLmNvbnRlbnQgPiAucmlnaHQge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuaG9tZXByb21vLWJsb2NrLm1zcyAud3JhcCA+IC5jb250ZW50ID4gLnJpZ2h0IHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAuaG9tZXByb21vLWJsb2NrLm1zcyAud3JhcCA+IC5jb250ZW50ID4gLnJpZ2h0IC5iZyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7IH1cbiAgLmhvbWVwcm9tby1ibG9jay5tc3MgLndyYXAgPiAuY29udGVudCA+IC5yaWdodCAucmlnaHQge1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAuaG9tZXByb21vLWJsb2NrLm1zcyAud3JhcCA+IC5jb250ZW50ID4gLnJpZ2h0IC5pbm5lciB7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7IH1cbiAgLmhvbWVwcm9tby1ibG9jay5tc3MgLndyYXAgPiAuY29udGVudCA+IC5yaWdodCAucGltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMCAwOyB9XG4gIC5ob21lcHJvbW8tYmxvY2subXNzIC53cmFwID4gLmNvbnRlbnQgPiAucmlnaHQgLmluZm8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMS44NzVyZW0gMS4yNXJlbTsgfVxuXG4ucGJsb2NrIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5wYmxvY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG4gIC5wYmxvY2s6aG92ZXIgLnBpbWFnZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAucGJsb2NrIC5waW1hZ2Uge1xuICAgIHRyYW5zaXRpb246IDAuNHMgYWxsIGVhc2Utb3V0OyB9XG4gIC5wYmxvY2sgLmJnIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucGJsb2NrIC5iZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnBibG9jayAuaW5uZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5wYmxvY2sgLmlubmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5wYmxvY2sgLm1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnBibG9jayAubWltYWdlIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4uaW5zdGFncmFtLWZlZWQgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmluc3RhZ3JhbS1mZWVkIGltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmluc3RhZ3JhbS1mZWVkIC5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmluc3RhZ3JhbS1mZWVkIC5idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5pbnN0YWdyYW0tZmVlZCAuaG9tZS1mZWVkIHtcbiAgYmFja2dyb3VuZDogIzAwMCB1cmwoXCIuLi9pbWcvaW5zdGFfYmcuanBnXCIpIGNlbnRlciB0b3Agbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIHBhZGRpbmc6IDMuMTI1cmVtIDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaW5zdGFncmFtLWZlZWQgLmhvbWUtZmVlZCB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdDtcbiAgICAgIHBhZGRpbmc6IDcuNXJlbSAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmluc3RhZ3JhbS1mZWVkIC5ob21lLWZlZWQgPiAud3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmluc3RhZ3JhbS1mZWVkIC5ob21lLWZlZWQgPiAud3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAuaW5zdGFncmFtLWZlZWQgLmhvbWUtZmVlZCBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuaW5zdGFncmFtLWZlZWQgLmhvbWUtZmVlZCAuY29weSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMCAwIDMuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5pbnN0YWdyYW0tZmVlZCAuaG9tZS1mZWVkIC5jb3B5IHtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgLmluc3RhZ3JhbS1mZWVkIC5ob21lLWZlZWQgLmNvcHkge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMCU7IH0gfVxuICAuaW5zdGFncmFtLWZlZWQgLmhvbWUtZmVlZDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaW5zdGFncmFtLWZlZWQgLmhvbWUtZmVlZDphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmluc3RhZ3JhbS1mZWVkIC5ob21lLWZlZWQgLmhhc2h0YWcge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1pc29cIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDMuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5pbnN0YWdyYW0tZmVlZCAuaG9tZS1mZWVkIC5oYXNodGFnIHtcbiAgICAgICAgZm9udC1zaXplOiA0LjVyZW07IH0gfVxuICAgIC5pbnN0YWdyYW0tZmVlZCAuaG9tZS1mZWVkIC5oYXNodGFnIGEge1xuICAgICAgY29sb3I6ICNmNTRhMzY7IH1cbiAgLmluc3RhZ3JhbS1mZWVkIC5ob21lLWZlZWQgLmxpbmsge1xuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaW5zdGFncmFtLWZlZWQgLmhvbWUtZmVlZCAubGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9IH1cbiAgICAuaW5zdGFncmFtLWZlZWQgLmhvbWUtZmVlZCAubGluayBpIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaW5zdGFncmFtLWZlZWQgLmhvbWUtZmVlZCAucGljcyB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB3aWR0aDogNjAlOyB9IH1cbiAgLmluc3RhZ3JhbS1mZWVkIC5ob21lLWZlZWQgLnBpY3MgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuaW5zdGFncmFtLWZlZWQgLmhvbWUtZmVlZCAucGljcyBsaS54MiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmluc3RhZ3JhbS1mZWVkIC5ob21lLWZlZWQgLnBpY3MgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pbnN0YWdyYW0tZmVlZCAuaG9tZS1mZWVkIC5waWNzIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmluc3RhZ3JhbS1mZWVkIC5taW5pLWZlZWQge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDMuMTI1cmVtIDAgMDsgfVxuICAuaW5zdGFncmFtLWZlZWQgLm1pbmktZmVlZCAudG9wIHtcbiAgICBwYWRkaW5nOiAwIDAgMy4xMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIC5pbnN0YWdyYW0tZmVlZCAubWluaS1mZWVkIC50b3A6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgICAuaW5zdGFncmFtLWZlZWQgLm1pbmktZmVlZCAudG9wIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cbiAgICAuaW5zdGFncmFtLWZlZWQgLm1pbmktZmVlZCAudG9wIC53cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaW5zdGFncmFtLWZlZWQgLm1pbmktZmVlZCAudGl0bGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5pbnN0YWdyYW0tZmVlZCAubWluaS1mZWVkIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9IH1cbiAgICAuaW5zdGFncmFtLWZlZWQgLm1pbmktZmVlZCAudGl0bGUgYSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuaW5zdGFncmFtLWZlZWQgLm1pbmktZmVlZCAubGluayB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwLjMxMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogXCJNaXNvXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcG9zaXRpb246IHN0YXRpYzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaW5zdGFncmFtLWZlZWQgLm1pbmktZmVlZCAubGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG4gICAgLmluc3RhZ3JhbS1mZWVkIC5taW5pLWZlZWQgLmxpbmsgYSB7XG4gICAgICBjb2xvcjogI2Y1NGEzNjsgfVxuICAuaW5zdGFncmFtLWZlZWQgLm1pbmktZmVlZCAucGljcyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmluc3RhZ3JhbS1mZWVkIC5taW5pLWZlZWQgLnBpY3Mge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gICAgLmluc3RhZ3JhbS1mZWVkIC5taW5pLWZlZWQgLnBpY3MgbGkge1xuICAgICAgd2lkdGg6IDMzLjMzJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmluc3RhZ3JhbS1mZWVkIC5taW5pLWZlZWQgLnBpY3MgbGkge1xuICAgICAgICAgIHdpZHRoOiAyMCU7IH0gfVxuICAgIC5pbnN0YWdyYW0tZmVlZCAubWluaS1mZWVkIC5waWNzIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuaW5zdGFncmFtLWZlZWQgLm1pbmktZmVlZCAucGljcyBsaTpudGgtY2hpbGQoMm4pIGltZyB7XG4gICAgICB3aWR0aDogNzAlOyB9XG5cbi5pbnN0YWdyYW0tZmVlZCAucGljcyBhIHtcbiAgdHJhbnNpdGlvbjogMC4xNHMgYWxsIGVhc2Utb3V0OyB9XG5cbi5pbnN0YWdyYW0tZmVlZCAucGljczpob3ZlciBhIHtcbiAgZmlsdGVyOiBjb250cmFzdCgwLjkpIHNhdHVyYXRlKDAuNCk7IH1cbiAgLmluc3RhZ3JhbS1mZWVkIC5waWNzOmhvdmVyIGE6aG92ZXIge1xuICAgIGZpbHRlcjogbm9uZTsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuaW1nLmxhenlsb2FkIHtcbiAgbWluLWhlaWdodDogMjRweDtcbiAgbWluLXdpZHRoOiAyNHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2xvYWRpbmcuZ2lmKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDsgfVxuXG4jbmF2IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgI25hdiBsaSwgI25hdiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAjbmF2ID4gbGkge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgICNuYXYgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAjbmF2ID4gbGkgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMzIwcHgpIHtcbiAgICAgICAgI25hdiA+IGxpID4gYSB7XG4gICAgICAgICAgcGFkZGluZzogMCAxLjI1cmVtOyB9IH1cbiAgICAgICNuYXYgPiBsaSA+IGE6aG92ZXIsICNuYXYgPiBsaSA+IGEub3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAjbmF2ID4gbGkgPiBhIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG4gICAgICAjbmF2ID4gbGkgPiBhOmFmdGVyLCAjbmF2ID4gbGkgPiBhOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMjdweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgI25hdiA+IGxpID4gYTphZnRlciB7XG4gICAgICAgIGxlZnQ6IDEwMCU7IH1cbiAgICAgICNuYXYgPiBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IDEwMCU7IH1cbiAgICAgICNuYXYgPiBsaSA+IGE6aG92ZXIge1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICNuYXYgLmRkLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNuYXYgLmRkLWNvbnRhaW5lciBhIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgI25hdiAuZGQtY29udGFpbmVyLnNob3duLXN1YiB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAjbmF2IC5kZC1jb250YWluZXIubm8tc3VibWVudXMgLmRkLWNvbnRhaW5lci1pbm5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICNuYXYgLmRkLWNvbnRhaW5lci5uby1zdWJtZW51cyAubmF2YmxvY2sge1xuICAgICAgbWFyZ2luOiAwIDEuMjVyZW07IH1cbiAgI25hdiAuZGQtY29udGFpbmVyLWlubmVyIHtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAwIDEuODc1cmVtOyB9XG4gICAgI25hdiAuZGQtY29udGFpbmVyLWlubmVyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgICAgI25hdiAuZGQtY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cbiAgICAjbmF2IC5kZC1jb250YWluZXItaW5uZXIgPiB1bCB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAjbmF2IC5kZC1jb250YWluZXItaW5uZXIgPiB1bCBhIHtcbiAgICAgICAgcGFkZGluZzogMC42MjVyZW0gMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS44NzVyZW07XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOyB9XG4gICAgICAgICNuYXYgLmRkLWNvbnRhaW5lci1pbm5lciA+IHVsIGE6aG92ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAgICAgI25hdiAuZGQtY29udGFpbmVyLWlubmVyID4gdWwgbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2Q5ZDlkOTsgfVxuICAgICAgICAjbmF2IC5kZC1jb250YWluZXItaW5uZXIgPiB1bCBsaS5sZXZlbDEucGFyZW50IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgICAgI25hdiAuZGQtY29udGFpbmVyLWlubmVyID4gdWwgbGkubGV2ZWwxLnBhcmVudCBhIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAgICAgI25hdiAuZGQtY29udGFpbmVyLWlubmVyID4gdWwgbGkubGV2ZWwxLnBhcmVudCBhIHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9IH1cbiAgICAgICNuYXYgLmRkLWNvbnRhaW5lci1pbm5lciA+IHVsIC5jb2x1bW4ge1xuICAgICAgICB3aWR0aDogMjIlO1xuICAgICAgICBtYXJnaW46IDAgNCUgMCAwO1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICAjbmF2IC5kZC1jb250YWluZXItaW5uZXIgPiB1bCAuY29sdW1uOm50aC1jaGlsZCg0bikge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAgICNuYXYgLmRkLWNvbnRhaW5lci1pbm5lciA+IHVsIC5jb2x1bW46bnRoLWNoaWxkKDRuKSBsaSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAjbmF2IC5kZC1jb250YWluZXItaW5uZXIgLm5hdmJsb2NrIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgI25hdiAuZGQtY29udGFpbmVyLWlubmVyIC5uYXZibG9jayBhIGltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OSk7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMXMgYWxsIGVhc2Utb3V0OyB9XG4gICAgICAjbmF2IC5kZC1jb250YWluZXItaW5uZXIgLm5hdmJsb2NrIGE6aG92ZXIgaW1nIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgICNuYXYgLmRkLWNvbnRhaW5lci1pbm5lci5jb2xzLTEgPiB1bCAuY29sdW1uIHtcbiAgICAgIHdpZHRoOiA0MCU7IH1cbiAgICAgICNuYXYgLmRkLWNvbnRhaW5lci1pbm5lci5jb2xzLTEgPiB1bCAuY29sdW1uOm50aC1jaGlsZCgxbikge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgI25hdiAuZGQtY29udGFpbmVyLWlubmVyLmNvbHMtMSA+IHVsIC5jb2x1bW46bnRoLWNoaWxkKDFuKSBsaSB7XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgI25hdiAuZGQtY29udGFpbmVyLWlubmVyLmNvbHMtMiA+IHVsIC5jb2x1bW4ge1xuICAgICAgd2lkdGg6IDQwJTsgfVxuICAgICAgI25hdiAuZGQtY29udGFpbmVyLWlubmVyLmNvbHMtMiA+IHVsIC5jb2x1bW46bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAjbmF2IC5kZC1jb250YWluZXItaW5uZXIuY29scy0yID4gdWwgLmNvbHVtbjpudGgtY2hpbGQoMm4pIGxpIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAjbmF2IC5kZC1jb250YWluZXItaW5uZXIuY29scy0zID4gdWwgLmNvbHVtbiB7XG4gICAgICB3aWR0aDogMzAlOyB9XG4gICAgICAjbmF2IC5kZC1jb250YWluZXItaW5uZXIuY29scy0zID4gdWwgLmNvbHVtbjpudGgtY2hpbGQoM24pIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICNuYXYgLmRkLWNvbnRhaW5lci1pbm5lci5jb2xzLTMgPiB1bCAuY29sdW1uOm50aC1jaGlsZCgzbikgbGkge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuXG4ubmF2LWJnIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiAwLjJzIGFsbCBlYXNlLW91dDtcbiAgaGVpZ2h0OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIGJvZHkuYWN0aXZlLW5hdiAubmF2LWJnIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmhlYWRlciAubW9iaWxlLWljb25zIC5tZW51LWljb24ge1xuICBtYXJnaW4tbGVmdDogLTdweDsgfVxuXG4ubWVudS1pY29uIGkge1xuICB3aWR0aDogMjdweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDZweCAwO1xuICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlLWluLW91dDsgfVxuXG4uYWN0aXZlLW1vYmlsZW5hdiAubWVudS1pY29uIC5sMSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoNnB4LCA1cHgpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVooNDVkZWcpIHRyYW5zbGF0ZTNkKDZweCwgNXB4LCAwKTsgfVxuXG4uYWN0aXZlLW1vYmlsZW5hdiAubWVudS1pY29uIC5sMiB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAxKTsgfVxuXG4uYWN0aXZlLW1vYmlsZW5hdiAubWVudS1pY29uIC5sMyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKDZweCwgLTVweCk7XG4gIHRyYW5zZm9ybTogcm90YXRlWigtNDVkZWcpIHRyYW5zbGF0ZTNkKDZweCwgLTVweCwgMCk7IH1cblxuLm1vYmlsZS1uYXYge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgY29sb3I6ICMwMDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMTAzJSkgc2NhbGUoMS4wNSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMyUsIDApIHNjYWxlM2QoMS4wNSwgMS4wNSwgMSk7XG4gIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2UtaW4tb3V0O1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNThweCk7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG4gIC5hY3RpdmUtbW9iaWxlbmF2IC5tb2JpbGUtbmF2IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGUzZCgxLCAxLCAxKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubW9iaWxlLW5hdiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1vYmlsZS1uYXYgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1vYmlsZS1uYXYgYSB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLm1vYmlsZS1uYXYgPiB1bCB7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDEuODc1cmVtOyB9XG4gICAgLm1vYmlsZS1uYXYgPiB1bCA+IC50b3AtbGV2ZWwge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjY2M7XG4gICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMDsgfVxuICAgICAgLm1vYmlsZS1uYXYgPiB1bCA+IC50b3AtbGV2ZWw6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlcjogMDsgfVxuICAubW9iaWxlLW5hdiBsaS5hY3RpdmUgPiAuaGVhZCBpOmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKC0xODBkZWcpOyB9XG4gIC5tb2JpbGUtbmF2IC5oZWFkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAubW9iaWxlLW5hdiAuaGVhZCBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm1vYmlsZS1uYXYgLmhlYWQgaSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDA7IH1cbiAgICAgIC5tb2JpbGUtbmF2IC5oZWFkIGk6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGFsbCBlYXNlLWluLW91dDsgfVxuICAgIC5tb2JpbGUtbmF2IC5oZWFkIC5oZWFkIGEge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLm1vYmlsZS1uYXYgbGkuc3cgdWwgLnNlbGVjdGVkIHtcbiAgICBjb2xvcjogI2IyYjJiMjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG51bC5tb2JpbGUtZHJvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMCAwLjkzNzVyZW07IH1cbiAgdWwubW9iaWxlLWRyb3AgbGkge1xuICAgIHBhZGRpbmc6IDAuNDM3NXJlbSAwOyB9XG4gICAgdWwubW9iaWxlLWRyb3AgbGkuc3ViLWxldmVsIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjY2NjO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH1cbiAgdWwubW9iaWxlLWRyb3AgYSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uYWN0aXZlLW1vYmlsZW5hdiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnBhZ2UtdGl0bGUge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYWdlLXRpdGxlOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cbiAgLnBhZ2UtdGl0bGUgaDEge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5jb2wyLXNldCB7XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jb2wyLXNldDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgLmNvbDItc2V0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICAuY29sMi1zZXQuaW5mby1zZXQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuY29sMi1zZXQgPiAuY29sLTEsIC5jb2wyLXNldCA+IC5jb2wtMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5jb2wyLXNldCA+IC5jb2wtMSwgLmNvbDItc2V0ID4gLmNvbC0yIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5jYXQtaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDMuMTI1cmVtIDA7IH1cbiAgLmNhdC1oZXJvIC5iZywgLmNhdC1oZXJvIC5iZy1tb2Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuY2F0LWhlcm8gLmJnIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuY2F0LWhlcm8gLmJnIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuY2F0LWhlcm8gLmJnLW1vYiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5jYXQtaGVybyAuYmctbW9iIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jYXQtaGVybyAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIC5jYXQtaGVybyAuY29udGVudDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgIC5jYXQtaGVybyAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jYXQtaGVybyAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgLmNhdC1oZXJvIGgxIHtcbiAgICBmb250LWZhbWlseTogXCJNaXNvXCIsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDQuMzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuY2F0LWhlcm8gaDEge1xuICAgICAgICBmb250LXNpemU6IDUuNjI1cmVtOyB9IH1cbiAgLmNhdC1oZXJvIHAge1xuICAgIG1hcmdpbjogMS44NzVyZW0gMCAwO1xuICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40OyB9XG5cbi5wLWxpc3QgLnByb2R1Y3Qge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IDAuNXMgYmFja2dyb3VuZC1jb2xvciBsaW5lYXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5wLWxpc3QgLnByb2R1Y3QgPiAuaW5uZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAucC1saXN0IC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgdHJhbnNpdGlvbjogMC42cyBhbGwgZWFzZS1vdXQ7XG4gICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogOTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnAtbGlzdCAucHJvZHVjdCAuaW1hZ2UgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgMCA4MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAucC1saXN0IC5wcm9kdWN0IC5pbWFnZSBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgOTVweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLnAtbGlzdCAucHJvZHVjdCAuaW1hZ2UgYSB7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDExNXB4OyB9IH1cbiAgICAucC1saXN0IC5wcm9kdWN0IC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAucC1saXN0IC5wcm9kdWN0LmcyeDIgLmltYWdlIGEge1xuICAgIHBhZGRpbmc6IDAgMCA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wLWxpc3QgLnByb2R1Y3QuZzJ4MiAuaW1hZ2UgYSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA3NXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5wLWxpc3QgLnByb2R1Y3QuZzJ4MiAuaW1hZ2UgYSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA3MHB4OyB9IH1cbiAgLnAtbGlzdCAucHJvZHVjdCAuZGVzYyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMC42MjVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0cmFuc2l0aW9uOiAwLjRzIGFsbCBlYXNlLW91dDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucC1saXN0IC5wcm9kdWN0IC5kZXNjIHtcbiAgICAgICAgbWFyZ2luOiAwIDEuODc1cmVtIDAuOTM3NXJlbTsgfSB9XG4gICAgLnAtbGlzdCAucHJvZHVjdCAuZGVzYyBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnAtbGlzdCAucHJvZHVjdCBoMyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnAtbGlzdCAucHJvZHVjdCAuaW5mbyBhIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAucC1saXN0IC5wcm9kdWN0IC5idXksIC5wLWxpc3QgLnByb2R1Y3QgLnNvbGQtb3V0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAyNXB4KTsgfVxuICAgIC5wLWxpc3QgLnByb2R1Y3QgLmJ1eSBhLCAucC1saXN0IC5wcm9kdWN0IC5zb2xkLW91dCBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgICAgIC5wLWxpc3QgLnByb2R1Y3QgLmJ1eSBhOmhvdmVyLCAucC1saXN0IC5wcm9kdWN0IC5zb2xkLW91dCBhOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLnAtbGlzdCAucHJvZHVjdCBkaXYucHJpY2Uge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwIDAuMzEyNXJlbTsgfVxuICAgIC5wLWxpc3QgLnByb2R1Y3QgZGl2LnByaWNlIC53b3J0aCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDAuNjI1cmVtOyB9XG4gICAgLnAtbGlzdCAucHJvZHVjdCBkaXYucHJpY2UgLndvcnRoLCAucC1saXN0IC5wcm9kdWN0IGRpdi5wcmljZSAud29ydGggLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLnAtbGlzdCAucHJvZHVjdCAuc29sZC1vdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICByaWdodDogYXV0bzsgfVxuICAucC1saXN0IC5wcm9kdWN0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1OyB9XG4gICAgLnAtbGlzdCAucHJvZHVjdDpob3ZlciAuZGVzYyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMzBweCk7IH1cbiAgICAucC1saXN0IC5wcm9kdWN0OmhvdmVyIC5idXksIC5wLWxpc3QgLnByb2R1Y3Q6aG92ZXIgLnNvbGQtb3V0IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAucC1saXN0IC5wcm9kdWN0OmhvdmVyIC5pbWFnZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgN3B4KSBzY2FsZSgxLjAzKTsgfVxuXG4ucC1saXN0LmdyaWQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1ib3R0b206IDEuMjVyZW0gc29saWQgI2ZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAucC1saXN0LmdyaWQge1xuICAgICAgYm9yZGVyLXdpZHRoOiA1LjYyNXJlbTsgfSB9XG4gIC5wLWxpc3QuZ3JpZCAucHJvZHVjdCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnAtbGlzdC5ncmlkIC5wcm9tbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB0cmFuc2l0aW9uOiAwLjVzIGJveC1zaGFkb3cgZWFzZS1vdXQ7IH1cbiAgICAucC1saXN0LmdyaWQgLnByb21vOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggN3B4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAgIHotaW5kZXg6IDEwMTsgfVxuICAgICAgLnAtbGlzdC5ncmlkIC5wcm9tbzpob3ZlciAuYmcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOyB9XG4gICAgLnAtbGlzdC5ncmlkIC5wcm9tbyAuYmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBlYXNlLW91dDsgfVxuICAgIC5wLWxpc3QuZ3JpZCAucHJvbW8gLndyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMi41cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgLnAtbGlzdC5ncmlkIC5wcm9tbyAuc3RpY2tlciB7XG4gICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNjI1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuICAgICAgYm94LXNoYWRvdzogNXB4IDguNjZweCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7IH1cbiAgICAucC1saXN0LmdyaWQgLnByb21vIC50aXRsZSBoMyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbjogMi41cmVtIDA7XG4gICAgICBmb250LWZhbWlseTogXCJNaXNvXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDIuODEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLnAtbGlzdC5ncmlkIC5wcm9tbyAudGl0bGUgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNS4zMTI1cmVtOyB9IH1cbiAgICAucC1saXN0LmdyaWQgLnByb21vIC5jb3B5IHtcbiAgICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMDsgfVxuICAgIC5wLWxpc3QuZ3JpZCAucHJvbW8gLmRlc2Mge1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgICAucC1saXN0LmdyaWQgLnByb21vLmhwLXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLnAtbGlzdC5ncmlkIC5wcm9tby5ocC1sZWZ0IHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAucC1saXN0LmdyaWQgLnByb21vLnZwLTEge1xuICAgICAgdG9wOiAwOyB9XG4gICAgLnAtbGlzdC5ncmlkIC5wcm9tby5nMngyIC53cmFwIHtcbiAgICAgIHBhZGRpbmc6IDEzJSAxNSU7IH1cbiAgICAucC1saXN0LmdyaWQgLnByb21vLmcyeDIgLmNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLnAtbGlzdC5ncmlkIC5wcm9tby5nMngyIC50aXRsZSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLnAtbGlzdC5ncmlkIC5wcm9tby5nMngyIC50aXRsZSBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgIC5wLWxpc3QuZ3JpZCAucHJvbW8uZzJ4MiAudGl0bGUgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiA2LjI1cmVtOyB9IH1cbiAgICAucC1saXN0LmdyaWQgLnByb21vLmcyeDIgZGl2LnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9XG4gICAgLnAtbGlzdC5ncmlkIC5wcm9tby5nMXgxIC50aXRsZSBoMyB7XG4gICAgICBmb250LXNpemU6IDMuNDM3NXJlbTsgfVxuICAgIC5wLWxpc3QuZ3JpZCAucHJvbW8uZzF4MTpob3ZlciAuYmcge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTsgfVxuXG4ucHJvZHVjdCAuc29sZC1vdXQge1xuICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjZmY1MjU1OyB9XG5cbmRpdi5wcmljZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIGxldHRlci1zcGFjaW5nOiAtMXB4OyB9XG4gIGRpdi5wcmljZSBzcGFuLm9sZCB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MjU1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwLjVyZW07XG4gICAgbWFyZ2luOiAwIDAuMzEyNXJlbSAwIDA7IH1cbiAgICBkaXYucHJpY2Ugc3Bhbi5vbGQgLnByaWNlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gIGRpdi5wcmljZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ud29ydGgge1xuICBkaXNwbGF5OiBmbGV4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLndvcnRoIC5sYWJlbCB7XG4gICAgbWFyZ2luOiAwIDAuMzEyNXJlbSAwIDA7IH1cblxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuYnJlYWRjcnVtYnMgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNhdGFsb2ctY2F0ZWdvcnktdmlldyAuYnJlYWRjcnVtYnMgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDUwcHg7IH0gfVxuXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5mZWF0dXJlLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2F0YWxvZy1jYXRlZ29yeS12aWV3IC5tYWluIC5lbXB0eSBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjg3NXJlbSAwIDMuMTI1cmVtOyB9XG5cbi5jYXRhbG9nLWNhdGVnb3J5LXZpZXcgLmZlYXR1cmUtYmxvY2sgLmluZGljYXRvciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmJyZWFkY3J1bWJzIC50b29sYmFyIC5zb3J0LWJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuYnJlYWRjcnVtYnMgLnRvb2xiYXIgLnNvcnQtYnkgbGFiZWwge1xuICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtIDAgMDsgfVxuXG51bC5wLWxpc3Qge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG5cbi8qIGNsZWFyZml4ICovXG51bC5wLWxpc3Q6YWZ0ZXI6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5ncmlkLXNpemVyIHtcbiAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLmdyaWQtaXRlbSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5ncmlkLXNpemVyLCAuZ3JpZC1pdGVtIHtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5ncmlkLXNpemVyLCAuZ3JpZC1pdGVtIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmdyaWQtc2l6ZXIsIC5ncmlkLWl0ZW0ge1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xuICAgIC5ncmlkLXNpemVyLCAuZ3JpZC1pdGVtIHtcbiAgICAgIHdpZHRoOiAyMCU7IH0gfVxuXG4uZzJ4MiwgLmcyeDEge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5nMngyLCAuZzJ4MSB7XG4gICAgICB3aWR0aDogNjYuNjY2JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5nMngyLCAuZzJ4MSB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KSB7XG4gICAgLmcyeDIsIC5nMngxIHtcbiAgICAgIHdpZHRoOiA0MCU7IH0gfVxuXG4ubWItc2VhcmNoLXJlc3VsdCBwLm5vdGUtbXNnIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAzLjEyNXJlbSAwIDUuNjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS40Mzc1cmVtOyB9XG5cbi5wLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnAtaW1nLFxuLnAtaW5mbyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnAtaW1nLFxuICAgIC5wLWluZm8ge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5wLWltYWdlcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wLWltYWdlcyAuc2xpZGVyLCAucC1pbWFnZXMgLnN0aWNrIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5wLWltYWdlcyAuc2xpZGVyOjphZnRlciwgLnAtaW1hZ2VzIC5zdGljazo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnAtaW1hZ2VzIC5zdGljayB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnAtaW1hZ2VzIGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucC1pbWFnZXMgaW1nLnRodW1iIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5wLWltYWdlcyBpbWcudGh1bWIge1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNThweCk7IH0gfVxuICAucC1pbWFnZXMgLnBpbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHpvb20taW47XG4gICAgcGFkZGluZzogMCAwIDMuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5wLWltYWdlcyAucGltZyB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5wLWltYWdlcyAucGltZy56b29tZWQge1xuICAgICAgY3Vyc29yOiB6b29tLW91dDsgfVxuICAgICAgLnAtaW1hZ2VzIC5waW1nLnpvb21lZCBpbWcuem9vbUltZyB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgLnAtaW1hZ2VzIGltZy56b29tSW1nIHtcbiAgICB0cmFuc2l0aW9uOiAwLjE1cyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQsIDAuMTVzIG9wYWNpdHkgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG4gIC5wLWltYWdlcy5uby1iZzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cbiAgLnAtaW1hZ2VzIC50aHVtYi13cmFwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucC1pbWFnZXMgLnRodW1iLXdyYXAge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDUwJSkgc2NhbGUoMC45KTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1vdXQ7IH0gfVxuICAucC1pbWFnZXMgLnRodW1iLXNsaWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE4NnB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucC1pbWFnZXMgLnRodW1iLXNsaWRlciB7XG4gICAgICAgIHdpZHRoOiAzMDZweDsgfSB9XG4gICAgLnAtaW1hZ2VzIC50aHVtYi1zbGlkZXIgLnNsaWNrLXRyYWNrIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLnAtaW1hZ2VzIC50aHVtYi1zbGlkZXIgLndyYXAge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luOiAycHggMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgYWxsIGVhc2Utb3V0OyB9XG4gICAgICAucC1pbWFnZXMgLnRodW1iLXNsaWRlciAud3JhcDpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQsIDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMDYpOyB9XG4gICAgICAucC1pbWFnZXMgLnRodW1iLXNsaWRlciAud3JhcC5zbGljay1jdXJyZW50IHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSBpbnNldCwgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAgIC5wLWltYWdlcyAudGh1bWItc2xpZGVyIGltZyB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGhlaWdodDogNjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5wLWltYWdlcyAudGh1bWItc2xpZGVyIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDBweDsgfSB9XG4gICAgLnAtaW1hZ2VzIC50aHVtYi1zbGlkZXIgLnNsaWNrLWFycm93IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBtYXJnaW46IC0xMHB4IDAgMDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgICAucC1pbWFnZXMgLnRodW1iLXNsaWRlciAuc2xpY2stYXJyb3cubmV4dCB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAxMDAlOyB9XG4gICAgICAucC1pbWFnZXMgLnRodW1iLXNsaWRlciAuc2xpY2stYXJyb3cucHJldiB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5wLWltYWdlcy56b29tZWQgLnRodW1iLXdyYXAsIC5wLWltYWdlcy56b29tZWQ6aG92ZXIgLnRodW1iLXdyYXAge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwMCUpIHNjYWxlKDAuOSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAucC1pbWFnZXM6aG92ZXIgLnRodW1iLXdyYXAge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApIHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLnRvdWNoIC5wLWltYWdlcyAuc2xpY2stYXJyb3cucHJldiwgLnRvdWNoIC5wLWltYWdlcyAuc2xpY2stYXJyb3cubmV4dCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5wLXNob3Age1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucC1zaG9wIHtcbiAgICAgIG1heC13aWR0aDogMzByZW07IH0gfVxuXG4ucC1pbmZvIHtcbiAgcGFkZGluZzogMCA1JTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnAtaW5mbyB7XG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNThweCk7IH0gfVxuICAucC1pbmZvIC5icmVhZGNydW1icyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMy4xMjVyZW0gMCAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnAtaW5mbyAuYnJlYWRjcnVtYnMge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5wLWluZm8gLnNoYXJlIGEsIC5wLWluZm8gLnJhdGluZyBhLCAucC1pbmZvIC5wLWNvcHkgYSB7XG4gICAgY29sb3I6ICMxYTFhMWE7IH1cbiAgICAucC1pbmZvIC5zaGFyZSBhOmhvdmVyLCAucC1pbmZvIC5yYXRpbmcgYTpob3ZlciwgLnAtaW5mbyAucC1jb3B5IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLnAtaW5mbyAuc2l6ZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnAtaW5mbyAuc2hhcmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMDsgfVxuICAgIC5wLWluZm8gLnNoYXJlIHVsLCAucC1pbmZvIC5zaGFyZSBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAucC1pbmZvIC5zaGFyZSB1bCB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnAtaW5mbyAuc2hhcmUgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfVxuICAgIC5wLWluZm8gLnNoYXJlIHAge1xuICAgICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAwIDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgLnAtaW5mbyAuc2hhcmUgYSB7XG4gICAgICBmb250LXNpemU6IDEuNDM3NXJlbTsgfVxuICAgICAgLnAtaW5mbyAuc2hhcmUgYSBpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyBhbGwgZWFzZS1vdXQ7IH1cbiAgICAgIC5wLWluZm8gLnNoYXJlIGE6aG92ZXIgaSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC00cHgpOyB9XG4gIC5wLWluZm8gLmFjY29yZGlvbiB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2NjY2M7XG4gICAgbWFyZ2luOiAwLjkzNzVyZW0gMCAwOyB9XG4gICAgLnAtaW5mbyAuYWNjb3JkaW9uIGxpIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjY2NjOyB9XG4gICAgLnAtaW5mbyAuYWNjb3JkaW9uIGEuYWNjb3JkaW9uLXRyaWdnZXIge1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgIC5wLWluZm8gLmFjY29yZGlvbiBwIHtcbiAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgLnAtaW5mbyAuYWNjb3JkaW9uIHAgYiB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5wLWluZm8gc2VsZWN0IHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgLnAtaW5mbyAucHJvZHVjdC1uYW1lIHtcbiAgICBtYXJnaW46IDMuMTI1cmVtIDA7IH1cblxuLnByb2R1Y3QtbmFtZSBoMSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1pc29cIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiA0LjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5hZGQtdG8sIC5hZGQtdG8tY2FydCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFkZC10byB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmFkZC10byBkaXYucHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtO1xuICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMCAwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmFkZC10byBkaXYucHJpY2UgLm9sZCB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBtYXJnaW46IDAgMC42MjVyZW0gMCAwOyB9XG4gIC5hZGQtdG8gLnF0eS1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMCAwOyB9XG4gIC5hZGQtdG8gLnByaW1hcnksIC5hZGQtdG8gLnNlYXJjaC1wYW5lbCAuYnV0dG9uLCAuc2VhcmNoLXBhbmVsIC5hZGQtdG8gLmJ1dHRvbiwgLmFkZC10byAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyBhLmNoZWNrb3V0LWJ1dHRvbiwgLmJhZyAuYmxvY2stY2FydCAuY2hlY2tvdXQtdHlwZXMgLmFkZC10byBhLmNoZWNrb3V0LWJ1dHRvbiwgLmFkZC10byAuY2FydC1jb2xsYXRlcmFscyB1bC5jaGVja291dC10eXBlcyAuYnRuLWNoZWNrb3V0LCAuY2FydC1jb2xsYXRlcmFscyB1bC5jaGVja291dC10eXBlcyAuYWRkLXRvIC5idG4tY2hlY2tvdXQsIC5hZGQtdG8gLmNhcnQtY29udGVudCAuaGVhZCAuYnRuLWNoZWNrb3V0LCAuY2FydC1jb250ZW50IC5oZWFkIC5hZGQtdG8gLmJ0bi1jaGVja291dCB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7IH1cbiAgICAuYWRkLXRvIC5wcmltYXJ5ID4gc3BhbiwgLmFkZC10byAuc2VhcmNoLXBhbmVsIC5idXR0b24gPiBzcGFuLCAuc2VhcmNoLXBhbmVsIC5hZGQtdG8gLmJ1dHRvbiA+IHNwYW4sIC5hZGQtdG8gLmJhZyAuYmxvY2stY2FydCAuY2hlY2tvdXQtdHlwZXMgYS5jaGVja291dC1idXR0b24gPiBzcGFuLCAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyAuYWRkLXRvIGEuY2hlY2tvdXQtYnV0dG9uID4gc3BhbiwgLmFkZC10byAuY2FydC1jb2xsYXRlcmFscyB1bC5jaGVja291dC10eXBlcyAuYnRuLWNoZWNrb3V0ID4gc3BhbiwgLmNhcnQtY29sbGF0ZXJhbHMgdWwuY2hlY2tvdXQtdHlwZXMgLmFkZC10byAuYnRuLWNoZWNrb3V0ID4gc3BhbiwgLmFkZC10byAuY2FydC1jb250ZW50IC5oZWFkIC5idG4tY2hlY2tvdXQgPiBzcGFuLCAuY2FydC1jb250ZW50IC5oZWFkIC5hZGQtdG8gLmJ0bi1jaGVja291dCA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmFkZC10byAub3V0b2ZzdG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmFkZC10byAub3V0b2ZzdG9jayA+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiNidG4tY2FydC12aWV3IHtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDEuMjVyZW07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnJhdGUtc2l6ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDMuMTI1cmVtIDAgMDsgfVxuICAucmF0ZS1zaXplIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAucmF0ZS1zaXplIC5yYXRpbmcge1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuXG4ub3V0LW9mLXN0b2NrLWZvcm0ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAtMTAwcHg7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBtYXJnaW46IDAuNjI1cmVtIDAgMDtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLm91dC1vZi1zdG9jay1mb3JtIHtcbiAgICAgIGxlZnQ6IDA7IH0gfVxuICAub3V0LW9mLXN0b2NrLWZvcm0gaDYge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLm91dC1vZi1zdG9jay1mb3JtIGlucHV0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm91dC1vZi1zdG9jay1mb3JtIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMC42MjVyZW0gMCAwO1xuICAgIGhlaWdodDogMzRweDsgfVxuICAgIC5vdXQtb2Ytc3RvY2stZm9ybSAuYnV0dG9uIGkge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5vdXQtb2Ytc3RvY2stZm9ybSAuYnV0dG9uLmNsb3NlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM2NjY2NjY7IH1cbiAgLm91dC1vZi1zdG9jay1mb3JtIC5hY3Rpb25zOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucC12aWV3IC50YWJzID4gdWwgPiBsaSB7XG4gIHBhZGRpbmc6IDEuODc1cmVtIDA7IH1cblxuLnAtdmlldyAudGFicyA+IHVsIGEge1xuICBjb2xvcjogIzY2NjY2NjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHBhZGRpbmc6IDEuMjVyZW07IH1cblxuLnAtdmlldyAudGFicy5yb290ID4gLmNvbnRlbnQge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAtMnB4IDAgI2YyZjJmMiBpbnNldDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wLXZpZXcgLnRhYnMucm9vdCA+IC5jb250ZW50IHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuXG4ucC12aWV3IC50YWJzLm1vYmlsZSA+IHVsID4gbGkge1xuICBwYWRkaW5nOiAxNXB4OyB9XG5cbiNyZXZpZXdzX3JhdGluZ3MgLmlubmVyIHtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZzogMCAwIDMuMTI1cmVtOyB9XG4gICNyZXZpZXdzX3JhdGluZ3MgLmlubmVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAjcmV2aWV3c19yYXRpbmdzIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cbiAgI3Jldmlld3NfcmF0aW5ncyAuaW5uZXIgPiAuaGVhZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAwO1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjY2NjOyB9XG4gICAgI3Jldmlld3NfcmF0aW5ncyAuaW5uZXIgPiAuaGVhZCBoMyB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiAxLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgI3Jldmlld3NfcmF0aW5ncyAuaW5uZXIgPiAuaGVhZCBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbiNzdHlsaW5ndGlwcyAuaW5uZXIge1xuICBtYXgtd2lkdGg6IDk2MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAwIDAgMy4xMjVyZW07IH1cbiAgI3N0eWxpbmd0aXBzIC5pbm5lcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgI3N0eWxpbmd0aXBzIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cblxuI3N0eWxpbmd0aXBzIC5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAtNTBweDsgfVxuICAjc3R5bGluZ3RpcHMgLnNsaWRlcjpiZWZvcmUsICNzdHlsaW5ndGlwcyAuc2xpZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB3aWR0aDogNTBweDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICNzdHlsaW5ndGlwcyAuc2xpZGVyOmJlZm9yZSB7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmMmYyZjIgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTsgfVxuICAjc3R5bGluZ3RpcHMgLnNsaWRlcjphZnRlciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICNmMmYyZjIgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTsgfVxuXG4jc3R5bGluZ3RpcHMgcCwgI3N0eWxpbmd0aXBzIC5zdGlwIHtcbiAgY29sb3I6ICM2NjY2NjY7IH1cblxuLnN0aXAge1xuICBwYWRkaW5nOiAzLjEyNXJlbSA1MHB4IDIuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5zdGlwIHtcbiAgICAgIHBhZGRpbmc6IDUuNjI1cmVtIDUwcHggMi41cmVtOyB9IH1cbiAgLnN0aXAgaDQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07IH1cbiAgLnN0aXAgaW1nLCAuc3RpcCBpZnJhbWUge1xuICAgIHBhZGRpbmc6IDAgMCAwIDEuMjVyZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5zdGlwIGltZywgLnN0aXAgaWZyYW1lIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNi4yNXJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA0My43NXJlbTsgfSB9XG4gIC5zdGlwIGlmcmFtZSB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5yb3V0aW5lIHtcbiAgcGFkZGluZzogMy4xMjVyZW0gMCAzLjEyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAucm91dGluZSBoMyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIDMuMTI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTsgfVxuICAucm91dGluZSAuaW5uZXItd3JhcCB7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLnJvdXRpbmUgLmlubmVyLXdyYXA6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgICAucm91dGluZSAuaW5uZXItd3JhcCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5yb3V0aW5lIC5pbm5lci13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLnJvdXRpbmUgLnRvdGFscyB7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucm91dGluZSAudG90YWxzIHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIzMHB4O1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5yb3V0aW5lIC50b3RhbHMge1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMy4xMjVyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMzMHB4OyB9IH1cbiAgICAucm91dGluZSAudG90YWxzID4gcCB7XG4gICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjsgfVxuICAgIC5yb3V0aW5lIC50b3RhbHMgPiAucHJpY2Uge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5yb3V0aW5lIC50b3RhbHMgPiAucHJpY2Uge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgICAucm91dGluZSAudG90YWxzID4gLnByaWNlID4gLm9sZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICAgICAgICBjb2xvcjogI2IyYjJiMjsgfVxuICAgICAgLnJvdXRpbmUgLnRvdGFscyA+IC5wcmljZSAud29ydGgge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBjb2xvcjogI2IyYjJiMjsgfVxuICAucm91dGluZSAucmljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBmb250LWZhbWlseTogQXJpYWw7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMS44NzVyZW0gYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucm91dGluZSAucmljb24ge1xuICAgICAgICBtYXJnaW46IDkuMzc1cmVtIDAuMzEyNXJlbSAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5yb3V0aW5lIC5yaWNvbiB7XG4gICAgICAgIG1hcmdpbjogOS4zNzVyZW0gMC45Mzc1cmVtIDA7IH0gfVxuICAgIC5yb3V0aW5lIC5yaWNvbiBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLnJvdXRpbmUgLnByb2R1Y3Qge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAucm91dGluZSAucHJvZHVjdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH0gfVxuICAgIC5yb3V0aW5lIC5wcm9kdWN0OjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5yb3V0aW5lIC5wcm9kdWN0IGEge1xuICAgICAgY29sb3I6ICMxYTFhMWE7IH1cbiAgICAucm91dGluZSAucHJvZHVjdDpob3ZlciAuaW1hZ2UgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgICAucm91dGluZSAucHJvZHVjdDpob3ZlciAuaW1hZ2Ugc3BhbiB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5yb3V0aW5lIC5jdXJyZW50IHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA1cHggI2NjY2NjYyBpbnNldDtcbiAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5yb3V0aW5lIC5jdXJyZW50IHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5yb3V0aW5lIC5jdXJyZW50IC5pbWFnZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDVweCAjY2NjY2NjIGluc2V0OyB9IH1cbiAgLnJvdXRpbmUgLmltYWdlIHtcbiAgICBtYXJnaW46IDAgMS44NzVyZW0gMCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDAuNjI1cmVtO1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnJvdXRpbmUgLmltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAyMzBweDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5yb3V0aW5lIC5pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMzMwcHg7IH0gfVxuICAgIC5yb3V0aW5lIC5pbWFnZSBpbWcge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2Utb3V0OyB9XG4gICAgLnJvdXRpbmUgLmltYWdlIHNwYW4ge1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1vdXQ7IH1cbiAgLnJvdXRpbmUgaDQge1xuICAgIG1hcmdpbjogMC42MjVyZW0gMCAwLjMxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5yb3V0aW5lIC5yYXRpbmctYm94IHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnJvdXRpbmUgLnJhdGluZy1ib3gge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLnJvdXRpbmUgLmFjdGlvbnMgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnJvdXRpbmUgLmFjdGlvbnMgYS5wcmltYXJ5LCAucm91dGluZSAuYWN0aW9ucyAuc2VhcmNoLXBhbmVsIGEuYnV0dG9uLCAuc2VhcmNoLXBhbmVsIC5yb3V0aW5lIC5hY3Rpb25zIGEuYnV0dG9uLCAucm91dGluZSAuYWN0aW9ucyAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyBhLmNoZWNrb3V0LWJ1dHRvbiwgLmJhZyAuYmxvY2stY2FydCAuY2hlY2tvdXQtdHlwZXMgLnJvdXRpbmUgLmFjdGlvbnMgYS5jaGVja291dC1idXR0b24sIC5yb3V0aW5lIC5hY3Rpb25zIC5jYXJ0LWNvbGxhdGVyYWxzIHVsLmNoZWNrb3V0LXR5cGVzIGEuYnRuLWNoZWNrb3V0LCAuY2FydC1jb2xsYXRlcmFscyB1bC5jaGVja291dC10eXBlcyAucm91dGluZSAuYWN0aW9ucyBhLmJ0bi1jaGVja291dCwgLnJvdXRpbmUgLmFjdGlvbnMgLmNhcnQtY29udGVudCAuaGVhZCBhLmJ0bi1jaGVja291dCwgLmNhcnQtY29udGVudCAuaGVhZCAucm91dGluZSAuYWN0aW9ucyBhLmJ0bi1jaGVja291dCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7IH1cbiAgICAgIC5yb3V0aW5lIC5hY3Rpb25zIGEucHJpbWFyeTpob3ZlciwgLnJvdXRpbmUgLmFjdGlvbnMgLnNlYXJjaC1wYW5lbCBhLmJ1dHRvbjpob3ZlciwgLnNlYXJjaC1wYW5lbCAucm91dGluZSAuYWN0aW9ucyBhLmJ1dHRvbjpob3ZlciwgLnJvdXRpbmUgLmFjdGlvbnMgLmJhZyAuYmxvY2stY2FydCAuY2hlY2tvdXQtdHlwZXMgYS5jaGVja291dC1idXR0b246aG92ZXIsIC5iYWcgLmJsb2NrLWNhcnQgLmNoZWNrb3V0LXR5cGVzIC5yb3V0aW5lIC5hY3Rpb25zIGEuY2hlY2tvdXQtYnV0dG9uOmhvdmVyLCAucm91dGluZSAuYWN0aW9ucyAuY2FydC1jb2xsYXRlcmFscyB1bC5jaGVja291dC10eXBlcyBhLmJ0bi1jaGVja291dDpob3ZlciwgLmNhcnQtY29sbGF0ZXJhbHMgdWwuY2hlY2tvdXQtdHlwZXMgLnJvdXRpbmUgLmFjdGlvbnMgYS5idG4tY2hlY2tvdXQ6aG92ZXIsIC5yb3V0aW5lIC5hY3Rpb25zIC5jYXJ0LWNvbnRlbnQgLmhlYWQgYS5idG4tY2hlY2tvdXQ6aG92ZXIsIC5jYXJ0LWNvbnRlbnQgLmhlYWQgLnJvdXRpbmUgLmFjdGlvbnMgYS5idG4tY2hlY2tvdXQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLnJvdXRpbmUgLmFjdGlvbnMgLnNvbGQtb3V0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4OyB9XG5cbi5idW5kbGVfaXRlbXMgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYnVuZGxlX2l0ZW1zIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfSB9XG5cbi5idW5kbGVfaXRlbXMgLmltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gIC5idW5kbGVfaXRlbXMgLmltYWdlIGEge1xuICAgIGNvbG9yOiAjMWExYTFhOyB9XG4gIC5idW5kbGVfaXRlbXMgLmltYWdlIHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDAuNjI1cmVtO1xuICAgIGxlZnQ6IDAuOTM3NXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5idW5kbGVfaXRlbXMgLmltYWdlIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmJ1bmRsZV9pdGVtcyAuaW1hZ2Ugc3BhbiBpIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMC4zMTI1cmVtIDAgMDsgfVxuXG4vKiBHbG9iYWwgKi9cbi5qQm94LXdyYXBwZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5qQm94LXRpdGxlLFxuLmpCb3gtY29udGVudCxcbi5qQm94LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uakJveC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi5qQm94LWNvbnRlbnQge1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yczsgfVxuXG4vKiBqQm94IFRvb2x0aXAgKi9cbi5qQm94LVRvb2x0aXAgLmpCb3gtY29udGFpbmVyLFxuLmpCb3gtTW91c2UgLmpCb3gtY29udGFpbmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICBiYWNrZ3JvdW5kOiAjMWExYTFhO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLmpCb3gtVG9vbHRpcCAuakJveC10aXRsZSxcbi5qQm94LU1vdXNlIC5qQm94LXRpdGxlIHtcbiAgcGFkZGluZzogOHB4IDEwcHggMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmpCb3gtaGFzVGl0bGUuakJveC1Ub29sdGlwIC5qQm94LWNvbnRlbnQsXG4uakJveC1oYXNUaXRsZS5qQm94LU1vdXNlIC5qQm94LWNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogNXB4OyB9XG5cbi5qQm94LU1vdXNlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLyogUG9pbnRlciAqL1xuLmpCb3gtcG9pbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uakJveC1wb2ludGVyLXRvcCB7XG4gIHRvcDogMDsgfVxuXG4uakJveC1wb2ludGVyLWJvdHRvbSB7XG4gIGJvdHRvbTogMDsgfVxuXG4uakJveC1wb2ludGVyLWxlZnQge1xuICBsZWZ0OiAwOyB9XG5cbi5qQm94LXBvaW50ZXItcmlnaHQge1xuICByaWdodDogMDsgfVxuXG4uakJveC1wb2ludGVyLXRvcCxcbi5qQm94LXBvaW50ZXItYm90dG9tIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMTJweDsgfVxuXG4uakJveC1wb2ludGVyLWxlZnQsXG4uakJveC1wb2ludGVyLXJpZ2h0IHtcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMzBweDsgfVxuXG4uakJveC1wb2ludGVyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogIzFhMWExYTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5qQm94LXBvaW50ZXItdG9wOmFmdGVyIHtcbiAgbGVmdDogNXB4O1xuICB0b3A6IDZweDtcbiAgYm94LXNoYWRvdzogLTFweCAtMXB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi5qQm94LXBvaW50ZXItcmlnaHQ6YWZ0ZXIge1xuICB0b3A6IDVweDtcbiAgcmlnaHQ6IDZweDtcbiAgYm94LXNoYWRvdzogMXB4IC0xcHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cblxuLmpCb3gtcG9pbnRlci1ib3R0b206YWZ0ZXIge1xuICBsZWZ0OiA1cHg7XG4gIGJvdHRvbTogNnB4O1xuICBib3gtc2hhZG93OiAxcHggMXB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi5qQm94LXBvaW50ZXItbGVmdDphZnRlciB7XG4gIHRvcDogNXB4O1xuICBsZWZ0OiA2cHg7XG4gIGJveC1zaGFkb3c6IC0xcHggMXB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi8qIGpCb3ggTW9kYWwgKi9cbi5qQm94LU1vZGFsIC5qQm94LWNvbnRlbnQge1xuICBwYWRkaW5nOiAwLjYyNXJlbSAyMHB4IDAuOTM3NXJlbTsgfVxuICAuakJveC1Nb2RhbCAuakJveC1jb250ZW50IHAge1xuICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9XG5cbi5qQm94LU1vZGFsIC5qQm94LXRpdGxlIHtcbiAgcGFkZGluZzogMTVweCAyMHB4O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uakJveC1Nb2RhbC5qQm94LWNsb3NlQnV0dG9uLXRpdGxlIC5qQm94LXRpdGxlIHtcbiAgcGFkZGluZy1yaWdodDogNTVweDsgfVxuXG4uakJveC1Nb2RhbCAuakJveC1jb250YWluZXIsXG4uakJveC1Nb2RhbC5qQm94LWNsb3NlQnV0dG9uLWJveDpiZWZvcmUge1xuICBib3gtc2hhZG93OiAwIDNweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC40KSwgMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuNCk7IH1cblxuLyogQ2xvc2UgYnV0dG9uICovXG4uakJveC1jbG9zZUJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5qQm94LWNsb3NlQnV0dG9uIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiA1MCU7IH1cblxuLmpCb3gtY2xvc2VCdXR0b24gcGF0aCB7XG4gIHRyYW5zaXRpb246IGZpbGwgLjJzOyB9XG5cbi5qQm94LWNsb3NlQnV0dG9uIHBhdGgge1xuICBmaWxsOiAjYWFhOyB9XG5cbi5qQm94LWNsb3NlQnV0dG9uOmhvdmVyIHBhdGgge1xuICBmaWxsOiAjODg4OyB9XG5cbi5qQm94LWNsb3NlQnV0dG9uOmFjdGl2ZSBwYXRoIHtcbiAgZmlsbDogIzY2NjsgfVxuXG4vKiBDbG9zZSBidXR0b24gaW4gb3ZlcmxheSAqL1xuLmpCb3gtb3ZlcmxheSAuakJveC1jbG9zZUJ1dHRvbiB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7IH1cblxuLmpCb3gtb3ZlcmxheSAuakJveC1jbG9zZUJ1dHRvbiBzdmcge1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBtYXJnaW4tdG9wOiAtMTNweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTNweDsgfVxuXG4uakJveC1vdmVybGF5IC5qQm94LWNsb3NlQnV0dG9uIHBhdGgsXG4uakJveC1vdmVybGF5IC5qQm94LWNsb3NlQnV0dG9uOmFjdGl2ZSBwYXRoIHtcbiAgZmlsbDogI2RkZDsgfVxuXG4uakJveC1vdmVybGF5IC5qQm94LWNsb3NlQnV0dG9uOmhvdmVyIHBhdGgge1xuICBmaWxsOiAjZmZmOyB9XG5cbi8qIENsb3NlIGJ1dHRvbiBpbiB0aXRsZSAqL1xuLmpCb3gtY2xvc2VCdXR0b24tdGl0bGUgLmpCb3gtY2xvc2VCdXR0b24ge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiA1NXB4OyB9XG5cbi5qQm94LWNsb3NlQnV0dG9uLXRpdGxlIC5qQm94LWNsb3NlQnV0dG9uIHN2ZyB7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbi10b3A6IC05cHg7XG4gIG1hcmdpbi1yaWdodDogLTlweDsgfVxuXG4vKiBDbG9zZSBidXR0b24gaW4gYm94ICovXG4uakJveC1jbG9zZUJ1dHRvbi1ib3ggLmpCb3gtY2xvc2VCdXR0b24ge1xuICB0b3A6IC04cHg7XG4gIHJpZ2h0OiAtMTBweDtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5qQm94LWNsb3NlQnV0dG9uLWJveCAuakJveC1jbG9zZUJ1dHRvbiBzdmcge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDsgfVxuXG4uakJveC1oYXNUaXRsZS5qQm94LU1vZGFsLmpCb3gtY2xvc2VCdXR0b24tYm94IC5qQm94LWNsb3NlQnV0dG9uIHtcbiAgYmFja2dyb3VuZDogI2ZhZmFmYTsgfVxuXG4uakJveC1jbG9zZUJ1dHRvbi1ib3g6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOHB4O1xuICByaWdodDogLTEwcHg7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLmpCb3gtcG9pbnRlclBvc2l0aW9uLXRvcC5qQm94LWNsb3NlQnV0dG9uLWJveDpiZWZvcmUge1xuICB0b3A6IDVweDsgfVxuXG4uakJveC1wb2ludGVyUG9zaXRpb24tcmlnaHQuakJveC1jbG9zZUJ1dHRvbi1ib3g6YmVmb3JlIHtcbiAgcmlnaHQ6IDJweDsgfVxuXG4vKiBPdmVybGF5ICovXG4uakJveC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuXG4vKiBGb290ZXIgKi9cbi5qQm94LWZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xuICBwYWRkaW5nOiA4cHggMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7IH1cblxuLyogQmxvY2sgc2Nyb2xsaW5nICovXG5ib2R5W2NsYXNzXj1cImpCb3gtYmxvY2tTY3JvbGwtXCJdLFxuYm9keVtjbGFzcyo9XCIgakJveC1ibG9ja1Njcm9sbC1cIl0ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIGJvZHlbY2xhc3NePVwiakJveC1ibG9ja1Njcm9sbC1cIl0gZGl2Lm1haW4sXG4gIGJvZHlbY2xhc3MqPVwiIGpCb3gtYmxvY2tTY3JvbGwtXCJdIGRpdi5tYWluIHtcbiAgICBmaWx0ZXI6IHNhdHVyYXRlKDAuNik7IH1cblxuLyogRHJhZ2dhYmxlICovXG4uakJveC1kcmFnZ2FibGUge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLyogU3Bpbm5lciAqL1xuQGtleWZyYW1lcyBqQm94TG9hZGluZyB7XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLmpCb3gtbG9hZGluZyAuakJveC1jb250ZW50IHtcbiAgb3BhY2l0eTogLjI7IH1cblxuLmpCb3gtbG9hZGluZy1zcGlubmVyIC5qQm94LWNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiAzOHB4ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMzhweCAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5qQm94LXNwaW5uZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbi10b3A6IC0xMnB4O1xuICBtYXJnaW4tbGVmdDogLTEycHg7IH1cblxuLmpCb3gtc3Bpbm5lcjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGFuaW1hdGlvbjogakJveExvYWRpbmcgLjZzIGxpbmVhciBpbmZpbml0ZTsgfVxuXG4vKiBOb3RpY2UgKi9cbi5qQm94LU5vdGljZSB7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAuMnM7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmpCb3gtTm90aWNlIC5qQm94LWNvbnRlbnQge1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMS44NzVyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmpCb3gtTm90aWNlIC5qQm94LXRpdGxlIHtcbiAgcGFkZGluZzogMTJweCAyMHB4IDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5qQm94LWhhc1RpdGxlLmpCb3gtTm90aWNlIC5qQm94LWNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogNXB4OyB9XG5cbi5qQm94LU5vdGljZS1ibGFjayAuakJveC1jb250YWluZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4uakJveC1Ob3RpY2UtZ3JheSAuakJveC1jb250YWluZXIge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZDogI2Y2ZjZmNjsgfVxuXG4uakJveC1Ob3RpY2UtcmVkIC5qQm94LWNvbnRhaW5lciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjYjMwYzBjOyB9XG5cbi5qQm94LU5vdGljZS1ncmVlbiAuakJveC1jb250YWluZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogIzNkYjMwYzsgfVxuXG4uakJveC1Ob3RpY2UtYmx1ZSAuakJveC1jb250YWluZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZDogIzE0NTc2NzsgfVxuXG4uakJveC1Ob3RpY2UteWVsbG93IC5qQm94LWNvbnRhaW5lciB7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kOiAjZmQwOyB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuakJveC1Ob3RpY2UgLmpCb3gtY29udGVudCB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4OyB9XG4gIC5qQm94LU5vdGljZSAuakJveC10aXRsZSB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDA7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgLmpCb3gtTm90aWNlIC5qQm94LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDhweCAxMHB4OyB9XG4gIC5qQm94LU5vdGljZSAuakJveC10aXRsZSB7XG4gICAgcGFkZGluZzogOHB4IDEwcHggMDsgfVxuICAuakJveC1oYXNUaXRsZS5qQm94LU5vdGljZSAuakJveC1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi8qIEFuaW1hdGlvbnMgKi9cbltjbGFzc149XCJqQm94LWFuaW1hdGVkLVwiXSxcbltjbGFzcyo9XCIgakJveC1hbmltYXRlZC1cIl0ge1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbkBrZXlmcmFtZXMgakJveC10YWRhIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTAlLCAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSByb3RhdGUoLTRkZWcpOyB9XG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHJvdGF0ZSg0ZGVnKTsgfVxuICA0MCUsIDYwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMikgcm90YXRlKC00ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTsgfSB9XG5cbi5qQm94LWFuaW1hdGVkLXRhZGEge1xuICBhbmltYXRpb246IGpCb3gtdGFkYSAxczsgfVxuXG5Aa2V5ZnJhbWVzIGpCb3gtdGFkYVNtYWxsIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMTAlLCAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTJkZWcpOyB9XG4gIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgyZGVnKTsgfVxuICA0MCUsIDYwJSwgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0yZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTsgfSB9XG5cbi5qQm94LWFuaW1hdGVkLXRhZGFTbWFsbCB7XG4gIGFuaW1hdGlvbjogakJveC10YWRhU21hbGwgMXM7IH1cblxuQGtleWZyYW1lcyBqQm94LWZsYXNoIHtcbiAgMCUsIDUwJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyNSUsIDc1JSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5qQm94LWFuaW1hdGVkLWZsYXNoIHtcbiAgYW5pbWF0aW9uOiBqQm94LWZsYXNoIC41czsgfVxuXG5Aa2V5ZnJhbWVzIGpCb3gtc2hha2Uge1xuICAwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDIwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCk7IH1cbiAgNDAlLCA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOyB9IH1cblxuLmpCb3gtYW5pbWF0ZWQtc2hha2Uge1xuICBhbmltYXRpb246IGpCb3gtc2hha2UgLjRzOyB9XG5cbkBrZXlmcmFtZXMgakJveC1wdWxzZVVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4uakJveC1hbmltYXRlZC1wdWxzZVVwIHtcbiAgYW5pbWF0aW9uOiBqQm94LXB1bHNlVXAgLjI1czsgfVxuXG5Aa2V5ZnJhbWVzIGpCb3gtcHVsc2VEb3duIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4uakJveC1hbmltYXRlZC1wdWxzZURvd24ge1xuICBhbmltYXRpb246IGpCb3gtcHVsc2VEb3duIC4yNXM7IH1cblxuQGtleWZyYW1lcyBqQm94LXBvcEluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5qQm94LWFuaW1hdGVkLXBvcEluIHtcbiAgYW5pbWF0aW9uOiBqQm94LXBvcEluIC4yNXM7IH1cblxuQGtleWZyYW1lcyBqQm94LXBvcE91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7IH0gfVxuXG4uakJveC1hbmltYXRlZC1wb3BPdXQge1xuICBhbmltYXRpb246IGpCb3gtcG9wT3V0IC4yNXM7IH1cblxuQGtleWZyYW1lcyBqQm94LWZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uakJveC1hbmltYXRlZC1mYWRlSW4ge1xuICBhbmltYXRpb246IGpCb3gtZmFkZUluIC4yczsgfVxuXG5Aa2V5ZnJhbWVzIGpCb3gtZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uakJveC1hbmltYXRlZC1mYWRlT3V0IHtcbiAgYW5pbWF0aW9uOiBqQm94LWZhZGVPdXQgLjJzOyB9XG5cbkBrZXlmcmFtZXMgakJveC1zbGlkZVVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmpCb3gtYW5pbWF0ZWQtc2xpZGVVcCB7XG4gIGFuaW1hdGlvbjogakJveC1zbGlkZVVwIC40czsgfVxuXG5Aa2V5ZnJhbWVzIGpCb3gtc2xpZGVSaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmpCb3gtYW5pbWF0ZWQtc2xpZGVSaWdodCB7XG4gIGFuaW1hdGlvbjogakJveC1zbGlkZVJpZ2h0IC40czsgfVxuXG5Aa2V5ZnJhbWVzIGpCb3gtc2xpZGVEb3duIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAwcHgpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uakJveC1hbmltYXRlZC1zbGlkZURvd24ge1xuICBhbmltYXRpb246IGpCb3gtc2xpZGVEb3duIC40czsgfVxuXG5Aa2V5ZnJhbWVzIGpCb3gtc2xpZGVMZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwMHB4KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmpCb3gtYW5pbWF0ZWQtc2xpZGVMZWZ0IHtcbiAgYW5pbWF0aW9uOiBqQm94LXNsaWRlTGVmdCAuNHM7IH1cblxuLmJyLXRoZW1lLWNzcy1zdGFycyAuYnItd2lkZ2V0IHtcbiAgaGVpZ2h0OiAyOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5ici10aGVtZS1jc3Mtc3RhcnMgLmJyLXdpZGdldCBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBtYXJnaW46IDAgMC4xODc1cmVtIDAgMDsgfVxuICAgIC5ici10aGVtZS1jc3Mtc3RhcnMgLmJyLXdpZGdldCBhOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogXCJuaXBmYWJcIiAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHNwZWFrOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBjb250ZW50OiBcIlxcNmZcIjtcbiAgICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5ici10aGVtZS1jc3Mtc3RhcnMgLmJyLXdpZGdldCBhOmZvY3VzIHtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMnB4ICNmMmYyZjI7IH1cbiAgICAuYnItdGhlbWUtY3NzLXN0YXJzIC5ici13aWRnZXQgYTpmb2N1czpiZWZvcmUge1xuICAgICAgYW5pbWF0aW9uOiBzdGFyU2VsZWN0ZWQ7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuNnM7XG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gICAgLmJyLXRoZW1lLWNzcy1zdGFycyAuYnItd2lkZ2V0IGE6YWZ0ZXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwibmlwZmFiXCIgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgICAgZm9udC12YXJpYW50OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBzcGVhazogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgY29udGVudDogXCJcXDZmXCI7XG4gICAgICBjb2xvcjogIzY2NjY2NjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB0cmFuc2l0aW9uOiAwLjFzIGFsbCBlYXNlLW91dDsgfVxuICAuYnItdGhlbWUtY3NzLXN0YXJzIC5ici13aWRnZXQgYS5ici1hY3RpdmU6YWZ0ZXIge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5ici10aGVtZS1jc3Mtc3RhcnMgLmJyLXdpZGdldCBhLmJyLXNlbGVjdGVkOmFmdGVyIHtcbiAgICBjb2xvcjogIzFhMWExYTsgfVxuICAuYnItdGhlbWUtY3NzLXN0YXJzIC5ici13aWRnZXQgLmJyLWN1cnJlbnQtcmF0aW5nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5ici10aGVtZS1jc3Mtc3RhcnMgLmJyLXJlYWRvbmx5IGEge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmJyLXRoZW1lLWNzcy1zdGFycyAuYnItd2lkZ2V0IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFwyNjA2XCI7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gIC5ici10aGVtZS1jc3Mtc3RhcnMgLmJyLXdpZGdldCBhLmJyLWFjdGl2ZTphZnRlcixcbiAgLmJyLXRoZW1lLWNzcy1zdGFycyAuYnItd2lkZ2V0IGEuYnItc2VsZWN0ZWQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFwyNjA1XCI7XG4gICAgY29sb3I6IGJsYWNrOyB9IH1cblxuLnJhdGluZy1ib3gge1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAucmF0aW5nLWJveCBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnJhdGluZy1ib3ggLnN0YXJzIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5yYXRpbmctYm94IC5zdGFycyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDsgfSB9XG4gICAgLnJhdGluZy1ib3ggLnN0YXJzIGkge1xuICAgICAgY29sb3I6ICM2NjY2NjY7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5yYXRpbmctYm94IC5zdGFycyBpLmFjdGl2ZSB7XG4gICAgICAgIGFuaW1hdGlvbjogc3RhckVudHJ5O1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMXM7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4yczsgfVxuICAgICAgLnJhdGluZy1ib3ggLnN0YXJzIGkgKyAuYWN0aXZlIHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjI3czsgfVxuICAgICAgICAucmF0aW5nLWJveCAuc3RhcnMgaSArIC5hY3RpdmUgKyAuYWN0aXZlIHtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMzRzOyB9XG4gICAgICAgICAgLnJhdGluZy1ib3ggLnN0YXJzIGkgKyAuYWN0aXZlICsgLmFjdGl2ZSArIC5hY3RpdmUge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjQxczsgfVxuICAgICAgICAgICAgLnJhdGluZy1ib3ggLnN0YXJzIGkgKyAuYWN0aXZlICsgLmFjdGl2ZSArIC5hY3RpdmUgKyAuYWN0aXZlIHtcbiAgICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjQ4czsgfVxuICAucmF0aW5nLWJveCAuY291bnQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgcGFkZGluZzogMCAwIDAgMC4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucmF0aW5nLWJveCAuY291bnQge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAwLjYyNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAucmF0aW5nLWJveCAuY291bnQgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDAuMTI1cmVtOyB9XG5cbkBrZXlmcmFtZXMgc3RhckVudHJ5IHtcbiAgMCUge1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpOyB9XG4gIDEwMCUge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3RhckVudHJ5IHtcbiAgMCUge1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTUpOyB9XG4gIDEwMCUge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN0YXJTZWxlY3RlZCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICA5MCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgyLjMpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3RhclNlbGVjdGVkIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDkwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDIuMyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yZXZpZXdzLWZvcm0ge1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbiAgcGFkZGluZzogMCAwIDEuODc1cmVtO1xuICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfVxuICAucmV2aWV3cy1mb3JtIGg0IHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtOyB9XG4gICAgLnJldmlld3MtZm9ybSBoNCBhIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gICAgICAucmV2aWV3cy1mb3JtIGg0IGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5yZXZpZXdzLWZvcm0gLmNob29zZS1yYXRpbmcge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAucmV2aWV3cy1mb3JtIGg1IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBtYXJnaW46IDAgMC45Mzc1cmVtIDAgMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5yZXZpZXdzLWZvcm0gLmZpZWxkcyB7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDAgMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuYm94LXJldmlld3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4uYm94LXJldmlld3MgLnJldmlld2VkLXByb2R1Y3Qge1xuICB3aWR0aDogMjAlO1xuICBwYWRkaW5nOiAwIDMuMTI1cmVtIDAgMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5ib3gtcmV2aWV3cyAucmV2aWV3ZWQtcHJvZHVjdCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5ib3gtcmV2aWV3cyAucmV2aWV3ZWQtcHJvZHVjdCAubmFtZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMCAwLjMxMjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmJveC1yZXZpZXdzIC5yZXZpZXctZ3JpZCB7XG4gICAgd2lkdGg6IDgwJTsgfSB9XG5cbi5yZXZpZXctaXRlbSB7XG4gIG1hcmdpbjogMCAwIDMuMTI1cmVtOyB9XG4gIC5yZXZpZXctaXRlbSAuYm94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9XG4gICAgLnJldmlldy1pdGVtIC5ib3ggPiBkaXYge1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gIC5yZXZpZXctaXRlbSAuaGVhZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjY2M7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAwIDAgMC45Mzc1cmVtOyB9XG4gIC5yZXZpZXctaXRlbSAucmF0aW5nLWJveCwgLnJldmlldy1pdGVtIC5hdXRob3Ige1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5yZXZpZXctaXRlbSAudGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgLnJldmlldy1pdGVtIC5hdXRob3Ige1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAucmV2aWV3LWl0ZW0gLmRhdGUge1xuICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gIC5yZXZpZXctaXRlbSAuY29udGVudCB7XG4gICAgY29sb3I6ICM2NjY2NjY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDA7XG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmOyB9XG5cbi5yZXZpZXctZmVlZm8tcG9wdXAge1xuICBtYXgtd2lkdGg6IDQwMHB4OyB9XG4gIC5yZXZpZXctZmVlZm8tcG9wdXAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE1MHB4OyB9XG5cbi5zbGlkZXIge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuc2xpZGVyOmhvdmVyIC5zbGljay1hcnJvdyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4uc2xpY2stYXJyb3cge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiAzLjEyNXJlbTtcbiAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgbWFyZ2luOiAtMS41NjI1cmVtIDAgMDtcbiAgei1pbmRleDogMTA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IDAuMXMgYWxsIGVhc2UtaW47XG4gIG9wYWNpdHk6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5zbGljay1hcnJvdyBpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIHRyYW5zZm9ybSBlYXNlLWluOyB9XG4gIC5zbGljay1hcnJvdy5wcmV2IHtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zLjEyNXJlbSwgMCk7IH1cbiAgICAuc2xpY2stYXJyb3cucHJldjphY3RpdmUgaSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMC4xMjVyZW0sIDApOyB9XG4gIC5zbGljay1hcnJvdy5uZXh0IHtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzLjEyNXJlbSwgMCk7IH1cbiAgICAuc2xpY2stYXJyb3cubmV4dDphY3RpdmUgaSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjEyNXJlbSwgMCk7IH1cbiAgLnNsaWNrLWFycm93LnNsaWNrLWRpc2FibGVkIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7IH1cblxuLnNsaWNrLWRvdHMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnNsaWNrLWRvdHMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMC40Mzc1cmVtO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjYjJiMmIyO1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgYWxsIGVhc2Utb3V0O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnAtbGlzdCAuc2xpZGVyIC5wcm9kdWN0ID4gLmlubmVyIHtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4vKiA9PXw9PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZS9Gb3JtXG4gICA9PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICB0cmFuc2l0aW9uOiAwLjE1cyBhbGwgZWFzZS1vdXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICBzZWxlY3Q6Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM2NjY2NjY7IH1cblxuOmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC42O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbmxhYmVsIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjE4NzVyZW07IH1cblxuLmNvbnRyb2wgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwIDAgMC42MjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmNvbnRyb2wgLmlucHV0LWJveCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uaW5wdXQtYm94IGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMCAwIDAuNjI1cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5xdHkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxudGV4dGFyZWEge1xuICByZXNpemU6IG5vbmU7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc2VsZWN0IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogI2ZmZiB1cmwoLi4vaW1nL3NlbGVjdF9hcnIucG5nKSBjZW50ZXIgcmlnaHQgbm8tcmVwZWF0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMi41cmVtIDAuOTM3NXJlbSAxLjI1cmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIHdpZHRoOiBhdXRvOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYm94LWlucHV0IHtcbiAgbWFyZ2luOiAwLjkzNzVyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5ib3gtaW5wdXQgbGFiZWwge1xuICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMC4zMTI1cmVtOyB9XG5cbi5mb3JtLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAtd2Via2l0LXBhZGRpbmctc3RhcnQ6IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLmZvcm0tbGlzdCBsaSxcbiAgLmZvcm0tbGlzdCAuZmllbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuZm9ybS1saXN0IGxpOmxhc3QtY2hpbGQsXG4gIC5mb3JtLWxpc3QgLmZpZWxkOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZvcm0tbGlzdCAubm8tZGlzcGxheSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5pbnB1dDotd2Via2l0LWF1dG9maWxsLFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMgaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbnRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGwsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmhvdmVyIHRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbCxcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwcHggMTAwMHB4ICNmZmYgaW5zZXQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjMDAwOyB9XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbi52YWxpZGF0aW9uLWFkdmljZSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1MjU1O1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogMC40Mzc1cmVtIDAuMzc1cmVtO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuaW5wdXQudmFsaWRhdGlvbi1mYWlsZWQsIHNlbGVjdC52YWxpZGF0aW9uLWZhaWxlZCwgdGV4dGFyZWEudmFsaWRhdGlvbi1mYWlsZWQge1xuICBib3JkZXItY29sb3I6ICNmZjUyNTUgIWltcG9ydGFudDsgfVxuXG5pbnB1dC52YWxpZGF0aW9uLXBhc3NlZCwgc2VsZWN0LnZhbGlkYXRpb24tcGFzc2VkLCB0ZXh0YXJlYS52YWxpZGF0aW9uLXBhc3NlZCB7XG4gIGJvcmRlci1jb2xvcjogIzNkYjMwYzsgfVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5TZWxlY3RyaWMgdjEuMTEuMVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLnNlbGVjdHJpYy13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnNlbGVjdHJpYy1yZXNwb25zaXZlIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNlbGVjdHJpYyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnNlbGVjdHJpYyBpIHtcbiAgICBsaW5lLWhlaWdodDogMC41OyB9XG5cbi5zZWxlY3RyaWMgLmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjY2NjYztcbiAgcGFkZGluZzogMC4zMTI1cmVtIDAuOTM3NXJlbSAwLjMxMjVyZW0gMC42MjVyZW07XG4gIG1hcmdpbjogMCAwLjYyNXJlbSAwIDA7IH1cblxuLnNlbGVjdHJpYy1vcGVuIHtcbiAgei1pbmRleDogOTk5OTsgfVxuXG4uc2VsZWN0cmljLW9wZW4gLnNlbGVjdHJpYyB7XG4gIGJveC1zaGFkb3c6IDAgMHB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gIC5zZWxlY3RyaWMtb3BlbiAuc2VsZWN0cmljIGkge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuLnNlbGVjdHJpYy1vcGVuIC5zZWxlY3RyaWMtaXRlbXMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2VsZWN0cmljLWRpc2FibGVkIHtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnNlbGVjdHJpYy1oaWRlLXNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDsgfVxuXG4uc2VsZWN0cmljLWhpZGUtc2VsZWN0IHNlbGVjdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEwMCU7IH1cblxuLnNlbGVjdHJpYy1oaWRlLXNlbGVjdC5zZWxlY3RyaWMtaXMtbmF0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc2VsZWN0cmljLWhpZGUtc2VsZWN0LnNlbGVjdHJpYy1pcy1uYXRpdmUgc2VsZWN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIHotaW5kZXg6IDE7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNlbGVjdHJpYy1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IDAgIWltcG9ydGFudDtcbiAgbGVmdDogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAqZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5zZWxlY3RyaWMtdGVtcC1zaG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi8qIEl0ZW1zIGJveCAqL1xuLnNlbGVjdHJpYy1pdGVtcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogMC4xcyBhbGwgZWFzZS1vdXQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWNlY2VjO1xuICBib3gtc2hhZG93OiAwIDJweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4uc2VsZWN0cmljLWl0ZW1zIC5zZWxlY3RyaWMtc2Nyb2xsIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4uc2VsZWN0cmljLWFib3ZlIC5zZWxlY3RyaWMtaXRlbXMge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMTAwJTsgfVxuXG4uc2VsZWN0cmljLWl0ZW1zIHVsLCAuc2VsZWN0cmljLWl0ZW1zIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLnNlbGVjdHJpYy1pdGVtcyBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwIDAuNjI1cmVtIDEuMjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogMC4xcyBhbGwgZWFzZS1vdXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc2VsZWN0cmljLWl0ZW1zIGxpLmhpZ2hsaWdodGVkLFxuLnNlbGVjdHJpYy1pdGVtcyBsaS5zZWxlY3RlZCB7XG4gIGNvbG9yOiAjY2NjY2NjOyB9XG5cbi5zZWxlY3RyaWMtaXRlbXMgbGk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XG5cbi5zZWxlY3RyaWMtaXRlbXMgLmRpc2FibGVkIHtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzY2NiAhaW1wb3J0YW50O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zZWxlY3RyaWMtaXRlbXMgLnNlbGVjdHJpYy1ncm91cCAuc2VsZWN0cmljLWdyb3VwLWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogIzQ0NDsgfVxuXG4uc2VsZWN0cmljLWl0ZW1zIC5zZWxlY3RyaWMtZ3JvdXAuZGlzYWJsZWQgbGkge1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2VsZWN0cmljLWl0ZW1zIC5zZWxlY3RyaWMtZ3JvdXAgbGkge1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cblxuLmNvbnRhY3Qge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZzogMC42MjVyZW0gMDsgfVxuICAuY29udGFjdDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ3MHB4KSB7XG4gICAgLmNvbnRhY3Qge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gIC5jb250YWN0IC5jb250YWN0LWludHJvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNvbnRhY3QgLmJ1dHRvbnMtc2V0IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmNvbnRhY3QgLmJ1dHRvbnMtc2V0IC5yZXF1aXJlZCB7XG4gICAgICBmbGV4OiAxOyB9XG5cbi5jb250YWN0LWZvcm0tLXdyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY29udGFjdC1mb3JtLS13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiA2MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAuY29udGFjdC1mb3JtLS13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICAuY29udGFjdC1mb3JtLS13cmFwcGVyIC5jb250YWN0LWZvcm0gLmZpZWxkcyBlbSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxuICAuY29udGFjdC1mb3JtLS13cmFwcGVyIC5jb250YWN0LWZvcm0gc2VsZWN0LFxuICAuY29udGFjdC1mb3JtLS13cmFwcGVyIC5jb250YWN0LWZvcm0gaW5wdXQsXG4gIC5jb250YWN0LWZvcm0tLXdyYXBwZXIgLmNvbnRhY3QtZm9ybSB0ZXh0YXJlYSB7XG4gICAgcGFkZGluZzogMTJweCA4cHg7IH1cbiAgLmNvbnRhY3QtZm9ybS0td3JhcHBlciAuY29udGFjdC1mb3JtIHNlbGVjdCB7XG4gICAgcGFkZGluZy1yaWdodDogNDhweDsgfVxuICAuY29udGFjdC1mb3JtLS13cmFwcGVyIC5jb250YWN0LWZvcm0tLXJlcXVpcmVkLWZpZWxkcyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNvbnRhY3QtZm9ybS0td3JhcHBlciAucmVjYXB0Y2hhLWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5jb250YWN0LWZvcm0tLXdyYXBwZXIgLnJlY2FwdGNoYS1jb250YWluZXIgLnJlY2FwdGNoYS1saXN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMTZweCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmNvbnRhY3QtZm9ybS0td3JhcHBlciAucmVjYXB0Y2hhLWNvbnRhaW5lciAucmVjYXB0Y2hhLWxpc3Qge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLmNvbnRhY3QtZm9ybS0td3JhcHBlciAucmVjYXB0Y2hhLWNvbnRhaW5lciAuYnV0dG9ucy1zZXQuZm9ybS1idXR0b25zIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuY29udGFjdC1mb3JtLS13cmFwcGVyIC5yZWNhcHRjaGEtY29udGFpbmVyIC5idXR0b25zLXNldC5mb3JtLWJ1dHRvbnMge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgICAuY29udGFjdC1mb3JtLS13cmFwcGVyIC5yZWNhcHRjaGEtY29udGFpbmVyIC5idXR0b25zLXNldC5mb3JtLWJ1dHRvbnMgYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMTJweCAyMHB4OyB9XG5cbi50YWJzLnJvb3Qge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC50YWJzLnJvb3QgPiB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC50YWJzLnJvb3QgPiB1bDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgIC50YWJzLnJvb3QgPiB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC50YWJzLnJvb3QgPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC50YWJzLnJvb3QgPiB1bCA+IGxpIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLnRhYnMucm9vdCA+IHVsID4gbGkuYWN0aXZlIGEge1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC50YWJzLnJvb3QgPiB1bCBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAudGFicy5yb290ID4gLmNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cbiAgICAudGFicy5yb290ID4gLmNvbnRlbnQgPiBkaXYgPiAuaW5uZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC50YWJzLnJvb3QgPiAuY29udGVudCA+IGRpdi5hY3RpdmUgPiAuaW5uZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRhYnMubW9iaWxlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luOiAwIC0xNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRhYnMubW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAudGFicy5tb2JpbGUgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAudGFicy5tb2JpbGUgdWwgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnRhYnMubW9iaWxlIHVsIGxpIGEgaSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAudGFicy5tb2JpbGUgdWwgbGkgYSBpOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdHJhbnNpdGlvbjogMC4xcyBhbGwgZWFzZS1pbi1vdXQ7IH1cbiAgICAudGFicy5tb2JpbGUgdWwgbGkuYWN0aXZlIGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC50YWJzLm1vYmlsZSB1bCBsaS5hY3RpdmUgYSBpOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpOyB9XG5cbi5zdG9yZS1zd2l0Y2hlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc3RvcmUtc3dpdGNoZXIgPiBhIGkge1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMCAwIDAuMzEyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiAwLjFzIGFsbCBlYXNlLW91dDsgfVxuICAgIC5hY3RpdmUtc3cgLnN0b3JlLXN3aXRjaGVyID4gYSBpIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlWigxODBkZWcpOyB9XG4gIC5hY3RpdmUtc3cgLmhlYWRlciAuc3RvcmUtc3dpdGNoZXIgPiBhIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5zdG9yZS1zd2l0Y2hlciA+IHVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5hY3RpdmUtc3cgLnRvcC10aXAuakJveC1Ub29sdGlwIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5zdG9yZXMtc3cge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAyMDUlO1xuICBsZWZ0OiAtMzdweDtcbiAgcmlnaHQ6IC0xMHB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBwYWRkaW5nOiAxMHB4IDI5cHggMTBweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzM0MzQzNDsgfVxuICAuc3RvcmVzLXN3IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDA7IH1cbiAgICAuc3RvcmVzLXN3IGxpIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogI2IyYjJiMjsgfVxuICAgICAgLnN0b3Jlcy1zdyBsaSBhOmhvdmVyLCAuc3RvcmVzLXN3IGxpIGEuc2VsZWN0ZWQge1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLnN0b3Jlcy1zdyBsaSBhLnNlbGVjdGVkIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmJyZWFkY3J1bWJzIHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5jaGVja291dC1jYXJ0LWluZGV4IC5ibG9jay1wYWdlLWhlYWRpbmcge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuY2hlY2tvdXQtY2FydC1pbmRleCAuYmxvY2stcGFnZS1oZWFkaW5nOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAuY2hlY2tvdXQtY2FydC1pbmRleCAuYmxvY2stcGFnZS1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAucGFnZS10aXRsZSBoMSB7XG4gIG1hcmdpbjogMDsgfVxuXG4uY2hlY2tvdXQtY2FydC1pbmRleCAuY2hlY2tvdXQtdHlwZXMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29sbGF0ZXJhbHMuYm90dG9tIC5jaGVja291dC10eXBlcyBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAuOTM3NXJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29sbGF0ZXJhbHMuYm90dG9tIC5jaGVja291dC10eXBlcyBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMC4zNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbGxhdGVyYWxzLmJvdHRvbSAuY2hlY2tvdXQtdHlwZXMgbGkge1xuICAgICAgbWFyZ2luOiAwIDAuOTM3NXJlbTsgfSB9XG4gIC5jaGVja291dC1jYXJ0LWluZGV4IC5jYXJ0LWNvbGxhdGVyYWxzLmJvdHRvbSAuY2hlY2tvdXQtdHlwZXMgbGkgLmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLmNoZWNrb3V0LWNhcnQtaW5kZXggLmNhcnQtY29sbGF0ZXJhbHMuYm90dG9tIC5jaGVja291dC10eXBlcyBsaSAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uY2FydC1oYXMtaXRlbXMgLmNoZWNrb3V0LXN0ZXBzLWNvbnRhaW5lcixcbi5vbmVzdGVwY2hlY2tvdXQtaW5kZXgtaW5kZXggLmNoZWNrb3V0LXN0ZXBzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNhcnQtaGFzLWl0ZW1zIC5zaXRlLXF1aWNrLWFjY2Vzcyxcbi5jYXJ0LWhhcy1pdGVtcyAuc2l0ZS1mb290ZXIsXG4uY2FydC1oYXMtaXRlbXMgLnNpdGUtdG9wLWxpbmtzIGxpOmZpcnN0LWNoaWxkLFxuLm9uZXN0ZXBjaGVja291dC1pbmRleC1pbmRleCAuc2l0ZS1xdWljay1hY2Nlc3MsXG4ub25lc3RlcGNoZWNrb3V0LWluZGV4LWluZGV4IC5zaXRlLWZvb3Rlcixcbi5vbmVzdGVwY2hlY2tvdXQtaW5kZXgtaW5kZXggLnNpdGUtdG9wLWxpbmtzIGxpOmZpcnN0LWNoaWxkIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jYXJ0LWhhcy1pdGVtcyAuY2F0ZWdvcnktZGVzY3JpcHRpb24sXG4uY2FydC1oYXMtaXRlbXMgLmNhcnQtY29sbGF0ZXJhbHMudG9wLFxuLm9uZXN0ZXBjaGVja291dC1pbmRleC1pbmRleCAuY2F0ZWdvcnktZGVzY3JpcHRpb24sXG4ub25lc3RlcGNoZWNrb3V0LWluZGV4LWluZGV4IC5jYXJ0LWNvbGxhdGVyYWxzLnRvcCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jYXJ0LWhhcy1pdGVtcyAuY2F0ZWdvcnktZGVzY3JpcHRpb24sXG4gICAgLmNhcnQtaGFzLWl0ZW1zIC5jYXJ0LWNvbGxhdGVyYWxzLnRvcCxcbiAgICAub25lc3RlcGNoZWNrb3V0LWluZGV4LWluZGV4IC5jYXRlZ29yeS1kZXNjcmlwdGlvbixcbiAgICAub25lc3RlcGNoZWNrb3V0LWluZGV4LWluZGV4IC5jYXJ0LWNvbGxhdGVyYWxzLnRvcCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5jYXJ0LWhhcy1pdGVtcyAuY2F0ZWdvcnktZGVzY3JpcHRpb24sXG4gICAgLmNhcnQtaGFzLWl0ZW1zIC5jYXJ0LWNvbGxhdGVyYWxzLnRvcCxcbiAgICAub25lc3RlcGNoZWNrb3V0LWluZGV4LWluZGV4IC5jYXRlZ29yeS1kZXNjcmlwdGlvbixcbiAgICAub25lc3RlcGNoZWNrb3V0LWluZGV4LWluZGV4IC5jYXJ0LWNvbGxhdGVyYWxzLnRvcCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmNhcnQtaGFzLWl0ZW1zIC5ibG9jay1wYWdlLWhlYWRpbmcgaDEsXG4ub25lc3RlcGNoZWNrb3V0LWluZGV4LWluZGV4IC5ibG9jay1wYWdlLWhlYWRpbmcgaDEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmNhcnQtaGFzLWl0ZW1zIC5zaXRlLWZvb3Rlci1jb250YWluZXIsXG4ub25lc3RlcGNoZWNrb3V0LWluZGV4LWluZGV4IC5zaXRlLWZvb3Rlci1jb250YWluZXIge1xuICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmNhcnQtaGFzLWl0ZW1zIC5zdWJjYXRlZ29yeS1ncmlkLFxuLm9uZXN0ZXBjaGVja291dC1pbmRleC1pbmRleCAuc3ViY2F0ZWdvcnktZ3JpZCB7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4uY2FydC1oYXMtaXRlbXMgLml0ZW0gLnByb2R1Y3Qtc2l6ZSBwLFxuLm9uZXN0ZXBjaGVja291dC1pbmRleC1pbmRleCAuaXRlbSAucHJvZHVjdC1zaXplIHAge1xuICBmb250LXNpemU6IDAuNzVyZW0gIWltcG9ydGFudDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2IyYjJiMjsgfVxuXG4uY2FydC1jb2xsYXRlcmFscyA+IC5idXR0b24gaSxcbi5jYXJ0LWNvbnRlbnQgLmhlYWQgLmJ0bi1jb250aW51ZSBpIHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBhZGRpbmc6IDAgNnB4IDAgMDtcbiAgbWFyZ2luOiAtMXB4IDAgMDsgfVxuXG4uY2FydC1jb2xsYXRlcmFscyB7XG4gIHBhZGRpbmc6IDEuODc1cmVtIDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjY2NjO1xuICBtYXJnaW46IDEuMjVyZW0gMCAwOyB9XG4gIC5jYXJ0LWNvbGxhdGVyYWxzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jYXJ0LWNvbGxhdGVyYWxzIHtcbiAgICAgIG1hcmdpbjogMy4xMjVyZW0gMCAwOyB9IH1cbiAgLmNhcnQtY29sbGF0ZXJhbHMgPiAuYnV0dG9uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jYXJ0LWNvbGxhdGVyYWxzID4gLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmNhcnQtY29sbGF0ZXJhbHMgdWwuY2hlY2tvdXQtdHlwZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmNhcnQtY29sbGF0ZXJhbHMgdWwuY2hlY2tvdXQtdHlwZXMge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIC5jYXJ0LWNvbGxhdGVyYWxzIHVsLmNoZWNrb3V0LXR5cGVzIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW07IH1cbiAgICAgIC5jYXJ0LWNvbGxhdGVyYWxzIHVsLmNoZWNrb3V0LXR5cGVzIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5jYXJ0LWNvbGxhdGVyYWxzIHVsLmNoZWNrb3V0LXR5cGVzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAuY2FydC1jb2xsYXRlcmFscyB1bC5jaGVja291dC10eXBlcyAucGF5cGFsLWxvZ28gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1jb2xvcjogI2NjY2NjYzsgfVxuICAgICAgLmNhcnQtY29sbGF0ZXJhbHMgdWwuY2hlY2tvdXQtdHlwZXMgLnBheXBhbC1sb2dvIGE6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLmNhcnQtY29sbGF0ZXJhbHMgdWwuY2hlY2tvdXQtdHlwZXMgLnBheXBhbC1sb2dvIGEgc3BhbiB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5jYXJ0LWNvbGxhdGVyYWxzIHVsLmNoZWNrb3V0LXR5cGVzIC5wYXlwYWwtbG9nbyBhIGltZyB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTNweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDNweCAwIDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgICAuY2FydC1jb2xsYXRlcmFscyB1bC5jaGVja291dC10eXBlcyAucGF5cGFsLWxvZ28gYSBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAgIC5jYXJ0LWNvbGxhdGVyYWxzIHVsLmNoZWNrb3V0LXR5cGVzIC5wYXlwYWwtb3Ige1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuY2FydC1jb2xsYXRlcmFscyB1bC5jaGVja291dC10eXBlcyAucGF5cGFsLW9yIHtcbiAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4uYnRuLWNoZWNrb3V0IGkge1xuICBmb250LXNpemU6IDIxcHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5jYXJ0LWNvbnRlbnQgLndyYXAge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC5jYXJ0LWNvbnRlbnQgLndyYXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NzBweCkge1xuICAgIC5jYXJ0LWNvbnRlbnQgLndyYXAge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG4gIC5jYXJ0LWNvbnRlbnQgLndyYXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEzMjBweCkge1xuICAgIC5jYXJ0LWNvbnRlbnQgLndyYXAge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5jYXJ0LWNvbnRlbnQgLmhlYWQge1xuICBwYWRkaW5nOiAyNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY2FydC1jb250ZW50IC5oZWFkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY2FydC1jb250ZW50IC5oZWFkIHVsLmNoZWNrb3V0LXR5cGVzIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLmNhcnQtY29udGVudCAuaGVhZCAuaW5mbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jYXJ0LWNvbnRlbnQgLmhlYWQgLmluZm8ge1xuICAgICAgICBmbGV4LWdyb3c6IDI7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5jYXJ0LWNvbnRlbnQgLmhlYWQgLmluZm8gYSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG1hcmdpbjogMC42MjVyZW0gMC45Mzc1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5jYXJ0LWNvbnRlbnQgLmhlYWQgLmluZm8gYSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW07IH0gfVxuICAgICAgLmNhcnQtY29udGVudCAuaGVhZCAuaW5mbyBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM2NjY2NjY7IH1cbiAgICAgIC5jYXJ0LWNvbnRlbnQgLmhlYWQgLmluZm8gYSBpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBtYXJnaW46IDAgMC42MjVyZW0gMCAwOyB9XG4gIC5jYXJ0LWNvbnRlbnQgLmhlYWQgaW1nIHtcbiAgICBoZWlnaHQ6IDE3cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDAgMDsgfVxuICAuY2FydC1jb250ZW50IC5oZWFkIC5idG4tY29udGludWUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLmNhcnQtY29udGVudCAuaGVhZCAuYnRuLWNvbnRpbnVlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuY2FydC1jb250ZW50IC5oZWFkIC5idG4tY2hlY2tvdXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jYXJ0LWNvbnRlbnQgLmhlYWQgLmJ0bi1jaGVja291dCB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmNhcnQtY29udGVudCAuY29sczo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmNhcnQtY29udGVudCAuY2FydC1jb2wxIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiA2NS44ODA3OCU7IH1cbiAgICAuY2FydC1jb250ZW50IC5jYXJ0LWNvbDE6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY2FydC1jb250ZW50IC5jYXJ0LXNpZGViYXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgd2lkdGg6IDMxLjc2MTU3JTsgfVxuICAgIC5jYXJ0LWNvbnRlbnQgLmNhcnQtc2lkZWJhcjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYXJ0LWNvbnRlbnQgLnNwZW5kLW1vcmUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMC45Mzc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMDsgfVxuXG4uY2FydC1jb250ZW50IGEge1xuICBjb2xvcjogIzAwMDsgfVxuXG4uY2FydC1jb250ZW50IGZpZWxkc2V0IHtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5jYXJ0LXNpZGViYXIge1xuICBtYXJnaW46IDAuOTM3NXJlbSAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY2FydC1zaWRlYmFyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5jYXJ0LXNpZGViYXIgLnNhbXBsZXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4OyB9XG4gICAgLmNhcnQtc2lkZWJhciAuc2FtcGxlcyBoMyB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwOyB9XG4gIC5jYXJ0LXNpZGViYXIgLnAtbGlzdCB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXgtaGVpZ2h0OiAyNTBweDtcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAgIC5jYXJ0LXNpZGViYXIgLnAtbGlzdCBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5jYXJ0LXNpZGViYXIgLnAtbGlzdCA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmNhcnQtc2lkZWJhciAucC1saXN0IC5pbWFnZSB7XG4gICAgICB3aWR0aDogODBweDsgfVxuICAgIC5jYXJ0LXNpZGViYXIgLnAtbGlzdCAuZGVzYyB7XG4gICAgICBmbGV4LWdyb3c6IDI7IH1cbiAgICAuY2FydC1zaWRlYmFyIC5wLWxpc3QgLnRpdGxlIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMC45Mzc1cmVtIDAgMDsgfVxuICAgIC5jYXJ0LXNpZGViYXIgLnAtbGlzdCBwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jYXJ0LXNpZGViYXIgLnAtbGlzdCAuYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmYgaW5zZXQ7IH1cbiAgICAgIC5jYXJ0LXNpZGViYXIgLnAtbGlzdCAuYnV0dG9uLnNlY29uZGFyeSwgLmNhcnQtc2lkZWJhciAucC1saXN0IC5idXR0b24ud2hpdGUsIC5jYXJ0LXNpZGViYXIgLnAtbGlzdCAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyBhLmJ1dHRvbi5jb250aW51ZS1zaG9wcGluZy1idXR0b24sIC5iYWcgLmJsb2NrLWNhcnQgLmNoZWNrb3V0LXR5cGVzIC5jYXJ0LXNpZGViYXIgLnAtbGlzdCBhLmJ1dHRvbi5jb250aW51ZS1zaG9wcGluZy1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gICAgICAuY2FydC1zaWRlYmFyIC5wLWxpc3QgLmJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4uc2hvcHBpbmctY2FydCB7XG4gIHBhZGRpbmc6IDAgMCAxLjg3NXJlbTsgfVxuICAuc2hvcHBpbmctY2FydCAuY29sMSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICB3aWR0aDogNDAuMjkxMzclOyB9XG4gICAgLnNob3BwaW5nLWNhcnQgLmNvbDE6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNob3BwaW5nLWNhcnQgLmNvbDEge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICAgIHdpZHRoOiA0MC4yOTEzNyU7IH1cbiAgICAgICAgLnNob3BwaW5nLWNhcnQgLmNvbDE6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgICAgLnNob3BwaW5nLWNhcnQgLmNvbDEge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICAgIHdpZHRoOiA0OC44MjExNyU7IH1cbiAgICAgICAgLnNob3BwaW5nLWNhcnQgLmNvbDE6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLnNob3BwaW5nLWNhcnQgLmNvbDIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiAyMy4yMzE3NiU7IH1cbiAgICAuc2hvcHBpbmctY2FydCAuY29sMjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuc2hvcHBpbmctY2FydCAuY29sMiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgICAgd2lkdGg6IDIzLjIzMTc2JTsgfVxuICAgICAgICAuc2hvcHBpbmctY2FydCAuY29sMjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAuc2hvcHBpbmctY2FydCAuY29sMiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgICAgd2lkdGg6IDIzLjIzMTc2JTsgfVxuICAgICAgICAuc2hvcHBpbmctY2FydCAuY29sMjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAuc2hvcHBpbmctY2FydCAuY29sMyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICB3aWR0aDogMTQuNzAxOTYlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zaG9wcGluZy1jYXJ0IC5jb2wzOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5zaG9wcGluZy1jYXJ0IC5jb2w0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiA2LjE3MjE1JTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5zaG9wcGluZy1jYXJ0IC5jb2w0Omxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5zaG9wcGluZy1jYXJ0IC5jYXJ0LWhlYWRlciB7XG4gICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2NjY2M7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2NjY2M7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5zaG9wcGluZy1jYXJ0IC5jYXJ0LWhlYWRlcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5zaG9wcGluZy1jYXJ0IC5jYXJ0LWJvZHkge1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwOyB9XG4gICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keTo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgIC5zaG9wcGluZy1jYXJ0IC5jYXJ0LWJvZHkgaW5wdXQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAuY29sLmNvbDEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAuc2hvcHBpbmctY2FydCAuY2FydC1ib2R5IC5pdGVtLW9wdGlvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zaG9wcGluZy1jYXJ0IC5jYXJ0LWJvZHkgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogMjMuMjMxNzYlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuc2hvcHBpbmctY2FydCAuY2FydC1ib2R5IC5wcm9kdWN0LWltYWdlOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5zaG9wcGluZy1jYXJ0IC5jYXJ0LWJvZHkgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICAgICAgd2lkdGg6IDIzLjIzMTc2JTsgfVxuICAgICAgICAgIC5zaG9wcGluZy1jYXJ0IC5jYXJ0LWJvZHkgLnByb2R1Y3QtaW1hZ2U6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAucHJvZHVjdC1pbWFnZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAucHJvZHVjdC1uYW1lIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgICAgd2lkdGg6IDc0LjQxMDU5JTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDAuOTM3NXJlbTsgfVxuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAucHJvZHVjdC1uYW1lOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5zaG9wcGluZy1jYXJ0IC5jYXJ0LWJvZHkgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgICAgICB3aWR0aDogNzQuNDEwNTklOyB9XG4gICAgICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAucHJvZHVjdC1uYW1lOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICAuc2hvcHBpbmctY2FydCAuY2FydC1ib2R5IC5xdHktcmVtb3ZlLXdyYXBwZXIge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAuc2hvcHBpbmctY2FydCAuY2FydC1ib2R5IC5xdHktcmVtb3ZlLXdyYXBwZXIgPiAqIHtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgcGFkZGluZzogN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtaW4td2lkdGg6IDBweDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjY2NjICFpbXBvcnRhbnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIC5zaG9wcGluZy1jYXJ0IC5jYXJ0LWJvZHkgLnF0eS1yZW1vdmUtd3JhcHBlciA+ICoge1xuICAgICAgICAgICAgd2lkdGg6IDM3cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDM3cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjY4NzVyZW07IH0gfVxuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAucXR5LXJlbW92ZS13cmFwcGVyIGEge1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogQXJpYWwgIWltcG9ydGFudDsgfVxuICAgICAgICAuc2hvcHBpbmctY2FydCAuY2FydC1ib2R5IC5xdHktcmVtb3ZlLXdyYXBwZXIgYTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAucXR5LXJlbW92ZS13cmFwcGVyIGlucHV0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5zaG9wcGluZy1jYXJ0IC5jYXJ0LWJvZHkgLnJlbW92ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICM2NjY2NjY7IH1cbiAgICAgIC5zaG9wcGluZy1jYXJ0IC5jYXJ0LWJvZHkgLnJlbW92ZTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMWExYTFhOyB9XG4gICAgICAuc2hvcHBpbmctY2FydCAuY2FydC1ib2R5IC5yZW1vdmUgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAucmVtb3ZlIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAwLjMxMjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAuc2hvcHBpbmctY2FydCAuY2FydC1ib2R5IC5yZW1vdmUgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLnNob3BwaW5nLWNhcnQge1xuICAgIHBhZGRpbmc6IDAgMCAwLjkzNzVyZW07IH1cbiAgICAuc2hvcHBpbmctY2FydCAuY2FydC1ib2R5LWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjY2NjOyB9XG4gICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwOyB9XG4gICAgICAuc2hvcHBpbmctY2FydCAuY2FydC1ib2R5Omxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5zaG9wcGluZy1jYXJ0IC5jYXJ0LWJvZHkgLmNvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDA7IH1cbiAgICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAuY29sOjphZnRlciB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuc2hvcHBpbmctY2FydCAuY2FydC1ib2R5IC5jb2w6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgICAuc2hvcHBpbmctY2FydCAuY2FydC1ib2R5IC5jb2wgPiAqIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTsgfVxuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAucXR5LXJlbW92ZS13cmFwcGVyID4gKiB7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAuY29sMjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnUXVhbnRpdHk6JztcbiAgICAgICAgcGFkZGluZzogNnB4IDAgMDsgfVxuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAuY29sMzpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnUHJpY2U6JzsgfVxuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAuY29sMyAqIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAuY29sNCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDA7IH1cbiAgICAgICAgLnNob3BwaW5nLWNhcnQgLmNhcnQtYm9keSAuY29sNCBhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfSB9XG5cbi5jYXJ0LWZvb3Rlci1ibG9ja3MgLndyYXAge1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuY2FydC1mb290ZXItYmxvY2tzIC53cmFwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAuY2FydC1mb290ZXItYmxvY2tzIC53cmFwIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICAuY2FydC1mb290ZXItYmxvY2tzIC53cmFwOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY2FydC1mb290ZXItYmxvY2tzIC5jb2wxIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiA2NS44ODA3OCU7IH1cbiAgICAuY2FydC1mb290ZXItYmxvY2tzIC5jb2wxOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNhcnQtZm9vdGVyLWJsb2NrcyAuY29sMiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICB3aWR0aDogMzEuNzYxNTclOyB9XG4gICAgLmNhcnQtZm9vdGVyLWJsb2NrcyAuY29sMjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5zaG9wcGluZy1jYXJ0LXRvdGFscyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNjY2NjY2M7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMS41NjI1cmVtO1xuICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuc2hvcHBpbmctY2FydC10b3RhbHMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMi41cmVtOyB9IH1cbiAgLnNob3BwaW5nLWNhcnQtdG90YWxzIC5jaGVja291dC10b3RhbHM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zaG9wcGluZy1jYXJ0LXRvdGFscyAuY2hlY2tvdXQtdG90YWxzID4gZGl2IHtcbiAgICBtYXJnaW46IDAuNjI1cmVtIDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5zaG9wcGluZy1jYXJ0LXRvdGFscyAuY2hlY2tvdXQtdG90YWxzIC52YWx1ZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICB3aWR0aDogMjMuMjMxNzYlOyB9XG4gICAgLnNob3BwaW5nLWNhcnQtdG90YWxzIC5jaGVja291dC10b3RhbHMgLnZhbHVlOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5zaG9wcGluZy1jYXJ0LXRvdGFscyAuY2hlY2tvdXQtdG90YWxzIC50aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICAgIHdpZHRoOiA3NC40MTA1OSU7IH1cbiAgICAuc2hvcHBpbmctY2FydC10b3RhbHMgLmNoZWNrb3V0LXRvdGFscyAudGl0bGU6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnNob3BwaW5nLWNhcnQtdG90YWxzIC5ib2xkIHtcbiAgICBtYXJnaW46IDEuODc1cmVtIDAgMC42MjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5zaG9wcGluZy1jYXJ0LXRvdGFscyAuYm9sZCAudmFsdWUgc3Ryb25nLFxuICAgIC5zaG9wcGluZy1jYXJ0LXRvdGFscyAuYm9sZCAudGl0bGUgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uY2FydC1lbXB0eSB7XG4gIHBhZGRpbmc6IDMuMTI1cmVtIDAgNC4zNzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2FydC1lbXB0eSBwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5jYXJ0LWVtcHR5IC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuY2FydC1lbXB0eSAuc3ViY2F0ZWdvcnktZ3JpZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jYXJ0LWVtcHR5IC5zdWJjYXRlZ29yeS1ncmlkIC5zdWJjYXRlZ29yeS1pdGVtLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYXJ0LWVtcHR5IC5ibG9jay1uZXctaW4gLmJsb2NrLXRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuXG4uZW1wdHkgcCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5lbXB0eSBwIGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogODBweDtcbiAgICBjb2xvcjogI2IyYjJiMjsgfVxuXG4udXBkYXRlLXF0eS1vdXRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxLjI1cmVtIDAgMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLnVwZGF0ZS1xdHktb3V0ZXIge1xuICAgICAgcGFkZGluZzogMCAwIDAuOTM3NXJlbTsgfSB9XG4gIC51cGRhdGUtcXR5LW91dGVyLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnVwZGF0ZS1xdHktb3V0ZXIgYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNoZWNrb3V0LWxvZ2luLWluZGV4IC5jYXRlZ29yeS1kZXNjcmlwdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2l0ZS10b3AtbGlua3MudG9wLWxpbmtzLW1pbmljYXJ0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuc2l0ZS10b3AtbGlua3MudG9wLWxpbmtzLW1pbmljYXJ0IC5ib3JkZXIsIC5zaXRlLXRvcC1saW5rcy50b3AtbGlua3MtbWluaWNhcnQgLm15LWFjY291bnQtbW51LCAuc2l0ZS10b3AtbGlua3MudG9wLWxpbmtzLW1pbmljYXJ0IC5zaWduLW91dCwgLnNpdGUtdG9wLWxpbmtzLnRvcC1saW5rcy1taW5pY2FydCAuaWNvbi1iYWcgLmFqYXhjYXJ0X2NvbnRhaW5lciAjaGVhZGVyLWNhcnQtdHJpZ2dlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2l0ZS10b3AtbGlua3MudG9wLWxpbmtzLW1pbmljYXJ0ICNoZWFkZXItY2FydCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB0b3A6IDE2cHg7XG4gICAgcmlnaHQ6IDBweDtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMHB4OyB9XG4gIC5zaXRlLXRvcC1saW5rcy50b3AtbGlua3MtbWluaWNhcnQgLmljb24tYmFnIC5ibG9jay1jYXJ0IC5pdGVtIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uYnRuLW1vYmlsZS1jbG9zZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jYXJ0LXByb21vdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2FydC1wcm9tb3Rpb24gYSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC5jYXJ0LXByb21vdGlvbiBpbWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLmNhcnQtcmVjZW50LXByb2R1Y3RzIHtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDEuMjVyZW0gMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jYXJ0LXJlY2VudC1wcm9kdWN0cyA+IGxhYmVsIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMC45Mzc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4uY2FydC1jb2Rlczo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNhcnQtY29kZXMgLmFjY29yZGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNhcnQtY29kZXMgLmFjY29yZGlvbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgICAgIHdpZHRoOiA0OC44MjExNyU7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDMuMTI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgICAuY2FydC1jb2RlcyAuYWNjb3JkaW9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2FydC1jb2RlcyBhLmFjY29yZGlvbi10cmlnZ2VyIGgzIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMDsgfVxuXG4uY2FydC1jb2RlcyBsYWJlbCB7XG4gIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG5cbi5jYXJ0LWNvZGVzIC5pbnB1dC1ib3ggaW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMS4wNjI1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNhcnQtY29kZXMgLnByaW1hcnksIC5jYXJ0LWNvZGVzIC5zZWFyY2gtcGFuZWwgLmJ1dHRvbiwgLnNlYXJjaC1wYW5lbCAuY2FydC1jb2RlcyAuYnV0dG9uLCAuY2FydC1jb2RlcyAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyBhLmNoZWNrb3V0LWJ1dHRvbiwgLmJhZyAuYmxvY2stY2FydCAuY2hlY2tvdXQtdHlwZXMgLmNhcnQtY29kZXMgYS5jaGVja291dC1idXR0b24sIC5jYXJ0LWNvZGVzIC5jYXJ0LWNvbGxhdGVyYWxzIHVsLmNoZWNrb3V0LXR5cGVzIC5idG4tY2hlY2tvdXQsIC5jYXJ0LWNvbGxhdGVyYWxzIHVsLmNoZWNrb3V0LXR5cGVzIC5jYXJ0LWNvZGVzIC5idG4tY2hlY2tvdXQsIC5jYXJ0LWNvZGVzIC5jYXJ0LWNvbnRlbnQgLmhlYWQgLmJ0bi1jaGVja291dCwgLmNhcnQtY29udGVudCAuaGVhZCAuY2FydC1jb2RlcyAuYnRuLWNoZWNrb3V0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgLmNhcnQtY29kZXMgLnByaW1hcnk6aG92ZXIsIC5jYXJ0LWNvZGVzIC5zZWFyY2gtcGFuZWwgLmJ1dHRvbjpob3ZlciwgLnNlYXJjaC1wYW5lbCAuY2FydC1jb2RlcyAuYnV0dG9uOmhvdmVyLCAuY2FydC1jb2RlcyAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyBhLmNoZWNrb3V0LWJ1dHRvbjpob3ZlciwgLmJhZyAuYmxvY2stY2FydCAuY2hlY2tvdXQtdHlwZXMgLmNhcnQtY29kZXMgYS5jaGVja291dC1idXR0b246aG92ZXIsIC5jYXJ0LWNvZGVzIC5jYXJ0LWNvbGxhdGVyYWxzIHVsLmNoZWNrb3V0LXR5cGVzIC5idG4tY2hlY2tvdXQ6aG92ZXIsIC5jYXJ0LWNvbGxhdGVyYWxzIHVsLmNoZWNrb3V0LXR5cGVzIC5jYXJ0LWNvZGVzIC5idG4tY2hlY2tvdXQ6aG92ZXIsIC5jYXJ0LWNvZGVzIC5jYXJ0LWNvbnRlbnQgLmhlYWQgLmJ0bi1jaGVja291dDpob3ZlciwgLmNhcnQtY29udGVudCAuaGVhZCAuY2FydC1jb2RlcyAuYnRuLWNoZWNrb3V0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5jYXJ0LWNvZGVzIC5zZWNvbmRhcnksIC5jYXJ0LWNvZGVzIC53aGl0ZSwgLmNhcnQtY29kZXMgLmJhZyAuYmxvY2stY2FydCAuY2hlY2tvdXQtdHlwZXMgYS5jb250aW51ZS1zaG9wcGluZy1idXR0b24sIC5iYWcgLmJsb2NrLWNhcnQgLmNoZWNrb3V0LXR5cGVzIC5jYXJ0LWNvZGVzIGEuY29udGludWUtc2hvcHBpbmctYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAuMzEyNXJlbSAwIDA7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDA7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAuY2FydC1jb2RlcyAuc2Vjb25kYXJ5OmhvdmVyLCAuY2FydC1jb2RlcyAud2hpdGU6aG92ZXIsIC5jYXJ0LWNvZGVzIC5iYWcgLmJsb2NrLWNhcnQgLmNoZWNrb3V0LXR5cGVzIGEuY29udGludWUtc2hvcHBpbmctYnV0dG9uOmhvdmVyLCAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyAuY2FydC1jb2RlcyBhLmNvbnRpbnVlLXNob3BwaW5nLWJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uY2FydC1jb2RlcyBmaWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uY2hlY2tvdXQtdG90YWxzLmdpZnRjYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jaGVja291dC10b3RhbHMuZ2lmdGNhcmQgYSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbjogLThweCAwLjc1cmVtIDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuY2hlY2tvdXQtdG90YWxzLmdpZnRjYXJkIGEge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfSB9XG4gIC5jaGVja291dC10b3RhbHMuZ2lmdGNhcmQgaSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuI2djLXBsZWFzZS13YWl0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG1hcmdpbjogMC42MjVyZW0gMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uZ2lmdC1jYXJkLWluZm8ge1xuICBib3JkZXI6IDFweCBkYXNoZWQgIzAwMDtcbiAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9XG4gIC5naWZ0LWNhcmQtaW5mbyBwIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG4jZ2lmdGNhcmRfYmFsYW5jZV9sb29rdXAgLmVycm9yLW1zZyB7XG4gIG1hcmdpbjogMCAwIDAuOTM3NXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIGJhY2tncm91bmQ6ICNiMzBjMGM7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmRpc2NvdW50LWFwcGxpZWQgLmNvZGUge1xuICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICBwYWRkaW5nOiAwLjY4NzVyZW0gMC42MjVyZW07XG4gIG1hcmdpbjogMC4zMTI1cmVtIDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuZGlzY291bnQtYXBwbGllZCAuY29kZSA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5kaXNjb3VudC1hcHBsaWVkIC5jb2RlIC5sYWJlbCB7XG4gICAgd2lkdGg6IDQ1JTtcbiAgICBwYWRkaW5nOiAwIDAgMCAyJTsgfVxuICAuZGlzY291bnQtYXBwbGllZCAuY29kZSAuYWN0aW9uIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAuZGlzY291bnQtYXBwbGllZCAuY29kZSAuYWN0aW9uIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZGlzY291bnQtYXBwbGllZCAuY29kZSAuYWN0aW9uIGkge1xuICAgICAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5naWZ0LXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuZ2lmdC13cmFwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5naWZ0LXdyYXAge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogNDguODIxMTclOyB9XG4gICAgICAuZ2lmdC13cmFwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5naWZ0LXdyYXAge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIC5naWZ0LXdyYXAgaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5naWZ0LXdyYXAgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDYwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuZ2lmdC13cmFwIGEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIDEuMjVyZW0gMCAwLjYyNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggIzAwMCBpbnNldDsgfVxuICAgIC5naWZ0LXdyYXAgYS5wcmltYXJ5LCAuZ2lmdC13cmFwIC5zZWFyY2gtcGFuZWwgYS5idXR0b24sIC5zZWFyY2gtcGFuZWwgLmdpZnQtd3JhcCBhLmJ1dHRvbiwgLmdpZnQtd3JhcCAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyBhLmNoZWNrb3V0LWJ1dHRvbiwgLmJhZyAuYmxvY2stY2FydCAuY2hlY2tvdXQtdHlwZXMgLmdpZnQtd3JhcCBhLmNoZWNrb3V0LWJ1dHRvbiwgLmdpZnQtd3JhcCAuY2FydC1jb2xsYXRlcmFscyB1bC5jaGVja291dC10eXBlcyBhLmJ0bi1jaGVja291dCwgLmNhcnQtY29sbGF0ZXJhbHMgdWwuY2hlY2tvdXQtdHlwZXMgLmdpZnQtd3JhcCBhLmJ0bi1jaGVja291dCwgLmdpZnQtd3JhcCAuY2FydC1jb250ZW50IC5oZWFkIGEuYnRuLWNoZWNrb3V0LCAuY2FydC1jb250ZW50IC5oZWFkIC5naWZ0LXdyYXAgYS5idG4tY2hlY2tvdXQsIC5naWZ0LXdyYXAgYS5wcmltYXJ5OmhvdmVyLCAuZ2lmdC13cmFwIC5zZWFyY2gtcGFuZWwgYS5idXR0b246aG92ZXIsIC5zZWFyY2gtcGFuZWwgLmdpZnQtd3JhcCBhLmJ1dHRvbjpob3ZlciwgLmdpZnQtd3JhcCAuYmFnIC5ibG9jay1jYXJ0IC5jaGVja291dC10eXBlcyBhLmNoZWNrb3V0LWJ1dHRvbjpob3ZlciwgLmJhZyAuYmxvY2stY2FydCAuY2hlY2tvdXQtdHlwZXMgLmdpZnQtd3JhcCBhLmNoZWNrb3V0LWJ1dHRvbjpob3ZlciwgLmdpZnQtd3JhcCAuY2FydC1jb2xsYXRlcmFscyB1bC5jaGVja291dC10eXBlcyBhLmJ0bi1jaGVja291dDpob3ZlciwgLmNhcnQtY29sbGF0ZXJhbHMgdWwuY2hlY2tvdXQtdHlwZXMgLmdpZnQtd3JhcCBhLmJ0bi1jaGVja291dDpob3ZlciwgLmdpZnQtd3JhcCAuY2FydC1jb250ZW50IC5oZWFkIGEuYnRuLWNoZWNrb3V0OmhvdmVyLCAuY2FydC1jb250ZW50IC5oZWFkIC5naWZ0LXdyYXAgYS5idG4tY2hlY2tvdXQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5naWZ0LXdyYXAgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cblxuLmNhcnQtc2lkZWJhcjo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNhcnQtc2lkZWJhciAuZ2lmdC13cmFwLCAuY2FydC1zaWRlYmFyIC5wcm9tbyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNhcnQtc2lkZWJhciAuZ2lmdC13cmFwOmxhc3QtY2hpbGQsIC5jYXJ0LXNpZGViYXIgLnByb21vOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jYXJ0LXNpZGViYXIgLmdpZnQtd3JhcCwgLmNhcnQtc2lkZWJhciAucHJvbW8ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gICAgICB3aWR0aDogNDguODIxMTclOyB9XG4gICAgICAuY2FydC1zaWRlYmFyIC5naWZ0LXdyYXA6bGFzdC1jaGlsZCwgLmNhcnQtc2lkZWJhciAucHJvbW86bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmNhcnQtc2lkZWJhciAuZ2lmdC13cmFwLCAuY2FydC1zaWRlYmFyIC5wcm9tbyB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNhcnQtc2lkZWJhciAucHJvbW8ge1xuICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY2FydC1zaWRlYmFyIC5wcm9tbyB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY2FydC1zaWRlYmFyIC5wcm9tbyB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH0gfVxuXG4uY2FydC10b3RhbC1wcmljZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogMCAyLjVyZW07IH1cbiAgLmNhcnQtdG90YWwtcHJpY2UgbGFiZWwsIC5jYXJ0LXRvdGFsLXByaWNlIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMS4yNXJlbSAwIDAuOTM3NXJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2FydC10b3RhbC1wcmljZSBsYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uY3Jvc3NzZWxsIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmc6IDAgMCAzLjEyNXJlbTsgfVxuICAuY3Jvc3NzZWxsIGgyIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAwOyB9XG5cbi8qIHBlcmZlY3Qtc2Nyb2xsYmFyIHYwLjYuMTYgKi9cbi5wcy1jb250YWluZXIge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBhdXRvO1xuICB0b3VjaC1hY3Rpb246IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyB9XG5cbkBzdXBwb3J0cyAoLW1zLW92ZXJmbG93LXN0eWxlOiBub25lKSB7XG4gIC5wcy1jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAucHMtY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuLnBzLWNvbnRhaW5lci5wcy1hY3RpdmUteCA+IC5wcy1zY3JvbGxiYXIteC1yYWlsLFxuLnBzLWNvbnRhaW5lci5wcy1hY3RpdmUteSA+IC5wcy1zY3JvbGxiYXIteS1yYWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5wcy1jb250YWluZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXggPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIG9wYWNpdHk6IDAuOTsgfVxuXG4ucHMtY29udGFpbmVyLnBzLWluLXNjcm9sbGluZy5wcy14ID4gLnBzLXNjcm9sbGJhci14LXJhaWwgPiAucHMtc2Nyb2xsYmFyLXgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICBoZWlnaHQ6IDExcHg7IH1cblxuLnBzLWNvbnRhaW5lci5wcy1pbi1zY3JvbGxpbmcucHMteSA+IC5wcy1zY3JvbGxiYXIteS1yYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgb3BhY2l0eTogMC45OyB9XG5cbi5wcy1jb250YWluZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXkgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCA+IC5wcy1zY3JvbGxiYXIteSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG4gIHdpZHRoOiAxMXB4OyB9XG5cbi5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogcGxlYXNlIGRvbid0IGNoYW5nZSAncG9zaXRpb24nICovXG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgb3BhY2l0eSAwLjJzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgb3BhY2l0eSAwLjJzIGxpbmVhcjtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICBib3R0b206IDA7XG4gIC8qIHRoZXJlIG11c3QgYmUgJ2JvdHRvbScgZm9yIHBzLXNjcm9sbGJhci14LXJhaWwgKi9cbiAgaGVpZ2h0OiAxNXB4OyB9XG5cbi5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCA+IC5wcy1zY3JvbGxiYXIteCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLyogcGxlYXNlIGRvbid0IGNoYW5nZSAncG9zaXRpb24nICovXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgaGVpZ2h0IDAuMnMgbGluZWFyLCB3aWR0aCAwLjJzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJvcmRlci1yYWRpdXMgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgaGVpZ2h0IDAuMnMgbGluZWFyLCB3aWR0aCAwLjJzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJvcmRlci1yYWRpdXMgMC4ycyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgaGVpZ2h0IDAuMnMgbGluZWFyLCB3aWR0aCAwLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItcmFkaXVzIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgaGVpZ2h0IDAuMnMgbGluZWFyLCB3aWR0aCAwLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItcmFkaXVzIDAuMnMgZWFzZS1pbi1vdXQsIC1tb3otYm9yZGVyLXJhZGl1cyAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBoZWlnaHQgMC4ycyBsaW5lYXIsIHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQsIGJvcmRlci1yYWRpdXMgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgaGVpZ2h0IDAuMnMgbGluZWFyLCB3aWR0aCAwLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItcmFkaXVzIDAuMnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm9yZGVyLXJhZGl1cyAwLjJzIGVhc2UtaW4tb3V0LCAtbW96LWJvcmRlci1yYWRpdXMgMC4ycyBlYXNlLWluLW91dDtcbiAgYm90dG9tOiAycHg7XG4gIC8qIHRoZXJlIG11c3QgYmUgJ2JvdHRvbScgZm9yIHBzLXNjcm9sbGJhci14ICovXG4gIGhlaWdodDogNnB4OyB9XG5cbi5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbDphY3RpdmUgPiAucHMtc2Nyb2xsYmFyLXgsXG4ucHMtY29udGFpbmVyID4gLnBzLXNjcm9sbGJhci14LXJhaWw6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXgge1xuICBoZWlnaHQ6IDExcHg7IH1cblxuLnBzLWNvbnRhaW5lciA+IC5wcy1zY3JvbGxiYXIteS1yYWlsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKiBwbGVhc2UgZG9uJ3QgY2hhbmdlICdwb3NpdGlvbicgKi9cbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXIsIG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXIsIG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gIHJpZ2h0OiAwO1xuICAvKiB0aGVyZSBtdXN0IGJlICdyaWdodCcgZm9yIHBzLXNjcm9sbGJhci15LXJhaWwgKi9cbiAgd2lkdGg6IDE1cHg7IH1cblxuLnBzLWNvbnRhaW5lciA+IC5wcy1zY3JvbGxiYXIteS1yYWlsID4gLnBzLXNjcm9sbGJhci15IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKiBwbGVhc2UgZG9uJ3QgY2hhbmdlICdwb3NpdGlvbicgKi9cbiAgYmFja2dyb3VuZC1jb2xvcjogI2FhYTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBoZWlnaHQgMC4ycyBsaW5lYXIsIHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm9yZGVyLXJhZGl1cyAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBoZWlnaHQgMC4ycyBsaW5lYXIsIHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm9yZGVyLXJhZGl1cyAwLjJzIGVhc2UtaW4tb3V0O1xuICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBoZWlnaHQgMC4ycyBsaW5lYXIsIHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQsIGJvcmRlci1yYWRpdXMgMC4ycyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBoZWlnaHQgMC4ycyBsaW5lYXIsIHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQsIGJvcmRlci1yYWRpdXMgMC4ycyBlYXNlLWluLW91dCwgLW1vei1ib3JkZXItcmFkaXVzIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXIsIGhlaWdodCAwLjJzIGxpbmVhciwgd2lkdGggMC4ycyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBoZWlnaHQgMC4ycyBsaW5lYXIsIHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQsIGJvcmRlci1yYWRpdXMgMC4ycyBlYXNlLWluLW91dCwgLXdlYmtpdC1ib3JkZXItcmFkaXVzIDAuMnMgZWFzZS1pbi1vdXQsIC1tb3otYm9yZGVyLXJhZGl1cyAwLjJzIGVhc2UtaW4tb3V0O1xuICByaWdodDogMnB4O1xuICAvKiB0aGVyZSBtdXN0IGJlICdyaWdodCcgZm9yIHBzLXNjcm9sbGJhci15ICovXG4gIHdpZHRoOiA2cHg7IH1cblxuLnBzLWNvbnRhaW5lciA+IC5wcy1zY3JvbGxiYXIteS1yYWlsOmFjdGl2ZSA+IC5wcy1zY3JvbGxiYXIteSxcbi5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXktcmFpbDpob3ZlciA+IC5wcy1zY3JvbGxiYXIteSB7XG4gIHdpZHRoOiAxMXB4OyB9XG5cbi5wcy1jb250YWluZXI6aG92ZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXggPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gIG9wYWNpdHk6IDAuOTsgfVxuXG4ucHMtY29udGFpbmVyOmhvdmVyLnBzLWluLXNjcm9sbGluZy5wcy14ID4gLnBzLXNjcm9sbGJhci14LXJhaWwgPiAucHMtc2Nyb2xsYmFyLXgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICBoZWlnaHQ6IDExcHg7IH1cblxuLnBzLWNvbnRhaW5lcjpob3Zlci5wcy1pbi1zY3JvbGxpbmcucHMteSA+IC5wcy1zY3JvbGxiYXIteS1yYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgb3BhY2l0eTogMC45OyB9XG5cbi5wcy1jb250YWluZXI6aG92ZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXkgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCA+IC5wcy1zY3JvbGxiYXIteSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIHdpZHRoOiAxMXB4OyB9XG5cbi5wcy1jb250YWluZXI6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCxcbi5wcy1jb250YWluZXI6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCB7XG4gIG9wYWNpdHk6IDAuNjsgfVxuXG4ucHMtY29udGFpbmVyOmhvdmVyID4gLnBzLXNjcm9sbGJhci14LXJhaWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBvcGFjaXR5OiAwLjk7IH1cblxuLnBzLWNvbnRhaW5lcjpob3ZlciA+IC5wcy1zY3JvbGxiYXIteC1yYWlsOmhvdmVyID4gLnBzLXNjcm9sbGJhci14IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTsgfVxuXG4ucHMtY29udGFpbmVyOmhvdmVyID4gLnBzLXNjcm9sbGJhci15LXJhaWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBvcGFjaXR5OiAwLjk7IH1cblxuLnBzLWNvbnRhaW5lcjpob3ZlciA+IC5wcy1zY3JvbGxiYXIteS1yYWlsOmhvdmVyID4gLnBzLXNjcm9sbGJhci15IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTsgfVxuXG4uY29va2llbWVzc2FnZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgdHJhbnNpdGlvbjogMC4zcyBib3R0b20gZWFzZS1vdXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHotaW5kZXg6IDEwMDA7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDI1cHggMC42MjVyZW0gMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29va2llbWVzc2FnZSB7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfSB9XG4gIC5jb29raWVtZXNzYWdlLmluYWN0aXZlIHtcbiAgICBib3R0b206IC0xMDBweDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5jb29raWVtZXNzYWdlIHAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICNlZWVlZWU7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb29raWVtZXNzYWdlIHAge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmNvb2tpZW1lc3NhZ2UgcCBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgIC5jb29raWVtZXNzYWdlIHAgYSB7XG4gICAgICBjb2xvcjogI2Y1NGEzNjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC5jb29raWVtZXNzYWdlIHAgYSAqIHtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLmNvb2tpZW1lc3NhZ2UgLmJ0bi1jb29raWUtYWNjZXB0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDE1cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAtOXB4IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY29va2llbWVzc2FnZSAuYnRuLWNvb2tpZS1hY2NlcHQge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfSB9XG4gICAgLmNvb2tpZW1lc3NhZ2UgLmJ0bi1jb29raWUtYWNjZXB0IGkge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG5pZnJhbWUjaWZyYW1lUmVnQ2FyZCB7XG4gIGhlaWdodDogNTE4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjY2O1xuICBwYWRkaW5nOiAwIDIwcHg7IH1cblxuaWZyYW1lI3NhZ2VwYXlkaXJlY3Rwcm8taWZyYW1lLXBvc3Qge1xuICBoZWlnaHQ6IDUwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbmRpdiNkaXJlY3QzZC1sb2dvcyB7XG4gIHdpZHRoOiAzNTFweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDVweDsgfVxuXG5kaXYjZGlyZWN0M2QtbG9nb3MgaW1nIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG5kaXYuc2FnZWNhcmRoMSBoMSB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG5kaXYuc2FnZWNhcmRoMSBpbWcge1xuICBwYWRkaW5nLXRvcDogMTJweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4OyB9XG5cbnNlbGVjdCNzYWdlcGF5dG9rZW5fc3RhcnRfeXIsXG5zZWxlY3Qjc2FnZXBheXRva2VuX3N0YXJ0LFxuc2VsZWN0I3NhZ2VwYXl0b2tlbl9leHBpcmF0aW9uX3lyLFxuc2VsZWN0I3NhZ2VwYXl0b2tlbl9leHBpcmF0aW9uIHtcbiAgd2lkdGg6IDEyNXB4OyB9XG5cbnNlbGVjdCNzYWdlcGF5dG9rZW5fc3RhcnQsXG5zZWxlY3Qjc2FnZXBheXRva2VuX2V4cGlyYXRpb24ge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuZm9ybSNmcm1SZWdDYXJkIGlucHV0LmN2diB7XG4gIHdpZHRoOiAzZW0gIWltcG9ydGFudDsgfVxuXG4uc2lkZWJhciAuc2FnZXBheXN1aXRlLWxvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2lkZWJhciAuc2FnZXBheXN1aXRlLWxvZ28gYSB7XG4gIGZsb2F0OiBub25lOyB9XG5cbiNzYWdlcGF5ZGlyZWN0cHJvX2NjX3R5cGVfY3Z2X2RpdiAuY3Z2LXdoYXQtaXMtdGhpcyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbiAgd2lkdGg6IDQ4LjgyMTE3JTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgcGFkZGluZzogMTZweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICM2NjY2NjY7XG4gIGN1cnNvcjogaGVscDsgfVxuICAjc2FnZXBheWRpcmVjdHByb19jY190eXBlX2N2dl9kaXYgLmN2di13aGF0LWlzLXRoaXM6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICNzYWdlcGF5ZGlyZWN0cHJvX2NjX3R5cGVfY3Z2X2RpdiAuY3Z2LXdoYXQtaXMtdGhpczpob3ZlciB7XG4gICAgY29sb3I6ICMxYTFhMWE7IH1cblxuI3BheW1lbnRfZm9ybV9zYWdlcGF5ZGlyZWN0cHJvIGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuI3BheW1lbnRfZm9ybV9zYWdlcGF5ZGlyZWN0cHJvIC5pbnB1dC1ib3g6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiNwYXltZW50X2Zvcm1fc2FnZXBheWRpcmVjdHBybyAudi1maXgge1xuICBmbG9hdDogbGVmdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4gIHdpZHRoOiA0OC44MjExNyU7IH1cbiAgI3BheW1lbnRfZm9ybV9zYWdlcGF5ZGlyZWN0cHJvIC52LWZpeDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuI3BheW1lbnRfZm9ybV9zYWdlcGF5ZGlyZWN0cHJvIC5yZXF1aXJlZCBlbSB7XG4gIGNvbG9yOiAjZmY1MjU1O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCA3cHggMCAtMTNweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbiNzYWdlcGF5ZGlyZWN0cHJvX2NjX3R5cGVfc3NfZGl2IHVsID4gbGkge1xuICBwYWRkaW5nOiA1cHggMDsgfVxuXG4jcGF5bWVudF9mb3JtX3NhZ2VwYXlkaXJlY3Rwcm8ge1xuICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtOyB9XG5cbmxpLmNjX25pY2tuYW1lX2NoZWNrYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTtcbiAgcGFkZGluZzogMCAwIDAuNjI1cmVtOyB9XG4gIGxpLmNjX25pY2tuYW1lX2NoZWNrYm94IGlucHV0IHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBtYXJnaW46IDAgMC4zMTI1cmVtIDAgMDsgfVxuXG4uZm9yZ290LXBhc3N3b3JkLFxuLmFjY291bnQtY3JlYXRlLFxuLnJlc2V0LWZvcmdvdC1wYXNzd29yZCxcbi5teS1hY2NvdW50LXdyYXBwZXIgLmFjY291bnQtY29udGVudCB7XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5mb3Jnb3QtcGFzc3dvcmQ6OmFmdGVyLFxuICAuYWNjb3VudC1jcmVhdGU6OmFmdGVyLFxuICAucmVzZXQtZm9yZ290LXBhc3N3b3JkOjphZnRlcixcbiAgLm15LWFjY291bnQtd3JhcHBlciAuYWNjb3VudC1jb250ZW50OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAuZm9yZ290LXBhc3N3b3JkLFxuICAgIC5hY2NvdW50LWNyZWF0ZSxcbiAgICAucmVzZXQtZm9yZ290LXBhc3N3b3JkLFxuICAgIC5teS1hY2NvdW50LXdyYXBwZXIgLmFjY291bnQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cblxuLmFjY291bnQtY3JlYXRlLFxuLmFjY291bnQtbG9naW4sXG4uZm9yZ290LXBhc3N3b3JkLFxuLm15LWFjY291bnQsXG4ucmVzZXQtZm9yZ290LXBhc3N3b3JkIHtcbiAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtO1xuICBwYWRkaW5nLXRvcDogMy4xMjVyZW07IH1cbiAgLmFjY291bnQtY3JlYXRlIGgyLFxuICAuYWNjb3VudC1sb2dpbiBoMixcbiAgLmZvcmdvdC1wYXNzd29yZCBoMixcbiAgLm15LWFjY291bnQgaDIsXG4gIC5yZXNldC1mb3Jnb3QtcGFzc3dvcmQgaDIge1xuICAgIG1hcmdpbjogMDsgfVxuICAuYWNjb3VudC1jcmVhdGUgLmJ1dHRvbnMtc2V0LFxuICAuYWNjb3VudC1sb2dpbiAuYnV0dG9ucy1zZXQsXG4gIC5mb3Jnb3QtcGFzc3dvcmQgLmJ1dHRvbnMtc2V0LFxuICAubXktYWNjb3VudCAuYnV0dG9ucy1zZXQsXG4gIC5yZXNldC1mb3Jnb3QtcGFzc3dvcmQgLmJ1dHRvbnMtc2V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5hY2NvdW50LWNyZWF0ZSAuYnV0dG9ucy1zZXQgYSxcbiAgICAuYWNjb3VudC1sb2dpbiAuYnV0dG9ucy1zZXQgYSxcbiAgICAuZm9yZ290LXBhc3N3b3JkIC5idXR0b25zLXNldCBhLFxuICAgIC5teS1hY2NvdW50IC5idXR0b25zLXNldCBhLFxuICAgIC5yZXNldC1mb3Jnb3QtcGFzc3dvcmQgLmJ1dHRvbnMtc2V0IGEge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07IH1cbiAgLmFjY291bnQtY3JlYXRlIGVtLFxuICAuYWNjb3VudC1sb2dpbiBlbSxcbiAgLmZvcmdvdC1wYXNzd29yZCBlbSxcbiAgLm15LWFjY291bnQgZW0sXG4gIC5yZXNldC1mb3Jnb3QtcGFzc3dvcmQgZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLm15LWFjY291bnQge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07IH1cblxuLm15LWFjY291bnQtd3JhcHBlciAucHJvbW8tYmFyLXRvcC0td3JhcHBlcixcbi5teS1hY2NvdW50LXdyYXBwZXIgLnByb21vLW1lc3NhZ2Uge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm15LWFjY291bnQtd3JhcHBlciAubWFpbiB7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cblxuLm15LWFjY291bnQtd3JhcHBlciAucGFnZS10aXRsZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5teS1hY2NvdW50LXdyYXBwZXIgLnBhZ2UtdGl0bGUgaDEge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAubXktYWNjb3VudC13cmFwcGVyIC5wYWdlLXRpdGxlIGgxIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5teS1hY2NvdW50LXdyYXBwZXIgLmNvbDItbGVmdC1sYXlvdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm15LWFjY291bnQtd3JhcHBlciAuY29sLW1haW4ge1xuICAgIGZsZXg6IDI7XG4gICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07IH0gfVxuXG4ubXktYWNjb3VudC13cmFwcGVyIC5jb2wtc2lkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXg6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAubXktYWNjb3VudC13cmFwcGVyIC5jb2wtc2lkZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5hY2NvdW50LW5hdmlnYXRpb24ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5hY2NvdW50LW5hdmlnYXRpb24ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLmFjY291bnQtbmF2aWdhdGlvbiA+IC5ibG9jayB7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLmFjY291bnQtbmF2aWdhdGlvbiA+IC5ibG9jazo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDcwcHgpIHtcbiAgICAgIC5hY2NvdW50LW5hdmlnYXRpb24gPiAuYmxvY2sge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH0gfVxuICAuYWNjb3VudC1uYXZpZ2F0aW9uIHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5hY2NvdW50LW5hdmlnYXRpb24gdWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgIC5hY2NvdW50LW5hdmlnYXRpb24gdWwgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgICAgIC5hY2NvdW50LW5hdmlnYXRpb24gdWwgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIC5hY2NvdW50LW5hdmlnYXRpb24gdWwgbGkuY3VycmVudCBhIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYWNjb3VudC1uYXZpZ2F0aW9uIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmFjY291bnQtbmF2aWdhdGlvbiB1bCBhIHtcbiAgICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gICAgICAuYWNjb3VudC1uYXZpZ2F0aW9uIHVsIGEgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgLmFjY291bnQtbmF2aWdhdGlvbiB1bCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDsgfVxuXG4uZGFzaGJvYXJkIC5tZXNzYWdlcyB7XG4gIG1hcmdpbjogMCAwIDAuOTM3NXJlbTsgfVxuXG4uZGFzaGJvYXJkIC53ZWxjb21lLW1zZyB7XG4gIG1hcmdpbjogMCAwIDMuMTI1cmVtOyB9XG4gIC5kYXNoYm9hcmQgLndlbGNvbWUtbXNnIC5oZWxsbyB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gIC5kYXNoYm9hcmQgLndlbGNvbWUtbXNnIHAge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uZGFzaGJvYXJkIC5jb2wyLXNldCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmRhc2hib2FyZCAuY29sMi1zZXQge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSxcbiAgLmRhc2hib2FyZCAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSxcbiAgICAgIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMiB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAgIC5kYXNoYm9hcmQgLmNvbDItc2V0IC5jb2wtMiB7XG4gICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmRhc2hib2FyZCBoMiB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmRhc2hib2FyZCBoMyB7XG4gIHBhZGRpbmc6IDAgMCAwLjYyNXJlbSAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5kYXNoYm9hcmQgLmJveC1yZWNlbnQge1xuICBtYXJnaW46IDMuMTI1cmVtIDA7IH1cbiAgLmRhc2hib2FyZCAuYm94LXJlY2VudCAuYm94LWhlYWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDAgMC45Mzc1cmVtOyB9XG4gICAgLmRhc2hib2FyZCAuYm94LXJlY2VudCAuYm94LWhlYWQgLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMCAwIDAuOTM3NXJlbTsgfVxuICAuZGFzaGJvYXJkIC5ib3gtcmVjZW50IC5kYXRhLXRhYmxlIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjY2NjYztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjY2NjYztcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwOyB9XG5cbi5kYXNoYm9hcmQgLmRhc2hib2FyZC1hZGRyZXNzZXMge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5kYXNoYm9hcmQgLmRhc2hib2FyZC1hZGRyZXNzZXMge1xuICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuICAgICAgLmRhc2hib2FyZCAuZGFzaGJvYXJkLWFkZHJlc3NlcyBoMiB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDAgMS44NzVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuICAuZGFzaGJvYXJkIC5kYXNoYm9hcmQtYWRkcmVzc2VzIGFkZHJlc3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmRhc2hib2FyZCAuZGFzaGJvYXJkLWFkZHJlc3NlcyAuY29sLTEsXG4gICAgLmRhc2hib2FyZCAuZGFzaGJvYXJkLWFkZHJlc3NlcyAuY29sLTIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5kYXNoYm9hcmQgLmluZm8tYm94IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmZvcmdvdC1wYXNzd29yZCB7XG4gIG1heC13aWR0aDogNTAwcHg7IH1cblxuLmFjY291bnQtY3JlYXRlIC5jb2wyLXNldCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmFjY291bnQtY3JlYXRlIC5jb2wyLXNldCB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLmFjY291bnQtY3JlYXRlIC5jb2wtMSxcbi5hY2NvdW50LWNyZWF0ZSAuY29sLTIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5hY2NvdW50LWNyZWF0ZSAuY29sLTEsXG4gICAgLmFjY291bnQtY3JlYXRlIC5jb2wtMiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtO1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5hY2NvdW50LWNyZWF0ZSAuY29sLTIge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5hY2NvdW50LWNyZWF0ZSAuY29sLTIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5hY2NvdW50LWNyZWF0ZSAuY29sLTEge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG4ucmVzZXQtZm9yZ290LXBhc3N3b3JkIC5jb2wyLXNldCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5yZXNldC1mb3Jnb3QtcGFzc3dvcmQgLmNvbDItc2V0IC5jb2wtMSxcbiAgLnJlc2V0LWZvcmdvdC1wYXNzd29yZCAuY29sMi1zZXQgLmNvbC0yIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAucmVzZXQtZm9yZ290LXBhc3N3b3JkIC5jb2wyLXNldCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAucmVzZXQtZm9yZ290LXBhc3N3b3JkIC5jb2wtMSxcbiAgLnJlc2V0LWZvcmdvdC1wYXNzd29yZCAuY29sLTIge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnJlc2V0LWZvcmdvdC1wYXNzd29yZCAuY29sLTEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuICAucmVzZXQtZm9yZ290LXBhc3N3b3JkIC5jb2wtMiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG5ib2R5LnNhbGVzLW9yZGVyLWhpc3RvcnkgLnBhZ2VyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2NjY2M7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwIDA7XG4gIG1hcmdpbjogMS44NzVyZW0gMCAwOyB9XG4gIGJvZHkuc2FsZXMtb3JkZXItaGlzdG9yeSAucGFnZXIgcC5hbW91bnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgYm9keS5zYWxlcy1vcmRlci1oaXN0b3J5IC5wYWdlciAubGltaXRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgYm9keS5zYWxlcy1vcmRlci1oaXN0b3J5IC5wYWdlciAubGltaXRlciBsYWJlbCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICBib2R5LnNhbGVzLW9yZGVyLWhpc3RvcnkgLnBhZ2VyIC5saW1pdGVyIHNlbGVjdCB7XG4gICAgICBtYXJnaW46IDAgMC45Mzc1cmVtOyB9XG5cbiNteS1vcmRlcnMtdGFibGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAjbXktb3JkZXJzLXRhYmxlIHRoIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbTsgfVxuICAjbXktb3JkZXJzLXRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAjbXktb3JkZXJzLXRhYmxlIGVtIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3VudC1jb250ZW50IC50aXRsZS1idXR0b25zIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuYWNjb3VudC1jb250ZW50IC50aXRsZS1idXR0b25zIGgxIHtcbiAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07IH1cbiAgLmFjY291bnQtY29udGVudCAudGl0bGUtYnV0dG9ucyBhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm9yZGVyLWluZm8tYm94LCAub3JkZXItZGV0YWlscyB7XG4gIHBhZGRpbmc6IDAgMCAwLjkzNzVyZW07IH1cbiAgLm9yZGVyLWluZm8tYm94IGgyLCAub3JkZXItZGV0YWlscyBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW46IDAuOTM3NXJlbSAwOyB9XG5cbmJvZHkubmV3c2xldHRlci1tYW5hZ2UtaW5kZXggLm15LWFjY291bnQgPiBmb3JtIHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjg3NXJlbSAwOyB9XG5cbi5hY2NvdW50LWxvZ2luIC5jb2wyLXNldCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gICAgLmFjY291bnQtbG9naW4gLmNvbDItc2V0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYWNjb3VudC1sb2dpbiAuY29sLTEge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlZWU7IH0gfVxuXG4uYWNjb3VudC1sb2dpbiAuY29sLTEsXG4uYWNjb3VudC1sb2dpbiAuY29sLTIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5hY2NvdW50LWxvZ2luIC5jb2wtMSxcbiAgICAuYWNjb3VudC1sb2dpbiAuY29sLTIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzLjEyNXJlbTtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4uYWNjb3VudC1sb2dpbiAuY29sLTIge1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkge1xuICAgIC5hY2NvdW50LWxvZ2luIC5jb2wtMiB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmFjY291bnQtbG9naW4gLmNvbC0xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMS44NzVyZW07IH0gfVxuXG5hLnF1aWNrLWxpbmsge1xuICBwYWRkaW5nOiA4cHggMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMwMTAxMDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgYS5xdWljay1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzM0MzQzNDsgfVxuXG4uY2F0ZWdvcnktcXVpY2stbGlua3Mge1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG4gIC5jYXRlZ29yeS1xdWljay1saW5rcyAucXVpY2stbGluayB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTWlzbyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzLzMyREM3M18wXzAuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzLzMyREM3M18wXzAuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvMzJEQzczXzBfMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgIHVybCgnLi4vZm9udHMvMzJEQzczXzBfMC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgICB1cmwoJy4uL2ZvbnRzLzMyREM3M18wXzAudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIm5pcGZhYlwiO1xuICBzcmM6dXJsKFwiLi4vZm9udHMvbmlwZmFiLmVvdFwiKTtcbiAgc3JjOnVybChcIi4uL2ZvbnRzL25pcGZhYi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgIHVybChcIi4uL2ZvbnRzL25pcGZhYi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4gICAgdXJsKFwiLi4vZm9udHMvbmlwZmFiLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICB1cmwoXCIuLi9mb250cy9uaXBmYWIuc3ZnI25pcGZhYlwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxufVxuXG5bZGF0YS1pY29uXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJuaXBmYWJcIiAhaW1wb3J0YW50O1xuICBjb250ZW50OiBhdHRyKGRhdGEtaWNvbik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbltjbGFzc149XCJpY24tXCJdOmJlZm9yZSxcbltjbGFzcyo9XCIgaWNuLVwiXTpiZWZvcmUge1xuICBmb250LWZhbWlseTogXCJuaXBmYWJcIiAhaW1wb3J0YW50O1xuICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNuLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MVwiO1xufVxuLmljbi10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2MlwiO1xufVxuLmljbi1mYWNlYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNjNcIjtcbn1cbi5pY24tcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NFwiO1xufVxuLmljbi15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2NVwiO1xufVxuLmljbi1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY2XCI7XG59XG4uaWNuLWxvZ291dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmFcIjtcbn1cbi5pY24tZW1haWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZlXCI7XG59XG4uaWNuLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDZmXCI7XG59XG4uaWNuLW1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDczXCI7XG59XG4uaWNuLXZpc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc0XCI7XG59XG4uaWNuLWFtZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc1XCI7XG59XG4uaWNuLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw3NlwiO1xufVxuLmljbi1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDc4XCI7XG59XG4uaWNuLWJhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNzlcIjtcbn1cbi5pY24tdmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcN2FcIjtcbn1cbi5pY24tdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNDFcIjtcbn1cbi5pY24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY3XCI7XG59XG4uaWNuLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY4XCI7XG59XG4uaWNuLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDY5XCI7XG59XG4uaWNuLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFw2YlwiO1xufVxuLmljbi1zYWQtb3V0bGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcNmNcIjtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE5vdGlmaWNhdGlvbnMgYW5kIEhvdmVyIFN0YXRlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG46Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbi5ob3Zlci1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLnRvdWNoLWFjdGlvbiAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuaHIge1xuICAgIGJvcmRlcjogMDtcbiAgICBoZWlnaHQ6IDFweDtcbn1cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZsb2F0cyAmIENsZWFyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY2Ige1xuICAgIGNsZWFyOiBib3RoO1xufVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGlkZGVuL1Zpc2libGUgSGVscGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZGItaW1wb3J0YW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnZpc2libGUtcGhvbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnZpc2libGUtdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5oaWRkZW4tZGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udmlzaWJsZS1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5NzlweCkge1xuICAgIC5oaWRkZW4tZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudmlzaWJsZS1kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC52aXNpYmxlLXRhYmxldCB7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGlkZGVuLXRhYmxldCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuaGlkZGVuLWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnZpc2libGUtZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudmlzaWJsZS1waG9uZSB7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGlkZGVuLXBob25lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnZpc2libGUtcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbkBtZWRpYSBwcmludCB7XG4gICAgLnZpc2libGUtcHJpbnQge1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhpZGRlbi1wcmludCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59IiwiYm9keSxcbmh0bWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OjE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6JGJsYWNrO1xuICAgIEBpbmNsdWRlIGYtY29uZDtcbiAgICBjb2xvcjogJGRhcms7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEgKCR0YWJsZXQpe1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxufVxuYm9keSB7XG4gICAgbWluLXdpZHRoOiAzMjBweDtcbn1cbnN0cm9uZywgYiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5iYWNrZHJvcC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICB6LWluZGV4OiAkei1iYWNrZHJvcDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlLW91dDtcbn1cbiVhY3RpdmUtYmFja2Ryb3Age1xuICAgIC5iYWNrZHJvcC1vdmVybGF5IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB9XG4gICAgZGl2Lm1haW4ge1xuICAgICAgICBmaWx0ZXI6IHNhdHVyYXRlKDAuNik7XG4gICAgfVxufVxuXG4vLyBTZWxlY3Rpb24gc3R5bGluZ1xuQG1peGluIHNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG4qOjotbW96LXNlbGVjdGlvbiB7IFxuICAgIEBpbmNsdWRlIHNlbGVjdGlvbjtcbn1cbio6OnNlbGVjdGlvbiB7IFxuICAgIEBpbmNsdWRlIHNlbGVjdGlvbjtcbn1cblxuKiB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG59XG5cbi8vIE5vIGJyZWFrc1xuc3Bhbi5ub2JyIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufSIsIlxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEZXNpZ24gU3BlY2lmaWMgQ29sb3Vyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCbGFjaywgd2hpdGUgZ3JleVxuJGJsYWNrOiAjMDAwO1xuJGRhcms6ICMxYTFhMWE7XG4kd2hpdGU6ICNmZmY7XG4kZ3JleTogI2IyYjJiMjtcbiRncmV5LWRhcms6IGxpZ2h0ZW4oJGJsYWNrLCA0MCUpO1xuJGdyZXktbGlnaHQ6ICNlZWVlZWU7XG4kZ3JleS12LWxpZ2h0OiAjZjJmMmYyO1xuJHRyYW5zOiB0cmFuc3BhcmVudDtcblxuLy8gQ29sb3JzXG4kcmVkOiAjYjMwYzBjO1xuJHJlZC1saWdodDogI2ZmNTI1NTtcbiRvcmFuZ2U6ICNmNTRhMzY7XG4kZ3JlZW46ICMzZGIzMGM7XG4kYmx1ZTogIzE0NTc2NztcblxuLy8gQm9yZGVyIGNvbG9yc1xuJGJvcmRlci1ncmV5OiAjY2NjY2NjO1xuJGJvcmRlci1ncmV5LWxpZ2h0OiAjZDlkOWQ5O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb250IFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbiRmLWJyYW5kOiAnUm9ib3RvIENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7XG5cbiRmLW1pc286IFwiTWlzb1wiLHNhbnMtc2VyaWY7XG5cblxuQG1peGluIGYtbm9ybWFsIHtcbiAgICBmb250LWZhbWlseTogJ1JvYm90bycsIHNhbnMtc2VyaWY7XG59XG5AbWl4aW4gZi1jb25kIHtcbiAgICBmb250LWZhbWlseTogJGYtYnJhbmQ7XG59XG5AbWl4aW4gZi1jb25kLW1lZGl1bSB7XG4gICAgZm9udC1mYW1pbHk6ICRmLWJyYW5kO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5AbWl4aW4gZi1jb25kLWJvbGQge1xuICAgIGZvbnQtZmFtaWx5OiAkZi1icmFuZDtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4vLyBJY29uIGZvbnQgZnJvbSBmb250YXN0aWMubWVcbkBtaXhpbiBpY29uIHtcbiAgICBmb250LWZhbWlseTogXCJuaXBmYWJcIiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCBzaXplc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZi1zaXplLXh4bDogcmVtKDMxKTtcbiRmLXNpemUteGw6IHJlbSgyNCk7XG4kZi1zaXplLTIzOiByZW0oMjMpO1xuJGYtc2l6ZS0yMjogcmVtKDIyKTtcbiRmLXNpemUtMjE6IHJlbSgyMSk7XG4kZi1zaXplLWw6IHJlbSgyMCk7XG4kZi1zaXplLW0yOiByZW0oMTgpO1xuJGYtc2l6ZS0xNzogcmVtKDE3KTtcbiRmLXNpemUtbTogcmVtKDE2KTtcbiRmLXNpemUtczogcmVtKDE1KTtcbiRmLXNpemUtMTQ6IHJlbSgxNCk7XG4kZi1zaXplLXhzOiByZW0oMTIpO1xuJGYtc2l6ZS14eHM6IHJlbSgxMSk7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJvcmRlciB3aWR0aHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJvcmRlci10aGluOiAxcHggc29saWQ7XG4kYm9yZGVyLW1lZGl1bTogMnB4IHNvbGlkO1xuJGJvcmRlci10aGljazogNnB4IHNvbGlkO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTcGFjZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzcGFjZXIteGw6IHJlbSg1MCk7XG4kc3BhY2VyLWw6IHJlbSgzMCk7XG4kc3BhY2VyLW0yOiByZW0oMjApO1xuJHNwYWNlci1tOiByZW0oMTUpO1xuJHNwYWNlci1zOiByZW0oMTApO1xuJHNwYWNlci1zMjogcmVtKDUpO1xuJHNwYWNlci1zMzogcmVtKDMpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBaLUluZGV4IGxheWVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kei1oZWFkZXItd3JhcDogICAgIDEwMDAwMDtcbiR6LWhlYWRlci1jb250ZW50OiAgMTAwMDtcbiR6LWNvb2tpZS1tc2c6ICAgICAgMTAwMDtcbiR6LWJhY2tkcm9wOiAgICAgICAgMTIwMDtcbiR6LXNlYXJjaC1wYW5lbDogICAgOTAwO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUcmFuc2l0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdC1saW5rLXRpbWU6IDAuMnM7XG4kdC1saW5rLWVhc2U6IGVhc2Utb3V0O1xuXG5AbWl4aW4gdC1saW5rIHtcbiAgICB0cmFuc2l0aW9uOiAkdC1saW5rLXRpbWUgY29sb3IgJHQtbGluay1lYXNlLFxuICAgICAgICAgICAgICAgICR0LWxpbmstdGltZSBiYWNrZ3JvdW5kLWNvbG9yICR0LWxpbmstZWFzZSxcbiAgICAgICAgICAgICAgICAkdC1saW5rLXRpbWUgYm9yZGVyLWNvbG9yICR0LWxpbmstZWFzZSxcbiAgICAgICAgICAgICAgICAwLjFzIHRyYW5zZm9ybSAkdC1saW5rLWVhc2U7XG59XG5cbkBtaXhpbiB0LWJ1dHRvbiB7XG4gICAgdHJhbnNpdGlvbjogJHQtbGluay10aW1lIGNvbG9yICR0LWxpbmstZWFzZSxcbiAgICAgICAgICAgICAgICAkdC1saW5rLXRpbWUgYmFja2dyb3VuZC1jb2xvciAkdC1saW5rLWVhc2UsXG4gICAgICAgICAgICAgICAgJHQtbGluay10aW1lIGJvcmRlci1jb2xvciAkdC1saW5rLWVhc2UsXG4gICAgICAgICAgICAgICAgMC4xcyB0cmFuc2Zvcm0gJHQtbGluay1lYXNlO1xufVxuXG4kZm9udC1zaXplczogKFxuICBcInh4c1wiOiAoXG4gICAgXCJtb2JpbGVcIjogcmVtKDgpLFxuICAgIFwiZGVza3RvcFwiOiByZW0oOClcbiAgKSxcbiAgXCJ4c1wiOiAoXG4gICAgXCJtb2JpbGVcIjogcmVtKDEwKSxcbiAgICBcImRlc2t0b3BcIjogcmVtKDEwKVxuICApLFxuICBcInNcIjogKFxuICAgIFwibW9iaWxlXCI6IHJlbSgxMiksXG4gICAgXCJkZXNrdG9wXCI6IHJlbSgxMilcbiAgKSxcbiAgXCJtXCI6IChcbiAgICBcIm1vYmlsZVwiOiByZW0oMTQpLFxuICAgIFwiZGVza3RvcFwiOiByZW0oMTYpXG4gICksXG4gIFwibFwiOiAoXG4gICAgXCJtb2JpbGVcIjogcmVtKDE2KSxcbiAgICBcImRlc2t0b3BcIjogcmVtKDE4KVxuICApLFxuICBcInhsXCI6IChcbiAgICBcIm1vYmlsZVwiOiByZW0oMTgpLFxuICAgIFwiZGVza3RvcFwiOiByZW0oMjQpXG4gICksXG4gIFwieHhsXCI6IChcbiAgICBcIm1vYmlsZVwiOiByZW0oMjQpLFxuICAgIFwiZGVza3RvcFwiOiByZW0oMzYpXG4gICksXG4gIFwieHh4bFwiOiAoXG4gICAgXCJtb2JpbGVcIjogcmVtKDM2KSxcbiAgICBcImRlc2t0b3BcIjogcmVtKDQyKVxuICApXG4pO1xuXG4kc2l6ZXM6IChcbiAgXCJub25lXCI6IChcbiAgICBcIm1vYmlsZVwiOiAwLFxuICAgIFwiZGVza3RvcFwiOiAwXG4gICksXG4gIFwieHh4c1wiOiAoXG4gICAgXCJtb2JpbGVcIjogJGd1dHRlciowLjIsXG4gICAgXCJkZXNrdG9wXCI6ICRndXR0ZXIqMC4yXG4gICksXG4gIFwieHhzXCI6IChcbiAgICBcIm1vYmlsZVwiOiAkZ3V0dGVyKjAuMixcbiAgICBcImRlc2t0b3BcIjogJGd1dHRlciowLjRcbiAgKSxcbiAgXCJ4c1wiOiAoXG4gICAgXCJtb2JpbGVcIjogJGd1dHRlciowLjQsXG4gICAgXCJkZXNrdG9wXCI6ICRndXR0ZXIqMC42XG4gICksXG4gIFwic1wiOiAoXG4gICAgXCJtb2JpbGVcIjogJGd1dHRlciowLjYsXG4gICAgXCJkZXNrdG9wXCI6ICRndXR0ZXIqMC44XG4gICksXG4gIFwibVwiOiAoXG4gICAgXCJtb2JpbGVcIjogJGd1dHRlcixcbiAgICBcImRlc2t0b3BcIjogJGd1dHRlcioxLjJcbiAgKSxcbiAgXCJsXCI6IChcbiAgICBcIm1vYmlsZVwiOiAkZ3V0dGVyKjEuMixcbiAgICBcImRlc2t0b3BcIjogJGd1dHRlcioxLjRcbiAgKSxcbiAgXCJ4bFwiOiAoXG4gICAgXCJtb2JpbGVcIjogJGd1dHRlcioxLjQsXG4gICAgXCJkZXNrdG9wXCI6ICRndXR0ZXIqMS44XG4gICksXG4gIFwieHhsXCI6IChcbiAgICBcIm1vYmlsZVwiOiAkZ3V0dGVyKjEuOCxcbiAgICBcImRlc2t0b3BcIjogJGd1dHRlcioyXG4gICksXG4gIFwieHh4bFwiOiAoXG4gICAgXCJtb2JpbGVcIjogJGd1dHRlcioyLFxuICAgIFwiZGVza3RvcFwiOiAkZ3V0dGVyKjIuMlxuICApLFxuKTtcblxuJHNpZGVzOiAoXG4gIFwidG9wXCI6IChcInRvcFwiKSxcbiAgXCJyaWdodFwiOiAoXCJyaWdodFwiKSxcbiAgXCJib3R0b21cIjogKFwiYm90dG9tXCIpLFxuICBcImxlZnRcIjogKFwibGVmdFwiKSxcbiAgXCJob3Jpem9udGFsXCI6IChcImxlZnRcIiwgXCJyaWdodFwiKSxcbiAgXCJ2ZXJpdGNhbFwiOiAoXCJ0b3BcIiwgXCJib3R0b21cIiksXG4pO1xuXG4kcGFkZGluZ3M6ICRzaXplcztcbiRtYXJnaW5zOiBtYXAtbWVyZ2UoJHNpemVzLCAoXG4gIFwiYXV0b1wiOiAoXCJtb2JpbGVcIjogYXV0bywgXCJkZXNrdG9wXCI6IGF1dG8pXG4gIClcbik7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gT3V0cHV0cyBhIG1lZGlhLXF1ZXJ5IGJsb2NrIHdpdGggYW4gb3B0aW9uYWwgZ3JpZCBjb250ZXh0ICh0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZCkuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxuLy8vICAgQSBsaXN0IG9mIG1lZGlhIHF1ZXJ5IGZlYXR1cmVzIGFuZCB2YWx1ZXMsIHdoZXJlIGVhY2ggYCRmZWF0dXJlYCBzaG91bGQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYCR2YWx1ZWAuXG4vLy8gICBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIGAkdmFsdWVgIGluIGAkcXVlcnlgLCBgJGRlZmF1bHQtZmVhdHVyZWAgaXMgZ29pbmcgdG8gYmUgdXNlZC5cbi8vL1xuLy8vICAgVGhlIG51bWJlciBvZiB0b3RhbCBjb2x1bW5zIGluIHRoZSBncmlkIGNhbiBiZSBzZXQgYnkgcGFzc2luZyBgJGNvbHVtbnNgIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKG92ZXJyaWRlcyBgJHRvdGFsLWNvbHVtbnNgKS5cbi8vL1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgWyRncmlkLWNvbHVtbnNdXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKDc2OXB4KSB7XG4vLy8gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbWVkaWEobWluLXdpZHRoIDMyMHB4IG1heC13aWR0aCA0ODBweCwgNikge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG5cbkBtaXhpbiBtZWRpYSgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkbG9vcC10bzogbGVuZ3RoKCRxdWVyeSk7XG4gICAgJG1lZGlhLXF1ZXJ5OiBcInNjcmVlbiBhbmQgXCI7XG4gICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG5cbiAgICBAaWYgaXMtbm90KGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpKSB7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAkbG9vcC10bykgIWdsb2JhbDtcbiAgICAgICRsb29wLXRvOiAkbG9vcC10byAtIDE7XG4gICAgfVxuXG4gICAgJGk6IDE7XG4gICAgQHdoaWxlICRpIDw9ICRsb29wLXRvIHtcbiAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCIoXCIgKyBudGgoJHF1ZXJ5LCAkaSkgKyBcIjogXCIgKyBudGgoJHF1ZXJ5LCAkaSArIDEpICsgXCIpIFwiO1xuXG4gICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xuICAgICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiYW5kIFwiO1xuICAgICAgfVxuXG4gICAgICAkaTogJGkgKyAyO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpYS1xdWVyeX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn1cbiIsbnVsbCwiLmhlYWRlci13cmFwIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDowO1xuICAgIHJpZ2h0OjA7XG4gICAgdG9wOjA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6ICR6LWhlYWRlci13cmFwO1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgIH1cblxuICAgIC5wcm9tby1iYXItdG9wLS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICBjb2xvcjogYmxhY2s7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhZ2Uge1xuICAgIHBhZGRpbmctdG9wOiA1M3B4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCl7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1OHB4O1xuICAgIH1cblxuICAgICYuaGFzLS1wcm9tb2JhciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA5M3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpe1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDk4cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFdlbGNvbWUgbWVzc2FnZSB6LWluZGV4IGZpeFxuLmZyX3BvcG92ZXJfMSB7XG4gICAgei1pbmRleDogJHotaGVhZGVyLXdyYXArMTsgLy8gQWx3YXlzIHNpdCBvbiB0b3Agb2YgdGhlIHBhZ2Vcbn1cblxuLmhlYWRlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgQGluY2x1ZGUgZi1jb25kLW1lZGl1bTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogJHotaGVhZGVyLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgID4gLndyYXAge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgLmxvZ28ge1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLW0gMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Upe1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICB9XG4gICAgICAgICoge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5hdmlnYXRpb24ge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiA1OHB4O1xuICAgICAgICB9XG4gICAgICAgIC5uYXYtY29udGFpbmVyLCAubWItdG9wLW1lbnUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5xdWljay1hY2Nlc3Mge1xuICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgQGluY2x1ZGUgdWwtbGlzdC1pbmxpbmU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwICRzcGFjZXItcztcbiAgICAgICAgICAgICAgICA+IGEsID4gZGl2ID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZSl7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGkuc3RvcmUtc3dpdGNoZXIsIGxpLnNlYXJjaCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnF1aWNrLWFjY2VzcywgLm1vYmlsZS1pY29ucyB7XG4gICAgICAgIC5pY24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZSl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmLWNvbmQ7XG4gICAgfVxuICAgIC8vIFdpZHRocyBvZiBzaWRlIGljb25zXG4gICAgLnF1aWNrLWFjY2VzcywgLm1vYmlsZS1pY29ucyB7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Upe1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1vYmlsZS1pY29ucyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXJnaW46IC03cHggMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAxMHB4OyAvLyBGYXQgZmluZ2VyIGZyaWVuZGx5XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFF1aWNrIGFjY2VzcyB0b29sdGlwXG4udG9wLXRpcC5qQm94LVRvb2x0aXAge1xuICAgIC5qQm94LXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZi1jb25kLW1lZGl1bTtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLXMgJHNwYWNlci1tO1xuICAgIH1cbiAgICAuakJveC1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmpCb3gtcG9pbnRlci10b3Age1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcm9tbyBtZXNzYWdlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uc2VhcmNoLXBhbmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJHotc2VhcmNoLXBhbmVsO1xuICAgIHRvcDoxMDAlO1xuICAgIGxlZnQ6MDtcbiAgICByaWdodDowO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAycHggNXB4IDJweCByZ2JhKDAsMCwwLDAuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtMjAwcHgpO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBsaW5lYXI7XG5cbiAgICAvLyBBY3RpdmUgc2VhcmNoIHBhbmVsXG4gICAgYm9keS5hY3RpdmUtc2VhcmNoICYge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIH1cbiAgICAud3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcig5NjBweCk7XG4gICAgfVxuICAgIC5jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6JHNwYWNlci1tMjtcbiAgICAgICAgdG9wOjUwJTtcbiAgICAgICAgbWFyZ2luOiAtMTBweCAwIDA7XG4gICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLy8gU2VhcmNoIGZvcm1cbiAgICBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZXItcyAwO1xuXG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmlucHV0LXRleHQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1sO1xuICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgIEBpbmNsdWRlIGYtY29uZC1tZWRpdW07XG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCM2NjYpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgICBAZXh0ZW5kIC5wcmltYXJ5O1xuICAgICAgICBAZXh0ZW5kIC5idXR0b24ubWVkaXVtO1xuICAgIH1cbn1cbi8vIEFjdGl2ZSBib2R5IHN0YXRlXG5ib2R5LmFjdGl2ZS1zZWFyY2gge1xuICAgIEBleHRlbmQgJWFjdGl2ZS1iYWNrZHJvcDsgLy8gRW5hYmxlIGdyZXlkIG91dCBiYWNrZ3JvdW5kXG4gICAgYVtocmVmPVwiI3NlYXJjaFwiXSB7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFByb21vIG1lc3NhZ2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5wcm9tby1tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDVweCAwIHJnYmEoNSwgNSwgNSwgMC4yNSk7XG5cbiAgICBwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAud3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IC0xNnB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogN3B4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pbmFjdGl2ZSB7XG4gICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQWpheCBDYXJ0IERyb3Bkb3duXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLmJhZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmljb24tYmFnIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMjZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtaW5kZW50OiAxcHg7IC8vIE1ha2UgdXAgZm9yIG9mIGNlbnRlciBiYWNrZ3JvdW5kXG4gICAgfVxuICAgIC5jbG9zZSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgaS5pY24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsb2NrLWNhcnQge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTk5OTk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIHRvcDogNThweDtcbiAgICAgICAgICAgIHdpZHRoOiAzNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LXRvdGFsLXByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgcGFkZGluZzogMCByZW0oMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNoZWNrb3V0LXR5cGVzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Q7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbSgyMCkgcmVtKDE1KTtcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmaWxsLXBhcmVudDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAuYnV0dG9uLm1lZGl1bTtcbiAgICAgICAgICAgICAgICAmLmNoZWNrb3V0LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLnByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRzcGFjZXItcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5jb250aW51ZS1zaG9wcGluZy1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5zZWNvbmRhcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICAgIC5taW5pLXByb2R1Y3RzLWxpc3Qge1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlci1tIDAgMDtcbiAgICAgICAgfVxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbSgyMCkgcmVtKDEwKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJGJvcmRlci10aGluICRncmV5O1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAkc3BhY2VyLW0yO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA1NXB4O1xuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnByb2R1Y3Qtc2l6ZS1hdHRyaWJ1dGUsIC5pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiRncmV5LWRhcms7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBhIHtcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJlbW92ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhpZGRlbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2FydC1xdHktY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEuYnRuLXF0eSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJGJvcmRlci10aGluICNlZWU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5O1xuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEuYnRuLXF0eS1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6ICRib3JkZXItdGhpbiAjY2NjO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhLmJ0bi1xdHktZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1pbmktcHJvZHVjdHMtbGlzdCB7XG4gICAgaGVpZ2h0OiA2MHZoO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAubW9yZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudXBkYXRlLXF0eS1vdXRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6MTAwJTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW46IDAgJHNwYWNlci1tMiAwIDA7XG5cbiAgICAgICAgYnV0dG9uLmJ0bi11cGRhdGUge1xuICAgICAgICAgICAgcGFkZGluZzogN3B4IDdweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5taW5pY2FydC1ib3R0b20ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIHJpZ2h0OjA7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBoZWlnaHQ6IHJlbSgyKTtcbiAgICB9XG59XG5cbi8vIFNpZGViYXIgYW5pbWF0aW9uXG4jaGVhZGVyLWNhcnQtdHJpZ2dlciB7XG5cbn1cblxuI2hlYWRlci1jYXJ0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDAlLDApO1xuICAgIHRyYW5zaXRpb246IDAuM3MgYWxsIGVhc2Utb3V0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ0NSwgMC4wNTAsIDAuNTUwLCAwLjk1MCk7XG4gICAgLW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiAgICAtby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbn1cblxuLy8gQWN0aXZhdGVkIHNob3BwaW5nIGJhZyBzaWRlYmFyXG5ib2R5LmFjdGl2ZS1iYWcge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAjaGVhZGVyLWNhcnQtdHJpZ2dlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgI2hlYWRlci1jYXJ0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTtcbiAgICB9XG5cbiAgICBAZXh0ZW5kICVhY3RpdmUtYmFja2Ryb3A7XG59XG4iLCIuby1ncmlkIHtcbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyO1xufVxuXG5AZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAuby1ncmlkX19jb2x1bW4tLSN7JGl9IHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoJGkpO1xuXG4gICAgJi1tb2JpbGUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtZGVza3RvcCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgYSBvdXRlciBjb250YWluZXIgYnkgY2VudGVyaW5nIGl0IGluIHRoZSB2aWV3cG9ydCwgY2xlYXJpbmcgaXRzIGZsb2F0cywgYW5kIHNldHRpbmcgaXRzIGBtYXgtd2lkdGhgLlxuLy8vIEFsdGhvdWdoIG9wdGlvbmFsLCB1c2luZyBgb3V0ZXItY29udGFpbmVyYCBpcyByZWNvbW1lbmRlZC4gVGhlIG1peGluIGNhbiBiZSBjYWxsZWQgb24gbW9yZSB0aGFuIG9uZSBlbGVtZW50IHBlciBwYWdlLCBhcyBsb25nIGFzIHRoZXkgYXJlIG5vdCBuZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciBbdW5pdF19ICRsb2NhbC1tYXgtd2lkdGggWyRtYXgtd2lkdGhdXG4vLy8gICBNYXggd2lkdGggdG8gYmUgYXBwbGllZCB0byB0aGUgZWxlbWVudC4gQ2FuIGJlIGEgcGVyY2VudGFnZSBvciBhIG1lYXN1cmUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cblxuQG1peGluIG91dGVyLWNvbnRhaW5lcigkbG9jYWwtbWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRsb2NhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIiRncmlkLWNvbHVtbnM6IDEyO1xuJG1heC13aWR0aDogMTQ0MHB4O1xuJHZpc3VhbC1ncmlkOiBmYWxzZTtcblxuJGNvbnRhaW5lci1wYWQ6IDE1cHg7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBQcm92aWRlcyBhbiBlYXN5IHdheSB0byBpbmNsdWRlIGEgY2xlYXJmaXggZm9yIGNvbnRhaW5pbmcgZmxvYXRzLlxuLy8vXG4vLy8gQGxpbmsgaHR0cDovL2dvby5nbC95UDVoaVpcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3Ncbi8vLyAgIC5lbGVtZW50OjphZnRlciB7XG4vLy8gICAgIGNsZWFyOiBib3RoO1xuLy8vICAgICBjb250ZW50OiBcIlwiO1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgIH1cblxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW4gZWxlbWVudCBzaG91bGQgc3Bhbi4gSWYgdGhlIHNlbGVjdG9yIGlzIG5lc3RlZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgaXRzIHBhcmVudCBlbGVtZW50IHNob3VsZCBiZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQgYXMgd2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNwYW5cbi8vLyAgIEEgbGlzdCBjb250YWluaW5nIGAkY29sdW1uc2AsIHRoZSB1bml0bGVzcyBudW1iZXIgb2YgY29sdW1ucyB0aGUgZWxlbWVudCBzcGFucyAocmVxdWlyZWQpLCBhbmQgYCRjb250YWluZXItY29sdW1uc2AsIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGUgcGFyZW50IGVsZW1lbnQgc3BhbnMgKG9wdGlvbmFsKS5cbi8vL1xuLy8vICAgSWYgb25seSBvbmUgdmFsdWUgaXMgcGFzc2VkLCBpdCBpcyBhc3N1bWVkIHRoYXQgaXQncyBgJGNvbHVtbnNgIGFuZCB0aGF0IHRoYXQgYCRjb250YWluZXItY29sdW1uc2AgaXMgZXF1YWwgdG8gYCRncmlkLWNvbHVtbnNgLCB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4vLy9cbi8vLyAgIFRoZSB2YWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCB3aXRoIGFueSBzdHJpbmcgc3VjaCBhcyBgb2ZgLCBgL2AsIGV0Yy5cbi8vL1xuLy8vICAgYCRjb2x1bW5zYCBhbHNvIGFjY2VwdHMgZGVjaW1hbHMgZm9yIHdoZW4gaXQncyBuZWNlc3NhcnkgdG8gYnJlYWsgb3V0IG9mIHRoZSBzdGFuZGFyZCBncmlkLiBFLmcuIFBhc3NpbmcgYDIuNGAgaW4gYSBzdGFuZGFyZCAxMiBjb2x1bW4gZ3JpZCB3aWxsIGRpdmlkZSB0aGUgcm93IGludG8gNSBjb2x1bW5zLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtibG9ja11cbi8vLyAgIFNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQuIEJ5IGRlZmF1bHQgaXQgc2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCB0byBgYmxvY2tgLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYGJsb2NrLWNvbGxhcHNlYCwgaXQgYWxzbyByZW1vdmVzIHRoZSBtYXJnaW4gZ3V0dGVyIGJ5IGFkZGluZyBpdCB0byB0aGUgZWxlbWVudCB3aWR0aC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGB0YWJsZWAsIGl0IHNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgdG8gYHRhYmxlLWNlbGxgIGFuZCBjYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCB3aXRob3V0IHRha2luZyBndXR0ZXJzIGludG8gY29uc2lkZXJhdGlvbi4gVGhlIHJlc3VsdCBkb2VzIG5vdCBhbGlnbiB3aXRoIHRoZSBibG9jay1iYXNlZCBncmlkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vL1xuLy8vICAgIC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMiBvZiA2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgIHdpZHRoOiAzMC4xMTM4OSU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuXG5AbWl4aW4gc3Bhbi1jb2x1bW5zKCRzcGFuOiAkY29sdW1ucyBvZiAkY29udGFpbmVyLWNvbHVtbnMsICRkaXNwbGF5OiBibG9jaykge1xuICAkY29sdW1uczogbnRoKCRzcGFuLCAxKTtcbiAgJGNvbnRhaW5lci1jb2x1bW5zOiBjb250YWluZXItc3Bhbigkc3Bhbik7XG5cbiAgJHBhcmVudC1jb2x1bW5zOiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbnRhaW5lci1jb2x1bW5zKSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gICRkaXNwbGF5LXRhYmxlOiBpcy1kaXNwbGF5LXRhYmxlKCRjb250YWluZXItZGlzcGxheS10YWJsZSwgJGRpc3BsYXkpO1xuXG4gIEBpZiAkZGlzcGxheS10YWJsZSAge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkY29udGFpbmVyLWNvbHVtbnMpO1xuICB9IEBlbHNlIHtcbiAgICBmbG9hdDogI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTtcblxuICAgIEBpZiAkZGlzcGxheSAhPSBuby1kaXNwbGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICdjb2xsYXBzZScgYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkLiBVc2UgJ2Jsb2NrLWNvbGxhcHNlJyBpbnN0ZWFkLlwiKTtcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Ugb3IgJGRpc3BsYXkgPT0gYmxvY2stY29sbGFwc2Uge1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKSArIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB9XG5cbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWRlZmF1bHQ7XG4kZmctY29sdW1uOiAkY29sdW1uO1xuJGZnLWd1dHRlcjogJGd1dHRlcjtcbiRmZy1tYXgtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2UgIWRlZmF1bHQ7XG4kbGF5b3V0LWRpcmVjdGlvbjogTFRSICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6IGZsZXgtd2lkdGgoJGNvbHVtbnMpO1xuICAkY29udGFpbmVyLXdpZHRoOiBmbGV4LXdpZHRoKCRjb250YWluZXItY29sdW1ucyk7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zLCAkZ3V0dGVyOiAkZmctZ3V0dGVyKSB7XG4gICRjb250YWluZXItd2lkdGg6IGZsZXgtd2lkdGgoJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGZsZXgtd2lkdGgoJG4sICRjb2x1bW4td2lkdGg6ICRmZy1jb2x1bW4sICRndXR0ZXItd2lkdGg6ICRmZy1ndXR0ZXIpIHtcbiAgQHJldHVybiAkbiAqICRjb2x1bW4td2lkdGggKyAoJG4gLSAxKSAqICRndXR0ZXItd2lkdGg7XG59XG5cbkBmdW5jdGlvbiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbHVtbnMpIHtcbiAgQGlmICRjb2x1bW5zICE9ICRncmlkLWNvbHVtbnMge1xuICAgICRwYXJlbnQtY29sdW1uczogJGNvbHVtbnMgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuQGZ1bmN0aW9uIGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSkge1xuICBAcmV0dXJuICRjb250YWluZXItaXMtZGlzcGxheS10YWJsZSA9PSB0cnVlIG9yICRkaXNwbGF5ID09IHRhYmxlO1xufVxuIiwiYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIHQtbGluaztcbiAgICBjb2xvcjogJGJsYWNrO1xufVxuXG5wIHtcbiAgICBAaW5jbHVkZSBmLW5vcm1hbDtcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICBsaW5lLWhlaWdodDogMS42O1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBtYXJnaW46IDA7XG59XG5oMSB7XG5cbn1cblxuaDIge1xuXG59XG5cbmgzIHtcblxufVxuXG5hZGRyZXNzIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGZvbnQtc2l6ZXMge1xuICAgIC51LWZvbnQtc2l6ZS0tI3skbmFtZX0ge1xuICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkZm9udC1zaXplcywgJG5hbWUsIFwibW9iaWxlXCIpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1kZWVwLWdldCgkZm9udC1zaXplcywgJG5hbWUsIFwiZGVza3RvcFwiKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBVTFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AbWl4aW4gdWwtbGlzdC1pbmxpbmUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbkBtaXhpbiByZXNldC1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5AbWl4aW4gcGxhY2Vob2xkZXIoJGNvbG9yKSB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIENocm9tZS9PcGVyYS9TYWZhcmkgKi9cbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBJRSAxMCsgKi9cbiAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgfVxuICAgICY6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgIH1cbn1cblxuXG5AZnVuY3Rpb24gcmVtKCRzaXplKSB7XG4gICAgJHNpemU6ICRzaXplLzE2O1xuICAgIEByZXR1cm4gI3skc2l6ZX1yZW07XG59XG5cblxuLy8gQ29udGFpbmVyIFxuQG1peGluIGNvbnRhaW5lcigkd2lkdGg6JG1heC13aWR0aCkge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigkd2lkdGgpO1xuICAgIEBpbmNsdWRlIG1lZGlhKCR3cmFwKXtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRhaW5lci1wYWQ7XG4gICAgfVxufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExheW91dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYnJlYWRjcnVtYnMge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAkc3BhY2VyLW0yIDA7XG4gICAgQGluY2x1ZGUgZi1jb25kLW1lZGl1bTtcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiMwMDA7XG4gICAgLndyYXAge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgY29sb3I6JGdyZXk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHN0cm9uZyB7XG4gICAgICAgIEBpbmNsdWRlIGYtY29uZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gICAgLnNwYWNlciB7XG4gICAgICAgIG1hcmdpbjogMCAkc3BhY2VyLW07XG4gICAgICAgIGNvbG9yOiRncmV5O1xuICAgIH1cbn0iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFeHRlbmRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiViYXNlLWFsZXJ0IHtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiVzdWNjZXNzLWFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW47XG59XG5cbiVkYW5nZXItYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQ7XG59XG5cbiVub3RpY2UtYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xufVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSBTdHlsaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5hbGVydCB7XG4gICAgXG59XG5cbi5tZXNzYWdlcyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdDtcbiAgICBjb2xvcjokd2hpdGU7XG5cbiAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Q7XG4gICAgfVxuICAgID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLW0gJHNwYWNlci1sO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAuc3VjY2Vzcy1tc2cge1xuICAgICAgICBAZXh0ZW5kICVzdWNjZXNzLWFsZXJ0O1xuICAgIH1cblxuICAgIC5lcnJvci1tc2cge1xuICAgICAgICBAZXh0ZW5kICVkYW5nZXItYWxlcnQ7XG4gICAgfVxuXG4gICAgLm5vdGljZS1tc2cge1xuICAgICAgICBAZXh0ZW5kICVub3RpY2UtYWxlcnQ7XG4gICAgfVxufVxuXG4uYWxlcnQtc3VjY2VzcyB7XG4gICAgQGV4dGVuZCAlc3VjY2Vzcy1hbGVydDtcbn1cblxuLmFsZXJ0LWRhbmdlciB7XG4gICAgQGV4dGVuZCAlZGFuZ2VyLWFsZXJ0O1xufVxuXG4uYWxlcnQtZXJyb3Ige1xuICAgIEBleHRlbmQgJWRhbmdlci1hbGVydDtcbn1cblxuLmFsZXJ0LWluZm8ge1xuICAgIEBleHRlbmQgJW5vdGljZS1hbGVydDtcbn0iLCIuYWNjb3JkaW9uIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpIHtcbiAgICAgICAgYS5hY2NvcmRpb24tdHJpZ2dlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBmLWNvbmQtYm9sZDtcbiAgICAgICAgICAgIC8vIGluYWN0aXZlIGljb24gc3RhdGUgKHBsdXMpXG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogLTFweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGEuYWNjb3JkaW9uLXRyaWdnZXIgPiAqIHsgLy8gQWN0aXZlIGljb24gc3RhdGUgKG1pbnVzKVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5zdWJtZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMCAwICRzcGFjZXItbDtcbiAgICB9XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSBidXR0b25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJWJhc2Uge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlcjogJGJvcmRlci1tZWRpdW0gJGJsYWNrO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBmLWNvbmQtbWVkaXVtO1xuICAgIHRyYW5zaXRpb246IDAuMnMgYWxsIGVhc2UtaW4tb3V0O1xuICAgIC8vIEluZGljYXRlIHRoZSBjbGljayBhY3Rpb25cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OSk7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTaXplc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYnV0dG9uIHtcbiAgICAmLmxhcmdlIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDIwKSByZW0oMzApO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbTI7XG4gICAgfVxuICAgIFxuICAgICYubWVkaXVtIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDE3KSByZW0oMjQpO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbTtcbiAgICB9XG4gICAgXG4gICAgJi5zbWFsbCB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSg4KSByZW0oMTIpO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUtMTQ7XG4gICAgfVxuICAgICYubm8tYnIge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEYXJrIGJ1dHRvbiwgbGlnaHQgdGV4dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExpZ2h0IGJ1dHRvbiwgZGFyayB0ZXh0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxufVxuXG4ud2hpdGUge1xuICAgIEBleHRlbmQgLnNlY29uZGFyeTtcbiAgICBib3JkZXI6MDtcbn1cbi5idXR0b24ge1xuICAgIEBleHRlbmQgJWJhc2U7XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ2hlY2tvdXQgU3RlcHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmNoZWNrb3V0LXN0ZXBzIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAuc3RlcHMge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAxMHB4IDIwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGYtY29uZC1ib2xkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMb2dpbiBDaGVja291dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLmNoZWNrb3V0LWxvZ2luLWZvcm0tY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBwYWRkaW5nOjIwcHggbnVsbDtcbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIHBhZGRpbmc6MTAwcHggbnVsbDtcbiAgICB9XG4gICAgLmNvbnRyb2wge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1tMjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgQGluY2x1ZGUgZi1jb25kLWJvbGQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAyNXB4O1xuICAgICAgICBtYXJnaW46ICRzcGFjZXItbSAwIDA7O1xuICAgIH1cbiAgICAuc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgfVxuICAgIC5ub3RpY2Uge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggNXB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICB9XG4gICAgLnByaW1hcnkge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAwO1xuICAgIH1cbn1cbi5jaGVja291dC1sb2dpbi1mb3JtLWNvbnRhaW5lci1pbmZvLS1ibG9jayB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC5pbmZvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAxNXB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcms7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOjNweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgcmVtKDEwKSAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gT25lIFN0ZXAgQ2hlY2tvdXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5vbmVzdGVwY2hlY2tvdXQtaW5kZXgtaW5kZXgge1xuICAgIHRhYmxlLFxuICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cblxuICAgIC5vbmVzdGVwY2hlY2tvdXQtcGxhY2Utb3JkZXItd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDIwKTtcbiAgICB9XG4gICAgLm9uZXN0ZXBjaGVja291dC1wbGFjZS1vcmRlci1sb2FkaW5nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5vbmVzdGVwY2hlY2tvdXQtbnVtYmVycy0xIHtcbiAgICAgICAgKyAuc3VidGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAub25lc3RlcGNoZWNrb3V0LWFkZHJlc3MtbGluZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICAgIC5jb2wtbWFpbiB7XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICAgICAgICBtYXJnaW46IDVweDtcbiAgICB9XG4gICAgLnNvY2lhbC13cmFwIHsgLy8gSGlkZSB0aGUgc29jaWFsIGljb25zXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuI29uZXN0ZXBjaGVja291dC1mb3JtIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICAuYmxvY2suYmxvY2stcGFnZS1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcbiAgICB9XG4gICAgLmZvcm0tbGlzdCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICYudG9rZW4tY2hlY2tib3gge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlci1tIDA7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdy1yZXZlcnNlO1xuICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jb250cm9sIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmlucHV0LWJveCB7XG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjZXItbTtcbiAgICB9XG4gICAgLmlucHV0LWNvdW50cnkge1xuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIHNwYW4ucmVxdWlyZWQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgIGNvbG9yOiAkcmVkLWxpZ2h0O1xuICAgIH1cbn1cbi5vbmVzdGVwY2hlY2tvdXQtdGhyZWVjb2x1bW5zIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNoaXBtZW50LW1ldGhvZHMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgPiBkZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zaGlwbWVudC1tZXRob2RzLFxuICAgIC5wYXltZW50LW1ldGhvZHMge1xuICAgICAgICBkdCBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgICNzZXJ2ZXJzZWN1cmUge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5wYXltZW50LW1ldGhvZHMge1xuICAgICAgICBwYWRkaW5nOiAwIDAgJHNwYWNlci1sO1xuICAgICAgICBkZCwgZHQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIGR0IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGRkID4gKiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLWwgMCAkc3BhY2VyLWwgcmVtKDMwKTtcbiAgICAgICAgfVxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmlucHV0LWJveHtcbiAgICAgICAgYnIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbCxcbiAgICAgICAgaW5wdXR7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vbmVzdGVwY2hlY2tvdXQtY29sdW1uLWxlZnQsXG4ub25lc3RlcGNoZWNrb3V0LWNvbHVtbi1taWRkbGUsXG4ub25lc3RlcGNoZWNrb3V0LWNvbHVtbi1yaWdodCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCwgdGFibGUpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgzbik7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgwIDE1cHggMzBweCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgwIDI1cHggMzBweCk7XG4gICAgfVxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG4ub25lc3RlcGNoZWNrb3V0LWNvbHVtbi1yaWdodCB7XG4gICAgYmFja2dyb3VuZDogJGdyZXktdi1saWdodDtcbn1cbi5vcmRlci1yZXZpZXctaW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm9uZXN0ZXBjaGVja291dC1udW1iZXJzIHtcbiAgICBAaW5jbHVkZSBmLWNvbmQtYm9sZDtcbiAgICBmb250LXNpemU6ICRmLXNpemUtMjI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIHBhZGRpbmc6IDI1cHggMDtcbn1cblxuXG4ub25lc3RlcGNoZWNrb3V0LXN1bW1hcnl7XG4gICAgdGhlYWR7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgICB0aCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206JGJvcmRlci10aGluO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDokYm9yZGVyLXRoaW47XG4gICAgICAgICAgICBib3JkZXItY29sb3I6JGJvcmRlci1ncmV5O1xuICAgICAgICB9XG4gICAgfVxuICAgIHRoe1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICB9XG4gICAgdGgudG90YWwsXG4gICAgdGQudG90YWx7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIHRkLnF0eSxcbiAgICB0ZC50b3RhbCB7XG4gICAgICAgIGNvbG9yOiAjNjY2O1xuICAgIH1cblxuICAgIHRoLm5hbWUsXG4gICAgdGQubmFtZSB7XG4gICAgICAgIHdpZHRoOiA0NSU7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cbiAgICB0ZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJi5uYW1lIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRpcGhvbmUpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSl7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KXtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKXtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnBheXBhbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG4ub25lc3RlcGNoZWNrb3V0LWVkaXQtYmFza2V0LXdyYXBwZXIge1xuICAgIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICB9XG59XG5cbi5vbmVzdGVwY2hlY2tvdXQtc3VtbWFyeSxcbi5vbmVzdGVwY2hlY2tvdXQtdG90YWxzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgIHRoIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxcHg7XG4gICAgICAgIC8vYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gICAgdGQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDFweDtcbiAgICAgICAgLy9ib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbn1cblxuLm9uZXN0ZXBjaGVja291dC10b3RhbHMtd3JhcCB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLW1lZGl1bSAkYm9yZGVyLWdyZXk7XG4gICAgcGFkZGluZzogMTVweCAwO1xufVxuXG4ub25lc3RlcGNoZWNrb3V0LXRvdGFscyB7XG4gICAgdGQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcGFkZGluZzogN3B4IDI1cHg7XG4gICAgfVxuICAgIHRkLnRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAuZ3JhbmQtdG90YWwge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMjVweCA1cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1tO1xuICAgICAgICB9XG4gICAgfVxufVxuLm9uZXN0ZXBjaGVja291dC1lZGl0LWJhc2tldC13cmFwcGVyLFxuLm9uZXN0ZXBjaGVja291dC1wbGFjZS1vcmRlci13cmFwcGVyIHtcbiAgICBtYXJnaW46IHJlbSgxMCkgYXV0byAkc3BhY2VyLXhsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBidXR0b257XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLm9uZXN0ZXBjaGVja291dC1pbmRleC1pbmRleCB7XG4gICAgI2NvbnRyb2xfd2luZG93XzMge1xuICAgICAgICBoZWlnaHQ6IDYxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogOTk5OTkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5sY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDU4MHB4ICFpbXBvcnRhbnQ7XG5cbiAgICBpZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyBvcmRlciBzdWNjZXNzIHBhZ2Vcbi5jaGVja291dC1vbmVwYWdlLXN1Y2Nlc3Mge1xuICAgIC5jb2wxLWxheW91dCB7XG4gICAgICAgIC5jb2wtbWFpbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgJHNwYWNlci14bDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICA+IGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBoMi5zdWItdGl0bGUge1xuICAgICAgICBtYXJnaW46IHJlbSg0MCkgMCByZW0oMzApO1xuICAgIH1cbn1cblxuLm9uZXN0ZXBjaGVja291dC1lbmFibGUtdGVybXN7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAjZXJyb3ItdGVybXN7XG4gICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4czs7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufVxuLm9uZXN0ZXBjaGVja291dC1lbmFibGUtbmV3c2xldHRlcntcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4ub25lc3RlcGNoZWNrb3V0LWVuYWJsZS10ZXJtcyxcbi5vbmVzdGVwY2hlY2tvdXQtZW5hYmxlLW5ld3NsZXR0ZXIge1xuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J117XG4gICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7O1xuICAgICAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgIH1cbn1cbmxhYmVsW2Zvcj1cInBfbWV0aG9kX3NhZ2VwYXlzZXJ2ZXJcIl17XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG59XG4uYWRkcmVzcy1zZWxlY3R7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogOCU7XG59XG4uY3VycmVudC1zaGlwcGluZy1hZGRyZXNzLFxuLmN1cnJlbnQtYmlsbGluZy1hZGRyZXNze1xuICAgIG1hcmdpbjogMCAwICRzcGFjZXItbTtcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2VyLW0gMDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLW0gcmVtKDIwKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXktdi1saWdodDtcbiAgICB9XG59XG4uYnRuLWFkZC1uZXctc2hpcHBpbmctYWRkcmVzcyxcbi5idG4tYWRkLW5ldy1iaWxsaW5nLWFkZHJlc3N7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctYm90dG9tOiAxN3B4O1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICY6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB9XG59XG4jb25lc3RlcGNoZWNrb3V0LWZvcm0ge1xuICAgIGxhYmVsW2Zvcj1cInBfbWV0aG9kX3NhZ2VwYXlkaXJlY3Rwcm9cIl0sXG4gICAgbGFiZWxbZm9yPVwicF9tZXRob2Rfc2FnZXBheXNlcnZlclwiXSxcbiAgICBsYWJlbFtmb3I9XCJwX21ldGhvZF9zYWdlcGF5Zm9ybVwiXSxcbiAgICBsYWJlbFtmb3I9XCJwX21ldGhvZF9zYWdlcGF5bml0XCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICNwX21ldGhvZF9zYWdlcGF5c2VydmVyLCAjcF9tZXRob2Rfc2FnZXBheWZvcm0sICNwX21ldGhvZF9zYWdlcGF5ZGlyZWN0cHJvIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogNXB4O1xuICAgIH1cbn1cbi5wYXltZW50LW1ldGhvZHMge1xuICAgICNjdXN0b21lcmJhbGFuY2VfcGxhY2VyIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDVweCAycHg7XG4gICAgfVxufVxuXG4vLyBDYXJkIFZlcmlmaWNhdGlvbiBudW1iZXIgdG9vbHRpcFxuI3BheW1lbnQtdG9vbC10aXAudG9vbC10aXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB6LWluZGV4OiAxMTExO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luOiAxMDBweCAwIDA7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgICAuYnRuLWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6MDtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6JGdyZXktZGFyaztcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiRkYXJrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBDcmVkaXQgY2FyZCBuaWNrbmFtZSBmaWVsZHNcbi5jY19uaWNrbmFtZV9jaGVja2JveCB7XG4gICAgbGFiZWwge1xuXG4gICAgfVxufVxuXG4vLyBTcGVjaWZpYyB2YWxpZGF0aW9uIHN0eWxpbmdcbiNhZHZpY2UtcmVxdWlyZWQtZW50cnktaWRfYWNjZXB0X3Rlcm1zIHtcbiAgICBtYXJnaW46IHJlbSgxMCkgMCAwO1xufVxuI2FkdmljZS1yZXF1aXJlZC1lbnRyeS1iaWxsaW5nXFw6c3RyZWV0MSB7XG4gICAgbWFyZ2luOiAtMTBweCAwIDEwcHg7XG59XG5cblxuLmxvYWRpbmctYWpheCB7XG4gICAgYmFja2dyb3VuZDogI2VkZWRlZCB1cmwoJy4uL2ltZy9sb2FkaW5nLmdpZicpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIHBhZGRpbmc6IDIwcHg7XG59XG5cbi8vIFBheXBhbCBFeHByZXNzIG9yZGVyIHJldmlldyBmb3JtXG5ib2R5LnBheXBhbC1leHByZXNzLXJldmlldyB7XG4gICAgLmNvbC1tYWluIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKDEwMjRweCk7XG4gICAgfVxuICAgIC5yZXZpZXctcHJvZHVjdC1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2VyLXhsIDAgMDtcbiAgICB9XG4gICAgLnBwbGUtcmV2aWV3IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcGFjZXIteGw7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBAaW5jbHVkZSBmLWNvbmQtYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS0yMjtcbiAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlci1sIDAgJHNwYWNlci1tO1xuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2VyLXMyIDAgMDs7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAkc3BhY2VyLW07XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbnMtc2V0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiAkc3BhY2VyLW0gMCAwO1xuICAgICAgICB9XG4gICAgICAgIC5wbGVhc2Utd2FpdCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG50YWJsZSNkZXRhaWxzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0aCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufVxuXG4ucHJpdmFjeS1wb2xpY3ktLXRleHQge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEFkZHMgcGFkZGluZyB0byB0aGUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHBhZGRpbmcgW2ZsZXgtZ3V0dGVyKCldXG4vLy8gICBBIGxpc3Qgb2YgcGFkZGluZyB2YWx1ZShzKSB0byB1c2UuIFBhc3NpbmcgYGRlZmF1bHRgIGluIHRoZSBsaXN0IHdpbGwgcmVzdWx0IGluIHVzaW5nIHRoZSBndXR0ZXIgd2lkdGggYXMgYSBwYWRkaW5nIHZhbHVlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBhZCgzMHB4IC0yMHB4IDEwcHggZGVmYXVsdCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmc6IDMwcHggLTIwcHggMTBweCAyLjM1NzY1JTtcbi8vLyAgIH1cblxuQG1peGluIHBhZCgkcGFkZGluZzogZmxleC1ndXR0ZXIoKSkge1xuICAkcGFkZGluZy1saXN0OiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHBhZGRpbmcge1xuICAgICR2YWx1ZTogaWYoJHZhbHVlID09ICdkZWZhdWx0JywgZmxleC1ndXR0ZXIoKSwgJHZhbHVlKTtcbiAgICAkcGFkZGluZy1saXN0OiBqb2luKCRwYWRkaW5nLWxpc3QsICR2YWx1ZSk7XG4gIH1cbiAgcGFkZGluZzogJHBhZGRpbmctbGlzdDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFJlbW92ZXMgdGhlIGVsZW1lbnQncyBndXR0ZXIgbWFyZ2luLCByZWdhcmRsZXNzIG9mIGl0cyBwb3NpdGlvbiBpbiB0aGUgZ3JpZCBoaWVyYXJjaHkgb3IgZGlzcGxheSBwcm9wZXJ0eS4gSXQgY2FuIHRhcmdldCBhIHNwZWNpZmljIGVsZW1lbnQsIG9yIGV2ZXJ5IGBudGgtY2hpbGRgIG9jY3VycmVuY2UuIFdvcmtzIG9ubHkgd2l0aCBgYmxvY2tgIGxheW91dHMuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeSBbYmxvY2tdXG4vLy8gICBMaXN0IG9mIGFyZ3VtZW50cy4gU3VwcG9ydGVkIGFyZ3VtZW50cyBhcmUgYG50aC1jaGlsZGAgc2VsZWN0b3JzICh0YXJnZXRzIGEgc3BlY2lmaWMgcHNldWRvIGVsZW1lbnQpIGFuZCBgYXV0b2AgKHRhcmdldHMgYGxhc3QtY2hpbGRgKS5cbi8vL1xuLy8vICAgV2hlbiBwYXNzZWQgYW4gYG50aC1jaGlsZGAgYXJndW1lbnQgb2YgdHlwZSBgKm5gIHdpdGggYGJsb2NrYCBkaXNwbGF5LCB0aGUgb21lZ2EgbWl4aW4gYXV0b21hdGljYWxseSBhZGRzIGEgY2xlYXIgdG8gdGhlIGAqbisxYCB0aCBlbGVtZW50LiBOb3RlIHRoYXQgY29tcG9zaXRlIGFyZ3VtZW50cyBzdWNoIGFzIGAybisxYCBkbyBub3Qgc3VwcG9ydCB0aGlzIGZlYXR1cmUuXG4vLy9cbi8vLyAgICoqRGVwcmVjYXRpb24gd2FybmluZyoqOiBUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhIGAkZGlyZWN0aW9uYCBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgYHJvdygkZGlyZWN0aW9uKWAgb3Igc2V0IGAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uYCBpbnN0ZWFkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYSg0bik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bikge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4rMSkge1xuLy8vICAgICBjbGVhcjogbGVmdDtcbi8vLyAgIH1cblxuQG1peGluIG9tZWdhKCRxdWVyeTogYmxvY2ssICRkaXJlY3Rpb246IGRlZmF1bHQpIHtcbiAgJHRhYmxlOiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpO1xuICAkYXV0bzogYmVsb25ncy10byhhdXRvLCAkcXVlcnkpO1xuXG4gIEBpZiAkZGlyZWN0aW9uICE9IGRlZmF1bHQge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gd2lsbCBubyBsb25nZXIgdGFrZSBhICRkaXJlY3Rpb24gYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIHRoZSBkaXJlY3Rpb24oKXsuLi59IG1peGluLlwiKTtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gIH1cblxuICBAaWYgJHRhYmxlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIG5vIGxvbmdlciByZW1vdmVzIHBhZGRpbmcgaW4gdGFibGUgbGF5b3V0cy5cIik7XG4gIH1cblxuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQGlmICRhdXRvIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIGlmIGNvbnRhaW5zLWRpc3BsYXktdmFsdWUoJHF1ZXJ5KSBhbmQgJHRhYmxlID09IGZhbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAyIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQobnRoKCRxdWVyeSwgMSksICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRvbyBtYW55IGFyZ3VtZW50cyBwYXNzZWQgdG8gdGhlIG9tZWdhKCkgbWl4aW4uXCIpO1xuICB9XG59XG5cbkBtaXhpbiBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKSB7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgJjpudGgtY2hpbGQoI3skcXVlcnl9KSB7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkcXVlcnkpID09IHN0cmluZyB7XG4gICAgJHF1ZXJ5OiBzdHItcmVwbGFjZSgkcXVlcnksIFwiIFwiLCBcIlwiKTtcbiAgICAkb3BlcmF0b3I6IGZhbHNlO1xuXG4gICAgQGlmIHN0cl9pbmRleCgkcXVlcnksIFwiK1wiKSB7XG4gICAgICAkb3BlcmF0b3I6IFwiK1wiO1xuICAgIH0gQGVsc2UgaWYgc3RyX2luZGV4KCRxdWVyeSwgXCItXCIpIHtcbiAgICAgICRvcGVyYXRvcjogXCItXCI7XG4gICAgfVxuXG4gICAgQGlmICRvcGVyYXRvciB7XG4gICAgICAkb3BlcmF0b3ItaW5kZXg6IHN0cl9pbmRleCgkcXVlcnksICRvcGVyYXRvcik7XG4gICAgICAkZmlyc3Q6IHN0ci1zbGljZSgkcXVlcnksIDAsICgkb3BlcmF0b3ItaW5kZXggLSAxKSk7XG4gICAgICAkbGFzdDogdG8tbnVtYmVyKHN0ci1zbGljZSgkcXVlcnksICgkb3BlcmF0b3ItaW5kZXggKyAxKSwgLTEpKTtcbiAgICAgIEBpZiAkb3BlcmF0b3IgPT0gXCIrXCIge1xuICAgICAgICAkbGFzdDogJGxhc3QgKyAxO1xuICAgICAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gXCItXCIge1xuICAgICAgICAkbGFzdDogJGxhc3QgLSAxO1xuICAgICAgfVxuICAgICAgJG50aDogXCIjeyRmaXJzdH0jeyRvcGVyYXRvcn0jeyRsYXN0fVwiO1xuXG4gICAgICAmOm50aC1jaGlsZCgjeyRudGh9KSB7XG4gICAgICAgIGNsZWFyOiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbnVtYmVyIGFuZCB1bml0KCRxdWVyeSkgPT0gXCJuXCIge1xuICAgICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSsxKSB7XG4gICAgICBjbGVhcjogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIE5vdCBmdW5jdGlvbiBmb3IgTGlic2FzcyBjb21wYXRpYmlsaXR5XG4vLyBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9saWJzYXNzL2lzc3Vlcy8zNjhcbkBmdW5jdGlvbiBpcy1ub3QoJHZhbHVlKSB7XG4gIEByZXR1cm4gaWYoJHZhbHVlLCBmYWxzZSwgdHJ1ZSk7XG59XG5cbi8vIENoZWNrcyBpZiBhIG51bWJlciBpcyBldmVuXG5AZnVuY3Rpb24gaXMtZXZlbigkaW50KSB7XG4gIEByZXR1cm4gJGludCAlIDIgPT0gMDtcbn1cblxuLy8gQ2hlY2tzIGlmIGFuIGVsZW1lbnQgYmVsb25ncyB0byBhIGxpc3Qgb3Igbm90XG5AZnVuY3Rpb24gYmVsb25ncy10bygkdGVzdGVkLWl0ZW0sICRsaXN0KSB7XG4gIEByZXR1cm4gaXMtbm90KG5vdC1iZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpKTtcbn1cblxuQGZ1bmN0aW9uIG5vdC1iZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpIHtcbiAgQHJldHVybiBpcy1ub3QoaW5kZXgoJGxpc3QsICR0ZXN0ZWQtaXRlbSkpO1xufVxuXG4vLyBDb250YWlucyBkaXNwbGF5IHZhbHVlXG5AZnVuY3Rpb24gY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIHtcbiAgQHJldHVybiBiZWxvbmdzLXRvKHRhYmxlLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhibG9jaywgJHF1ZXJ5KVxuICAgICAgIG9yIGJlbG9uZ3MtdG8oaW5saW5lLWJsb2NrLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhpbmxpbmUsICRxdWVyeSk7XG59XG5cbi8vIFBhcnNlcyB0aGUgZmlyc3QgYXJndW1lbnQgb2Ygc3Bhbi1jb2x1bW5zKClcbkBmdW5jdGlvbiBjb250YWluZXItc3Bhbigkc3BhbjogJHNwYW4pIHtcbiAgQGlmIGxlbmd0aCgkc3BhbikgPT0gMyB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNwYW4sIDMpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc3BhbikgPT0gMiB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNwYW4sIDIpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9XG5cbiAgQHJldHVybiAkZ3JpZC1jb2x1bW5zO1xufVxuXG5AZnVuY3Rpb24gY29udGFpbmVyLXNoaWZ0KCRzaGlmdDogJHNoaWZ0KSB7XG4gICRwYXJlbnQtY29sdW1uczogJGdyaWQtY29sdW1ucyAhZGVmYXVsdCAhZ2xvYmFsO1xuXG4gIEBpZiBsZW5ndGgoJHNoaWZ0KSA9PSAzIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc2hpZnQsIDMpO1xuICAgIEByZXR1cm4gJGNvbnRhaW5lci1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGxlbmd0aCgkc2hpZnQpID09IDIge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzaGlmdCwgMik7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuLy8gR2VuZXJhdGVzIGEgc3RyaXBlZCBiYWNrZ3JvdW5kXG5AZnVuY3Rpb24gZ3JhZGllbnQtc3RvcHMoJGdyaWQtY29sdW1ucywgJGNvbG9yOiAkdmlzdWFsLWdyaWQtY29sb3IpIHtcbiAgJHRyYW5zcGFyZW50OiB0cmFuc3BhcmVudDtcbiAgJGFsdC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcblxuICAkY29sdW1uLXdpZHRoOiBmbGV4LWdyaWQoMSwgJGdyaWQtY29sdW1ucyk7XG4gICRndXR0ZXItd2lkdGg6IGZsZXgtZ3V0dGVyKCRncmlkLWNvbHVtbnMpO1xuICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi13aWR0aDtcbiAgJGFsdGVybmF0ZTogZmFsc2U7XG5cbiAgJHZhbHVlczogKCR0cmFuc3BhcmVudCAwLCBpZigkYWx0ZXJuYXRlLCAkY29sb3IsICRhbHQtY29sb3IpIDApO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRvICRncmlkLWNvbHVtbnMqMiB7XG4gICAgQGlmIGlzLWV2ZW4oJGkpIHtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCBpZigkYWx0ZXJuYXRlLCAkY29sb3IsICRhbHQtY29sb3IpICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi1vZmZzZXQgKyAkY29sdW1uLXdpZHRoO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsIGlmKCRhbHRlcm5hdGUsICRjb2xvciwgJGFsdC1jb2xvcikgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLW9mZnNldCArICRndXR0ZXItd2lkdGg7XG5cbiAgICAgICRhbHRlcm5hdGU6IG5vdCAkYWx0ZXJuYXRlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlcztcbn1cblxuLy8gTGF5b3V0IGRpcmVjdGlvblxuQGZ1bmN0aW9uIGdldC1kaXJlY3Rpb24oJGxheW91dCwgJGRlZmF1bHQpIHtcbiAgJGRpcmVjdGlvbjogbnVsbDtcblxuICBAaWYgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIkxUUlwiIG9yIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJSVExcIiB7XG4gICAgJGRpcmVjdGlvbjogZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRsYXlvdXQpO1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGRlZmF1bHQpO1xuICB9XG5cbiAgQHJldHVybiAkZGlyZWN0aW9uO1xufVxuXG5AZnVuY3Rpb24gZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRsYXlvdXQpIHtcbiAgJGRpcmVjdGlvbjogbnVsbDtcblxuICBAaWYgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIkxUUlwiIHtcbiAgICAkZGlyZWN0aW9uOiByaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogbGVmdDtcbiAgfVxuXG4gIEByZXR1cm4gJGRpcmVjdGlvbjtcbn1cblxuQGZ1bmN0aW9uIGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBsZWZ0O1xuXG4gIEBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcbiAgfVxuXG4gIEByZXR1cm4gJG9wcG9zaXRlLWRpcmVjdGlvbjtcbn1cblxuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCRzdHJpbmcpIHtcbiAgJHN0cmluZzogc3RyLXJlcGxhY2UoJHN0cmluZywgXCIgXCIsIFwiXCIpO1xuICAkc3RyaW5nczogXCIwXCIgXCIxXCIgXCIyXCIgXCIzXCIgXCI0XCIgXCI1XCIgXCI2XCIgXCI3XCIgXCI4XCIgXCI5XCI7XG4gICRudW1iZXJzOiAgMCAxIDIgMyA0IDUgNiA3IDggOTtcbiAgJHJlc3VsdDogMDtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xuXG4gICAgQGlmIG5vdCAkaW5kZXgge1xuICAgICAgQHdhcm4gXCJVbmtub3duIGNoYXJhY3RlciBgI3skY2hhcmFjdGVyfWAuXCI7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgICRudW1iZXI6IG50aCgkbnVtYmVycywgJGluZGV4KTtcbiAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyAkbnVtYmVyO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgJGZpcnN0OiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSk7XG4gICAgJGxhc3Qtc2xpY2U6IHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKTtcbiAgICAkbGFzdDogc3RyLXJlcGxhY2UoJGxhc3Qtc2xpY2UsICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgICBAcmV0dXJuICRmaXJzdCArICRyZXBsYWNlICsgJGxhc3Q7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG4iLCIuc3RkIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbn1cbi5tYWluIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jbXMtcGFnZSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLWw7XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY21zLXBhZ2UtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyLWw7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cbn1cblxuLy8gNDA0IHBhZ2Vcbi5uby1yb3V0ZS13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiByZW0oMTAwKSAwO1xuICAgIC53cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIH1cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEwMCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1taXNvO1xuICAgIH1cbn0iLCIuZm9vdGVyLXdyYXAsIC5jb3B5cmlnaHQge1xuICAgIGNvbG9yOiNmZmY7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7IHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgfVxufVxuLmZvb3Rlci13cmFwIHtcbiAgICAubmV3c2xldHRlci1ibG9jayB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlci14bCAwO1xuXG4gICAgICAgIC5idG4tc3Vic2NyaWJlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4uY29sLW1haW4ge1xuICAgIC5uZXdzbGV0dGVyLWJsb2NrIHtcbiAgICAgICAgLmJsb2NrLXN1YnNjcmliZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLWw7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLXN1YnNjcmliZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJGxhcmdlKXtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI0MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLm5ld3NsZXR0ZXItYmxvY2sgeyAvLyBPdXR0ZXIgd3JhcHBlclxuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAuYmxvY2stY29udGVudCB7IC8vIENvbnRlbnQgd3JhcFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICAgIC5mb3JtLXN1YnNjcmliZS1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDAgJHNwYWNlci1sO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJHRhYmxldCl7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCRsYXJnZSl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5pbnB1dC1ib3gge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLnZhbGlkYXRpb24tYWR2aWNlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDoxMDAlO1xuICAgICAgICAgICAgbGVmdDowO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ0bi1zdWJzY3JpYmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleTtcbiAgICAgICAgYm9yZGVyOjA7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBleHRlbmQgLmJ1dHRvbi5tZWRpdW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokZ3JleS1kYXJrO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpbnB1dC5pbnB1dC10ZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiRib3JkZXItbWVkaXVtICRncmV5O1xuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlcigkZ3JleSk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgJHNwYWNlci1tMjtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAwcHggMTAwMHB4ICRncmV5LWxpZ2h0IGluc2V0O1xuICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBMb2FkaW5nIGluZGljYXRvclxuICAgIC5sb2FkaW5nIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhcms7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgcmlnaHQ6IDJweDtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgJHNwYWNlci1tMjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgLy8gZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSgxMikgMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIE5ld3NsZXR0ZXIgcG9wdXAgc3R5bGluZ1xuLmpCb3gtTW9kYWwubmV3c2xldHRlci1zdWNjZXNzIHtcbiAgICAuakJveC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLW07XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhICgkdGFibGV0KXtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXItbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuakJveC10aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhICgkdGFibGV0KXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuakJveC1jbG9zZUJ1dHRvbiB7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cbiAgICAuakJveC1jb250ZW50IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG59XG4uZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXRoaW4gJGRhcms7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICBwYWRkaW5nOiAkc3BhY2VyLXhsIDA7XG4gICAgLmZvb3QtYmxvY2sge1xuICAgICAgICBwYWRkaW5nOiAwIDAgJHNwYWNlci1sO1xuICAgIH1cblxuICAgIC5mb290LWJsb2NrLCAuY2FyZC1sb2dvcyB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJGxhcmdlKXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICAgIC5jbWxpbmtzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIGYtY29uZC1ib2xkO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1tO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCR0YWJsZXQpe1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAkc3BhY2VyLWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJGxhcmdlKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgJHNwYWNlci14bDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLXMyIDA7XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhcmQtbG9nb3Mge1xuICAgICAgICAuY21saW5rcyB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCRsYXJnZSl7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjZXItbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlci1zO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhICgkbGFyZ2Upe1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDM4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB+IGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MXB4O1xuICAgICAgICAgICAgY29sb3I6ICNjY2NjY2M7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb3B5cmlnaHQge1xuICAgIHBhZGRpbmc6ICRzcGFjZXItbTIgMDtcbiAgICBAaW5jbHVkZSBtZWRpYSAoJHRhYmxldCl7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZXItbTIgMCAkc3BhY2VyLXhsO1xuICAgIH1cbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5icmFuZCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBAaW5jbHVkZSBmLWNvbmQtbWVkaXVtO1xuICAgIH1cbiAgICAuc29jaWFsIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICRzcGFjZXItcztcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNvY2lhbC1ibG9jayB7XG5cbn1cbi5jb3B5cmlnaHQge1xuXG59IiwiLmZvb3RlcnByb21vLWJsb2NrIHtcbiAgICAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoLzI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwICRzcGFjZXItbDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHNwYWNlci14bDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYmcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OjA7IHJpZ2h0OiAwOyB0b3A6IDA7IGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGwgZWFzZS1vdXQ7XG4gICAgfVxufVxuXG4uZnRwYmxvY2sge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgbWluLWhlaWdodDogMzAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICAuYmcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAxKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDUwKTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLW1pc287XG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjZXItbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIC5kZXNjIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNlci1sO1xuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsLTJweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmluZm8ge1xuICAgICAgICBwYWRkaW5nOiByZW0oNTApIDA7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZSl7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTEwKSAwO1xuICAgICAgICB9XG4gICAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEZvcmNlcyB0aGUgZWxlbWVudCB0byBmaWxsIGl0cyBwYXJlbnQgY29udGFpbmVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGZpbGwtcGFyZW50O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbi8vLyAgIH1cblxuQG1peGluIGZpbGwtcGFyZW50KCkge1xuICB3aWR0aDogMTAwJTtcblxuICBAaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IGZhbHNlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG4iLCIuY21zLWhvbWUge1xuICAgIC5mZWF0dXJlLWJsb2NrLmhlcm8ge1xuICAgICAgICAuYmcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCl7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJnLW1vYiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEZlYXR1cmUgYmxvY2tcbi5mZWF0dXJlLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiByZW0oMTAwKSAwO1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbWVkaWEgKCRsYXJnZSl7XG4gICAgICAgIGhlaWdodDogNzh2aDtcbiAgICAgICAgbWluLWhlaWdodDogcmVtKDYwMCk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgICYuaGVybyB7XG4gICAgICAgIGhlaWdodDogY2FsYyg4MHZoIC0gNTNweCk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhICgkbGFyZ2Upe1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNThweCk7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiByZW0oNjAwKTtcbiAgICAgICAgfVxuICAgICAgICAuYmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCRsYXJnZSl7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gQmFja2dyb3VuZFxuICAgIC5iZywgLnZpZGVvLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6MDsgcmlnaHQ6MDsgdG9wOjA7IGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGFsbCBlYXNlLW91dCwgMHMgdHJhbnNmb3JtIGxpbmVhcjtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCRsYXJnZSl7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIC53cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhICgkdGFibGV0KXtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNlci1sO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHNwYWNlci1sO1xuICAgICAgICB9XG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBDb250ZW50IGFsaWdubWVudFxuICAgICYubGVmdCAud3JhcCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gICAgJi5yaWdodCAud3JhcCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuICAgICYuY2VudGVyIC53cmFwIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgICYud2lkZSAuY29udGVudCB7XG4gICAgICAgIC8vIG1heC13aWR0aDogcmVtKDYwMCk7XG4gICAgfVxuICAgICYubmFycm93IC5jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oMzAwKTtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBoMiwgaDEge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLW1pc287XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNzApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCRsYXJnZSl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oOTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDgwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhICgkbGFyZ2Upe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmRlc2Mge1xuICAgICAgICBAaW5jbHVkZSBmLW5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZXItbSAwICRzcGFjZXItbTI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhICgkbGFyZ2Upe1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlci1sIDAgJHNwYWNlci1tMjtcbiAgICAgICAgfVxuICAgICAgICAmLmJvbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZi1jb25kLW1lZGl1bTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1tMjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBkaXYucHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBhZGRpbmc6IDAgJHNwYWNlci1tIDAgMDtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAscmVtKC0zKSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAxcHggMnB4IDAgcmdiYSgwLDAsMCwwLjEpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFZpZGVvIHN0YXRlc1xuICAgICYudmlkZW8ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIC53cmFwIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMXB4IDVweCByZ2JhKDAsMCwwLDAuMyk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC53cmFwLCAubW91c2UtZG93bmljbiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGFsbCBlYXNlLWluO1xuICAgICAgICB9XG4gICAgICAgICYucGxheWVyLXBsYXlpbmcge1xuICAgICAgICAgICAgLnZpZGVvLXdyYXAge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAud3JhcCwgLm1vdXNlLWRvd25pY24ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubW91c2UtZG93bmljbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW5kaWNhdG9yIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBhbGwgZWFzZS1vdXQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIGljb24gaXMgdmlzaWJsZSB3aGVuIHRoZSBjb2tvaWUgbWVzc2FnZSBpcyBhY3RpdmVcbiAgICAgICAgLmFjdGl2ZS1jb29raWUgJiB7XG4gICAgICAgICAgICBib3R0b206IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE1vdXNlIHNjcm9sbCBkb3duIGljb24gYW5pbWF0aW9uXG4ubW91c2UtZG93bmljbiB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLW1lZGl1bSAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMzZweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luOiAwIGF1dG8gMCAtMThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwxMDBweCk7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBvbmNlO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBtb3ZlaW51cDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIG1lZGlhICgkdGFibGV0KXtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuM3M7XG4gICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgICBhbmltYXRpb24tbmFtZTogc2Nyb2xsZG93bjtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAjZmZmO1xuICAgICAgICBib3JkZXI6ICRib3JkZXItdGhpbiAkdHJhbnM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICBtYXJnaW46IDZweCBhdXRvO1xuICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgc2Nyb2xsZG93biB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgICB9XG4gICAgMzAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgOTUlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgbW92ZWludXAgIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMTAwcHgpO1xuICAgIH1cbiAgICA4MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLC0zcHgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTtcbiAgICB9XG59XG5cblxuLy8gTmV3IGluIGJsb2NrXG4uYmxvY2stbmV3LWluIHtcbiAgICAudGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZXItbCAwO1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBmLWNvbmQtbWVkaXVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4bDtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWdyZXk7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR0cmFucztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2xpZGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktdi1saWdodDtcbiAgICB9XG59XG5cbi8vIEZlYXR1cmVkIHByb2R1Y3QgcmFuZ2UgYmxvY2tcbi5mZWF0cmFuZ2UtYmxvY2sge1xuICAgIGJhY2tncm91bmQ6ICRncmV5LXYtbGlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIFdoaXRlIHN0cmlwIGF0IHRoZSBib3R0b21cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGhlaWdodDogcmVtKDEwMCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OjA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhICgkdGFibGV0KXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgID4gLndyYXAge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLXhsIDAgMDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCR0YWJsZXQpe1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgfVxuICAgICAgICA+IC5sZWZ0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJHRhYmxldCl7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAubGVmdCwgPiAucmlnaHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCR0YWJsZXQpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiAucmlnaHQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJGxhcmdlKXtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgfVxuICAgIC5pbmZvIHtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGYtY29uZC1tZWRpdW07XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbTI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gTWFpbiBwcm9kdWN0XG4gICAgLmZlYXR1cmUge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBNYWluIGltYWdlXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSg1MzApO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC40cyBhbGwgZWFzZS1vdXQ7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtKDMwKSAwIDA7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmluZm8ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIHJlbSgyMik7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCR0YWJsZXQpe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSAoJHRhYmxldCl7XG4gICAgICAgICYuZW5sYXJnZWQgeyAvLyBFbmxhcmdlZCBwcm9kdWN0IGltYWdlIHN0eWxpbmdcbiAgICAgICAgICAgIC5mZWF0dXJlIC5pbWFnZSBpbWcge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtKC02MCkgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5mZWF0dXJlOmhvdmVyIC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBSYW5nZSB0aXRsZSBhbmQgZGVzY3JpcHRpb25cbiAgICAuY29weSB7XG4gICAgICAgID4gLnRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhICgkdGFibGV0KXtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHJlbSgxMDApIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtbWlzbztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSg4MCk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkc3BhY2VyLWw7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCRsYXJnZSl7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEwMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDQyMCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIHJlbSg0MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBDVEFcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCxyZW0oLTMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnJhbmdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMCAkc3BhY2VyLWwgcmVtKDIyKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJGxhcmdlKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbSgxMCk7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIHJlbSgyMCk7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC41cyBhbGwgZWFzZS1vdXQ7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHRyYW5zbGF0ZSgwLDApO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6NTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5pbmZvIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNHMgYWxsIGVhc2Utb3V0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMjBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLC01MHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmluZm8ge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGltZyB7XG5cbiAgICAgICAgfVxuICAgIH1cbiAgICAubW9iaWxlLWltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IHJlbSgtMTAwKSAoLSRjb250YWluZXItcGFkKSAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCR0YWJsZXQpe1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gUHJvbW8gQmxvY2tzXG4uaG9tZXByb21vLWJsb2NrIHtcbiAgICAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpe1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGVmdCwgLnJpZ2h0IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJnIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDowOyByaWdodDogMDsgdG9wOiAwOyBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfVxuICAgIC5pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGgvMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5sZWZ0IC5pbm5lciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcbiAgICB9XG4gICAgLnJpZ2h0IC5pbm5lciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDAgMDtcbiAgICB9XG4gICAgaDMge1xuICAgICAgICBmb250LWZhbWlseTogJGYtbWlzbztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAmLnNtYWxsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQ2KTtcbiAgICAgICAgfVxuICAgICAgICAmLm1lZGl1bSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg3Mik7XG4gICAgICAgIH1cbiAgICAgICAgJi5sYXJnZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMDApO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbmZvIHtcbiAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIH1cbiAgICAuZGVzYyB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBpbmNsdWRlIGYtY29uZC1tZWRpdW07XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1tMjtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDsgLy8gTWFrZSBzdXJlIHRoZSBpbWFnZSBpcyBhbGlnbmVkIGNvcnJlY3RseVxuICAgIH1cbiAgICBkaXYucHJpY2Uge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgfVxuICAgIC5jdGEtd3JhcCB7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2VyLXMgMCAwO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAscmVtKC0zKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gQmlnIGJsb2Nrc1xuICAgICYuYmIge1xuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDMwKSAwIDA7XG4gICAgICAgIH1cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oMjAwKTtcbiAgICAgICAgfVxuICAgICAgICAucGltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEwJTtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuaW5mbyB7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIHJlbSg3MCkgMTIlO1xuICAgICAgICB9XG4gICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg4MCkgMCAwO1xuICAgICAgICB9XG4gICAgICAgIC5sZWZ0LCAucmlnaHQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KXtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIE1lZGl1bSArIHNtYWxsIGJsb2Nrc1xuICAgICYubXNzIHtcbiAgICAgICAgLndyYXAgPiAuY29udGVudCA+IC5sZWZ0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmluZm8ge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCByZW0oMjApIDEyJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5iZyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgdG9wO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNHMgYWxsIGVhc2Utb3V0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZSl7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg4MCkgMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5wYmxvY2s6aG92ZXIge1xuICAgICAgICAgICAgICAgIC5iZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC53cmFwID4gLmNvbnRlbnQgPiAucmlnaHQge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Upe1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYmcge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnBpbWFnZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxMCkgMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmluZm8ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtKDMwKSByZW0oMjApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wYmxvY2sge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Upe1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICAgIC5waW1hZ2Uge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucGltYWdlIHtcbiAgICAgICAgdHJhbnNpdGlvbjogMC40cyBhbGwgZWFzZS1vdXQ7XG4gICAgfVxuICAgIC5iZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZSl7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaW5uZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Upe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gSW5zdGFncmFtIGZlZWRcbi5pbnN0YWdyYW0tZmVlZCB7XG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGxpIHtcblxuICAgICAgICB9XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIEhvbWVwYWdlIGZlZWRcbiAgICAuaG9tZS1mZWVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrIHVybCgnLi4vaW1nL2luc3RhX2JnLmpwZycpIGNlbnRlciB0b3Agbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIHBhZGRpbmc6IHJlbSg1MCkgMCAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCR0YWJsZXQpe1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTIwKSAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgID4gLndyYXAge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhICgkdGFibGV0KXtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICB9XG4gICAgICAgIC5jb3B5IHtcbiAgICAgICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgcmVtKDUwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhICgkdGFibGV0KXtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDUlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCRsYXJnZSl7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHdoaXRlIHBhcnQgb2YgdGhlIGJhY2tncm91bmRcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDowO1xuICAgICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCR0YWJsZXQpe1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5oYXNodGFnIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1taXNvO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNjApO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCRsYXJnZSl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNzIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6JG9yYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubGluayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmLW5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14bDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhICgkdGFibGV0KXtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucGljcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJHRhYmxldCl7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAmLngyIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIEFsbCBvdGhlciBwYWdlcyBpbnN0YWdyYW1cbiAgICAubWluaS1mZWVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktdi1saWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiByZW0oNTApIDAgMDtcbiAgICAgICAgLnRvcCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgcmVtKDUwKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgICAgICAgIC53cmFwIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBAaW5jbHVkZSBmLWNvbmQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJHRhYmxldCl7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4bDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiMwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICAgIHRvcDogcmVtKDUpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZi1taXNvO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1tO1xuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhICgkdGFibGV0KXtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbTI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6JG9yYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucGljcyB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCR0YWJsZXQpe1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCR0YWJsZXQpe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGk6bnRoLWNoaWxkKDJuKSBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gSG92ZXIgc3RhdGVzXG4gICAgLnBpY3Mge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMTRzIGFsbCBlYXNlLW91dDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZpbHRlcjogY29udHJhc3QoMC45KSBzYXR1cmF0ZSgwLjQpIDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIlxuaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG4vLyBMYXp5IGxvYWRpbmdcbmltZy5sYXp5bG9hZCB7XG4gICAgbWluLWhlaWdodDogMjRweDtcbiAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9sb2FkaW5nLmdpZikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG59IiwiXG4vLyBNYWluIE5hdmlnYXRpb25cbiNuYXYge1xuICAgIG1hcmdpbjowO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6ICRmLXNpemUtbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLy8gcmVzZXRcbiAgICBsaSwgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC8vIFJvb3QgbGV2ZWwgaXRlbXNcbiAgICA+IGxpIHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgLy8gUm9vdCBsZXZlbCBsaW5rc1xuICAgICAgICA+IGEge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkc3BhY2VyLXM7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRzcGFjZXItbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR4bCl7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkc3BhY2VyLW0yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSG92ZXJzXG4gICAgICAgICAgICAmOmhvdmVyLCAmLm92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LXYtbGlnaHQ7XG4gICAgICAgICAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQWN0dWFsIHRleHRcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEJlIG1vcmUgZm9yZ2l2aW5nXG4gICAgICAgICAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI3cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6MTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gU3ViIG5hdlxuICAgIC5kZC1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LXYtbGlnaHQ7XG4gICAgICAgIHRvcDoxMDAlO1xuICAgICAgICBsZWZ0OjA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgICAgJi5zaG93bi1zdWIge1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICYubm8tc3VibWVudXMge1xuICAgICAgICAgICAgLmRkLWNvbnRhaW5lci1pbm5lciB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmF2YmxvY2sge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAkc3BhY2VyLW0yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFN1Ym5hdiBjb250YWluZXJcbiAgICAuZGQtY29udGFpbmVyLWlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBAaW5jbHVkZSBmLWNvbmQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLXhsIDAgJHNwYWNlci1sO1xuICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLXMgMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZXItbDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogJGJvcmRlci10aGluICRib3JkZXItZ3JleS1saWdodDtcbiAgICAgICAgICAgICAgICAmLmxldmVsMS5wYXJlbnQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbTI7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGYtY29uZC1ib2xkO1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbHVtbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIyJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNCUgMCAwO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDRuKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5uYXZibG9jayB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhIGltZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjFzIGFsbCBlYXNlLW91dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9uZSBjb2x1bW4gc3VibWVudVxuICAgICAgICAmLmNvbHMtMSB7XG4gICAgICAgICAgICA+IHVsIC5jb2x1bW4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMW4pIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhyZWUgY29sdW1uIHN1Ym1lbnVcbiAgICAgICAgJi5jb2xzLTIge1xuICAgICAgICAgICAgPiB1bCAuY29sdW1uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIFRocmVlIGNvbHVtbiBzdWJtZW51XG4gICAgICAgICYuY29scy0zIHtcbiAgICAgICAgICAgID4gdWwgLmNvbHVtbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5hdi1iZyB7XG4gICAgYmFja2dyb3VuZDogJGdyZXktdi1saWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjEwMCU7XG4gICAgbGVmdDowO1xuICAgIHJpZ2h0OjA7XG4gICAgdHJhbnNpdGlvbjogMC4ycyBhbGwgZWFzZS1vdXQ7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvZHkuYWN0aXZlLW5hdiAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG59XG5cbi8vIEFjdGl2ZSBuYXZpZ2F0aW9uXG5ib2R5LmFjdGl2ZS1uYXYge1xuICAgIEBleHRlbmQgJWFjdGl2ZS1iYWNrZHJvcDsgLy8gRW5hYmxlIGdyZXlkIG91dCBiYWNrZ3JvdW5kXG59XG5cbi8vIE1vYmlsZSBuYXYgdHJpZ2dlclxuLm1lbnUtaWNvbiB7XG4gICAgLmhlYWRlciAubW9iaWxlLWljb25zICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTdweDtcbiAgICB9XG4gICAgaSB7XG4gICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiA2cHggMDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICAgIC5hY3RpdmUtbW9iaWxlbmF2ICYge1xuICAgICAgICAubDEge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSg2cHgsIDVweCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooNDVkZWcpIHRyYW5zbGF0ZTNkKDZweCw1cHgsMCk7XG4gICAgICAgIH1cbiAgICAgICAgLmwyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAsMCwxKTtcbiAgICAgICAgfVxuICAgICAgICAubDMge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoNnB4LCAtNXB4KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWigtNDVkZWcpIHRyYW5zbGF0ZTNkKDZweCwtNXB4LDApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBNb2JpbGUgbmF2aWdhdGlvblxuLm1vYmlsZS1uYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICRncmV5LXYtbGlnaHQ7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjEwMCU7XG4gICAgbGVmdDowO1xuICAgIHJpZ2h0OjA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwtMTAzJSkgc2NhbGUoMS4wNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLC0xMDMlLDApIHNjYWxlM2QoMS4wNSwgMS4wNSwgMSk7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1pbi1vdXQ7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDU4cHgpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC5hY3RpdmUtbW9iaWxlbmF2ICYge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApIHNjYWxlKDEpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKSBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Upe1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LWxpc3Q7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cbiAgICA+IHVsIHtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlci1tICRzcGFjZXItbDtcbiAgICAgICAgPiAudG9wLWxldmVsIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItdGhpbiAkYm9yZGVyLWdyZXk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oNSkgMDtcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGxpLmFjdGl2ZSB7XG4gICAgICAgID4gLmhlYWQgaTpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKC0xODBkZWcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5oZWFkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLXMgJHNwYWNlci1tO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kc3BhY2VyLW07IC8vIEZhdCBmaW5nZXIgZnJpZW5kbHlcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS0xNztcbiAgICAgICAgICAgIEBpbmNsdWRlIGYtY29uZC1ib2xkO1xuICAgICAgICB9XG4gICAgICAgIGkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLXMgMDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBhbGwgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2Vjb25kIGxldmVsXG4gICAgICAgIC5oZWFkIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFN0b3JlIHN3aXRjaGVyXG4gICAgbGkuc3cge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICAuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIE1vYmlsZSBzdWJtZW51IHN0eWxpbmdcbnVsLm1vYmlsZS1kcm9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDAgMCAkc3BhY2VyLW07XG4gICAgbGkge1xuICAgICAgICBwYWRkaW5nOiByZW0oNykgMDtcbiAgICAgICAgJi5zdWItbGV2ZWwge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJGJvcmRlci10aGluICRib3JkZXItZ3JleTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDE1KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLTE0O1xuICAgIH1cbn1cblxuLy8gQWN0aXZlIG1lbnVcbi5hY3RpdmUtbW9iaWxlbmF2IHtcbiAgICBAZXh0ZW5kICVhY3RpdmUtYmFja2Ryb3A7IC8vIEVuYWJsZSBncmV5ZCBvdXQgYmFja2dyb3VuZFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4iLCIucGFnZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGgxIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlci1sIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItdGhpbiAkYm9yZGVyLWdyZXk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxufVxuLmNvbDItc2V0IHtcbiAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgICYuaW5mby1zZXQge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICAgID4gLmNvbC0xLCA+IC5jb2wtMiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Upe1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyBDYXRlZ29yeSBoZWFkZXJcbi5jYXQtaGVybyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgcGFkZGluZzogJHNwYWNlci14bCAwO1xuICAgIC5iZywgLmJnLW1vYiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIHJpZ2h0OjA7XG4gICAgICAgIGJvdHRvbTowO1xuICAgICAgICBsZWZ0OjA7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgICAuYmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJGxhcmdlKXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5iZy1tb2Ige1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCRsYXJnZSl7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhICgkdGFibGV0KXtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHNwYWNlci1sO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHNwYWNlci1sO1xuICAgICAgICB9XG4gICAgfVxuICAgIGgxIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLW1pc287XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDcwKTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCRsYXJnZSl7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg5MCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogJHNwYWNlci1sIDAgMDtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oNDAwKTtcbiAgICAgICAgQGluY2x1ZGUgZi1jb25kLW1lZGl1bTtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLW0yO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cbiAgICBcbn1cblxuLy8gUHJvZHVjdCBsaXN0L2dyaWRcbi5wLWxpc3Qge1xuICAgIC5wcm9kdWN0IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktdi1saWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGJhY2tncm91bmQtY29sb3IgbGluZWFyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgPiAuaW5uZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAkYm9yZGVyLXRoaW4gJHdoaXRlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNnMgYWxsIGVhc2Utb3V0O1xuICAgICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA4MHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgOTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuZzJ4MiB7XG4gICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgNDBweDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDc1cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgNzBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuZGVzYyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgICByaWdodDowO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgICAgICBtYXJnaW46MCAkc3BhY2VyLW0gJHNwYWNlci1zO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNHMgYWxsIGVhc2Utb3V0O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjowICRzcGFjZXItbCAkc3BhY2VyLW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7IHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLW0yO1xuICAgICAgICAgICAgQGluY2x1ZGUgZi1jb25kLW1lZGl1bTtcbiAgICAgICAgfVxuICAgICAgICAuaW5mbyBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmJ1eSwgLnNvbGQtb3V0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDoxMDAlO1xuICAgICAgICAgICAgbGVmdDowO1xuICAgICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGFsbCBlYXNlLW91dDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMjVweCk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRyYW5zO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYucHJpY2Uge1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlci1zMyAwICRzcGFjZXItczI7XG4gICAgICAgICAgICAud29ydGgge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwICRzcGFjZXItcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53b3J0aCwgLndvcnRoIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNvbGQtb3V0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHJpZ2h0OmF1dG87XG4gICAgICAgIH1cbiAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGdyZXktdi1saWdodCw1KTtcbiAgICAgICAgICAgIC5kZXNjIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLC0zMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5idXksIC5zb2xkLW91dCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDdweCkgc2NhbGUoMS4wMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5ncmlkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiByZW0oMjApIHNvbGlkICNmZmY7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZSkge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiByZW0oOTApO1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIC8vIEdyaWQgcHJvbW9zXG4gICAgICAgIC5wcm9tbyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjVzIGJveC1zaGFkb3cgZWFzZS1vdXQ7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxNXB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTAxO1xuICAgICAgICAgICAgICAgIC5iZyB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZGVmYXVsdCBzdHlsaW5nXG4gICAgICAgICAgICAuYmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbGVmdDowO1xuICAgICAgICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IDAuNXMgYWxsIGVhc2Utb3V0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLndyYXAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg0MCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5zdGlja2VyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oNCkgcmVtKDEwKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNlci1tO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDVweCA4LjY2cHggMjBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtKDQwKSAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGYtbWlzbztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDUpO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC44O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDg1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3B5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRzcGFjZXItbSAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZGVzYyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLTE3O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5ocC1yaWdodCB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmhwLWxlZnQge1xuICAgICAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudnAtMSB7XG4gICAgICAgICAgICAgICAgdG9wOjA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyAyeDIgc2l6ZVxuICAgICAgICAgICAgJi5nMngyIHtcbiAgICAgICAgICAgICAgICAud3JhcCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEzJSAxNSU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oODApO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkaXYucHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIDF4MSBzaXplXG4gICAgICAgICAgICAmLmcxeDEge1xuICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDU1KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLmJnIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0IC5zb2xkLW91dCB7XG4gICAgQGluY2x1ZGUgZi1jb25kLWJvbGQ7XG4gICAgY29sb3I6ICRyZWQtbGlnaHQ7XG59XG5cbmRpdi5wcmljZSB7XG4gICAgQGluY2x1ZGUgZi1jb25kLWJvbGQ7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLTIxO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICAgIHNwYW4ub2xkIHtcbiAgICAgICAgQGluY2x1ZGUgZi1jb25kLW1lZGl1bTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQtbGlnaHQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICBwYWRkaW5nOnJlbSg1KSByZW0oOCk7XG4gICAgICAgIG1hcmdpbjogMCAkc3BhY2VyLXMyIDAgMDtcbiAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxufVxuLndvcnRoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICRncmV5LWRhcms7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLTE0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMCByZW0oNSkgMCAwO1xuICAgIH1cbn1cblxuLmNhdGFsb2ctY2F0ZWdvcnktdmlldyB7XG4gICAgLmJyZWFkY3J1bWJzIHVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZlYXR1cmUtYmxvY2sge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAubWFpbiAuZW1wdHkgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlci1sIDAgJHNwYWNlci14bDtcbiAgICB9XG4gICAgLmZlYXR1cmUtYmxvY2sgLmluZGljYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLmJyZWFkY3J1bWJzIC50b29sYmFyIHtcbiAgICAuc29ydC1ieSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHNwYWNlci1tIDAgMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxudWwucC1saXN0IHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JleS12LWxpZ2h0O1xufVxuXG5cbi8qIGNsZWFyZml4ICovXG5cbnVsLnAtbGlzdDphZnRlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cblxuLy8gR3JpZCBpdGVtIHNpemluZ1xuLmdyaWQtc2l6ZXIge1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xufVxuLmdyaWQtaXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG4uZ3JpZC1zaXplciwgLmdyaWQtaXRlbSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Upe1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgkeHhsKXtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG59XG4uZzJ4MiwgLmcyeDEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZSl7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCR4eGwpe1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgIH1cbn1cblxuXG4vLyBTZWFyY2ggcmVzdWx0c1xuLm1iLXNlYXJjaC1yZXN1bHQge1xuICAgIHAubm90ZS1tc2cge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbSg1MCkgMCByZW0oOTApO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS0yMztcbiAgICB9XG59IiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGF5b3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4ucC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cbi5wLWltZyxcbi5wLWluZm8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpe1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcm9kdWN0IEltYWdlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnAtaW1hZ2VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5zbGlkZXIsIC5zdGljayB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG4gICAgLnN0aWNrIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBpbWcudGh1bWIge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MHZoO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpe1xuICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDU4cHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5waW1nIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjdXJzb3I6IHpvb20taW47XG4gICAgICAgIHBhZGRpbmc6IDAgMCByZW0oNjApO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Upe1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgICAmLnpvb21lZCB7XG4gICAgICAgICAgICBjdXJzb3I6IHpvb20tb3V0O1xuICAgICAgICAgICAgaW1nLnpvb21JbWcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW1nLnpvb21JbWcge1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyB0cmFuc2Zvcm0gZWFzZS1pbi1vdXQsIDAuMTVzIG9wYWNpdHkgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB9XG4gICAgJi5uby1iZzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS12LWxpZ2h0O1xuICAgIH1cbiAgICAudGh1bWItd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OjA7XG4gICAgICAgIHJpZ2h0OjA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsNTAlKSBzY2FsZSgwLjkpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRodW1iLXNsaWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTg2cHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Upe1xuICAgICAgICAgICAgd2lkdGg6IDMwNnB4O1xuICAgICAgICB9XG4gICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICAud3JhcCB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDJweCAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjJzIGFsbCBlYXNlLW91dDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgaW5zZXQsICAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjA2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuc2xpY2stY3VycmVudCB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSBpbnNldCwgIDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAtMTBweCAwIDA7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwwLDAsMC41KTtcbiAgICAgICAgICAgICYubmV4dCB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYucHJldiB7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnpvb21lZCAudGh1bWItd3JhcCwgJi56b29tZWQ6aG92ZXIgLnRodW1iLXdyYXAge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDEwMCUpIHNjYWxlKDAuOSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgICAudGh1bWItd3JhcCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwKSBzY2FsZSgxKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG4udG91Y2gge1xuICAgIC5wLWltYWdlcyB7XG4gICAgICAgIC5zbGljay1hcnJvdy5wcmV2LCAuc2xpY2stYXJyb3cubmV4dCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcm9kdWN0IEluZm9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5wLXNob3Age1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KXtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oNDgwKTtcbiAgICB9XG59XG4ucC1pbmZvIHtcbiAgICBwYWRkaW5nOiAwIDUlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmV5LXYtbGlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCl7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA1OHB4KTtcbiAgICB9XG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRyYW5zO1xuICAgICAgICBwYWRkaW5nOiByZW0oNTApIDAgMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCl7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2hhcmUsIC5yYXRpbmcsIC5wLWNvcHkge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiRkYXJrO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2l6ZSB7XG4gICAgICAgIEBpbmNsdWRlIGYtY29uZC1ib2xkO1xuICAgIH1cbiAgICAuc2hhcmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLWwgMDtcbiAgICAgICAgdWwsIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgJHNwYWNlci1zO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwICRzcGFjZXItbSAwIDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgQGluY2x1ZGUgZi1jb25kLWJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS0yMztcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyBhbGwgZWFzZS1vdXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIGkge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsLTRweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICAgIGJvcmRlci10b3A6ICRib3JkZXItdGhpbiAkYm9yZGVyLWdyZXk7XG4gICAgICAgIG1hcmdpbjogJHNwYWNlci1tIDAgMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci10aGluICRib3JkZXItZ3JleTtcbiAgICAgICAgfVxuICAgICAgICBhLmFjY29yZGlvbi10cmlnZ2VyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXItbSAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS0xNDtcbiAgICAgICAgICAgIGIge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBzZWxlY3Qge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBtYXJnaW46IHJlbSg1MCkgMDtcbiAgICB9XG59XG4ucHJvZHVjdC1uYW1lIHtcbiAgICBoMSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZi1taXNvO1xuICAgICAgICBmb250LXNpemU6IHJlbSg3MCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG4uYWRkLXRvLCAuYWRkLXRvLWNhcnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5hZGQtdG8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZGl2LnByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXh4bDtcbiAgICAgICAgbWFyZ2luOiAwICRzcGFjZXItbSAwIDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgLm9sZCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAkc3BhY2VyLXMgMCAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5xdHktY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwICRzcGFjZXItbSAwIDA7XG4gICAgfVxuICAgIC5wcmltYXJ5IHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbiAgICAub3V0b2ZzdG9jayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgPiAuYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiNidG4tY2FydC12aWV3IHtcbiAgICBwYWRkaW5nOiByZW0oMTUpIHJlbSgyMCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbi5yYXRlLXNpemUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogcmVtKDUwKSAwIDA7XG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLnJhdGluZyB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG59XG5cbi8vIE91dCBvZiBzdG9jayBmb3JtXG4ub3V0LW9mLXN0b2NrLWZvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB0b3A6MTAwJTtcbiAgICBsZWZ0Oi0xMDBweDtcbiAgICByaWdodDowO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogcmVtKDIwKTtcbiAgICBtYXJnaW46ICRzcGFjZXItcyAwIDA7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgbGVmdDowO1xuICAgIH1cbiAgICBoNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS0xNDtcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNlci1tO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogJHNwYWNlci1zIDAgMDtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICAgICAgJi5jbG9zZTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1kYXJrO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxufVxuXG4vLyBRdWFudGl0eSBjdXN0b20gc2VsZWN0b3Jcbi5xdHkuY3NlbGVjdCB7XG5cbn1cblxuLy8gVGFic1xuLnAtdmlldyB7XG4gICAgLnRhYnMge1xuICAgICAgICA+IHVsIHtcbiAgICAgICAgICAgID4gbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgzMCkgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5yb290IHtcbiAgICAgICAgICAgID4gLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItbWVkaXVtICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIC0ycHggMCAgJGdyZXktdi1saWdodCBpbnNldDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KXtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5tb2JpbGUge1xuICAgICAgICAgICAgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkY29udGFpbmVyLXBhZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gUmV2aWV3c1xuI3Jldmlld3NfcmF0aW5ncyAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcig5NjBweCk7XG4gICAgcGFkZGluZzogMCAwICRzcGFjZXIteGw7XG4gICAgPiAuaGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHJlbSg0MCkgMDtcbiAgICAgICAgbWFyZ2luOiAwIDAgcmVtKDMwKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci10aGluICRib3JkZXItZ3JleTtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eGw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRyYW5zO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTdHlsaW5nIHRpcHNcbiNzdHlsaW5ndGlwcyB7XG4gICAgLmlubmVyIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKDk2MHB4KTtcbiAgICAgICAgcGFkZGluZzogMCAwICRzcGFjZXIteGw7XG4gICAgfVxuICAgIC5zbGlkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMCAtNTBweDtcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfSAgICBcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwkZ3JleS12LWxpZ2h0IDAscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsJGdyZXktdi1saWdodCAwLHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcCwgLnN0aXAge1xuICAgICAgICBjb2xvcjokZ3JleS1kYXJrO1xuICAgIH1cbn1cbi5zdGlwIHtcbiAgICBwYWRkaW5nOiByZW0oNTApIDUwcHggcmVtKDQwKTtcbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KXtcbiAgICAgICAgcGFkZGluZzogcmVtKDkwKSA1MHB4IHJlbSg0MCk7XG4gICAgfVxuICAgIGg0IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW46IDAgMCAkc3BhY2VyLW07XG4gICAgfVxuICAgIGltZywgaWZyYW1lIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgcmVtKDIwKTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCl7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCByZW0oMTAwKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDcwMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWZyYW1lIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVjb21tZW5kZWQgcm91dGluZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnJvdXRpbmUge1xuICAgIHBhZGRpbmc6ICRzcGFjZXIteGwgMCAkc3BhY2VyLXhsO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgaDMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjZXIteGw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eGw7XG4gICAgfVxuICAgIC5pbm5lci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIC50b3RhbHMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogcmVtKDMwKTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCl7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMjApIHJlbSgzMCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlKXtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg0MCkgcmVtKDUwKTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMzMHB4O1xuICAgICAgICB9XG4gICAgICAgID4gcCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkc3BhY2VyLXM7XG4gICAgICAgICAgICBAaW5jbHVkZSBmLWNvbmQ7XG4gICAgICAgIH1cbiAgICAgICAgPiAucHJpY2Uge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzYpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNlci1sO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCl7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiAub2xkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS0yMztcbiAgICAgICAgICAgICAgICBjb2xvcjokZ3JleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC53b3J0aCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLW0yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAucmljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGNvbG9yOiNmZmY7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogJHNwYWNlci1sIGF1dG87XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpe1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oMTUwKSByZW0oNSkgMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Upe1xuICAgICAgICAgICAgbWFyZ2luOiByZW0oMTUwKSByZW0oMTUpIDA7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9kdWN0IHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktdi1saWdodDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCl7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyaztcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jdXJyZW50IHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgNXB4ICRib3JkZXItZ3JleSBpbnNldDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCl7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KXtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA1cHggJGJvcmRlci1ncmV5IGluc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogMCAkc3BhY2VyLWwgMCAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgyMCkgcmVtKDEwKTtcbiAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpe1xuICAgICAgICAgICAgaGVpZ2h0OiAyMzBweDtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNlci1sO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDMwKSByZW0oMjApO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZSl7XG4gICAgICAgICAgICBoZWlnaHQ6IDMzMHB4O1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBhbGwgZWFzZS1vdXQ7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGFsbCBlYXNlLW91dDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoNCB7XG4gICAgICAgIG1hcmdpbjogJHNwYWNlci1zIDAgJHNwYWNlci1zMjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLW0yO1xuICAgIH1cbiAgICAucmF0aW5nLWJveCB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZXIteGwgMCAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KXtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmFjdGlvbnMge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgJi5wcmltYXJ5IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdHJhbnM7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zb2xkLW91dCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuLmJ1bmRsZV9pdGVtcyB7XG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktdi1saWdodDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7IC8vIFZpZXcgcHJvZHVjdFxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAkc3BhY2VyLXM7XG4gICAgICAgICAgICBsZWZ0OiAkc3BhY2VyLW07XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2Upe1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1zO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAkc3BhY2VyLXMyIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJcbi8qIEdsb2JhbCAqL1xuXG4uakJveC13cmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5qQm94LXRpdGxlLFxuLmpCb3gtY29udGVudCxcbi5qQm94LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmpCb3gtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uakJveC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4ycztcbn1cblxuLyogakJveCBUb29sdGlwICovXG5cbi5qQm94LVRvb2x0aXAgLmpCb3gtY29udGFpbmVyLFxuLmpCb3gtTW91c2UgLmpCb3gtY29udGFpbmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgM3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjI1KTtcbiAgICBiYWNrZ3JvdW5kOiAkZGFyaztcbiAgICBjb2xvcjokd2hpdGU7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLXM7XG59XG5cbi5qQm94LVRvb2x0aXAgLmpCb3gtdGl0bGUsXG4uakJveC1Nb3VzZSAuakJveC10aXRsZSB7XG4gICAgcGFkZGluZzogOHB4IDEwcHggMDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmpCb3gtaGFzVGl0bGUuakJveC1Ub29sdGlwIC5qQm94LWNvbnRlbnQsXG4uakJveC1oYXNUaXRsZS5qQm94LU1vdXNlIC5qQm94LWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG59XG5cbi5qQm94LU1vdXNlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogUG9pbnRlciAqL1xuXG4uakJveC1wb2ludGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmpCb3gtcG9pbnRlci10b3AgeyB0b3A6IDA7IH1cbi5qQm94LXBvaW50ZXItYm90dG9tIHsgYm90dG9tOiAwOyB9XG4uakJveC1wb2ludGVyLWxlZnQgeyBsZWZ0OiAwOyB9XG4uakJveC1wb2ludGVyLXJpZ2h0IHsgcmlnaHQ6IDA7IH1cblxuLmpCb3gtcG9pbnRlci10b3AsXG4uakJveC1wb2ludGVyLWJvdHRvbSB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xufVxuXG4uakJveC1wb2ludGVyLWxlZnQsXG4uakJveC1wb2ludGVyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5qQm94LXBvaW50ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogJGRhcms7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuXG4uakJveC1wb2ludGVyLXRvcDphZnRlciB7XG4gICAgbGVmdDogNXB4O1xuICAgIHRvcDogNnB4O1xuICAgIGJveC1zaGFkb3c6IC0xcHggLTFweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAuMjUpO1xufVxuXG4uakJveC1wb2ludGVyLXJpZ2h0OmFmdGVyIHtcbiAgICB0b3A6IDVweDtcbiAgICByaWdodDogNnB4O1xuICAgIGJveC1zaGFkb3c6IDFweCAtMXB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yNSk7XG59XG5cbi5qQm94LXBvaW50ZXItYm90dG9tOmFmdGVyIHtcbiAgICBsZWZ0OiA1cHg7XG4gICAgYm90dG9tOiA2cHg7XG4gICAgYm94LXNoYWRvdzogMXB4IDFweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAuMjUpO1xufVxuXG4uakJveC1wb2ludGVyLWxlZnQ6YWZ0ZXIge1xuICAgIHRvcDogNXB4O1xuICAgIGxlZnQ6IDZweDtcbiAgICBib3gtc2hhZG93OiAtMXB4IDFweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAuMjUpO1xufVxuXG4vKiBqQm94IE1vZGFsICovXG5cbi5qQm94LU1vZGFsIC5qQm94LWNvbnRhaW5lciB7XG4gICAgXG59XG5cbi5qQm94LU1vZGFsIC5qQm94LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6ICRzcGFjZXItcyAyMHB4ICRzcGFjZXItbTtcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNlci1sO1xuICAgIH1cbn1cblxuLmpCb3gtTW9kYWwgLmpCb3gtdGl0bGUge1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXNpemU6ICRmLXNpemUtbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIGYtY29uZC1ib2xkO1xufVxuXG4uakJveC1Nb2RhbCAuakJveC1mb290ZXIge1xuICAgIFxufVxuXG4uakJveC1Nb2RhbC5qQm94LWNsb3NlQnV0dG9uLXRpdGxlIC5qQm94LXRpdGxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4O1xufVxuXG4uakJveC1Nb2RhbCAuakJveC1jb250YWluZXIsXG4uakJveC1Nb2RhbC5qQm94LWNsb3NlQnV0dG9uLWJveDpiZWZvcmUge1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDE1cHggcmdiYSgwLCAwLCAwLCAuNCksIDAgMCA1cHggcmdiYSgwLCAwLCAwLCAuNCk7XG59XG5cbi8qIENsb3NlIGJ1dHRvbiAqL1xuXG4uakJveC1jbG9zZUJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmpCb3gtY2xvc2VCdXR0b24gc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDUwJTtcbn1cblxuLmpCb3gtY2xvc2VCdXR0b24gcGF0aCB7XG4gICAgdHJhbnNpdGlvbjogZmlsbCAuMnM7XG59XG5cbi5qQm94LWNsb3NlQnV0dG9uIHBhdGgge1xuICAgIGZpbGw6ICNhYWE7XG59XG5cbi5qQm94LWNsb3NlQnV0dG9uOmhvdmVyIHBhdGgge1xuICAgIGZpbGw6ICM4ODg7XG59XG5cbi5qQm94LWNsb3NlQnV0dG9uOmFjdGl2ZSBwYXRoIHtcbiAgICBmaWxsOiAjNjY2O1xufVxuXG4vKiBDbG9zZSBidXR0b24gaW4gb3ZlcmxheSAqL1xuXG4uakJveC1vdmVybGF5IC5qQm94LWNsb3NlQnV0dG9uIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xufVxuXG4uakJveC1vdmVybGF5IC5qQm94LWNsb3NlQnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIG1hcmdpbi10b3A6IC0xM3B4O1xuICAgIG1hcmdpbi1yaWdodDogLTEzcHg7XG59XG5cbi5qQm94LW92ZXJsYXkgLmpCb3gtY2xvc2VCdXR0b24gcGF0aCxcbi5qQm94LW92ZXJsYXkgLmpCb3gtY2xvc2VCdXR0b246YWN0aXZlIHBhdGgge1xuICAgIGZpbGw6ICNkZGQ7XG59XG5cbi5qQm94LW92ZXJsYXkgLmpCb3gtY2xvc2VCdXR0b246aG92ZXIgcGF0aCB7XG4gICAgZmlsbDogI2ZmZjtcbn1cblxuLyogQ2xvc2UgYnV0dG9uIGluIHRpdGxlICovXG5cbi5qQm94LWNsb3NlQnV0dG9uLXRpdGxlIC5qQm94LWNsb3NlQnV0dG9uIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiA1NXB4O1xufVxuXG4uakJveC1jbG9zZUJ1dHRvbi10aXRsZSAuakJveC1jbG9zZUJ1dHRvbiBzdmcge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBtYXJnaW4tdG9wOiAtOXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTlweDtcbn1cblxuLyogQ2xvc2UgYnV0dG9uIGluIGJveCAqL1xuXG4uakJveC1jbG9zZUJ1dHRvbi1ib3ggLmpCb3gtY2xvc2VCdXR0b24ge1xuICAgIHRvcDogLThweDtcbiAgICByaWdodDogLTEwcHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uakJveC1jbG9zZUJ1dHRvbi1ib3ggLmpCb3gtY2xvc2VCdXR0b24gc3ZnIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbn1cblxuLmpCb3gtaGFzVGl0bGUuakJveC1Nb2RhbC5qQm94LWNsb3NlQnV0dG9uLWJveCAuakJveC1jbG9zZUJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogI2ZhZmFmYTtcbn1cblxuLmpCb3gtY2xvc2VCdXR0b24tYm94OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLThweDtcbiAgICByaWdodDogLTEwcHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwgMCwgMCwgLjMpO1xufVxuXG4uakJveC1wb2ludGVyUG9zaXRpb24tdG9wLmpCb3gtY2xvc2VCdXR0b24tYm94OmJlZm9yZSB7XG4gICAgdG9wOiA1cHg7XG59XG5cbi5qQm94LXBvaW50ZXJQb3NpdGlvbi1yaWdodC5qQm94LWNsb3NlQnV0dG9uLWJveDpiZWZvcmUge1xuICAgIHJpZ2h0OiAycHg7XG59XG5cbi8qIE92ZXJsYXkgKi9cblxuLmpCb3gtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG59XG5cbi8qIEZvb3RlciAqL1xuXG4uakJveC1mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmYWZhZmE7XG4gICAgYm9yZGVyLXRvcDogJGJvcmRlci10aGluICNlZWU7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7XG59XG5cbi8qIEJsb2NrIHNjcm9sbGluZyAqL1xuXG5ib2R5W2NsYXNzXj1cImpCb3gtYmxvY2tTY3JvbGwtXCJdLFxuYm9keVtjbGFzcyo9XCIgakJveC1ibG9ja1Njcm9sbC1cIl0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGl2Lm1haW4ge1xuICAgICAgICBmaWx0ZXI6IHNhdHVyYXRlKDAuNik7XG4gICAgfVxufVxuXG4vKiBEcmFnZ2FibGUgKi9cblxuLmpCb3gtZHJhZ2dhYmxlIHtcbiAgICBjdXJzb3I6IG1vdmU7XG59XG5cbi8qIFNwaW5uZXIgKi9cblxuQGtleWZyYW1lcyBqQm94TG9hZGluZyB7XG4gICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi5qQm94LWxvYWRpbmcgLmpCb3gtY29udGVudCB7XG4gICAgb3BhY2l0eTogLjI7XG59XG5cbi5qQm94LWxvYWRpbmctc3Bpbm5lciAuakJveC1jb250ZW50IHtcbiAgICBtaW4taGVpZ2h0OiAzOHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAzOHB4ICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLmpCb3gtc3Bpbm5lciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtYXJnaW4tdG9wOiAtMTJweDtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7XG59XG5cbi5qQm94LXNwaW5uZXI6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAyNHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAkYm9yZGVyLW1lZGl1bSByZ2JhKDAsIDAsIDAsIC4yKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC44KTtcbiAgICBhbmltYXRpb246IGpCb3hMb2FkaW5nIC42cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi8qIE5vdGljZSAqL1xuXG4uakJveC1Ob3RpY2Uge1xuICAgIHRyYW5zaXRpb246IG1hcmdpbiAuMnM7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiByZW0oMTApO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmpCb3gtTm90aWNlIC5qQm94LWNvbnRhaW5lciB7XG5cbn1cblxuLmpCb3gtTm90aWNlIC5qQm94LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6ICRzcGFjZXItbSAkc3BhY2VyLWw7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLTE0O1xufVxuXG4uakJveC1Ob3RpY2UgLmpCb3gtdGl0bGUge1xuICAgIHBhZGRpbmc6IDEycHggMjBweCAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uakJveC1oYXNUaXRsZS5qQm94LU5vdGljZSAuakJveC1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG4uakJveC1Ob3RpY2UtYmxhY2sgLmpCb3gtY29udGFpbmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuXG4uakJveC1Ob3RpY2UtZ3JheSAuakJveC1jb250YWluZXIge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XG59XG5cbi5qQm94LU5vdGljZS1yZWQgLmpCb3gtY29udGFpbmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjYjMwYzBjO1xufVxuXG4uakJveC1Ob3RpY2UtZ3JlZW4gLmpCb3gtY29udGFpbmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjM2RiMzBjO1xufVxuXG4uakJveC1Ob3RpY2UtYmx1ZSAuakJveC1jb250YWluZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICMxNDU3Njc7XG59XG5cbi5qQm94LU5vdGljZS15ZWxsb3cgLmpCb3gtY29udGFpbmVyIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmQwO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBcbiAgICAuakJveC1Ob3RpY2UgLmpCb3gtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICB9XG4gICAgXG4gICAgLmpCb3gtTm90aWNlIC5qQm94LXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4IDA7XG4gICAgfVxuICAgIFxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgICBcbiAgICAuakJveC1Ob3RpY2UgLmpCb3gtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIH1cbiAgICBcbiAgICAuakJveC1Ob3RpY2UgLmpCb3gtdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiA4cHggMTBweCAwO1xuICAgIH1cbiAgICBcbiAgICAuakJveC1oYXNUaXRsZS5qQm94LU5vdGljZSAuakJveC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxufVxuXG4vKiBBbmltYXRpb25zICovXG5cbltjbGFzc149XCJqQm94LWFuaW1hdGVkLVwiXSxcbltjbGFzcyo9XCIgakJveC1hbmltYXRlZC1cIl0ge1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbkBrZXlmcmFtZXMgakJveC10YWRhIHtcbiAgICAwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKTt9XG4gICAgMTAlLCAyMCUge3RyYW5zZm9ybTogc2NhbGUoMC44KSByb3RhdGUoLTRkZWcpO31cbiAgICAzMCUsIDUwJSwgNzAlLCA5MCUge3RyYW5zZm9ybTogc2NhbGUoMS4yKSByb3RhdGUoNGRlZyk7fVxuICAgIDQwJSwgNjAlLCA4MCUge3RyYW5zZm9ybTogc2NhbGUoMS4yKSByb3RhdGUoLTRkZWcpO31cbiAgICAxMDAlIHt0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTt9XG59XG5cbi5qQm94LWFuaW1hdGVkLXRhZGEge1xuICAgIGFuaW1hdGlvbjogakJveC10YWRhIDFzO1xufVxuXG5Aa2V5ZnJhbWVzIGpCb3gtdGFkYVNtYWxsIHtcbiAgICAwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKTt9XG4gICAgMTAlLCAyMCUge3RyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTJkZWcpO31cbiAgICAzMCUsIDUwJSwgNzAlLCA5MCUge3RyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoMmRlZyk7fVxuICAgIDQwJSwgNjAlLCA4MCUge3RyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTJkZWcpO31cbiAgICAxMDAlIHt0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTt9XG59XG5cbi5qQm94LWFuaW1hdGVkLXRhZGFTbWFsbCB7XG4gICAgYW5pbWF0aW9uOiBqQm94LXRhZGFTbWFsbCAxcztcbn1cblxuQGtleWZyYW1lcyBqQm94LWZsYXNoIHtcbiAgICAwJSwgNTAlLCAxMDAlIHtvcGFjaXR5OiAxO30gIFxuICAgIDI1JSwgNzUlIHtvcGFjaXR5OiAwO31cbn1cblxuLmpCb3gtYW5pbWF0ZWQtZmxhc2gge1xuICAgIGFuaW1hdGlvbjogakJveC1mbGFzaCAuNXM7XG59XG5cbkBrZXlmcmFtZXMgakJveC1zaGFrZSB7XG4gICAgMCUsIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9XG4gICAgMjAlLCA2MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KTt9XG4gICAgNDAlLCA4MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpO31cbn1cblxuLmpCb3gtYW5pbWF0ZWQtc2hha2Uge1xuICAgIGFuaW1hdGlvbjogakJveC1zaGFrZSAuNHM7XG59XG5cbkBrZXlmcmFtZXMgakJveC1wdWxzZVVwIHtcbiAgICAwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKTt9XG4gICAgNTAlIHt0cmFuc2Zvcm06IHNjYWxlKDEuMTUpO31cbiAgICAxMDAlIHt0cmFuc2Zvcm06IHNjYWxlKDEpO31cbn1cblxuLmpCb3gtYW5pbWF0ZWQtcHVsc2VVcCB7XG4gICAgYW5pbWF0aW9uOiBqQm94LXB1bHNlVXAgLjI1cztcbn1cblxuQGtleWZyYW1lcyBqQm94LXB1bHNlRG93biB7XG4gICAgMCUge3RyYW5zZm9ybTogc2NhbGUoMSk7fVxuICAgIDUwJSB7dHJhbnNmb3JtOiBzY2FsZSgwLjg1KTt9XG4gICAgMTAwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKTt9XG59XG5cbi5qQm94LWFuaW1hdGVkLXB1bHNlRG93biB7XG4gICAgYW5pbWF0aW9uOiBqQm94LXB1bHNlRG93biAuMjVzO1xufVxuXG5Aa2V5ZnJhbWVzIGpCb3gtcG9wSW4ge1xuICAgIDAlIHt0cmFuc2Zvcm06IHNjYWxlKDApO31cbiAgICA1MCUge3RyYW5zZm9ybTogc2NhbGUoMS4xKTt9XG4gICAgMTAwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKTt9XG59XG5cbi5qQm94LWFuaW1hdGVkLXBvcEluIHtcbiAgICBhbmltYXRpb246IGpCb3gtcG9wSW4gLjI1cztcbn1cblxuQGtleWZyYW1lcyBqQm94LXBvcE91dCB7XG4gICAgMCUge3RyYW5zZm9ybTogc2NhbGUoMSk7fVxuICAgIDUwJSB7dHJhbnNmb3JtOiBzY2FsZSgxLjEpO31cbiAgICAxMDAlIHt0cmFuc2Zvcm06IHNjYWxlKDApO31cbn1cblxuLmpCb3gtYW5pbWF0ZWQtcG9wT3V0IHtcbiAgICBhbmltYXRpb246IGpCb3gtcG9wT3V0IC4yNXM7XG59XG5cbkBrZXlmcmFtZXMgakJveC1mYWRlSW4ge1xuICAgIDAlIHtvcGFjaXR5OiAwO31cbiAgICAxMDAlIHtvcGFjaXR5OiAxO31cbn1cblxuLmpCb3gtYW5pbWF0ZWQtZmFkZUluIHtcbiAgICBhbmltYXRpb246IGpCb3gtZmFkZUluIC4ycztcbn1cblxuQGtleWZyYW1lcyBqQm94LWZhZGVPdXQge1xuICAgIDAlIHtvcGFjaXR5OiAxO31cbiAgICAxMDAlIHtvcGFjaXR5OiAwO31cbn1cblxuLmpCb3gtYW5pbWF0ZWQtZmFkZU91dCB7XG4gICAgYW5pbWF0aW9uOiBqQm94LWZhZGVPdXQgLjJzO1xufVxuXG5Aa2V5ZnJhbWVzIGpCb3gtc2xpZGVVcCB7XG4gICAgMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9XG4gICAgMTAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMDBweCk7IG9wYWNpdHk6IDA7fVxufVxuXG4uakJveC1hbmltYXRlZC1zbGlkZVVwIHtcbiAgICBhbmltYXRpb246IGpCb3gtc2xpZGVVcCAuNHM7XG59XG5cbkBrZXlmcmFtZXMgakJveC1zbGlkZVJpZ2h0IHtcbiAgICAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO31cbiAgICAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzAwcHgpOyBvcGFjaXR5OiAwO31cbn1cblxuLmpCb3gtYW5pbWF0ZWQtc2xpZGVSaWdodCB7XG4gICAgYW5pbWF0aW9uOiBqQm94LXNsaWRlUmlnaHQgLjRzO1xufVxuXG5Aa2V5ZnJhbWVzIGpCb3gtc2xpZGVEb3duIHtcbiAgICAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO31cbiAgICAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzAwcHgpOyBvcGFjaXR5OiAwO31cbn1cblxuLmpCb3gtYW5pbWF0ZWQtc2xpZGVEb3duIHtcbiAgICBhbmltYXRpb246IGpCb3gtc2xpZGVEb3duIC40cztcbn1cblxuQGtleWZyYW1lcyBqQm94LXNsaWRlTGVmdCB7XG4gICAgMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9XG4gICAgMTAwJSB7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMDBweCk7IG9wYWNpdHk6IDA7fVxufVxuXG4uakJveC1hbmltYXRlZC1zbGlkZUxlZnQge1xuICAgIGFuaW1hdGlvbjogakJveC1zbGlkZUxlZnQgLjRzO1xufSIsIi8vIFN0YXIgcmF0aW5nIHBsdWdpbiB0aGVtZVxuLmJyLXRoZW1lLWNzcy1zdGFycyB7XG4gICAgLmJyLXdpZGdldCB7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIHJlbSgzKSAwIDA7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaWNvbjtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcNmZcIjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiAwIDAgMnB4ICRncmV5LXYtbGlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZvY3VzOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBzdGFyU2VsZWN0ZWQ7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjZzO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaWNvbjtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcNmZcIjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjFzIGFsbCBlYXNlLW91dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgYS5ici1hY3RpdmU6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgYS5ici1zZWxlY3RlZDphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogJGRhcms7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5ici1jdXJyZW50LXJhdGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5ici1yZWFkb25seSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxufVxuXG5AbWVkaWEgcHJpbnQge1xuICAgIC5ici10aGVtZS1jc3Mtc3RhcnMge1xuICAgICAgICBcbiAgICAgICAgLmJyLXdpZGdldCB7XG4gICAgICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMjYwNlwiO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYS5ici1hY3RpdmU6YWZ0ZXIsXG4gICAgICAgICAgICBhLmJyLXNlbGVjdGVkOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMjYwNVwiO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICB9XG59XG5cbi8vIFJldmlld3Mgc2VjdGlvbiBpbiBwcm9kdWN0IGluZm8gc2VjdGlvblxuLnJhdGluZy1ib3gge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAuc3RhcnMge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZSl7XG4gICAgICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgIH1cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb246IHN0YXJFbnRyeTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMXM7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTowLjJzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgKyAuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuMjdzO1xuICAgICAgICAgICAgICAgICsgLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogMC4zNHM7XG4gICAgICAgICAgICAgICAgICAgICsgLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNDFzO1xuICAgICAgICAgICAgICAgICAgICAgICAgKyAuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDAuNDhzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb3VudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS0xNDtcbiAgICAgICAgQGluY2x1ZGUgIGYtY29uZC1ib2xkO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCByZW0oNSk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZSl7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCByZW0oMTApO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLW07XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbSgyKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5Aa2V5ZnJhbWVzIHN0YXJFbnRyeSB7XG4gICAgMCUge1xuICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgODAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHN0YXJFbnRyeSB7XG4gICAgMCUge1xuICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgODAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG5cbkBrZXlmcmFtZXMgc3RhclNlbGVjdGVkIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgOTAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMi4zKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3RhclNlbGVjdGVkIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgOTAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMi4zKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cblxuXG4vLyBSZXZpZXdzIGZvcm1cbi5yZXZpZXdzLWZvcm0geyAvLyBXcmFwcGVyXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXRoaW4gJGJvcmRlci1ncmV5O1xuICAgIHBhZGRpbmc6IDAgMCByZW0oMzApO1xuICAgIG1hcmdpbjogMCAwIHJlbSgzMCk7XG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUteGw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjZXItbTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBjb2xvcjogJGdyZXktZGFyaztcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNob29zZS1yYXRpbmcge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLTE3O1xuICAgICAgICBtYXJnaW46IDAgJHNwYWNlci1tIDAgMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gICAgLmZpZWxkcyB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZXItbSAwIDA7XG4gICAgfVxufVxuXG4vLyBSZXZpZXdzIGdyaWRcbi5ib3gtcmV2aWV3cyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCl7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIC5yZXZpZXdlZC1wcm9kdWN0IHtcbiAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgcGFkZGluZzogMCAkc3BhY2VyLXhsIDAgMDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCl7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlci1tIDAgJHNwYWNlci1zMjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucmV2aWV3LWdyaWQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KXtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4ucmV2aWV3LWl0ZW0ge1xuICAgIG1hcmdpbjogMCAwICRzcGFjZXIteGw7XG4gICAgLy8gTGF5b3V0XG4gICAgLmJveCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjZXItczI7XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuaGVhZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItdGhpbiAkYm9yZGVyLWdyZXk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAkc3BhY2VyLW07XG4gICAgfVxuICAgIC8vIFN0eWxpbmdcbiAgICAucmF0aW5nLWJveCwgLmF1dGhvciB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICAudGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmLWNvbmQtYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLW0yO1xuICAgIH1cbiAgICAuYXV0aG9yIHtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLW07XG4gICAgfVxuICAgIC5kYXRlIHtcbiAgICAgICAgY29sb3I6JGdyZXktZGFyaztcbiAgICB9XG4gICAgLmNvbnRlbnQge1xuICAgICAgICBjb2xvcjokZ3JleS1kYXJrO1xuICAgICAgICBmb250LXNpemU6ICRmLXNpemUtMTQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZXItbCAwO1xuICAgICAgICBAaW5jbHVkZSBmLW5vcm1hbDtcbiAgICB9XG59XG5cblxuLy8gRmVlZm8gYm94XG4ucmV2aWV3LWZlZWZvLXBvcHVwIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgfVxufSIsIi5zbGlkZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICY6aG92ZXIge1xuICAgICAgICAuc2xpY2stYXJyb3cge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG59XG5cbi5zbGljay1hcnJvdyB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6MDtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgY29sb3I6JHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS0xNDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDo1MCU7XG4gICAgd2lkdGg6IHJlbSg1MCk7XG4gICAgaGVpZ2h0OiByZW0oNTApO1xuICAgIG1hcmdpbjogcmVtKC0yNSkgMCAwO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBhbGwgZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4xcyB0cmFuc2Zvcm0gZWFzZS1pbjtcbiAgICB9XG4gICAgJi5wcmV2IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUocmVtKC01MCksMCk7XG4gICAgICAgICY6YWN0aXZlIGkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUocmVtKC0yKSwwKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLm5leHQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUocmVtKDUwKSwwKTtcbiAgICAgICAgJjphY3RpdmUgaSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShyZW0oMiksMCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3BhY2l0eTogMC41ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICY6YWN0aXZlIHtcblxuICAgIH1cbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIHJlbSg3KTtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmV5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnMgYWxsIGVhc2Utb3V0O1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gc2xpZGVyIGltYWdlcyB0byBoYXZlIG5vIHRvcCwgYm90dG9tIGJvcmRlclxuLnAtbGlzdCAuc2xpZGVyIC5wcm9kdWN0ID4gLmlubmVyIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG59IiwiLyogPT18PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2UvRm9ybVxuICAgPT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZpbGwtcGFyZW50O1xuICAgIGJvcmRlcjogJGJvcmRlci10aGluICRib3JkZXItZ3JleTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6ICRzcGFjZXItbTtcbiAgICBAaW5jbHVkZSBmLWNvbmQ7XG4gICAgdHJhbnNpdGlvbjogMC4xNXMgYWxsIGVhc2Utb3V0O1xuICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1tO1xuICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRncmV5LWRhcms7XG4gICAgfVxufVxuXG46ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5sYWJlbCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRmLXNpemUtcztcblx0bWFyZ2luLWJvdHRvbTogJHNwYWNlci1zMztcbiAgICAvL0BpbmNsdWRlIGYtY29uZC1ib2xkO1xufVxuXG4uY29udHJvbCB7XG4gICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgJHNwYWNlci1zO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgICAuaW5wdXQtYm94IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cbi5pbnB1dC1ib3gge1xuICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAwICRzcGFjZXItcztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG5cbi5xdHkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxudGV4dGFyZWEge1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBwYWRkaW5nOiAkc3BhY2VyLW07XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbnNlbGVjdCB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmIHVybCguLi9pbWcvc2VsZWN0X2Fyci5wbmcpIGNlbnRlciByaWdodCBuby1yZXBlYXQ7XG4gICAgYm9yZGVyOiRib3JkZXItdGhpbiAjY2NjY2NjO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogJHNwYWNlci1tIHJlbSg0MCkgJHNwYWNlci1tICRzcGFjZXItbTI7XG4gICAgZm9udC1zaXplOiAkZi1zaXplLW07XG4gICAgd2lkdGg6IGF1dG87XG4gICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5cbi5ib3gtaW5wdXQge1xuICAgIG1hcmdpbjogJHNwYWNlci1tIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxhYmVsIHtcbiAgICAgICAgcGFkZGluZzogMCAkc3BhY2VyLXMgJHNwYWNlci1zMjtcbiAgICB9XG59XG5cbi5mb3JtLWxpc3Qge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHQtd2Via2l0LXBhZGRpbmctc3RhcnQ6IDA7XG5cdHBhZGRpbmc6IDA7XG5cblx0bGksXG5cdC5maWVsZCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNlci1tO1xuXHR9XG5cblx0bGk6bGFzdC1jaGlsZCxcblx0LmZpZWxkOmxhc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cblxuXHQubm8tZGlzcGxheSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsIFxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1c1xuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCwgXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpob3ZlclxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyxcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMHB4IDEwMDBweCAjZmZmIGluc2V0O1xuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkYmxhY2s7XG59XG5cbmZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLy8gVmFsaWRhdGlvblxuLnZhbGlkYXRpb24tYWR2aWNlIHtcblx0Zm9udC1zaXplOiAkZi1zaXplLXhzO1xuXHRtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZC1saWdodDtcblx0Y29sb3I6ICRibGFjaztcblx0cGFkZGluZzogcmVtKDcpIHJlbSg2KTtcblx0d2lkdGg6IDEwMCU7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5pbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XG4gICAgJi52YWxpZGF0aW9uLWZhaWxlZCB7XG4gICAgXHRib3JkZXItY29sb3I6ICRyZWQtbGlnaHQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJi52YWxpZGF0aW9uLXBhc3NlZCB7XG4gICAgXHRib3JkZXItY29sb3I6ICRncmVlbjtcbiAgICB9XG59IiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuU2VsZWN0cmljIHYxLjExLjFcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLnNlbGVjdHJpYy13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uc2VsZWN0cmljLXJlc3BvbnNpdmUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2VsZWN0cmljIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IHJlbSgxMik7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBpIHsgLy8gQXJyb3cgaWNvblxuICAgICAgICBsaW5lLWhlaWdodDogMC41O1xuICAgIH1cbiAgICBcbn1cblxuLnNlbGVjdHJpYyAubGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6ICRib3JkZXItdGhpbiAkYm9yZGVyLWdyZXk7XG4gICAgcGFkZGluZzogcmVtKDUpIHJlbSgxNSkgcmVtKDUpIHJlbSgxMCk7XG4gICAgbWFyZ2luOiAwIHJlbSgxMCkgMCAwO1xufVxuLnNlbGVjdHJpYy1vcGVuIHtcbiAgICB6LWluZGV4OiA5OTk5O1xufVxuXG4uc2VsZWN0cmljLW9wZW4gLnNlbGVjdHJpYyB7XG4gICAgYm94LXNoYWRvdzogMCAwcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgaSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxufVxuXG4uc2VsZWN0cmljLW9wZW4gLnNlbGVjdHJpYy1pdGVtcyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zZWxlY3RyaWMtZGlzYWJsZWQge1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT01MCk7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uc2VsZWN0cmljLWhpZGUtc2VsZWN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi5zZWxlY3RyaWMtaGlkZS1zZWxlY3Qgc2VsZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTEwMCU7XG59XG5cbi5zZWxlY3RyaWMtaGlkZS1zZWxlY3Quc2VsZWN0cmljLWlzLW5hdGl2ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDtcbn1cblxuLnNlbGVjdHJpYy1oaWRlLXNlbGVjdC5zZWxlY3RyaWMtaXMtbmF0aXZlIHNlbGVjdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgei1pbmRleDogMTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG9wYWNpdHk6IDA7XG59XG5cbi5zZWxlY3RyaWMtaW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgKmZvbnQ6IDAvMCBhICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uc2VsZWN0cmljLXRlbXAtc2hvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cblxuLyogSXRlbXMgYm94ICovXG4uc2VsZWN0cmljLWl0ZW1zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIC8vIHotaW5kZXg6IC0xO1xuICAgIHRyYW5zaXRpb246IDAuMXMgYWxsIGVhc2Utb3V0O1xuICAgIGJvcmRlci10b3A6ICRib3JkZXItdGhpbiAjZWNlY2VjO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuXG4uc2VsZWN0cmljLWl0ZW1zIC5zZWxlY3RyaWMtc2Nyb2xsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5zZWxlY3RyaWMtYWJvdmUgLnNlbGVjdHJpYy1pdGVtcyB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbn1cblxuLnNlbGVjdHJpYy1pdGVtcyB1bCwgLnNlbGVjdHJpYy1pdGVtcyBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6ICRmLXNpemUtbTtcbn1cblxuLnNlbGVjdHJpYy1pdGVtcyBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogcmVtKDEwKSAwIHJlbSgxMCkgcmVtKDIwKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4xcyBhbGwgZWFzZS1vdXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLnNlbGVjdHJpYy1pdGVtcyBsaS5oaWdobGlnaHRlZCwgXG4uc2VsZWN0cmljLWl0ZW1zIGxpLnNlbGVjdGVkIHtcbiAgICBjb2xvcjogJGJvcmRlci1ncmV5O1xufVxuXG4uc2VsZWN0cmljLWl0ZW1zIGxpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS12LWxpZ2h0O1xufVxuXG4uc2VsZWN0cmljLWl0ZW1zIC5kaXNhYmxlZCB7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjNjY2ICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnNlbGVjdHJpYy1pdGVtcyAuc2VsZWN0cmljLWdyb3VwIC5zZWxlY3RyaWMtZ3JvdXAtbGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAjNDQ0O1xufVxuXG4uc2VsZWN0cmljLWl0ZW1zIC5zZWxlY3RyaWMtZ3JvdXAuZGlzYWJsZWQgbGkge1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5zZWxlY3RyaWMtaXRlbXMgLnNlbGVjdHJpYy1ncm91cCBsaSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xufVxuIiwiLmNvbnRhY3Qge1xuICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgcGFkZGluZzogJHNwYWNlci1zIDA7XG5cbiAgLmNvbnRhY3QtaW50cm8ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5idXR0b25zLXNldCB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5yZXF1aXJlZCB7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cbiAgfVxufVxuXG4uY29udGFjdC1mb3JtLS13cmFwcGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgd2lkdGg6IDYwJVxuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgIHdpZHRoOiA0MCVcbiAgfVxuXG4gIC5jb250YWN0LWZvcm0ge1xuICAgICAuZmllbGRzIHtcbiAgICAgICBlbSB7XG4gICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgIH1cbiAgICAgfVxuXG4gICAgc2VsZWN0LFxuICAgIGlucHV0LFxuICAgIHRleHRhcmVhIHtcbiAgICAgIHBhZGRpbmc6IDEycHggOHB4O1xuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xuICAgIH1cblxuICAgICYtLXJlcXVpcmVkLWZpZWxkcyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5yZWNhcHRjaGEtY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLnJlY2FwdGNoYS1saXN0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMTZweCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbnMtc2V0LmZvcm0tYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi50YWJzLnJvb3Qge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgPiB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgPiAuY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5LXYtbGlnaHQ7XG4gICAgICAgID4gZGl2ID4gLmlubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgPiBkaXYuYWN0aXZlID4gLmlubmVye1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4udGFicy5tb2JpbGUge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBtYXJnaW46IDAgKC0kY29udGFpbmVyLXBhZCk7XG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCl7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjFzIGFsbCBlYXNlLWluLW91dDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgaTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZVooMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIuc3RvcmUtc3dpdGNoZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBUcmlnZ2VyXG4gICAgPiBhIHtcbiAgICAgICAgXG4gICAgICAgIC8vIEljb25cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUteHhzOztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgJHNwYWNlci1zMjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMXMgYWxsIGVhc2Utb3V0O1xuICAgICAgICAgICAgLmFjdGl2ZS1zdyAmIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYWN0aXZlLXN3IC5oZWFkZXIgJiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFN0b3JlIGxpc3RcbiAgICA+IHVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5hY3RpdmUtc3cge1xuICAgIEBleHRlbmQgJWFjdGl2ZS1iYWNrZHJvcDsgLy8gRW5hYmxlIGdyZXlkIG91dCBiYWNrZ3JvdW5kXG4gICAgLnRvcC10aXAuakJveC1Ub29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnN0b3Jlcy1zdyB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjIwNSU7XG4gICAgbGVmdDogLTM3cHg7XG4gICAgcmlnaHQ6IC0xMHB4O1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBwYWRkaW5nOiAxMHB4IDI5cHggMTBweCAwO1xuICAgIGJvcmRlci10b3A6ICRib3JkZXItdGhpbiBsaWdodGVuKCRkYXJrLDEwKTtcbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0oNCkgMDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICAgICAgICAgICY6aG92ZXIsICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5jaGVja291dC1jYXJ0LWluZGV4IHtcbiAgICAuYnJlYWRjcnVtYnMge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICAgIC5ibG9jay1wYWdlLWhlYWRpbmcge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgfVxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LXR5cGVzIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdDtcbiAgICB9XG5cbiAgICAuY2FydC1jb2xsYXRlcmFscy5ib3R0b20ge1xuICAgICAgICAuY2hlY2tvdXQtdHlwZXMge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtKDE1KSAwO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgcmVtKDYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgcmVtKDE1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmNhcnQtaGFzLWl0ZW1zLFxuLm9uZXN0ZXBjaGVja291dC1pbmRleC1pbmRleCB7XG4gICAgLmNoZWNrb3V0LXN0ZXBzLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5zaXRlLXF1aWNrLWFjY2VzcyxcbiAgICAuc2l0ZS1mb290ZXIsXG4gICAgLnNpdGUtdG9wLWxpbmtzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuY2F0ZWdvcnktZGVzY3JpcHRpb24sXG4gICAgLmNhcnQtY29sbGF0ZXJhbHMudG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5ibG9jay1wYWdlLWhlYWRpbmcge1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtMTQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNpdGUtZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnN1YmNhdGVnb3J5LWdyaWQge1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5pdGVtIC5wcm9kdWN0LXNpemUgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cyAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICB9XG59XG5cbi8vIENvbnRpbnVlIGJ1dHRvbiBjYXJldFxuLmNhcnQtY29sbGF0ZXJhbHMgPiAuYnV0dG9uLFxuLmNhcnQtY29udGVudCAuaGVhZCAuYnRuLWNvbnRpbnVlIHtcbiAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHBhZGRpbmc6IDAgNnB4IDAgMDtcbiAgICAgICAgbWFyZ2luOiAtMXB4IDAgMDtcbiAgICB9XG59XG5cbi5jYXJ0LWNvbGxhdGVyYWxzIHtcbiAgICBwYWRkaW5nOiByZW0oMzApIDA7XG4gICAgYm9yZGVyLXRvcDogJGJvcmRlci10aGluICRib3JkZXItZ3JleTtcbiAgICBtYXJnaW46IHJlbSgyMCkgMCAwO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luOiByZW0oNTApIDAgMDtcbiAgICB9XG4gICAgPiAuYnV0dG9uIHsgLy8gY29udGludWUgc2hvcHBpbmdcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHVsLmNoZWNrb3V0LXR5cGVzIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwIHJlbSgxNSk7XG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wYXlwYWwtbG9nbyAge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLWdyZXk7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjokYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0cmFucztcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxM3B4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogM3B4IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnBheXBhbC1vciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14eHM7O1xuICAgICAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1tO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idG4tY2hlY2tvdXQge1xuICAgICAgICAgICAgQGV4dGVuZCAucHJpbWFyeTtcbiAgICAgICAgICAgIEBleHRlbmQgLmJ1dHRvbi5sYXJnZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5idG4tY2hlY2tvdXQgaSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cblxuLmNhcnQtY29udGVudCB7XG4gICAgLndyYXAge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHhsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5oZWFkIHtcbiAgICAgICAgcGFkZGluZzogMjVweCAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICB1bC5jaGVja291dC10eXBlcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbmZvIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oMTApIHJlbSgxNSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCByZW0oMTUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LWRhcms7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOjNweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIHJlbSgxMCkgMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtKDEwKSAwIDA7XG4gICAgICAgIH1cbiAgICAgICAgLmJ0bi1jb250aW51ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnRuLWNoZWNrb3V0IHtcbiAgICAgICAgICAgIEBleHRlbmQgLnByaW1hcnk7XG4gICAgICAgICAgICBAZXh0ZW5kIC5idXR0b24ubGFyZ2U7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb2xzIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuICAgIC5jYXJ0LWNvbDEge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jYXJ0LXNpZGViYXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIFNwZW5kIMKjWCBtb3JlIHRvIGdldCBmcmVlIHNoaXBwaW5nXG4gICAgLnNwZW5kLW1vcmUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlci1tO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICBmaWVsZHNldCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG59XG5cbi5jYXJ0LXNpZGViYXIge1xuICAgIG1hcmdpbjogcmVtKDE1KSAwIDA7XG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuc2FtcGxlcyB7XG4gICAgICAgIGJvcmRlcjokYm9yZGVyLXRoaW4gJGJvcmRlci1ncmV5O1xuICAgICAgICBwYWRkaW5nOiAwIHJlbSgxNSk7XG4gICAgICAgIG1hcmdpbjogMCAwIHJlbSgxNSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXRoaW4gJGJvcmRlci1ncmV5O1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDE1KSAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wLWxpc3Qge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmRlc2Mge1xuICAgICAgICAgICAgZmxleC1ncm93OiAyO1xuICAgICAgICB9XG4gICAgICAgIC5hY3Rpb24ge1xuXG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbSgxNSkgMCAwO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRyYW5zO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiRibGFjaztcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmYgaW5zZXQ7XG4gICAgICAgICAgICAmLnNlY29uZGFyeSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zaG9wcGluZy1jYXJ0IHtcbiAgICBwYWRkaW5nOiAwIDAgcmVtKDMwKTtcbiAgICAvLyBMYXlvdXRcbiAgICAuY29sMSB7IC8vIE5hbWUgJiBpbWFnZVxuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNSk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb2wyIHsgLy8gUXVhbnRpdHlcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb2wzIHsgLy8gUHJpY2VcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5jb2w0IHsgLy8gQWN0aW9uc1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMSk7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICAuY2FydC1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgbWFyZ2luOiAwIDAgcmVtKDIwKTtcbiAgICAgICAgcGFkZGluZzogcmVtKDIwKSAwO1xuICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyLXRoaW4gJGJvcmRlci1ncmV5O1xuICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXRoaW4gJGJvcmRlci1ncmV5O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLW1heCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2FydC1ib2R5IHtcbiAgICAgICAgcGFkZGluZzogcmVtKDE1KSAwO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbC5jb2wxIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLml0ZW0tb3B0aW9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLW0yO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIHJlbSgxNSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5xdHktcmVtb3ZlLXdyYXBwZXIge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDBweDtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogJGJvcmRlci10aGluICRib3JkZXItZ3JleSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZi1jb25kLWJvbGQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLTE0O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM3cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzdweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDExKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhIHsgLy8gUGx1cyAmIE1pbnVzIGJ1dHRvbnNcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpbnB1dCB7IC8vIFF1YW50aXR5IGluZGljYXRvclxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnByaWNlIHtcblxuICAgICAgICB9XG4gICAgICAgIC5yZW1vdmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kYXJrO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaSB7IC8vIEljb25cbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtbDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7IC8vIFRleHRcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAkc3BhY2VyLXMyO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxufVxuXG4vLyBNb2JpbGUgcHJvZHVjdCBsaXN0IGxheW91dFxuQGluY2x1ZGUgbWVkaWEoJG1vYmlsZS1tYXgpIHtcbiAgICAuc2hvcHBpbmctY2FydCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCByZW0oMTUpO1xuICAgICAgICAvLyBUaGUgd3JhcFxuICAgICAgICAuY2FydC1ib2R5LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXRoaW4gJGJvcmRlci1ncmV5O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJGJvcmRlci10aGluICRib3JkZXItZ3JleTtcbiAgICAgICAgfVxuICAgICAgICAvLyBFYWNoIHByb2R1Y3RcbiAgICAgICAgLmNhcnQtYm9keSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLXRoaW4gJGJvcmRlci1ncmV5O1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDE1KSAwO1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29sIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oNSkgMDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgICAgICAvLyBMYWJlbHNcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZi1jb25kLWJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIENvbnRlbnRcbiAgICAgICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLnF0eS1yZW1vdmUtd3JhcHBlciA+ICoge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29sMjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6J1F1YW50aXR5Oic7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb2wzOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDonUHJpY2U6JztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb2wzICoge1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29sNCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAwO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAkYm9yZGVyLXRoaW4gJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oNSk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcnQtZm9vdGVyLWJsb2NrcyB7XG4gICAgLndyYXAge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cbiAgICAuY29sMXtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb2wyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5zaG9wcGluZy1jYXJ0LXRvdGFscyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLW1lZGl1bSAjY2NjY2NjO1xuICAgIHBhZGRpbmc6IHJlbSgyMCkgcmVtKDI1KTtcbiAgICBtYXJnaW46IDAgMCByZW0oMTUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgzMCkgcmVtKDQwKTtcbiAgICB9XG4gICAgLmNoZWNrb3V0LXRvdGFscyB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSgxMCkgMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1tO1xuICAgICAgICB9XG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgICAgfVxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYm9sZCB7XG4gICAgICAgIG1hcmdpbjogcmVtKDMwKSAwIHJlbSgxMCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIC52YWx1ZSxcbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXJ0LWVtcHR5IHtcbiAgICBwYWRkaW5nOiByZW0oNTApIDAgcmVtKDcwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTApIDA7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1tMjtcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgLnN1YmNhdGVnb3J5LWdyaWQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgLnN1YmNhdGVnb3J5LWl0ZW0tY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJsb2NrLW5ldy1pbiB7XG4gICAgICAgIC5ibG9jay10aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5lbXB0eSB7XG5cbiAgICBwIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDgwcHg7XG4gICAgICAgICAgICBjb2xvcjokZ3JleTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVwZGF0ZS1xdHktb3V0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOnJlbSgyMCkgMCByZW0oMTUpO1xuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUtbWF4KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCByZW0oMTUpO1xuICAgIH1cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LWxvZ2luLWluZGV4IHtcbiAgICAuYmxvY2stcGFnZS1oZWFkaW5nIHtcbiAgICAgICAgaDEge1xuXG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNhdGVnb3J5LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLnNpdGUtdG9wLWxpbmtzLnRvcC1saW5rcy1taW5pY2FydHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIC5ib3JkZXIsLm15LWFjY291bnQtbW51LC5zaWduLW91dCwuaWNvbi1iYWcgLmFqYXhjYXJ0X2NvbnRhaW5lciAjaGVhZGVyLWNhcnQtdHJpZ2dlcntcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgI2hlYWRlci1jYXJ0e1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgIH1cbiAgICAuaWNvbi1iYWcgLmJsb2NrLWNhcnQgLml0ZW17XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbi5idG4tbW9iaWxlLWNsb3Nle1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY2FydC1wcm9tb3Rpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBhIHtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbn1cbi5jYXJ0LXJlY2VudC1wcm9kdWN0cyB7XG4gICAgcGFkZGluZzogJHNwYWNlci1tIHJlbSgyMCkgMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICA+IGxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci10aGluICNjY2M7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAwICRzcGFjZXItbTtcbiAgICAgICAgQGluY2x1ZGUgZi1jb25kLW1lZGl1bTtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLWw7XG4gICAgfVxufVxuXG4vLyBHaWZ0ICYgdm91Y2hlciBjb2Rlc1xuLmNhcnQtY29kZXMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIC5hY2NvcmRpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTUpIHJlbSgyMCk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpe1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDIwKSByZW0oNTApO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDE1KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYS5hY2NvcmRpb24tdHJpZ2dlciB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS1sO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXItbSAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgICAgY29sb3I6JGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS0xNDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNlci1zO1xuICAgIH1cbiAgICAuaW5wdXQtYm94IGlucHV0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgcGFkZGluZzogcmVtKDE3KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAucHJpbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICBwYWRkaW5nOiByZW0oMjApO1xuICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2VyLWw7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5zZWNvbmRhcnkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogcmVtKDUpIDAgMDtcbiAgICAgICAgcGFkZGluZzogcmVtKDEwKSAwO1xuICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBjb2xvcjojZmZmO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZpZWxkc2V0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cbi8vIEdpZnQgY2FyZCBzcGVjaWZpY1xuLmNoZWNrb3V0LXRvdGFscy5naWZ0Y2FyZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAtOHB4IHJlbSgxMikgMCAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlLW1heCkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oNSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG59XG4jZ2MtcGxlYXNlLXdhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiByZW0oMTApO1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBtYXJnaW46IHJlbSgxMCkgMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjojZmZmO1xufVxuLmdpZnQtY2FyZC1pbmZvIHtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgJGJsYWNrO1xuICAgIHBhZGRpbmc6IDAgcmVtKDE1KTtcbiAgICBtYXJnaW46IDAgMCByZW0oMzApO1xuICAgIHAge1xuICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgfVxufVxuI2dpZnRjYXJkX2JhbGFuY2VfbG9va3VwIHtcbiAgICAuZXJyb3ItbXNnIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgcmVtKDE1KTtcbiAgICAgICAgcGFkZGluZzogcmVtKDEwKTtcbiAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcbiAgICAgICAgY29sb3I6I2ZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLy8gVm91Y2hlcnNcbi5kaXNjb3VudC1hcHBsaWVkIHtcbiAgICAuY29kZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMSkgcmVtKDEwKTtcbiAgICAgICAgbWFyZ2luOiByZW0oNSkgMDtcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhzO1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDIlO1xuICAgICAgICB9XG4gICAgICAgIC5hY3Rpb24ge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpIHtmb250LXNpemU6IDE2cHg7fVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIEdpZnQgd3JhcHBpbmdcbi5naWZ0LXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6ICRmLXNpemUteHM7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KXtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCl7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgICAuY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOjYwJTtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjojZmZmO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHRyYW5zO1xuICAgICAgICBib3JkZXItY29sb3I6I2ZmZjtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7XG4gICAgICAgIG1hcmdpbjogMCByZW0oMjApIDAgcmVtKDEwKTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMwMDAgaW5zZXQ7XG4gICAgICAgICYucHJpbWFyeSwgJi5wcmltYXJ5OmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmZmZmYsIDAuNSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBQcm9tbyBzZWN0aW9uXG4uY2FydC1zaWRlYmFyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAuZ2lmdC13cmFwLCAucHJvbW8ge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTIpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KXtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCl7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5wcm9tbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgxNSk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpe1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCl7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTaG9wcGluZyBiYWcgdG90YWxzXG4uY2FydC10b3RhbC1wcmljZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcGFkZGluZzogMCByZW0oNDApO1xuICAgIGxhYmVsLCBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLW0yIDAgJHNwYWNlci1tO1xuICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyLXRoaW4gI2NjYztcbiAgICAgICAgZm9udC1zaXplOiAkZi1zaXplLXhsO1xuICAgICAgICBAaW5jbHVkZSBmLWNvbmQtYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICAgIC5wcmljZSB7XG5cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuXG4vLyBDcm9zc3NlbGwgc2VjdGlvblxuLmNyb3Nzc2VsbCB7XG4gICAgYm9yZGVyLXRvcDogJGJvcmRlci10aGluICNjY2M7XG4gICAgcGFkZGluZzogMCAwIHJlbSg1MCk7XG4gICAgaDIge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlci1sIDA7XG4gICAgfVxufVxuIiwiLyogcGVyZmVjdC1zY3JvbGxiYXIgdjAuNi4xNiAqL1xuLnBzLWNvbnRhaW5lciB7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogYXV0bztcbiAgICB0b3VjaC1hY3Rpb246IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbn1cbkBzdXBwb3J0cyAoLW1zLW92ZXJmbG93LXN0eWxlOiBub25lKSB7XG4gICAgLnBzLWNvbnRhaW5lciB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAucHMtY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5wcy1jb250YWluZXIucHMtYWN0aXZlLXggPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCxcbi5wcy1jb250YWluZXIucHMtYWN0aXZlLXkgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5wcy1jb250YWluZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXggPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICBvcGFjaXR5OiAwLjk7XG59XG5cbi5wcy1jb250YWluZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXggPiAucHMtc2Nyb2xsYmFyLXgtcmFpbCA+IC5wcy1zY3JvbGxiYXIteCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgICBoZWlnaHQ6IDExcHg7XG59XG5cbi5wcy1jb250YWluZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXkgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICBvcGFjaXR5OiAwLjk7XG59XG5cbi5wcy1jb250YWluZXIucHMtaW4tc2Nyb2xsaW5nLnBzLXkgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCA+IC5wcy1zY3JvbGxiYXIteSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5OTtcbiAgICB3aWR0aDogMTFweDtcbn1cblxuLnBzLWNvbnRhaW5lciA+IC5wcy1zY3JvbGxiYXIteC1yYWlsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvKiBwbGVhc2UgZG9uJ3QgY2hhbmdlICdwb3NpdGlvbicgKi9cbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgb3BhY2l0eSAwLjJzIGxpbmVhcjtcbiAgICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgb3BhY2l0eSAwLjJzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICAgIGJvdHRvbTogMDtcbiAgICAvKiB0aGVyZSBtdXN0IGJlICdib3R0b20nIGZvciBwcy1zY3JvbGxiYXIteC1yYWlsICovXG4gICAgaGVpZ2h0OiAxNXB4O1xufVxuXG4ucHMtY29udGFpbmVyID4gLnBzLXNjcm9sbGJhci14LXJhaWwgPiAucHMtc2Nyb2xsYmFyLXgge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvKiBwbGVhc2UgZG9uJ3QgY2hhbmdlICdwb3NpdGlvbicgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgaGVpZ2h0IDAuMnMgbGluZWFyLCB3aWR0aCAwLjJzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJvcmRlci1yYWRpdXMgMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBoZWlnaHQgMC4ycyBsaW5lYXIsIHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm9yZGVyLXJhZGl1cyAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXIsIGhlaWdodCAwLjJzIGxpbmVhciwgd2lkdGggMC4ycyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgaGVpZ2h0IDAuMnMgbGluZWFyLCB3aWR0aCAwLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItcmFkaXVzIDAuMnMgZWFzZS1pbi1vdXQsIC1tb3otYm9yZGVyLXJhZGl1cyAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXIsIGhlaWdodCAwLjJzIGxpbmVhciwgd2lkdGggMC4ycyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXIsIGhlaWdodCAwLjJzIGxpbmVhciwgd2lkdGggMC4ycyBlYXNlLWluLW91dCwgYm9yZGVyLXJhZGl1cyAwLjJzIGVhc2UtaW4tb3V0LCAtd2Via2l0LWJvcmRlci1yYWRpdXMgMC4ycyBlYXNlLWluLW91dCwgLW1vei1ib3JkZXItcmFkaXVzIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgYm90dG9tOiAycHg7XG4gICAgLyogdGhlcmUgbXVzdCBiZSAnYm90dG9tJyBmb3IgcHMtc2Nyb2xsYmFyLXggKi9cbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLnBzLWNvbnRhaW5lciA+IC5wcy1zY3JvbGxiYXIteC1yYWlsOmFjdGl2ZSA+IC5wcy1zY3JvbGxiYXIteCxcbi5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXgtcmFpbDpob3ZlciA+IC5wcy1zY3JvbGxiYXIteCB7XG4gICAgaGVpZ2h0OiAxMXB4O1xufVxuXG4ucHMtY29udGFpbmVyID4gLnBzLXNjcm9sbGJhci15LXJhaWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8qIHBsZWFzZSBkb24ndCBjaGFuZ2UgJ3Bvc2l0aW9uJyAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXIsIG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBvcGFjaXR5IDAuMnMgbGluZWFyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXIsIG9wYWNpdHkgMC4ycyBsaW5lYXI7XG4gICAgcmlnaHQ6IDA7XG4gICAgLyogdGhlcmUgbXVzdCBiZSAncmlnaHQnIGZvciBwcy1zY3JvbGxiYXIteS1yYWlsICovXG4gICAgd2lkdGg6IDE1cHg7XG59XG5cbi5wcy1jb250YWluZXIgPiAucHMtc2Nyb2xsYmFyLXktcmFpbCA+IC5wcy1zY3JvbGxiYXIteSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8qIHBsZWFzZSBkb24ndCBjaGFuZ2UgJ3Bvc2l0aW9uJyAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBoZWlnaHQgMC4ycyBsaW5lYXIsIHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm9yZGVyLXJhZGl1cyAwLjJzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBsaW5lYXIsIGhlaWdodCAwLjJzIGxpbmVhciwgd2lkdGggMC4ycyBlYXNlLWluLW91dCwgLXdlYmtpdC1ib3JkZXItcmFkaXVzIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgaGVpZ2h0IDAuMnMgbGluZWFyLCB3aWR0aCAwLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItcmFkaXVzIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgbGluZWFyLCBoZWlnaHQgMC4ycyBsaW5lYXIsIHdpZHRoIDAuMnMgZWFzZS1pbi1vdXQsIGJvcmRlci1yYWRpdXMgMC4ycyBlYXNlLWluLW91dCwgLW1vei1ib3JkZXItcmFkaXVzIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgaGVpZ2h0IDAuMnMgbGluZWFyLCB3aWR0aCAwLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItcmFkaXVzIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGxpbmVhciwgaGVpZ2h0IDAuMnMgbGluZWFyLCB3aWR0aCAwLjJzIGVhc2UtaW4tb3V0LCBib3JkZXItcmFkaXVzIDAuMnMgZWFzZS1pbi1vdXQsIC13ZWJraXQtYm9yZGVyLXJhZGl1cyAwLjJzIGVhc2UtaW4tb3V0LCAtbW96LWJvcmRlci1yYWRpdXMgMC4ycyBlYXNlLWluLW91dDtcbiAgICByaWdodDogMnB4O1xuICAgIC8qIHRoZXJlIG11c3QgYmUgJ3JpZ2h0JyBmb3IgcHMtc2Nyb2xsYmFyLXkgKi9cbiAgICB3aWR0aDogNnB4O1xufVxuXG4ucHMtY29udGFpbmVyID4gLnBzLXNjcm9sbGJhci15LXJhaWw6YWN0aXZlID4gLnBzLXNjcm9sbGJhci15LFxuLnBzLWNvbnRhaW5lciA+IC5wcy1zY3JvbGxiYXIteS1yYWlsOmhvdmVyID4gLnBzLXNjcm9sbGJhci15IHtcbiAgICB3aWR0aDogMTFweDtcbn1cblxuLnBzLWNvbnRhaW5lcjpob3Zlci5wcy1pbi1zY3JvbGxpbmcucHMteCA+IC5wcy1zY3JvbGxiYXIteC1yYWlsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLnBzLWNvbnRhaW5lcjpob3Zlci5wcy1pbi1zY3JvbGxpbmcucHMteCA+IC5wcy1zY3JvbGxiYXIteC1yYWlsID4gLnBzLXNjcm9sbGJhci14IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xuICAgIGhlaWdodDogMTFweDtcbn1cblxuLnBzLWNvbnRhaW5lcjpob3Zlci5wcy1pbi1zY3JvbGxpbmcucHMteSA+IC5wcy1zY3JvbGxiYXIteS1yYWlsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLnBzLWNvbnRhaW5lcjpob3Zlci5wcy1pbi1zY3JvbGxpbmcucHMteSA+IC5wcy1zY3JvbGxiYXIteS1yYWlsID4gLnBzLXNjcm9sbGJhci15IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIHdpZHRoOiAxMXB4O1xufVxuXG4ucHMtY29udGFpbmVyOmhvdmVyID4gLnBzLXNjcm9sbGJhci14LXJhaWwsXG4ucHMtY29udGFpbmVyOmhvdmVyID4gLnBzLXNjcm9sbGJhci15LXJhaWwge1xuICAgIG9wYWNpdHk6IDAuNjtcbn1cblxuLnBzLWNvbnRhaW5lcjpob3ZlciA+IC5wcy1zY3JvbGxiYXIteC1yYWlsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLnBzLWNvbnRhaW5lcjpob3ZlciA+IC5wcy1zY3JvbGxiYXIteC1yYWlsOmhvdmVyID4gLnBzLXNjcm9sbGJhci14IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk5O1xufVxuXG4ucHMtY29udGFpbmVyOmhvdmVyID4gLnBzLXNjcm9sbGJhci15LXJhaWw6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4ucHMtY29udGFpbmVyOmhvdmVyID4gLnBzLXNjcm9sbGJhci15LXJhaWw6aG92ZXIgPiAucHMtc2Nyb2xsYmFyLXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG59IiwiLmNvb2tpZW1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGJvdHRvbSBlYXNlLW91dDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIGNvbG9yOiR3aGl0ZTtcbiAgICB6LWluZGV4OiAkei1jb29raWUtbXNnO1xuICAgIHBhZGRpbmc6ICRzcGFjZXItcyAyNXB4ICRzcGFjZXItcyAkc3BhY2VyLXM7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZXItcztcbiAgICB9XG5cbiAgICAmLmluYWN0aXZlIHtcbiAgICAgICAgYm90dG9tOiAtMTAwcHg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjb2xvcjogJGdyZXktbGlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJGYtc2l6ZS14cztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmLXNpemUtcztcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuLWNvb2tpZS1hY2NlcHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIG1hcmdpbjogLTlweCAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIH1cbiAgICB9XG59IiwiaWZyYW1lI2lmcmFtZVJlZ0NhcmQge1xuICBoZWlnaHQ6IDUxOHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAkYm9yZGVyLXRoaW4gIzY2NjtcbiAgcGFkZGluZzogMCAyMHB4O1xufVxuXG5pZnJhbWUjc2FnZXBheWRpcmVjdHByby1pZnJhbWUtcG9zdCB7XG4gIGhlaWdodDo1MDBweDtcbiAgd2lkdGg6MTAwJTtcbiAgYm9yZGVyOm5vbmU7XG59XG5cbmRpdiNkaXJlY3QzZC1sb2dvcyB7XG4gIHdpZHRoOiAzNTFweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cbmRpdiNkaXJlY3QzZC1sb2dvcyBpbWcge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG5kaXYuc2FnZWNhcmRoMSB7XG4gIGgxIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbiAgaW1nIHtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbn1cblxuc2VsZWN0I3NhZ2VwYXl0b2tlbl9zdGFydF95cixcbnNlbGVjdCNzYWdlcGF5dG9rZW5fc3RhcnQsXG5zZWxlY3Qjc2FnZXBheXRva2VuX2V4cGlyYXRpb25feXIsXG5zZWxlY3Qjc2FnZXBheXRva2VuX2V4cGlyYXRpb24ge1xuICB3aWR0aDogMTI1cHg7XG59XG5zZWxlY3Qjc2FnZXBheXRva2VuX3N0YXJ0LFxuc2VsZWN0I3NhZ2VwYXl0b2tlbl9leHBpcmF0aW9uIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG5mb3JtI2ZybVJlZ0NhcmQgaW5wdXQuY3Z2IHtcbiAgd2lkdGg6M2VtICFpbXBvcnRhbnQ7XG59XG5cbi5zaWRlYmFyIHtcbiAgLnNhZ2VwYXlzdWl0ZS1sb2dvIHtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIG1hcmdpbjoxMHB4IDA7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gIH1cbiAgLnNhZ2VwYXlzdWl0ZS1sb2dvIGEge1xuICAgIGZsb2F0Om5vbmU7XG4gIH1cbn1cblxuI3NhZ2VwYXlkaXJlY3Rwcm9fY2NfdHlwZV9jdnZfZGl2IHtcbiAgLmN2di13aGF0LWlzLXRoaXMge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICRncmV5LWRhcms7XG4gICAgY3Vyc29yOiBoZWxwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGRhcms7XG4gICAgfVxuICB9XG59XG4jcGF5bWVudF9mb3JtX3NhZ2VwYXlkaXJlY3Rwcm8ge1xuICBsYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmlucHV0LWJveCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbiAgLnYtZml4IHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gIH1cbiAgLnJlcXVpcmVkIGVtIHtcbiAgICBjb2xvcjokcmVkLWxpZ2h0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgN3B4IDAgLTEzcHg7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB9XG59XG4jc2FnZXBheWRpcmVjdHByb19jY190eXBlX3NzX2RpdiB7XG4gIHVsID4gbGkge1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICB9XG59XG5cbiNwYXltZW50X2Zvcm1fc2FnZXBheWRpcmVjdHBybyB7XG4gIHBhZGRpbmctdG9wOiAkc3BhY2VyLW07XG59XG5cbmxpLmNjX25pY2tuYW1lX2NoZWNrYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTtcbiAgcGFkZGluZzogMCAwICRzcGFjZXItcztcblxuICBpbnB1dCB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgbWFyZ2luOiAwICRzcGFjZXItczIgMCAwO1xuICB9XG59IiwiLy8gTGF5b3V0c1xuLmZvcmdvdC1wYXNzd29yZCxcbi5hY2NvdW50LWNyZWF0ZSxcbi5yZXNldC1mb3Jnb3QtcGFzc3dvcmQsXG4ubXktYWNjb3VudC13cmFwcGVyIC5hY2NvdW50LWNvbnRlbnRcbntcbiAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbn1cblxuLy8gRm9ybXNcbi5hY2NvdW50LWNyZWF0ZSxcbi5hY2NvdW50LWxvZ2luLFxuLmZvcmdvdC1wYXNzd29yZCxcbi5teS1hY2NvdW50LFxuLnJlc2V0LWZvcmdvdC1wYXNzd29yZCB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjZXIteGw7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXIteGw7XG5cbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuYnV0dG9ucy1zZXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjZXItcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZXJ5IGZpZWxkIGlzIG1hbmRhdG9yeSBmb3Igbm93IHNvIGhpZGUgdGhlIGFzdHJpeC5cbiAgICBlbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ubXktYWNjb3VudCB7XG4gICAgcGFkZGluZy10b3A6ICRzcGFjZXItcztcbn0iLCIubXktYWNjb3VudC13cmFwcGVyIHtcbiAgICAucHJvbW8tYmFyLXRvcC0td3JhcHBlcixcbiAgICAucHJvbW8tbWVzc2FnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWFpbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2VyLWw7XG4gICAgICAgIGgxIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkc3BhY2VyLWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAuY29sMi1sZWZ0LWxheW91dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC1tYWluIHtcbiAgICAgICAgICAgIGZsZXg6IDI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkc3BhY2VyLWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sLXNpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9ja1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmFjY291bnQtbmF2aWdhdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JleS12LWxpZ2h0O1xuICAgIHBhZGRpbmc6ICRzcGFjZXItbSAwO1xuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgPiAuYmxvY2sge1xuICAgICAgICBAaW5jbHVkZSBjb250YWluZXIoKTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgICAgIC8vIGJvcmRlci1ib3R0b206ICRib3JkZXItdGhpbiAjY2NjY2NjO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci1zO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZXItbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6JGdyZXktZGFyaztcbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZGFzaGJvYXJkIHtcbiAgICAubWVzc2FnZXMge1xuICAgICAgICBtYXJnaW46IDAgMCAkc3BhY2VyLW07XG4gICAgfVxuICAgIC53ZWxjb21lLW1zZyB7XG4gICAgICAgIG1hcmdpbjogMCAwICRzcGFjZXIteGw7XG4gICAgICAgIC5oZWxsbyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmLWNvbmQtYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0oMzIpO1xuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5jb2wyLXNldCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5jb2wtMSxcbiAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLWw7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2VyLWw7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgLmNvbC0xIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzcGFjZXItbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJHNwYWNlci1tO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgXG4gICAgaDMge1xuICAgICAgICBwYWRkaW5nOiAwIDAgJHNwYWNlci1zIDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIC5ib3gtcmVjZW50IHtcbiAgICAgICAgbWFyZ2luOiAkc3BhY2VyLXhsIDA7XG4gICAgICAgIC5ib3gtaGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAkc3BhY2VyLW07XG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAkc3BhY2VyLW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRhdGEtdGFibGUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJGJvcmRlci10aGluICRib3JkZXItZ3JleTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItdGhpbiAkYm9yZGVyLWdyZXk7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2VyLXMgMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAuZGFzaGJvYXJkLWFkZHJlc3NlcyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRzcGFjZXItbDtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS12LWxpZ2h0O1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlci1sICRzcGFjZXItbCAwICRzcGFjZXItbDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBhZGRyZXNzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjZXItcztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICAuY29sLTEsXG4gICAgICAgICAgICAuY29sLTIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmluZm8tYm94IHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZm9yZ290LXBhc3N3b3JkIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xufVxuIiwiLmFjY291bnQtY3JlYXRlIHtcbiAgICAuY29sMi1zZXQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wtMSxcbiAgICAuY29sLTIge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2VyLWw7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC0yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNlci1sO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgLmNvbC0xIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjZXItbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5yZXNldC1mb3Jnb3QtcGFzc3dvcmQge1xuICAgIC5jb2wyLXNldCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5jb2wtMSxcbiAgICAgICAgLmNvbC0yIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgLmNvbDItc2V0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAuY29sLTEsXG4gICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC0xIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjZXItbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2wtMiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjZXItbTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJib2R5LnNhbGVzLW9yZGVyLWhpc3Rvcnkge1xuICAgIC5wYWdlciB7XG4gICAgICAgIGJvcmRlci10b3A6ICRib3JkZXItdGhpbiAkYm9yZGVyLWdyZXk7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZXItbSAwIDA7XG4gICAgICAgIG1hcmdpbjogJHNwYWNlci1sIDAgMDtcbiAgICAgICAgcC5hbW91bnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAubGltaXRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAkc3BhY2VyLW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4jbXktb3JkZXJzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0aCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjZXItcyAkc3BhY2VyLW07XG4gICAgfVxuICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogJHNwYWNlci1zICRzcGFjZXItbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5hY2NvdW50LWNvbnRlbnQgeyBcbiAgICAudGl0bGUtYnV0dG9ucyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwICRzcGFjZXItbTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm9yZGVyLWluZm8tYm94LCAub3JkZXItZGV0YWlscyB7XG4gICAgcGFkZGluZzogMCAwICRzcGFjZXItbTtcbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGYtY29uZC1ib2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW46ICRzcGFjZXItbSAwO1xuICAgIH1cbn0iLCJib2R5Lm5ld3NsZXR0ZXItbWFuYWdlLWluZGV4IHtcbiAgICAubXktYWNjb3VudCB7XG4gICAgICAgID4gZm9ybSB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXItbCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi5hY2NvdW50LWxvZ2luIHtcbiAgICAuY29sMi1zZXQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wtMSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6ICRib3JkZXItdGhpbiAjZWVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC0xLFxuICAgIC5jb2wtMiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRzcGFjZXIteGw7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbC0yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHNwYWNlci1sO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgLmNvbC0xIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjZXItbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuIiwiYS5xdWljay1saW5rIHtcbiAgcGFkZGluZzo4cHggMTZweDtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBjb2xvcjogIzAxMDEwMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogbGlnaHRlbigjMDEwMTAxLCAyMCUpO1xuICB9XG59XG5cbi5jYXRlZ29yeS1xdWljay1saW5rcyB7XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGF1dG87XG5cbiAgLnF1aWNrLWxpbmsge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICB9XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
