/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* 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 {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .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; }

.content {
  position: relative; }
  @media (min-width: 1200px) {
    .content {
      max-width: 1440px;
      margin-left: auto;
      margin-right: auto; }
      .content:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (max-width: 1199px) {
    .content {
      max-width: 1016px;
      margin-left: auto;
      margin-right: auto; }
      .content:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (min-width: 768px) and (max-width: 1024px) {
    .content {
      max-width: 1440px;
      margin-left: auto;
      margin-right: auto; }
      .content:after {
        content: " ";
        display: block;
        clear: both; } }
  @media (max-width: 767px) {
    .content {
      max-width: 100%;
      margin-left: auto;
      margin-right: auto;
      padding: 0; }
      .content:after {
        content: " ";
        display: block;
        clear: both; } }

.show {
  display: block; }

.hide {
  display: none; }

.inside-content {
  width: 80.55556%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  margin-left: 9.72222%; }
  @media (max-width: 1199px) {
    .inside-content {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%; } }

.center {
  margin: 0 auto;
  text-align: center; }

.left {
  text-align: left; }

.float-left {
  float: left; }

.right {
  text-align: right; }

.float-right {
  float: right; }

.half-always {
  width: 47.22222%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%; }

.half {
  width: 47.22222%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  position: relative;
  margin-bottom: 24px; }
  @media (max-width: 1024px) {
    .half {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%;
      width: 100%;
      margin: 0; } }

.thirds-always {
  width: 30.55556%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%; }
  @media (max-width: 767px) {
    .thirds-always {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%; } }

.thirds {
  width: 30.55556%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%; }
  @media (max-width: 1024px) {
    .thirds {
      float: none;
      width: 100%; } }

.fourths {
  width: 22.22222%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%; }
  @media (max-width: 1024px) {
    .fourths {
      float: none;
      width: 100%; } }

@media (max-width: 1024px) {
  .mobile-nodisplay {
    display: none; } }

.flex-container-row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: row;
      -ms-flex-flow: row;
          flex-flow: row; }

.flex-container-col {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-flow: column;
      -ms-flex-flow: column;
          flex-flow: column; }

* {
  box-sizing: border-box; }

html {
  font-family: "proximanova-regular", verdana, arial;
  font-size: 16px; }
  @media (max-width: 1024px) {
    html {
      font-size: 14.4px; } }

a {
  -webkit-transition: color .25s;
  transition: color .25s;
  text-decoration: none; }
  a:hover {
    text-decoration: underline; }
  a:focus {
    outline: none; }

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  margin: 0;
  padding: 1.5rem 0; }

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none; }

::selection {
  background: #b3d4fc;
  text-shadow: none; }

hr {
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #ccc; }

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

button:focus {
  outline: none; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

textarea {
  resize: vertical; }

.clearfix:after {
  content: '';
  display: table;
  clear: both; }

.homepage .primary-nav {
  background-color: #ff4833; }
  .homepage .primary-nav .bg-white {
    background: transparent; }
  .homepage .primary-nav .button {
    border-color: #252536; }
    .homepage .primary-nav .button:before, .homepage .primary-nav .button:after {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAAECAYAAADfyyz1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyYjU4NWQ4MC0zOTZhLTRhODAtYjVmMi02YTMwMDNmNThjMGUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjFBQ0JFMTRGMkMxMTFFNTkxQTI5OEFENEEyMDlENTUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjFBQ0JFMTNGMkMxMTFFNTkxQTI5OEFENEEyMDlENTUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDc3OTI3MWMtMDBkMi01MTQ3LTg4NTUtNTczODU3Y2RiODFmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MzExODUyMjctZjFkZC0xMWU1LThlOGQtYThmMTJhYWNiYTNlIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+RQX+DwAAACxJREFUeNpifOSg/Z8BAhgZBifA6z7Z/Vfwan7sqAPWz8QwQsCoR4cbAAgwAKcfB1QQq8LXAAAAAElFTkSuQmCC"); }
      @media (max-width: 1024px) {
        .homepage .primary-nav .button:before, .homepage .primary-nav .button:after {
          background-image: none; } }
    .homepage .primary-nav .button span:hover {
      background: #252536; }
  .homepage .primary-nav .sticky .button {
    border-color: #ff4833; }
  .homepage .primary-nav .main-menu a {
    color: #fff; }
    .homepage .primary-nav .main-menu a:hover {
      color: #252536; }
  .homepage .primary-nav .main-menu .sub-nav a {
    z-index: 100;
    color: #252536; }
    .homepage .primary-nav .main-menu .sub-nav a:hover {
      color: #ff4833; }
  .homepage .primary-nav .utils a {
    color: #fff; }
    .homepage .primary-nav .utils a:hover {
      color: #252536; }
  .homepage .primary-nav .main-menu-wrapper {
    width: 100%;
    background-color: #ff4833; }
    .homepage .primary-nav .main-menu-wrapper .head-logo {
      height: 50px;
      margin-top: 8px;
      background: transparent url("../images/svg-xively-white.svg") no-repeat left top;
      height: 60px; }
    .homepage .primary-nav .main-menu-wrapper.sticky {
      background-color: #fff;
      -webkit-transition: background-color 2s;
      transition: background-color 2s; }
      .homepage .primary-nav .main-menu-wrapper.sticky .main-menu a {
        -webkit-transition: color 2s;
        transition: color 2s;
        color: #252536; }
        .homepage .primary-nav .main-menu-wrapper.sticky .main-menu a:hover {
          -webkit-transition: color .5s;
          transition: color .5s;
          color: #ff4833; }
        @media (max-width: 1024px) {
          .homepage .primary-nav .main-menu-wrapper.sticky .main-menu a:before, .homepage .primary-nav .main-menu-wrapper.sticky .main-menu a:after {
            background-image: none; } }
      .homepage .primary-nav .main-menu-wrapper.sticky .button:before, .homepage .primary-nav .main-menu-wrapper.sticky .button:after {
        background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAAECAYAAADfyyz1AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAAKElEQVQoz2P8////fwYGBgZGRkZGhkEIKHUfTD/TQHuEXmDUo8MNAACbGQwETlbzugAAAABJRU5ErkJggg==");
        -webkit-transition: background-image 2s;
        transition: background-image 2s; }
      .homepage .primary-nav .main-menu-wrapper.sticky .button span:hover {
        background: #ff4833; }
      .homepage .primary-nav .main-menu-wrapper.sticky .head-logo {
        background: transparent url("../images/svg-xively-logo.svg") no-repeat left top; }
  @media (min-width: 768px) {
    .homepage .primary-nav .main-menu li:hover {
      border-bottom: 4px solid #252536; }
    .homepage .primary-nav .sticky .main-menu li:hover {
      border-bottom: 4px solid #ff4833; }
    .homepage .primary-nav .main-menu li li:hover {
      border: 0; }
    .homepage .primary-nav .sticky .main-menu li li:hover {
      border-bottom: 0; } }

.main-menu-wrapper.sticky {
  border-bottom: 1px solid rgba(55, 55, 72, 0.5); }

.primary-nav {
  height: 108px;
  background-color: #fff;
  font-family: 'proximanova-regular';
  font-weight: 600; }
  @media (max-width: 1024px) {
    .primary-nav {
      height: 68px; } }
  .primary-nav .main-menu-wrapper {
    position: fixed;
    top: 42px;
    z-index: 9999;
    width: 100%;
    margin: 0;
    background-color: #fff; }
    .primary-nav .main-menu-wrapper.sticky {
      top: 0;
      background-color: #fff; }
    @media (max-width: 1024px) {
      .primary-nav .main-menu-wrapper {
        position: relative;
        top: 0;
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
            -ms-flex-order: 1;
                order: 1;
        background-color: transparent; } }
  .primary-nav .off-canvas.open {
    display: block;
    left: 0;
    -webkit-transition: .4s;
    transition: .4s;
    overflow: auto; }
  @media (max-width: 1024px) {
    .primary-nav .off-canvas {
      position: fixed;
      top: 0;
      left: -120%;
      z-index: 9999;
      width: 100%;
      height: 100%;
      background: #e8e0de;
      -webkit-transition: .4s;
      transition: .4s;
      text-align: left; } }
  .primary-nav img {
    width: 100%; }
  .primary-nav .mobile-menu .head-logo {
    width: 200px; }
    .primary-nav .mobile-menu .head-logo .header-logo {
      display: block;
      height: 60px; }
  .primary-nav .mobile-menu .mobile-menu-icon {
    width: 13.88889%;
    float: right;
    margin-left: 1.38889%;
    margin-right: 1.38889%;
    height: 30px;
    margin-top: 16px;
    background: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjwhRE9DVFlQRSBzdmcgIFBVQkxJQyAnLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4nICAnaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkJz48c3ZnIGhlaWdodD0iMzJweCIgaWQ9IkxheWVyXzEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDMyIDMyOyIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMnB4IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48cGF0aCBkPSJNNCwxMGgyNGMxLjEwNCwwLDItMC44OTYsMi0ycy0wLjg5Ni0yLTItMkg0QzIuODk2LDYsMiw2Ljg5NiwyLDhTMi44OTYsMTAsNCwxMHogTTI4LDE0SDRjLTEuMTA0LDAtMiwwLjg5Ni0yLDIgIHMwLjg5NiwyLDIsMmgyNGMxLjEwNCwwLDItMC44OTYsMi0yUzI5LjEwNCwxNCwyOCwxNHogTTI4LDIySDRjLTEuMTA0LDAtMiwwLjg5Ni0yLDJzMC44OTYsMiwyLDJoMjRjMS4xMDQsMCwyLTAuODk2LDItMiAgUzI5LjEwNCwyMiwyOCwyMnoiLz48L3N2Zz4=") no-repeat center center;
    color: #252536;
    cursor: pointer; }
  @media (min-width: 1025px) {
    .primary-nav .mobile-menu {
      display: none; } }
  .primary-nav .nav-logos,
  .primary-nav .show-all {
    display: block;
    position: relative;
    width: 280px;
    height: 140px;
    margin-left: 20px;
    background-color: #fff;
    text-align: center; }
    .primary-nav .nav-logos img:last-child,
    .primary-nav .show-all img:last-child {
      display: none; }
    .primary-nav .nav-logos img:first-child,
    .primary-nav .show-all img:first-child {
      display: block; }
    .primary-nav .nav-logos:hover,
    .primary-nav .show-all:hover {
      background: #ff4833; }
      .primary-nav .nav-logos:hover img:last-child,
      .primary-nav .show-all:hover img:last-child {
        display: block; }
      .primary-nav .nav-logos:hover img:first-child,
      .primary-nav .show-all:hover img:first-child {
        display: none; }
    .primary-nav .nav-logos img,
    .primary-nav .show-all img {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      width: 65%;
      margin: auto; }
  .primary-nav .show-all {
    padding-top: 13%;
    background-color: #d5d4dc; }
    .primary-nav .show-all:after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      right: 0;
      bottom: -30px;
      left: 0;
      width: 25px;
      height: 25px;
      margin: auto;
      background: url("../images/next-icon-right-prpl.png") no-repeat; }
    .primary-nav .show-all:hover {
      background: #464646;
      color: #fff; }
      .primary-nav .show-all:hover:after {
        content: '';
        background: url("../images/next-icon-right.png") no-repeat; }
  .primary-nav .head-logo {
    width: 13.88889%;
    float: left;
    margin-left: 1.38889%;
    margin-right: 1.38889%;
    margin-left: 0;
    background: transparent url("../images/svg-xively-logo.svg") no-repeat left top;
    background-size: cover;
    line-height: 3.5em;
    text-indent: -999em; }
    @media (max-width: 1199px) {
      .primary-nav .head-logo {
        margin-top: 6px; } }
    @media (max-width: 1024px) {
      .primary-nav .head-logo {
        width: 47.22222%;
        float: left;
        margin-left: 1.38889%;
        margin-right: 1.38889%;
        margin-top: 0;
        background: transparent url("../images/xively-logo-purple.svg") no-repeat left top; }
        .primary-nav .head-logo.recolor {
          margin-top: 15px; } }
  .primary-nav .header-logo {
    display: block; }
  .primary-nav .btn-header {
    float: right;
    margin-top: 10px; }
    @media (max-width: 1024px) {
      .primary-nav .btn-header {
        float: left;
        width: 100%;
        margin: 10px 0 50px; }
        .primary-nav .btn-header span {
          text-align: center; } }
  .primary-nav .utils-wrapper {
    width: 97.22222%;
    float: left;
    margin-left: 1.38889%;
    margin-right: 1.38889%;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    @media (max-width: 1024px) {
      .primary-nav .utils-wrapper {
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
            -ms-flex-order: 2;
                order: 2; } }
  .primary-nav nav {
    float: none; }
    .primary-nav nav.utils {
      padding: 0 5px; }
      .primary-nav nav.utils a {
        color: #7c7785; }
      @media (max-width: 1024px) {
        .primary-nav nav.utils {
          height: 42px;
          line-height: 42px; } }
      .primary-nav nav.utils a:hover {
        color: #ff4833;
        text-decoration: none; }
    .primary-nav nav.main-menu {
      height: 65px;
      padding: 0 20px;
      line-height: 1.5em; }
      @media (max-width: 1199px) {
        .primary-nav nav.main-menu {
          padding: 0; } }
      .primary-nav nav.main-menu .close-menu {
        width: 13.88889%;
        float: left;
        margin-left: 1.38889%;
        margin-right: 1.38889%;
        margin-left: 34.72222%;
        height: 26px;
        margin-top: 22px; }
        .primary-nav nav.main-menu .close-menu span {
          display: block;
          float: right;
          width: 100%;
          height: 26px;
          background-image: url("../images/close-menu.png");
          background-position: center;
          background-repeat: no-repeat; }
        @media (min-width: 1025px) {
          .primary-nav nav.main-menu .close-menu {
            display: none; } }
      .primary-nav nav.main-menu a:hover {
        color: #ff4833;
        text-decoration: none; }
      .primary-nav nav.main-menu ul {
        width: 63.88889%;
        float: left;
        margin-left: 1.38889%;
        margin-right: 1.38889%;
        padding: 0;
        text-align: center;
        list-style: none; }
        @media (min-width: 1025px) {
          .primary-nav nav.main-menu ul {
            margin: 0; } }
        @media (max-width: 1024px) {
          .primary-nav nav.main-menu ul {
            width: 97.22222%;
            float: left;
            margin-left: 1.38889%;
            margin-right: 1.38889%;
            text-align: left; } }
      .primary-nav nav.main-menu li {
        min-height: 45px;
        margin-top: 20px; }
        .primary-nav nav.main-menu li:hover {
          border-bottom: 4px solid #ff4833; }
          @media (max-width: 1024px) {
            .primary-nav nav.main-menu li:hover {
              border: 0; } }
        @media (min-width: 1025px) {
          .primary-nav nav.main-menu li .fa {
            display: none; } }
        @media (max-width: 1024px) {
          .primary-nav nav.main-menu li .fa {
            position: absolute;
            left: 0;
            z-index: 100;
            width: 100%;
            height: 30px;
            padding-right: 55px;
            text-align: right; } }
      .primary-nav nav.main-menu .sub-nav {
        display: none;
        position: absolute;
        top: 64px;
        left: 0;
        z-index: 9999;
        float: none;
        width: 100%;
        padding: 40px;
        background: #e8e7e9;
        color: #252536;
        font-family: "proximanova-light", verdana, arial;
        text-align: left;
        text-transform: none; }
        @media (max-width: 1024px) {
          .primary-nav nav.main-menu .sub-nav {
            position: initial;
            width: 100%;
            background: transparent; } }
        .primary-nav nav.main-menu .sub-nav .drop-header {
          font-size: 0.75rem;
          margin: 0 20px 12px;
          color: #7c7785;
          font-family: "proximanova-semibold", verdana, arial;
          line-height: 1em;
          text-transform: uppercase; }
        .primary-nav nav.main-menu .sub-nav .block {
          width: 97.22222%;
          float: left;
          margin-left: 1.38889%;
          margin-right: 1.38889%; }
        .primary-nav nav.main-menu .sub-nav .left-block {
          width: 38.88889%;
          float: left;
          margin-left: 1.38889%;
          margin-right: 1.38889%; }
          @media (max-width: 1024px) {
            .primary-nav nav.main-menu .sub-nav .left-block {
              display: none; } }
          .primary-nav nav.main-menu .sub-nav .left-block .block {
            padding: 0 30px 30px; }
            @media (min-width: 1200px) {
              .primary-nav nav.main-menu .sub-nav .left-block .block {
                padding: 0 30px 60px; } }
          .primary-nav nav.main-menu .sub-nav .left-block .nav-tagline {
            font-size: 2.625rem;
            margin-top: -2px;
            color: #ff4833;
            font-weight: normal;
            line-height: 1.3em; }
        .primary-nav nav.main-menu .sub-nav .right-block {
          width: 55.55556%;
          float: left;
          margin-left: 1.38889%;
          margin-right: 1.38889%;
          border-right: 0;
          border-left: 1px solid #252536;
          -o-border-image: url("../images/vertical_line.png") 30 2 repeat;
             border-image: url("../images/vertical_line.png") 30 2 repeat; }
          @media (max-width: 1024px) {
            .primary-nav nav.main-menu .sub-nav .right-block {
              width: 97.22222%;
              float: left;
              margin-left: 1.38889%;
              margin-right: 1.38889%;
              float: none;
              width: 100%;
              margin: -20px 0 0 -30px;
              border: 0; } }
        .primary-nav nav.main-menu .sub-nav ul {
          padding: 0;
          text-align: left; }
          .primary-nav nav.main-menu .sub-nav ul li {
            height: auto;
            margin: 10px 0;
            padding: 0;
            padding-left: 22px;
            border: 0; }
    .primary-nav nav > ul {
      margin-right: 0;
      padding: 0;
      text-align: right;
      list-style: none; }
      @media (max-width: 1024px) {
        .primary-nav nav > ul {
          text-align: left; } }
      .primary-nav nav > ul > li {
        display: inline-block;
        padding: 0 .75%;
        text-transform: uppercase; }
        .primary-nav nav > ul > li a {
          color: #252536; }
        @media (max-width: 1024px) {
          .primary-nav nav > ul > li {
            display: block; } }

.notouch .primary-nav li:hover .sub-nav {
  display: block; }
  @media (max-width: 1024px) {
    .notouch .primary-nav li:hover .sub-nav {
      display: none; } }

.primary-nav .sub-nav.hover {
  display: block; }

.rotate {
  -webkit-transition: all .3s linear;
  transition: all .3s linear; }

.rotate.up :before {
  content: '\f078';
  position: absolute;
  right: 20px;
  -webkit-transform: rotate(-180deg);
      -ms-transform: rotate(-180deg);
          transform: rotate(-180deg); }

.fa-chevron-down:before {
  content: '';
  display: block;
  height: 20px;
  background-image: url("../images/chevron-down.png");
  background-position: right;
  background-repeat: no-repeat; }

.bg-gradient h2 {
  color: #ff4833; }

.stage-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 95%;
  margin: 0 auto;
  padding: 4em 0;
  background-image: url("../images/svg-journey-bg.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%; }
  @media (max-width: 768px) {
    .stage-block {
      display: block;
      padding: 2.5em 0;
      background-image: url("../images/step_bg_v.png");
      background-size: contain; } }
  .stage-block .stage-box {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    position: relative;
    width: 25%;
    min-height: 352px;
    margin: 0 2.22222%;
    padding: 30px 20px;
    background: #fff;
    color: #ff4833;
    font-family: 'proximanova-bold';
    text-transform: uppercase; }
    @media (max-width: 768px) {
      .stage-block .stage-box {
        width: 90%;
        max-height: 315px;
        margin: 15px auto; } }
    .stage-block .stage-box .stage-box-content {
      width: 100%;
      margin: 10px auto; }

.ie9 .stage-block:before {
  bottom: 47.5%; }

.stage-box .step {
  display: block;
  position: relative;
  width: 30%;
  min-height: 110px;
  margin: 0 auto; }
  @media only screen and (min-width: 767px) and (max-width: 876px) {
    .stage-box .step {
      min-height: 80px; } }
  @media (max-width: 768px) {
    .stage-box .step {
      width: 100%; } }
  .stage-box .step img {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto; }
  .stage-box .step img:first-child {
    display: block; }
  .stage-box .step img:last-child {
    display: none; }

.stage-box:hover {
  background: #ff4833;
  color: #fff;
  text-decoration: none;
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05); }
  .stage-box:hover .step img:first-child {
    display: none; }
  .stage-box:hover .step img:last-child {
    display: block; }
  .stage-box:hover .stage.one {
    background: url("../images/stp-one-red.svg") no-repeat center center; }
  .stage-box:hover .stage.two {
    background: url("../images/stp-two-red.svg") no-repeat center center; }
  .stage-box:hover .stage.three {
    background: url("../images/stp-three-red.svg") no-repeat center center; }

.stage-box:before, .stage-box:after {
  content: '';
  display: inline-block;
  position: absolute;
  margin: auto;
  background: #736e7a; }

.stage-box:first-child {
  margin-left: 9.72222%; }

.stage-box:last-child {
  margin-right: 9.72222%; }

.stage-box .stage {
  position: absolute;
  top: 30px;
  left: 30px;
  width: 20px;
  height: 20px; }
  .stage-box .stage.one {
    background: url("../images/stp-one-wht.svg") no-repeat center center; }
  .stage-box .stage.two {
    background: url("../images/stp-two-wht.svg") no-repeat center center; }
  .stage-box .stage.three {
    background: url("../images/stp-three-wht.svg") no-repeat center center; }

.stage-box p {
  font-size: 1.6875rem;
  max-width: 265px;
  margin: 15px auto 0; }
  @media only screen and (min-width: 767px) and (max-width: 876px) {
    .stage-box p {
      font-size: 1.4375rem; } }
  @media (max-width: 768px) {
    .stage-box p {
      font-size: 1.5rem; } }

@media (min-width: 768px) {
  .stage-box {
    width: 75%; }
    .stage-box:before, .stage-box:after {
      top: 0;
      bottom: 0;
      width: 2px;
      height: 50px; }
    .stage-box:before {
      left: -2px; }
    .stage-box:after {
      right: -2px; } }

@media (max-width: 767px) {
  .stage-box {
    width: 90%;
    min-height: 275px;
    margin: 7vw;
    padding: 10 0; }
    .stage-box:before, .stage-box:after {
      right: 0;
      left: 0;
      width: 50px;
      height: 2px; }
    .stage-box:before {
      top: -2px; }
    .stage-box:after {
      bottom: -2px; }
    .stage-box:first-child {
      margin: 0; }
    .stage-box:last-child {
      margin: 0; }
    .stage-box p {
      margin: 5px auto; } }

.stage-box .step img {
  width: auto;
  max-height: 80px; }

.stage-box .your-step {
  display: none;
  opacity: 1;
  width: 100%; }
  .stage-box .your-step p {
    font-size: 1.25rem;
    opacity: 1 !important;
    color: #fff; }

.stage-box.active {
  background-color: #252536;
  background-image: url("../images/white-checkmark.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 40%;
  pointer-events: none;
  cursor: default; }
  .stage-box.active span,
  .stage-box.active p,
  .stage-box.active img {
    opacity: .1; }
  .stage-box.active:hover {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }
  .stage-box.active .stage-box-content:after {
    background: transparent; }
  .stage-box.active .your-step {
    display: block;
    opacity: 1 !important; }

.stage-box-content:after {
  content: '';
  display: block;
  position: absolute;
  right: 0;
  bottom: 35px;
  left: 0;
  width: 25px;
  height: 25px;
  margin: auto;
  background-image: url("../images/lft_arrow_wht.svg");
  background-repeat: no-repeat; }
  @media (max-width: 767px) {
    .stage-box-content:after {
      background-image: none; } }

.ie9 .stage-box {
  display: inline-block;
  margin: 1%;
  vertical-align: middle; }

.footer-cta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 629px;
  background: url("../images/works-better-bg.png") no-repeat top center;
  background-size: cover; }
  @media (max-width: 1024px) {
    .footer-cta {
      height: 350; } }
  .footer-cta div {
    width: 100%; }

.ie9 .footer-cta .cta-blurb {
  position: absolute;
  top: 0;
  bottom: 0;
  height: 200;
  margin: auto; }

@media (max-width: 1024px) {
  .newsletter-form-holder {
    width: 97.22222%;
    float: left;
    margin-left: 1.38889%;
    margin-right: 1.38889%; } }

.newsletter-form-holder .form-error {
  position: absolute;
  top: 21px;
  font-size: 18px;
  font-weight: bold;
  text-decoration: underline; }
  @media (max-width: 1024px) {
    .newsletter-form-holder .form-error {
      top: 52px;
      left: 43%; } }
  @media (max-width: 1024px) {
    .newsletter-form-holder .form-error {
      top: 45px;
      left: 0;
      width: 100%;
      text-align: center; } }

.newsletter-form-holder .signup {
  width: 38.88889%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  text-align: center;
  text-transform: uppercase; }
  .newsletter-form-holder .signup h4 {
    font-size: 1.5rem; }
  @media (max-width: 1024px) {
    .newsletter-form-holder .signup {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%; } }

.newsletter-form-holder .thank-you {
  display: none;
  width: 100%; }

.newsletter-form-holder .email-field {
  width: 30.55556%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  padding: 0 20px;
  text-align: center; }
  .newsletter-form-holder .email-field:after {
    content: '';
    display: block;
    position: relative;
    bottom: -10px;
    width: 100%;
    height: 2px;
    background: url("../images/svg-bottom-line.svg") no-repeat;
    background-position: center;
    background-size: cover; }
    @media (max-width: 1024px) {
      .newsletter-form-holder .email-field:after {
        bottom: -40px;
        width: 100%; } }
  .newsletter-form-holder .email-field input {
    font-size: 1.5rem;
    width: 100%;
    border: 0;
    background: transparent;
    line-height: 1.25em;
    outline: 0; }
    .newsletter-form-holder .email-field input::-webkit-input-placeholder {
      opacity: .7;
      color: #fff; }
    .newsletter-form-holder .email-field input::-moz-placeholder {
      opacity: .7;
      color: #fff; }
    .newsletter-form-holder .email-field input:-ms-input-placeholder {
      opacity: .7;
      color: #fff; }
    .newsletter-form-holder .email-field input::placeholder {
      opacity: .7;
      color: #fff; }
    @media (max-width: 1024px) {
      .newsletter-form-holder .email-field input {
        width: 97.22222%;
        float: left;
        margin-left: 1.38889%;
        margin-right: 1.38889%;
        text-align: center; } }

.newsletter-form-holder .signup,
.newsletter-form-holder .email-field {
  display: inline-block;
  margin: 40px auto; }
  @media (max-width: 1199px) {
    .newsletter-form-holder .signup,
    .newsletter-form-holder .email-field {
      width: 38.88889%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%; } }
  @media (max-width: 1024px) {
    .newsletter-form-holder .signup,
    .newsletter-form-holder .email-field {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%;
      text-align: center; } }

.newsletter-form-holder .submit-it {
  width: 22.22222%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  display: inline-block;
  margin: 30px 0;
  margin-bottom: 20;
  text-align: center;
  cursor: pointer; }
  @media (max-width: 1199px) {
    .newsletter-form-holder .submit-it {
      width: 13.88889%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%; } }
  @media (max-width: 1024px) {
    .newsletter-form-holder .submit-it {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%;
      text-align: center; } }

@media (max-width: 1024px) {
  .newsletter-form-holder .signup,
  .newsletter-form-holder .email-field,
  .newsletter-form-holder .submit-it {
    margin-top: 15px;
    margin-bottom: 15px; } }

footer {
  color: #a1a1a1; }

footer .links {
  font-size: 1.125rem;
  width: 13.88889%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  display: inline-block;
  padding: 0 0 55px;
  line-height: 1.5;
  vertical-align: top; }
  footer .links .title {
    font-size: 1.25rem;
    display: block;
    padding: 55px 0 30px;
    font-family: 'proximanova-regular';
    font-weight: 600;
    text-transform: uppercase; }
  footer .links:nth-of-type(1) {
    width: 22.22222%;
    float: right;
    margin-left: 1.38889%;
    margin-right: 1.38889%; }
  @media (max-width: 1024px) {
    footer .links {
      width: 22.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%; }
      footer .links:nth-of-type(1) {
        width: 97.22222%;
        float: left;
        margin-left: 1.38889%;
        margin-right: 1.38889%;
        padding-bottom: 25px;
        text-align: center; } }
  @media (max-width: 767px) {
    footer .links {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%;
      padding: 10px;
      text-align: center; }
      footer .links .title {
        padding: 10px; }
      footer .links:nth-of-type(1) {
        width: 97.22222%;
        float: left;
        margin-left: 1.38889%;
        margin-right: 1.38889%;
        text-align: center; } }
  footer .links ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    footer .links ul li {
      line-height: 1.5; }
  footer .links a {
    color: #a1a1a1;
    font-family: 'proximanova-regular';
    text-decoration: none; }
    footer .links a:hover {
      text-decoration: underline; }
  footer .links .st0 {
    fill: #ff4833; }
  footer .links .social-circle {
    display: inline-block;
    width: 36px;
    height: 36px;
    margin: 0 5px 10px;
    border: 2px solid #ff4833;
    border-radius: 50%;
    background: transparent;
    text-align: center;
    vertical-align: top; }
    footer .links .social-circle:hover {
      background: #ff4833; }
      footer .links .social-circle:hover .st0 {
        fill: #252536; }
  footer .links .social-icon {
    height: 17px;
    padding-top: 2px; }
  footer .links .icon {
    display: inline-block;
    width: 36px;
    height: 36px; }
  footer .links .icon-facebook {
    padding-top: 2px; }
  footer .links .icon-blog {
    padding-top: 2px;
    padding-left: 2px; }
  footer .links .icon-twitter {
    padding-top: 3px;
    padding-left: 2px; }
  footer .links .icon-youtube {
    padding-top: 4px; }
  footer .links .icon-linkedin {
    padding-top: 4px; }

.ios .social-circle .icon-facebook {
  margin-top: 6px; }

.ios .social-circle .icon-youtube {
  margin-top: 9px; }

.ios .social-circle .icon-linkedin {
  margin-top: 7px; }

.logmein-logo {
  width: 22.22222%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%; }
  .logmein-logo img {
    width: auto;
    height: 30px;
    margin: 9px 0; }

.copyright {
  width: 47.22222%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  line-height: 3em;
  text-align: center; }

.btt {
  width: 22.22222%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  padding-right: 10px;
  line-height: 48px;
  text-align: center; }
  @media (max-width: 768px) {
    .btt {
      text-align: left; } }
  .btt .btt-arrow {
    font-size: 3.625rem;
    display: inline-block;
    position: absolute;
    top: -8px;
    width: 82px;
    height: 56px;
    margin: 0;
    background-image: url("../images/btt-over.svg");
    background-repeat: no-repeat;
    background-size: cover;
    text-align: center; }
    .btt .btt-arrow:hover {
      background-image: url("../images/btt.svg"); }
  @media (max-width: 767px) {
    .btt {
      display: none; } }

@media (max-width: 767px) {
  .logmein-logo,
  .copyright {
    width: 97.22222%;
    float: left;
    margin-left: 1.38889%;
    margin-right: 1.38889%;
    text-align: center; } }

.btn-contact-us {
  cursor: pointer; }

.form-btn {
  border: 0;
  background: 0; }

.contact-form {
  position: relative;
  width: 65%;
  min-height: 550px;
  margin: 0 auto; }
  @media (max-width: 1199px) {
    .contact-form {
      width: 85%; } }
  @media (max-width: 1199px) {
    .contact-form {
      width: 95%; } }
  .contact-form .close {
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    margin: auto;
    padding: 15px;
    background-color: rgba(104, 104, 104, 0.3);
    background-image: url("../images/icon-close-x.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 65%;
    cursor: pointer; }
  .contact-form .form-field {
    padding: 0 18%; }
    .contact-form .form-field h4 {
      padding: 0 0 10px; }
    .contact-form .form-field input,
    .contact-form .form-field select {
      width: 100%;
      margin: 5px 0;
      padding: 10px;
      border: 1px solid #f5f4f4;
      background-color: #f5f4f4;
      outline: none; }
    .contact-form .form-field select {
      background: #f5f4f4 url("../images/icon-arrow-dwn.svg") no-repeat 98% 50%;
      background-size: 25px;
      -webkit-appearance: none !important;
         -moz-appearance: none !important;
              appearance: none !important; }
    .contact-form .form-field input[type='submit'] {
      padding: 0;
      border: 0;
      background: transparent; }
    .contact-form .form-field .form-btn {
      width: auto;
      margin: auto;
      padding: auto;
      background-color: inherit;
      text-transform: uppercase; }
    .contact-form .form-field input::-webkit-input-placeholder {
      color: #252536; }
    .contact-form .form-field input::-moz-placeholder {
      color: #252536; }
    .contact-form .form-field input:-ms-input-placeholder {
      color: #252536; }
    .contact-form .form-field input::placeholder {
      color: #252536; }
    .contact-form .form-field label {
      font-size: 1.125rem;
      display: block;
      margin: 30px 0 0;
      font-weight: bold;
      text-transform: uppercase; }
    .contact-form .form-field .terms {
      font-size: 0.75rem;
      margin-top: 25px; }
      .contact-form .form-field .terms a {
        color: #ff4833; }

.form-error {
  display: block;
  margin-top: -5px;
  margin-bottom: 12px;
  padding: 6px 4px;
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
  background-color: #ff4833;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  text-align: left; }

.has-error .error {
  border: 1px solid #ff4833 !important; }

.form-subscribe {
  margin: 25px 0 50px; }
  .form-subscribe #checkbox-subscribe {
    display: inline-block;
    width: 15px;
    margin: 15px; }

.animated-banner {
  position: relative;
  width: 100%;
  height: 100%;
  font-family: 'proximanova-light';
  line-height: 1; }

.animated-banner .content-stuff {
  max-width: 1100px;
  margin: 0 auto; }

.header-tall .animated-banner h1 {
  font-size: 4.875rem;
  display: block;
  margin: 0;
  font-family: 'proximanova-light';
  font-weight: lighter;
  text-align: left; }
  @media (max-width: 768px) {
    .header-tall .animated-banner h1 {
      font-size: 3.4375rem; } }
  .header-tall .animated-banner h1:after {
    content: '';
    display: none; }

.animated-banner ul {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden; }

.header-tall .animated-banner .text-animated > h1:first-of-type {
  display: block;
  margin-bottom: 91px; }

.animated-banner .text-animated p {
  font-size: 1.5rem;
  width: 60%;
  line-height: 1.5; }

.animated-banner .iot-imgs,
.animated-banner .left-col {
  position: absolute;
  top: 0;
  -webkit-transform: translateY(20%);
      -ms-transform: translateY(20%);
          transform: translateY(20%); }

.animated-banner .iot-items {
  position: absolute;
  top: 167px;
  width: 100%;
  height: 91px; }

.animated-banner .iot-imgs {
  top: 0;
  width: 100%;
  height: 470px;
  margin-left: 0;
  -webkit-transform: translateY(15%);
      -ms-transform: translateY(15%);
          transform: translateY(15%); }
  @media (max-width: 768px) {
    .animated-banner .iot-imgs {
      top: -20px; } }

.animated-banner .iot-items li,
.animated-banner .iot-imgs li {
  position: absolute;
  right: 0;
  left: 0;
  z-index: 500;
  width: 100%;
  max-width: 1100px;
  height: 100%;
  margin: 0 auto; }

.animated-banner .iot-imgs li img {
  float: right;
  width: auto;
  height: 470px; }

.mobile-banner,
.scroll-down {
  display: none; }

@media (max-width: 1024px) {
  .header .animated-banner h1 {
    font-size: 2.5rem;
    text-align: center; }
  .aniamted-banner .text-animated > h1:first-of-type {
    margin-bottom: 40px;
    text-align: center; }
  .animated-banner .text-animated p {
    font-size: 1.125rem;
    width: 58%; }
  .animated-banner .iot-items li,
  .animated-banner .iot-imgs li,
  .animated-banner .content-stuff {
    max-width: 90%; }
  .animated-banner .iot-items {
    top: 135px; }
  .animated-banner .iot-imgs,
  .animated-banner .iot-imgs li img {
    height: 310px; } }

@media (max-width: 767px) {
  .desktop-banner {
    display: none; }
  .mobile-banner {
    display: block; }
  header {
    width: 100%;
    height: 100vh; }
  .animated-banner {
    display: table; }
  .animated-banner .content-stuff {
    display: table-cell;
    vertical-align: middle; }
  .homepage .header-tall h1,
  .header .animated-banner h1,
  .header-tall .animated-banner h1 {
    font-size: 2.8125rem;
    text-align: center; }
  .animated-banner .text-animated p {
    width: 90%;
    margin: 1em auto; }
  .animated-banner .iot-items {
    height: 50px; }
  .animated-banner .right-col {
    margin-bottom: 20px; }
  .animated-banner .iot-imgs,
  .animated-banner .left-col {
    position: static;
    top: auto;
    text-align: center;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }
  .header-tall .animated-banner .text-animated > h1:first-of-type {
    margin-bottom: 5px;
    text-align: center; }
  .animated-banner .iot-items,
  .animated-banner .iot-items li,
  .animated-banner .iot-imgs li {
    position: static; }
  .animated-banner .iot-imgs,
  .animated-banner .iot-imgs li img {
    float: none; }
  .scroll-down {
    display: block;
    margin: 10px auto 0;
    cursor: pointer; } }

@media (max-width: 350px) and (max-height: 500px) {
  .header .animated-banner h1 {
    font-size: 1.75rem;
    text-align: center; }
  .animated-banner .text-animated p {
    margin: .7em auto; }
  .animated-banner .right-col {
    margin-bottom: 10px; } }

.desktop-banner li:first-child {
  -webkit-animation: 3s ease 0s normal none infinite fadeOutItems;
          animation: 3s ease 0s normal none infinite fadeOutItems; }

.desktop-banner li:nth-child(2) {
  -webkit-animation: 3s ease 0s normal none infinite fadeInItems;
          animation: 3s ease 0s normal none infinite fadeInItems; }

.desktop-banner li:nth-child(n+2) {
  position: absolute;
  left: 100%;
  opacity: 0; }

.mobile-banner li {
  -webkit-animation: 3s ease 0s normal none infinite fadeOut;
          animation: 3s ease 0s normal none infinite fadeOut; }

.mobile-banner li:nth-child(2) {
  -webkit-animation: 3s ease 0s normal none infinite fadeIn;
          animation: 3s ease 0s normal none infinite fadeIn; }

.mobile-banner li:nth-child(n+2) {
  opacity: 0; }

@-webkit-keyframes fadeOutItems {
  0% {
    left: 0;
    opacity: 1; }
  75% {
    left: 0;
    opacity: 1; }
  92% {
    opacity: 0; }
  100% {
    left: -10%;
    opacity: 0; } }

@keyframes fadeOutItems {
  0% {
    left: 0;
    opacity: 1; }
  75% {
    left: 0;
    opacity: 1; }
  92% {
    opacity: 0; }
  100% {
    left: -10%;
    opacity: 0; } }

@-webkit-keyframes fadeInItems {
  0% {
    left: 20%;
    opacity: 0; }
  75% {
    left: 20%;
    opacity: 0; }
  92% {
    opacity: 1; }
  100% {
    left: 0;
    opacity: 1; } }

@keyframes fadeInItems {
  0% {
    left: 20%;
    opacity: 0; }
  75% {
    left: 20%;
    opacity: 0; }
  92% {
    opacity: 1; }
  100% {
    left: 0;
    opacity: 1; } }

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  75% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  92% {
    opacity: 0; }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); } }

@keyframes fadeOut {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  75% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  92% {
    opacity: 0; }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  75% {
    opacity: 0;
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  92% {
    opacity: 1; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); } }

@keyframes fadeIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  75% {
    opacity: 0;
    -webkit-transform: translateY(0%);
            transform: translateY(0%); }
  92% {
    opacity: 1; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%); } }

.button {
  font-size: 1rem;
  display: inline-block;
  position: relative;
  margin: 5px;
  border: 2px solid;
  border-radius: 1.5em;
  color: inherit;
  font-family: 'proximanova-regular', sans-serif;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase; }
  .button:before, .button:after {
    content: '';
    display: block;
    position: absolute;
    width: 58px;
    height: 4px;
    background-repeat: no-repeat; }
  .button:before {
    top: -4px;
    right: 30px; }
  .button:after {
    bottom: -4px;
    left: 35px;
    -webkit-transform: scaleX(-1);
        -ms-transform: scaleX(-1);
            transform: scaleX(-1);
    -webkit-filter: FlipH;
            filter: FlipH; }
  .button.lg {
    min-width: 324px;
    min-height: 44px;
    line-height: 2.8; }
    @media (max-width: 1024px) {
      .button.lg {
        line-height: 3.1; } }
    @media (max-width: 767px) {
      .button.lg {
        min-width: 90%;
        height: auto;
        min-height: auto;
        margin: 5px auto; } }
  .button.sm {
    min-width: 146px;
    min-height: 32px; }
  .button:hover {
    text-decoration: none; }
  .button span:hover {
    display: block;
    margin: 2px;
    border-radius: 1.5em;
    color: #fff; }

a .btn-inner {
  display: block;
  margin: 2px; }
  a .btn-inner.lg {
    min-width: 320px;
    min-height: 44px; }
    @media (max-width: 767px) {
      a .btn-inner.lg {
        min-width: 100%; } }
  a .btn-inner.sm {
    min-width: 142px;
    min-height: 34px;
    padding: 0 40px;
    line-height: 34px; }
    @media (max-width: 767px) {
      a .btn-inner.sm {
        line-height: 2.5; } }

.sm input {
  min-width: 142px;
  min-height: 34px;
  padding: 0;
  line-height: 2.25; }

.filled {
  border-radius: 1.5em;
  background: #252536; }
  .filled :hover {
    background: #ff4833; }

.bg-orange .button {
  border-color: #252536; }
  .bg-orange .button:before, .bg-orange .button:after {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAAECAYAAADfyyz1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyYjU4NWQ4MC0zOTZhLTRhODAtYjVmMi02YTMwMDNmNThjMGUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NjFBQ0JFMTRGMkMxMTFFNTkxQTI5OEFENEEyMDlENTUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NjFBQ0JFMTNGMkMxMTFFNTkxQTI5OEFENEEyMDlENTUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDc3OTI3MWMtMDBkMi01MTQ3LTg4NTUtNTczODU3Y2RiODFmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MzExODUyMjctZjFkZC0xMWU1LThlOGQtYThmMTJhYWNiYTNlIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+RQX+DwAAACxJREFUeNpifOSg/Z8BAhgZBifA6z7Z/Vfwan7sqAPWz8QwQsCoR4cbAAgwAKcfB1QQq8LXAAAAAElFTkSuQmCC"); }
  .bg-orange .button span:hover {
    background-color: #252536; }
  .bg-orange .button .filled:hover {
    background: #373749; }

.bg-purple .button {
  border-color: #ff4833; }
  .bg-purple .button:before, .bg-purple .button:after {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAAECAYAAADfyyz1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyYjU4NWQ4MC0zOTZhLTRhODAtYjVmMi02YTMwMDNmNThjMGUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTM3NkNEQTBGMkMxMTFFNUI4QjBCNTdFQjMzNDIwRUUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTM3NkNEOUZGMkMxMTFFNUI4QjBCNTdFQjMzNDIwRUUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDc3OTI3MWMtMDBkMi01MTQ3LTg4NTUtNTczODU3Y2RiODFmIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MzExODUyMjctZjFkZC0xMWU1LThlOGQtYThmMTJhYWNiYTNlIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+8YVcwwAAACxJREFUeNpiVFU1+88AAYwMgxPgdd+tWyfxalZTMwfrZ2IYIWDUo8MNAAQYANcQBoeVaBGXAAAAAElFTkSuQmCC"); }
  .bg-purple .button span:hover {
    background-color: #ff4833; }

.dl-block .button,
.bg-white .button,
.bg-half-purple .button,
.bg-gradient .button,
.bg-transparent .button {
  border-color: #ff4833;
  background: #fff;
  color: #252536; }
  .dl-block .button:before, .dl-block .button:after,
  .bg-white .button:before,
  .bg-white .button:after,
  .bg-half-purple .button:before,
  .bg-half-purple .button:after,
  .bg-gradient .button:before,
  .bg-gradient .button:after,
  .bg-transparent .button:before,
  .bg-transparent .button:after {
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAAECAYAAADfyyz1AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBIWXMAAAsSAAALEgHS3X78AAAAKElEQVQoz2P8////fwYGBgZGRkZGhkEIKHUfTD/TQHuEXmDUo8MNAACbGQwETlbzugAAAABJRU5ErkJggg=="); }
  .dl-block .button span:hover,
  .bg-white .button span:hover,
  .bg-half-purple .button span:hover,
  .bg-gradient .button span:hover,
  .bg-transparent .button span:hover {
    background-color: #252536;
    color: #ff4833; }

.dl-block .bg-transparent,
.bg-white .bg-transparent,
.bg-half-purple .bg-transparent,
.bg-gradient .bg-transparent,
.bg-transparent .bg-transparent {
  background-color: transparent; }

.dl-block .bg-gradient .button,
.bg-white .bg-gradient .button,
.bg-half-purple .bg-gradient .button,
.bg-gradient .bg-gradient .button,
.bg-transparent .bg-gradient .button {
  background: transparent; }

.dl-block.btn-header,
.bg-white.btn-header,
.bg-half-purple.btn-header,
.bg-gradient.btn-header,
.bg-transparent.btn-header {
  background: transparent; }
  .dl-block.btn-header .sm,
  .bg-white.btn-header .sm,
  .bg-half-purple.btn-header .sm,
  .bg-gradient.btn-header .sm,
  .bg-transparent.btn-header .sm {
    min-width: 125px;
    min-height: 15px;
    background: transparent;
    line-height: 1.8; }
  .dl-block.btn-header span:hover,
  .bg-white.btn-header span:hover,
  .bg-half-purple.btn-header span:hover,
  .bg-gradient.btn-header span:hover,
  .bg-transparent.btn-header span:hover {
    background: #252536;
    -webkit-transition: .1s;
    transition: .1s;
    color: #fff; }
    @media (max-width: 1024px) {
      .dl-block.btn-header span:hover,
      .bg-white.btn-header span:hover,
      .bg-half-purple.btn-header span:hover,
      .bg-gradient.btn-header span:hover,
      .bg-transparent.btn-header span:hover {
        background: none;
        color: #ff4833; } }
  .dl-block.btn-header .button,
  .bg-white.btn-header .button,
  .bg-half-purple.btn-header .button,
  .bg-gradient.btn-header .button,
  .bg-transparent.btn-header .button {
    background: transparent; }
  @media (max-width: 1200px) {
    .dl-block.btn-header .button .btn-inner.sm,
    .bg-white.btn-header .button .btn-inner.sm,
    .bg-half-purple.btn-header .button .btn-inner.sm,
    .bg-gradient.btn-header .button .btn-inner.sm,
    .bg-transparent.btn-header .button .btn-inner.sm {
      min-width: 130px;
      padding: 0 6px; } }
  @media (max-width: 1024px) {
    .dl-block.btn-header .button .btn-inner.sm,
    .bg-white.btn-header .button .btn-inner.sm,
    .bg-half-purple.btn-header .button .btn-inner.sm,
    .bg-gradient.btn-header .button .btn-inner.sm,
    .bg-transparent.btn-header .button .btn-inner.sm {
      min-width: initial;
      min-height: initial;
      padding: 0; } }

.homepage .sticky .btn-header span {
  -webkit-transition: color 2s;
  transition: color 2s;
  color: #252536; }
  .homepage .sticky .btn-header span:hover {
    color: #252536; }

.bt-fade {
  opacity: .5; }
  .bt-fade input {
    cursor: default; }

@font-face {
  font-family: 'proximanova-regular';
  font-style: normal;
  font-weight: normal;
  src: url("//az766929.vo.msecnd.net/font-library/proximanova/proximanova-regular.eot?#iefix") format("embedded-opentype"), url("//az766929.vo.msecnd.net/font-library/proximanova/proximanova-regular.woff") format("woff"); }

@font-face {
  font-family: 'proximanova-light';
  font-style: normal;
  font-weight: normal;
  src: url("//az766929.vo.msecnd.net/font-library/proximanova/proximanova-light.eot?#iefix") format("embedded-opentype"), url("//az766929.vo.msecnd.net/font-library/proximanova/proximanova-light.woff") format("woff"); }

@font-face {
  font-family: 'proximanovacond-semibold';
  font-style: normal;
  font-weight: normal;
  src: url("//az766929.vo.msecnd.net/font-library/proximanova/proximanovacond-semibold.eot?#iefix") format("embedded-opentype"), url("//az766929.vo.msecnd.net/font-library/proximanova/proximanovacond-semibold.woff") format("woff"); }

@font-face {
  font-family: 'proximanova-bold';
  font-style: normal;
  font-weight: normal;
  src: url("//az766929.vo.msecnd.net/font-library/proximanova/proximanova-bold.eot?#iefix") format("embedded-opentype"), url("//az766929.vo.msecnd.net/font-library/proximanova/proximanova-bold.woff") format("woff"); }

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  overflow: auto; }
  .modal .window {
    width: 63.88889%;
    margin: 15% auto; }
    @media (max-width: 768px) {
      .modal .window {
        width: 90%;
        margin: 5% auto; } }
    .modal .window .modal-content {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%;
      padding: 20px;
      border: 1px solid #252536;
      background-color: #fff; }
      .modal .window .modal-content h1 {
        color: #ff4833; }
    .modal .window .modal-partner-logo {
      width: 30.55556%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%;
      margin: 4% auto; }
      .modal .window .modal-partner-logo img {
        width: 75%;
        margin: 0 auto; }
      @media (max-width: 768px) {
        .modal .window .modal-partner-logo {
          width: 97.22222%;
          float: left;
          margin-left: 1.38889%;
          margin-right: 1.38889%; } }
    .modal .window .modal-partner-copy {
      width: 63.88889%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%;
      text-align: left; }
      @media (max-width: 768px) {
        .modal .window .modal-partner-copy {
          width: 97.22222%;
          float: left;
          margin-left: 1.38889%;
          margin-right: 1.38889%; } }
    .modal .window .close {
      float: right;
      color: #aaa;
      font-size: 28px;
      font-weight: bold; }
    .modal .window .close:hover,
    .modal .window .close:focus {
      color: #000;
      text-decoration: none;
      cursor: pointer; }

.panel:focus {
  outline: none; }

.slick-slider .half-copy {
  padding-left: 60px; }
  @media (max-width: 767px) {
    .slick-slider .half-copy {
      padding: 20px;
      text-align: center; } }

.slick-prev,
.slick-next {
  display: block;
  position: absolute;
  top: 50%;
  z-index: 1500;
  width: 80px;
  height: 80px;
  margin-top: -10px\9px;
  padding: 0;
  border: 0;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  outline: none; }
  @media (max-width: 767px) {
    .slick-prev,
    .slick-next {
      width: 50px;
      height: 50px; } }

.homepage-carousel .slick-prev {
  left: 0;
  background: url("../images/svg-arrow-left-purple.svg"); }

.case-study-carousel .slick-prev,
.case-study-carousel .slick-next {
  width: 40px;
  height: 40px;
  padding: 7px 0;
  background-position: center;
  background-repeat: no-repeat; }
  .case-study-carousel .slick-prev:hover,
  .case-study-carousel .slick-next:hover {
    background-repeat: no-repeat; }

.case-study-carousel .slick-prev {
  left: 20px;
  background-image: url("../images/arrow-red-prev.svg"); }

.case-study-carousel .slick-next {
  right: 15px;
  background-image: url("../images/arrow-red-next.svg"); }

.slick-prev {
  left: 0;
  background: url("../images/svg-arrow-left.svg"); }

.slick-next {
  right: 0;
  background: url("../images/svg-arrow-right.svg"); }

.slick-dots {
  display: block;
  width: 100%;
  padding: 0;
  text-align: center;
  list-style: none; }
  .slick-dots li {
    display: inline-block;
    position: relative;
    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li.slick-active button {
      border: 4px solid #ff4833;
      border-radius: 50%;
      background: #ff4833; }
    .slick-dots li.slick-active button:before {
      opacity: 1;
      color: #373749; }
  .slick-dots button {
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    border: 4px solid #736e7a;
    border-radius: 50%;
    background: transparent;
    color: transparent;
    font-size: 0;
    line-height: 0;
    outline: none;
    cursor: pointer; }
    .slick-dots button:hover, .slick-dots button:focus {
      outline: none; }
      .slick-dots button:hover:before, .slick-dots button:focus:before {
        opacity: .5; }
    .slick-dots button:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      opacity: 0.5;
      width: 20px;
      height: 20px;
      color: #252536;
      font-family: 'proximanova-regular', verdana, arial;
      font-size: 55px;
      line-height: 1.5;
      text-align: center;
      font-smoothing: antialiased; }

.homepage-logo-carousel.slick-slider {
  padding-right: 100px;
  padding-left: 100px; }
  @media (max-width: 1024px) {
    .homepage-logo-carousel.slick-slider {
      padding-right: 0;
      padding-left: 0; }
      .homepage-logo-carousel.slick-slider .panel img {
        width: 100%;
        max-width: 75%; }
      .homepage-logo-carousel.slick-slider .panel a {
        margin: 0 auto; } }

.section {
  clear: both;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }

.bg-orange {
  background: #ff4833;
  color: #fff; }

.bg-white {
  background: #fff;
  color: #252536; }

.bg-grey {
  background-color: #f5f4f4; }

.bg-gradient {
  background: #e9e8ea;
  background-image: -webkit-radial-gradient(ellipse farthest-corner at left top, #fceae8 0%, #e8e8ea 100%);
  background-image: radial-gradient(ellipse farthest-corner at left top, #fceae8 0%, #e8e8ea 100%); }

.bg-half-purple {
  background-image: -webkit-linear-gradient(left, #fff 0%, #fff 50%, #252536 50.001%);
  background-image: linear-gradient(to right, #fff 0%, #fff 50%, #252536 50.001%); }
  @media (max-width: 1025px) {
    .bg-half-purple {
      background: #fff; } }

.bg-purple {
  background: #252536;
  color: #fff; }

.bg-fade-purple {
  background: #373749; }

.header-small {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 300px;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100%;
  text-align: center; }
  .header-small h1 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: auto;
    font-family: 'proximanova-bold';
    text-align: center; }
  @media (max-width: 1024px) {
    .header-small {
      height: 350px;
      background-size: cover; } }

.header-tall {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%;
  height: 600px;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff; }
  @media (max-width: 1024px) {
    .header-tall {
      height: 650px; } }
  .header-tall h1 {
    width: 75%;
    height: auto;
    margin: 19% auto;
    font-family: 'proximanova-bold';
    text-align: center; }
    @media (max-width: 1024px) {
      .header-tall h1 {
        width: 90%;
        margin: 30% auto; }
        .header-tall h1:after {
          margin: .5em auto; } }

.header-tall .icon,
.header-small .icon {
  display: block;
  position: absolute;
  top: 15%;
  right: 0;
  left: 0;
  margin: auto;
  padding-bottom: 2em;
  text-align: center; }
  .header-tall .icon img,
  .header-small .icon img {
    height: 75px; }
  @media (max-width: 1024px) {
    .header-tall .icon,
    .header-small .icon {
      top: 5%; }
      .header-tall .icon img,
      .header-small .icon img {
        height: 55px; } }

.header-small .icon img {
  height: 55px; }

.down-arrow {
  display: block;
  position: absolute;
  right: 0;
  bottom: 15%;
  left: 0;
  width: 37px;
  height: 37px;
  margin: auto;
  background: url("../images/arrow-down.svg") no-repeat; }
  .down-arrow a {
    display: block;
    width: 37px;
    height: 37px;
    -webkit-transition: all 2s ease;
    transition: all 2s ease; }
  @media (max-width: 1024px) {
    .down-arrow {
      display: none; } }

.content-block {
  text-align: center; }
  .content-block h4 {
    padding: 25px 5% 15px;
    font-family: 'proximanova-regular'; }
  .content-block a {
    color: #fff; }
  .content-block .half {
    margin-bottom: 0; }
  .content-block p {
    max-width: 75%;
    margin: auto;
    padding: 24px; }

#target,
#news-anchor {
  margin-top: -90px;
  padding-top: 90px; }

.fifty {
  float: left;
  width: 50%;
  margin-right: 0;
  margin-left: 0; }
  @media (max-width: 1024px) {
    .fifty {
      width: 100%; } }

.right-side {
  float: right; }
  .right-side img {
    width: 100%;
    margin: 0 auto; }

.half-copy {
  padding: 118px 100px 84px; }
  @media (max-width: 1199px) {
    .half-copy {
      padding: 25px 15px; } }
  @media (max-width: 1024px) {
    .half-copy {
      padding: 20px;
      text-align: center; } }

.full-copy {
  padding: 75px 0 84px; }
  @media (max-width: 1024px) {
    .full-copy {
      padding: 25px 15px; } }
  .full-copy .bottom-cta {
    width: 80%;
    margin: 0 auto;
    margin-bottom: 0; }
    .full-copy .bottom-cta h3 {
      width: 75%;
      margin: 35px auto 0; }
      @media (max-width: 1024px) {
        .full-copy .bottom-cta h3 {
          width: 100%; } }

.utils {
  font-size: 0.875rem;
  font-weight: bold; }

.main-menu {
  font-size: 1.125rem; }
  @media (max-width: 1200px) {
    .main-menu {
      font-size: 1rem; } }
  @media (max-width: 768px) {
    .main-menu {
      font-size: 1.375rem; } }

h1,
h2,
h3,
h4,
.h1,
.h2,
.h3,
.h4 {
  padding: 0; }

h1,
h2,
.h1,
.h2 {
  font-family: 'proximanova-light';
  font-weight: 300; }

h3,
h4,
.h3,
.h4 {
  font-family: 'proximanova-light';
  font-weight: normal; }

h1,
.h1 {
  font-size: 3.625rem; }
  @media (max-width: 1024px) {
    h1,
    .h1 {
      font-size: 3rem; } }

h2,
.h2 {
  font-size: 2.75rem; }
  @media (max-width: 1024px) {
    h2,
    .h2 {
      font-size: 2.25rem; } }

h3,
.h3 {
  font-size: 2.125rem; }

h4,
.h4 {
  font-size: 1.75rem; }

h5,
.h5 {
  font-size: 1.5rem; }

.title {
  font-size: 1.375rem;
  display: block;
  font-family: 'proximanova-regular';
  font-weight: 600;
  line-height: 1.5;
  text-transform: uppercase; }

p {
  font-size: 1.25rem;
  line-height: 1.25; }

.bread-crumbs {
  font-size: 0.875rem;
  padding: 1.5em 0 0 1em;
  font-family: 'proximanova-regular';
  font-weight: 600;
  text-transform: uppercase; }
  .bread-crumbs a {
    position: relative;
    padding-right: 20px;
    color: #252536; }
    .bread-crumbs a:after {
      content: '>';
      display: inline-block;
      position: absolute;
      top: 0;
      right: 15px;
      width: 0;
      height: 0; }
  @media (max-width: 767px) {
    .bread-crumbs {
      display: none; } }

.text-link a {
  font-size: 0.87625rem;
  padding-bottom: 4px;
  border-bottom: 2px solid #00a79d;
  color: #00a79d;
  font-family: 'proximanova-regular';
  font-weight: 600;
  line-height: 1.5em;
  text-decoration: none;
  text-transform: uppercase; }

.video-holder,
.photo-holder {
  max-width: 40%;
  height: auto;
  margin: 0 auto;
  padding: 0; }
  .video-holder img,
  .photo-holder img {
    width: 100%; }
  @media (max-width: 767px) {
    .video-holder,
    .photo-holder {
      width: 100%;
      max-width: 100%;
      padding: 10px; } }

.photo-holder {
  max-width: 70%; }

.video {
  width: 85%;
  margin: 45px auto 50px;
  box-shadow: 2px 2px 5px 3px #252536; }
  @media (max-width: 768px) {
    .video {
      box-shadow: none; } }

.vid-text {
  width: 65%;
  margin: 0 auto; }
  @media (max-width: 768px) {
    .vid-text {
      width: 90%;
      margin: 0 auto;
      padding-bottom: 20px; } }

blockquote {
  font-family: "proximanova-semibold", verdana, arial;
  font-weight: bold; }
  blockquote p {
    margin-bottom: 0;
    color: #ff4833; }
  blockquote footer {
    margin-bottom: 24px;
    color: #252536; }

.white-space {
  display: block;
  height: 15px;
  background: #e9e8ea;
  background-image: -webkit-radial-gradient(ellipse farthest-corner at left top, #fceae8 0%, #e8e8ea 100%);
  background-image: radial-gradient(ellipse farthest-corner at left top, #fceae8 0%, #e8e8ea 100%); }

.homepage .bg-orange {
  background-image: url("../images/animation-background.png");
  background-repeat: no-repeat; }

.homepage .header-tall {
  position: relative;
  text-align: left;
  overflow: hidden; }

.promo-blowout {
  width: 97.22222%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }
  .promo-blowout .promo-logo {
    width: 22.22222%;
    float: left;
    margin-left: 1.38889%;
    margin-right: 1.38889%; }
    .promo-blowout .promo-logo img {
      width: 175px;
      height: 175px; }
  .promo-blowout .promo-copy {
    width: 47.22222%;
    float: left;
    margin-left: 1.38889%;
    margin-right: 1.38889%; }
    .promo-blowout .promo-copy h2 {
      padding-bottom: 35px; }
  .promo-blowout .promo-co-logo {
    width: 22.22222%;
    float: left;
    margin-left: 1.38889%;
    margin-right: 1.38889%; }
    .promo-blowout .promo-co-logo img {
      width: 75%;
      max-height: 175px; }
  @media (max-width: 1024px) {
    .promo-blowout {
      display: block; }
      .promo-blowout .promo-logo,
      .promo-blowout .promo-copy,
      .promo-blowout .promo-co-logo {
        width: 97.22222%;
        float: left;
        margin-left: 1.38889%;
        margin-right: 1.38889%;
        padding: 10px 0; } }

.panel {
  width: 100%; }

.circle-down {
  padding-bottom: 20px; }

.header .panel:nth-of-type(1) {
  margin-top: 15px;
  background: url("../images/light-bulb.svg") no-repeat top center;
  background-size: 311px 393px; }
  .header .panel:nth-of-type(1) h1 {
    margin: 0 auto;
    padding-top: 14rem;
    padding-bottom: 10rem; }
    .header .panel:nth-of-type(1) h1 .headline-spacer {
      visibility: hidden; }
  .header .panel:nth-of-type(1) .btn-holder a {
    display: inline-block;
    width: 285px; }
    .header .panel:nth-of-type(1) .btn-holder a:first-child {
      margin-right: 25px;
      margin-bottom: 7em; }
    .header .panel:nth-of-type(1) .btn-holder a:last-child {
      margin-bottom: 7em;
      margin-left: 25px; }
  @media (max-width: 1024px) {
    .header .panel:nth-of-type(1) {
      background-size: 35%; }
      .header .panel:nth-of-type(1) h1 {
        width: 65%;
        margin: 12px auto 0;
        padding-bottom: 1em; }
        .header .panel:nth-of-type(1) h1 .headline-spacer {
          visibility: visible; } }
    @media (max-width: 1024px) and (max-width: 767px) {
      .header .panel:nth-of-type(1) h1 {
        width: 100%;
        margin: 0 auto;
        padding-top: 5em;
        padding-bottom: 1em; } }
    @media (max-width: 1024px) and (max-width: 480px) {
      .header .panel:nth-of-type(1) h1 {
        padding-top: 3em; } }
  @media (max-width: 1024px) {
      .header .panel:nth-of-type(1) .btn-holder a {
        display: block; }
        .header .panel:nth-of-type(1) .btn-holder a:first-child, .header .panel:nth-of-type(1) .btn-holder a:last-child {
          margin-right: auto;
          margin-bottom: 10px;
          margin-left: auto; } }

.item-name,
.date {
  font-size: 0.875rem;
  display: block;
  color: #ff4833;
  font-family: 'proximanova-regular';
  font-weight: 600;
  text-transform: uppercase; }

.item-name {
  padding: 0 0 25px; }
  .item-name img {
    display: inline-block;
    width: 35px;
    padding-right: 15px; }

.date {
  padding: 50px 0 10px; }

@media (max-width: 1024px) {
  .item-name {
    padding: 0; }
  .date {
    padding: 5px 0; } }

.featured-logos {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0; }
  @media (max-width: 1024px) {
    .featured-logos {
      display: block; } }
  .featured-logos img {
    height: 60px; }
    @media (max-width: 1024px) {
      .featured-logos img {
        max-width: 49%; } }
  .featured-logos .its-us img {
    width: 186px;
    height: 55px;
    margin-top: 5px;
    padding-right: 1em; }
    @media (max-width: 1024px) {
      .featured-logos .its-us img {
        width: 227px;
        height: 55px;
        height: auto;
        padding-right: 2em; } }

.homepage-logo-carousel .panel {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 150px;
  padding: 25px 30px;
  text-align: center; }
  .homepage-logo-carousel .panel img {
    width: 170px;
    max-width: 90%;
    margin: 0 auto; }

.product-shot {
  display: block;
  margin: 0 auto;
  text-align: center; }

.two-tone {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .two-tone h2,
  .two-tone h3 {
    margin: 0 auto;
    text-align: center; }
  .two-tone h2 {
    width: 100%;
    margin: 0 auto 50px;
    padding: 0 25%; }
    .two-tone h2:first-child {
      color: #ff4833; }
  .two-tone h3 {
    width: 75%;
    padding-bottom: 40px; }
  .two-tone p {
    font-size: 2.125rem;
    width: 75%;
    margin: 35px auto 0;
    padding-bottom: 40px;
    font-family: 'proximanova-light';
    font-weight: normal; }
  @media (max-width: 1199px) {
    .two-tone h2,
    .two-tone h3 {
      width: 90%; } }

.cpm {
  width: 88.88889%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  margin-left: 5.55556%; }
  .cpm .step {
    width: 30.55556%;
    float: left;
    margin-left: 1.38889%;
    margin-right: 1.38889%; }
    @media (max-width: 1024px) {
      .cpm .step {
        width: 97.22222%;
        float: left;
        margin-left: 1.38889%;
        margin-right: 1.38889%;
        padding: 0 6%; } }
    .cpm .step p {
      width: 80%;
      margin: 20px auto 40px; }
  .cpm .title {
    padding-bottom: 30px; }
  @media (max-width: 1024px) {
    .cpm .step:nth-of-type(1) img {
      width: 35%; } }
  @media (max-width: 1024px) and (max-width: 767px) {
    .cpm .step:nth-of-type(1) img {
      width: 75%; } }
  @media (max-width: 1024px) {
    .cpm .step:nth-of-type(2) img {
      width: 35%; } }
  @media (max-width: 1024px) and (max-width: 767px) {
    .cpm .step:nth-of-type(2) img {
      width: 75%; } }
  @media (max-width: 1024px) {
    .cpm .step:nth-of-type(3) img {
      width: 35%; } }
  @media (max-width: 1024px) and (max-width: 767px) {
    .cpm .step:nth-of-type(3) img {
      width: 75%; } }
  .cpm .step .step-icon {
    max-width: 235px;
    max-height: 235px;
    margin: 0 auto 25px; }
    .cpm .step .step-icon img {
      width: 90%;
      margin: 0 auto; }

.bottom-cta {
  display: block;
  margin-bottom: 75px; }

.blocks-gallery-holder {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  width: 100%; }

.blocks-gallery {
  width: 30.55556%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 40px;
  padding-right: 50px;
  padding-left: 50px;
  background: #fff; }
  @media (max-width: 1199px) {
    .blocks-gallery {
      width: 47.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%; } }
  @media (max-width: 1024px) {
    .blocks-gallery {
      width: 100%;
      margin: 0;
      padding: 0; } }
  .blocks-gallery .do-block {
    width: 100%;
    margin: 0 auto; }
    .blocks-gallery .do-block .icon {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      width: 250px;
      height: 175px;
      margin: 30px auto; }
      .blocks-gallery .do-block .icon img {
        width: 60%;
        height: 80%; }
    .blocks-gallery .do-block .cap-copy {
      padding-bottom: 35px;
      font-family: 'proximanova-light'; }
    @media (max-width: 1024px) {
      .blocks-gallery .do-block {
        padding: 0 20px; } }

.cap-holder {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

.capabilities {
  width: 47.22222%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: auto;
  min-height: auto;
  padding: 20px 50px; }
  .capabilities .icon {
    width: 30.55556%;
    float: left;
    margin-left: 1.38889%;
    margin-right: 1.38889%;
    margin: 0 auto;
    text-align: center; }
    .capabilities .icon img {
      width: 80%;
      max-height: 175px;
      margin: 0 auto; }
  .capabilities .cap-copy {
    width: 55.55556%;
    float: left;
    margin-left: 1.38889%;
    margin-right: 1.38889%; }
  @media (max-width: 1024px) {
    .capabilities {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%;
      display: block;
      margin: 15px auto;
      padding: 0;
      text-align: center; }
      .capabilities .icon {
        width: 100%;
        margin: 10px auto; }
        .capabilities .icon img {
          max-height: 150px; }
      .capabilities .cap-copy {
        width: 100%; } }

.bg-bottom:after {
  content: '';
  display: block;
  width: 100%;
  height: 10px; }

.contact,
.request,
.for-dev {
  width: 30.55556%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  padding: 0 9%; }
  @media (max-width: 1024px) {
    .contact,
    .request,
    .for-dev {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%; } }
  .contact img,
  .request img,
  .for-dev img {
    min-height: 150px;
    padding: 20 0; }
  .contact .button,
  .request .button,
  .for-dev .button {
    margin: 25px 0; }

hr {
  width: 20%;
  height: 2px;
  margin: 0 auto;
  border: 0;
  background: #252536; }

.for-price img {
  margin: 0 0 20px; }

.sub-headline {
  padding: 75px 0 50px; }
  .sub-headline h2 {
    width: 50%;
    margin: 0 auto .5em; }
    .sub-headline h2:first-child {
      color: #ff4833; }
    @media (max-width: 1024px) {
      .sub-headline h2 {
        width: 95%; } }
  .sub-headline h3 {
    width: 75%;
    margin: 0 auto; }
  .sub-headline p {
    font-size: 2.125rem;
    width: 75%;
    margin: 0 auto;
    padding-bottom: 40px;
    font-family: 'proximanova-light';
    font-weight: normal; }

.subpage-feature {
  width: 63.88889%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  margin-left: 18.05556%; }
  .subpage-feature h2 {
    color: #ff4833; }
  .subpage-feature p {
    font-size: 1.75rem;
    font-family: 'proximanova-light';
    font-weight: normal; }
  .subpage-feature img {
    width: 65%;
    margin: 6em 0 0; }
    @media (max-width: 1200px) {
      .subpage-feature img {
        width: 90%;
        margin: 4em auto; } }
  .subpage-feature .fifty,
  .subpage-feature .right-side {
    width: 50%;
    overflow: hidden; }
    @media (max-width: 1024px) {
      .subpage-feature .fifty,
      .subpage-feature .right-side {
        width: 100%;
        text-align: center; }
        .subpage-feature .fifty img,
        .subpage-feature .right-side img {
          width: 200px;
          margin: 2em 0 0; }
        .subpage-feature .fifty h2,
        .subpage-feature .right-side h2 {
          font-size: 1.5rem; }
        .subpage-feature .fifty h4,
        .subpage-feature .right-side h4 {
          font-size: 1.25rem;
          width: 85%;
          margin: .5em auto; } }
  .subpage-feature .half-copy-left {
    padding: 5em 1em 1em 5em; }
  .subpage-feature .half-copy-right {
    padding: 5em 5em 1em 1em; }
  .subpage-feature .half-copy {
    padding: 5em 5em 1em; }
    .subpage-feature .half-copy h4 {
      padding-bottom: 20px; }
    @media (max-width: 1200px) {
      .subpage-feature .half-copy {
        padding: 2em .5em 1em; } }

.branding {
  height: 630px;
  padding: 52px;
  background-repeat: no-repeat;
  text-align: center; }
  .branding img {
    margin-bottom: 52px; }
  .branding h2 {
    margin-top: 10%;
    color: #ff4833; }
  .branding p {
    width: 90%;
    margin: 30px auto;
    font-size: 36px; }
  @media (max-width: 1024px) {
    .branding {
      height: 750px; }
      .branding img {
        margin-bottom: 25px; }
      .branding p {
        width: 100%;
        font-size: 23px; } }

.listing-block {
  width: 30.55556%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%;
  position: relative;
  height: 441px;
  margin-top: 1.88889%;
  margin-bottom: 1.88889%;
  background: #fff; }
  @media (max-width: 1199px) {
    .listing-block {
      width: 47.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%; } }
  @media (max-width: 767px) {
    .listing-block {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%; } }
  .listing-block:hover {
    color: #fff;
    -webkit-transform: scale(1.04);
        -ms-transform: scale(1.04);
            transform: scale(1.04); }
    .listing-block:hover .cust-logo {
      background: transparent; }

.case-study .listing-block {
  width: 47.22222%;
  float: left;
  margin-left: 1.38889%;
  margin-right: 1.38889%; }
  @media (max-width: 1024px) {
    .case-study .listing-block {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%; } }

.customers .listing-block:hover {
  color: #252536; }

.customers .bg-image {
  height: 68%;
  background-position: center;
  background-size: cover; }

.customers .cust-logo {
  position: relative;
  height: 100%;
  background: #252536; }
  .customers .cust-logo img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 35%;
    max-width: 320px;
    margin: auto; }

.customers .cust-block-copy {
  height: 32%;
  padding: 0 14%;
  text-align: center; }

.partners .listing-block {
  height: 241px;
  cursor: pointer; }

.partners a {
  color: #252536; }

.partners .part-logo {
  position: relative;
  height: 80%; }
  .partners .part-logo img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 50%;
    margin: auto; }
    .partners .part-logo img:last-child {
      display: none; }

.partners .part-block-copy {
  height: 20%;
  padding: 0 14%; }

.partners .part-block-copy:after {
  content: '';
  display: block;
  position: absolute;
  right: 0;
  left: 0;
  width: 22px;
  height: 22px;
  margin: auto;
  background: url("../images/next-icon-right-prpl.png") no-repeat; }

.partners .listing-block:hover {
  background: #ff4833; }
  .partners .listing-block:hover .part-logo img:first-child {
    display: none; }
  .partners .listing-block:hover .part-logo img:last-child {
    display: block; }
  .partners .listing-block:hover .part-block-copy:after {
    content: '';
    background: url("../images/next-icon-right.png") no-repeat; }

.news-nav {
  padding-bottom: 75px; }
  .news-nav .tabs {
    margin: 0;
    padding: 0;
    text-align: center;
    list-style: none; }
  .news-nav .tabs li {
    display: inline-block;
    position: relative;
    width: 20%;
    margin: 1.5% 2%;
    padding: 1.5% 0;
    background: #fff;
    cursor: pointer; }
    .news-nav .tabs li .icon {
      display: block; }
      .news-nav .tabs li .icon img {
        display: block;
        width: 30px;
        height: 40px;
        margin: 0 auto; }
      .news-nav .tabs li .icon img:first-child {
        display: block; }
      .news-nav .tabs li .icon img:last-child {
        display: none; }
  .news-nav .tabs .current,
  .news-nav .tabs li:hover {
    width: 24%;
    margin: 1.5% 0;
    padding: 2.5% 0;
    background: #ff4833;
    color: #fff; }
    .news-nav .tabs .current .icon img:first-child,
    .news-nav .tabs li:hover .icon img:first-child {
      display: none; }
    .news-nav .tabs .current .icon img:last-child,
    .news-nav .tabs li:hover .icon img:last-child {
      display: block; }
  .news-nav .tabs .current:after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    bottom: -10px;
    left: 0;
    width: 0;
    height: 0;
    margin: auto;
    border-top: 10px solid #ff4833;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent; }
  .news-nav .tab-content {
    width: 97.22222%;
    float: left;
    margin-left: 1.38889%;
    margin-right: 1.38889%;
    display: none;
    width: 100%;
    margin: -1.5% 0 45px;
    padding: 15px;
    background: #fff; }
    .news-nav .tab-content .article {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%;
      margin-bottom: 2.3em; }
      .news-nav .tab-content .article:after {
        content: '';
        border-bottom: 1px solid #a1a1a1; }
      .news-nav .tab-content .article .picture {
        width: 30.55556%;
        float: left;
        margin-left: 1.38889%;
        margin-right: 1.38889%;
        padding-top: 3em;
        text-align: right; }
      .news-nav .tab-content .article .blurb {
        width: 47.22222%;
        float: left;
        margin-left: 1.38889%;
        margin-right: 1.38889%; }
        .news-nav .tab-content .article .blurb h4 {
          font-weight: bold; }
    .news-nav .tab-content .load-more {
      color: #ff4833;
      cursor: pointer; }
    .news-nav .tab-content .show-less {
      display: none;
      color: #ff4833;
      cursor: pointer; }
    .news-nav .tab-content hr {
      width: 50%;
      height: 1px;
      margin: 5px auto;
      border: 0;
      background: #252536; }
  .news-nav .tab-content.current {
    display: inherit; }

@media (max-width: 1024px) {
  .header-news {
    margin-bottom: 15px;
    padding: 15px 0; }
  .news-nav .tabs li {
    width: 95%;
    height: auto;
    margin: 1% auto;
    padding: 1%; }
  .news-nav .tabs .current,
  .news-nav .tabs li:hover {
    width: 95%;
    margin: 1% auto;
    padding: 1%; }
    .news-nav .tabs .current:after,
    .news-nav .tabs li:hover:after {
      content: '';
      border: 0; }
  .news-nav .content {
    margin: 0;
    padding: 0; }
  .news-nav .tab-content {
    width: 97.22222%;
    float: left;
    margin-left: 1.38889%;
    margin-right: 1.38889%;
    margin-top: 0;
    margin-bottom: 15px;
    padding: 5px; }
    .news-nav .tab-content .article {
      width: 97.22222%;
      float: left;
      margin-left: 1.38889%;
      margin-right: 1.38889%;
      margin-bottom: 2.3em; }
      .news-nav .tab-content .article .picture {
        width: 97.22222%;
        float: left;
        margin-left: 1.38889%;
        margin-right: 1.38889%;
        padding-top: 0;
        text-align: center; }
        .news-nav .tab-content .article .picture img {
          width: 90%;
          height: auto; }
      .news-nav .tab-content .article .blurb {
        width: 97.22222%;
        float: left;
        margin-left: 1.38889%;
        margin-right: 1.38889%; } }

@media (max-width: 1199px) {
  .news-nav .section .content {
    height: 85px; } }

.wrapit {
  width: 100%;
  float: left;
  margin-bottom: 1.5em;
  background: #f5f4f4; }

.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

.show {
  display: block; }

.hide {
  display: none; }

.sub-nav .current {
  text-decoration: underline; }

.contact-form input,
.contact-form select {
  background: #fff; }

.halft {
  width: 50%;
  float: left; }
  .halft .form-group input,
  .halft .form-group select {
    background-color: #fff; }
  @media (max-width: 1199px) {
    .halft .half-header,
    .halft .resource-copy {
      padding: 8% 5%; } }
  @media (max-width: 1024px) {
    .halft {
      width: 100%;
      float: left; }
      .halft .resource-copy {
        padding: 2% 5%; } }

.half-header {
  position: relative;
  padding: 5% 9%;
  background-image: url("../images/subpage-header-bg.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover; }
  .half-header h2 {
    color: #fff; }
  .half-header .item-name {
    padding-bottom: 0;
    color: #fff; }
  .half-header:after {
    content: '';
    position: absolute;
    top: 0;
    right: -30px;
    bottom: 0;
    width: 0;
    height: 0;
    margin: auto;
    border-width: 37.5px 0 37.5px 30px;
    border-style: solid;
    border-color: transparent transparent transparent #ff4833; }

.resource-copy {
  padding: 5% 9%; }
  .resource-copy ul {
    padding-left: 20px; }
    .resource-copy ul li {
      font-size: 1.25rem;
      padding-bottom: 10px;
      line-height: 1.2; }

.dl-block {
  margin-left: 2em;
  padding: 1% 5%;
  background: #f5f4f4; }
  .dl-block img {
    max-height: 225px;
    margin-top: 25px; }
  .dl-block .ty {
    font-size: 2.75rem;
    display: block;
    margin: 25px 0 15px;
    font-family: 'proximanova-light'; }
  .dl-block .button {
    margin-top: 8%; }

.halft .contact-form {
  position: relative;
  width: 100%;
  margin: 0 auto; }
  .halft .contact-form .form-field {
    padding: 5% 0; }
    @media (max-width: 1199px) {
      .halft .contact-form .form-field {
        padding: 5%; } }

@media (max-width: 1199px) {
  .half-header {
    padding: 3% 8%; }
    .half-header:after {
      border: 0; }
  .resource-copy {
    padding: 15px 5px; }
  .dl-block img {
    display: inline-block;
    margin: 0 25px 10px 50px; }
  .dl-block .dl {
    font-size: 1.1875rem;
    display: inline-block;
    width: 35%;
    margin: 0 auto;
    line-height: 1;
    text-align: center; }
  .dl-block .ty {
    display: inline-block;
    width: 40%; }
  .dl-block .button {
    margin-top: 10px; }
  .footer-cta {
    display: none; } }

.bg-eggshell {
  background: #fbfbfb; }

.resource-nav {
  width: 29.16667%;
  float: left;
  background: #f5f4f4; }
  .resource-nav ul {
    width: 100%;
    padding: 0; }
  .resource-nav li {
    font-size: 1.75rem;
    position: relative;
    padding: 20px 0;
    color: #252536;
    font-family: 'proximanova-light';
    text-align: center;
    list-style: none;
    cursor: pointer; }
    .resource-nav li.arrow-up:before {
      background-image: url("../images/close-menu.png");
      background-repeat: no-repeat;
      -webkit-transition: -webkit-transform .4s;
      transition: -webkit-transform .4s;
      transition: transform .4s;
      transition: transform .4s, -webkit-transform .4s;
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg); }
    .resource-nav li:before {
      content: '';
      position: absolute;
      top: 30px;
      left: 85%;
      width: 24px;
      height: 16px;
      background-image: url("../images/icon-arrow-dwn.svg");
      background-repeat: no-repeat;
      background-size: 24px 16px;
      -webkit-transition: background-image .4s;
      transition: background-image .4s; }
    .resource-nav li .sub-nav li {
      font-size: 1.25rem;
      padding: .5em 0 0 35%;
      font-weight: bolder;
      text-align: left; }
      .resource-nav li .sub-nav li:before {
        background: none;
        background-image: none; }
      .resource-nav li .sub-nav li a {
        color: #373749; }
        .resource-nav li .sub-nav li a:hover {
          text-decoration: underline; }
  @media (max-width: 1199px) {
    .resource-nav {
      width: 100%;
      float: left; } }

.resource-list-items {
  width: 70.83333%;
  float: right; }
  @media (max-width: 1199px) {
    .resource-list-items {
      width: 100%;
      float: left;
      padding: 0; } }

.l-item {
  width: 100%;
  float: left;
  margin: 25px 0;
  list-style: none; }

.resource-img {
  width: 25%;
  float: left;
  padding: 0 15px;
  text-align: center; }
  .resource-img img {
    width: 90%; }
  @media (max-width: 1199px) {
    .resource-img img {
      width: 70%; } }
  @media (max-width: 767px) {
    .resource-img {
      width: 100%;
      float: left; }
      .resource-img img {
        width: 50%; } }

.list-copy {
  width: 75%;
  float: left;
  padding-right: 40px; }
  @media (max-width: 1199px) {
    .list-copy {
      width: 100%;
      float: left;
      padding: 25px; } }
  .list-copy .title a {
    font-size: 1.75rem;
    color: #ff4833;
    font-family: 'proximanova-bold';
    line-height: 1;
    text-decoration: none; }

.cs {
  background: no-repeat top right;
  background-size: 100% auto; }

.case-header-left {
  width: 41.66667%;
  float: left; }
  @media (max-width: 1024px) {
    .case-header-left {
      width: 100%;
      float: left; } }

.case-study-header h2 {
  font-size: 2.75rem;
  padding: 35px 0 50px;
  color: #ff4833; }

.inline-me {
  display: inline-block; }
  @media (max-width: 1024px) {
    .inline-me {
      width: 100%;
      margin: 0 auto; } }

.case-study-header,
.intro-text,
.key-takeaway-solution,
.capabilities-wrapper .capabilities {
  padding: 12px 50px; }

.case-study-header {
  background-color: #f8f6f7; }
  .case-study-header .case-logos {
    margin: 35px 12px 0; }
    @media (max-width: 1024px) {
      .case-study-header .case-logos {
        margin: 25px 0 0; } }
    .case-study-header .case-logos img {
      height: 45px; }
      .case-study-header .case-logos img:last-child {
        height: 65px;
        padding-bottom: 5px;
        padding-left: 15px; }
        @media (max-width: 1024px) {
          .case-study-header .case-logos img:last-child {
            padding-left: 0; } }
  @media (max-width: 1024px) {
    .case-study-header {
      height: auto;
      padding: 5px;
      background-size: 75%; } }
  @media (max-width: 1024px) and (max-width: 767px) {
    .case-study-header {
      background-size: 50%; } }

.takeaways {
  font-size: 1.25rem; }
  @media (max-width: 1024px) {
    .takeaways {
      margin-top: 50px; } }
  .takeaways .icon {
    text-align: center; }
    .takeaways .icon img {
      width: 70px;
      height: 70px;
      margin: 10px 0; }
  .takeaways .row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 70px;
    margin-bottom: 12px; }
    .takeaways .row .text {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-align-content: center;
          -ms-flex-line-pack: center;
              align-content: center;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      height: 60px;
      margin: 10px 0 10px 12px; }
  .takeaways .button.sm {
    width: 90%; }
  .takeaways .button .btn-inner.sm {
    font-size: 0.875rem;
    width: 100%;
    padding: 0 20px; }

.cs-cta {
  padding: 50px 0; }
  @media (max-width: 1025px) {
    .cs-cta {
      margin-bottom: 25px; }
      .cs-cta .half {
        width: 100%; } }
  @media (max-width: 767px) {
    .cs-cta {
      padding: 15px 0; } }

.intro-text {
  margin-top: 100px; }
  @media (max-width: 1024px) {
    .intro-text {
      margin-top: 0;
      padding: 0; } }

.rtf {
  width: 70.83333%;
  float: left;
  padding: 12px 35px; }
  .rtf .main-header,
  .rtf .bigger-paragraph,
  .rtf .bigger-paragraph p {
    font-size: 1.75rem;
    margin: 30px 0 12px; }
  .rtf .main-header {
    color: #ff4833;
    font-family: 'proximanova-bold'; }
  .rtf .bigger-paragraph {
    font-family: 'proximanova-light'; }

.case-quote {
  width: 25%;
  float: left;
  margin-left: 4.16667%;
  background: #fff; }
  .case-quote .blockquote-line {
    width: 83px;
    height: 3px;
    background: url("../images/blockquote-line.png") top left no-repeat; }
  .case-quote img {
    display: block;
    width: 83%;
    margin: 25px auto 0; }
  .case-quote footer {
    padding-top: 10px; }

@media (max-width: 1024px) {
  .rtf,
  .case-quote {
    width: 100%;
    float: left;
    margin-left: 0%; } }

.contact-us {
  width: 33.33333%;
  float: left;
  font-size: 1.25rem;
  margin-left: 75px;
  padding: 30px 50px; }
  .contact-us .headline-text {
    font-size: 0.875rem;
    margin: 24px 0;
    color: #ff4833;
    font-family: "proximanova-semibold", verdana, arial;
    font-weight: bold;
    text-transform: uppercase; }
  .contact-us .name,
  .contact-us a {
    display: block;
    padding: 5px 0;
    color: inherit; }
  .contact-us .services-used ul {
    padding: 0;
    list-style: none; }
    .contact-us .services-used ul li {
      padding: 5px 0; }

.sub-header,
.paragraph {
  font-size: 1.25rem;
  font-weight: bold; }

.smaller-paragraph,
.smaller-paragraph p {
  margin-top: 4px;
  font-family: 'proximanova-light'; }

.key-takeaway-solution {
  width: 58.33333%;
  float: left; }

.key-takeaway-banner img {
  width: 100%; }

.capabilities-wrapper {
  padding-bottom: 12px; }
  .capabilities-wrapper h2 {
    text-align: center; }

.customers a {
  color: #252536; }

.third,
.forth,
.board-member {
  margin: 0 0 50px; }
  .third span,
  .forth span,
  .board-member span {
    display: block;
    width: 75%;
    text-align: center; }
    @media (max-width: 768px) {
      .third span,
      .forth span,
      .board-member span {
        width: auto; } }
  .third .name,
  .forth .name,
  .board-member .name {
    font-size: 1.125rem;
    padding: 10px 0 5px; }
  .third .title,
  .forth .title,
  .board-member .title {
    font-size: 0.875rem;
    color: #373749;
    text-transform: none; }
  .third .company,
  .forth .company,
  .board-member .company {
    font-size: 1rem;
    padding: 5px 0;
    color: #ff4833; }

.third {
  width: 33.33333%;
  float: left; }
  .third:nth-child(3n + 1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both; }
  .third:nth-child(3n + 2) {
    margin-left: 33.33333%;
    margin-right: -100%;
    clear: none; }
  .third:nth-child(3n + 3) {
    margin-left: 66.66667%;
    margin-right: -100%;
    clear: none; }

.forth {
  width: 25%;
  float: left; }
  .forth:nth-child(4n + 1) {
    margin-left: 0;
    margin-right: -100%;
    clear: both; }
  .forth:nth-child(4n + 2) {
    margin-left: 25%;
    margin-right: -100%;
    clear: none; }
  .forth:nth-child(4n + 3) {
    margin-left: 50%;
    margin-right: -100%;
    clear: none; }
  .forth:nth-child(4n + 4) {
    margin-left: 75%;
    margin-right: -100%;
    clear: none; }

@media (max-width: 768px) {
  .third,
  .forth {
    width: 50%;
    float: left; }
    .third:nth-child(2n + 1),
    .forth:nth-child(2n + 1) {
      margin-left: 0;
      margin-right: -100%;
      clear: both; }
    .third:nth-child(2n + 2),
    .forth:nth-child(2n + 2) {
      margin-left: 50%;
      margin-right: -100%;
      clear: none; } }

@media (max-width: 480px) {
  .third,
  .forth {
    width: 100%;
    float: left;
    clear: both !important; }
    .third:nth-child(1n + 1),
    .forth:nth-child(1n + 1) {
      margin-left: 0;
      margin-right: -100%;
      clear: none; } }

.modal .window .modal-partner-logo.board-member {
  text-align: center; }
  .modal .window .modal-partner-logo.board-member span {
    width: 100%; }
  .modal .window .modal-partner-logo.board-member .pic img {
    width: 75%; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuc2Nzcy9ub3JtYWxpemUuc2NzcyIsIm1haW4uY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3NsaWNrLWNhcm91c2VsL3NsaWNrL3NsaWNrLnNjc3MiLCJwYXJ0aWFscy9jb3JlL19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvb3V0cHV0L3N1cHBvcnQvX3JlbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX2NvbnRhaW5lci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L291dHB1dC9zdXBwb3J0L19jbGVhcmZpeC5zY3NzIiwicGFydGlhbHMvY29yZS9fdmFycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3NwYW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9vdXRwdXQvc2hhcmVkL19kaXJlY3Rpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19ndXR0ZXJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fbWFyZ2lucy5zY3NzIiwicGFydGlhbHMvY29yZS9fYmFzZS5zY3NzIiwicGFydGlhbHMvcmVnaW9ucy9fbmF2LnNjc3MiLCJwYXJ0aWFscy9jb3JlL19taXhpbnMuc2NzcyIsInBhcnRpYWxzL3JlZ2lvbnMvX3N0YWdlLnNjc3MiLCJwYXJ0aWFscy9yZWdpb25zL19mb290ZXJfY3RhLnNjc3MiLCJwYXJ0aWFscy9yZWdpb25zL19tYWlsaW5nX2xpc3Quc2NzcyIsInBhcnRpYWxzL3JlZ2lvbnMvX2Zvb3Rlci5zY3NzIiwicGFydGlhbHMvcmVnaW9ucy9fY29udGFjdF9mb3JtLnNjc3MiLCJwYXJ0aWFscy9yZWdpb25zL19hbmltYXRpb24uc2NzcyIsInBhcnRpYWxzL2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsInBhcnRpYWxzL2NvbXBvbmVudHMvX2ZvbnQuc2NzcyIsInBhcnRpYWxzL2NvbXBvbmVudHMvX21vZGFsLnNjc3MiLCJwYXJ0aWFscy9jb21wb25lbnRzL19jYXJvdXNlbC5zY3NzIiwicGFydGlhbHMvbGF5b3V0cy9fZ2xvYmFsLnNjc3MiLCJwYXJ0aWFscy9wYWdlcy9faG9tZXBhZ2Uuc2NzcyIsInBhcnRpYWxzL3BhZ2VzL19oaWdobGV2ZWwuc2NzcyIsInBhcnRpYWxzL3BhZ2VzL19nZXRzdGFydGVkLnNjc3MiLCJwYXJ0aWFscy9wYWdlcy9fc3VicGFnZS5zY3NzIiwicGFydGlhbHMvcGFnZXMvX2xpc3RpbmdzLnNjc3MiLCJwYXJ0aWFscy9wYWdlcy9fbmV3cy5zY3NzIiwicGFydGlhbHMvcGFnZXMvX3Jlc291cmNlcy5zY3NzIiwicGFydGlhbHMvcGFnZXMvX0Nhc2VTdHVkaWVzLnNjc3MiLCJwYXJ0aWFscy9wYWdlcy9fYm9hcmQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zdXN5L3Nhc3Mvc3VzeS9sYW5ndWFnZS9zdXN5L19pc29sYXRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvc3VzeS9zYXNzL3N1c3kvbGFuZ3VhZ2Uvc3VzeS9fZ2FsbGVyeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N1c3kvc2Fzcy9zdXN5L2xhbmd1YWdlL3N1c3kvX3Jvd3Muc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzRUFBc0U7QUFFdEU7Ozs7R0FJRztBQUVIO0VBQ0Usd0JBQXdCO0VBQUUsT0FBTztFQUNqQywyQkFBMkI7RUFBRSxPQUFPO0VBQ3BDLCtCQUErQjtFQUFFLE9BQU8sRUFDekM7O0FBRUQ7O0dBRUc7QUFFSDtFQUNFLFVBQVUsRUFDWDs7QUFFRDtnRkFDZ0Y7QUFF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LFlBQVksRUFDYixFQUFBO0VITEg7SUFSRjtNQ2lCSSxrQkdsQmlEO01Ia0JqRCxrQkNxRG9DO01EckRwQyxtQkNxRG1FLEVGdkR0RTtNQWZEO1FHVU0sYUFBYTtRQUNiLGVBQWU7UUFDZixZQUFZLEVBQ2IsRUFBQTtFSEZIO0lBWEY7TUNpQkksZ0JETHVCO01DS3ZCLGtCQ3FEb0M7TURyRHBDLG1CQ3FEbUU7TUZ6RG5FLFdBQVcsRUFFZDtNQWZEO1FHVU0sYUFBYTtRQUNiLGVBQWU7UUFDZixZQUFZLEVBQ2IsRUFBQTs7QUhJTDtFQUNFLGVBQWUsRUFDaEI7O0FBRUQ7RUFDRSxjQUFjLEVBQ2Y7O0FBRUQ7RUNSSSxpQkl3SW9CO0VKeElwQixZS0E0RDtFTEE1RCxzQk1xRmtCO0VOckZsQix1Qk1xRmtCO0VOckZsQixzQk9Ib0MsRVJpQnZDO0VBSEM7SUFIRjtNQ1JJLGlCSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRVB2RXJCLEVBQUE7O0FBRUQ7RUFDRSxlQUFlO0VBQ2YsbUJBQW1CLEVBQ3BCOztBQUVEO0VBQ0UsaUJBQWlCLEVBQ2xCOztBQUVEO0VBQ0UsWUFBWSxFQUNiOztBQUVEO0VBQ0Usa0JBQWtCLEVBQ25COztBQUVEO0VBQ0UsYUFBYSxFQUNkOztBQUVEO0VDckNJLGlCSXdJb0I7RUp4SXBCLFlLQTREO0VMQTVELHNCTXFGa0I7RU5yRmxCLHVCTXFGa0IsRVA3Q3JCOztBQUVEO0VDMUNJLGlCSXdJb0I7RUp4SXBCLFlLQTREO0VMQTVELHNCTXFGa0I7RU5yRmxCLHVCTXFGa0I7RVB6Q3BCLG1CQUFtQjtFQUNuQixvQkFBb0IsRUFNckI7RUFMQztJQUpGO01DMUNJLGlCSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0I7TVByQ2xCLFlBQVk7TUFDWixVQUFVLEVBRWIsRUFBQTs7QUFFRDtFQ3JESSxpQkl3SW9CO0VKeElwQixZS0E0RDtFTEE1RCxzQk1xRmtCO0VOckZsQix1Qk1xRmtCLEVQM0JyQjtFQUhDO0lB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a0JBQWtCLEVBUW5CO0VBUEM7SUE3RUo7O01ibUJJLGlCSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFGa0I7TU5yRmxCLHVCTXFGa0IsRU9wQm5CLEVBQUE7RUFKQztJQWhGSjs7TWJtQkksaUJJd0lvQjtNSnhJcEIsWUtBNEQ7TUxBNUQsc0JNcUZrQjtNTnJGbEIsdUJNcUZrQjtNT3RCaEIsbUJBQW1CLEVBRXRCLEVBQUE7O0FBcEZIO0VibUJJLGlCSXdJb0I7RUp4SXBCLFlLQTREO0VMQTVELHNCTXFGa0I7RU5yRmxCLHVCTXFGa0I7RU9qQmxCLHNCQUFzQjtFQUN0QixlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixnQkFBZ0IsRUFRakI7RUFQQztJQTVGSjtNYm1CSSxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCLEVPTG5CLEVBQUE7RUFKQztJQS9GSjtNYm1CSSxpQkl3SW9CO01KeElwQixZS0E0RDtNTEE1RCxzQk1xRmtCO01OckZsQix1Qk1xRmtCO01PUGhCLG1CQUFtQixFQUV0QixFQUFBOztBQUlDO0VBdkdKOzs7SUF3R00saUJBQWlCO0lBQ2pCLG9CQUFvQixFQUV2QixFQUFBOztBQzNHSDtFQUNFLGVYMEJlLEVXekJoQjs7QUFFRDtFSm9CRSxvQkFUdUI7RVZJckIsaUJJd0lvQjtFSnhJcEIsWUtBNEQ7RUxBNUQsc0JNcUZrQjtFTnJGbEIsdUJNcUZrQjtFUWpHcEIsc0JBQXNCO0VBQ3RCLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsb0JBQW9CLEVBOEZyQjtFQXBHRDtJSm9CRSxtQkFUdUI7SUlGckIsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixtQ0FBbUM7SUFDbkMsaUJBQWlCO0lBQ2pCLDBCQUEwQixFQUMzQjtFQWRIO0lkZUksaUJJd0lvQjtJSnhJcEIsYUtBdUU7SUxBdkUsc0JNcUZrQjtJTnJGbEIsdUJNcUZrQixFUW5GbkI7RUFDRDtJQWxCRjtNZGVJLGlCSXdJb0I7TUp4SXBCLFlLQTREO01MQTVELHNCTXFG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QjtFQUNoQixpQ0FBaUMsRUFDbEM7O0FBRUQ7RTdCN0xJLGlCSXdJb0I7RUp4SXBCLFlLQTRELEV3QitML0Q7O0FBRUQ7RUFDRSxZQUFZLEVBQ2I7O0FBRUQ7RUFDRSxxQkFBcUIsRUFJdEI7RUFMRDtJQUdJLG1CQUFtQixFQUNwQjs7QUFHSDtFQUNFLGUxQjNNYyxFMEI0TWY7O0FDak9EOzs7RUFHRSxpQkFBaUIsRUF1QmxCO0VBMUJEOzs7SUFLSSxlQUFlO0lBQ2YsV0FBVztJQUNYLG1CQUFtQixFQUlwQjtJQUhDO01BUko7OztRQVNNLFlBQVksRUFFZixFQUFBO0VBWEg7OztJcEJ3QkUsb0JBVHVCO0lvQkRyQixvQkFBb0IsRUFDckI7RUFmSDs7O0lwQndCRSxvQkFUdUI7SW9CR3JCLGUzQklpQjtJMkJIakIscUJBQXFCLEVBQ3RCO0VBcEJIOzs7SXBCd0JFLGdCQVR1QjtJb0JRckIsZUFBZTtJQUNmLGUzQkxTLEUyQk1WOztBQUdIO0U5QlRJLGlCSXdJb0I7RUp4SXBCLFlLQTRELEV5QlcvRDtFQUZEO0k5QlRJLGUrQndEaUI7SS9CeERqQixvQmdDb0Q2QjtJaENwRDdCLFlpQ1owQixFRG9GekI7RUYvREw7STlCVEksdUJJd0lvQjtJSnhJcEIsb0JnQ29ENkI7SWhDcEQ3QixZaUNKMEIsRUQ0RXpCO0VGL0RMO0k5QlRJLHVCSXdJb0I7SUp4SXBCLG9CZ0NvRDZCO0loQ3BEN0IsWWlDSjBCLEVENEV6Qjs7QUYzREw7RTlCYkksV0l3SW9CO0VKeElwQixZS0E0RCxFeUJlL0Q7RUFGRDtJOUJiSSxlK0J3RGlCO0kvQnhEakIsb0JnQ29ENkI7SWhDcEQ3QixZaUNaMEIsRURvRnpCO0VGM0RMO0k5QmJJLGlCSXdJb0I7SUp4SXBCLG9CZ0NvRDZCO0loQ3BEN0IsWWlDSjBCLEVENEV6QjtFRjNETDtJOUJiSSxpQkl3SW9CO0lKeElwQixvQmdDb0Q2QjtJaENwRDdCLFlpQ0owQixFRDRFekI7RUYzREw7STlCYkksaUJJd0lvQjtJSnhJcEIsb0JnQ29ENkI7SWhDcEQ3QixZaUNKMEIsRUQ0RXpCOztBRnJESDtFQUZGOztJOUJqQkksV0l3SW9CO0lKeElwQixZS0E0RCxFeUIwQi9EO0lBVEQ7O005QmpCSSxlK0J3RGlCO00vQnhEakIsb0JnQ29ENkI7TWhDcEQ3QixZaUNaMEIsRURvRnpCO0lGdkRMOztNOUJqQkksaUJJd0lvQjtNSnhJcEIsb0JnQ29ENkI7TWhDcEQ3QixZaUNKMEIsRUQ0RXpCLEVBQUE7O0FGbERIO0VBTEY7O0k5QmpCSSxZSXdJb0I7SUp4SXBCLFlLQTREO0l5QndCNUQsdUJBQXVCLEVBRTFCO0lBVEQ7O005QmpCSSxlK0J3RGlCO00vQnhEakIsb0JnQ29ENkI7TWhDcEQ3QixZaUNKMEIsRUQ0RXpCLEVBQUE7O0FGNUNMO0VBQ0UsbUJBQW1CLEVBT3BCO0VBUkQ7SUFHSSxZQUFZLEVBQ2I7RUFKSDtJQU1JLFdBQVcsRUFDWiIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuc2NzcyB2MC4xLjAgfCBNSVQgTGljZW5zZSB8IGJhc2VkIG9uIGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLyohIG5vcm1hbGl6ZS5zY3NzIHYwLjEuMCB8IE1JVCBMaWNlbnNlIHwgYmFzZWQgb24gZ2l0LmlvL25vcm1hbGl6ZSAqL1xuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDsgfVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDsgfVxuXG4vKiBTbGlkZXIgKi9cbi5zbGljay1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAgIC5jb250ZW50OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMTZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAuY29udGVudDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgICAuY29udGVudDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5jb250ZW50OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDsgfSB9XG5cbi5zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5pbnNpZGUtY29udGVudCB7XG4gIHdpZHRoOiA4MC41NTU1NiU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gIG1hcmdpbi1sZWZ0OiA5LjcyMjIyJTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmluc2lkZS1jb250ZW50IHtcbiAgICAgIHdpZHRoOiA5Ny4yMjIyMiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7IH0gfVxuXG4uY2VudGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ucmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmhhbGYtYWx3YXlzIHtcbiAgd2lkdGg6IDQ3LjIyMjIyJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTsgfVxuXG4uaGFsZiB7XG4gIHdpZHRoOiA0Ny4yMjIyMiU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmhhbGYge1xuICAgICAgd2lkdGg6IDk3LjIyMjIyJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLnRoaXJkcy1hbHdheXMge1xuICB3aWR0aDogMzAuNTU1NTYlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC50aGlyZHMtYWx3YXlzIHtcbiAgICAgIHdpZHRoOiA5Ny4yMjIyMiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7IH0gfVxuXG4udGhpcmRzIHtcbiAgd2lkdGg6IDMwLjU1NTU2JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLnRoaXJkcyB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmZvdXJ0aHMge1xuICB3aWR0aDogMjIuMjIyMjIlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuZm91cnRocyB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAubW9iaWxlLW5vZGlzcGxheSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5mbGV4LWNvbnRhaW5lci1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdzsgfVxuXG4uZmxleC1jb250YWluZXItY29sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW47IH1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBcInByb3hpbWFub3ZhLXJlZ3VsYXJcIiwgdmVyZGFuYSwgYXJpYWw7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgaHRtbCB7XG4gICAgICBmb250LXNpemU6IDE0LjRweDsgfSB9XG5cbmEge1xuICB0cmFuc2l0aW9uOiBjb2xvciAuMjVzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG4uaDEsXG4uaDIsXG4uaDMsXG4uaDQsXG4uaDUsXG4uaDYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEuNXJlbSAwOyB9XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgdGV4dC1zaGFkb3c6IG5vbmU7IH1cblxuaHIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogMWVtIDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7IH1cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuYnV0dG9uOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5ob21lcGFnZSAucHJpbWFyeS1uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0ODMzOyB9XG4gIC5ob21lcGFnZSAucHJpbWFyeS1uYXYgLmJnLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuaG9tZXBhZ2UgLnByaW1hcnktbmF2IC5idXR0b24ge1xuICAgIGJvcmRlci1jb2xvcjogIzI1MjUzNjsgfVxuICAgIC5ob21lcGFnZSAucHJpbWFyeS1uYXYgLmJ1dHRvbjpiZWZvcmUsIC5ob21lcGFnZSAucHJpbWFyeS1uYXYgLmJ1dHRvbjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURvQUFBQUVDQVlBQUFEZnl5ejFBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQTRScFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1ERTBJRGM1TGpFMU5qYzVOeXdnTWpBeE5DOHdPQzh5TUMwd09UbzFNem93TWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM4aUlIaHRjRTFOT2s5eWFXZHBibUZzUkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRveVlqVTROV1E0TUMwek9UWmhMVFJoT0RBdFlqVm1NaTAyWVRNd01ETm1OVGhqTUdVaUlIaHRjRTFOT2tSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk5qRkJRMEpGTVRSR01rTXhNVEZGTlRreFFUSTVPRUZFTkVFeU1EbEVOVFVpSUhodGNFMU5Pa2x1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TmpGQlEwSkZNVE5HTWtNeE1URkZOVGt4UVRJNU9FRkVORUV5TURsRU5UVWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRRZ0tGZHBibVJ2ZDNNcElqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNRGMzT1RJM01XTXRNREJrTWkwMU1UUTNMVGc0TlRVdE5UY3pPRFUzWTJSaU9ERm1JaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0poWkc5aVpUcGtiMk5wWkRwd2FHOTBiM05vYjNBNk16RXhPRFV5TWpjdFpqRmtaQzB4TVdVMUxUaGxPR1F0WVRobU1USmhZV05pWVRObElpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCtSUVgrRHdBQUFDeEpSRUZVZU5waWZPU2cvWjhCQWhnWkJpZkE2ejdaL1Zmd2FuN3NxQVBXejhRd1FzQ29SNGNiQUFnd0FLY2ZCMVFRcThMWEFBQUFBRWxGVGtTdVFtQ0NcIik7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmhvbWVwYWdlIC5wcmltYXJ5LW5hdiAuYnV0dG9uOmJlZm9yZSwgLmhvbWVwYWdlIC5wcmltYXJ5LW5hdiAuYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9IH1cbiAgICAuaG9tZXBhZ2UgLnByaW1hcnktbmF2IC5idXR0b24gc3Bhbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjUyNTM2OyB9XG4gIC5ob21lcGFnZSAucHJpbWFyeS1uYXYgLnN0aWNreSAuYnV0dG9uIHtcbiAgICBib3JkZXItY29sb3I6ICNmZjQ4MzM7IH1cbiAgLmhvbWVwYWdlIC5wcmltYXJ5LW5hdiAubWFpbi1tZW51IGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmhvbWVwYWdlIC5wcmltYXJ5LW5hdiAubWFpbi1tZW51IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMyNTI1MzY7IH1cbiAgLmhvbWVwYWdlIC5wcmltYXJ5LW5hdiAubWFpbi1tZW51IC5zdWItbmF2IGEge1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBjb2xvcjogIzI1MjUzNjsgfVxuICAgIC5ob21lcGFnZSAucHJpbWFyeS1uYXYgLm1haW4tbWVudSAuc3ViLW5hdiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmY0ODMzOyB9XG4gIC5ob21lcGFnZSAucHJpbWFyeS1uYXYgLnV0aWxzIGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmhvbWVwYWdlIC5wcmltYXJ5LW5hdiAudXRpbHMgYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzI1MjUzNjsgfVxuICAuaG9tZXBhZ2UgLnByaW1hcnktbmF2IC5tYWluLW1lbnUtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDgzMzsgfVxuICAgIC5ob21lcGFnZSAucHJpbWFyeS1uYXYgLm1haW4tbWVudS13cmFwcGVyIC5oZWFkLWxvZ28ge1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgbWFyZ2luLXRvcDogOHB4O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL3N2Zy14aXZlbHktd2hpdGUuc3ZnXCIpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcbiAgICAgIGhlaWdodDogNjBweDsgfVxuICAgIC5ob21lcGFnZSAucHJpbWFyeS1uYXYgLm1haW4tbWVudS13cmFwcGVyLnN0aWNreSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyczsgfVxuICAgICAgLmhvbWVwYWdlIC5wcmltYXJ5LW5hdiAubWFpbi1tZW51LXdyYXBwZXIuc3RpY2t5IC5tYWluLW1lbnUgYSB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDJzO1xuICAgICAgICBjb2xvcjogIzI1MjUzNjsgfVxuICAgICAgICAuaG9tZXBhZ2UgLnByaW1hcnktbmF2IC5tYWluLW1lbnUtd3JhcHBlci5zdGlja3kgLm1haW4tbWVudSBhOmhvdmVyIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuNXM7XG4gICAgICAgICAgY29sb3I6ICNmZjQ4MzM7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgIC5ob21lcGFnZSAucHJpbWFyeS1uYXYgLm1haW4tbWVudS13cmFwcGVyLnN0aWNreSAubWFpbi1tZW51IGE6YmVmb3JlLCAuaG9tZXBhZ2UgLnByaW1hcnktbmF2IC5tYWluLW1lbnUtd3JhcHBlci5zdGlja3kgLm1haW4tbWVudSBhOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH0gfVxuICAgICAgLmhvbWVwYWdlIC5wcmltYXJ5LW5hdiAubWFpbi1tZW51LXdyYXBwZXIuc3RpY2t5IC5idXR0b246YmVmb3JlLCAuaG9tZXBhZ2UgLnByaW1hcnktbmF2IC5tYWluLW1lbnUtd3JhcHBlci5zdGlja3kgLmJ1dHRvbjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRG9BQUFBRUNBWUFBQURmeXl6MUFBQUFCR2RCVFVFQUFMR1BDL3hoQlFBQUFDQmpTRkpOQUFCNkpnQUFnSVFBQVBvQUFBQ0E2QUFBZFRBQUFPcGdBQUE2bUFBQUYzQ2N1bEU4QUFBQUJtSkxSMFFBQUFBQUFBRDVRN3QvQUFBQUNYQklXWE1BQUFzU0FBQUxFZ0hTM1g3OEFBQUFLRWxFUVZRb3oyUDgvLy8vZndZR0JnWkdSa1pHaGtFSUtIVWZURC9UUUh1RVhtRFVvOE1OQUFDYkdRd0VUbGJ6dWdBQUFBQkpSVTVFcmtKZ2dnPT1cIik7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtaW1hZ2UgMnM7IH1cbiAgICAgIC5ob21lcGFnZSAucHJpbWFyeS1uYXYgLm1haW4tbWVudS13cmFwcGVyLnN0aWNreSAuYnV0dG9uIHNwYW46aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmY0ODMzOyB9XG4gICAgICAuaG9tZXBhZ2UgLnByaW1hcnktbmF2IC5tYWluLW1lbnUtd3JhcHBlci5zdGlja3kgLmhlYWQtbG9nbyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltYWdlcy9zdmcteGl2ZWx5LWxvZ28uc3ZnXCIpIG5vLXJlcGVhdCBsZWZ0IHRvcDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaG9tZXBhZ2UgLnByaW1hcnktbmF2IC5tYWluLW1lbnUgbGk6aG92ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICMyNTI1MzY7IH1cbiAgICAuaG9tZXBhZ2UgLnByaW1hcnktbmF2IC5zdGlja3kgLm1haW4tbWVudSBsaTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2ZmNDgzMzsgfVxuICAgIC5ob21lcGFnZSAucHJpbWFyeS1uYXYgLm1haW4tbWVudSBsaSBsaTpob3ZlciB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAuaG9tZXBhZ2UgLnByaW1hcnktbmF2IC5zdGlja3kgLm1haW4tbWVudSBsaSBsaTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cblxuLm1haW4tbWVudS13cmFwcGVyLnN0aWNreSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDU1LCA1NSwgNzIsIDAuNSk7IH1cblxuLnByaW1hcnktbmF2IHtcbiAgaGVpZ2h0OiAxMDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6ICdwcm94aW1hbm92YS1yZWd1bGFyJztcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLnByaW1hcnktbmF2IHtcbiAgICAgIGhlaWdodDogNjhweDsgfSB9XG4gIC5wcmltYXJ5LW5hdiAubWFpbi1tZW51LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDQycHg7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgIC5wcmltYXJ5LW5hdiAubWFpbi1tZW51LXdyYXBwZXIuc3RpY2t5IHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAucHJpbWFyeS1uYXYgLm1haW4tbWVudS13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gIC5wcmltYXJ5LW5hdiAub2ZmLWNhbnZhcy5vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IC40cztcbiAgICBvdmVyZmxvdzogYXV0bzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLnByaW1hcnktbmF2IC5vZmYtY2FudmFzIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IC0xMjAlO1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogI2U4ZTBkZTtcbiAgICAgIHRyYW5zaXRpb246IC40cztcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAucHJpbWFyeS1uYXYgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucHJpbWFyeS1uYXYgLm1vYmlsZS1tZW51IC5oZWFkLWxvZ28ge1xuICAgIHdpZHRoOiAyMDBweDsgfVxuICAgIC5wcmltYXJ5LW5hdiAubW9iaWxlLW1lbnUgLmhlYWQtbG9nbyAuaGVhZGVyLWxvZ28ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDYwcHg7IH1cbiAgLnByaW1hcnktbmF2IC5tb2JpbGUtbWVudSAubW9iaWxlLW1lbnUtaWNvbiB7XG4gICAgd2lkdGg6IDEzLjg4ODg5JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUEvUGp3aFJFOURWRmxRUlNCemRtY2dJRkJWUWt4SlF5QW5MUzh2VnpOREx5OUVWRVFnVTFaSElERXVNUzh2UlU0bklDQW5hSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZSM0poY0docFkzTXZVMVpITHpFdU1TOUVWRVF2YzNabk1URXVaSFJrSno0OGMzWm5JR2hsYVdkb2REMGlNekp3ZUNJZ2FXUTlJa3hoZVdWeVh6RWlJSE4wZVd4bFBTSmxibUZpYkdVdFltRmphMmR5YjNWdVpEcHVaWGNnTUNBd0lETXlJRE15T3lJZ2RtVnljMmx2YmowaU1TNHhJaUIyYVdWM1FtOTRQU0l3SURBZ016SWdNeklpSUhkcFpIUm9QU0l6TW5CNElpQjRiV3c2YzNCaFkyVTlJbkJ5WlhObGNuWmxJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklqNDhjR0YwYUNCa1BTSk5OQ3d4TUdneU5HTXhMakV3TkN3d0xESXRNQzQ0T1RZc01pMHljeTB3TGpnNU5pMHlMVEl0TWtnMFF6SXVPRGsyTERZc01pdzJMamc1Tml3eUxEaFRNaTQ0T1RZc01UQXNOQ3d4TUhvZ1RUSTRMREUwU0RSakxURXVNVEEwTERBdE1pd3dMamc1TmkweUxESWdJSE13TGpnNU5pd3lMRElzTW1neU5HTXhMakV3TkN3d0xESXRNQzQ0T1RZc01pMHlVekk1TGpFd05Dd3hOQ3d5T0N3eE5Ib2dUVEk0TERJeVNEUmpMVEV1TVRBMExEQXRNaXd3TGpnNU5pMHlMREp6TUM0NE9UWXNNaXd5TERKb01qUmpNUzR4TURRc01Dd3lMVEF1T0RrMkxESXRNaUFnVXpJNUxqRXdOQ3d5TWl3eU9Dd3lNbm9pTHo0OEwzTjJaejQ9XCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgIGNvbG9yOiAjMjUyNTM2O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnByaW1hcnktbmF2IC5tb2JpbGUtbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnByaW1hcnktbmF2IC5uYXYtbG9nb3MsXG4gIC5wcmltYXJ5LW5hdiAuc2hvdy1hbGwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjgwcHg7XG4gICAgaGVpZ2h0OiAxNDBweDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5wcmltYXJ5LW5hdiAubmF2LWxvZ29zIGltZzpsYXN0LWNoaWxkLFxuICAgIC5wcmltYXJ5LW5hdiAuc2hvdy1hbGwgaW1nOmxhc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wcmltYXJ5LW5hdiAubmF2LWxvZ29zIGltZzpmaXJzdC1jaGlsZCxcbiAgICAucHJpbWFyeS1uYXYgLnNob3ctYWxsIGltZzpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wcmltYXJ5LW5hdiAubmF2LWxvZ29zOmhvdmVyLFxuICAgIC5wcmltYXJ5LW5hdiAuc2hvdy1hbGw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNDgzMzsgfVxuICAgICAgLnByaW1hcnktbmF2IC5uYXYtbG9nb3M6aG92ZXIgaW1nOmxhc3QtY2hpbGQsXG4gICAgICAucHJpbWFyeS1uYXYgLnNob3ctYWxsOmhvdmVyIGltZzpsYXN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5wcmltYXJ5LW5hdiAubmF2LWxvZ29zOmhvdmVyIGltZzpmaXJzdC1jaGlsZCxcbiAgICAgIC5wcmltYXJ5LW5hdiAuc2hvdy1hbGw6aG92ZXIgaW1nOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wcmltYXJ5LW5hdiAubmF2LWxvZ29zIGltZyxcbiAgICAucHJpbWFyeS1uYXYgLnNob3ctYWxsIGltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogNjUlO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gIC5wcmltYXJ5LW5hdiAuc2hvdy1hbGwge1xuICAgIHBhZGRpbmctdG9wOiAxMyU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDRkYzsgfVxuICAgIC5wcmltYXJ5LW5hdiAuc2hvdy1hbGw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtMzBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMjVweDtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9uZXh0LWljb24tcmlnaHQtcHJwbC5wbmdcIikgbm8tcmVwZWF0OyB9XG4gICAgLnByaW1hcnktbmF2IC5zaG93LWFsbDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNDY0NjQ2O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5wcmltYXJ5LW5hdiAuc2hvdy1hbGw6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL25leHQtaWNvbi1yaWdodC5wbmdcIikgbm8tcmVwZWF0OyB9XG4gIC5wcmltYXJ5LW5hdiAuaGVhZC1sb2dvIHtcbiAgICB3aWR0aDogMTMuODg4ODklO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybChcIi4uL2ltYWdlcy9zdmcteGl2ZWx5LWxvZ28uc3ZnXCIpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjVlbTtcbiAgICB0ZXh0LWluZGVudDogLTk5OWVtOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgLnByaW1hcnktbmF2IC5oZWFkLWxvZ28ge1xuICAgICAgICBtYXJnaW4tdG9wOiA2cHg7IH0gfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5wcmltYXJ5LW5hdiAuaGVhZC1sb2dvIHtcbiAgICAgICAgd2lkdGg6IDQ3LjIyMjIyJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKFwiLi4vaW1hZ2VzL3hpdmVseS1sb2dvLXB1cnBsZS5zdmdcIikgbm8tcmVwZWF0IGxlZnQgdG9wOyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdiAuaGVhZC1sb2dvLnJlY29sb3Ige1xuICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0gfVxuICAucHJpbWFyeS1uYXYgLmhlYWRlci1sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucHJpbWFyeS1uYXYgLmJ0bi1oZWFkZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLnByaW1hcnktbmF2IC5idG4taGVhZGVyIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDEwcHggMCA1MHB4OyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdiAuYnRuLWhlYWRlciBzcGFuIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAucHJpbWFyeS1uYXYgLnV0aWxzLXdyYXBwZXIge1xuICAgIHdpZHRoOiA5Ny4yMjIyMiU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5wcmltYXJ5LW5hdiAudXRpbHMtd3JhcHBlciB7XG4gICAgICAgIG9yZGVyOiAyOyB9IH1cbiAgLnByaW1hcnktbmF2IG5hdiB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAucHJpbWFyeS1uYXYgbmF2LnV0aWxzIHtcbiAgICAgIHBhZGRpbmc6IDAgNXB4OyB9XG4gICAgICAucHJpbWFyeS1uYXYgbmF2LnV0aWxzIGEge1xuICAgICAgICBjb2xvcjogIzdjNzc4NTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAucHJpbWFyeS1uYXYgbmF2LnV0aWxzIHtcbiAgICAgICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQycHg7IH0gfVxuICAgICAgLnByaW1hcnktbmF2IG5hdi51dGlscyBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZjQ4MzM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5wcmltYXJ5LW5hdiBuYXYubWFpbi1tZW51IHtcbiAgICAgIGhlaWdodDogNjVweDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgICAucHJpbWFyeS1uYXYgbmF2Lm1haW4tbWVudSB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICAucHJpbWFyeS1uYXYgbmF2Lm1haW4tbWVudSAuY2xvc2UtbWVudSB7XG4gICAgICAgIHdpZHRoOiAxMy44ODg4OSU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzNC43MjIyMiU7XG4gICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjJweDsgfVxuICAgICAgICAucHJpbWFyeS1uYXYgbmF2Lm1haW4tbWVudSAuY2xvc2UtbWVudSBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jbG9zZS1tZW51LnBuZ1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICAgLnByaW1hcnktbmF2IG5hdi5tYWluLW1lbnUgLmNsb3NlLW1lbnUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAucHJpbWFyeS1uYXYgbmF2Lm1haW4tbWVudSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZjQ4MzM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLnByaW1hcnktbmF2IG5hdi5tYWluLW1lbnUgdWwge1xuICAgICAgICB3aWR0aDogNjMuODg4ODklO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgICAgIC5wcmltYXJ5LW5hdiBuYXYubWFpbi1tZW51IHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAucHJpbWFyeS1uYXYgbmF2Lm1haW4tbWVudSB1bCB7XG4gICAgICAgICAgICB3aWR0aDogOTcuMjIyMjIlO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICAucHJpbWFyeS1uYXYgbmF2Lm1haW4tbWVudSBsaSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAgICAgLnByaW1hcnktbmF2IG5hdi5tYWluLW1lbnUgbGk6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZmY0ODMzOyB9XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgICAgLnByaW1hcnktbmF2IG5hdi5tYWluLW1lbnUgbGk6aG92ZXIge1xuICAgICAgICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAgICAgLnByaW1hcnktbmF2IG5hdi5tYWluLW1lbnUgbGkgLmZhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgLnByaW1hcnktbmF2IG5hdi5tYWluLW1lbnUgbGkgLmZhIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDU1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgICAucHJpbWFyeS1uYXYgbmF2Lm1haW4tbWVudSAuc3ViLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA2NHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlOGU3ZTk7XG4gICAgICAgIGNvbG9yOiAjMjUyNTM2O1xuICAgICAgICBmb250LWZhbWlseTogXCJwcm94aW1hbm92YS1saWdodFwiLCB2ZXJkYW5hLCBhcmlhbDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgIC5wcmltYXJ5LW5hdiBuYXYubWFpbi1tZW51IC5zdWItbmF2IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgICAgIC5wcmltYXJ5LW5hdiBuYXYubWFpbi1tZW51IC5zdWItbmF2IC5kcm9wLWhlYWRlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMCAyMHB4IDEycHg7XG4gICAgICAgICAgY29sb3I6ICM3Yzc3ODU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwicHJveGltYW5vdmEtc2VtaWJvbGRcIiwgdmVyZGFuYSwgYXJpYWw7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdiBuYXYubWFpbi1tZW51IC5zdWItbmF2IC5ibG9jayB7XG4gICAgICAgICAgd2lkdGg6IDk3LjIyMjIyJTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTsgfVxuICAgICAgICAucHJpbWFyeS1uYXYgbmF2Lm1haW4tbWVudSAuc3ViLW5hdiAubGVmdC1ibG9jayB7XG4gICAgICAgICAgd2lkdGg6IDM4Ljg4ODg5JTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTsgfVxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAgIC5wcmltYXJ5LW5hdiBuYXYubWFpbi1tZW51IC5zdWItbmF2IC5sZWZ0LWJsb2NrIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgICAgLnByaW1hcnktbmF2IG5hdi5tYWluLW1lbnUgLnN1Yi1uYXYgLmxlZnQtYmxvY2sgLmJsb2NrIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweCAzMHB4OyB9XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAgICAgICAgIC5wcmltYXJ5LW5hdiBuYXYubWFpbi1tZW51IC5zdWItbmF2IC5sZWZ0LWJsb2NrIC5ibG9jayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4IDYwcHg7IH0gfVxuICAgICAgICAgIC5wcmltYXJ5LW5hdiBuYXYubWFpbi1tZW51IC5zdWItbmF2IC5sZWZ0LWJsb2NrIC5uYXYtdGFnbGluZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIuNjI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmY0ODMzO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTsgfVxuICAgICAgICAucHJpbWFyeS1uYXYgbmF2Lm1haW4tbWVudSAuc3ViLW5hdiAucmlnaHQtYmxvY2sge1xuICAgICAgICAgIHdpZHRoOiA1NS41NTU1NiU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzI1MjUzNjtcbiAgICAgICAgICBib3JkZXItaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZXJ0aWNhbF9saW5lLnBuZ1wiKSAzMCAyIHJlcGVhdDsgfVxuICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICAgIC5wcmltYXJ5LW5hdiBuYXYubWFpbi1tZW51IC5zdWItbmF2IC5yaWdodC1ibG9jayB7XG4gICAgICAgICAgICAgIHdpZHRoOiA5Ny4yMjIyMiU7XG4gICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAtMjBweCAwIDAgLTMwcHg7XG4gICAgICAgICAgICAgIGJvcmRlcjogMDsgfSB9XG4gICAgICAgIC5wcmltYXJ5LW5hdiBuYXYubWFpbi1tZW51IC5zdWItbmF2IHVsIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgICAucHJpbWFyeS1uYXYgbmF2Lm1haW4tbWVudSAuc3ViLW5hdiB1bCBsaSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XG4gICAgICAgICAgICBib3JkZXI6IDA7IH1cbiAgICAucHJpbWFyeS1uYXYgbmF2ID4gdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAucHJpbWFyeS1uYXYgbmF2ID4gdWwge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgLnByaW1hcnktbmF2IG5hdiA+IHVsID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgLjc1JTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAucHJpbWFyeS1uYXYgbmF2ID4gdWwgPiBsaSBhIHtcbiAgICAgICAgICBjb2xvcjogIzI1MjUzNjsgfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgLnByaW1hcnktbmF2IG5hdiA+IHVsID4gbGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4ubm90b3VjaCAucHJpbWFyeS1uYXYgbGk6aG92ZXIgLnN1Yi1uYXYge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLm5vdG91Y2ggLnByaW1hcnktbmF2IGxpOmhvdmVyIC5zdWItbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucHJpbWFyeS1uYXYgLnN1Yi1uYXYuaG92ZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucm90YXRlIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBsaW5lYXI7IH1cblxuLnJvdGF0ZS51cCA6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjA3OCc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG5cbi5mYS1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jaGV2cm9uLWRvd24ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uYmctZ3JhZGllbnQgaDIge1xuICBjb2xvcjogI2ZmNDgzMzsgfVxuXG4uc3RhZ2UtYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiA5NSU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiA0ZW0gMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL3N2Zy1qb3VybmV5LWJnLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnN0YWdlLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMi41ZW0gMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltYWdlcy9zdGVwX2JnX3YucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9IH1cbiAgLnN0YWdlLWJsb2NrIC5zdGFnZS1ib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjUlO1xuICAgIG1pbi1oZWlnaHQ6IDM1MnB4O1xuICAgIG1hcmdpbjogMCAyLjIyMjIyJTtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogI2ZmNDgzMztcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWJvbGQnO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5zdGFnZS1ibG9jayAuc3RhZ2UtYm94IHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMzE1cHg7XG4gICAgICAgIG1hcmdpbjogMTVweCBhdXRvOyB9IH1cbiAgICAuc3RhZ2UtYmxvY2sgLnN0YWdlLWJveCAuc3RhZ2UtYm94LWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDEwcHggYXV0bzsgfVxuXG4uaWU5IC5zdGFnZS1ibG9jazpiZWZvcmUge1xuICBib3R0b206IDQ3LjUlOyB9XG5cbi5zdGFnZS1ib3ggLnN0ZXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMzAlO1xuICBtaW4taGVpZ2h0OiAxMTBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDg3NnB4KSB7XG4gICAgLnN0YWdlLWJveCAuc3RlcCB7XG4gICAgICBtaW4taGVpZ2h0OiA4MHB4OyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnN0YWdlLWJveCAuc3RlcCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5zdGFnZS1ib3ggLnN0ZXAgaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC5zdGFnZS1ib3ggLnN0ZXAgaW1nOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc3RhZ2UtYm94IC5zdGVwIGltZzpsYXN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zdGFnZS1ib3g6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmY0ODMzO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gIC5zdGFnZS1ib3g6aG92ZXIgLnN0ZXAgaW1nOmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zdGFnZS1ib3g6aG92ZXIgLnN0ZXAgaW1nOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zdGFnZS1ib3g6aG92ZXIgLnN0YWdlLm9uZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL3N0cC1vbmUtcmVkLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgfVxuICAuc3RhZ2UtYm94OmhvdmVyIC5zdGFnZS50d28ge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL2ltYWdlcy9zdHAtdHdvLXJlZC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7IH1cbiAgLnN0YWdlLWJveDpob3ZlciAuc3RhZ2UudGhyZWUge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL2ltYWdlcy9zdHAtdGhyZWUtcmVkLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgfVxuXG4uc3RhZ2UtYm94OmJlZm9yZSwgLnN0YWdlLWJveDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjNzM2ZTdhOyB9XG5cbi5zdGFnZS1ib3g6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tbGVmdDogOS43MjIyMiU7IH1cblxuLnN0YWdlLWJveDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiA5LjcyMjIyJTsgfVxuXG4uc3RhZ2UtYm94IC5zdGFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMHB4O1xuICBsZWZ0OiAzMHB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4OyB9XG4gIC5zdGFnZS1ib3ggLnN0YWdlLm9uZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL3N0cC1vbmUtd2h0LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgfVxuICAuc3RhZ2UtYm94IC5zdGFnZS50d28ge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL2ltYWdlcy9zdHAtdHdvLXdodC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7IH1cbiAgLnN0YWdlLWJveCAuc3RhZ2UudGhyZWUge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL2ltYWdlcy9zdHAtdGhyZWUtd2h0LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgfVxuXG4uc3RhZ2UtYm94IHAge1xuICBmb250LXNpemU6IDEuNjg3NXJlbTtcbiAgbWF4LXdpZHRoOiAyNjVweDtcbiAgbWFyZ2luOiAxNXB4IGF1dG8gMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogODc2cHgpIHtcbiAgICAuc3RhZ2UtYm94IHAge1xuICAgICAgZm9udC1zaXplOiAxLjQzNzVyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc3RhZ2UtYm94IHAge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnN0YWdlLWJveCB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAgIC5zdGFnZS1ib3g6YmVmb3JlLCAuc3RhZ2UtYm94OmFmdGVyIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAycHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7IH1cbiAgICAuc3RhZ2UtYm94OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtMnB4OyB9XG4gICAgLnN0YWdlLWJveDphZnRlciB7XG4gICAgICByaWdodDogLTJweDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuc3RhZ2UtYm94IHtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1pbi1oZWlnaHQ6IDI3NXB4O1xuICAgIG1hcmdpbjogN3Z3O1xuICAgIHBhZGRpbmc6IDEwIDA7IH1cbiAgICAuc3RhZ2UtYm94OmJlZm9yZSwgLnN0YWdlLWJveDphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogMnB4OyB9XG4gICAgLnN0YWdlLWJveDpiZWZvcmUge1xuICAgICAgdG9wOiAtMnB4OyB9XG4gICAgLnN0YWdlLWJveDphZnRlciB7XG4gICAgICBib3R0b206IC0ycHg7IH1cbiAgICAuc3RhZ2UtYm94OmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zdGFnZS1ib3g6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuc3RhZ2UtYm94IHAge1xuICAgICAgbWFyZ2luOiA1cHggYXV0bzsgfSB9XG5cbi5zdGFnZS1ib3ggLnN0ZXAgaW1nIHtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDgwcHg7IH1cblxuLnN0YWdlLWJveCAueW91ci1zdGVwIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0YWdlLWJveCAueW91ci1zdGVwIHAge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnN0YWdlLWJveC5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUyNTM2O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvd2hpdGUtY2hlY2ttYXJrLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA0MCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnN0YWdlLWJveC5hY3RpdmUgc3BhbixcbiAgLnN0YWdlLWJveC5hY3RpdmUgcCxcbiAgLnN0YWdlLWJveC5hY3RpdmUgaW1nIHtcbiAgICBvcGFjaXR5OiAuMTsgfVxuICAuc3RhZ2UtYm94LmFjdGl2ZTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG4gIC5zdGFnZS1ib3guYWN0aXZlIC5zdGFnZS1ib3gtY29udGVudDphZnRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnN0YWdlLWJveC5hY3RpdmUgLnlvdXItc3RlcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG5cbi5zdGFnZS1ib3gtY29udGVudDphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAzNXB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjVweDtcbiAgaGVpZ2h0OiAyNXB4O1xuICBtYXJnaW46IGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltYWdlcy9sZnRfYXJyb3dfd2h0LnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuc3RhZ2UtYm94LWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfSB9XG5cbi5pZTkgLnN0YWdlLWJveCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAxJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uZm9vdGVyLWN0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDYyOXB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvd29ya3MtYmV0dGVyLWJnLnBuZ1wiKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmZvb3Rlci1jdGEge1xuICAgICAgaGVpZ2h0OiAzNTA7IH0gfVxuICAuZm9vdGVyLWN0YSBkaXYge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5pZTkgLmZvb3Rlci1jdGEgLmN0YS1ibHVyYiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMjAwO1xuICBtYXJnaW46IGF1dG87IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAubmV3c2xldHRlci1mb3JtLWhvbGRlciB7XG4gICAgd2lkdGg6IDk3LjIyMjIyJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTsgfSB9XG5cbi5uZXdzbGV0dGVyLWZvcm0taG9sZGVyIC5mb3JtLWVycm9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIxcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubmV3c2xldHRlci1mb3JtLWhvbGRlciAuZm9ybS1lcnJvciB7XG4gICAgICB0b3A6IDUycHg7XG4gICAgICBsZWZ0OiA0MyU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgLmZvcm0tZXJyb3Ige1xuICAgICAgdG9wOiA0NXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgLnNpZ251cCB7XG4gIHdpZHRoOiAzOC44ODg4OSU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAubmV3c2xldHRlci1mb3JtLWhvbGRlciAuc2lnbnVwIGg0IHtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgLnNpZ251cCB7XG4gICAgICB3aWR0aDogOTcuMjIyMjIlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklOyB9IH1cblxuLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgLnRoYW5rLXlvdSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5uZXdzbGV0dGVyLWZvcm0taG9sZGVyIC5lbWFpbC1maWVsZCB7XG4gIHdpZHRoOiAzMC41NTU1NiU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5uZXdzbGV0dGVyLWZvcm0taG9sZGVyIC5lbWFpbC1maWVsZDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogLTEwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL3N2Zy1ib3R0b20tbGluZS5zdmdcIikgbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgLmVtYWlsLWZpZWxkOmFmdGVyIHtcbiAgICAgICAgYm90dG9tOiAtNDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAubmV3c2xldHRlci1mb3JtLWhvbGRlciAuZW1haWwtZmllbGQgaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICAgIG91dGxpbmU6IDA7IH1cbiAgICAubmV3c2xldHRlci1mb3JtLWhvbGRlciAuZW1haWwtZmllbGQgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubmV3c2xldHRlci1mb3JtLWhvbGRlciAuZW1haWwtZmllbGQgaW5wdXQge1xuICAgICAgICB3aWR0aDogOTcuMjIyMjIlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ubmV3c2xldHRlci1mb3JtLWhvbGRlciAuc2lnbnVwLFxuLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgLmVtYWlsLWZpZWxkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDQwcHggYXV0bzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgLnNpZ251cCxcbiAgICAubmV3c2xldHRlci1mb3JtLWhvbGRlciAuZW1haWwtZmllbGQge1xuICAgICAgd2lkdGg6IDM4Ljg4ODg5JTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubmV3c2xldHRlci1mb3JtLWhvbGRlciAuc2lnbnVwLFxuICAgIC5uZXdzbGV0dGVyLWZvcm0taG9sZGVyIC5lbWFpbC1maWVsZCB7XG4gICAgICB3aWR0aDogOTcuMjIyMjIlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgLnN1Ym1pdC1pdCB7XG4gIHdpZHRoOiAyMi4yMjIyMiU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAzMHB4IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgLnN1Ym1pdC1pdCB7XG4gICAgICB3aWR0aDogMTMuODg4ODklO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5uZXdzbGV0dGVyLWZvcm0taG9sZGVyIC5zdWJtaXQtaXQge1xuICAgICAgd2lkdGg6IDk3LjIyMjIyJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgLnNpZ251cCxcbiAgLm5ld3NsZXR0ZXItZm9ybS1ob2xkZXIgLmVtYWlsLWZpZWxkLFxuICAubmV3c2xldHRlci1mb3JtLWhvbGRlciAuc3VibWl0LWl0IHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuXG5mb290ZXIge1xuICBjb2xvcjogI2ExYTFhMTsgfVxuXG5mb290ZXIgLmxpbmtzIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgd2lkdGg6IDEzLjg4ODg5JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwIDAgNTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICBmb290ZXIgLmxpbmtzIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDU1cHggMCAzMHB4O1xuICAgIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtcmVndWxhcic7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIGZvb3RlciAubGlua3M6bnRoLW9mLXR5cGUoMSkge1xuICAgIHdpZHRoOiAyMi4yMjIyMiU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICBmb290ZXIgLmxpbmtzIHtcbiAgICAgIHdpZHRoOiAyMi4yMjIyMiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7IH1cbiAgICAgIGZvb3RlciAubGlua3M6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICB3aWR0aDogOTcuMjIyMjIlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgZm9vdGVyIC5saW5rcyB7XG4gICAgICB3aWR0aDogOTcuMjIyMjIlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgZm9vdGVyIC5saW5rcyAudGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgICBmb290ZXIgLmxpbmtzOm50aC1vZi10eXBlKDEpIHtcbiAgICAgICAgd2lkdGg6IDk3LjIyMjIyJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgZm9vdGVyIC5saW5rcyB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIGZvb3RlciAubGlua3MgdWwgbGkge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICBmb290ZXIgLmxpbmtzIGEge1xuICAgIGNvbG9yOiAjYTFhMWExO1xuICAgIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtcmVndWxhcic7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgZm9vdGVyIC5saW5rcyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGZvb3RlciAubGlua3MgLnN0MCB7XG4gICAgZmlsbDogI2ZmNDgzMzsgfVxuICBmb290ZXIgLmxpbmtzIC5zb2NpYWwtY2lyY2xlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIG1hcmdpbjogMCA1cHggMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmY0ODMzO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIGZvb3RlciAubGlua3MgLnNvY2lhbC1jaXJjbGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNDgzMzsgfVxuICAgICAgZm9vdGVyIC5saW5rcyAuc29jaWFsLWNpcmNsZTpob3ZlciAuc3QwIHtcbiAgICAgICAgZmlsbDogIzI1MjUzNjsgfVxuICBmb290ZXIgLmxpbmtzIC5zb2NpYWwtaWNvbiB7XG4gICAgaGVpZ2h0OiAxN3B4O1xuICAgIHBhZGRpbmctdG9wOiAycHg7IH1cbiAgZm9vdGVyIC5saW5rcyAuaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzNnB4O1xuICAgIGhlaWdodDogMzZweDsgfVxuICBmb290ZXIgLmxpbmtzIC5pY29uLWZhY2Vib29rIHtcbiAgICBwYWRkaW5nLXRvcDogMnB4OyB9XG4gIGZvb3RlciAubGlua3MgLmljb24tYmxvZyB7XG4gICAgcGFkZGluZy10b3A6IDJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDJweDsgfVxuICBmb290ZXIgLmxpbmtzIC5pY29uLXR3aXR0ZXIge1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAycHg7IH1cbiAgZm9vdGVyIC5saW5rcyAuaWNvbi15b3V0dWJlIHtcbiAgICBwYWRkaW5nLXRvcDogNHB4OyB9XG4gIGZvb3RlciAubGlua3MgLmljb24tbGlua2VkaW4ge1xuICAgIHBhZGRpbmctdG9wOiA0cHg7IH1cblxuLmlvcyAuc29jaWFsLWNpcmNsZSAuaWNvbi1mYWNlYm9vayB7XG4gIG1hcmdpbi10b3A6IDZweDsgfVxuXG4uaW9zIC5zb2NpYWwtY2lyY2xlIC5pY29uLXlvdXR1YmUge1xuICBtYXJnaW4tdG9wOiA5cHg7IH1cblxuLmlvcyAuc29jaWFsLWNpcmNsZSAuaWNvbi1saW5rZWRpbiB7XG4gIG1hcmdpbi10b3A6IDdweDsgfVxuXG4ubG9nbWVpbi1sb2dvIHtcbiAgd2lkdGg6IDIyLjIyMjIyJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTsgfVxuICAubG9nbWVpbi1sb2dvIGltZyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbjogOXB4IDA7IH1cblxuLmNvcHlyaWdodCB7XG4gIHdpZHRoOiA0Ny4yMjIyMiU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gIGxpbmUtaGVpZ2h0OiAzZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYnR0IHtcbiAgd2lkdGg6IDIyLjIyMjIyJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuYnR0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuYnR0IC5idHQtYXJyb3cge1xuICAgIGZvbnQtc2l6ZTogMy42MjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC04cHg7XG4gICAgd2lkdGg6IDgycHg7XG4gICAgaGVpZ2h0OiA1NnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvYnR0LW92ZXIuc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuYnR0IC5idHQtYXJyb3c6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL2J0dC5zdmdcIik7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmJ0dCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5sb2dtZWluLWxvZ28sXG4gIC5jb3B5cmlnaHQge1xuICAgIHdpZHRoOiA5Ny4yMjIyMiU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLmJ0bi1jb250YWN0LXVzIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5mb3JtLWJ0biB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogMDsgfVxuXG4uY29udGFjdC1mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNjUlO1xuICBtaW4taGVpZ2h0OiA1NTBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5jb250YWN0LWZvcm0ge1xuICAgICAgd2lkdGg6IDg1JTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuY29udGFjdC1mb3JtIHtcbiAgICAgIHdpZHRoOiA5NSU7IH0gfVxuICAuY29udGFjdC1mb3JtIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDQsIDEwNCwgMTA0LCAwLjMpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltYWdlcy9pY29uLWNsb3NlLXguc3ZnXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDY1JTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmNvbnRhY3QtZm9ybSAuZm9ybS1maWVsZCB7XG4gICAgcGFkZGluZzogMCAxOCU7IH1cbiAgICAuY29udGFjdC1mb3JtIC5mb3JtLWZpZWxkIGg0IHtcbiAgICAgIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gICAgLmNvbnRhY3QtZm9ybSAuZm9ybS1maWVsZCBpbnB1dCxcbiAgICAuY29udGFjdC1mb3JtIC5mb3JtLWZpZWxkIHNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2Y1ZjRmNDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY0ZjQ7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLmNvbnRhY3QtZm9ybSAuZm9ybS1maWVsZCBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZDogI2Y1ZjRmNCB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvaWNvbi1hcnJvdy1kd24uc3ZnXCIpIG5vLXJlcGVhdCA5OCUgNTAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyNXB4O1xuICAgICAgYXBwZWFyYW5jZTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmNvbnRhY3QtZm9ybSAuZm9ybS1maWVsZCBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY29udGFjdC1mb3JtIC5mb3JtLWZpZWxkIC5mb3JtLWJ0biB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHBhZGRpbmc6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5jb250YWN0LWZvcm0gLmZvcm0tZmllbGQgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAjMjUyNTM2OyB9XG4gICAgLmNvbnRhY3QtZm9ybSAuZm9ybS1maWVsZCBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmNvbnRhY3QtZm9ybSAuZm9ybS1maWVsZCAudGVybXMge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMjVweDsgfVxuICAgICAgLmNvbnRhY3QtZm9ybSAuZm9ybS1maWVsZCAudGVybXMgYSB7XG4gICAgICAgIGNvbG9yOiAjZmY0ODMzOyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIHBhZGRpbmc6IDZweCA0cHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNDgzMztcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmhhcy1lcnJvciAuZXJyb3Ige1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmY0ODMzICFpbXBvcnRhbnQ7IH1cblxuLmZvcm0tc3Vic2NyaWJlIHtcbiAgbWFyZ2luOiAyNXB4IDAgNTBweDsgfVxuICAuZm9ybS1zdWJzY3JpYmUgI2NoZWNrYm94LXN1YnNjcmliZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIG1hcmdpbjogMTVweDsgfVxuXG4uYW5pbWF0ZWQtYmFubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWxpZ2h0JztcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmFuaW1hdGVkLWJhbm5lciAuY29udGVudC1zdHVmZiB7XG4gIG1heC13aWR0aDogMTEwMHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uaGVhZGVyLXRhbGwgLmFuaW1hdGVkLWJhbm5lciBoMSB7XG4gIGZvbnQtc2l6ZTogNC44NzVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtbGlnaHQnO1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuaGVhZGVyLXRhbGwgLmFuaW1hdGVkLWJhbm5lciBoMSB7XG4gICAgICBmb250LXNpemU6IDMuNDM3NXJlbTsgfSB9XG4gIC5oZWFkZXItdGFsbCAuYW5pbWF0ZWQtYmFubmVyIGgxOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5hbmltYXRlZC1iYW5uZXIgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmhlYWRlci10YWxsIC5hbmltYXRlZC1iYW5uZXIgLnRleHQtYW5pbWF0ZWQgPiBoMTpmaXJzdC1vZi10eXBlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDkxcHg7IH1cblxuLmFuaW1hdGVkLWJhbm5lciAudGV4dC1hbmltYXRlZCBwIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHdpZHRoOiA2MCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7IH1cblxuLmFuaW1hdGVkLWJhbm5lciAuaW90LWltZ3MsXG4uYW5pbWF0ZWQtYmFubmVyIC5sZWZ0LWNvbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAlKTsgfVxuXG4uYW5pbWF0ZWQtYmFubmVyIC5pb3QtaXRlbXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTY3cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDkxcHg7IH1cblxuLmFuaW1hdGVkLWJhbm5lciAuaW90LWltZ3Mge1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ3MHB4O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1JSk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLmFuaW1hdGVkLWJhbm5lciAuaW90LWltZ3Mge1xuICAgICAgdG9wOiAtMjBweDsgfSB9XG5cbi5hbmltYXRlZC1iYW5uZXIgLmlvdC1pdGVtcyBsaSxcbi5hbmltYXRlZC1iYW5uZXIgLmlvdC1pbWdzIGxpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogNTAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmFuaW1hdGVkLWJhbm5lciAuaW90LWltZ3MgbGkgaW1nIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA0NzBweDsgfVxuXG4ubW9iaWxlLWJhbm5lcixcbi5zY3JvbGwtZG93biB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAuaGVhZGVyIC5hbmltYXRlZC1iYW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYW5pYW10ZWQtYmFubmVyIC50ZXh0LWFuaW1hdGVkID4gaDE6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFuaW1hdGVkLWJhbm5lciAudGV4dC1hbmltYXRlZCBwIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIHdpZHRoOiA1OCU7IH1cbiAgLmFuaW1hdGVkLWJhbm5lciAuaW90LWl0ZW1zIGxpLFxuICAuYW5pbWF0ZWQtYmFubmVyIC5pb3QtaW1ncyBsaSxcbiAgLmFuaW1hdGVkLWJhbm5lciAuY29udGVudC1zdHVmZiB7XG4gICAgbWF4LXdpZHRoOiA5MCU7IH1cbiAgLmFuaW1hdGVkLWJhbm5lciAuaW90LWl0ZW1zIHtcbiAgICB0b3A6IDEzNXB4OyB9XG4gIC5hbmltYXRlZC1iYW5uZXIgLmlvdC1pbWdzLFxuICAuYW5pbWF0ZWQtYmFubmVyIC5pb3QtaW1ncyBsaSBpbWcge1xuICAgIGhlaWdodDogMzEwcHg7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmRlc2t0b3AtYmFubmVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tb2JpbGUtYmFubmVyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBoZWFkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7IH1cbiAgLmFuaW1hdGVkLWJhbm5lciB7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmFuaW1hdGVkLWJhbm5lciAuY29udGVudC1zdHVmZiB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5ob21lcGFnZSAuaGVhZGVyLXRhbGwgaDEsXG4gIC5oZWFkZXIgLmFuaW1hdGVkLWJhbm5lciBoMSxcbiAgLmhlYWRlci10YWxsIC5hbmltYXRlZC1iYW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMi44MTI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYW5pbWF0ZWQtYmFubmVyIC50ZXh0LWFuaW1hdGVkIHAge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWFyZ2luOiAxZW0gYXV0bzsgfVxuICAuYW5pbWF0ZWQtYmFubmVyIC5pb3QtaXRlbXMge1xuICAgIGhlaWdodDogNTBweDsgfVxuICAuYW5pbWF0ZWQtYmFubmVyIC5yaWdodC1jb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmFuaW1hdGVkLWJhbm5lciAuaW90LWltZ3MsXG4gIC5hbmltYXRlZC1iYW5uZXIgLmxlZnQtY29sIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRvcDogYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiBub25lOyB9XG4gIC5oZWFkZXItdGFsbCAuYW5pbWF0ZWQtYmFubmVyIC50ZXh0LWFuaW1hdGVkID4gaDE6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYW5pbWF0ZWQtYmFubmVyIC5pb3QtaXRlbXMsXG4gIC5hbmltYXRlZC1iYW5uZXIgLmlvdC1pdGVtcyBsaSxcbiAgLmFuaW1hdGVkLWJhbm5lciAuaW90LWltZ3MgbGkge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgLmFuaW1hdGVkLWJhbm5lciAuaW90LWltZ3MsXG4gIC5hbmltYXRlZC1iYW5uZXIgLmlvdC1pbWdzIGxpIGltZyB7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgLnNjcm9sbC1kb3duIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDEwcHggYXV0byAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzNTBweCkgYW5kIChtYXgtaGVpZ2h0OiA1MDBweCkge1xuICAuaGVhZGVyIC5hbmltYXRlZC1iYW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFuaW1hdGVkLWJhbm5lciAudGV4dC1hbmltYXRlZCBwIHtcbiAgICBtYXJnaW46IC43ZW0gYXV0bzsgfVxuICAuYW5pbWF0ZWQtYmFubmVyIC5yaWdodC1jb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuXG4uZGVza3RvcC1iYW5uZXIgbGk6Zmlyc3QtY2hpbGQge1xuICBhbmltYXRpb246IDNzIGVhc2UgMHMgbm9ybWFsIG5vbmUgaW5maW5pdGUgZmFkZU91dEl0ZW1zOyB9XG5cbi5kZXNrdG9wLWJhbm5lciBsaTpudGgtY2hpbGQoMikge1xuICBhbmltYXRpb246IDNzIGVhc2UgMHMgbm9ybWFsIG5vbmUgaW5maW5pdGUgZmFkZUluSXRlbXM7IH1cblxuLmRlc2t0b3AtYmFubmVyIGxpOm50aC1jaGlsZChuKzIpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxMDAlO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5tb2JpbGUtYmFubmVyIGxpIHtcbiAgYW5pbWF0aW9uOiAzcyBlYXNlIDBzIG5vcm1hbCBub25lIGluZmluaXRlIGZhZGVPdXQ7IH1cblxuLm1vYmlsZS1iYW5uZXIgbGk6bnRoLWNoaWxkKDIpIHtcbiAgYW5pbWF0aW9uOiAzcyBlYXNlIDBzIG5vcm1hbCBub25lIGluZmluaXRlIGZhZGVJbjsgfVxuXG4ubW9iaWxlLWJhbm5lciBsaTpudGgtY2hpbGQobisyKSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0SXRlbXMge1xuICAwJSB7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDc1JSB7XG4gICAgbGVmdDogMDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDkyJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAtMTAlO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkl0ZW1zIHtcbiAgMCUge1xuICAgIGxlZnQ6IDIwJTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDc1JSB7XG4gICAgbGVmdDogMjAlO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgOTIlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7IH1cbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7IH1cbiAgOTIlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTsgfVxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKTsgfVxuICA5MiUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogNXB4O1xuICBib3JkZXI6IDJweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMS41ZW07XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLXJlZ3VsYXInLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYnV0dG9uOmJlZm9yZSwgLmJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA1OHB4O1xuICAgIGhlaWdodDogNHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmJ1dHRvbjpiZWZvcmUge1xuICAgIHRvcDogLTRweDtcbiAgICByaWdodDogMzBweDsgfVxuICAuYnV0dG9uOmFmdGVyIHtcbiAgICBib3R0b206IC00cHg7XG4gICAgbGVmdDogMzVweDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgZmlsdGVyOiBGbGlwSDsgfVxuICAuYnV0dG9uLmxnIHtcbiAgICBtaW4td2lkdGg6IDMyNHB4O1xuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIuODsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5idXR0b24ubGcge1xuICAgICAgICBsaW5lLWhlaWdodDogMy4xOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5idXR0b24ubGcge1xuICAgICAgICBtaW4td2lkdGg6IDkwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDVweCBhdXRvOyB9IH1cbiAgLmJ1dHRvbi5zbSB7XG4gICAgbWluLXdpZHRoOiAxNDZweDtcbiAgICBtaW4taGVpZ2h0OiAzMnB4OyB9XG4gIC5idXR0b246aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnV0dG9uIHNwYW46aG92ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNWVtO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbmEgLmJ0bi1pbm5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDJweDsgfVxuICBhIC5idG4taW5uZXIubGcge1xuICAgIG1pbi13aWR0aDogMzIwcHg7XG4gICAgbWluLWhlaWdodDogNDRweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgYSAuYnRuLWlubmVyLmxnIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlOyB9IH1cbiAgYSAuYnRuLWlubmVyLnNtIHtcbiAgICBtaW4td2lkdGg6IDE0MnB4O1xuICAgIG1pbi1oZWlnaHQ6IDM0cHg7XG4gICAgcGFkZGluZzogMCA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBhIC5idG4taW5uZXIuc20ge1xuICAgICAgICBsaW5lLWhlaWdodDogMi41OyB9IH1cblxuLnNtIGlucHV0IHtcbiAgbWluLXdpZHRoOiAxNDJweDtcbiAgbWluLWhlaWdodDogMzRweDtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDIuMjU7IH1cblxuLmZpbGxlZCB7XG4gIGJvcmRlci1yYWRpdXM6IDEuNWVtO1xuICBiYWNrZ3JvdW5kOiAjMjUyNTM2OyB9XG4gIC5maWxsZWQgOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY0ODMzOyB9XG5cbi5iZy1vcmFuZ2UgLmJ1dHRvbiB7XG4gIGJvcmRlci1jb2xvcjogIzI1MjUzNjsgfVxuICAuYmctb3JhbmdlIC5idXR0b246YmVmb3JlLCAuYmctb3JhbmdlIC5idXR0b246YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRG9BQUFBRUNBWUFBQURmeXl6MUFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBNFJwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtJRHg0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVOaTFqTURFMElEYzVMakUxTmpjNU55d2dNakF4TkM4d09DOHlNQzB3T1RvMU16b3dNaUFnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdUVTA5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5dGJTOGlJSGh0Ykc1ek9uTjBVbVZtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdmMxUjVjR1V2VW1WemIzVnlZMlZTWldZaklpQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhpSUhodGNFMU5Pazl5YVdkcGJtRnNSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG95WWpVNE5XUTRNQzB6T1RaaExUUmhPREF0WWpWbU1pMDJZVE13TURObU5UaGpNR1VpSUhodGNFMU5Pa1J2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TmpGQlEwSkZNVFJHTWtNeE1URkZOVGt4UVRJNU9FRkVORUV5TURsRU5UVWlJSGh0Y0UxTk9rbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZOakZCUTBKRk1UTkdNa014TVRGRk5Ua3hRVEk1T0VGRU5FRXlNRGxFTlRVaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVORElESXdNVFFnS0ZkcGJtUnZkM01wSWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk1EYzNPVEkzTVdNdE1EQmtNaTAxTVRRM0xUZzROVFV0TlRjek9EVTNZMlJpT0RGbUlpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSmhaRzlpWlRwa2IyTnBaRHB3YUc5MGIzTm9iM0E2TXpFeE9EVXlNamN0WmpGa1pDMHhNV1UxTFRobE9HUXRZVGhtTVRKaFlXTmlZVE5sSWk4K0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K1JRWCtEd0FBQUN4SlJFRlVlTnBpZk9TZy9aOEJBaGdaQmlmQTZ6N1ovVmZ3YW43c3FBUFd6OFF3UXNDb1I0Y2JBQWd3QUtjZkIxUVFxOExYQUFBQUFFbEZUa1N1UW1DQ1wiKTsgfVxuICAuYmctb3JhbmdlIC5idXR0b24gc3Bhbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjUzNjsgfVxuICAuYmctb3JhbmdlIC5idXR0b24gLmZpbGxlZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzM3Mzc0OTsgfVxuXG4uYmctcHVycGxlIC5idXR0b24ge1xuICBib3JkZXItY29sb3I6ICNmZjQ4MzM7IH1cbiAgLmJnLXB1cnBsZSAuYnV0dG9uOmJlZm9yZSwgLmJnLXB1cnBsZSAuYnV0dG9uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURvQUFBQUVDQVlBQUFEZnl5ejFBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQTRScFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1ERTBJRGM1TGpFMU5qYzVOeXdnTWpBeE5DOHdPQzh5TUMwd09UbzFNem93TWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM4aUlIaHRjRTFOT2s5eWFXZHBibUZzUkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRveVlqVTROV1E0TUMwek9UWmhMVFJoT0RBdFlqVm1NaTAyWVRNd01ETm1OVGhqTUdVaUlIaHRjRTFOT2tSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk5UTTNOa05FUVRCR01rTXhNVEZGTlVJNFFqQkNOVGRGUWpNek5ESXdSVVVpSUhodGNFMU5Pa2x1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TlRNM05rTkVPVVpHTWtNeE1URkZOVUk0UWpCQ05UZEZRak16TkRJd1JVVWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRRZ0tGZHBibVJ2ZDNNcElqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNRGMzT1RJM01XTXRNREJrTWkwMU1UUTNMVGc0TlRVdE5UY3pPRFUzWTJSaU9ERm1JaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0poWkc5aVpUcGtiMk5wWkRwd2FHOTBiM05vYjNBNk16RXhPRFV5TWpjdFpqRmtaQzB4TVdVMUxUaGxPR1F0WVRobU1USmhZV05pWVRObElpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCs4WVZjd3dBQUFDeEpSRUZVZU5waVZGVTErODhBQVl3TWd4UGdkZCt0V3lmeGFsWlRNd2ZyWjJJWUlXRFVvOE1OQUFRWUFOY1FCb2VWYUJHWEFBQUFBRWxGVGtTdVFtQ0NcIik7IH1cbiAgLmJnLXB1cnBsZSAuYnV0dG9uIHNwYW46aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjQ4MzM7IH1cblxuLmRsLWJsb2NrIC5idXR0b24sXG4uYmctd2hpdGUgLmJ1dHRvbixcbi5iZy1oYWxmLXB1cnBsZSAuYnV0dG9uLFxuLmJnLWdyYWRpZW50IC5idXR0b24sXG4uYmctdHJhbnNwYXJlbnQgLmJ1dHRvbiB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNDgzMztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMyNTI1MzY7IH1cbiAgLmRsLWJsb2NrIC5idXR0b246YmVmb3JlLCAuZGwtYmxvY2sgLmJ1dHRvbjphZnRlcixcbiAgLmJnLXdoaXRlIC5idXR0b246YmVmb3JlLFxuICAuYmctd2hpdGUgLmJ1dHRvbjphZnRlcixcbiAgLmJnLWhhbGYtcHVycGxlIC5idXR0b246YmVmb3JlLFxuICAuYmctaGFsZi1wdXJwbGUgLmJ1dHRvbjphZnRlcixcbiAgLmJnLWdyYWRpZW50IC5idXR0b246YmVmb3JlLFxuICAuYmctZ3JhZGllbnQgLmJ1dHRvbjphZnRlcixcbiAgLmJnLXRyYW5zcGFyZW50IC5idXR0b246YmVmb3JlLFxuICAuYmctdHJhbnNwYXJlbnQgLmJ1dHRvbjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEb0FBQUFFQ0FZQUFBRGZ5eXoxQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUNCalNGSk5BQUI2SmdBQWdJUUFBUG9BQUFDQTZBQUFkVEFBQU9wZ0FBQTZtQUFBRjNDY3VsRThBQUFBQm1KTFIwUUFBQUFBQUFENVE3dC9BQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBQUtFbEVRVlFvejJQOC8vLy9md1lHQmdaR1JrWkdoa0VJS0hVZlREL1RRSHVFWG1EVW84TU5BQUNiR1F3RVRsYnp1Z0FBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfVxuICAuZGwtYmxvY2sgLmJ1dHRvbiBzcGFuOmhvdmVyLFxuICAuYmctd2hpdGUgLmJ1dHRvbiBzcGFuOmhvdmVyLFxuICAuYmctaGFsZi1wdXJwbGUgLmJ1dHRvbiBzcGFuOmhvdmVyLFxuICAuYmctZ3JhZGllbnQgLmJ1dHRvbiBzcGFuOmhvdmVyLFxuICAuYmctdHJhbnNwYXJlbnQgLmJ1dHRvbiBzcGFuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjUyNTM2O1xuICAgIGNvbG9yOiAjZmY0ODMzOyB9XG5cbi5kbC1ibG9jayAuYmctdHJhbnNwYXJlbnQsXG4uYmctd2hpdGUgLmJnLXRyYW5zcGFyZW50LFxuLmJnLWhhbGYtcHVycGxlIC5iZy10cmFuc3BhcmVudCxcbi5iZy1ncmFkaWVudCAuYmctdHJhbnNwYXJlbnQsXG4uYmctdHJhbnNwYXJlbnQgLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmRsLWJsb2NrIC5iZy1ncmFkaWVudCAuYnV0dG9uLFxuLmJnLXdoaXRlIC5iZy1ncmFkaWVudCAuYnV0dG9uLFxuLmJnLWhhbGYtcHVycGxlIC5iZy1ncmFkaWVudCAuYnV0dG9uLFxuLmJnLWdyYWRpZW50IC5iZy1ncmFkaWVudCAuYnV0dG9uLFxuLmJnLXRyYW5zcGFyZW50IC5iZy1ncmFkaWVudCAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmRsLWJsb2NrLmJ0bi1oZWFkZXIsXG4uYmctd2hpdGUuYnRuLWhlYWRlcixcbi5iZy1oYWxmLXB1cnBsZS5idG4taGVhZGVyLFxuLmJnLWdyYWRpZW50LmJ0bi1oZWFkZXIsXG4uYmctdHJhbnNwYXJlbnQuYnRuLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5kbC1ibG9jay5idG4taGVhZGVyIC5zbSxcbiAgLmJnLXdoaXRlLmJ0bi1oZWFkZXIgLnNtLFxuICAuYmctaGFsZi1wdXJwbGUuYnRuLWhlYWRlciAuc20sXG4gIC5iZy1ncmFkaWVudC5idG4taGVhZGVyIC5zbSxcbiAgLmJnLXRyYW5zcGFyZW50LmJ0bi1oZWFkZXIgLnNtIHtcbiAgICBtaW4td2lkdGg6IDEyNXB4O1xuICAgIG1pbi1oZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuODsgfVxuICAuZGwtYmxvY2suYnRuLWhlYWRlciBzcGFuOmhvdmVyLFxuICAuYmctd2hpdGUuYnRuLWhlYWRlciBzcGFuOmhvdmVyLFxuICAuYmctaGFsZi1wdXJwbGUuYnRuLWhlYWRlciBzcGFuOmhvdmVyLFxuICAuYmctZ3JhZGllbnQuYnRuLWhlYWRlciBzcGFuOmhvdmVyLFxuICAuYmctdHJhbnNwYXJlbnQuYnRuLWhlYWRlciBzcGFuOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjUyNTM2O1xuICAgIHRyYW5zaXRpb246IC4xcztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5kbC1ibG9jay5idG4taGVhZGVyIHNwYW46aG92ZXIsXG4gICAgICAuYmctd2hpdGUuYnRuLWhlYWRlciBzcGFuOmhvdmVyLFxuICAgICAgLmJnLWhhbGYtcHVycGxlLmJ0bi1oZWFkZXIgc3Bhbjpob3ZlcixcbiAgICAgIC5iZy1ncmFkaWVudC5idG4taGVhZGVyIHNwYW46aG92ZXIsXG4gICAgICAuYmctdHJhbnNwYXJlbnQuYnRuLWhlYWRlciBzcGFuOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgY29sb3I6ICNmZjQ4MzM7IH0gfVxuICAuZGwtYmxvY2suYnRuLWhlYWRlciAuYnV0dG9uLFxuICAuYmctd2hpdGUuYnRuLWhlYWRlciAuYnV0dG9uLFxuICAuYmctaGFsZi1wdXJwbGUuYnRuLWhlYWRlciAuYnV0dG9uLFxuICAuYmctZ3JhZGllbnQuYnRuLWhlYWRlciAuYnV0dG9uLFxuICAuYmctdHJhbnNwYXJlbnQuYnRuLWhlYWRlciAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLmRsLWJsb2NrLmJ0bi1oZWFkZXIgLmJ1dHRvbiAuYnRuLWlubmVyLnNtLFxuICAgIC5iZy13aGl0ZS5idG4taGVhZGVyIC5idXR0b24gLmJ0bi1pbm5lci5zbSxcbiAgICAuYmctaGFsZi1wdXJwbGUuYnRuLWhlYWRlciAuYnV0dG9uIC5idG4taW5uZXIuc20sXG4gICAgLmJnLWdyYWRpZW50LmJ0bi1oZWFkZXIgLmJ1dHRvbiAuYnRuLWlubmVyLnNtLFxuICAgIC5iZy10cmFuc3BhcmVudC5idG4taGVhZGVyIC5idXR0b24gLmJ0bi1pbm5lci5zbSB7XG4gICAgICBtaW4td2lkdGg6IDEzMHB4O1xuICAgICAgcGFkZGluZzogMCA2cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmRsLWJsb2NrLmJ0bi1oZWFkZXIgLmJ1dHRvbiAuYnRuLWlubmVyLnNtLFxuICAgIC5iZy13aGl0ZS5idG4taGVhZGVyIC5idXR0b24gLmJ0bi1pbm5lci5zbSxcbiAgICAuYmctaGFsZi1wdXJwbGUuYnRuLWhlYWRlciAuYnV0dG9uIC5idG4taW5uZXIuc20sXG4gICAgLmJnLWdyYWRpZW50LmJ0bi1oZWFkZXIgLmJ1dHRvbiAuYnRuLWlubmVyLnNtLFxuICAgIC5iZy10cmFuc3BhcmVudC5idG4taGVhZGVyIC5idXR0b24gLmJ0bi1pbm5lci5zbSB7XG4gICAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gICAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5ob21lcGFnZSAuc3RpY2t5IC5idG4taGVhZGVyIHNwYW4ge1xuICB0cmFuc2l0aW9uOiBjb2xvciAycztcbiAgY29sb3I6ICMyNTI1MzY7IH1cbiAgLmhvbWVwYWdlIC5zdGlja3kgLmJ0bi1oZWFkZXIgc3Bhbjpob3ZlciB7XG4gICAgY29sb3I6ICMyNTI1MzY7IH1cblxuLmJ0LWZhZGUge1xuICBvcGFjaXR5OiAuNTsgfVxuICAuYnQtZmFkZSBpbnB1dCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLXJlZ3VsYXInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLy9hejc2NjkyOS52by5tc2VjbmQubmV0L2ZvbnQtbGlicmFyeS9wcm94aW1hbm92YS9wcm94aW1hbm92YS1yZWd1bGFyLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi8vYXo3NjY5Mjkudm8ubXNlY25kLm5ldC9mb250LWxpYnJhcnkvcHJveGltYW5vdmEvcHJveGltYW5vdmEtcmVndWxhci53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtbGlnaHQnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLy9hejc2NjkyOS52by5tc2VjbmQubmV0L2ZvbnQtbGlicmFyeS9wcm94aW1hbm92YS9wcm94aW1hbm92YS1saWdodC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIvL2F6NzY2OTI5LnZvLm1zZWNuZC5uZXQvZm9udC1saWJyYXJ5L3Byb3hpbWFub3ZhL3Byb3hpbWFub3ZhLWxpZ2h0LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdwcm94aW1hbm92YWNvbmQtc2VtaWJvbGQnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLy9hejc2NjkyOS52by5tc2VjbmQubmV0L2ZvbnQtbGlicmFyeS9wcm94aW1hbm92YS9wcm94aW1hbm92YWNvbmQtc2VtaWJvbGQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLy9hejc2NjkyOS52by5tc2VjbmQubmV0L2ZvbnQtbGlicmFyeS9wcm94aW1hbm92YS9wcm94aW1hbm92YWNvbmQtc2VtaWJvbGQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWJvbGQnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLy9hejc2NjkyOS52by5tc2VjbmQubmV0L2ZvbnQtbGlicmFyeS9wcm94aW1hbm92YS9wcm94aW1hbm92YS1ib2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi8vYXo3NjY5Mjkudm8ubXNlY25kLm5ldC9mb250LWxpYnJhcnkvcHJveGltYW5vdmEvcHJveGltYW5vdmEtYm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7IH1cblxuLm1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDk5OTk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgLm1vZGFsIC53aW5kb3cge1xuICAgIHdpZHRoOiA2My44ODg4OSU7XG4gICAgbWFyZ2luOiAxNSUgYXV0bzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgLm1vZGFsIC53aW5kb3cge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW46IDUlIGF1dG87IH0gfVxuICAgIC5tb2RhbCAud2luZG93IC5tb2RhbC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiA5Ny4yMjIyMiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzI1MjUzNjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAgIC5tb2RhbCAud2luZG93IC5tb2RhbC1jb250ZW50IGgxIHtcbiAgICAgICAgY29sb3I6ICNmZjQ4MzM7IH1cbiAgICAubW9kYWwgLndpbmRvdyAubW9kYWwtcGFydG5lci1sb2dvIHtcbiAgICAgIHdpZHRoOiAzMC41NTU1NiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gICAgICBtYXJnaW46IDQlIGF1dG87IH1cbiAgICAgIC5tb2RhbCAud2luZG93IC5tb2RhbC1wYXJ0bmVyLWxvZ28gaW1nIHtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAubW9kYWwgLndpbmRvdyAubW9kYWwtcGFydG5lci1sb2dvIHtcbiAgICAgICAgICB3aWR0aDogOTcuMjIyMjIlO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklOyB9IH1cbiAgICAubW9kYWwgLndpbmRvdyAubW9kYWwtcGFydG5lci1jb3B5IHtcbiAgICAgIHdpZHRoOiA2My44ODg4OSU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLm1vZGFsIC53aW5kb3cgLm1vZGFsLXBhcnRuZXItY29weSB7XG4gICAgICAgICAgd2lkdGg6IDk3LjIyMjIyJTtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTsgfSB9XG4gICAgLm1vZGFsIC53aW5kb3cgLmNsb3NlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGNvbG9yOiAjYWFhO1xuICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAubW9kYWwgLndpbmRvdyAuY2xvc2U6aG92ZXIsXG4gICAgLm1vZGFsIC53aW5kb3cgLmNsb3NlOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5wYW5lbDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNsaWNrLXNsaWRlciAuaGFsZi1jb3B5IHtcbiAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5zbGljay1zbGlkZXIgLmhhbGYtY29weSB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB6LWluZGV4OiAxNTAwO1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBtYXJnaW4tdG9wOiAtMTBweFxcOXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnNsaWNrLXByZXYsXG4gICAgLnNsaWNrLW5leHQge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDUwcHg7IH0gfVxuXG4uaG9tZXBhZ2UtY2Fyb3VzZWwgLnNsaWNrLXByZXYge1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvc3ZnLWFycm93LWxlZnQtcHVycGxlLnN2Z1wiKTsgfVxuXG4uY2FzZS1zdHVkeS1jYXJvdXNlbCAuc2xpY2stcHJldixcbi5jYXNlLXN0dWR5LWNhcm91c2VsIC5zbGljay1uZXh0IHtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgcGFkZGluZzogN3B4IDA7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuY2FzZS1zdHVkeS1jYXJvdXNlbCAuc2xpY2stcHJldjpob3ZlcixcbiAgLmNhc2Utc3R1ZHktY2Fyb3VzZWwgLnNsaWNrLW5leHQ6aG92ZXIge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmNhc2Utc3R1ZHktY2Fyb3VzZWwgLnNsaWNrLXByZXYge1xuICBsZWZ0OiAyMHB4O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvYXJyb3ctcmVkLXByZXYuc3ZnXCIpOyB9XG5cbi5jYXNlLXN0dWR5LWNhcm91c2VsIC5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IDE1cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltYWdlcy9hcnJvdy1yZWQtbmV4dC5zdmdcIik7IH1cblxuLnNsaWNrLXByZXYge1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvc3ZnLWFycm93LWxlZnQuc3ZnXCIpOyB9XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL2ltYWdlcy9zdmctYXJyb3ctcmlnaHQuc3ZnXCIpOyB9XG5cbi5zbGljay1kb3RzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnNsaWNrLWRvdHMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogNHB4IHNvbGlkICNmZjQ4MzM7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmY0ODMzOyB9XG4gICAgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAjMzczNzQ5OyB9XG4gIC5zbGljay1kb3RzIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjNzM2ZTdhO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnNsaWNrLWRvdHMgYnV0dG9uOmhvdmVyLCAuc2xpY2stZG90cyBidXR0b246Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgLnNsaWNrLWRvdHMgYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnNsaWNrLWRvdHMgYnV0dG9uOmZvY3VzOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IC41OyB9XG4gICAgLnNsaWNrLWRvdHMgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGNvbG9yOiAjMjUyNTM2O1xuICAgICAgZm9udC1mYW1pbHk6ICdwcm94aW1hbm92YS1yZWd1bGFyJywgdmVyZGFuYSwgYXJpYWw7XG4gICAgICBmb250LXNpemU6IDU1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyB9XG5cbi5ob21lcGFnZS1sb2dvLWNhcm91c2VsLnNsaWNrLXNsaWRlciB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwMHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuaG9tZXBhZ2UtbG9nby1jYXJvdXNlbC5zbGljay1zbGlkZXIge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLmhvbWVwYWdlLWxvZ28tY2Fyb3VzZWwuc2xpY2stc2xpZGVyIC5wYW5lbCBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgICAgIC5ob21lcGFnZS1sb2dvLWNhcm91c2VsLnNsaWNrLXNsaWRlciAucGFuZWwgYSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLnNlY3Rpb24ge1xuICBjbGVhcjogYm90aDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5iZy1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kOiAjZmY0ODMzO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzI1MjUzNjsgfVxuXG4uYmctZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY0ZjQ7IH1cblxuLmJnLWdyYWRpZW50IHtcbiAgYmFja2dyb3VuZDogI2U5ZThlYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgZmFydGhlc3QtY29ybmVyIGF0IGxlZnQgdG9wLCAjZmNlYWU4IDAlLCAjZThlOGVhIDEwMCUpOyB9XG5cbi5iZy1oYWxmLXB1cnBsZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmZiAwJSwgI2ZmZiA1MCUsICMyNTI1MzYgNTAuMDAxJSk7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjVweCkge1xuICAgIC5iZy1oYWxmLXB1cnBsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9IH1cblxuLmJnLXB1cnBsZSB7XG4gIGJhY2tncm91bmQ6ICMyNTI1MzY7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi5iZy1mYWRlLXB1cnBsZSB7XG4gIGJhY2tncm91bmQ6ICMzNzM3NDk7IH1cblxuLmhlYWRlci1zbWFsbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMzAwcHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5oZWFkZXItc21hbGwgaDEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtYm9sZCc7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuaGVhZGVyLXNtYWxsIHtcbiAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9IH1cblxuLmhlYWRlci10YWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5oZWFkZXItdGFsbCB7XG4gICAgICBoZWlnaHQ6IDY1MHB4OyB9IH1cbiAgLmhlYWRlci10YWxsIGgxIHtcbiAgICB3aWR0aDogNzUlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDE5JSBhdXRvO1xuICAgIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtYm9sZCc7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLmhlYWRlci10YWxsIGgxIHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgbWFyZ2luOiAzMCUgYXV0bzsgfVxuICAgICAgICAuaGVhZGVyLXRhbGwgaDE6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbjogLjVlbSBhdXRvOyB9IH1cblxuLmhlYWRlci10YWxsIC5pY29uLFxuLmhlYWRlci1zbWFsbCAuaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTUlO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nLWJvdHRvbTogMmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmhlYWRlci10YWxsIC5pY29uIGltZyxcbiAgLmhlYWRlci1zbWFsbCAuaWNvbiBpbWcge1xuICAgIGhlaWdodDogNzVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmhlYWRlci10YWxsIC5pY29uLFxuICAgIC5oZWFkZXItc21hbGwgLmljb24ge1xuICAgICAgdG9wOiA1JTsgfVxuICAgICAgLmhlYWRlci10YWxsIC5pY29uIGltZyxcbiAgICAgIC5oZWFkZXItc21hbGwgLmljb24gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiA1NXB4OyB9IH1cblxuLmhlYWRlci1zbWFsbCAuaWNvbiBpbWcge1xuICBoZWlnaHQ6IDU1cHg7IH1cblxuLmRvd24tYXJyb3cge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAxNSU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAzN3B4O1xuICBoZWlnaHQ6IDM3cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL2Fycm93LWRvd24uc3ZnXCIpIG5vLXJlcGVhdDsgfVxuICAuZG93bi1hcnJvdyBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMzdweDtcbiAgICBoZWlnaHQ6IDM3cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDJzIGVhc2U7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5kb3duLWFycm93IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uY29udGVudC1ibG9jayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY29udGVudC1ibG9jayBoNCB7XG4gICAgcGFkZGluZzogMjVweCA1JSAxNXB4O1xuICAgIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtcmVndWxhcic7IH1cbiAgLmNvbnRlbnQtYmxvY2sgYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmNvbnRlbnQtYmxvY2sgLmhhbGYge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNvbnRlbnQtYmxvY2sgcCB7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDI0cHg7IH1cblxuI3RhcmdldCxcbiNuZXdzLWFuY2hvciB7XG4gIG1hcmdpbi10b3A6IC05MHB4O1xuICBwYWRkaW5nLXRvcDogOTBweDsgfVxuXG4uZmlmdHkge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmZpZnR5IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnJpZ2h0LXNpZGUge1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgLnJpZ2h0LXNpZGUgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uaGFsZi1jb3B5IHtcbiAgcGFkZGluZzogMTE4cHggMTAwcHggODRweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmhhbGYtY29weSB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDE1cHg7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmhhbGYtY29weSB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLmZ1bGwtY29weSB7XG4gIHBhZGRpbmc6IDc1cHggMCA4NHB4OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuZnVsbC1jb3B5IHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMTVweDsgfSB9XG4gIC5mdWxsLWNvcHkgLmJvdHRvbS1jdGEge1xuICAgIHdpZHRoOiA4MCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mdWxsLWNvcHkgLmJvdHRvbS1jdGEgaDMge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIG1hcmdpbjogMzVweCBhdXRvIDA7IH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLmZ1bGwtY29weSAuYm90dG9tLWN0YSBoMyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4udXRpbHMge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4ubWFpbi1tZW51IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLm1haW4tbWVudSB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAubWFpbi1tZW51IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbi5oMSxcbi5oMixcbi5oMyxcbi5oNCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuaDEsXG5oMixcbi5oMSxcbi5oMiB7XG4gIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtbGlnaHQnO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbmgzLFxuaDQsXG4uaDMsXG4uaDQge1xuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWxpZ2h0JztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5oMSxcbi5oMSB7XG4gIGZvbnQtc2l6ZTogMy42MjVyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIGgxLFxuICAgIC5oMSB7XG4gICAgICBmb250LXNpemU6IDNyZW07IH0gfVxuXG5oMixcbi5oMiB7XG4gIGZvbnQtc2l6ZTogMi43NXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgaDIsXG4gICAgLmgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG5cbmgzLFxuLmgzIHtcbiAgZm9udC1zaXplOiAyLjEyNXJlbTsgfVxuXG5oNCxcbi5oNCB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuXG5oNSxcbi5oNSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbi50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLXJlZ3VsYXInO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbnAge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1OyB9XG5cbi5icmVhZC1jcnVtYnMge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBwYWRkaW5nOiAxLjVlbSAwIDAgMWVtO1xuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLXJlZ3VsYXInO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5icmVhZC1jcnVtYnMgYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgY29sb3I6ICMyNTI1MzY7IH1cbiAgICAuYnJlYWQtY3J1bWJzIGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogJz4nO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAuYnJlYWQtY3J1bWJzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4udGV4dC1saW5rIGEge1xuICBmb250LXNpemU6IDAuODc2MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjMDBhNzlkO1xuICBjb2xvcjogIzAwYTc5ZDtcbiAgZm9udC1mYW1pbHk6ICdwcm94aW1hbm92YS1yZWd1bGFyJztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnZpZGVvLWhvbGRlcixcbi5waG90by1ob2xkZXIge1xuICBtYXgtd2lkdGg6IDQwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMDsgfVxuICAudmlkZW8taG9sZGVyIGltZyxcbiAgLnBob3RvLWhvbGRlciBpbWcge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC52aWRlby1ob2xkZXIsXG4gICAgLnBob3RvLWhvbGRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuXG4ucGhvdG8taG9sZGVyIHtcbiAgbWF4LXdpZHRoOiA3MCU7IH1cblxuLnZpZGVvIHtcbiAgd2lkdGg6IDg1JTtcbiAgbWFyZ2luOiA0NXB4IGF1dG8gNTBweDtcbiAgYm94LXNoYWRvdzogMnB4IDJweCA1cHggM3B4ICMyNTI1MzY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnZpZGVvIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuXG4udmlkLXRleHQge1xuICB3aWR0aDogNjUlO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAudmlkLXRleHQge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH0gfVxuXG5ibG9ja3F1b3RlIHtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYW5vdmEtc2VtaWJvbGRcIiwgdmVyZGFuYSwgYXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIGJsb2NrcXVvdGUgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBjb2xvcjogI2ZmNDgzMzsgfVxuICBibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICBjb2xvcjogIzI1MjUzNjsgfVxuXG4ud2hpdGUtc3BhY2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjZTllOGVhO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBmYXJ0aGVzdC1jb3JuZXIgYXQgbGVmdCB0b3AsICNmY2VhZTggMCUsICNlOGU4ZWEgMTAwJSk7IH1cblxuLmhvbWVwYWdlIC5iZy1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvYW5pbWF0aW9uLWJhY2tncm91bmQucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5ob21lcGFnZSAuaGVhZGVyLXRhbGwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnByb21vLWJsb3dvdXQge1xuICB3aWR0aDogOTcuMjIyMjIlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wcm9tby1ibG93b3V0IC5wcm9tby1sb2dvIHtcbiAgICB3aWR0aDogMjIuMjIyMjIlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklOyB9XG4gICAgLnByb21vLWJsb3dvdXQgLnByb21vLWxvZ28gaW1nIHtcbiAgICAgIHdpZHRoOiAxNzVweDtcbiAgICAgIGhlaWdodDogMTc1cHg7IH1cbiAgLnByb21vLWJsb3dvdXQgLnByb21vLWNvcHkge1xuICAgIHdpZHRoOiA0Ny4yMjIyMiU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7IH1cbiAgICAucHJvbW8tYmxvd291dCAucHJvbW8tY29weSBoMiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDsgfVxuICAucHJvbW8tYmxvd291dCAucHJvbW8tY28tbG9nbyB7XG4gICAgd2lkdGg6IDIyLjIyMjIyJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTsgfVxuICAgIC5wcm9tby1ibG93b3V0IC5wcm9tby1jby1sb2dvIGltZyB7XG4gICAgICB3aWR0aDogNzUlO1xuICAgICAgbWF4LWhlaWdodDogMTc1cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5wcm9tby1ibG93b3V0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAucHJvbW8tYmxvd291dCAucHJvbW8tbG9nbyxcbiAgICAgIC5wcm9tby1ibG93b3V0IC5wcm9tby1jb3B5LFxuICAgICAgLnByb21vLWJsb3dvdXQgLnByb21vLWNvLWxvZ28ge1xuICAgICAgICB3aWR0aDogOTcuMjIyMjIlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuXG4ucGFuZWwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2lyY2xlLWRvd24ge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuXG4uaGVhZGVyIC5wYW5lbDpudGgtb2YtdHlwZSgxKSB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uLy4uLy4uL2ltYWdlcy9saWdodC1idWxiLnN2Z1wiKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAzMTFweCAzOTNweDsgfVxuICAuaGVhZGVyIC5wYW5lbDpudGgtb2YtdHlwZSgxKSBoMSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy10b3A6IDE0cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHJlbTsgfVxuICAgIC5oZWFkZXIgLnBhbmVsOm50aC1vZi10eXBlKDEpIGgxIC5oZWFkbGluZS1zcGFjZXIge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5oZWFkZXIgLnBhbmVsOm50aC1vZi10eXBlKDEpIC5idG4taG9sZGVyIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjg1cHg7IH1cbiAgICAuaGVhZGVyIC5wYW5lbDpudGgtb2YtdHlwZSgxKSAuYnRuLWhvbGRlciBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDdlbTsgfVxuICAgIC5oZWFkZXIgLnBhbmVsOm50aC1vZi10eXBlKDEpIC5idG4taG9sZGVyIGE6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3ZW07XG4gICAgICBtYXJnaW4tbGVmdDogMjVweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmhlYWRlciAucGFuZWw6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAzNSU7IH1cbiAgICAgIC5oZWFkZXIgLnBhbmVsOm50aC1vZi10eXBlKDEpIGgxIHtcbiAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgbWFyZ2luOiAxMnB4IGF1dG8gMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFlbTsgfVxuICAgICAgICAuaGVhZGVyIC5wYW5lbDpudGgtb2YtdHlwZSgxKSBoMSAuaGVhZGxpbmUtc3BhY2VyIHtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIC5oZWFkZXIgLnBhbmVsOm50aC1vZi10eXBlKDEpIGgxIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogNWVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMWVtOyB9IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5oZWFkZXIgLnBhbmVsOm50aC1vZi10eXBlKDEpIGgxIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDNlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5oZWFkZXIgLnBhbmVsOm50aC1vZi10eXBlKDEpIC5idG4taG9sZGVyIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAuaGVhZGVyIC5wYW5lbDpudGgtb2YtdHlwZSgxKSAuYnRuLWhvbGRlciBhOmZpcnN0LWNoaWxkLCAuaGVhZGVyIC5wYW5lbDpudGgtb2YtdHlwZSgxKSAuYnRuLWhvbGRlciBhOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cblxuLml0ZW0tbmFtZSxcbi5kYXRlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZmY0ODMzO1xuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLXJlZ3VsYXInO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5pdGVtLW5hbWUge1xuICBwYWRkaW5nOiAwIDAgMjVweDsgfVxuICAuaXRlbS1uYW1lIGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cblxuLmRhdGUge1xuICBwYWRkaW5nOiA1MHB4IDAgMTBweDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5pdGVtLW5hbWUge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmRhdGUge1xuICAgIHBhZGRpbmc6IDVweCAwOyB9IH1cblxuLmZlYXR1cmVkLWxvZ29zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmZlYXR1cmVkLWxvZ29zIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmZlYXR1cmVkLWxvZ29zIGltZyB7XG4gICAgaGVpZ2h0OiA2MHB4OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLmZlYXR1cmVkLWxvZ29zIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogNDklOyB9IH1cbiAgLmZlYXR1cmVkLWxvZ29zIC5pdHMtdXMgaW1nIHtcbiAgICB3aWR0aDogMTg2cHg7XG4gICAgaGVpZ2h0OiA1NXB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuZmVhdHVyZWQtbG9nb3MgLml0cy11cyBpbWcge1xuICAgICAgICB3aWR0aDogMjI3cHg7XG4gICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07IH0gfVxuXG4uaG9tZXBhZ2UtbG9nby1jYXJvdXNlbCAucGFuZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgcGFkZGluZzogMjVweCAzMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmhvbWVwYWdlLWxvZ28tY2Fyb3VzZWwgLnBhbmVsIGltZyB7XG4gICAgd2lkdGg6IDE3MHB4O1xuICAgIG1heC13aWR0aDogOTAlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5wcm9kdWN0LXNob3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udHdvLXRvbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnR3by10b25lIGgyLFxuICAudHdvLXRvbmUgaDMge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudHdvLXRvbmUgaDIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gICAgcGFkZGluZzogMCAyNSU7IH1cbiAgICAudHdvLXRvbmUgaDI6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6ICNmZjQ4MzM7IH1cbiAgLnR3by10b25lIGgzIHtcbiAgICB3aWR0aDogNzUlO1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gIC50d28tdG9uZSBwIHtcbiAgICBmb250LXNpemU6IDIuMTI1cmVtO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWFyZ2luOiAzNXB4IGF1dG8gMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWxpZ2h0JztcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAudHdvLXRvbmUgaDIsXG4gICAgLnR3by10b25lIGgzIHtcbiAgICAgIHdpZHRoOiA5MCU7IH0gfVxuXG4uY3BtIHtcbiAgd2lkdGg6IDg4Ljg4ODg5JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTtcbiAgbWFyZ2luLWxlZnQ6IDUuNTU1NTYlOyB9XG4gIC5jcG0gLnN0ZXAge1xuICAgIHdpZHRoOiAzMC41NTU1NiU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuY3BtIC5zdGVwIHtcbiAgICAgICAgd2lkdGg6IDk3LjIyMjIyJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTtcbiAgICAgICAgcGFkZGluZzogMCA2JTsgfSB9XG4gICAgLmNwbSAuc3RlcCBwIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBtYXJnaW46IDIwcHggYXV0byA0MHB4OyB9XG4gIC5jcG0gLnRpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNwbSAuc3RlcDpudGgtb2YtdHlwZSgxKSBpbWcge1xuICAgICAgd2lkdGg6IDM1JTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5jcG0gLnN0ZXA6bnRoLW9mLXR5cGUoMSkgaW1nIHtcbiAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNwbSAuc3RlcDpudGgtb2YtdHlwZSgyKSBpbWcge1xuICAgICAgd2lkdGg6IDM1JTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5jcG0gLnN0ZXA6bnRoLW9mLXR5cGUoMikgaW1nIHtcbiAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNwbSAuc3RlcDpudGgtb2YtdHlwZSgzKSBpbWcge1xuICAgICAgd2lkdGg6IDM1JTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5jcG0gLnN0ZXA6bnRoLW9mLXR5cGUoMykgaW1nIHtcbiAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICAuY3BtIC5zdGVwIC5zdGVwLWljb24ge1xuICAgIG1heC13aWR0aDogMjM1cHg7XG4gICAgbWF4LWhlaWdodDogMjM1cHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjVweDsgfVxuICAgIC5jcG0gLnN0ZXAgLnN0ZXAtaWNvbiBpbWcge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5ib3R0b20tY3RhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDc1cHg7IH1cblxuLmJsb2Nrcy1nYWxsZXJ5LWhvbGRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmJsb2Nrcy1nYWxsZXJ5IHtcbiAgd2lkdGg6IDMwLjU1NTU2JTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAuYmxvY2tzLWdhbGxlcnkge1xuICAgICAgd2lkdGg6IDQ3LjIyMjIyJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYmxvY2tzLWdhbGxlcnkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmJsb2Nrcy1nYWxsZXJ5IC5kby1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAuYmxvY2tzLWdhbGxlcnkgLmRvLWJsb2NrIC5pY29uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMjUwcHg7XG4gICAgICBoZWlnaHQ6IDE3NXB4O1xuICAgICAgbWFyZ2luOiAzMHB4IGF1dG87IH1cbiAgICAgIC5ibG9ja3MtZ2FsbGVyeSAuZG8tYmxvY2sgLmljb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgaGVpZ2h0OiA4MCU7IH1cbiAgICAuYmxvY2tzLWdhbGxlcnkgLmRvLWJsb2NrIC5jYXAtY29weSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtbGlnaHQnOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLmJsb2Nrcy1nYWxsZXJ5IC5kby1ibG9jayB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG5cbi5jYXAtaG9sZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5jYXBhYmlsaXRpZXMge1xuICB3aWR0aDogNDcuMjIyMjIlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDIwcHggNTBweDsgfVxuICAuY2FwYWJpbGl0aWVzIC5pY29uIHtcbiAgICB3aWR0aDogMzAuNTU1NTYlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jYXBhYmlsaXRpZXMgLmljb24gaW1nIHtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBtYXgtaGVpZ2h0OiAxNzVweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5jYXBhYmlsaXRpZXMgLmNhcC1jb3B5IHtcbiAgICB3aWR0aDogNTUuNTU1NTYlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY2FwYWJpbGl0aWVzIHtcbiAgICAgIHdpZHRoOiA5Ny4yMjIyMiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMTVweCBhdXRvO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmNhcGFiaWxpdGllcyAuaWNvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDEwcHggYXV0bzsgfVxuICAgICAgICAuY2FwYWJpbGl0aWVzIC5pY29uIGltZyB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMTUwcHg7IH1cbiAgICAgIC5jYXBhYmlsaXRpZXMgLmNhcC1jb3B5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uYmctYm90dG9tOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMHB4OyB9XG5cbi5jb250YWN0LFxuLnJlcXVlc3QsXG4uZm9yLWRldiB7XG4gIHdpZHRoOiAzMC41NTU1NiU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gIHBhZGRpbmc6IDAgOSU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5jb250YWN0LFxuICAgIC5yZXF1ZXN0LFxuICAgIC5mb3ItZGV2IHtcbiAgICAgIHdpZHRoOiA5Ny4yMjIyMiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7IH0gfVxuICAuY29udGFjdCBpbWcsXG4gIC5yZXF1ZXN0IGltZyxcbiAgLmZvci1kZXYgaW1nIHtcbiAgICBtaW4taGVpZ2h0OiAxNTBweDtcbiAgICBwYWRkaW5nOiAyMCAwOyB9XG4gIC5jb250YWN0IC5idXR0b24sXG4gIC5yZXF1ZXN0IC5idXR0b24sXG4gIC5mb3ItZGV2IC5idXR0b24ge1xuICAgIG1hcmdpbjogMjVweCAwOyB9XG5cbmhyIHtcbiAgd2lkdGg6IDIwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6ICMyNTI1MzY7IH1cblxuLmZvci1wcmljZSBpbWcge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbi5zdWItaGVhZGxpbmUge1xuICBwYWRkaW5nOiA3NXB4IDAgNTBweDsgfVxuICAuc3ViLWhlYWRsaW5lIGgyIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbjogMCBhdXRvIC41ZW07IH1cbiAgICAuc3ViLWhlYWRsaW5lIGgyOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiAjZmY0ODMzOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLnN1Yi1oZWFkbGluZSBoMiB7XG4gICAgICAgIHdpZHRoOiA5NSU7IH0gfVxuICAuc3ViLWhlYWRsaW5lIGgzIHtcbiAgICB3aWR0aDogNzUlO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5zdWItaGVhZGxpbmUgcCB7XG4gICAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgICB3aWR0aDogNzUlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICAgIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtbGlnaHQnO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLnN1YnBhZ2UtZmVhdHVyZSB7XG4gIHdpZHRoOiA2My44ODg4OSU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gIG1hcmdpbi1sZWZ0OiAxOC4wNTU1NiU7IH1cbiAgLnN1YnBhZ2UtZmVhdHVyZSBoMiB7XG4gICAgY29sb3I6ICNmZjQ4MzM7IH1cbiAgLnN1YnBhZ2UtZmVhdHVyZSBwIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgZm9udC1mYW1pbHk6ICdwcm94aW1hbm92YS1saWdodCc7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuc3VicGFnZS1mZWF0dXJlIGltZyB7XG4gICAgd2lkdGg6IDY1JTtcbiAgICBtYXJnaW46IDZlbSAwIDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuc3VicGFnZS1mZWF0dXJlIGltZyB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbjogNGVtIGF1dG87IH0gfVxuICAuc3VicGFnZS1mZWF0dXJlIC5maWZ0eSxcbiAgLnN1YnBhZ2UtZmVhdHVyZSAucmlnaHQtc2lkZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLnN1YnBhZ2UtZmVhdHVyZSAuZmlmdHksXG4gICAgICAuc3VicGFnZS1mZWF0dXJlIC5yaWdodC1zaWRlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuc3VicGFnZS1mZWF0dXJlIC5maWZ0eSBpbWcsXG4gICAgICAgIC5zdWJwYWdlLWZlYXR1cmUgLnJpZ2h0LXNpZGUgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgICAgbWFyZ2luOiAyZW0gMCAwOyB9XG4gICAgICAgIC5zdWJwYWdlLWZlYXR1cmUgLmZpZnR5IGgyLFxuICAgICAgICAuc3VicGFnZS1mZWF0dXJlIC5yaWdodC1zaWRlIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAgICAgICAuc3VicGFnZS1mZWF0dXJlIC5maWZ0eSBoNCxcbiAgICAgICAgLnN1YnBhZ2UtZmVhdHVyZSAucmlnaHQtc2lkZSBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgICAgbWFyZ2luOiAuNWVtIGF1dG87IH0gfVxuICAuc3VicGFnZS1mZWF0dXJlIC5oYWxmLWNvcHktbGVmdCB7XG4gICAgcGFkZGluZzogNWVtIDFlbSAxZW0gNWVtOyB9XG4gIC5zdWJwYWdlLWZlYXR1cmUgLmhhbGYtY29weS1yaWdodCB7XG4gICAgcGFkZGluZzogNWVtIDVlbSAxZW0gMWVtOyB9XG4gIC5zdWJwYWdlLWZlYXR1cmUgLmhhbGYtY29weSB7XG4gICAgcGFkZGluZzogNWVtIDVlbSAxZW07IH1cbiAgICAuc3VicGFnZS1mZWF0dXJlIC5oYWxmLWNvcHkgaDQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICAuc3VicGFnZS1mZWF0dXJlIC5oYWxmLWNvcHkge1xuICAgICAgICBwYWRkaW5nOiAyZW0gLjVlbSAxZW07IH0gfVxuXG4uYnJhbmRpbmcge1xuICBoZWlnaHQ6IDYzMHB4O1xuICBwYWRkaW5nOiA1MnB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmJyYW5kaW5nIGltZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTJweDsgfVxuICAuYnJhbmRpbmcgaDIge1xuICAgIG1hcmdpbi10b3A6IDEwJTtcbiAgICBjb2xvcjogI2ZmNDgzMzsgfVxuICAuYnJhbmRpbmcgcCB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcbiAgICBmb250LXNpemU6IDM2cHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5icmFuZGluZyB7XG4gICAgICBoZWlnaHQ6IDc1MHB4OyB9XG4gICAgICAuYnJhbmRpbmcgaW1nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgICAgLmJyYW5kaW5nIHAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiAyM3B4OyB9IH1cblxuLmxpc3RpbmctYmxvY2sge1xuICB3aWR0aDogMzAuNTU1NTYlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDQxcHg7XG4gIG1hcmdpbi10b3A6IDEuODg4ODklO1xuICBtYXJnaW4tYm90dG9tOiAxLjg4ODg5JTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmxpc3RpbmctYmxvY2sge1xuICAgICAgd2lkdGg6IDQ3LjIyMjIyJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5saXN0aW5nLWJsb2NrIHtcbiAgICAgIHdpZHRoOiA5Ny4yMjIyMiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7IH0gfVxuICAubGlzdGluZy1ibG9jazpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTsgfVxuICAgIC5saXN0aW5nLWJsb2NrOmhvdmVyIC5jdXN0LWxvZ28ge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmNhc2Utc3R1ZHkgLmxpc3RpbmctYmxvY2sge1xuICB3aWR0aDogNDcuMjIyMjIlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY2FzZS1zdHVkeSAubGlzdGluZy1ibG9jayB7XG4gICAgICB3aWR0aDogOTcuMjIyMjIlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklOyB9IH1cblxuLmN1c3RvbWVycyAubGlzdGluZy1ibG9jazpob3ZlciB7XG4gIGNvbG9yOiAjMjUyNTM2OyB9XG5cbi5jdXN0b21lcnMgLmJnLWltYWdlIHtcbiAgaGVpZ2h0OiA2OCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4uY3VzdG9tZXJzIC5jdXN0LWxvZ28ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzI1MjUzNjsgfVxuICAuY3VzdG9tZXJzIC5jdXN0LWxvZ28gaW1nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAzNSU7XG4gICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICBtYXJnaW46IGF1dG87IH1cblxuLmN1c3RvbWVycyAuY3VzdC1ibG9jay1jb3B5IHtcbiAgaGVpZ2h0OiAzMiU7XG4gIHBhZGRpbmc6IDAgMTQlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnBhcnRuZXJzIC5saXN0aW5nLWJsb2NrIHtcbiAgaGVpZ2h0OiAyNDFweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5wYXJ0bmVycyBhIHtcbiAgY29sb3I6ICMyNTI1MzY7IH1cblxuLnBhcnRuZXJzIC5wYXJ0LWxvZ28ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogODAlOyB9XG4gIC5wYXJ0bmVycyAucGFydC1sb2dvIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5wYXJ0bmVycyAucGFydC1sb2dvIGltZzpsYXN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBhcnRuZXJzIC5wYXJ0LWJsb2NrLWNvcHkge1xuICBoZWlnaHQ6IDIwJTtcbiAgcGFkZGluZzogMCAxNCU7IH1cblxuLnBhcnRuZXJzIC5wYXJ0LWJsb2NrLWNvcHk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL25leHQtaWNvbi1yaWdodC1wcnBsLnBuZ1wiKSBuby1yZXBlYXQ7IH1cblxuLnBhcnRuZXJzIC5saXN0aW5nLWJsb2NrOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmNDgzMzsgfVxuICAucGFydG5lcnMgLmxpc3RpbmctYmxvY2s6aG92ZXIgLnBhcnQtbG9nbyBpbWc6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBhcnRuZXJzIC5saXN0aW5nLWJsb2NrOmhvdmVyIC5wYXJ0LWxvZ28gaW1nOmxhc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wYXJ0bmVycyAubGlzdGluZy1ibG9jazpob3ZlciAucGFydC1ibG9jay1jb3B5OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvbmV4dC1pY29uLXJpZ2h0LnBuZ1wiKSBuby1yZXBlYXQ7IH1cblxuLm5ld3MtbmF2IHtcbiAgcGFkZGluZy1ib3R0b206IDc1cHg7IH1cbiAgLm5ld3MtbmF2IC50YWJzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAubmV3cy1uYXYgLnRhYnMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBtYXJnaW46IDEuNSUgMiU7XG4gICAgcGFkZGluZzogMS41JSAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLm5ld3MtbmF2IC50YWJzIGxpIC5pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubmV3cy1uYXYgLnRhYnMgbGkgLmljb24gaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAubmV3cy1uYXYgLnRhYnMgbGkgLmljb24gaW1nOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5uZXdzLW5hdiAudGFicyBsaSAuaWNvbiBpbWc6bGFzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm5ld3MtbmF2IC50YWJzIC5jdXJyZW50LFxuICAubmV3cy1uYXYgLnRhYnMgbGk6aG92ZXIge1xuICAgIHdpZHRoOiAyNCU7XG4gICAgbWFyZ2luOiAxLjUlIDA7XG4gICAgcGFkZGluZzogMi41JSAwO1xuICAgIGJhY2tncm91bmQ6ICNmZjQ4MzM7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAubmV3cy1uYXYgLnRhYnMgLmN1cnJlbnQgLmljb24gaW1nOmZpcnN0LWNoaWxkLFxuICAgIC5uZXdzLW5hdiAudGFicyBsaTpob3ZlciAuaWNvbiBpbWc6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5uZXdzLW5hdiAudGFicyAuY3VycmVudCAuaWNvbiBpbWc6bGFzdC1jaGlsZCxcbiAgICAubmV3cy1uYXYgLnRhYnMgbGk6aG92ZXIgLmljb24gaW1nOmxhc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm5ld3MtbmF2IC50YWJzIC5jdXJyZW50OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAtMTBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCAjZmY0ODMzO1xuICAgIGJvcmRlci1yaWdodDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAubmV3cy1uYXYgLnRhYi1jb250ZW50IHtcbiAgICB3aWR0aDogOTcuMjIyMjIlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAtMS41JSAwIDQ1cHg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgLm5ld3MtbmF2IC50YWItY29udGVudCAuYXJ0aWNsZSB7XG4gICAgICB3aWR0aDogOTcuMjIyMjIlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMS4zODg4OSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi4zZW07IH1cbiAgICAgIC5uZXdzLW5hdiAudGFiLWNvbnRlbnQgLmFydGljbGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhMWExYTE7IH1cbiAgICAgIC5uZXdzLW5hdiAudGFiLWNvbnRlbnQgLmFydGljbGUgLnBpY3R1cmUge1xuICAgICAgICB3aWR0aDogMzAuNTU1NTYlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklO1xuICAgICAgICBwYWRkaW5nLXRvcDogM2VtO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLm5ld3MtbmF2IC50YWItY29udGVudCAuYXJ0aWNsZSAuYmx1cmIge1xuICAgICAgICB3aWR0aDogNDcuMjIyMjIlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMzg4ODklOyB9XG4gICAgICAgIC5uZXdzLW5hdiAudGFiLWNvbnRlbnQgLmFydGljbGUgLmJsdXJiIGg0IHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5uZXdzLW5hdiAudGFiLWNvbnRlbnQgLmxvYWQtbW9yZSB7XG4gICAgICBjb2xvcjogI2ZmNDgzMztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5uZXdzLW5hdiAudGFiLWNvbnRlbnQgLnNob3ctbGVzcyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgY29sb3I6ICNmZjQ4MzM7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAubmV3cy1uYXYgLnRhYi1jb250ZW50IGhyIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIG1hcmdpbjogNXB4IGF1dG87XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjUyNTM2OyB9XG4gIC5uZXdzLW5hdiAudGFiLWNvbnRlbnQuY3VycmVudCB7XG4gICAgZGlzcGxheTogaW5oZXJpdDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gIC5oZWFkZXItbmV3cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgLm5ld3MtbmF2IC50YWJzIGxpIHtcbiAgICB3aWR0aDogOTUlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDElIGF1dG87XG4gICAgcGFkZGluZzogMSU7IH1cbiAgLm5ld3MtbmF2IC50YWJzIC5jdXJyZW50LFxuICAubmV3cy1uYXYgLnRhYnMgbGk6aG92ZXIge1xuICAgIHdpZHRoOiA5NSU7XG4gICAgbWFyZ2luOiAxJSBhdXRvO1xuICAgIHBhZGRpbmc6IDElOyB9XG4gICAgLm5ld3MtbmF2IC50YWJzIC5jdXJyZW50OmFmdGVyLFxuICAgIC5uZXdzLW5hdiAudGFicyBsaTpob3ZlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvcmRlcjogMDsgfVxuICAubmV3cy1uYXYgLmNvbnRlbnQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5uZXdzLW5hdiAudGFiLWNvbnRlbnQge1xuICAgIHdpZHRoOiA5Ny4yMjIyMiU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgIG1hcmdpbi1yaWdodDogMS4zODg4OSU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmc6IDVweDsgfVxuICAgIC5uZXdzLW5hdiAudGFiLWNvbnRlbnQgLmFydGljbGUge1xuICAgICAgd2lkdGg6IDk3LjIyMjIyJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMzg4ODklO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuM2VtOyB9XG4gICAgICAubmV3cy1uYXYgLnRhYi1jb250ZW50IC5hcnRpY2xlIC5waWN0dXJlIHtcbiAgICAgICAgd2lkdGg6IDk3LjIyMjIyJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAubmV3cy1uYXYgLnRhYi1jb250ZW50IC5hcnRpY2xlIC5waWN0dXJlIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgIC5uZXdzLW5hdiAudGFiLWNvbnRlbnQgLmFydGljbGUgLmJsdXJiIHtcbiAgICAgICAgd2lkdGg6IDk3LjIyMjIyJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxLjM4ODg5JTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjM4ODg5JTsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLm5ld3MtbmF2IC5zZWN0aW9uIC5jb250ZW50IHtcbiAgICBoZWlnaHQ6IDg1cHg7IH0gfVxuXG4ud3JhcGl0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgYmFja2dyb3VuZDogI2Y1ZjRmNDsgfVxuXG4uZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLnNob3cge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN1Yi1uYXYgLmN1cnJlbnQge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY29udGFjdC1mb3JtIGlucHV0LFxuLmNvbnRhY3QtZm9ybSBzZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi5oYWxmdCB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5oYWxmdCAuZm9ybS1ncm91cCBpbnB1dCxcbiAgLmhhbGZ0IC5mb3JtLWdyb3VwIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmhhbGZ0IC5oYWxmLWhlYWRlcixcbiAgICAuaGFsZnQgLnJlc291cmNlLWNvcHkge1xuICAgICAgcGFkZGluZzogOCUgNSU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmhhbGZ0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5oYWxmdCAucmVzb3VyY2UtY29weSB7XG4gICAgICAgIHBhZGRpbmc6IDIlIDUlOyB9IH1cblxuLmhhbGYtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA1JSA5JTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL3N1YnBhZ2UtaGVhZGVyLWJnLnN2Z1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICAuaGFsZi1oZWFkZXIgaDIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5oYWxmLWhlYWRlciAuaXRlbS1uYW1lIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuaGFsZi1oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0zMHB4O1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlci13aWR0aDogMzcuNXB4IDAgMzcuNXB4IDMwcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZjQ4MzM7IH1cblxuLnJlc291cmNlLWNvcHkge1xuICBwYWRkaW5nOiA1JSA5JTsgfVxuICAucmVzb3VyY2UtY29weSB1bCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gICAgLnJlc291cmNlLWNvcHkgdWwgbGkge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5kbC1ibG9jayB7XG4gIG1hcmdpbi1sZWZ0OiAyZW07XG4gIHBhZGRpbmc6IDElIDUlO1xuICBiYWNrZ3JvdW5kOiAjZjVmNGY0OyB9XG4gIC5kbC1ibG9jayBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDIyNXB4O1xuICAgIG1hcmdpbi10b3A6IDI1cHg7IH1cbiAgLmRsLWJsb2NrIC50eSB7XG4gICAgZm9udC1zaXplOiAyLjc1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMjVweCAwIDE1cHg7XG4gICAgZm9udC1mYW1pbHk6ICdwcm94aW1hbm92YS1saWdodCc7IH1cbiAgLmRsLWJsb2NrIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDglOyB9XG5cbi5oYWxmdCAuY29udGFjdC1mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmhhbGZ0IC5jb250YWN0LWZvcm0gLmZvcm0tZmllbGQge1xuICAgIHBhZGRpbmc6IDUlIDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAuaGFsZnQgLmNvbnRhY3QtZm9ybSAuZm9ybS1maWVsZCB7XG4gICAgICAgIHBhZGRpbmc6IDUlOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuaGFsZi1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDMlIDglOyB9XG4gICAgLmhhbGYtaGVhZGVyOmFmdGVyIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAucmVzb3VyY2UtY29weSB7XG4gICAgcGFkZGluZzogMTVweCA1cHg7IH1cbiAgLmRsLWJsb2NrIGltZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAyNXB4IDEwcHggNTBweDsgfVxuICAuZGwtYmxvY2sgLmRsIHtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDM1JTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmRsLWJsb2NrIC50eSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLmRsLWJsb2NrIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLmZvb3Rlci1jdGEge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uYmctZWdnc2hlbGwge1xuICBiYWNrZ3JvdW5kOiAjZmJmYmZiOyB9XG5cbi5yZXNvdXJjZS1uYXYge1xuICB3aWR0aDogMjkuMTY2NjclO1xuICBmbG9hdDogbGVmdDtcbiAgYmFja2dyb3VuZDogI2Y1ZjRmNDsgfVxuICAucmVzb3VyY2UtbmF2IHVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5yZXNvdXJjZS1uYXYgbGkge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGNvbG9yOiAjMjUyNTM2O1xuICAgIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtbGlnaHQnO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5yZXNvdXJjZS1uYXYgbGkuYXJyb3ctdXA6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uLy4uL2ltYWdlcy9jbG9zZS1tZW51LnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5yZXNvdXJjZS1uYXYgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzMHB4O1xuICAgICAgbGVmdDogODUlO1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi8uLi9pbWFnZXMvaWNvbi1hcnJvdy1kd24uc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjRweCAxNnB4O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1pbWFnZSAuNHM7IH1cbiAgICAucmVzb3VyY2UtbmF2IGxpIC5zdWItbmF2IGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmc6IC41ZW0gMCAwIDM1JTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAucmVzb3VyY2UtbmF2IGxpIC5zdWItbmF2IGxpOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgICAgIC5yZXNvdXJjZS1uYXYgbGkgLnN1Yi1uYXYgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjMzczNzQ5OyB9XG4gICAgICAgIC5yZXNvdXJjZS1uYXYgbGkgLnN1Yi1uYXYgbGkgYTpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5yZXNvdXJjZS1uYXYge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbG9hdDogbGVmdDsgfSB9XG5cbi5yZXNvdXJjZS1saXN0LWl0ZW1zIHtcbiAgd2lkdGg6IDcwLjgzMzMzJTtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgICAucmVzb3VyY2UtbGlzdC1pdGVtcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5sLWl0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMjVweCAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5yZXNvdXJjZS1pbWcge1xuICB3aWR0aDogMjUlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMCAxNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnJlc291cmNlLWltZyBpbWcge1xuICAgIHdpZHRoOiA5MCU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgIC5yZXNvdXJjZS1pbWcgaW1nIHtcbiAgICAgIHdpZHRoOiA3MCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAucmVzb3VyY2UtaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5yZXNvdXJjZS1pbWcgaW1nIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5saXN0LWNvcHkge1xuICB3aWR0aDogNzUlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogNDBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgLmxpc3QtY29weSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogMjVweDsgfSB9XG4gIC5saXN0LWNvcHkgLnRpdGxlIGEge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBjb2xvcjogI2ZmNDgzMztcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWJvbGQnO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY3Mge1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgdG9wIHJpZ2h0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bzsgfVxuXG4uY2FzZS1oZWFkZXItbGVmdCB7XG4gIHdpZHRoOiA0MS42NjY2NyU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY2FzZS1oZWFkZXItbGVmdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLmNhc2Utc3R1ZHktaGVhZGVyIGgyIHtcbiAgZm9udC1zaXplOiAyLjc1cmVtO1xuICBwYWRkaW5nOiAzNXB4IDAgNTBweDtcbiAgY29sb3I6ICNmZjQ4MzM7IH1cblxuLmlubGluZS1tZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmlubGluZS1tZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLmNhc2Utc3R1ZHktaGVhZGVyLFxuLmludHJvLXRleHQsXG4ua2V5LXRha2Vhd2F5LXNvbHV0aW9uLFxuLmNhcGFiaWxpdGllcy13cmFwcGVyIC5jYXBhYmlsaXRpZXMge1xuICBwYWRkaW5nOiAxMnB4IDUwcHg7IH1cblxuLmNhc2Utc3R1ZHktaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjZmNzsgfVxuICAuY2FzZS1zdHVkeS1oZWFkZXIgLmNhc2UtbG9nb3Mge1xuICAgIG1hcmdpbjogMzVweCAxMnB4IDA7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAuY2FzZS1zdHVkeS1oZWFkZXIgLmNhc2UtbG9nb3Mge1xuICAgICAgICBtYXJnaW46IDI1cHggMCAwOyB9IH1cbiAgICAuY2FzZS1zdHVkeS1oZWFkZXIgLmNhc2UtbG9nb3MgaW1nIHtcbiAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgLmNhc2Utc3R1ZHktaGVhZGVyIC5jYXNlLWxvZ29zIGltZzpsYXN0LWNoaWxkIHtcbiAgICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgICAgIC5jYXNlLXN0dWR5LWhlYWRlciAuY2FzZS1sb2dvcyBpbWc6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmNhc2Utc3R1ZHktaGVhZGVyIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNzUlOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmNhc2Utc3R1ZHktaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlOyB9IH1cblxuLnRha2Vhd2F5cyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLnRha2Vhd2F5cyB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4OyB9IH1cbiAgLnRha2Vhd2F5cyAuaWNvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnRha2Vhd2F5cyAuaWNvbiBpbWcge1xuICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAudGFrZWF3YXlzIC5yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogNzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4OyB9XG4gICAgLnRha2Vhd2F5cyAucm93IC50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBtYXJnaW46IDEwcHggMCAxMHB4IDEycHg7IH1cbiAgLnRha2Vhd2F5cyAuYnV0dG9uLnNtIHtcbiAgICB3aWR0aDogOTAlOyB9XG4gIC50YWtlYXdheXMgLmJ1dHRvbiAuYnRuLWlubmVyLnNtIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuXG4uY3MtY3RhIHtcbiAgcGFkZGluZzogNTBweCAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuY3MtY3RhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICAgIC5jcy1jdGEgLmhhbGYge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5jcy1jdGEge1xuICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cblxuLmludHJvLXRleHQge1xuICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmludHJvLXRleHQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4ucnRmIHtcbiAgd2lkdGg6IDcwLjgzMzMzJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6IDEycHggMzVweDsgfVxuICAucnRmIC5tYWluLWhlYWRlcixcbiAgLnJ0ZiAuYmlnZ2VyLXBhcmFncmFwaCxcbiAgLnJ0ZiAuYmlnZ2VyLXBhcmFncmFwaCBwIHtcbiAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgbWFyZ2luOiAzMHB4IDAgMTJweDsgfVxuICAucnRmIC5tYWluLWhlYWRlciB7XG4gICAgY29sb3I6ICNmZjQ4MzM7XG4gICAgZm9udC1mYW1pbHk6ICdwcm94aW1hbm92YS1ib2xkJzsgfVxuICAucnRmIC5iaWdnZXItcGFyYWdyYXBoIHtcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWxpZ2h0JzsgfVxuXG4uY2FzZS1xdW90ZSB7XG4gIHdpZHRoOiAyNSU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogNC4xNjY2NyU7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgLmNhc2UtcXVvdGUgLmJsb2NrcXVvdGUtbGluZSB7XG4gICAgd2lkdGg6IDgzcHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vaW1hZ2VzL2Jsb2NrcXVvdGUtbGluZS5wbmdcIikgdG9wIGxlZnQgbm8tcmVwZWF0OyB9XG4gIC5jYXNlLXF1b3RlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDgzJTtcbiAgICBtYXJnaW46IDI1cHggYXV0byAwOyB9XG4gIC5jYXNlLXF1b3RlIGZvb3RlciB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAucnRmLFxuICAuY2FzZS1xdW90ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9IH1cblxuLmNvbnRhY3QtdXMge1xuICB3aWR0aDogMzMuMzMzMzMlO1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogNzVweDtcbiAgcGFkZGluZzogMzBweCA1MHB4OyB9XG4gIC5jb250YWN0LXVzIC5oZWFkbGluZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMjRweCAwO1xuICAgIGNvbG9yOiAjZmY0ODMzO1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWFub3ZhLXNlbWlib2xkXCIsIHZlcmRhbmEsIGFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNvbnRhY3QtdXMgLm5hbWUsXG4gIC5jb250YWN0LXVzIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5jb250YWN0LXVzIC5zZXJ2aWNlcy11c2VkIHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuY29udGFjdC11cyAuc2VydmljZXMtdXNlZCB1bCBsaSB7XG4gICAgICBwYWRkaW5nOiA1cHggMDsgfVxuXG4uc3ViLWhlYWRlcixcbi5wYXJhZ3JhcGgge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zbWFsbGVyLXBhcmFncmFwaCxcbi5zbWFsbGVyLXBhcmFncmFwaCBwIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWxpZ2h0JzsgfVxuXG4ua2V5LXRha2Vhd2F5LXNvbHV0aW9uIHtcbiAgd2lkdGg6IDU4LjMzMzMzJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmtleS10YWtlYXdheS1iYW5uZXIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNhcGFiaWxpdGllcy13cmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7IH1cbiAgLmNhcGFiaWxpdGllcy13cmFwcGVyIGgyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmN1c3RvbWVycyBhIHtcbiAgY29sb3I6ICMyNTI1MzY7IH1cblxuLnRoaXJkLFxuLmZvcnRoLFxuLmJvYXJkLW1lbWJlciB7XG4gIG1hcmdpbjogMCAwIDUwcHg7IH1cbiAgLnRoaXJkIHNwYW4sXG4gIC5mb3J0aCBzcGFuLFxuICAuYm9hcmQtbWVtYmVyIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAudGhpcmQgc3BhbixcbiAgICAgIC5mb3J0aCBzcGFuLFxuICAgICAgLmJvYXJkLW1lbWJlciBzcGFuIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAudGhpcmQgLm5hbWUsXG4gIC5mb3J0aCAubmFtZSxcbiAgLmJvYXJkLW1lbWJlciAubmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBwYWRkaW5nOiAxMHB4IDAgNXB4OyB9XG4gIC50aGlyZCAudGl0bGUsXG4gIC5mb3J0aCAudGl0bGUsXG4gIC5ib2FyZC1tZW1iZXIgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiAjMzczNzQ5O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC50aGlyZCAuY29tcGFueSxcbiAgLmZvcnRoIC5jb21wYW55LFxuICAuYm9hcmQtbWVtYmVyIC5jb21wYW55IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgY29sb3I6ICNmZjQ4MzM7IH1cblxuLnRoaXJkIHtcbiAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRoaXJkOm50aC1jaGlsZCgzbiArIDEpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC50aGlyZDpudGgtY2hpbGQoM24gKyAyKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC50aGlyZDpudGgtY2hpbGQoM24gKyAzKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgIGNsZWFyOiBub25lOyB9XG5cbi5mb3J0aCB7XG4gIHdpZHRoOiAyNSU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5mb3J0aDpudGgtY2hpbGQoNG4gKyAxKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuZm9ydGg6bnRoLWNoaWxkKDRuICsgMikge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuZm9ydGg6bnRoLWNoaWxkKDRuICsgMykge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuZm9ydGg6bnRoLWNoaWxkKDRuICsgNCkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICBjbGVhcjogbm9uZTsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnRoaXJkLFxuICAuZm9ydGgge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAudGhpcmQ6bnRoLWNoaWxkKDJuICsgMSksXG4gICAgLmZvcnRoOm50aC1jaGlsZCgybiArIDEpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnRoaXJkOm50aC1jaGlsZCgybiArIDIpLFxuICAgIC5mb3J0aDpudGgtY2hpbGQoMm4gKyAyKSB7XG4gICAgICBtYXJnaW4tbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICAgIGNsZWFyOiBub25lOyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gIC50aGlyZCxcbiAgLmZvcnRoIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogYm90aCAhaW1wb3J0YW50OyB9XG4gICAgLnRoaXJkOm50aC1jaGlsZCgxbiArIDEpLFxuICAgIC5mb3J0aDpudGgtY2hpbGQoMW4gKyAxKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gICAgICBjbGVhcjogbm9uZTsgfSB9XG5cbi5tb2RhbCAud2luZG93IC5tb2RhbC1wYXJ0bmVyLWxvZ28uYm9hcmQtbWVtYmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tb2RhbCAud2luZG93IC5tb2RhbC1wYXJ0bmVyLWxvZ28uYm9hcmQtbWVtYmVyIHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tb2RhbCAud2luZG93IC5tb2RhbC1wYXJ0bmVyLWxvZ28uYm9hcmQtbWVtYmVyIC5waWMgaW1nIHtcbiAgICB3aWR0aDogNzUlOyB9XG4iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uc2xpY2stbGlzdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvLyBjbGFzcyBhbmQgc2V0dGluZ3MgZm9yXHJcbi8vIGEgcmVzcG9uc2l2ZSBmb3VuZGF0aW9uYWwgY29udGVudCBjb250YWluZXJcclxuLmNvbnRlbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLWxhcmdlKSB7XHJcbiAgICBAaW5jbHVkZSBjb250YWluZXIoMTQ0MHB4KTtcclxuICB9XHJcbiAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1tZWRpdW0tbWF4KSB7XHJcbiAgICBAaW5jbHVkZSBjb250YWluZXIoMTAxNnB4KTtcclxuICB9XHJcbiAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbWFsbC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgQGluY2x1ZGUgY29udGFpbmVyKDc2MCk7XHJcbiAgfVxyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XHJcbiAgICBAaW5jbHVkZSBjb250YWluZXIoMTAwJSk7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnNob3cge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uaGlkZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmluc2lkZS1jb250ZW50IHtcclxuICBAaW5jbHVkZSBzcGFuKDEwKTtcclxuICBAaW5jbHVkZSBwdXNoKDEpO1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tbWVkaXVtLW1heCkge1xyXG4gICAgQGluY2x1ZGUgc3BhbigxMik7XHJcbiAgfVxyXG59XHJcblxyXG4uY2VudGVyIHtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5sZWZ0IHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4uZmxvYXQtbGVmdCB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5yaWdodCB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5mbG9hdC1yaWdodCB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4uaGFsZi1hbHdheXMge1xyXG4gIC8vIGV2ZW4gb24gc21hbGwgc2NyZWVuc1xyXG4gIEBpbmNsdWRlIHNwYW4oNik7XHJcbn1cclxuXHJcbi5oYWxmIHtcclxuICBAaW5jbHVkZSBzcGFuKDYpO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnRoaXJkcy1hbHdheXMge1xyXG4gIEBpbmNsdWRlIHNwYW4oNCk7XHJcbiAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcclxuICAgIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gIH1cclxufVxyXG5cclxuLnRoaXJkcyB7XHJcbiAgQGluY2x1ZGUgc3Bhbig0KTtcclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi5mb3VydGhzIHtcclxuICBAaW5jbHVkZSBzcGFuKDMpO1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBmbG9hdDogbm9uZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLm1vYmlsZS1ub2Rpc3BsYXkge1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLy9cclxuLy9QTEFDRUhPTERFUlNcclxuLy9cclxuXHJcbi8vcmVtb3ZlIGJ1bGxldHMgYW5kIHBhZGRpbmcgZnJvbSBsaXN0c1xyXG4lbmF2LWxpc3Qge1xyXG4gIHBhZGRpbmctbGVmdDogMDtcclxuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbn1cclxuXHJcbi8vIEZsZXhCb3hcclxuLmZsZXgtY29udGFpbmVyLXJvdyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWZsb3c6IHJvdztcclxufVxyXG5cclxuLmZsZXgtY29udGFpbmVyLWNvbCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWZsb3c6IGNvbHVtbjtcclxufVxyXG4iLCIvLyByZW0gU3VwcG9ydFxuLy8gPT09PT09PT09PT1cblxuLy8gcmVtXG4vLyAtLS1cbi8vIENoZWNrIGZvciBhbiBleGlzdGluZyBzdXBwb3J0IG1peGluLCBvciBvdXRwdXQgZGlyZWN0bHkuXG4vLyAtICRwcm9wICA6IDxjc3MgcHJvcGVydHk+XG4vLyAtICR2YWwgICA6IDxjc3MgdmFsdWU+XG5AbWl4aW4gc3VzeS1yZW0oXG4gICRwcm9wLFxuICAkdmFsXG4pIHtcbiAgJF9yZXFzOiAoXG4gICAgdmFyaWFibGU6IHJoeXRobS11bml0IHJlbS13aXRoLXB4LWZhbGxiYWNrLFxuICAgIG1peGluOiByZW0sXG4gICk7XG4gIEBpZiBzdXN5LXN1cHBvcnQocmVtLCAkX3JlcXMsICR3YXJuOiBmYWxzZSkgYW5kICRyaHl0aG0tdW5pdCA9PSByZW0ge1xuICAgIEBpbmNsdWRlIHJlbSgkcHJvcCwgJHZhbCk7XG4gIH0gQGVsc2Uge1xuICAgICN7JHByb3B9OiAkdmFsO1xuICB9XG59XG4iLCIvLyBDb250YWluZXIgU3ludGF4XG4vLyA9PT09PT09PT09PT09PT09XG5cbi8vIENvbnRhaW5lciBbbWl4aW5dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2V0IGEgY29udGFpbmVyIGVsZW1lbnRcbi8vIC0gWyRsYXlvdXRdICA6IDxzZXR0aW5ncz5cbkBtaXhpbiBjb250YWluZXIoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgICAgOiAkbGF5b3V0O1xuICAkbGF5b3V0ICAgICA6IHBhcnNlLWdyaWQoJGxheW91dCk7XG5cbiAgJF93aWR0aCAgICAgOiBnZXQtY29udGFpbmVyLXdpZHRoKCRsYXlvdXQpO1xuICAkX2p1c3RpZnkgICA6IHBhcnNlLWNvbnRhaW5lci1wb3NpdGlvbihzdXN5LWdldChjb250YWluZXItcG9zaXRpb24sICRsYXlvdXQpKTtcbiAgJF9wcm9wZXJ0eSAgOiBpZihzdXN5LWdldChtYXRoLCAkbGF5b3V0KSA9PSBzdGF0aWMsIHdpZHRoLCBtYXgtd2lkdGgpO1xuXG4gICRfYm94ICAgICAgIDogc3VzeS1nZXQoYm94LXNpemluZywgJGxheW91dCk7XG5cbiAgQGlmICRfYm94IHtcbiAgICBAaW5jbHVkZSBvdXRwdXQoKGJveC1zaXppbmc6ICRfYm94KSk7XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoY29udGFpbmVyLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIGZsb2F0LWNvbnRhaW5lcigkX3dpZHRoLCAkX2p1c3RpZnksICRfcHJvcGVydHkpO1xuICBAaW5jbHVkZSBzaG93LWdyaWQoJGxheW91dCk7XG59XG5cbi8vIENvbnRhaW5lciBbZnVuY3Rpb25dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmV0dXJuIGNvbnRhaW5lciB3aWR0aFxuLy8gLSBbJGxheW91dF0gIDogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGNvbnRhaW5lcihcbiAgJGxheW91dDogJHN1c3lcbikge1xuICAkbGF5b3V0OiBwYXJzZS1ncmlkKCRsYXlvdXQpO1xuICBAcmV0dXJuIGdldC1jb250YWluZXItd2lkdGgoJGxheW91dCk7XG59XG5cbi8vIEdldCBDb250YWluZXIgV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhbGN1bGF0ZSB0aGUgY29udGFpbmVyIHdpZHRoXG4vLyAtIFskbGF5b3V0XTogPHNldHRpbmdzPlxuQGZ1bmN0aW9uIGdldC1jb250YWluZXItd2lkdGgoXG4gICRsYXlvdXQ6ICRzdXN5XG4pIHtcbiAgJGxheW91dCAgICAgICAgIDogcGFyc2UtZ3JpZCgkbGF5b3V0KTtcbiAgJF93aWR0aCAgICAgICAgIDogc3VzeS1nZXQoY29udGFpbmVyLCAkbGF5b3V0KTtcbiAgJF9jb2x1bW4td2lkdGggIDogc3VzeS1nZXQoY29sdW1uLXdpZHRoLCAkbGF5b3V0KTtcbiAgJF9tYXRoICAgICAgICAgIDogc3VzeS1nZXQobWF0aCwgJGxheW91dCk7XG5cbiAgQGlmIG5vdCgkX3dpZHRoKSBvciAkX3dpZHRoID09IGF1dG8ge1xuICAgIEBpZiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKSB7XG4gICAgICAkX2NvbHVtbnMgICA6IHN1c3ktZ2V0KGNvbHVtbnMsICRsYXlvdXQpO1xuICAgICAgJF9ndXR0ZXJzICAgOiBzdXN5LWdldChndXR0ZXJzLCAkbGF5b3V0KTtcbiAgICAgICRfc3ByZWFkICAgIDogaWYoaXMtc3BsaXQoJGxheW91dCksIHdpZGUsIG5hcnJvdyk7XG4gICAgICAkX3dpZHRoICAgICA6IHN1c3ktc3VtKCRfY29sdW1ucywgJF9ndXR0ZXJzLCAkX3NwcmVhZCkgKiAkX2NvbHVtbi13aWR0aDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRfd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkX3dpZHRoO1xufVxuXG4vLyBQYXJzZSBDb250YWluZXIgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUGFyc2UgdGhlICRjb250YWluZXItcG9zaXRpb24gaW50byBtYXJnaW4gdmFsdWVzLlxuLy8gLSBbJGp1c3RpZnldICAgOiBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgfCA8bGVuZ3RoPiBbPGxlbmd0aD5dXG5AZnVuY3Rpb24gcGFyc2UtY29udGFpbmVyLXBvc2l0aW9uKFxuICAkanVzdGlmeTogbWFwLWdldCgkc3VzeS1kZWZhdWx0cywgY29udGFpbmVyLXBvc2l0aW9uKVxuKSB7XG4gICRfcmV0dXJuOiBpZigkanVzdGlmeSA9PSBsZWZ0LCAwLCBhdXRvKSBpZigkanVzdGlmeSA9PSByaWdodCwgMCwgYXV0byk7XG5cbiAgQGlmIG5vdChpbmRleChsZWZ0IHJpZ2h0IGNlbnRlciwgJGp1c3RpZnkpKSB7XG4gICAgJF9yZXR1cm46IG50aCgkanVzdGlmeSwgMSk7XG4gICAgJF9yZXR1cm46ICRfcmV0dXJuIGlmKGxlbmd0aCgkanVzdGlmeSkgPiAxLCBudGgoJGp1c3RpZnksIDIpLCAkX3JldHVybik7XG4gIH1cblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuIiwiLy8gU3VzeSBGYWxsYmFjayBDbGVhcmZpeFxuLy8gPT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIENsZWFyZml4XG4vLyAtLS0tLS0tLVxuLy8gQ2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN1cHBvcnQgbWl4aW4sIG9yIHByb3ZpZGUgYSBzaW1wbGUgZmFsbGJhY2suXG5AbWl4aW4gc3VzeS1jbGVhcmZpeCB7XG4gIEBpZiBzdXN5LXN1cHBvcnQoY2xlYXJmaXgsIChtaXhpbjogY2xlYXJmaXgpKSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH0gQGVsc2Uge1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxufVxuIiwiLy9ncmlkIGNvbmZpZ1xyXG4kc3VzeTogKCBjb2x1bW5zOiAxMiwgZ3V0dGVyczogMS8yLCBjb250YWluZXI6IDE0NDBweCwgZ3V0dGVyLXBvc2l0aW9uOiBzcGxpdCwgZ2xvYmFsLWJveC1zaXppbmc6IGJvcmRlci1ib3gsIFxyXG4gIC8vICBkZWJ1ZzogKFxyXG4gIC8vICBpbWFnZTogc2hvdyxcclxuICAvLyAgY29sb3I6IHJnYmEoIzY2ZiwgLjI1KSxcclxuICAvLyAgb3V0cHV0OiBiYWNrZ3JvdW5kLFxyXG4gIC8vICB0b2dnbGU6IHRvcCByaWdodCxcclxuICAvLyksXHJcbik7XHJcbiRyZXNvdXJjZXM6IGxheW91dCgxNDQwcHggMTIgMCBmbHVpZCk7XHJcblxyXG4kY2RuLWRvbWFpbjogJy8vYXo3NjY5Mjkudm8ubXNlY25kLm5ldCc7XHJcblxyXG4vL2ZvbnRzXHJcbiRmb250LXByaW1hcnk6ICdwcm94aW1hbm92YS1yZWd1bGFyJywgdmVyZGFuYSwgYXJpYWw7XHJcbiRmb250LXByaW1hcnktc2VtaWJvbGQ6ICdwcm94aW1hbm92YS1zZW1pYm9sZCcsIHZlcmRhbmEsIGFyaWFsO1xyXG4kZm9udC1wcmltYXJ5LWxpZ2h0OiAncHJveGltYW5vdmEtbGlnaHQnLCB2ZXJkYW5hLCBhcmlhbDtcclxuJGRlZmF1bHQtZm9udC1zaXplOiAxNnB4O1xyXG4vL2NvbG9yc1xyXG4kcmVkOiAjZmY0ODMzO1xyXG4kZmFkZS1yZWQ6ICNjZjNjMjc7XHJcbiRwdXJwbGU6ICMyNTI1MzY7XHJcbiRmYWRlLXB1cnBsZTogIzM3Mzc0OTtcclxuJHRlYWw6ICMyNmNhZDM7XHJcbiR0YW46ICNmYWViZTk7XHJcbiRncmV5OiAjN2M3Nzg1O1xyXG4kYmctZ3JleTogI2Y1ZjRmNDtcclxuJGx0LWdyZXk6ICNhMWExYTE7XHJcbiRkcmstZ3JleTogIzQ2NDY0NjtcclxuJG5hdi1ncmV5OiAjZDVkNGRjO1xyXG4kYXF1YTogIzAwYTc5ZDtcclxuJGJvZHktY29weTogJHB1cnBsZTtcclxuLy9icmVhay1wb2ludHMgaWYgbmVjZXNzYXJ5XHJcbiRzY3JlZW4teHM6IDQ4MHB4O1xyXG4kc2NyZWVuLXNtYWxsOiA3NjhweDtcclxuJHNjcmVlbi1tZWRpdW06IDEwMjVweDtcclxuJHNjcmVlbi1sYXJnZTogMTIwMHB4O1xyXG5cclxuJHNjcmVlbi14cy1tYXg6ICgkc2NyZWVuLXNtYWxsIC0gMSk7XHJcbiRzY3JlZW4tc21hbGwtbWF4OiAoJHNjcmVlbi1tZWRpdW0gLSAxKTtcclxuJHNjcmVlbi1tZWRpdW0tbWF4OiAoJHNjcmVlbi1sYXJnZSAtIDEpO1xyXG5cclxuJHNjcmVlbi14cy1taW46ICgkc2NyZWVuLXhzKTtcclxuJHNjcmVlbi1zbWFsbC1taW46ICgkc2NyZWVuLXNtYWxsKTtcclxuJHNjcmVlbi1tZWRpdW0tbWluOiAoJHNjcmVlbi1tZWRpdW0pO1xyXG4kc2NyZWVuLWxhcmdlLW1pbjogKCRzY3JlZW4tbGFyZ2UpO1xyXG4vL3otaW5kZXgsIHNvIHlvdSBkb24ndCBoYXZlIHRvIHdvcnJ5XHJcbiR6LWluZGV4LTE6IDEwMDtcclxuJHotaW5kZXgtMjogMjAwO1xyXG4kei1pbmRleC0zOiAzMDA7XHJcbiR6LWluZGV4LTQ6IDQwMDtcclxuJHotaW5kZXgtNTogNTAwO1xyXG4kei1pbmRleC02OiA2MDA7XHJcbiR6LWluZGV4LTc6IDcwMDtcclxuJHotaW5kZXgtODogODAwO1xyXG4kei1pbmRleC05OiA5MDA7XHJcbiR6LWluZGV4LTEwOiAxMDAwO1xyXG4kei1pbmRleC1mdHc6IDk5OTk7XHJcbiIsIi8vIFNwYW4gU3ludGF4XG4vLyA9PT09PT09PT09PVxuXG4vLyBTcGFuIFttaXhpbl1cbi8vIC0tLS0tLS0tLS0tLVxuLy8gU2V0IGEgc3Bhbm5pbmcgZWxlbWVudCB1c2luZyBzaG9ydGhhbmQgc3ludGF4LlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBtaXhpbiBzcGFuKFxuICAkc3BhblxuKSB7XG4gICRpbnNwZWN0OiAkc3BhbjtcbiAgJHNwYW46IHBhcnNlLXNwYW4oJHNwYW4pO1xuICAkb3V0cHV0OiBzcGFuLW1hdGgoJHNwYW4pO1xuICAkbmVzdGluZzogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkY2xlYXI6IHN1c3ktZ2V0KGNsZWFyLCAkc3Bhbik7XG5cbiAgJGJveDogc3VzeS1nZXQoYm94LXNpemluZywgJHNwYW4pO1xuICAkY29udGVudC1ib3g6IGlmKHN1c3ktZ2V0KGdsb2JhbC1ib3gtc2l6aW5nKSAhPSAnYm9yZGVyLWJveCcsIHRydWUsIGZhbHNlKTtcbiAgJGJveDogJGJveCBvciBpZihpcy1pbnNpZGUoJHNwYW4pIGFuZCAkY29udGVudC1ib3gsIGJvcmRlci1ib3gsIG51bGwpO1xuXG4gIEBpZiAkY2xlYXIgPT0gYnJlYWsge1xuICAgIEBpbmNsdWRlIGJyZWFrO1xuICB9IEBlbHNlIGlmICRjbGVhciA9PSBub2JyZWFrIHtcbiAgICBAaW5jbHVkZSBub2JyZWFrO1xuICB9XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KHNwYW4sICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiAkYm94KSk7XG4gIEBpbmNsdWRlIGZsb2F0LXNwYW4tb3V0cHV0KCRvdXRwdXQuLi4pO1xuXG4gIEBpZiB2YWxpZC1jb2x1bW5zKCRuZXN0aW5nLCBzaWxlbnQpIHtcbiAgICBAaW5jbHVkZSBuZXN0ZWQoJHNwYW4pIHsgQGNvbnRlbnQ7IH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gU3BhbiBbZnVuY3Rpb25dXG4vLyAtLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgd2lkdGggb2YgYSBzcGFuLlxuLy8gLSAkc3BhbiAgOiA8c3Bhbj5cbkBmdW5jdGlvbiBzcGFuKFxuICAkc3BhblxuKSB7XG4gIEByZXR1cm4gZ2V0LXNwYW4td2lkdGgoJHNwYW4pO1xufVxuXG4vLyBTcGFuIE1hdGhcbi8vIC0tLS0tLS0tLVxuLy8gR2V0IGFsbCB0aGUgc3BhbiByZXN1bHRzLlxuLy8gLSAkc3BhbjogPG1hcD5cbkBmdW5jdGlvbiBzcGFuLW1hdGgoXG4gICRzcGFuXG4pIHtcbiAgJG5lc3QgICAgICAgICAgICAgOiBpZihzdXN5LWdldChyb2xlLCAkc3BhbikgPT0gbmVzdCwgdHJ1ZSwgZmFsc2UpO1xuICAkc3BsaXQtbmVzdCAgICAgICA6IGlmKGlzLXNwbGl0KCRzcGFuKSBhbmQgJG5lc3QsIHRydWUsIGZhbHNlKTtcbiAgJGVkZ2UgICAgICAgICAgICAgOiBnZXQtZWRnZSgkc3Bhbik7XG4gICRsb2NhdGlvbiAgICAgICAgIDogZ2V0LWxvY2F0aW9uKCRzcGFuKTtcblxuICAkZmxvYXQgICAgICAgICAgICA6IGZyb207XG4gICRwYWRkaW5nLWJlZm9yZSAgIDogbnVsbDtcbiAgJHBhZGRpbmctYWZ0ZXIgICAgOiBudWxsO1xuICAkbWFyZ2luLWJlZm9yZSAgICA6IG51bGw7XG4gICRtYXJnaW4tYWZ0ZXIgICAgIDogbnVsbDtcblxuICAvLyBjYWxjdWxhdGUgd2lkdGhzXG4gICRzcHJlYWQ6IGluZGV4KG1hcC12YWx1ZXMoJHNwYW4pLCBzcHJlYWQpO1xuICAkc3BhbjogaWYoJHNwbGl0LW5lc3QgYW5kIG5vdCgkc3ByZWFkKSwgbWFwLW1lcmdlKCRzcGFuLCAoc3ByZWFkOiB3aWRlKSksICRzcGFuKTtcbiAgJHdpZHRoOiBnZXQtc3Bhbi13aWR0aCgkc3Bhbik7XG4gICRndXR0ZXJzOiBnZXQtZ3V0dGVycygkc3Bhbik7XG5cbiAgLy8gYXBwbHkgZ3V0dGVyc1xuICBAaWYgaXMtaW5zaWRlKCRzcGFuKSB7XG4gICAgQGlmIG5vdChzdXN5LWdldChyb2xlLCAkc3BhbikpIHtcbiAgICAgICRwYWRkaW5nLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKTtcbiAgICAgICRwYWRkaW5nLWFmdGVyOiBtYXAtZ2V0KCRndXR0ZXJzLCBhZnRlcik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaWYgbm90KCRzcGxpdC1uZXN0KSB7XG4gICAgICAkbWFyZ2luLWJlZm9yZTogbWFwLWdldCgkZ3V0dGVycywgYmVmb3JlKTtcbiAgICAgICRtYXJnaW4tYWZ0ZXI6IG1hcC1nZXQoJGd1dHRlcnMsIGFmdGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBzcGVjaWFsIG1hcmdpbiBoYW5kbGluZ1xuICBAaWYgc3VzeS1nZXQob3V0cHV0LCAkc3BhbikgPT0gaXNvbGF0ZSBhbmQgJGxvY2F0aW9uIHtcbiAgICAkbWFyZ2luLWJlZm9yZTogZ2V0LWlzb2xhdGlvbigkc3Bhbik7XG4gICAgJG1hcmdpbi1hZnRlcjogLTEwMCU7XG4gIH0gQGVsc2UgaWYgJGVkZ2Uge1xuICAgICRpcy1zcGxpdDogaXMtc3BsaXQoJHNwYW4pO1xuICAgICRwb3M6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pO1xuXG4gICAgQGlmICRlZGdlID09IGxhc3Qge1xuICAgICAgJGZsb2F0OiBzdXN5LWdldChsYXN0LWZsb3csICRzcGFuKTtcbiAgICB9XG5cbiAgICBAaWYgbm90KCRpcy1zcGxpdCkge1xuICAgICAgQGlmICRlZGdlID09IGZ1bGwgb3IgKCRlZGdlID09IGZpcnN0IGFuZCAkcG9zID09IGJlZm9yZSkge1xuICAgICAgICAkbWFyZ2luLWJlZm9yZTogMDtcbiAgICAgIH1cbiAgICAgIEBpZiAkZWRnZSA9PSBmdWxsIG9yICgkZWRnZSA9PSBsYXN0IGFuZCAkcG9zID09IGFmdGVyKSB7XG4gICAgICAgICRtYXJnaW4tYWZ0ZXI6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICBAcmV0dXJuIChcbiAgICB3aWR0aCAgICAgICAgICAgOiAkd2lkdGgsXG4gICAgZmxvYXQgICAgICAgICAgIDogJGZsb2F0LFxuICAgIG1hcmdpbi1iZWZvcmUgICA6ICRtYXJnaW4tYmVmb3JlLFxuICAgIG1hcmdpbi1hZnRlciAgICA6ICRtYXJnaW4tYWZ0ZXIsXG4gICAgcGFkZGluZy1iZWZvcmUgIDogJHBhZGRpbmctYmVmb3JlLFxuICAgIHBhZGRpbmctYWZ0ZXIgICA6ICRwYWRkaW5nLWFmdGVyLFxuICAgIGZsb3cgICAgICAgICAgICA6IHN1c3ktZ2V0KGZsb3csICRzcGFuKSxcbiAgKTtcbn1cblxuLy8gR2V0IFNwYW4gV2lkdGhcbi8vIC0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gc3BhbiB3aWR0aC5cbi8vIC0gJHNwYW46IDxtYXA+XG5AZnVuY3Rpb24gZ2V0LXNwYW4td2lkdGgoXG4gICRzcGFuXG4pIHtcbiAgJHNwYW4gICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG5cbiAgJG4gICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuICAkbG9jYXRpb24gOiBnZXQtbG9jYXRpb24oJHNwYW4pO1xuICAkY29sdW1ucyAgOiBzdXN5LWdldChjb2x1bW5zLCAkc3Bhbik7XG4gICRndXR0ZXJzICA6IHN1c3ktZ2V0KGd1dHRlcnMsICRzcGFuKTtcbiAgJHNwcmVhZCAgIDogc3VzeS1nZXQoc3ByZWFkLCAkc3Bhbik7XG5cbiAgJGNvbnRleHQgIDogbnVsbDtcbiAgJHNwYW4tc3VtIDogbnVsbDtcbiAgJHdpZHRoICAgIDogbnVsbDtcblxuICBAaWYgJG4gPT0gJ2Z1bGwnIHtcbiAgICAkcG9zOiBzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRzcGFuKTtcbiAgICAkcm9sZTogc3VzeS1nZXQocm9sZSwgJHNwYW4pO1xuICAgICRuOiBpZigkcG9zID09IHNwbGl0IGFuZCAkcm9sZSAhPSBuZXN0LCBzdXN5LWNvdW50KCRjb2x1bW5zKSwgMTAwJSk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkbikgIT0gbnVtYmVyIHtcbiAgICBAd2FybiBcIigje3R5cGUtb2YoJG4pfSkgI3skbn0gaXMgbm90IGEgdmFsaWQgc3Bhbi5cIjtcbiAgfSBAZWxzZSBpZiB1bml0bGVzcygkbikge1xuICAgICRjb250ZXh0OiBzdXN5LXN1bSgkY29sdW1ucywgJGd1dHRlcnMsIGlmKGlzLXNwbGl0KCRzcGFuKSwgd2lkZSwgbmFycm93KSk7XG4gICAgJHNwcmVhZDogaWYoaXMtaW5zaWRlKCRzcGFuKSwgJHNwcmVhZCBvciB3aWRlLCAkc3ByZWFkKTtcbiAgICAkc3Bhbi1zdW06IHN1c3koJG4sICRsb2NhdGlvbiwgJGNvbHVtbnMsICRndXR0ZXJzLCAkc3ByZWFkKTtcblxuICAgICRfbWF0aDogc3VzeS1nZXQobWF0aCwgJHNwYW4pO1xuICAgICRfY29sdW1uLXdpZHRoOiBzdXN5LWdldChjb2x1bW4td2lkdGgsICRzcGFuKTtcbiAgICBAaWYgJF9tYXRoID09IHN0YXRpYyB7XG4gICAgICAkd2lkdGg6ICRzcGFuLXN1bSAqIHZhbGlkLWNvbHVtbi1tYXRoKCRfbWF0aCwgJF9jb2x1bW4td2lkdGgpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRzcGFuLXN1bSAvICRjb250ZXh0KTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICR3aWR0aDogJG47XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cbiIsIi8vIERpcmVjdGlvbiBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PVxuXG4vLyBTdXN5IEZsb3cgRGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gLSBQUklWQVRFXG5AaW5jbHVkZSBzdXN5LWRlZmF1bHRzKChcbiAgZmxvdzogbHRyLFxuKSk7XG5cbi8vIEdldCBEaXJlY3Rpb25cbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgJ2Zyb20nIG9yICd0bycgZGlyZWN0aW9uIG9mIGEgbHRyIG9yIHJ0bCBmbG93LlxuLy8gLSBbJGZsb3ddICA6IGx0ciB8IHJ0bFxuLy8gLSBbJGtleV0gICA6IGZyb20gfCB0b1xuQGZ1bmN0aW9uIGdldC1kaXJlY3Rpb24oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KSxcbiAgJGtleTogZnJvbVxuKSB7XG4gICRyZXR1cm46IGlmKCRmbG93ID09IHJ0bCwgKGZyb206IHJpZ2h0LCB0bzogbGVmdCksIChmcm9tOiBsZWZ0LCB0bzogcmlnaHQpKTtcbiAgQHJldHVybiBtYXAtZ2V0KCRyZXR1cm4sICRrZXkpO1xufVxuXG4vLyBUb1xuLy8gLS1cbi8vIFJldHVybiB0aGUgJ3RvJyBkaXJlY3Rpb24gb2YgYSBmbG93XG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AZnVuY3Rpb24gdG8oXG4gICRmbG93OiBtYXAtZ2V0KCRzdXN5LWRlZmF1bHRzLCBmbG93KVxuKSB7XG4gIEByZXR1cm4gZ2V0LWRpcmVjdGlvbigkZmxvdywgdG8pO1xufVxuXG4vLyBGcm9tXG4vLyAtLS0tXG4vLyBSZXR1cm4gdGhlICdmcm9tJyBkaXJlY3Rpb24gb2YgYSBmbG93XG4vLyAtIFskZmxvd10gIDogbHRyIHwgcnRsXG5AZnVuY3Rpb24gZnJvbShcbiAgJGZsb3c6IG1hcC1nZXQoJHN1c3ktZGVmYXVsdHMsIGZsb3cpXG4pIHtcbiAgQHJldHVybiBnZXQtZGlyZWN0aW9uKCRmbG93LCBmcm9tKTtcbn1cbiIsIi8vIEd1dHRlciBTeW50YXhcbi8vID09PT09PT09PT09PT1cblxuXG4vLyBHdXR0ZXJzXG4vLyAtLS0tLS0tXG4vLyBTZXQgZ3V0dGVycyBvbiBhbiBlbGVtZW50LlxuLy8gLSBbJHNwYW5dICAgOiA8c2V0dGluZ3M+XG5AbWl4aW4gZ3V0dGVycyhcbiAgJHNwYW46ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJHNwYW47XG4gICRzcGFuICAgICA6IHBhcnNlLWd1dHRlcnMoJHNwYW4pO1xuICAkX2d1dHRlcnMgOiBnZXQtZ3V0dGVycygkc3Bhbik7XG5cbiAgJF9vdXRwdXQ6IChcbiAgICBiZWZvcmU6IG1hcC1nZXQoJF9ndXR0ZXJzLCBiZWZvcmUpLFxuICAgIGFmdGVyOiBtYXAtZ2V0KCRfZ3V0dGVycywgYWZ0ZXIpLFxuICAgIGZsb3c6IHN1c3ktZ2V0KGZsb3csICRzcGFuKSxcbiAgKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZ3V0dGVycywgJGluc3BlY3QpO1xuXG4gIEBpZiBpcy1pbnNpZGUoJHNwYW4pIHtcbiAgICBAaW5jbHVkZSBwYWRkaW5nLW91dHB1dCgkX291dHB1dC4uLik7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIG1hcmdpbi1vdXRwdXQoJF9vdXRwdXQuLi4pO1xuICB9XG59XG5cbkBtaXhpbiBndXR0ZXIoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gIEBpbmNsdWRlIGd1dHRlcnMoJHNwYW4pO1xufVxuXG5cbi8vIEd1dHRlclxuLy8gLS0tLS0tXG4vLyBSZXR1cm4gdGhlIHdpZHRoIG9mIGEgZ3V0dGVyLlxuLy8gLSBbJHNwYW5dICAgOiA8c2V0dGluZ3M+XG5AZnVuY3Rpb24gZ3V0dGVyKFxuICAkc3BhbjogJHN1c3lcbikge1xuICAkc3BhbjogcGFyc2UtZ3V0dGVycygkc3Bhbik7XG5cbiAgJF9ndXR0ZXJzOiBnZXQtZ3V0dGVycygkc3Bhbik7XG4gICRfZ3V0dGVyczogbWFwLWdldCgkX2d1dHRlcnMsIGJlZm9yZSkgb3IgbWFwLWdldCgkX2d1dHRlcnMsIGFmdGVyKTtcblxuICBAcmV0dXJuICRfZ3V0dGVycztcbn1cblxuQGZ1bmN0aW9uIGd1dHRlcnMoXG4gICRzcGFuOiAkc3VzeVxuKSB7XG4gIEByZXR1cm4gZ3V0dGVyKCRzcGFuKTtcbn1cblxuXG4vLyBHZXQgR3V0dGVyIFdpZHRoXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXR1cm4gZ3V0dGVyIHdpZHRoLlxuLy8gLSBbJGNvbnRleHRdOiA8Y29udGV4dD5cbkBmdW5jdGlvbiBnZXQtZ3V0dGVyLXdpZHRoKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkY29udGV4dCAgOiBwYXJzZS1ndXR0ZXJzKCRjb250ZXh0KTtcblxuICAkX2d1dHRlcnMgOiBzdXN5LWdldChndXR0ZXJzLCAkY29udGV4dCk7XG4gICRfZ3V0dGVyICA6IHN1c3ktZ2V0KGd1dHRlci1vdmVycmlkZSwgJGNvbnRleHQpO1xuXG4gIEBpZiAkX2d1dHRlcnMgYW5kICgkX2d1dHRlcnMgPiAwKSBhbmQgbm90KCRfZ3V0dGVyKSB7XG4gICAgJF9jb2x1bW4td2lkdGg6IHN1c3ktZ2V0KGNvbHVtbi13aWR0aCwgJGNvbnRleHQpO1xuICAgICRfbWF0aDogZ3V0dGVyLW1hdGgoJGNvbnRleHQpO1xuICAgIEBpZiAkX21hdGggPT0gc3RhdGljIHtcbiAgICAgICRfZ3V0dGVyOiAkX2d1dHRlcnMgKiB2YWxpZC1jb2x1bW4tbWF0aCgkX21hdGgsICRfY29sdW1uLXdpZHRoKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRfY29sdW1ucyA6IHN1c3ktZ2V0KGNvbHVtbnMsICRjb250ZXh0KTtcbiAgICAgICRfc3ByZWFkICA6IGlmKGlzLXNwbGl0KCRjb250ZXh0KSwgd2lkZSwgc3VzeS1nZXQoc3ByZWFkLCAkY29udGV4dCkpO1xuICAgICAgJF9ndXR0ZXIgIDogcGVyY2VudGFnZSgkX2d1dHRlcnMgLyBzdXN5LXN1bSgkX2NvbHVtbnMsICRfZ3V0dGVycywgJF9zcHJlYWQpKTtcbiAgICB9XG4gIH1cblxuICAkX2d1dHRlcjogaWYoJF9ndXR0ZXIgPT0gJ25vLWd1dHRlcnMnIG9yICRfZ3V0dGVyID09ICduby1ndXR0ZXInLCBudWxsLCAkX2d1dHRlcik7XG5cbiAgQHJldHVybiAkX2d1dHRlcjtcbn1cblxuXG4vLyBHZXQgR3V0dGVyc1xuLy8gLS0tLS0tLS0tLS1cbi8vIFJldHVybiBiZWZvcmUgYW5kIGFmdGVyIGd1dHRlciB2YWx1ZXMuXG4vLyAtIFskY29udGV4dF06IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGdldC1ndXR0ZXJzKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkY29udGV4dCAgICAgICAgICAgIDogcGFyc2UtZ3V0dGVycygkY29udGV4dCk7XG5cbiAgJF9ndXR0ZXItcG9zaXRpb24gICA6IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuICAkX2d1dHRlciAgICAgICAgICAgIDogZ2V0LWd1dHRlci13aWR0aCgkY29udGV4dCk7XG5cbiAgJF9yZXR1cm4gICAgICAgICAgICA6IChiZWZvcmU6IG51bGwsIGFmdGVyOiBudWxsKTtcblxuICBAaWYgaXMtc3BsaXQoJGNvbnRleHQpIGFuZCAkX2d1dHRlciB7XG4gICAgJF9ndXR0ZXI6ICRfZ3V0dGVyIC8gMjtcbiAgICAkX3JldHVybjogbWFwLW1lcmdlKCRfcmV0dXJuLCAoYmVmb3JlOiAkX2d1dHRlciwgYWZ0ZXI6ICRfZ3V0dGVyKSk7XG4gIH0gQGVsc2Uge1xuICAgICRfcmV0dXJuOiBtYXAtbWVyZ2UoJF9yZXR1cm4sICgkX2d1dHRlci1wb3NpdGlvbjogJF9ndXR0ZXIpKTtcbiAgfVxuXG4gIEByZXR1cm4gJF9yZXR1cm47XG59XG5cblxuLy8gSXMgSW5zaWRlXG4vLyAtLS0tLS0tLS1cbi8vIFJldHVybnMgdHJ1ZSBpZiBndXR0ZXJzIGFyZSBpbnNpZGUuXG4vLyAkY29udGV4dDogPGNvbnRleHQ+XG5AZnVuY3Rpb24gaXMtaW5zaWRlKFxuICAkY29udGV4dFxuKSB7XG4gICRfaW5zaWRlOiBpbnNpZGUgaW5zaWRlLXN0YXRpYztcbiAgJF9ndXR0ZXItcG9zaXRpb246IHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJGNvbnRleHQpO1xuXG4gIEByZXR1cm4gaWYoaW5kZXgoJF9pbnNpZGUsICRfZ3V0dGVyLXBvc2l0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xufVxuXG5cbi8vIElzIFNwbGl0XG4vLyAtLS0tLS0tLVxuLy8gUmV0dXJucyB0cnVlIGlmIGd1dHRlcnMgYXJlIHNwbGl0LlxuLy8gJGNvbnRleHQ6IDxjb250ZXh0PlxuQGZ1bmN0aW9uIGlzLXNwbGl0KFxuICAkY29udGV4dFxuKSB7XG4gICRfc3BsaXQ6IHNwbGl0IGluc2lkZSBpbnNpZGUtc3RhdGljO1xuICAkX2d1dHRlci1wb3NpdGlvbjogc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkY29udGV4dCk7XG5cbiAgQHJldHVybiBpZihpbmRleCgkX3NwbGl0LCAkX2d1dHRlci1wb3NpdGlvbiksIHRydWUsIGZhbHNlKTtcbn1cblxuXG4vLyBHdXR0ZXIgTWF0aFxuLy8gLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgbWF0aCB0byB1c2UgZm9yIGd1dHRlciBjYWxjdWxhdGlvbnNcbi8vICRjb250ZXh0OiA8Y29udGV4dD5cbkBmdW5jdGlvbiBndXR0ZXItbWF0aChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJF9yZXR1cm4gIDogc3VzeS1nZXQobWF0aCwgJGNvbnRleHQpO1xuICAkX3JldHVybiAgOiBpZihzdXN5LWdldChndXR0ZXItcG9zaXRpb24sICRjb250ZXh0KSA9PSBpbnNpZGUtc3RhdGljLCBzdGF0aWMsICRfcmV0dXJuKTtcblxuICBAcmV0dXJuICRfcmV0dXJuO1xufVxuIiwiLy8gTWFyZ2luIFN5bnRheFxuLy8gPT09PT09PT09PT09PVxuXG4vLyBQcmVcbi8vIC0tLVxuLy8gQWRkIHNwYW5uaW5nLW1hcmdpbnMgYmVmb3JlIGFuIGVsZW1lbnQuXG4vLyAtICRzcGFuICA6IDxzcGFuPlxuQG1peGluIHByZShcbiAgJHNwYW5cbikge1xuICAkaW5zcGVjdDogJHNwYW47XG4gICRzcGFuICAgOiBtYXAtbWVyZ2UoKHNwcmVhZDogd2lkZSksIHBhcnNlLXNwYW4oJHNwYW4pKTtcbiAgJGZsb3cgICA6IHN1c3ktZ2V0KGZsb3csICRzcGFuKTtcbiAgJHNwbGl0ICA6IGlmKHN1c3ktZ2V0KGd1dHRlci1wb3NpdGlvbiwgJHNwYW4pID09IHNwbGl0LCB0cnVlLCBmYWxzZSk7XG4gICRndXR0ZXIgOiBndXR0ZXIoJHNwYW4pO1xuICAkc3BhbiAgIDogc3Bhbigkc3Bhbik7XG4gICR3aWR0aCAgOiBpZigkc3BsaXQgYW5kICRndXR0ZXIsICRzcGFuICsgJGd1dHRlciwgJHNwYW4pO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChwcmUsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgbWFyZ2luLW91dHB1dCgkd2lkdGgsIG51bGwsICRmbG93KTtcbn1cblxuLy8gUG9zdFxuLy8gLS0tLVxuLy8gQWRkIHNwYW5uaW5nLW1hcmdpbnMgYWZ0ZXIgYW4gZWxlbWVudC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gcG9zdChcbiAgJHNwYW5cbikge1xuICAkaW5zcGVjdCAgOiAkc3BhbjtcbiAgJHNwYW4gICAgIDogbWFwLW1lcmdlKChzcHJlYWQ6IHdpZGUpLCBwYXJzZS1zcGFuKCRzcGFuKSk7XG4gICRmbG93ICAgICA6IHN1c3ktZ2V0KGZsb3csICRzcGFuKTtcbiAgJHNwbGl0ICAgIDogaWYoc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3BhbikgPT0gc3BsaXQsIHRydWUsIGZhbHNlKTtcbiAgJHdpZHRoICAgIDogaWYoJHNwbGl0LCBzcGFuKCRzcGFuKSArIGd1dHRlcigkc3BhbiksIHNwYW4oJHNwYW4pKTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QocG9zdCwgJGluc3BlY3QpO1xuICBAaW5jbHVkZSBtYXJnaW4tb3V0cHV0KG51bGwsICR3aWR0aCwgJGZsb3cpO1xufVxuXG4vLyBQdXNoXG4vLyAtLS0tXG4vLyBTaW1wbGUgc3lub255bW4gZm9yIHByZS5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gcHVzaChcbiAgJHNwYW5cbikge1xuICBAaW5jbHVkZSBwcmUoJHNwYW4pO1xufVxuXG4vLyBQdWxsXG4vLyAtLS0tXG4vLyBBZGQgbmVnYXRpdmUgc3Bhbm5pbmctbWFyZ2lucyBiZWZvcmUgYW4gZWxlbWVudC5cbi8vIC0gJHNwYW4gIDogPHNwYW4+XG5AbWl4aW4gcHVsbChcbiAgJHNwYW5cbikge1xuICAkaW5zcGVjdCAgOiAkc3BhbjtcbiAgJHNwYW4gICAgIDogbWFwLW1lcmdlKChzcHJlYWQ6IHdpZGUpLCBwYXJzZS1zcGFuKCRzcGFuKSk7XG4gICRmbG93ICAgICA6IHN1c3ktZ2V0KGZsb3csICRzcGFuKTtcbiAgJHNwbGl0ICAgIDogaWYoc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkc3BhbikgPT0gc3BsaXQsIHRydWUsIGZhbHNlKTtcbiAgJHdpZHRoICAgIDogaWYoJHNwbGl0LCAwIC0gc3Bhbigkc3BhbikgKyBndXR0ZXIoJHNwYW4pLCAwIC0gc3Bhbigkc3BhbikpO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChwdWxsLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIG1hcmdpbi1vdXRwdXQoJHdpZHRoLCBudWxsLCAkZmxvdyk7XG59XG5cbi8vIFNxdWlzaFxuLy8gLS0tLS0tXG4vLyBBZGQgc3Bhbm5pbmctbWFyZ2lucyBiZWZvcmUgYW5kIGFmdGVyIGFuIGVsZW1lbnQuXG4vLyAtICRwcmUgICAgIDogPHNwYW4+XG4vLyAtIFskcG9zdF0gIDogPHNwYW4+XG5AbWl4aW4gc3F1aXNoKFxuICAkcHJlLFxuICAkcG9zdDogZmFsc2Vcbikge1xuICAkaW5zcGVjdCAgICAgIDogKCRwcmUsICRwb3N0KTtcbiAgJHByZSAgICAgICAgICA6IG1hcC1tZXJnZSgoc3ByZWFkOiB3aWRlKSwgcGFyc2Utc3BhbigkcHJlKSk7XG5cbiAgQGlmICRwb3N0IHtcbiAgICAkcG9zdDogbWFwLW1lcmdlKChzcHJlYWQ6IHdpZGUpLCBwYXJzZS1zcGFuKCRwb3N0KSk7XG4gIH0gQGVsc2Uge1xuICAgICRzcGFuOiBzdXN5LWdldChzcGFuLCAkcHJlKTtcbiAgICBAaWYgbGVuZ3RoKCRzcGFuKSA+IDEge1xuICAgICAgJHByZTogbWFwLW1lcmdlKCRwcmUsIChzcGFuOiBudGgoJHNwYW4sIDEpKSk7XG4gICAgICAkcG9zdDogbWFwLW1lcmdlKCRwcmUsIChzcGFuOiBudGgoJHNwYW4sIDIpKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcG9zdDogJHByZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3Qoc3F1aXNoLCAkaW5zcGVjdCk7XG4gIEBpbmNsdWRlIHByZSgkcHJlKTtcbiAgQGluY2x1ZGUgcG9zdCgkcG9zdCk7XG59XG4iLCIqIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4vL1xyXG4vL1RZUEVcclxuLy9cclxuLy9nZW5lcmFsIHR5cGUgc3R5bGVzXHJcbmh0bWwge1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xyXG4gIGZvbnQtc2l6ZTogJGRlZmF1bHQtZm9udC1zaXplO1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBmb250LXNpemU6ICRkZWZhdWx0LWZvbnQtc2l6ZSAqLjk7XHJcbiAgfVxyXG59XHJcblxyXG4vL2xpbmtzXHJcbmEge1xyXG4gIHRyYW5zaXRpb246IGNvbG9yIC4yNXM7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICY6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYsXHJcbi5oMSxcclxuLmgyLFxyXG4uaDMsXHJcbi5oNCxcclxuLmg1LFxyXG4uaDYge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAxLjVyZW0gMDtcclxufVxyXG5cclxuLy9cclxuLy9CQVNJQ1xyXG4vL1xyXG4vL2NoZWNrIHRvIHNlZSBpZiB3ZSBuZWVkIHRoZXNlXHJcbi8vYm9pbGVycGxhdGUgc3R5bGVzXHJcbjo6c2VsZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG59XHJcblxyXG5ociB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgbWFyZ2luOiAxZW0gMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxufVxyXG5cclxuLy9cclxuLy8gUmVtb3ZlIHRoZSBnYXAgYmV0d2VlbiBhdWRpbywgY2FudmFzLCBpZnJhbWVzLFxyXG4vLyBpbWFnZXMsIHZpZGVvcyBhbmQgdGhlIGJvdHRvbSBvZiB0aGVpciBjb250YWluZXJzOlxyXG4vLyBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvNDQwXHJcbi8vXHJcbmF1ZGlvLFxyXG5jYW52YXMsXHJcbmlmcmFtZSxcclxuaW1nLFxyXG5zdmcsXHJcbnZpZGVvIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG5idXR0b24ge1xyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vXHJcbi8vKiBSZW1vdmUgZGVmYXVsdCBmaWVsZHNldCBzdHlsZXMuICpcclxuLy9cclxuZmllbGRzZXQge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gIHJlc2l6ZTogdmVydGljYWw7XHJcbn1cclxuXHJcbi5jbGVhcmZpeDphZnRlciB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbn1cclxuIiwiLmhvbWVwYWdlIHtcclxuICAucHJpbWFyeS1uYXYge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJlZDtcclxuICAgIC5iZy13aGl0ZSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJHB1cnBsZTtcclxuICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEb0FBQUFFQ0FZQUFBRGZ5eXoxQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUE0UnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNREUwSURjNUxqRTFOamM1Tnl3Z01qQXhOQzh3T0M4eU1DMHdPVG8xTXpvd01pQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJXeHVjenA0YlhBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEb3lZalU0TldRNE1DMHpPVFpoTFRSaE9EQXRZalZtTWkwMllUTXdNRE5tTlRoak1HVWlJSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZOakZCUTBKRk1UUkdNa014TVRGRk5Ua3hRVEk1T0VGRU5FRXlNRGxFTlRVaUlIaHRjRTFOT2tsdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk5qRkJRMEpGTVROR01rTXhNVEZGTlRreFFUSTVPRUZFTkVFeU1EbEVOVFVpSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UUWdLRmRwYm1SdmQzTXBJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TURjM09USTNNV010TURCa01pMDFNVFEzTFRnNE5UVXROVGN6T0RVM1kyUmlPREZtSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKaFpHOWlaVHBrYjJOcFpEcHdhRzkwYjNOb2IzQTZNekV4T0RVeU1qY3RaakZrWkMweE1XVTFMVGhsT0dRdFlUaG1NVEpoWVdOaVlUTmxJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrUlFYK0R3QUFBQ3hKUkVGVWVOcGlmT1NnL1o4QkFoZ1pCaWZBNno3Wi9WZndhbjdzcUFQV3o4UXdRc0NvUjRjYkFBZ3dBS2NmQjFRUXE4TFhBQUFBQUVsRlRrU3VRbUNDJyk7XHJcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHNwYW46aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdGlja3kgLmJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJHJlZDtcclxuICAgIH1cclxuICAgIC5tYWluLW1lbnUge1xyXG4gICAgICBhIHtcclxuICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGNvbG9yOiAkcHVycGxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICAgICAgLy9oZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICAvL2xpbmUtaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuc3ViLW5hdiBhIHtcclxuICAgICAgICB6LWluZGV4OiAkei1pbmRleC0xO1xyXG4gICAgICAgIGNvbG9yOiAkcHVycGxlO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAudXRpbHMgYSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHB1cnBsZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1haW4tbWVudS13cmFwcGVyIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIC5oZWFkLWxvZ28ge1xyXG4gICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMvc3ZnLXhpdmVseS13aGl0ZS5zdmcnKSBuby1yZXBlYXQgbGVmdCB0b3A7XHJcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xyXG4gICAgICAgIC8vYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgfVxyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xyXG4gICAgICAmLnN0aWNreSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDJzO1xyXG4gICAgICAgIC5tYWluLW1lbnUgYSB7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAycztcclxuICAgICAgICAgIGNvbG9yOiAkcHVycGxlO1xyXG4gICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIC41cztcclxuICAgICAgICAgICAgY29sb3I6ICRyZWQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICAgICAgICAvL0BpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XHJcbiAgICAgICAgICAgIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAvL3dpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvL3RleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCBcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYnV0dG9uIHtcclxuICAgICAgICAgIC8vYm9yZGVyLWNvbG9yOiAkcmVkO1xyXG4gICAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURvQUFBQUVDQVlBQUFEZnl5ejFBQUFBQkdkQlRVRUFBTEdQQy94aEJRQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFCbUpMUjBRQUFBQUFBQUQ1UTd0L0FBQUFDWEJJV1hNQUFBc1NBQUFMRWdIUzNYNzhBQUFBS0VsRVFWUW96MlA4Ly8vL2Z3WUdCZ1pHUmtaR2hrRUlLSFVmVEQvVFFIdUVYbURVbzhNTkFBQ2JHUXdFVGxienVnQUFBQUJKUlU1RXJrSmdnZz09Jyk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtaW1hZ2UgMnM7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBzcGFuOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogJHJlZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmhlYWQtbG9nbyB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9zdmcteGl2ZWx5LWxvZ28uc3ZnJykgbm8tcmVwZWF0IGxlZnQgdG9wO1xyXG4gICAgICAgICAgLy9iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc21hbGwpIHtcclxuICAgICAgLm1haW4tbWVudSBsaTpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRwdXJwbGU7XHJcbiAgICAgIH1cclxuICAgICAgLnN0aWNreSAubWFpbi1tZW51IGxpOmhvdmVyIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJHJlZDtcclxuICAgICAgfVxyXG4gICAgICAubWFpbi1tZW51IGxpIGxpOmhvdmVyIHtcclxuICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgIH1cclxuICAgICAgLnN0aWNreSAubWFpbi1tZW51IGxpIGxpOmhvdmVyIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubWFpbi1tZW51LXdyYXBwZXIuc3RpY2t5IHtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSg1NSwgNTUsIDcyLCAuNSk7XHJcbn1cclxuXHJcbi5wcmltYXJ5LW5hdiB7XHJcbiAgaGVpZ2h0OiAxMDhweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtcmVndWxhcic7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgaGVpZ2h0OiA2OHB4O1xyXG4gIH1cclxuICAubWFpbi1tZW51LXdyYXBwZXIge1xyXG4gICAgLy9AaW5jbHVkZSBzcGFuKGZ1bGwpO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiA0MnB4O1xyXG4gICAgei1pbmRleDogJHotaW5kZXgtZnR3O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgJi5zdGlja3kge1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgb3JkZXI6IDE7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gIH1cclxuICAub2ZmLWNhbnZhcyB7XHJcbiAgICAvL21hcmdpbi10b3A6IC00NXB4O1xyXG4gICAgJi5vcGVuIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRyYW5zaXRpb246IC40cztcclxuICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICB9XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogLTEyMCU7XHJcbiAgICAgIHotaW5kZXg6ICR6LWluZGV4LWZ0dztcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgYmFja2dyb3VuZDogI2U4ZTBkZTtcclxuICAgICAgdHJhbnNpdGlvbjogLjRzO1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gIH1cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIC5tb2JpbGUtbWVudSB7XHJcbiAgICAuaGVhZC1sb2dvIHtcclxuICAgICAgLy9AaW5jbHVkZSBzcGFuKDEwKTtcclxuICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAuaGVhZGVyLWxvZ28ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1vYmlsZS1tZW51LWljb24ge1xyXG4gICAgICBAaW5jbHVkZSBzcGFuKGxhc3QgMik7XHJcbiAgICAgIC8vd2lkdGg6IDMwcHg7XHJcbiAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQS9QandoUkU5RFZGbFFSU0J6ZG1jZ0lGQlZRa3hKUXlBbkxTOHZWek5ETHk5RVZFUWdVMVpISURFdU1TOHZSVTRuSUNBbmFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdlIzSmhjR2hwWTNNdlUxWkhMekV1TVM5RVZFUXZjM1puTVRFdVpIUmtKejQ4YzNabklHaGxhV2RvZEQwaU16SndlQ0lnYVdROUlreGhlV1Z5WHpFaUlITjBlV3hsUFNKbGJtRmliR1V0WW1GamEyZHliM1Z1WkRwdVpYY2dNQ0F3SURNeUlETXlPeUlnZG1WeWMybHZiajBpTVM0eElpQjJhV1YzUW05NFBTSXdJREFnTXpJZ016SWlJSGRwWkhSb1BTSXpNbkI0SWlCNGJXdzZjM0JoWTJVOUluQnlaWE5sY25abElpQjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWo0OGNHRjBhQ0JrUFNKTk5Dd3hNR2d5TkdNeExqRXdOQ3d3TERJdE1DNDRPVFlzTWkweWN5MHdMamc1TmkweUxUSXRNa2cwUXpJdU9EazJMRFlzTWl3MkxqZzVOaXd5TERoVE1pNDRPVFlzTVRBc05Dd3hNSG9nVFRJNExERTBTRFJqTFRFdU1UQTBMREF0TWl3d0xqZzVOaTB5TERJZ0lITXdMamc1Tml3eUxESXNNbWd5TkdNeExqRXdOQ3d3TERJdE1DNDRPVFlzTWkweVV6STVMakV3TkN3eE5Dd3lPQ3d4TkhvZ1RUSTRMREl5U0RSakxURXVNVEEwTERBdE1pd3dMamc1TmkweUxESnpNQzQ0T1RZc01pd3lMREpvTWpSak1TNHhNRFFzTUN3eUxUQXVPRGsyTERJdE1pQWdVekk1TGpFd05Dd3lNaXd5T0N3eU1ub2lMejQ4TDNOMlp6ND0nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgICAgY29sb3I6ICRwdXJwbGU7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWVkaXVtLW1pbikge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuICAubmF2LWxvZ29zLFxyXG4gIC5zaG93LWFsbCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAyODBweDtcclxuICAgIGhlaWdodDogMTQwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBpbWc6bGFzdC1jaGlsZCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBpbWc6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xyXG4gICAgICBpbWc6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgICAgaW1nOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDY1JTtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuICAuc2hvdy1hbGwge1xyXG4gICAgcGFkZGluZy10b3A6IDEzJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtZ3JleTtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAtMzBweDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9uZXh0LWljb24tcmlnaHQtcHJwbC5wbmcnKSBuby1yZXBlYXQ7XHJcbiAgICAgIC8vYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbmV4dC1pY29uLXJpZ2h0LnBuZycpIG5vLXJlcGVhdDtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkZHJrLWdyZXk7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9uZXh0LWljb24tcmlnaHQucG5nJykgbm8tcmVwZWF0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5oZWFkLWxvZ28ge1xyXG4gICAgQGluY2x1ZGUgc3BhbigyKTtcclxuICAgIC8vaGVpZ2h0OiA2MHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCB1cmwoJy4uL2ltYWdlcy9zdmcteGl2ZWx5LWxvZ28uc3ZnJykgbm8tcmVwZWF0IGxlZnQgdG9wO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGxpbmUtaGVpZ2h0OiAzLjVlbTtcclxuICAgIHRleHQtaW5kZW50OiAtOTk5ZW07XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLW1lZGl1bS1tYXgpIHtcclxuICAgICAgbWFyZ2luLXRvcDogNnB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcclxuICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMveGl2ZWx5LWxvZ28tcHVycGxlLnN2ZycpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcclxuICAgICAgJi5yZWNvbG9yIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgIC8vYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKCcuLi9pbWFnZXMveGl2ZWx5LWxvZ28tcHVycGxlLnN2ZycpIG5vLXJlcGVhdCBsZWZ0IHRvcDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuaGVhZGVyLWxvZ28ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIC5idG4taGVhZGVyIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMTBweCAwIDUwcHg7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAudXRpbHMtd3JhcHBlciB7XHJcbiAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICBvcmRlcjogMjtcclxuICAgICAgLy9tYXJnaW4tdG9wOiA1MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBuYXYge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAmLnV0aWxzIHtcclxuICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkZ3JleTtcclxuICAgICAgfVxyXG4gICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICAgIGhlaWdodDogNDJweDtcclxuICAgICAgICAvL2ZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcclxuICAgICAgfVxyXG4gICAgICBhOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYubWFpbi1tZW51IHtcclxuICAgICAgaGVpZ2h0OiA2NXB4O1xyXG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1tZWRpdW0tbWF4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgfVxyXG4gICAgICAuY2xvc2UtbWVudSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3BhbigyKTtcclxuICAgICAgICBAaW5jbHVkZSBwcmUoNCk7XHJcbiAgICAgICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIycHg7XHJcbiAgICAgICAgLy9tYXJnaW4tcmlnaHQ6IDMwO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGhlaWdodDogMjZweDtcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Nsb3NlLW1lbnUucG5nJyk7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1lZGl1bS1taW4pIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGE6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig4KTtcclxuICAgICAgICAvL21hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIEBtZWRpYShtaW4td2lkdGg6ICRzY3JlZW4tbWVkaXVtLW1pbikge1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICAgICAgQGluY2x1ZGUgc3BhbigxMik7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgLy9AaW5jbHVkZSBmb250LXNpemUoMjgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogNDVweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgIC8vY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRyZWQ7XHJcbiAgICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mYSB7XHJcbiAgICAgICAgICBAbWVkaWEobWluLXdpZHRoOiAkc2NyZWVuLW1lZGl1bS1taW4pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgICAgICAgIC8vQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAkei1pbmRleC0xO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1NXB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLnN1Yi1uYXYge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNjRweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6ICR6LWluZGV4LWZ0dztcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNlOGU3ZTk7XHJcbiAgICAgICAgY29sb3I6ICRwdXJwbGU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnktbGlnaHQ7XHJcbiAgICAgICAgLy9mb250LXNpemU6IDEuMnJlbTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgIC8vY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kcm9wLWhlYWRlciB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoMTIpO1xyXG4gICAgICAgICAgbWFyZ2luOiAwIDIwcHggMTJweDtcclxuICAgICAgICAgIGNvbG9yOiAkZ3JleTtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5LXNlbWlib2xkO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcclxuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ibG9jayB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxlZnQtYmxvY2sge1xyXG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbig1KTtcclxuICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuYmxvY2sge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHggMzBweDtcclxuICAgICAgICAgICAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1sYXJnZSkge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzBweCA2MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAubmF2LXRhZ2xpbmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LXNpemUoNDIpO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmlnaHQtYmxvY2sge1xyXG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbig3KTtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHB1cnBsZTtcclxuICAgICAgICAgIGJvcmRlci1pbWFnZTogdXJsKCcuLi9pbWFnZXMvdmVydGljYWxfbGluZS5wbmcnKSAzMCAyIHJlcGVhdDtcclxuICAgICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLTIwcHggMCAwIC0zMHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIycHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgID4gdWwge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIH1cclxuICAgICAgPiBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgLjc1JTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgY29sb3I6ICRib2R5LWNvcHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5ub3RvdWNoIC5wcmltYXJ5LW5hdiBsaTpob3ZlciAuc3ViLW5hdiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4ucHJpbWFyeS1uYXYgLnN1Yi1uYXYuaG92ZXIge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4ucm90YXRlIHtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGxpbmVhcjtcclxufVxyXG5cclxuLnJvdGF0ZS51cCB7XHJcbiAgOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnXFxmMDc4JztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAyMHB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XHJcbiAgfVxyXG59XHJcblxyXG4uZmEtY2hldnJvbi1kb3duOmJlZm9yZSB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgLy93aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2hldnJvbi1kb3duLnBuZycpO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuIiwiLy9cclxuLy9GVU5DVElPTlNcclxuLy9cclxuXHJcbi8vQ3JlYXRlIHVuaXRsZXNzIG51bWJlciBmb3Igb3RoZXIgZnVuY3Rpb25zXHJcbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW1iZXIpIHtcclxuICBAaWYgdHlwZS1vZigkbnVtYmVyKT09J251bWJlcicgYW5kIG5vdCB1bml0bGVzcygkbnVtYmVyKSB7XHJcbiAgICBAcmV0dXJuICRudW1iZXIgLyAoJG51bWJlciAqIDAgKyAxKTtcclxuICB9XHJcbiAgQHJldHVybiAkbnVtYmVyO1xyXG59XHJcblxyXG4vL1Bob3Rvc2hvcCBmb250IHNpemVzIHRvIHJlbGF0aXZlIHVuaXRzXHJcbkBmdW5jdGlvbiBjYWxjdWxhdGUtcmVtKCRzaXplKSB7XHJcbiAgJHJlbS1zaXplOiAkc2l6ZSAvIHN0cmlwLXVuaXQoJGRlZmF1bHQtZm9udC1zaXplKTtcclxuICBAcmV0dXJuICN7JHJlbS1zaXplfXJlbTtcclxufVxyXG5cclxuXHJcbi8vXHJcbi8vIE1JWElOU1xyXG4vL1xyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZSkge1xyXG4gIGZvbnQtc2l6ZTogY2FsY3VsYXRlLXJlbSgkc2l6ZSk7XHJcbn1cclxuXHJcbi8vSnVzdCBpbiBjYXNlXHJcbkBtaXhpbiBsaW5lLWhlaWdodCgkZm9udC1zaXplLCAkbGVhZGluZykge1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGVhZGluZyAvICRmb250LXNpemU7XHJcbn1cclxuXHJcbkBtaXhpbiBrZXJuaW5nLXNpemUoJHZhbHVlKSB7XHJcbiAgbGV0dGVyLXNwYWNpbmc6ICR2YWx1ZS8xMDAwK2VtO1xyXG59XHJcblxyXG4vLzpob3ZlciBlZmZlY3RcclxuQG1peGluIGhvdmVyLWVmZmVjdCgkY29sb3IpIHtcclxuICBpbWc6Zmlyc3QtY2hpbGQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIGltZzpsYXN0LWNoaWxkIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgaW1nOmZpcnN0LWNoaWxkIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIGltZzpsYXN0LWNoaWxkIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vIFN0YWdlIHNlY3Rpb25cclxuLmJnLWdyYWRpZW50IHtcclxuICBoMiB7XHJcbiAgICBjb2xvcjogJHJlZDtcclxuICB9XHJcbn1cclxuXHJcbi5zdGFnZS1ibG9jayB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogOTUlO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIHBhZGRpbmc6IDRlbSAwO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL3N2Zy1qb3VybmV5LWJnLnN2ZycpO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsKSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIC8vZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLy9hbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDIuNWVtIDA7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uLy4uL2ltYWdlcy9zdGVwX2JnX3YucG5nJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgfVxyXG4gIC5zdGFnZS1ib3gge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMjUlO1xyXG4gICAgbWluLWhlaWdodDogMzUycHg7XHJcbiAgICBtYXJnaW46IDAgc3BhbiguNik7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgY29sb3I6ICRyZWQ7XHJcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWJvbGQnO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwpIHtcclxuICAgICAgLy9kaXNwbGF5OiBibG9jaztcclxuICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgbWF4LWhlaWdodDogMzE1cHg7XHJcbiAgICAgIG1hcmdpbjogMTVweCBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnN0YWdlLWJveC1jb250ZW50IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmllOSAuc3RhZ2UtYmxvY2sge1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGJvdHRvbTogNDcuNSU7XHJcbiAgfVxyXG59XHJcblxyXG4uc3RhZ2UtYm94IHtcclxuICAuc3RlcCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAzMCU7XHJcbiAgICBtaW4taGVpZ2h0OiAxMTBweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDg3NnB4KSB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDgwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsKSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbiAgICBpbWc6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgIGltZzpsYXN0LWNoaWxkIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcmVkO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xyXG4gICAgLnN0ZXAge1xyXG4gICAgICBpbWc6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgaW1nOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3RhZ2Uge1xyXG4gICAgICAmLm9uZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9pbWFnZXMvc3RwLW9uZS1yZWQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgICAgJi50d28ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL3N0cC10d28tcmVkLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICAgICYudGhyZWUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL3N0cC10aHJlZS1yZWQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJjpiZWZvcmUsXHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJhY2tncm91bmQ6ICM3MzZlN2E7XHJcbiAgfVxyXG4gICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IHNwYW4oMS41KTtcclxuICB9XHJcbiAgJjpsYXN0LWNoaWxkIHtcclxuICAgIG1hcmdpbi1yaWdodDogc3BhbigxLjUpO1xyXG4gIH1cclxuICAuc3RhZ2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAzMHB4O1xyXG4gICAgbGVmdDogMzBweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgJi5vbmUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uL2ltYWdlcy9zdHAtb25lLXdodC5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIH1cclxuICAgICYudHdvIHtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9pbWFnZXMvc3RwLXR3by13aHQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAmLnRocmVlIHtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9pbWFnZXMvc3RwLXRocmVlLXdodC5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcbiAgcCB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjcpO1xyXG4gICAgbWF4LXdpZHRoOiAyNjVweDtcclxuICAgIG1hcmdpbjogMTVweCBhdXRvIDA7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogODc2cHgpIHtcclxuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIzKTtcclxuICAgIH1cclxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwpIHtcclxuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDI0KTtcclxuICAgIH1cclxuICB9XHJcbiAgQG1lZGlhKG1pbi13aWR0aDogJHNjcmVlbi1zbWFsbCkge1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICAgICY6YmVmb3JlLFxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB3aWR0aDogMnB4O1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGxlZnQ6IC0ycHg7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgcmlnaHQ6IC0ycHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XHJcbiAgICB3aWR0aDogOTAlO1xyXG4gICAgbWluLWhlaWdodDogMjc1cHg7XHJcbiAgICBtYXJnaW46IDd2dztcclxuICAgIHBhZGRpbmc6IDEwIDA7XHJcbiAgICAmOmJlZm9yZSxcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICB0b3A6IC0ycHg7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgYm90dG9tOiAtMnB4O1xyXG4gICAgfVxyXG4gICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICBtYXJnaW46IDVweCBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuICAuc3RlcCB7XHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgbWF4LWhlaWdodDogODBweDtcclxuICAgIH1cclxuICB9XHJcbiAgLnlvdXItc3RlcCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcCB7XHJcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XHJcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc3RhZ2UtYm94LmFjdGl2ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDM3LCAzNywgNTQpO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL3doaXRlLWNoZWNrbWFyay5zdmcnKTtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiA0MCU7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIHNwYW4sXHJcbiAgcCxcclxuICBpbWcge1xyXG4gICAgb3BhY2l0eTogLjE7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgdHJhbnNmb3JtOiBub25lO1xyXG4gIH1cclxuICAuc3RhZ2UtYm94LWNvbnRlbnQ6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG4gIC55b3VyLXN0ZXAge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uc3RhZ2UtYm94LWNvbnRlbnQ6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDM1cHg7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMjVweDtcclxuICBoZWlnaHQ6IDI1cHg7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL2xmdF9hcnJvd193aHQuc3ZnJyk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5pZTkgLnN0YWdlLWJveCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbjogMSU7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG4iLCIuZm9vdGVyLWN0YSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogNjI5cHg7XHJcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9pbWFnZXMvd29ya3MtYmV0dGVyLWJnLnBuZycpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgIGhlaWdodDogMzUwO1xyXG4gIH1cclxuICBkaXYge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4uaWU5IC5mb290ZXItY3RhIC5jdGEtYmx1cmIge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGhlaWdodDogMjAwO1xyXG4gIG1hcmdpbjogYXV0bztcclxufVxyXG4iLCIubmV3c2xldHRlci1mb3JtLWhvbGRlciB7XHJcbiAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gIH1cclxuICAuZm9ybS1lcnJvciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDIxcHg7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgICAgdG9wOiA1MnB4O1xyXG4gICAgICBsZWZ0OiA0MyU7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICB0b3A6IDQ1cHg7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2lnbnVwIHtcclxuICAgIEBpbmNsdWRlIHNwYW4oNSk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgaDQge1xyXG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjQpO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgICAgQGluY2x1ZGUgc3BhbigxMik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50aGFuay15b3Uge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAuZW1haWwtZmllbGQge1xyXG4gICAgQGluY2x1ZGUgc3Bhbig0KTtcclxuICAgIHBhZGRpbmc6IDAgMjBweDtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgYm90dG9tOiAtMTBweDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uL2ltYWdlcy9zdmctYm90dG9tLWxpbmUuc3ZnJykgbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgICAgYm90dG9tOiAtNDBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgaW5wdXQge1xyXG4gICAgICBAaW5jbHVkZSBmb250LXNpemUoMjQpO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcclxuICAgICAgb3V0bGluZTogMDtcclxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgIG9wYWNpdHk6IC43O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICB9XHJcbiAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3BhbigxMik7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zaWdudXAsXHJcbiAgLmVtYWlsLWZpZWxkIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbjogNDBweCBhdXRvO1xyXG4gICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1tZWRpdW0tbWF4KSB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4oNSk7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuICAuc3VibWl0LWl0IHtcclxuICAgIEBpbmNsdWRlIHNwYW4oMyk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDMwcHggMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1tZWRpdW0tbWF4KSB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4oMik7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuICAuc2lnbnVwLFxyXG4gIC5lbWFpbC1maWVsZCxcclxuICAuc3VibWl0LWl0IHtcclxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsImZvb3RlciB7XHJcbiAgY29sb3I6ICRsdC1ncmV5O1xyXG59XHJcblxyXG5mb290ZXIgLmxpbmtzIHtcclxuICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xyXG4gIEBpbmNsdWRlIHNwYW4oMik7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBhZGRpbmc6IDAgMCA1NXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAudGl0bGUge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogNTVweCAwIDMwcHg7XHJcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLXJlZ3VsYXInO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG4gICY6bnRoLW9mLXR5cGUoMSkge1xyXG4gICAgQGluY2x1ZGUgc3BhbihsYXN0IDMpO1xyXG4gIH1cclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgQGluY2x1ZGUgc3BhbigzIG9mIDEyKTtcclxuICAgICY6bnRoLW9mLXR5cGUoMSkge1xyXG4gICAgICBAaW5jbHVkZSBzcGFuIChmaXJzdCAxMik7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XHJcbiAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAudGl0bGUge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgJjpudGgtb2YtdHlwZSgxKSB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4gKGZpcnN0IDEyKTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxuICB1bCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGxpIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIH1cclxuICB9XHJcbiAgYSB7XHJcbiAgICBjb2xvcjogJGx0LWdyZXk7XHJcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLXJlZ3VsYXInO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gIH1cclxuICAuc3QwIHtcclxuICAgIGZpbGw6ICRyZWQ7XHJcbiAgfVxyXG4gIC5zb2NpYWwtY2lyY2xlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAzNnB4O1xyXG4gICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgbWFyZ2luOiAwIDVweCAxMHB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJHJlZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xyXG4gICAgICAuc3QwIHtcclxuICAgICAgICBmaWxsOiAkcHVycGxlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zb2NpYWwtaWNvbiB7XHJcbiAgICBoZWlnaHQ6IDE3cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xyXG4gIH1cclxuICAuaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMzZweDtcclxuICAgIGhlaWdodDogMzZweDtcclxuICB9XHJcbiAgLmljb24tZmFjZWJvb2sge1xyXG4gICAgcGFkZGluZy10b3A6IDJweDtcclxuICB9XHJcbiAgLmljb24tYmxvZyB7XHJcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAycHg7XHJcbiAgfVxyXG4gIC5pY29uLXR3aXR0ZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDNweDtcclxuICAgIHBhZGRpbmctbGVmdDogMnB4O1xyXG4gIH1cclxuICAuaWNvbi15b3V0dWJlIHtcclxuICAgIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgfVxyXG4gIC5pY29uLWxpbmtlZGluIHtcclxuICAgIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLmlvcyAuc29jaWFsLWNpcmNsZSB7XHJcbiAgLmljb24tZmFjZWJvb2sge1xyXG4gICAgbWFyZ2luLXRvcDogNnB4O1xyXG4gICAgLy9ib3JkZXI6IDFweCBzb2xpZCBibHVlO1xyXG4gIH1cclxuICAuaWNvbi15b3V0dWJlIHtcclxuICAgIG1hcmdpbi10b3A6IDlweDtcclxuICB9XHJcbiAgLmljb24tbGlua2VkaW4ge1xyXG4gICAgbWFyZ2luLXRvcDogN3B4O1xyXG4gIH1cclxufVxyXG5cclxuLmxvZ21laW4tbG9nbyB7XHJcbiAgQGluY2x1ZGUgc3BhbigzIG9mIDEyKTtcclxuICBpbWcge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBtYXJnaW46IDlweCAwO1xyXG4gIH1cclxufVxyXG5cclxuLmNvcHlyaWdodCB7XHJcbiAgQGluY2x1ZGUgc3Bhbig2IG9mIDEyKTtcclxuICBsaW5lLWhlaWdodDogM2VtO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmJ0dCB7XHJcbiAgQGluY2x1ZGUgc3BhbigzIG9mIDEyKTtcclxuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsKSB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuICAuYnR0LWFycm93IHtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg1OCk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC04cHg7XHJcbiAgICB3aWR0aDogODJweDtcclxuICAgIGhlaWdodDogNTZweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL2J0dC1vdmVyLnN2ZycpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi8uLi9pbWFnZXMvYnR0LnN2ZycpO1xyXG4gICAgfVxyXG4gIH1cclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5sb2dtZWluLWxvZ28sXHJcbi5jb3B5cmlnaHQge1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XHJcbiAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbn1cclxuIiwiLmJ0bi1jb250YWN0LXVzIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5mb3JtLWJ0biB7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJhY2tncm91bmQ6IDA7XHJcbn1cclxuXHJcbi5jb250YWN0LWZvcm0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogNjUlO1xyXG4gIG1pbi1oZWlnaHQ6IDU1MHB4O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tbWVkaXVtLW1heCkge1xyXG4gICAgd2lkdGg6IDg1JTtcclxuICB9XHJcbiAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1tZWRpdW0tbWF4KSB7XHJcbiAgICB3aWR0aDogOTUlO1xyXG4gIH1cclxuICAuY2xvc2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwNCwgMTA0LCAxMDQsIC4zKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL2ljb24tY2xvc2UteC5zdmcnKTtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiA2NSU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG4gIC5mb3JtLWZpZWxkIHtcclxuICAgIGg0IHtcclxuICAgICAgcGFkZGluZzogMCAwIDEwcHg7XHJcbiAgICB9XHJcbiAgICBwYWRkaW5nOiAwIDE4JTtcclxuICAgIGlucHV0LFxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmNWY0ZjQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY0ZjQ7XHJcbiAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZjVmNGY0IHVybCgnLi4vLi4vLi4vaW1hZ2VzL2ljb24tYXJyb3ctZHduLnN2ZycpIG5vLXJlcGVhdCA5OCUgNTAlO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI1cHg7XHJcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICAgIC5mb3JtLWJ0biB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIHBhZGRpbmc6IGF1dG87XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB9XHJcbiAgICBpbnB1dDo6cGxhY2Vob2xkZXIge1xyXG4gICAgICBjb2xvcjogJHB1cnBsZTtcclxuICAgIH1cclxuICAgIGxhYmVsIHtcclxuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMzBweCAwIDA7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG4gICAgLnRlcm1zIHtcclxuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDEyKTtcclxuICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgYSB7XHJcbiAgICAgICAgY29sb3I6ICRyZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5mb3JtLWVycm9yIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW4tdG9wOiAtNXB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgcGFkZGluZzogNnB4IDRweDtcclxuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAycHg7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGZvbnQtc2l6ZTogMTJweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4uaGFzLWVycm9yIC5lcnJvciB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJHJlZCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZm9ybS1zdWJzY3JpYmUge1xyXG4gIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbjogMjVweCAwIDUwcHg7XHJcbiAgLy93aWR0aDogMjAwcHg7XHJcbiAgI2NoZWNrYm94LXN1YnNjcmliZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IFxyXG4gICAgd2lkdGg6IDE1cHg7XHJcbiAgICBtYXJnaW46IDE1cHg7XHJcbiAgfVxyXG59IiwiLmFuaW1hdGVkLWJhbm5lciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWxpZ2h0JztcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLmFuaW1hdGVkLWJhbm5lciAuY29udGVudC1zdHVmZiB7XHJcbiAgbWF4LXdpZHRoOiAxMTAwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5oZWFkZXItdGFsbCAuYW5pbWF0ZWQtYmFubmVyIGgxIHtcclxuICBAaW5jbHVkZSBmb250LXNpemUoNzgpO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbjogMDtcclxuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWxpZ2h0JztcclxuICBmb250LXdlaWdodDogbGlnaHRlcjtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwpIHtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSg1NSk7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmFuaW1hdGVkLWJhbm5lciB1bCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4uaGVhZGVyLXRhbGwgLmFuaW1hdGVkLWJhbm5lciAudGV4dC1hbmltYXRlZCA+IGgxOmZpcnN0LW9mLXR5cGUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbi1ib3R0b206IDkxcHg7XHJcbn1cclxuXHJcbi5hbmltYXRlZC1iYW5uZXIgLnRleHQtYW5pbWF0ZWQgcCB7XHJcbiAgQGluY2x1ZGUgZm9udC1zaXplKDI0KTtcclxuICB3aWR0aDogNjAlO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi5hbmltYXRlZC1iYW5uZXIgLmlvdC1pbWdzLFxyXG4uYW5pbWF0ZWQtYmFubmVyIC5sZWZ0LWNvbCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAlKTtcclxufVxyXG5cclxuLmFuaW1hdGVkLWJhbm5lciAuaW90LWl0ZW1zIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAxNjdweDtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDkxcHg7XHJcbn1cclxuXHJcbi5hbmltYXRlZC1iYW5uZXIgLmlvdC1pbWdzIHtcclxuICB0b3A6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA0NzBweDtcclxuICBtYXJnaW4tbGVmdDogMDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUlKTtcclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsKSB7XHJcbiAgICB0b3A6IC0yMHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmFuaW1hdGVkLWJhbm5lciAuaW90LWl0ZW1zIGxpLFxyXG4uYW5pbWF0ZWQtYmFubmVyIC5pb3QtaW1ncyBsaSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgei1pbmRleDogJHotaW5kZXgtNTtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXgtd2lkdGg6IDExMDBweDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5hbmltYXRlZC1iYW5uZXIgLmlvdC1pbWdzIGxpIGltZyB7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIGhlaWdodDogNDcwcHg7XHJcbn1cclxuXHJcbi5tb2JpbGUtYmFubmVyLFxyXG4uc2Nyb2xsLWRvd24ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gIC5oZWFkZXIgLmFuaW1hdGVkLWJhbm5lciBoMSB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoNDApO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICAuYW5pYW10ZWQtYmFubmVyIC50ZXh0LWFuaW1hdGVkID4gaDE6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICAuYW5pbWF0ZWQtYmFubmVyIC50ZXh0LWFuaW1hdGVkIHAge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE4KTtcclxuICAgIHdpZHRoOiA1OCU7XHJcbiAgfVxyXG4gIC5hbmltYXRlZC1iYW5uZXIgLmlvdC1pdGVtcyBsaSxcclxuICAuYW5pbWF0ZWQtYmFubmVyIC5pb3QtaW1ncyBsaSxcclxuICAuYW5pbWF0ZWQtYmFubmVyIC5jb250ZW50LXN0dWZmIHtcclxuICAgIG1heC13aWR0aDogOTAlO1xyXG4gIH1cclxuICAuYW5pbWF0ZWQtYmFubmVyIC5pb3QtaXRlbXMge1xyXG4gICAgdG9wOiAxMzVweDtcclxuICAgIC8vaGVpZ2h0OiA0MHB4O1xyXG4gIH1cclxuICAuYW5pbWF0ZWQtYmFubmVyIC5pb3QtaW1ncyxcclxuICAuYW5pbWF0ZWQtYmFubmVyIC5pb3QtaW1ncyBsaSBpbWcge1xyXG4gICAgaGVpZ2h0OiAzMTBweDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xyXG4gIC5kZXNrdG9wLWJhbm5lciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICAubW9iaWxlLWJhbm5lciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgaGVhZGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICB9XHJcbiAgLmFuaW1hdGVkLWJhbm5lciB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICB9XHJcbiAgLmFuaW1hdGVkLWJhbm5lciAuY29udGVudC1zdHVmZiB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB9XHJcbiAgLmhvbWVwYWdlIC5oZWFkZXItdGFsbCBoMSxcclxuICAuaGVhZGVyIC5hbmltYXRlZC1iYW5uZXIgaDEsXHJcbiAgLmhlYWRlci10YWxsIC5hbmltYXRlZC1iYW5uZXIgaDEge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDQ1KTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgLmFuaW1hdGVkLWJhbm5lciAudGV4dC1hbmltYXRlZCBwIHtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBtYXJnaW46IDFlbSBhdXRvO1xyXG4gIH1cclxuICAuYW5pbWF0ZWQtYmFubmVyIC5pb3QtaXRlbXMge1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gIH1cclxuICAuYW5pbWF0ZWQtYmFubmVyIC5yaWdodC1jb2wge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICB9XHJcbiAgLmFuaW1hdGVkLWJhbm5lciAuaW90LWltZ3MsXHJcbiAgLmFuaW1hdGVkLWJhbm5lciAubGVmdC1jb2wge1xyXG4gICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgIHRvcDogYXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbiAgLmhlYWRlci10YWxsIC5hbmltYXRlZC1iYW5uZXIgLnRleHQtYW5pbWF0ZWQgPiBoMTpmaXJzdC1vZi10eXBlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgLmFuaW1hdGVkLWJhbm5lciAuaW90LWl0ZW1zLFxyXG4gIC5hbmltYXRlZC1iYW5uZXIgLmlvdC1pdGVtcyBsaSxcclxuICAuYW5pbWF0ZWQtYmFubmVyIC5pb3QtaW1ncyBsaSB7XHJcbiAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gIH1cclxuICAuYW5pbWF0ZWQtYmFubmVyIC5pb3QtaW1ncyxcclxuICAuYW5pbWF0ZWQtYmFubmVyIC5pb3QtaW1ncyBsaSBpbWcge1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgfVxyXG4gIC5zY3JvbGwtZG93biB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMTBweCBhdXRvIDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMzUwcHgpIGFuZCAobWF4LWhlaWdodDogNTAwcHgpIHtcclxuICAuaGVhZGVyIC5hbmltYXRlZC1iYW5uZXIgaDEge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDI4KTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgLmFuaW1hdGVkLWJhbm5lciAudGV4dC1hbmltYXRlZCBwIHtcclxuICAgIG1hcmdpbjogLjdlbSBhdXRvO1xyXG4gIH1cclxuICAuYW5pbWF0ZWQtYmFubmVyIC5yaWdodC1jb2wge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICB9XHJcbn1cclxuXHJcbi8vKlN0eWxlcyBmb3IgYW5pbWF0aW9ucyAtIHNlcGVyYXRlIGFuaW1hdGlvbnMgZm9yIHRoZSBkZXNrdG9wIGFuZCBtb2JpbGUgbGlzdHMqL1xyXG4vLypBbGwgYW5pYW10aW9ucyBhcmUgc2V0IG9uIDNzIC0gaWYgY2hhbmdlZCB0aGlzIG11c3QgY2hhbmdlIGluIEpTKi9cclxuLmRlc2t0b3AtYmFubmVyIGxpOmZpcnN0LWNoaWxkIHtcclxuICBhbmltYXRpb246IDNzIGVhc2UgMHMgbm9ybWFsIG5vbmUgaW5maW5pdGUgZmFkZU91dEl0ZW1zO1xyXG59XHJcblxyXG4uZGVza3RvcC1iYW5uZXIgbGk6bnRoLWNoaWxkKDIpIHtcclxuICBhbmltYXRpb246IDNzIGVhc2UgMHMgbm9ybWFsIG5vbmUgaW5maW5pdGUgZmFkZUluSXRlbXM7XHJcbn1cclxuXHJcbi5kZXNrdG9wLWJhbm5lciBsaTpudGgtY2hpbGQobisyKSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDEwMCU7XHJcbiAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuLm1vYmlsZS1iYW5uZXIgbGkge1xyXG4gIGFuaW1hdGlvbjogM3MgZWFzZSAwcyBub3JtYWwgbm9uZSBpbmZpbml0ZSBmYWRlT3V0O1xyXG59XHJcblxyXG4ubW9iaWxlLWJhbm5lciBsaTpudGgtY2hpbGQoMikge1xyXG4gIGFuaW1hdGlvbjogM3MgZWFzZSAwcyBub3JtYWwgbm9uZSBpbmZpbml0ZSBmYWRlSW47XHJcbn1cclxuXHJcbi5tb2JpbGUtYmFubmVyIGxpOm50aC1jaGlsZChuKzIpIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXRJdGVtcyB7XHJcbiAgMCUge1xyXG4gICAgbGVmdDogMDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIDc1JSB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgOTIlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgbGVmdDogLTEwJTtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVJbkl0ZW1zIHtcclxuICAwJSB7XHJcbiAgICBsZWZ0OiAyMCU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICA3NSUge1xyXG4gICAgbGVmdDogMjAlO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbiAgOTIlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIDEwMCUge1xyXG4gICAgbGVmdDogMDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxuICA3NSUge1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG4gIDkyJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBmYWRlSW4ge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpO1xyXG4gIH1cclxuICA3NSUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSk7XHJcbiAgfVxyXG4gIDkyJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gIH1cclxufVxyXG4iLCIuYnV0dG9uIHtcclxuICBAaW5jbHVkZSBmb250LXNpemUoMTYpO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiA1cHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMS41ZW07XHJcbiAgY29sb3I6IGluaGVyaXQ7XHJcbiAgZm9udC1mYW1pbHk6ICdwcm94aW1hbm92YS1yZWd1bGFyJywgc2Fucy1zZXJpZjtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAmOmJlZm9yZSxcclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogNThweDtcclxuICAgIGhlaWdodDogNHB4O1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICB9XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgdG9wOiAtNHB4O1xyXG4gICAgcmlnaHQ6IDMwcHg7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgYm90dG9tOiAtNHB4O1xyXG4gICAgbGVmdDogMzVweDtcclxuICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcclxuICAgIGZpbHRlcjogRmxpcEg7XHJcbiAgfVxyXG4gICYubGcge1xyXG4gICAgbWluLXdpZHRoOiAzMjRweDtcclxuICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMi44O1xyXG4gICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDMuMTtcclxuICAgIH1cclxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XHJcbiAgICAgIG1pbi13aWR0aDogOTAlO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgICAgIG1hcmdpbjogNXB4IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuc20ge1xyXG4gICAgbWluLXdpZHRoOiAxNDZweDtcclxuICAgIG1pbi1oZWlnaHQ6IDMycHg7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuICBzcGFuOmhvdmVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAycHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxLjVlbTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxufVxyXG5cclxuYSB7XHJcbiAgLmJ0bi1pbm5lciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMnB4O1xyXG4gICAgJi5sZyB7XHJcbiAgICAgIG1pbi13aWR0aDogMzIwcHg7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XHJcbiAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNtIHtcclxuICAgICAgbWluLXdpZHRoOiAxNDJweDtcclxuICAgICAgbWluLWhlaWdodDogMzRweDtcclxuICAgICAgcGFkZGluZzogMCA0MHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMzRweDtcclxuICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMi41O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc20gaW5wdXQge1xyXG4gIG1pbi13aWR0aDogMTQycHg7XHJcbiAgbWluLWhlaWdodDogMzRweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGxpbmUtaGVpZ2h0OiAyLjI1O1xyXG59XHJcblxyXG4uZmlsbGVkIHtcclxuICBib3JkZXItcmFkaXVzOiAxLjVlbTtcclxuICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xyXG4gIDpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcmVkO1xyXG4gIH1cclxufVxyXG5cclxuLy9vcmFuZ2UgZG90c1xyXG4uYmctb3JhbmdlIC5idXR0b24ge1xyXG4gIGJvcmRlci1jb2xvcjogJHB1cnBsZTtcclxuICAmOmJlZm9yZSxcclxuICAmOmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEb0FBQUFFQ0FZQUFBRGZ5eXoxQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUE0UnBWRmgwV0UxTU9tTnZiUzVoWkc5aVpTNTRiWEFBQUFBQUFEdy9lSEJoWTJ0bGRDQmlaV2RwYmowaTc3dS9JaUJwWkQwaVZ6Vk5NRTF3UTJWb2FVaDZjbVZUZWs1VVkzcHJZemxrSWo4K0lEeDRPbmh0Y0cxbGRHRWdlRzFzYm5NNmVEMGlZV1J2WW1VNmJuTTZiV1YwWVM4aUlIZzZlRzF3ZEdzOUlrRmtiMkpsSUZoTlVDQkRiM0psSURVdU5pMWpNREUwSURjNUxqRTFOamM1Tnl3Z01qQXhOQzh3T0M4eU1DMHdPVG8xTXpvd01pQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJXeHVjenA0YlhBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEb3lZalU0TldRNE1DMHpPVFpoTFRSaE9EQXRZalZtTWkwMllUTXdNRE5tTlRoak1HVWlJSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZOakZCUTBKRk1UUkdNa014TVRGRk5Ua3hRVEk1T0VGRU5FRXlNRGxFTlRVaUlIaHRjRTFOT2tsdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk5qRkJRMEpGTVROR01rTXhNVEZGTlRreFFUSTVPRUZFTkVFeU1EbEVOVFVpSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UUWdLRmRwYm1SdmQzTXBJajRnUEhodGNFMU5Pa1JsY21sMlpXUkdjbTl0SUhOMFVtVm1PbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TURjM09USTNNV010TURCa01pMDFNVFEzTFRnNE5UVXROVGN6T0RVM1kyUmlPREZtSWlCemRGSmxaanBrYjJOMWJXVnVkRWxFUFNKaFpHOWlaVHBrYjJOcFpEcHdhRzkwYjNOb2IzQTZNekV4T0RVeU1qY3RaakZrWkMweE1XVTFMVGhsT0dRdFlUaG1NVEpoWVdOaVlUTmxJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrUlFYK0R3QUFBQ3hKUkVGVWVOcGlmT1NnL1o4QkFoZ1pCaWZBNno3Wi9WZndhbjdzcUFQV3o4UXdRc0NvUjRjYkFBZ3dBS2NmQjFRUXE4TFhBQUFBQUVsRlRrU3VRbUNDJyk7XHJcbiAgfVxyXG4gIHNwYW46aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTtcclxuICB9XHJcbiAgLmZpbGxlZDpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZmFkZS1wdXJwbGU7XHJcbiAgfVxyXG59XHJcblxyXG4vL3B1cnBsZSBkb3RzXHJcbi5iZy1wdXJwbGUgLmJ1dHRvbiB7XHJcbiAgYm9yZGVyLWNvbG9yOiAkcmVkO1xyXG4gICY6YmVmb3JlLFxyXG4gICY6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQURvQUFBQUVDQVlBQUFEZnl5ejFBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQTRScFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1ERTBJRGM1TGpFMU5qYzVOeXdnTWpBeE5DOHdPQzh5TUMwd09UbzFNem93TWlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM4aUlIaHRjRTFOT2s5eWFXZHBibUZzUkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRveVlqVTROV1E0TUMwek9UWmhMVFJoT0RBdFlqVm1NaTAyWVRNd01ETm1OVGhqTUdVaUlIaHRjRTFOT2tSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk5UTTNOa05FUVRCR01rTXhNVEZGTlVJNFFqQkNOVGRGUWpNek5ESXdSVVVpSUhodGNFMU5Pa2x1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TlRNM05rTkVPVVpHTWtNeE1URkZOVUk0UWpCQ05UZEZRak16TkRJd1JVVWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRRZ0tGZHBibVJ2ZDNNcElqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNRGMzT1RJM01XTXRNREJrTWkwMU1UUTNMVGc0TlRVdE5UY3pPRFUzWTJSaU9ERm1JaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0poWkc5aVpUcGtiMk5wWkRwd2FHOTBiM05vYjNBNk16RXhPRFV5TWpjdFpqRmtaQzB4TVdVMUxUaGxPR1F0WVRobU1USmhZV05pWVRObElpOCtJRHd2Y21SbU9rUmxjMk55YVhCMGFXOXVQaUE4TDNKa1pqcFNSRVkrSUR3dmVEcDRiWEJ0WlhSaFBpQThQM2h3WVdOclpYUWdaVzVrUFNKeUlqOCs4WVZjd3dBQUFDeEpSRUZVZU5waVZGVTErODhBQVl3TWd4UGdkZCt0V3lmeGFsWlRNd2ZyWjJJWUlXRFVvOE1OQUFRWUFOY1FCb2VWYUJHWEFBQUFBRWxGVGtTdVFtQ0MnKTtcclxuICB9XHJcbiAgc3Bhbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xyXG4gIH1cclxufVxyXG5cclxuLy93aGl0ZSBkb3RzXHJcbi5kbC1ibG9jayxcclxuLmJnLXdoaXRlLFxyXG4uYmctaGFsZi1wdXJwbGUsXHJcbi5iZy1ncmFkaWVudCxcclxuLmJnLXRyYW5zcGFyZW50IHtcclxuICAuYnV0dG9uIHtcclxuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTtcclxuICAgIGJvcmRlci1jb2xvcjogJHJlZDtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICBjb2xvcjogJHB1cnBsZTtcclxuICAgICY6YmVmb3JlLFxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEb0FBQUFFQ0FZQUFBRGZ5eXoxQUFBQUJHZEJUVUVBQUxHUEMveGhCUUFBQUNCalNGSk5BQUI2SmdBQWdJUUFBUG9BQUFDQTZBQUFkVEFBQU9wZ0FBQTZtQUFBRjNDY3VsRThBQUFBQm1KTFIwUUFBQUFBQUFENVE3dC9BQUFBQ1hCSVdYTUFBQXNTQUFBTEVnSFMzWDc4QUFBQUtFbEVRVlFvejJQOC8vLy9md1lHQmdaR1JrWkdoa0VJS0hVZlREL1RRSHVFWG1EVW84TU5BQUNiR1F3RVRsYnp1Z0FBQUFCSlJVNUVya0pnZ2c9PScpO1xyXG4gICAgfVxyXG4gICAgc3Bhbjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XHJcbiAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYmctdHJhbnNwYXJlbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG4gIC5iZy1ncmFkaWVudCB7XHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIEhlYWRlciBidXR0b24gaXMgZGlmZmVyZW50ID4uPFxyXG4gICYuYnRuLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIC5zbSB7XHJcbiAgICAgIG1pbi13aWR0aDogMTI1cHg7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDE1cHg7XHJcbiAgICAgIC8vcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDEuODtcclxuICAgICAgLy8gICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgIC8vICAgICAgIG1pbi13aWR0aDogaW5pdGlhbDtcclxuICAgICAgLy8gICAgICAgbWluLWhlaWdodDogaW5pdGlhbDtcclxuICAgICAgLy8gICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAvLyAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAvLyAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgIC8vICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAvLyAgICAgICAmOmJlZm9yZSxcclxuICAgICAgLy8gICAgICAgJjphZnRlciB7XHJcbiAgICAgIC8vICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgLy8gICAgICAgfVxyXG4gICAgICAvLyAgICAgfVxyXG4gICAgfVxyXG4gICAgc3Bhbjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XHJcbiAgICAgIHRyYW5zaXRpb246IC4xcztcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbiB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG4gICAgLmJ1dHRvbiAuYnRuLWlubmVyLnNtIHtcclxuICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1sYXJnZSkge1xyXG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XHJcbiAgICAgICAgLy9taW4taGVpZ2h0OiAzNHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgNnB4O1xyXG4gICAgICB9XHJcbiAgICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiBpbml0aWFsO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmhvbWVwYWdlIC5zdGlja3kgLmJ0bi1oZWFkZXIge1xyXG4gIHNwYW4ge1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgMnM7XHJcbiAgICBjb2xvcjogJHB1cnBsZTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJHB1cnBsZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5idC1mYWRlIHtcclxuICBvcGFjaXR5OiAuNTtcclxuICBpbnB1dCB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgfVxyXG59XHJcbiIsIkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtcmVndWxhcic7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgc3JjOiBcclxuICB1cmwoJyN7JGNkbi1kb21haW59L2ZvbnQtbGlicmFyeS9wcm94aW1hbm92YS9wcm94aW1hbm92YS1yZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgdXJsKCcjeyRjZG4tZG9tYWlufS9mb250LWxpYnJhcnkvcHJveGltYW5vdmEvcHJveGltYW5vdmEtcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtbGlnaHQnO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIHNyYzogXHJcbiAgdXJsKCcjeyRjZG4tZG9tYWlufS9mb250LWxpYnJhcnkvcHJveGltYW5vdmEvcHJveGltYW5vdmEtbGlnaHQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgXHJcbiAgdXJsKCcjeyRjZG4tZG9tYWlufS9mb250LWxpYnJhcnkvcHJveGltYW5vdmEvcHJveGltYW5vdmEtbGlnaHQud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG59XHJcblxyXG5cclxuLy8gRm9yIHJlZ3VsYXIgc2VtaS1ib2xkLCB1c2UgZm9udC13ZWlnaHQ6IDYwMCAvL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhY29uZC1zZW1pYm9sZCc7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgc3JjOiBcclxuICB1cmwoJyN7JGNkbi1kb21haW59L2ZvbnQtbGlicmFyeS9wcm94aW1hbm92YS9wcm94aW1hbm92YWNvbmQtc2VtaWJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICB1cmwoJyN7JGNkbi1kb21haW59L2ZvbnQtbGlicmFyeS9wcm94aW1hbm92YS9wcm94aW1hbm92YWNvbmQtc2VtaWJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWJvbGQnO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIHNyYzogXHJcbiAgdXJsKCcjeyRjZG4tZG9tYWlufS9mb250LWxpYnJhcnkvcHJveGltYW5vdmEvcHJveGltYW5vdmEtYm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gIHVybCgnI3skY2RuLWRvbWFpbn0vZm9udC1saWJyYXJ5L3Byb3hpbWFub3ZhL3Byb3hpbWFub3ZhLWJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG59XHJcbiIsIi8vKiBUaGUgTW9kYWwgKGJhY2tncm91bmQpICovXHJcbi5tb2RhbCB7XHJcbiAgLy9kaXNwbGF5OiBub25lO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICB6LWluZGV4OiAkei1pbmRleC1mdHc7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjYpO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIC53aW5kb3cge1xyXG4gICAgLy9AaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgIHdpZHRoOiBzcGFuKDgpO1xyXG4gICAgbWFyZ2luOiAxNSUgYXV0bztcclxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwpIHtcclxuICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgbWFyZ2luOiA1JSBhdXRvO1xyXG4gICAgfVxyXG4gICAgLm1vZGFsLWNvbnRlbnQge1xyXG4gICAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHB1cnBsZTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgaDEge1xyXG4gICAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAubW9kYWwtcGFydG5lci1sb2dvIHtcclxuICAgICAgQGluY2x1ZGUgc3Bhbig0KTtcclxuICAgICAgbWFyZ2luOiA0JSBhdXRvO1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiA3NSU7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwpIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1vZGFsLXBhcnRuZXItY29weSB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4oOCk7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3BhbigxMik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jbG9zZSB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgY29sb3I6ICNhYWE7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgICAuY2xvc2U6aG92ZXIsXHJcbiAgICAuY2xvc2U6Zm9jdXMge1xyXG4gICAgICBjb2xvcjogIzAwMDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8vKiRzbGljay1kb3QtY2hhcmFjdGVyOiAn4oCiJyAhZGVmYXVsdDsqL1xyXG4kc2xpY2stZG90LXNpemU6IDU1cHggIWRlZmF1bHQ7XHJcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDEgIWRlZmF1bHQ7XHJcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xyXG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAuNSAhZGVmYXVsdDtcclxuLy8qIEFycm93cyAqL1xyXG4ucGFuZWw6Zm9jdXMge1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbn1cclxuXHJcbi5zbGljay1zbGlkZXIgLmhhbGYtY29weSB7XHJcbiAgcGFkZGluZy1sZWZ0OiA2MHB4O1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLnNsaWNrLXByZXYsXHJcbi5zbGljay1uZXh0IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgei1pbmRleDogMTUwMDtcclxuICB3aWR0aDogODBweDtcclxuICBoZWlnaHQ6IDgwcHg7XHJcbiAgbWFyZ2luLXRvcDogLTEwcHhcXDlweDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxuICBmb250LXNpemU6IDA7XHJcbiAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG4gIH1cclxufVxyXG5cclxuLmhvbWVwYWdlLWNhcm91c2VsIC5zbGljay1wcmV2IHtcclxuICBsZWZ0OiAwO1xyXG4gIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL3N2Zy1hcnJvdy1sZWZ0LXB1cnBsZS5zdmcnKTtcclxufVxyXG5cclxuLmNhc2Utc3R1ZHktY2Fyb3VzZWwge1xyXG4gIC5zbGljay1wcmV2LFxyXG4gIC5zbGljay1uZXh0IHtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgcGFkZGluZzogN3B4IDA7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zbGljay1wcmV2IHtcclxuICAgIGxlZnQ6IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uLy4uL2ltYWdlcy9hcnJvdy1yZWQtcHJldi5zdmcnKTtcclxuICB9XHJcbiAgLnNsaWNrLW5leHQge1xyXG4gICAgcmlnaHQ6IDE1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uLy4uL2ltYWdlcy9hcnJvdy1yZWQtbmV4dC5zdmcnKTtcclxuICB9XHJcbn1cclxuXHJcbi5zbGljay1wcmV2IHtcclxuICBsZWZ0OiAwO1xyXG4gIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL3N2Zy1hcnJvdy1sZWZ0LnN2ZycpO1xyXG59XHJcblxyXG4uc2xpY2stbmV4dCB7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9pbWFnZXMvc3ZnLWFycm93LXJpZ2h0LnN2ZycpO1xyXG59XHJcblxyXG4uc2xpY2stZG90cyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogMDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGlzdC1zdHlsZTogbm9uZTtcclxuICBsaSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJi5zbGljay1hY3RpdmUgYnV0dG9uIHtcclxuICAgICAgYm9yZGVyOiA0cHggc29saWQgJHJlZDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkcmVkO1xyXG4gICAgfVxyXG4gICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XHJcbiAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XHJcbiAgICAgIGNvbG9yOiAkZmFkZS1wdXJwbGU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgYm9yZGVyOiA0cHggc29saWQgIzczNmU3YTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBjb2xvcjogJHB1cnBsZTtcclxuICAgICAgZm9udC1mYW1pbHk6ICdwcm94aW1hbm92YS1yZWd1bGFyJywgdmVyZGFuYSwgYXJpYWw7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xyXG4gICAgICBsaW5lLWhlaWdodDogMS41O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5ob21lcGFnZS1sb2dvLWNhcm91c2VsLnNsaWNrLXNsaWRlciB7XHJcbiAgcGFkZGluZy1yaWdodDogMTAwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAxMDBweDtcclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIC5wYW5lbCB7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA3NSU7XHJcbiAgICAgIH1cclxuICAgICAgYSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnNlY3Rpb24ge1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbn1cclxuXHJcbi5iZy1vcmFuZ2Uge1xyXG4gIGJhY2tncm91bmQ6ICRyZWQ7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5iZy13aGl0ZSB7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBjb2xvcjogJHB1cnBsZTtcclxufVxyXG5cclxuLmJnLWdyZXkge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRiZy1ncmV5O1xyXG59XHJcblxyXG4uYmctZ3JhZGllbnQge1xyXG4gIGJhY2tncm91bmQ6ICNlOWU4ZWE7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgZmFydGhlc3QtY29ybmVyIGF0IGxlZnQgdG9wLCAjZmNlYWU4IDAlLCAjZThlOGVhIDEwMCUpO1xyXG59XHJcblxyXG4uYmctaGFsZi1wdXJwbGUge1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2ZmZiAwJSwgI2ZmZiA1MCUsICMyNTI1MzYgNTAuMDAxJSk7XHJcbiAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1tZWRpdW0pIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgfVxyXG59XHJcblxyXG4uYmctcHVycGxlIHtcclxuICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uYmctZmFkZS1wdXJwbGUge1xyXG4gIGJhY2tncm91bmQ6ICRmYWRlLXB1cnBsZTtcclxufVxyXG5cclxuLmhlYWRlci1zbWFsbCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBoZWlnaHQ6IDMwMHB4O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGgxIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWJvbGQnO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgaGVpZ2h0OiAzNTBweDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgfVxyXG59XHJcblxyXG4uaGVhZGVyLXRhbGwge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA2MDBweDtcclxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBjb2xvcjogI2ZmZjtcclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgaGVpZ2h0OiA2NTBweDtcclxuICB9XHJcbiAgaDEge1xyXG4gICAgLy9kaXNwbGF5OiBmbGV4O1xyXG4gICAgLy9mbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAvL2FsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAvL2p1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1hcmdpbjogMTklIGF1dG87XHJcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWJvbGQnO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgbWFyZ2luOiAzMCUgYXV0bztcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgbWFyZ2luOiAuNWVtIGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oZWFkZXItdGFsbCAuaWNvbixcclxuLmhlYWRlci1zbWFsbCAuaWNvbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTUlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHBhZGRpbmctYm90dG9tOiAyZW07XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGltZyB7XHJcbiAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgfVxyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICB0b3A6IDUlO1xyXG4gICAgaW1nIHtcclxuICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmhlYWRlci1zbWFsbCAuaWNvbiB7XHJcbiAgaW1nIHtcclxuICAgIGhlaWdodDogNTVweDtcclxuICB9XHJcbn1cclxuXHJcbi5kb3duLWFycm93IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAxNSU7XHJcbiAgbGVmdDogMDtcclxuICB3aWR0aDogMzdweDtcclxuICBoZWlnaHQ6IDM3cHg7XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL2Fycm93LWRvd24uc3ZnJykgbm8tcmVwZWF0O1xyXG4gIGEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMzdweDtcclxuICAgIGhlaWdodDogMzdweDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAycyBlYXNlO1xyXG4gIH1cclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5jb250ZW50LWJsb2NrIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgaDQge1xyXG4gICAgcGFkZGluZzogMjVweCA1JSAxNXB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdwcm94aW1hbm92YS1yZWd1bGFyJztcclxuICB9XHJcbiAgYSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcbiAgLmhhbGYge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbiAgcCB7XHJcbiAgICBtYXgtd2lkdGg6IDc1JTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6IDI0cHg7XHJcbiAgfVxyXG59XHJcblxyXG4jdGFyZ2V0LFxyXG4jbmV3cy1hbmNob3Ige1xyXG4gIG1hcmdpbi10b3A6IC05MHB4O1xyXG4gIHBhZGRpbmctdG9wOiA5MHB4O1xyXG59XHJcblxyXG4uZmlmdHkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiA1MCU7XHJcbiAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuXHJcbi5yaWdodC1zaWRlIHtcclxuICAvL0BpbmNsdWRlIHNwYW4obGFzdCA2KTtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgLy9AbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLW1lZGl1bSkge1xyXG4gIC8vQGluY2x1ZGUgc3BhbigxMik7XHJcbiAgLy99XHJcbiAgaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4uaGFsZi1jb3B5IHtcclxuICBwYWRkaW5nOiAxMThweCAxMDBweCA4NHB4O1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tbWVkaXVtLW1heCkge1xyXG4gICAgcGFkZGluZzogMjVweCAxNXB4O1xyXG4gIH1cclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbn1cclxuXHJcbi5mdWxsLWNvcHkge1xyXG4gIHBhZGRpbmc6IDc1cHggMCA4NHB4O1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBwYWRkaW5nOiAyNXB4IDE1cHg7XHJcbiAgfVxyXG4gIC5ib3R0b20tY3RhIHtcclxuICAgIHdpZHRoOiA4MCU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBcclxuICAgIGgzIHtcclxuICAgICAgd2lkdGg6IDc1JTtcclxuICAgICAgbWFyZ2luOiAzNXB4IGF1dG8gMDtcclxuICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnV0aWxzIHtcclxuICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4ubWFpbi1tZW51IHtcclxuICBAaW5jbHVkZSBmb250LXNpemUoMTgpO1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tbGFyZ2UpIHtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNik7XHJcbiAgfVxyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwpIHtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMik7XHJcbiAgfVxyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuLmgxLFxyXG4uaDIsXHJcbi5oMyxcclxuLmg0IHtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbi5oMSxcclxuLmgyIHtcclxuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWxpZ2h0JztcclxuICBmb250LXdlaWdodDogMzAwO1xyXG59XHJcblxyXG5oMyxcclxuaDQsXHJcbi5oMyxcclxuLmg0IHtcclxuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWxpZ2h0JztcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG5oMSxcclxuLmgxIHtcclxuICBAaW5jbHVkZSBmb250LXNpemUoNTgpO1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoNDgpO1xyXG4gIH1cclxufVxyXG5cclxuaDIsXHJcbi5oMiB7XHJcbiAgQGluY2x1ZGUgZm9udC1zaXplKDQ0KTtcclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDM2KTtcclxuICB9XHJcbn1cclxuXHJcbmgzLFxyXG4uaDMge1xyXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNCk7XHJcbn1cclxuXHJcbmg0LFxyXG4uaDQge1xyXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgyOCk7XHJcbn1cclxuXHJcbmg1LFxyXG4uaDUge1xyXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNCk7XHJcbn1cclxuXHJcbi50aXRsZSB7XHJcbiAgQGluY2x1ZGUgZm9udC1zaXplKDIyKTtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLXJlZ3VsYXInO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG5wIHtcclxuICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xyXG4gIC8vcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XHJcbn1cclxuXHJcbi8vYnJlYWRjcnVtYnNcclxuLmJyZWFkLWNydW1icyB7XHJcbiAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcclxuICBwYWRkaW5nOiAxLjVlbSAwIDAgMWVtO1xyXG4gIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtcmVndWxhcic7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIGEge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgIGNvbG9yOiAkcHVycGxlO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICc+JztcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgICBoZWlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLnRleHQtbGluayBhIHtcclxuICBAaW5jbHVkZSBmb250LXNpemUoMTQuMDIpO1xyXG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRhcXVhO1xyXG4gIGNvbG9yOiAkYXF1YTtcclxuICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLXJlZ3VsYXInO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNWVtO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4udmlkZW8taG9sZGVyLFxyXG4ucGhvdG8taG9sZGVyIHtcclxuICBtYXgtd2lkdGg6IDQwJTtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgcGFkZGluZzogMDtcclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4ucGhvdG8taG9sZGVyIHtcclxuICBtYXgtd2lkdGg6IDcwJTtcclxufVxyXG5cclxuLnZpZGVvIHtcclxuICB3aWR0aDogODUlO1xyXG4gIG1hcmdpbjogNDVweCBhdXRvIDUwcHg7XHJcbiAgYm94LXNoYWRvdzogMnB4IDJweCA1cHggM3B4ICRwdXJwbGU7XHJcbiAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbCkge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi52aWQtdGV4dCB7XHJcbiAgd2lkdGg6IDY1JTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICAvL3BhZGRpbmctYm90dG9tOiA0NXB4O1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwpIHtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gIH1cclxufVxyXG5cclxuYmxvY2txdW90ZSB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnktc2VtaWJvbGQ7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgcCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgY29sb3I6ICRyZWQ7XHJcbiAgfVxyXG4gIGZvb3RlciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgY29sb3I6ICRwdXJwbGU7XHJcbiAgfVxyXG59XHJcblxyXG4ud2hpdGUtc3BhY2Uge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGhlaWdodDogMTVweDtcclxuICBiYWNrZ3JvdW5kOiAjZTllOGVhO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGZhcnRoZXN0LWNvcm5lciBhdCBsZWZ0IHRvcCwgI2ZjZWFlOCAwJSwgI2U4ZThlYSAxMDAlKTtcclxufVxyXG4iLCIuaG9tZXBhZ2UgLmJnLW9yYW5nZSB7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi8uLi9pbWFnZXMvYW5pbWF0aW9uLWJhY2tncm91bmQucG5nJyk7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5cclxuLmhvbWVwYWdlIC5oZWFkZXItdGFsbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gU3RhcnQgYW5pbWF0aW9uIGhlYWRlclxyXG4vLyBFbmQgYW5pbWF0aW9uIGhlYWRlci5cclxuLnByb21vLWJsb3dvdXQge1xyXG4gIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgLnByb21vLWxvZ28ge1xyXG4gICAgQGluY2x1ZGUgc3BhbigzKTtcclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxNzVweDtcclxuICAgICAgaGVpZ2h0OiAxNzVweDtcclxuICAgIH1cclxuICB9XHJcbiAgLnByb21vLWNvcHkge1xyXG4gICAgQGluY2x1ZGUgc3Bhbig2KTtcclxuICAgIGgyIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5wcm9tby1jby1sb2dvIHtcclxuICAgIEBpbmNsdWRlIHNwYW4oMyk7XHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogNzUlO1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxNzVweDtcclxuICAgIH1cclxuICB9XHJcbiAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgLnByb21vLWxvZ28sXHJcbiAgICAucHJvbW8tY29weSxcclxuICAgIC5wcm9tby1jby1sb2dvIHtcclxuICAgICAgQGluY2x1ZGUgc3BhbigxMik7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYW5lbCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jaXJjbGUtZG93biB7XHJcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi8vLmJnLW9yYW5nZSAuaGVhZGVyIHtcclxuLy8gIGJhY2tncm91bmQ6IG5vbmU7XHJcbi8vfVxyXG4uaGVhZGVyIC5wYW5lbDpudGgtb2YtdHlwZSgxKSB7XHJcbiAgbWFyZ2luLXRvcDogMTVweDtcclxuICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uL2ltYWdlcy9saWdodC1idWxiLnN2ZycpIG5vLXJlcGVhdCB0b3AgY2VudGVyO1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMzExcHggMzkzcHg7XHJcbiAgaDEge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nLXRvcDogMTRyZW07XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTByZW07XHJcbiAgICAuaGVhZGxpbmUtc3BhY2VyIHtcclxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfVxyXG4gIH1cclxuICAuYnRuLWhvbGRlciBhIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAyODVweDtcclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDdlbTtcclxuICAgIH1cclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDdlbTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDM1JTtcclxuICAgIGgxIHtcclxuICAgICAgd2lkdGg6IDY1JTtcclxuICAgICAgbWFyZ2luOiAxMnB4IGF1dG8gMDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcclxuICAgICAgLmhlYWRsaW5lLXNwYWNlciB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgfVxyXG4gICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1ZW07XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDFlbTtcclxuICAgICAgfVxyXG4gICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXhzKSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDNlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ0bi1ob2xkZXIgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAmOmZpcnN0LWNoaWxkLFxyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBldmVudHMgc2xpZGVyXHJcbi5pdGVtLW5hbWUsXHJcbi5kYXRlIHtcclxuICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGNvbG9yOiAkcmVkO1xyXG4gIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtcmVndWxhcic7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4uaXRlbS1uYW1lIHtcclxuICBwYWRkaW5nOiAwIDAgMjVweDtcclxuICBpbWcge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmRhdGUge1xyXG4gIHBhZGRpbmc6IDUwcHggMCAxMHB4O1xyXG59XHJcblxyXG5AbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gIC5pdGVtLW5hbWUge1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbiAgLmRhdGUge1xyXG4gICAgcGFkZGluZzogNXB4IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uZmVhdHVyZWQtbG9nb3Mge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAwO1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbiAgaW1nIHtcclxuICAgIGhlaWdodDogNjBweDtcclxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgIG1heC13aWR0aDogNDklO1xyXG4gICAgfVxyXG4gIH1cclxuICAuaXRzLXVzIHtcclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiAxODZweDtcclxuICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFlbTtcclxuICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgICAgICB3aWR0aDogMjI3cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1NXB4O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIExvZ29zIHNsaWNlclxyXG4uaG9tZXBhZ2UtbG9nby1jYXJvdXNlbCB7XHJcbiAgLnBhbmVsIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWluLWhlaWdodDogMTUwcHg7XHJcbiAgICBwYWRkaW5nOiAyNXB4IDMwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogMTcwcHg7XHJcbiAgICAgIG1heC13aWR0aDogOTAlO1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLnByb2R1Y3Qtc2hvdCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4udHdvLXRvbmUge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGgyLFxyXG4gIGgzIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuICBoMiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XHJcbiAgICBwYWRkaW5nOiAwIDI1JTtcclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAvL21hcmdpbi10b3A6IDQ1cHg7IFxyXG4gICAgICBjb2xvcjogJHJlZDtcclxuICAgIH1cclxuICB9XHJcbiAgaDMge1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gIH1cclxuICBwIHtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgzNCk7XHJcbiAgICB3aWR0aDogNzUlO1xyXG4gICAgbWFyZ2luOiAzNXB4IGF1dG8gMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdwcm94aW1hbm92YS1saWdodCc7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIH1cclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLW1lZGl1bS1tYXgpIHtcclxuICAgIGgyLFxyXG4gICAgaDMge1xyXG4gICAgICB3aWR0aDogOTAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNwbSB7XHJcbiAgQGluY2x1ZGUgc3BhbigxMSk7XHJcbiAgbWFyZ2luLWxlZnQ6IHNwYW4oMSk7XHJcbiAgLnN0ZXAge1xyXG4gICAgQGluY2x1ZGUgc3Bhbig0KTtcclxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gICAgICBwYWRkaW5nOiAwIDYlO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgIG1hcmdpbjogMjBweCBhdXRvIDQwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50aXRsZSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICB9XHJcbiAgLnN0ZXA6bnRoLW9mLXR5cGUoMSkge1xyXG4gICAgaW1nIHtcclxuICAgICAgLy93aWR0aDogNjglO1xyXG4gICAgICAvL3BhZGRpbmc6IDIwcHggMCAwO1xyXG4gICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcclxuICAgICAgICAgIHdpZHRoOiA3NSU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zdGVwOm50aC1vZi10eXBlKDIpIHtcclxuICAgIGltZyB7XHJcbiAgICAgIC8vd2lkdGg6IDY1JTtcclxuICAgICAgLy9wYWRkaW5nOiAyN3B4IDAgM3B4O1xyXG4gICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcclxuICAgICAgICAgIHdpZHRoOiA3NSU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zdGVwOm50aC1vZi10eXBlKDMpIHtcclxuICAgIGltZyB7XHJcbiAgICAgIC8vd2lkdGg6IDcwJTtcclxuICAgICAgLy9wYWRkaW5nOiAxNXB4IDAgMXB4O1xyXG4gICAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcclxuICAgICAgICAgIHdpZHRoOiA3NSU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zdGVwIHtcclxuICAgIC5zdGVwLWljb24ge1xyXG4gICAgICBtYXgtd2lkdGg6IDIzNXB4O1xyXG4gICAgICBtYXgtaGVpZ2h0OiAyMzVweDtcclxuICAgICAgbWFyZ2luOiAwIGF1dG8gMjVweDtcclxuICAgICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYm90dG9tLWN0YSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLWJvdHRvbTogNzVweDtcclxufVxyXG5cclxuLmJsb2Nrcy1nYWxsZXJ5LWhvbGRlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5ibG9ja3MtZ2FsbGVyeSB7XHJcbiAgQGluY2x1ZGUgc3Bhbig0KTtcclxuICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLW1lZGl1bS1tYXgpIHtcclxuICAgIEBpbmNsdWRlIHNwYW4oNik7XHJcbiAgfVxyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLy9taW4taGVpZ2h0OiAzNTBweDtcclxuICBtYXJnaW4tdG9wOiA0MHB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgJjpudGgtb2YtdHlwZSg0KSB7XHJcbiAgICAvL21hcmdpbi1ib3R0b206IDc1cHg7XHJcbiAgfVxyXG4gIC5kby1ibG9jayB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgLmljb24ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICBoZWlnaHQ6IDE3NXB4O1xyXG4gICAgICBtYXJnaW46IDMwcHggYXV0bztcclxuICAgICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgIGhlaWdodDogODAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FwLWNvcHkge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcclxuICAgICAgZm9udC1mYW1pbHk6ICdwcm94aW1hbm92YS1saWdodCc7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY2FwLWhvbGRlciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LXdyYXA6IHdyYXA7XHJcbn1cclxuXHJcbi5jYXBhYmlsaXRpZXMge1xyXG4gIEBpbmNsdWRlIHNwYW4gKDYpO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIC8vaGVpZ2h0OiBleHByZXNzaW9uKCB0aGlzLnNjcm9sbEhlaWdodCA8IDUwMSA/IFwiMzUwcHhcIiA6IFwiYXV0b1wiICk7XHJcbiAgbWluLWhlaWdodDogYXV0bztcclxuICBwYWRkaW5nOiAyMHB4IDUwcHg7XHJcbiAgLmljb24ge1xyXG4gICAgQGluY2x1ZGUgc3BhbiAoNCk7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiA4MCU7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDE3NXB4O1xyXG4gICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxuICB9XHJcbiAgLmNhcC1jb3B5IHtcclxuICAgIEBpbmNsdWRlIHNwYW4oNyk7XHJcbiAgfVxyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAxNXB4IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLmljb24ge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTUwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXAtY29weSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJnLWJvdHRvbTphZnRlciB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMHB4O1xyXG4gIC8vYmFja2dyb3VuZDogI2U5ZThlYTtcclxuICAvL2JhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGZhcnRoZXN0LWNvcm5lciBhdCBsZWZ0IHRvcCwgI2ZjZWFlOCAwJSwgI2U4ZThlYSAxMDAlKTtcclxufVxyXG4iLCIuY29udGFjdCxcclxuLnJlcXVlc3QsXHJcbi5mb3ItZGV2IHtcclxuICBAaW5jbHVkZSBzcGFuKDQpO1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICB9XHJcbiAgcGFkZGluZzogMCA5JTtcclxuICBpbWcge1xyXG4gICAgbWluLWhlaWdodDogMTUwcHg7XHJcbiAgICBwYWRkaW5nOiAyMCAwO1xyXG4gIH1cclxuICAuYnV0dG9uIHtcclxuICAgIG1hcmdpbjogMjVweCAwO1xyXG4gIH1cclxufVxyXG5cclxuaHIge1xyXG4gIHdpZHRoOiAyMCU7XHJcbiAgaGVpZ2h0OiAycHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJhY2tncm91bmQ6ICRwdXJwbGU7XHJcbn1cclxuXHJcbi5mb3ItcHJpY2Uge1xyXG4gIGltZyB7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gIH1cclxufVxyXG4iLCIuc3ViLWhlYWRsaW5lIHtcclxuICBwYWRkaW5nOiA3NXB4IDAgNTBweDtcclxuICBoMiB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gLjVlbTtcclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBjb2xvcjogJHJlZDtcclxuICAgIH1cclxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICAgIHdpZHRoOiA5NSU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGgzIHtcclxuICAgIHdpZHRoOiA3NSU7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcbiAgcCB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMzQpO1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWxpZ2h0JztcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG59XHJcblxyXG4uc3VicGFnZS1mZWF0dXJlIHtcclxuICBAaW5jbHVkZSBzcGFuKDgpO1xyXG4gIEBpbmNsdWRlIHB1c2goMik7XHJcbiAgaDIge1xyXG4gICAgY29sb3I6ICRyZWQ7XHJcbiAgfVxyXG4gIHAge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDI4KTtcclxuICAgIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtbGlnaHQnO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICB9XHJcbiAgaW1nIHtcclxuICAgIHdpZHRoOiA2NSU7XHJcbiAgICBtYXJnaW46IDZlbSAwIDA7XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLWxhcmdlLW1pbikge1xyXG4gICAgICB3aWR0aDogOTAlO1xyXG4gICAgICBtYXJnaW46IDRlbSBhdXRvO1xyXG4gICAgfVxyXG4gIH1cclxuICAuZmlmdHksXHJcbiAgLnJpZ2h0LXNpZGUge1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICBtYXJnaW46IDJlbSAwIDA7XHJcbiAgICAgIH1cclxuICAgICAgaDIge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyNCk7XHJcbiAgICAgIH1cclxuICAgICAgaDQge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XHJcbiAgICAgICAgd2lkdGg6IDg1JTtcclxuICAgICAgICBtYXJnaW46IC41ZW0gYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuaGFsZi1jb3B5LWxlZnQge1xyXG4gICAgcGFkZGluZzogNWVtIDFlbSAxZW0gNWVtO1xyXG4gIH1cclxuICAuaGFsZi1jb3B5LXJpZ2h0IHtcclxuICAgIHBhZGRpbmc6IDVlbSA1ZW0gMWVtIDFlbTtcclxuICB9XHJcbiAgLmhhbGYtY29weSB7XHJcbiAgICBwYWRkaW5nOiA1ZW0gNWVtIDFlbTtcclxuICAgIGg0IHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLWxhcmdlLW1pbikge1xyXG4gICAgICBwYWRkaW5nOiAyZW0gLjVlbSAxZW07XHJcbiAgICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJyYW5kaW5nIHtcclxuICBoZWlnaHQ6IDYzMHB4O1xyXG4gIHBhZGRpbmc6IDUycHg7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgaW1nIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDUycHg7XHJcbiAgfVxyXG4gIGgyIHtcclxuICAgIG1hcmdpbi10b3A6IDEwJTtcclxuICAgIGNvbG9yOiAkcmVkO1xyXG4gIH1cclxuICBwIHtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgICBtYXJnaW46IDMwcHggYXV0bztcclxuICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICB9XHJcbiAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgIGhlaWdodDogNzUwcHg7XHJcbiAgICBpbWcge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBmb250LXNpemU6IDIzcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi5saXN0aW5nLWJsb2NrIHtcclxuICBAaW5jbHVkZSBzcGFuKDQpO1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1lZGl1bS1tYXgpIHtcclxuICAgIEBpbmNsdWRlIHNwYW4oNik7XHJcbiAgfVxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xyXG4gICAgQGluY2x1ZGUgc3BhbigxMik7XHJcbiAgfVxyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBoZWlnaHQ6IDQ0MXB4O1xyXG4gIG1hcmdpbi10b3A6IHNwYW4oLjU2KTtcclxuICBtYXJnaW4tYm90dG9tOiBzcGFuKC41Nik7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA0KTtcclxuICAgIC5jdXN0LWxvZ28ge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jYXNlLXN0dWR5IC5saXN0aW5nLWJsb2NrIHtcclxuICBAaW5jbHVkZSBzcGFuKDYpO1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgQGluY2x1ZGUgc3BhbigxMik7XHJcbiAgfVxyXG59XHJcblxyXG4uY3VzdG9tZXJzIC5saXN0aW5nLWJsb2NrOmhvdmVyIHtcclxuICBjb2xvcjogJHB1cnBsZTtcclxufVxyXG5cclxuLmN1c3RvbWVycyB7XHJcbiAgLmJnLWltYWdlIHtcclxuICAgIGhlaWdodDogNjglO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICB9XHJcbiAgLmN1c3QtbG9nbyB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcHVycGxlO1xyXG4gICAgaW1nIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiAzNSU7XHJcbiAgICAgIG1heC13aWR0aDogMzIwcHg7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICB9XHJcbiAgLmN1c3QtYmxvY2stY29weSB7XHJcbiAgICBoZWlnaHQ6IDMyJTtcclxuICAgIHBhZGRpbmc6IDAgMTQlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLnBhcnRuZXJzIHtcclxuICAubGlzdGluZy1ibG9jayB7XHJcbiAgICBoZWlnaHQ6IDI0MXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuICBhIHtcclxuICAgIGNvbG9yOiAkcHVycGxlO1xyXG4gIH1cclxuICAucGFydC1sb2dvIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogODAlO1xyXG4gICAgaW1nIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIC8vaGVpZ2h0OiA1MCU7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5wYXJ0LWJsb2NrLWNvcHkge1xyXG4gICAgaGVpZ2h0OiAyMCU7XHJcbiAgICBwYWRkaW5nOiAwIDE0JTtcclxuICB9XHJcbiAgLnBhcnQtYmxvY2stY29weTphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDIycHg7XHJcbiAgICBoZWlnaHQ6IDIycHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uLy4uL2ltYWdlcy9uZXh0LWljb24tcmlnaHQtcHJwbC5wbmcnKW5vLXJlcGVhdDtcclxuICB9XHJcbn1cclxuXHJcbi5wYXJ0bmVycyAubGlzdGluZy1ibG9jazpob3ZlciB7XHJcbiAgYmFja2dyb3VuZDogJHJlZDtcclxuICAucGFydC1sb2dvIHtcclxuICAgIGltZyB7XHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAucGFydC1ibG9jay1jb3B5OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi8uLi9pbWFnZXMvbmV4dC1pY29uLXJpZ2h0LnBuZycpbm8tcmVwZWF0O1xyXG4gIH1cclxufVxyXG4iLCIubmV3cy1uYXYge1xyXG4gIHBhZGRpbmctYm90dG9tOiA3NXB4O1xyXG4gIC50YWJzIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIH1cclxuICAudGFicyBsaSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMjAlO1xyXG4gICAgbWFyZ2luOiAxLjUlIDIlO1xyXG4gICAgcGFkZGluZzogMS41JSAwO1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIC5pY29uIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICB9XHJcbiAgICAgIGltZzpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIH1cclxuICAgICAgaW1nOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLnRhYnMgLmN1cnJlbnQsXHJcbiAgLnRhYnMgbGk6aG92ZXIge1xyXG4gICAgd2lkdGg6IDI0JTtcclxuICAgIG1hcmdpbjogMS41JSAwO1xyXG4gICAgcGFkZGluZzogMi41JSAwO1xyXG4gICAgYmFja2dyb3VuZDogJHJlZDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgLmljb24ge1xyXG4gICAgICBpbWc6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgICAgaW1nOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50YWJzIC5jdXJyZW50OmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogLTEwcHg7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDA7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkICRyZWQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItbGVmdDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICB9XHJcbiAgLnRhYi1jb250ZW50IHtcclxuICAgIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAtMS41JSAwIDQ1cHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIC5hcnRpY2xlIHtcclxuICAgICAgQGluY2x1ZGUgc3BhbigxMik7XHJcbiAgICAgIC8vZGlzcGxheTogbm9uZTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMi4zZW07XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbHQtZ3JleTtcclxuICAgICAgfVxyXG4gICAgICAucGljdHVyZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig0KTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogM2VtO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICAgIC5ibHVyYiB7XHJcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig2KTtcclxuICAgICAgICBoNCB7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5sb2FkLW1vcmUge1xyXG4gICAgICBjb2xvcjogJHJlZDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgLnNob3ctbGVzcyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIGNvbG9yOiAkcmVkO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB9XHJcbiAgICBociB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICBtYXJnaW46IDVweCBhdXRvO1xyXG4gICAgICBib3JkZXI6IDA7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRwdXJwbGU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC50YWItY29udGVudC5jdXJyZW50IHtcclxuICAgIGRpc3BsYXk6IGluaGVyaXQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gIC5oZWFkZXItbmV3cyB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgcGFkZGluZzogMTVweCAwO1xyXG4gIH1cclxuICAubmV3cy1uYXYge1xyXG4gICAgLnRhYnMgbGkge1xyXG4gICAgICB3aWR0aDogOTUlO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIG1hcmdpbjogMSUgYXV0bztcclxuICAgICAgcGFkZGluZzogMSU7XHJcbiAgICB9XHJcbiAgICAudGFicyAuY3VycmVudCxcclxuICAgIC50YWJzIGxpOmhvdmVyIHtcclxuICAgICAgd2lkdGg6IDk1JTtcclxuICAgICAgbWFyZ2luOiAxJSBhdXRvO1xyXG4gICAgICBwYWRkaW5nOiAxJTtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC50YWItY29udGVudCB7XHJcbiAgICAgIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgIC5hcnRpY2xlIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjNlbTtcclxuICAgICAgICAucGljdHVyZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYmx1cmIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgc3BhbigxMik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEobWF4LXdpZHRoOiAkc2NyZWVuLW1lZGl1bS1tYXgpIHtcclxuICAubmV3cy1uYXYgLnNlY3Rpb24gLmNvbnRlbnQge1xyXG4gICAgaGVpZ2h0OiA4NXB4O1xyXG4gIH1cclxufVxyXG4iLCIud3JhcGl0IHtcclxuICBAaW5jbHVkZSBsYXlvdXQoJHJlc291cmNlcyk7XHJcbiAgQGluY2x1ZGUgc3BhbigxMik7XHJcbiAgbWFyZ2luLWJvdHRvbTogMS41ZW07XHJcbiAgYmFja2dyb3VuZDogI2Y1ZjRmNDtcclxufVxyXG5cclxuLmZsZXgge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5zaG93IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLmhpZGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5zdWItbmF2IC5jdXJyZW50IHtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLmNvbnRhY3QtZm9ybSBpbnB1dCxcclxuLmNvbnRhY3QtZm9ybSBzZWxlY3Qge1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbn1cclxuXHJcbi5oYWxmdCB7XHJcbiAgQGluY2x1ZGUgc3Bhbig2KSAuZm9ybS1ncm91cCB7XHJcbiAgICBpbnB1dCxcclxuICAgIHNlbGVjdCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tbWVkaXVtLW1heCkge1xyXG4gICAgLmhhbGYtaGVhZGVyLFxyXG4gICAgLnJlc291cmNlLWNvcHkge1xyXG4gICAgICBwYWRkaW5nOiA4JSA1JTtcclxuICAgIH1cclxuICB9XHJcbiAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gICAgLnJlc291cmNlLWNvcHkge1xyXG4gICAgICBwYWRkaW5nOiAyJSA1JTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oYWxmLWhlYWRlciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDUlIDklO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL3N1YnBhZ2UtaGVhZGVyLWJnLnN2ZycpO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGgyIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuICAuaXRlbS1uYW1lIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogLTMwcHg7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJvcmRlci13aWR0aDogMzcuNXB4IDAgMzcuNXB4IDMwcHg7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkcmVkO1xyXG4gIH1cclxufVxyXG5cclxuLnJlc291cmNlLWNvcHkge1xyXG4gIHBhZGRpbmc6IDUlIDklO1xyXG4gIHVsIHtcclxuICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgIGxpIHtcclxuICAgICAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZGwtYmxvY2sge1xyXG4gIG1hcmdpbi1sZWZ0OiAyZW07XHJcbiAgcGFkZGluZzogMSUgNSU7XHJcbiAgYmFja2dyb3VuZDogI2Y1ZjRmNDtcclxuICBpbWcge1xyXG4gICAgbWF4LWhlaWdodDogMjI1cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xyXG4gIH1cclxuICAudHkge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDQ0KTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiAyNXB4IDAgMTVweDtcclxuICAgIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtbGlnaHQnO1xyXG4gIH1cclxuICAuYnV0dG9uIHtcclxuICAgIG1hcmdpbi10b3A6IDglO1xyXG4gIH1cclxufVxyXG5cclxuLmhhbGZ0IC5jb250YWN0LWZvcm0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICAuZm9ybS1maWVsZCB7XHJcbiAgICBwYWRkaW5nOiA1JSAwO1xyXG4gICAgQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1tZWRpdW0tbWF4KSB7XHJcbiAgICAgIHBhZGRpbmc6IDUlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhKG1heC13aWR0aDogJHNjcmVlbi1tZWRpdW0tbWF4KSB7XHJcbiAgLmhhbGYtaGVhZGVyIHtcclxuICAgIHBhZGRpbmc6IDMlIDglO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGJvcmRlcjogMDtcclxuICAgIH1cclxuICB9XHJcbiAgLnJlc291cmNlLWNvcHkge1xyXG4gICAgcGFkZGluZzogMTVweCA1cHg7XHJcbiAgfVxyXG4gIC5kbC1ibG9jayB7XHJcbiAgICBpbWcge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbjogMCAyNXB4IDEwcHggNTBweDtcclxuICAgIH1cclxuICAgIC5kbCB7XHJcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOSk7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgd2lkdGg6IDM1JTtcclxuICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAudHkge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHdpZHRoOiA0MCU7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9uIHtcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuICB9XHJcbiAgLmZvb3Rlci1jdGEge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi8vbGlzdFxyXG4uYmctZWdnc2hlbGwge1xyXG4gIGJhY2tncm91bmQ6ICNmYmZiZmI7XHJcbn1cclxuXHJcbi5yZXNvdXJjZS1uYXYge1xyXG4gIEBpbmNsdWRlIHNwYW4oZmlyc3QgMy41IHdpZGUpO1xyXG4gIGJhY2tncm91bmQ6ICNmNWY0ZjQ7XHJcbiAgdWwge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuICBsaSB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjgpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgY29sb3I6ICRwdXJwbGU7XHJcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWxpZ2h0JztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAmLmFycm93LXVwIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL2Nsb3NlLW1lbnUucG5nJyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAzMHB4O1xyXG4gICAgICBsZWZ0OiA4NSU7XHJcbiAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL2ljb24tYXJyb3ctZHduLnN2ZycpO1xyXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggMTZweDtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1pbWFnZSAuNHM7XHJcbiAgICB9XHJcbiAgICAuc3ViLW5hdiBsaSB7XHJcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XHJcbiAgICAgIHBhZGRpbmc6IC41ZW0gMCAwIDM1JTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGZhZGUtcHVycGxlO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1lZGl1bS1tYXgpIHtcclxuICAgIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gIH1cclxufVxyXG5cclxuLnJlc291cmNlLWxpc3QtaXRlbXMge1xyXG4gIEBpbmNsdWRlIHNwYW4obGFzdCA4LjUpO1xyXG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1lZGl1bS1tYXgpIHtcclxuICAgIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbn1cclxuXHJcbi5sLWl0ZW0ge1xyXG4gIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gIG1hcmdpbjogMjVweCAwO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbi5yZXNvdXJjZS1pbWcge1xyXG4gIEBpbmNsdWRlIHNwYW4oMyk7XHJcbiAgcGFkZGluZzogMCAxNXB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICB9XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWVkaXVtLW1heCkge1xyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDcwJTtcclxuICAgIH1cclxuICB9XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XHJcbiAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubGlzdC1jb3B5IHtcclxuICBAaW5jbHVkZSBzcGFuKDkpO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWVkaXVtLW1heCkge1xyXG4gICAgQGluY2x1ZGUgc3BhbigxMik7XHJcbiAgICBwYWRkaW5nOiAyNXB4O1xyXG4gIH1cclxuICAudGl0bGUgYSB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjgpO1xyXG4gICAgY29sb3I6ICRyZWQ7XHJcbiAgICBmb250LWZhbWlseTogJ3Byb3hpbWFub3ZhLWJvbGQnO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIi5jcyB7XHJcbiAgYmFja2dyb3VuZDogbm8tcmVwZWF0IHRvcCByaWdodDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcclxufVxyXG5cclxuLmNhc2UtaGVhZGVyLWxlZnQge1xyXG4gIEBpbmNsdWRlIHNwYW4oNSk7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBAaW5jbHVkZSBzcGFuKDEyKTtcclxuICB9XHJcbn1cclxuXHJcbi5jYXNlLXN0dWR5LWhlYWRlciBoMiB7XHJcbiAgQGluY2x1ZGUgZm9udC1zaXplKDQ0KTtcclxuICAvL21heC13aWR0aDogNDUwcHg7XHJcbiAgcGFkZGluZzogMzVweCAwIDUwcHg7XHJcbiAgY29sb3I6ICRyZWQ7XHJcbn1cclxuXHJcbi5pbmxpbmUtbWUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgfVxyXG59XHJcblxyXG4uY2FzZS1zdHVkeS1oZWFkZXIsXHJcbi5pbnRyby10ZXh0LFxyXG4ua2V5LXRha2Vhd2F5LXNvbHV0aW9uLFxyXG4uY2FwYWJpbGl0aWVzLXdyYXBwZXIgLmNhcGFiaWxpdGllcyB7XHJcbiAgcGFkZGluZzogMTJweCA1MHB4O1xyXG59XHJcblxyXG4uY2FzZS1zdHVkeS1oZWFkZXIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY2Zjc7XHJcbiAgLmNhc2UtbG9nb3Mge1xyXG4gICAgbWFyZ2luOiAzNXB4IDEycHggMDtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXNtYWxsLW1heCkge1xyXG4gICAgICBtYXJnaW46IDI1cHggMCAwO1xyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgIGhlaWdodDogNjVweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDc1JTtcclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50YWtlYXdheXMge1xyXG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgyMCk7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xyXG4gIH1cclxuICAuaWNvbiB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBpbWcge1xyXG4gICAgICB3aWR0aDogNzBweDtcclxuICAgICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgIH1cclxuICB9XHJcbiAgLnJvdyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgbWluLWhlaWdodDogNzBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XHJcbiAgICAudGV4dCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgbWFyZ2luOiAxMHB4IDAgMTBweCAxMnB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAuYnV0dG9uLnNtIHtcclxuICAgIHdpZHRoOiA5MCU7XHJcbiAgfVxyXG4gIC5idXR0b24gLmJ0bi1pbm5lci5zbSB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTQpO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4uY3MtY3RhIHtcclxuICBwYWRkaW5nOiA1MHB4IDA7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWVkaXVtKSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgLmhhbGYge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uaW50cm8tdGV4dCB7XHJcbiAgbWFyZ2luLXRvcDogMTAwcHg7XHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwtbWF4KSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbn1cclxuXHJcbi5ydGYge1xyXG4gIEBpbmNsdWRlIHNwYW4oOC41KTtcclxuICBwYWRkaW5nOiAxMnB4IDM1cHg7XHJcbiAgLm1haW4taGVhZGVyLFxyXG4gIC5iaWdnZXItcGFyYWdyYXBoLFxyXG4gIC5iaWdnZXItcGFyYWdyYXBoIHAge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDI4KTtcclxuICAgIG1hcmdpbjogMzBweCAwIDEycHg7XHJcbiAgfVxyXG4gIC5tYWluLWhlYWRlciB7XHJcbiAgICBjb2xvcjogJHJlZDtcclxuICAgIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtYm9sZCc7XHJcbiAgfVxyXG4gIC5iaWdnZXItcGFyYWdyYXBoIHtcclxuICAgIGZvbnQtZmFtaWx5OiAncHJveGltYW5vdmEtbGlnaHQnO1xyXG4gIH1cclxufVxyXG5cclxuLmNhc2UtcXVvdGUge1xyXG4gIEBpbmNsdWRlIHNwYW4oMyk7XHJcbiAgQGluY2x1ZGUgcHJlKC41KTtcclxuICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gIC5ibG9ja3F1b3RlLWxpbmUge1xyXG4gICAgd2lkdGg6IDgzcHg7XHJcbiAgICBoZWlnaHQ6IDNweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vLi4vaW1hZ2VzL2Jsb2NrcXVvdGUtbGluZS5wbmcnKSB0b3AgbGVmdCBuby1yZXBlYXQ7XHJcbiAgfVxyXG4gIGltZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiA4MyU7XHJcbiAgICBtYXJnaW46IDI1cHggYXV0byAwO1xyXG4gIH1cclxuICBmb290ZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbWFsbC1tYXgpIHtcclxuICAucnRmLFxyXG4gIC5jYXNlLXF1b3RlIHtcclxuICAgIEBpbmNsdWRlIHNwYW4oMTIpO1xyXG4gICAgQGluY2x1ZGUgcHJlKDApO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhY3QtdXMge1xyXG4gIEBpbmNsdWRlIHNwYW4oNCk7XHJcbiAgQGluY2x1ZGUgZm9udC1zaXplKDIwKTtcclxuICBtYXJnaW4tbGVmdDogNzVweDtcclxuICBwYWRkaW5nOiAzMHB4IDUwcHg7XHJcbiAgLmhlYWRsaW5lLXRleHQge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcclxuICAgIG1hcmdpbjogMjRweCAwO1xyXG4gICAgY29sb3I6ICRyZWQ7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQtcHJpbWFyeS1zZW1pYm9sZDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcbiAgLm5hbWUsXHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgfVxyXG4gIC5zZXJ2aWNlcy11c2VkIHVsIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbGkge1xyXG4gICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zdWItaGVhZGVyLFxyXG4ucGFyYWdyYXBoIHtcclxuICBAaW5jbHVkZSBmb250LXNpemUoMjApO1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uc21hbGxlci1wYXJhZ3JhcGgsXHJcbi5zbWFsbGVyLXBhcmFncmFwaCBwIHtcclxuICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgZm9udC1mYW1pbHk6ICdwcm94aW1hbm92YS1saWdodCc7XHJcbn1cclxuXHJcbi5rZXktdGFrZWF3YXktc29sdXRpb24ge1xyXG4gIEBpbmNsdWRlIHNwYW4oNyk7XHJcbn1cclxuXHJcbi5rZXktdGFrZWF3YXktYmFubmVyIGltZyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jYXBhYmlsaXRpZXMtd3JhcHBlciB7XHJcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XHJcbiAgaDIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuLmN1c3RvbWVycyBhIHtcclxuICBjb2xvcjogJHB1cnBsZTtcclxufVxyXG4iLCIudGhpcmQsXHJcbi5mb3J0aCxcclxuLmJvYXJkLW1lbWJlciB7XHJcbiAgbWFyZ2luOiAwIDAgNTBweDtcclxuICBzcGFuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwpIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5uYW1lIHtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxOCk7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDAgNXB4O1xyXG4gIH1cclxuICAudGl0bGUge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE0KTtcclxuICAgIGNvbG9yOiAkZmFkZS1wdXJwbGU7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbiAgLmNvbXBhbnkge1xyXG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDE2KTtcclxuICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgY29sb3I6ICRyZWQ7XHJcbiAgfVxyXG59XHJcblxyXG4udGhpcmQge1xyXG4gIEBpbmNsdWRlIGdhbGxlcnkoNCk7XHJcbn1cclxuXHJcbi5mb3J0aCB7XHJcbiAgQGluY2x1ZGUgZ2FsbGVyeSgzKTtcclxufVxyXG5cclxuLnRoaXJkLFxyXG4uZm9ydGgge1xyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4tc21hbGwpIHtcclxuICAgIEBpbmNsdWRlIGdhbGxlcnkoNik7XHJcbiAgfVxyXG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzY3JlZW4teHMpIHtcclxuICAgIEBpbmNsdWRlIGdhbGxlcnkoMTIpO1xyXG4gICAgY2xlYXI6IGJvdGggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5tb2RhbCAud2luZG93IC5tb2RhbC1wYXJ0bmVyLWxvZ28uYm9hcmQtbWVtYmVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgc3BhbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgLnBpYyBpbWcge1xyXG4gICAgd2lkdGg6IDc1JTtcclxuICB9XHJcbn1cclxuIiwiLy8gSXNvbGF0aW9uIFN5bnRheFxuLy8gPT09PT09PT09PT09PT09PVxuXG5cbi8vIElzb2xhdGUgW01peGluXVxuLy8gLS0tLS0tLS0tLS0tLS0tXG4vLyBTZXQgaXNvbGF0aW9uIGFzIGFuIG92ZXJyaWRlLlxuLy8gLSAkbG9jYXRpb246IDxzcGFuPlxuQG1peGluIGlzb2xhdGUoXG4gICRpc29sYXRlOiAxXG4pIHtcbiAgJGluc3BlY3Q6ICRpc29sYXRlO1xuXG4gICRvdXRwdXQ6IChcbiAgICBwdXNoOiBpc29sYXRlKCRpc29sYXRlKSxcbiAgICBmbG93OiBzdXN5LWdldChmbG93LCAkaXNvbGF0ZSksXG4gICk7XG5cbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGlzb2xhdGUsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgaXNvbGF0ZS1vdXRwdXQoJG91dHB1dC4uLik7XG59XG5cblxuLy8gSXNvbGF0ZSBbZnVuY3Rpb25dXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiBhbiBpc29sYXRpb24gb2Zmc2V0IHdpZHRoLlxuLy8gLSAkbG9jYXRpb246IDxzcGFuPlxuQGZ1bmN0aW9uIGlzb2xhdGUoXG4gICRpc29sYXRlOiAxXG4pIHtcbiAgJGlzb2xhdGU6IHBhcnNlLXNwYW4oJGlzb2xhdGUpO1xuICAkaXNvbGF0aW9uOiBzdXN5LWdldChzcGFuLCAkaXNvbGF0ZSk7XG5cbiAgQGlmICRpc29sYXRpb24gYW5kIG5vdChnZXQtbG9jYXRpb24oJGlzb2xhdGUpKSB7XG4gICAgJG5ldzogKFxuICAgICAgc3BhbjogbnVsbCxcbiAgICAgIGxvY2F0aW9uOiAkaXNvbGF0aW9uLFxuICAgICk7XG4gICAgJGlzb2xhdGU6IG1hcC1tZXJnZSgkaXNvbGF0ZSwgJG5ldyk7XG4gIH1cblxuICBAcmV0dXJuIGdldC1pc29sYXRpb24oJGlzb2xhdGUpO1xufVxuXG5cbi8vIEdldCBJc29sYXRpb25cbi8vIC0tLS0tLS0tLS0tLS1cbi8vIFJldHVybiB0aGUgaXNvbGF0aW9uIG9mZnNldCB3aWR0aFxuLy8gLSAkaW5wdXQ6IDxtYXA+XG5AZnVuY3Rpb24gZ2V0LWlzb2xhdGlvbihcbiAgJGlucHV0XG4pIHtcbiAgJGxvY2F0aW9uICAgOiBnZXQtbG9jYXRpb24oJGlucHV0KTtcbiAgJGNvbHVtbnMgICAgOiBzdXN5LWdldChjb2x1bW5zLCAkaW5wdXQpO1xuICAkd2lkdGggICAgICA6IG51bGw7XG5cbiAgQGlmIHR5cGUtb2YoJGxvY2F0aW9uKSA9PSBudW1iZXIgYW5kIG5vdCh1bml0bGVzcygkbG9jYXRpb24pKSB7XG4gICAgJHdpZHRoOiAkbG9jYXRpb247XG4gIH0gQGVsc2UgaWYgJGxvY2F0aW9uIHtcbiAgICAkcHVzaDogJGxvY2F0aW9uIC0gMTtcbiAgICBAaWYgJHB1c2ggPiAwIHtcbiAgICAgICRwdXNoOiBtYXAtbWVyZ2UoJGlucHV0LCAoXG4gICAgICAgIHNwYW46ICRwdXNoLFxuICAgICAgICBsb2NhdGlvbjogMSxcbiAgICAgICAgc3ByZWFkOiB3aWRlLFxuICAgICAgKSk7XG4gICAgICAkd2lkdGg6IGdldC1zcGFuLXdpZHRoKCRwdXNoKTtcbiAgICB9XG4gIH1cblxuICBAaWYgc3VzeS1nZXQoZ3V0dGVyLXBvc2l0aW9uLCAkaW5wdXQpID09IHNwbGl0XG4gICAgICBhbmQgc3VzeS1nZXQoZ3V0dGVycywgJGlucHV0KSA+IDAge1xuICAgICR3aWR0aDogaWYoJHdpZHRoID09IG51bGwsIGd1dHRlcnMoJGlucHV0KSwgJHdpZHRoICsgZ3V0dGVycygkaW5wdXQpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoIG9yIDA7XG59XG4iLCIvLyBHYWxsZXJ5IFN5bnRheFxuLy8gPT09PT09PT09PT09PT1cblxuLy8gR2FsbGVyeVxuLy8gLS0tLS0tLVxuLy8gQ3JlYXRlIGFuIGlzb2xhdGVkIGdhbGxlcnlcbi8vIC0gJHNwYW4gICAgICAgIDogPHNwYW4+XG4vLyAtIFskc2VsZWN0b3JdICA6IGNoaWxkIHwgb2YtdHlwZVxuQG1peGluIGdhbGxlcnkoXG4gICRzcGFuLFxuICAkc2VsZWN0b3I6IGNoaWxkXG4pIHtcbiAgJGluc3BlY3QgICAgOiAkc3BhbjtcbiAgJHNwYW4gICAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJHNwYW4gICAgICAgOiBtYXAtbWVyZ2UoJHNwYW4sIChsb2NhdGlvbjogMSkpO1xuXG4gICRuICAgICAgICAgICAgOiBzdXN5LWdldChzcGFuLCAkc3Bhbik7XG4gICRjb2x1bW5zICAgICAgOiBzdXN5LWdldChjb2x1bW5zLCAkc3Bhbik7XG4gICRjb250ZXh0ICAgICAgOiBzdXN5LWNvdW50KCRjb2x1bW5zKTtcbiAgJGZsb3cgICAgICAgICA6IHN1c3ktZ2V0KGZsb3csICRzcGFuKTtcblxuICAkaW5zaWRlICAgICAgIDogaXMtaW5zaWRlKCRzcGFuKTtcbiAgJGZyb20gICAgICAgICA6IGZyb20oJGZsb3cpO1xuICAkbGluZSAgICAgICAgIDogZmxvb3IoJGNvbnRleHQgLyAkbik7XG4gICRzeW1tZXRyaWNhbCAgOiBpcy1zeW1tZXRyaWNhbCgkY29sdW1ucyk7XG5cbiAgJG91dHB1dDogKFxuICAgIHdpZHRoICAgICAgICAgICAgIDogbnVsbCxcbiAgICBmbG9hdCAgICAgICAgICAgICA6IGZyb20sXG4gICAgbWFyZ2luLWJlZm9yZSAgICAgOiBudWxsLFxuICAgIG1hcmdpbi1hZnRlciAgICAgIDogbnVsbCxcbiAgICBwYWRkaW5nLWJlZm9yZSAgICA6IG51bGwsXG4gICAgcGFkZGluZy1hZnRlciAgICAgOiBudWxsLFxuICAgIGZsb3cgICAgICAgICAgICAgIDogJGZsb3csXG4gICk7XG5cbiAgQGlmICRpbnNpZGUge1xuICAgICRndXR0ZXJzOiBnZXQtZ3V0dGVycygkc3Bhbik7XG4gICAgJG91dHB1dDogbWFwLW1lcmdlKCRvdXRwdXQsIChcbiAgICAgIHBhZGRpbmctYmVmb3JlOiBtYXAtZ2V0KCRndXR0ZXJzLCBiZWZvcmUpLFxuICAgICAgcGFkZGluZy1hZnRlcjogbWFwLWdldCgkZ3V0dGVycywgYWZ0ZXIpLFxuICAgICkpO1xuICB9XG5cbiAgQGlmICRzeW1tZXRyaWNhbCB7XG4gICAgJG91dHB1dDogbWFwLW1lcmdlKCRvdXRwdXQsICh3aWR0aDogZ2V0LXNwYW4td2lkdGgoJHNwYW4pKSk7XG4gIH1cblxuICAkYm94ICAgICAgICAgIDogc3VzeS1nZXQoYm94LXNpemluZywgJHNwYW4pO1xuICAkZ2xvYmFsLWJveCAgIDogaWYoc3VzeS1nZXQoZ2xvYmFsLWJveC1zaXppbmcpID09ICdib3JkZXItYm94JywgdHJ1ZSwgZmFsc2UpO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChnYWxsZXJ5LCAkaW5zcGVjdCk7XG5cbiAgLy8gQ29sbGVjdGl2ZSBPdXRwdXRcbiAgQGlmICRib3ggPT0gYm9yZGVyLWJveCBvciAoJGluc2lkZSBhbmQgbm90KCRib3gpIGFuZCBub3QoJGdsb2JhbC1ib3gpKSB7XG4gICAgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiBib3JkZXItYm94KSk7XG4gIH0gQGVsc2UgaWYgJGJveCA9PSBjb250ZW50LWJveCB7XG4gICAgQGluY2x1ZGUgb3V0cHV0KChib3gtc2l6aW5nOiBjb250ZW50LWJveCkpO1xuICB9XG5cbiAgQGluY2x1ZGUgZmxvYXQtc3Bhbi1vdXRwdXQoJG91dHB1dC4uLik7XG5cbiAgLy8gSW5kaXZpZHVhbCBMb29wXG4gIEBmb3IgJGl0ZW0gZnJvbSAxIHRocm91Z2ggJGxpbmUge1xuICAgICRudGg6ICcjeyRsaW5lfW4gKyAjeyRpdGVtfSc7XG4gICAgJjpudGgtI3skc2VsZWN0b3J9KCN7JG50aH0pIHtcbiAgICAgIC8vIEluZGl2aWR1YWwgUHJlcFxuICAgICAgJG91dHB1dDogKFxuICAgICAgICB3aWR0aCAgICAgICAgICAgICA6IGlmKCRzeW1tZXRyaWNhbCwgbnVsbCwgZ2V0LXNwYW4td2lkdGgoJHNwYW4pKSxcbiAgICAgICAgZmxvYXQgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICBtYXJnaW4tYmVmb3JlICAgICA6IGdldC1pc29sYXRpb24oJHNwYW4pLFxuICAgICAgICBtYXJnaW4tYWZ0ZXIgICAgICA6IC0xMDAlLFxuICAgICAgICBwYWRkaW5nLWJlZm9yZSAgICA6IG51bGwsXG4gICAgICAgIHBhZGRpbmctYWZ0ZXIgICAgIDogbnVsbCxcbiAgICAgICAgZmxvdyAgICAgICAgICAgICAgOiAkZmxvdyxcbiAgICAgICk7XG5cbiAgICAgIC8vIEluZGl2aWR1YWwgT3V0cHV0XG4gICAgICBAaW5jbHVkZSBmbG9hdC1zcGFuLW91dHB1dCgkb3V0cHV0Li4uKTtcblxuICAgICAgQGlmIGdldC1lZGdlKCRzcGFuKSA9PSBmaXJzdCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrO1xuICAgICAgICBAaW5jbHVkZSBmaXJzdCgkc3Bhbik7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgbm9icmVhaztcbiAgICAgIH1cblxuICAgICAgLy8gSW5kaXZpZHVhbCBMb2NhdGlvbiBJbmNyZW1lbnRcbiAgICAgICRsb2NhdGlvbjogZ2V0LWxvY2F0aW9uKCRzcGFuKSArICRuO1xuICAgICAgJGxvY2F0aW9uOiBpZigkbG9jYXRpb24gPiAkY29udGV4dCwgMSwgJGxvY2F0aW9uKTtcbiAgICAgICRzcGFuOiBtYXAtbWVyZ2UoJHNwYW4sIChsb2NhdGlvbjogJGxvY2F0aW9uKSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSb3cgU3RhcnQgJiBFbmRcbi8vID09PT09PT09PT09PT09PVxuXG4vLyBCcmVha1xuLy8gLS0tLS1cbi8vIEFwcGx5IHRvIGFueSBlbGVtZW50IHRoYXQgc2hvdWxkIGZvcmNlIGEgbGluZSBicmVhay5cbkBtaXhpbiBicmVhayB7XG4gIEBpbmNsdWRlIG91dHB1dCgoY2xlYXI6IGJvdGgpKTtcbn1cblxuXG4vLyBOb0JyZWFrXG4vLyAtLS0tLS0tXG4vLyBDYW5jZWwgdGhlIGJyZWFrKCkgZWZmZWN0LCBlLmcuIHdoZW4gdXNpbmcgbWVkaWEgcXVlcmllcy5cbkBtaXhpbiBub2JyZWFrIHtcbiAgQGluY2x1ZGUgb3V0cHV0KChjbGVhcjogbm9uZSkpO1xufVxuXG5cbi8vIEZ1bGxcbi8vIC0tLS1cbi8vIC0gWyRjb250ZXh0XTogPGxheW91dCBzaG9ydGhhbmQ+XG5AbWl4aW4gZnVsbChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgOiAkY29udGV4dDtcbiAgQGluY2x1ZGUgc3VzeS1pbnNwZWN0KGZ1bGwsICRpbnNwZWN0KTtcbiAgQGluY2x1ZGUgc3BhbihmdWxsIG9mIHBhcnNlLWdyaWQoJGNvbnRleHQpIGJyZWFrKTtcbn1cblxuXG4vLyBGaXJzdFxuLy8gLS0tLS1cbi8vIC0gWyRjb250ZXh0XTogPHNldHRpbmdzPlxuQG1peGluIGZpcnN0KFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICAkaW5zcGVjdCAgOiAkY29udGV4dDtcbiAgJGNvbnRleHQgIDogcGFyc2UtZ3JpZCgkY29udGV4dCk7XG4gICRmbG93ICAgICA6IHN1c3ktZ2V0KGZsb3csICRjb250ZXh0KTtcblxuICBAaW5jbHVkZSBzdXN5LWluc3BlY3QoZmlyc3QsICRpbnNwZWN0KTtcbiAgQGlmIG5vdChpcy1zcGxpdCgkY29udGV4dCkpIHtcbiAgICBAaW5jbHVkZSBmbG9hdC1maXJzdCgkZmxvdyk7XG4gIH1cbn1cblxuQG1peGluIGFscGhhKFxuICAkY29udGV4dDogJHN1c3lcbikge1xuICBAaW5jbHVkZSBmaXJzdCgkY29udGV4dCk7XG59XG5cblxuLy8gTGFzdFxuLy8gLS0tLVxuLy8gLSBbJGNvbnRleHRdOiA8c2V0dGluZ3M+XG5AbWl4aW4gbGFzdChcbiAgJGNvbnRleHQ6ICRzdXN5XG4pIHtcbiAgJGluc3BlY3QgIDogJGNvbnRleHQ7XG4gICRjb250ZXh0ICA6IHBhcnNlLWdyaWQoJGNvbnRleHQpO1xuXG4gIEBpbmNsdWRlIHN1c3ktaW5zcGVjdChsYXN0LCAkaW5zcGVjdCk7XG5cbiAgJG91dHB1dDogKFxuICAgIGZsb3c6IHN1c3ktZ2V0KGZsb3csICRjb250ZXh0KSxcbiAgICBsYXN0LWZsb3c6IHN1c3ktZ2V0KGxhc3QtZmxvdywgJGNvbnRleHQpLFxuICAgIG1hcmdpbjogaWYoaXMtc3BsaXQoJGNvbnRleHQpLCBudWxsLCAwKSxcbiAgKTtcblxuICBAaW5jbHVkZSBmbG9hdC1sYXN0KCRvdXRwdXQuLi4pO1xufVxuXG5AbWl4aW4gb21lZ2EoXG4gICRjb250ZXh0OiAkc3VzeVxuKSB7XG4gIEBpbmNsdWRlIGxhc3QoJGNvbnRleHQpO1xufVxuXG5cbi8vIEdldCBFZGdlXG4vLyAtLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIGVkZ2UgdmFsdWUgYmFzZWQgb24gbG9jYXRpb24sIGlmIHBvc3NpYmxlXG5AZnVuY3Rpb24gZ2V0LWVkZ2UoXG4gICRzcGFuXG4pIHtcbiAgJHNwYW4gICAgICAgOiBwYXJzZS1zcGFuKCRzcGFuKTtcbiAgJGVkZ2UgICAgICAgOiBzdXN5LWdldChlZGdlLCAkc3Bhbik7XG5cbiAgQGlmIG5vdCgkZWRnZSkge1xuICAgICRjb3VudDogc3VzeS1jb3VudChzdXN5LWdldChjb2x1bW5zLCAkc3BhbikpO1xuICAgICRsb2NhdGlvbjogc3VzeS1nZXQobG9jYXRpb24sICRzcGFuKTtcbiAgICAkbjogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuXG4gICAgJG51bWJlcjogaWYodHlwZS1vZigkbG9jYXRpb24pID09IG51bWJlciwgdHJ1ZSwgZmFsc2UpO1xuICAgICRpbmRleDogaWYoJG51bWJlciBhbmQgdW5pdGxlc3MoJGxvY2F0aW9uKSwgdHJ1ZSwgZmFsc2UpO1xuXG4gICAgQGlmICRuID09ICRjb3VudCB7XG4gICAgICAkZWRnZTogZnVsbDtcbiAgICB9IEBlbHNlIGlmICRsb2NhdGlvbiBhbmQgJG4gYW5kICRpbmRleCB7XG4gICAgICBAaWYgJGxvY2F0aW9uID09IDEge1xuICAgICAgICAkZWRnZTogaWYoJG4gPT0gJGNvdW50LCBmdWxsLCBmaXJzdCk7XG4gICAgICB9IEBlbHNlIGlmICRsb2NhdGlvbiArICRuIC0gMSA9PSAkY291bnQge1xuICAgICAgICAkZWRnZTogbGFzdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGVkZ2UgPT0gYWxwaGEgb3IgJGVkZ2UgPT0gb21lZ2Ege1xuICAgICRlZGdlOiBpZigkZWRnZSA9PSBhbHBoYSwgZmlyc3QsIGxhc3QpO1xuICB9XG5cbiAgQHJldHVybiAkZWRnZTtcbn1cblxuXG4vLyBHZXQgTG9jYXRpb25cbi8vIC0tLS0tLS0tLS0tLVxuLy8gQ2FsY3VsYXRlIGxvY2F0aW9uIHZhbHVlIGJhc2VkIG9uIGVkZ2UsIGlmIHBvc3NpYmxlXG5AZnVuY3Rpb24gZ2V0LWxvY2F0aW9uKFxuICAkc3BhblxuKSB7XG4gICRzcGFuICAgICAgIDogcGFyc2Utc3Bhbigkc3Bhbik7XG4gICRsb2NhdGlvbiAgIDogc3VzeS1nZXQobG9jYXRpb24sICRzcGFuKTtcbiAgJGVkZ2UgICAgICAgOiBnZXQtZWRnZSgkc3Bhbik7XG4gICRuICAgICAgICAgIDogc3VzeS1nZXQoc3BhbiwgJHNwYW4pO1xuXG4gIEBpZiAkZWRnZSBhbmQgbm90KCRsb2NhdGlvbikgYW5kIHR5cGUtb2YoJG4pID09IG51bWJlciBhbmQgdW5pdGxlc3MoJG4pIHtcbiAgICBAaWYgJGVkZ2UgPT0gZmlyc3Qge1xuICAgICAgJGxvY2F0aW9uOiAxO1xuICAgIH0gQGVsc2UgaWYgJGVkZ2UgPT0gbGFzdCB7XG4gICAgICAkbG9jYXRpb246IHN1c3ktY291bnQoc3VzeS1nZXQoY29sdW1ucywgJHNwYW4pKSAtICRuICsgMTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsb2NhdGlvblxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
